@charset "UTF-8";
/* CSS Document */

/* ヘッダーメニュー背景 PCのみ */
#header.transform {
  background-color: rgba(255,255,255,.9);
}


/***** Main Visual *****/

.container-main {
	overflow: hidden;
	position: relative;
}

/* 背景 "KYOTO" */
.photo {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	z-index: 0;
}
.photo img{
	width: 100%;
	height: auto;
}
.t-photo7{
	z-index: 10;
}
.p-photo3{
	z-index: 10;
}
/* 中央ロゴとテキスト */
.catchphrase {
  position: static !important;
}

.middle-logo{
	position: static !important;
	z-index: 5;
}


/* 人物写真 */
.person-photo {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
  z-index: 5;
}

.person-photo img {
  width: 100%;
  height: 100%;
}


/* アニメーション*/

/* 0.5秒間かけてフェードイン */
.fadeIn500ms {
	animation-name: fadeIn500ms;
	animation-delay: 500ms;
	animation-duration: 5s;
	animation-fill-mode: forwards;
	transform: translateY(-5px);
	opacity: 0;
}
@keyframes fadeIn500ms {
	0% {
	}
	100% {
			transform: translateX(0);
			opacity: 1;
	}
}
/* 1秒間かけてフェードイン */
.fadeIn1s {
	animation-name: fadeIn1s;
	animation-delay: 1.2s;
	animation-duration: 3s;
	animation-fill-mode: forwards;
	transform: translateY(-5px);
	opacity: 0;
}
@keyframes fadeIn1s {
	0% {
	}
	100% {
			transform: translateY(0);
			opacity: 1;
	}
}

/* 2秒間かけてフェードイン */
.fadeIn2s {
	animation-name: fadeIn2s;
	animation-delay: 2.5s;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeIn2s {
	0% {
	}
	100% {
			opacity: 1;
	}
}

/* 3秒間かけてフェードイン */
.fadeIn3s {
	animation-name: fadeIn3s;
	animation-delay: 3s;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeIn3s {
	0% {
	}
	100% {
			opacity: 1;
	}
}

/* 4秒間かけてフェードイン */
.fadeIn4s {
	animation-name: fadeIn4s;
	animation-delay: 3.5s;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeIn4s {
	0% {
	}
	100% {
			opacity: 1;
	}
}

/* 5秒間かけてフェードイン */
.fadeIn5s {
	animation-name: fadeIn5s;
	animation-delay: 4s;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeIn5s {
	0% {
	}
	100% {
			opacity: 1;
	}
}
/* 6秒間かけてフェードイン */
.fadeIn6s {
	animation-name: fadeIn6s;
	animation-delay: 4.5s;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeIn6s {
	0% {
	}
	100% {
			opacity: 1;
	}
}

/***** Important Information *****/

.important-information{
	position: absolute;
	top:120px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 1000;
}
.important-information .header-post{
	color:#D90000;
	margin-top: 20px;
	margin-bottom: 10px;
}


/* 共通事項 */
.container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	/* 2025/07/28変更 */
	margin-top: 60px;
}

.sec-title h2{
	color: #D90000;
	font-size: 28px;
	text-align: center;
	font-weight: normal;
	margin: 20px auto;
}

/* 2025/07/28追加 */
/* .banner{
	display: block;
	padding:10px 0;
	margin:0 auto;
	text-align: center;
}

.banner-bottom{
	display: none;
} */

/* 2026/02/02追加 */
/***** ISSUES *****/

.issues {
	width: 50%;
	max-width: 575px;
}
.issues-cont {
	width: 575px;
	border:1px solid #D90000;
	background-color: #fffff7;
	height: auto;
	padding:35px;
}
.issues-item p.title {
	font-size: 24px;
	color: #D90000; /* タイトルの色 */
	margin: 0;
	padding-bottom: 15px;
  border-bottom: 1px solid #D90000;
}
.issues-list ul{
	padding: 13px 0;
	border-bottom: 1px dotted #000;
}
.issues-list ul:nth-of-type(6){
	border-bottom: 1px solid #D90000;
}
/* .issues-list ul:nth-of-type(5){
	border-bottom: 1px solid #D90000;
} */
/* .issues-list ul:nth-of-type(5) {
	border-bottom: none;
} */
/* .issues-list ul:last-of-type {
	border-bottom: none;
	padding: 0;
} */
.issues-list ul li{
	text-align: left;
	padding: 5px 0;
}
/* 丸矢印 右向き */
.issues-list ul li a.arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.issues-list ul li a.arrow::before,
.issues-list ul li a.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.issues-list ul li a.circle-arrow::before{
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 1px solid #D90000;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.issues-list ul li a.circle-arrow::after{
	left: 3px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #D90000;
	border-right: 1px solid #D90000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.issues-list ul li a span{
	color: #D90000;
}
.issues-cont ul.oc-btn .close-btn{
	padding-top: 15px;
  border-top: 1px solid #D90000;
}
.issues-cont ul.oc-btn li {
	text-align: center;
}
.issues-cont ul.oc-btn li button{
	cursor: pointer;
	border:none;
	background-color: #fffff7;
}
/* 丸矢印 下向き */
.issues-list ul li button.arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.issues-list ul li button.arrow::before,
.issues-list ul li button.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.issues-list ul li button.circle-arrow-o::before{
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 1px solid #D90000;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.issues-list ul li button.circle-arrow-o::after{
	left: 4px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #D90000;
	border-right: 1px solid #D90000;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
/* 丸矢印 上向き */
.issues-list ul li button.circle-arrow-c::before{
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 1px solid #D90000;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.issues-list ul li button.circle-arrow-c::after{
	left: 4px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #D90000;
	border-right: 1px solid #D90000;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* ボタンの開閉 */
.js-hidden {
  display: none;
}
.close-btn {
  display: none;
}
/* 初期状態 */
.issues-list ul.hide-border {
  border-bottom: none;
}
.issues-list ul.hide-border.show-border {
  border-bottom: 1px dotted #000;
}

/***** Solution *****/

.solution {
	width: 50%;
	max-width: 575px;
}
.solution-item {
	width: 575px;
	height: 150px;
	margin-bottom:9px;
}

.solution-b1{background:url(../img/top/solution-b1.png) no-repeat center left;}
.solution-b2{background:url(../img/top/solution-b2.png) no-repeat center left;}
.solution-b3{background:url(../img/top/solution-b3.png) no-repeat center left;}
.solution-b4{background:url(../img/top/solution-b4.png) no-repeat center left;}

.solution-item h3 {
	margin: 0;
}

.solution-item p {
	margin: 5px 0;
}
.solution-item .text-container {
	text-align: left;
	padding:30px 30px 20px 30px;
}
.solution-item:last-of-type .text-container {
	text-align: left;
	padding:30px 30px 0 30px;
}
.solution-item p.title {
	font-size: 24px;
	color: #fff; /* タイトルの色 */
	margin: 0;
}
.solution-item p.subtitle {
	font-size:13px;
	color: #fff; /* サブタイトルの色 */
	margin: 10px 0;
}
.solution-item p.subtitle2 {
	font-size:16px;
	color: #fff; /* サブタイトルの色 */
	margin: 10px 0;
}

.solution .more {
	text-align: right;
	padding:0 30px 0 0;
}

/***** information *****/

/* 2026/02/02 */
.information {
	/* width: 50%; */
	width: 100%;
	/* max-width: 575px; */
	max-width: 1200px;
}

.information .cont-block {
	padding:0;
}
.information .cont-block + .cont-block {
	margin-top:40px;
}
.information .cont-block {
	font-size:15px;
}
.information .cont-block .news-item p{
	line-height: 1.8;
}
.information .cont-block ul.list-hl li {
	text-indent:-1em;
	padding-left:1em;
}
.information .cont-block .shishin-box ul.list-hl li span.disc {
	font-feature-settings:initial;
	font-feature-settings:normal;
}

#tab-nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	/* 2026/02/02変更 */
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 20px;
	/* 2026/02/02追加 */
	gap:20px;
}

#tab-nav ul li {
	padding: 0 5px;
}
#tab-nav p {
	padding: 0 5px 0 0;
}
#tab-nav p::after {
	content: " \00a0\00a0 | ";
}
#tab-nav ul li:last-child {
	padding: 0 0 0 5px;
}
/* 選択されているタイトル */
.tab-title.selected {
  color: #f70000;
  opacity: 0.8;
}
.tab-title:not(.selected):hover {
  opacity: 0.6;
	cursor: pointer;
}

/* 2026/02/02変更 */
.news-content {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 20px 0;
	/* height: 590px; */
	height: 350px;
	position: relative;
}
.information .tab-list {
  display: none;
}
.information .tab-list.show {
  display: block;
}

.news-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	padding: 5px 0;
	/* 2026/02/02追加 */
	margin-left: 200px;
}

.news-item p {
	margin: 0 3px;
	text-align: left;
}

.information  .cont-block p.tag {
	min-width: 66px;
	color: #fff;
	font-size: 10px;
	text-align: center;
}

.news { background-color: #f70000; }
.event { background-color: #b2b200; }
.column { background-color: #b28500; }
.recruit-cat { background-color: #00468c; }
.products { background-color: #a300d9; }

.information .more {
	text-align: right;
	position: absolute;
	bottom:30px;
	right: 0;
}
.information .more p{
	line-height: 1.0;
}

.information .more span {
	vertical-align: middle;
}


/***** Company *****/

.content-inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	width: 50%;
	max-width: 575px;
}
.company-item{
	margin-right: 10px;
}
.company-item ul li{
	/* 2025/08/28追加 */
	/* margin-bottom:8.5px; */
	/* margin-bottom:2.4px; */
	text-align: left;
}
.company-item ul li + li {
	margin-top: 10px;
}
.company-item ul li a {
	padding:12px 33px 0 33px;
	height: 40px;
	width: 280px;
	display: block;
}
.company-item ul li:nth-child(odd) a{
	background-color: #cccccc;
	/* padding:17px 33px 0 33px; */
	/* padding:15px 33px 0 33px; */
	/* width: 280px; */
	/* height: 55px; */
	/* height: 48px; */
	/* display: block; */
}
.company-item ul li:nth-child(even) a{
	background-color: #dddddd;
	/* padding:17px 33px 0 33px; */
	/* padding:15px 33px 0 33px; */
	/* width: 280px; */
	/* height: 55px; */
	/* height: 48px; */
	/* display: block; */
}


/***** Recruit *****/
.recruit-item{
	margin-right: 10px;
}
.recruit-item ul li{
	margin-bottom:10px;
	text-align: left;
}
.recruit-item ul li a {
	padding:33px 33px 0 33px;
	width: 280px;
	height: 82px;
	display: block;
}
.recruit-item ul li:nth-child(odd) a{
	background-color: #f70000;
}
.recruit-item ul li:nth-child(odd) a span.ar-next{
	filter: brightness(0) invert(1);
}
.recruit-item ul li:nth-child(even) a{
	background-color: #dddddd;
}

@media screen and (max-width: 767px) {


/* ヘッダーメニュー背景 PCのみ */
#header.transform {
  background-color: transparent;
}


	.catchphrase {
		width: 300px;
	}

	.container {
		display: block;
		width: 100%;
		max-width: initial;
		/* 2025/07/28変更 */
		/* margin-top: 50px; */
	}
	/* 2025/07/28追加 */
	/* .banner{
		display:none;
	}
	.banner-bottom{
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 1000;
		width: 100vw;
	} */

	.sec-title h2{
		font-size: 5.4vw;
	}

	/***** Important Information *****/

	.important-information{
		position: absolute;
		top:0;
		width: 90%;
		font-size: 9px;
	}
	.important-information .header-post {
    color: #D90000;
    margin-top: 10px;
    margin-bottom: 5px;
}


	/***** ISSUES *****/

	.issues {
		width: 100%;
		padding: 0;
		border-right: none;
	}
	.issues-cont {
    width: 90%;
    border: 1px solid #D90000;
    background-color: #fffff7;
    height: auto;
    padding: 20px 10px;
    margin: 0 auto;
	}
  .issues-item p.title{
    font-size: 18px;
	}
	.issues-list ul li a.arrow {
    font-size: 3.466vw;
	}

	/***** Solution *****/

	.solution {
		width: 100%;
		padding: 0;
		border-right: none;
		margin-top: 60px;
	}
	.solution-item{
		width: 90vw;
		height: auto;
	}
	.solution-b1{background:#ccc url(../img/top/solution-b1.png) no-repeat center left; background-size: cover; margin:0 auto; margin-bottom:9px;}
	.solution-b2{background:#ccc url(../img/top/solution-b2.png) no-repeat center left; background-size: cover; margin:0 auto; margin-bottom:9px;}
	.solution-b3{background:#ccc url(../img/top/solution-b3.png) no-repeat center left; background-size: cover; margin:0 auto; margin-bottom:9px;}
	.solution-b4{background:#ccc url(../img/top/solution-b4.png) no-repeat center left; background-size: cover; margin:0 auto; margin-bottom:9px;}
	
	.solution-item .text-container {
		text-align: left;
		padding:10px 10px 0px 10px;
	}
	.solution-item :last-of-type .text-container {
		text-align: left;
		padding:10px 10px 0px 10px;
	}
	.solution-item p.title {
		font-size: 4.8vw;
	}
	.solution-item p.subtitle {
		font-size:2.56vw;
	}
	.solution-item p.subtitle2 {
		font-size:3.15vw;
	}
	.solution .more {
		text-align: right;
		padding:10px 10px 10px 0;
		font-size: 3.466vw;
	}
	.solution-item:last-of-type p.subtitle {
		margin:10px 0 5px;
	}
	.solution-item:last-of-type p.subtitle2 {
		margin:0 0 10px;
	}
	.solution-item:last-of-type .more {
		padding:0 10px 10px 0;
	}

	/***** information *****/

	.information {
		width: 100%;
		padding:8vw 4vw 6vw 4vw;
	}
	.information .cont-block + .cont-block {
		margin-top:10vw;
	}
	.information .cont-block p {
		font-size:3.466vw;
		line-height:1.8;
	}
	.information .cont-block p.small{
		font-size:2.933vw;
	}
	.information .cont-block .shishin-box ul.list-hl li span.disc {
		font-feature-settings:initial;
		font-feature-settings:normal;
	}

	.news-item {
		display: block;
		align-items: center;
		padding: 5px 0;
		/* 2026/02/02追加 */
		margin-left: 0;
	}
	.news-item p {
		margin: 0 5px;
	}
	.information  .cont-block p.tag{
		max-width: 66px;
	}
	/* 2026/02/02追加 */
	#tab-nav ul{
		gap:10px;
	}
	#tab-nav ul p {
		padding: 5px 2px;
	}
	#tab-nav ul p a{
		font-size: 2.933vw;
	}
	#tab-nav ul li {
		padding: 0 3px;
		font-size: 3vw;
	}
	#tab-nav p::after {
		content: " \00a0\00a0 | ";
	}
	#tab-nav ul li:last-child {
		padding: 0 0 0 3px;
	}
	#tab-nav ul p:first-child {
		display: none;
	}
	#tab-nav ul p:first-child::after {
		content: "";
	}
	#tab-nav ul p:last-child {
		padding: 5px 2px;
	}
	/* 2026/02/02追加 */
	.news-content {
		height: 590px;
	}
	.information .more {
		text-align: right;
		position: absolute;
		bottom:20px;
		right: 0;
	}

/***** Company *****/

.content-inner{
	width: 90%;
	max-width: initial;
	margin:0 auto;
}
.company-item{
	margin-right: 0px;
}
.company-item ul li {
	/* 2025/08/28変更 */
	/* margin-bottom:7.5px; */
	/* margin-bottom: 2px; */
	text-align: left;
	font-size: 13px;
}
.company-item ul li + li {
	margin-top: 2px;
}
.company-item ul li a {
	padding: 6px 10px;
	width: 175px;
	height: 25px;
	display: block;
}
/* 2025/06/23変更 */
.company-item ul li:nth-child(odd) a{
	background-color: #cccccc;
	/* padding:10px; */
}
.company-item ul li:nth-child(even) a{
	background-color: #dddddd;
}

.sp-resizer-img {
	position: relative;
	width: calc(100% - 180px);
	img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}


/***** Recruit *****/
.recruit-sec{
	/* 2026/02/02追加 */
	margin-top: 60px;	
}

.recruit-item{
	margin-right: 0px;
}
.recruit-item ul li{
	margin-bottom:0px;
	text-align: left;
	/* font-size: 3.466vw; */
	font-size: 13px;
}

.recruit-item ul li + li {
	margin-top: 5px;
}
.recruit-item ul li a {
	padding: 15px 10px;
	width: 175px;
	height: 45px;
	display: block;
}
.recruit-item ul li:nth-child(odd) a{
	background-color: #f70000;
}
.recruit-item ul li:nth-child(even) a{
	background-color: #dddddd;
/* 	padding: 15px 10px;
	width: 175px;
	height: 49px;
	display: block;
 */}

}