@charset 'UTF-8';
/*==========================================================================

   mixin

===========================================================================*/
/*--------------------------------------------------------------------------
   overwrite	2025/02/17 added
---------------------------------------------------------------------------*/
div#CONTENTS div#CONTENTS_BLOCK{	/* 2025/02/17 added */
	padding: 0;
	margin-top: 0;
}
div#CONTENTS .cy-contents_blockInner a:link, div#CONTENTS .cy-contents_blockInner a:visited{
	text-decoration: none
}
.l-wrap {
	max-width: 1200px !important;
}
.tab-content .sec__hdg img{
	height: 40px !important;
}
.tab-content .sec .box .img img{
	max-width: none !important;
}
.pos_common_footer {
	padding: 40px 0 0;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {	/* 2025/02/17 added */
	.l-wrap {
		padding: 0;
	}
	.pos_common_footer {
		padding: 40px 25px 0;
	}
}

/*--------------------------------------------------------------------------
   sec
---------------------------------------------------------------------------*/
.sec .txt {
	font-size: 13px !important;
	line-height: 28.6px !important;
	font-family: YakuHanJP, -apple-system, BlinkMacSystemFont, Helvetica Neue, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'Noto Sans Japanese', 'メイリオ', Meiryo, sans-serif!important;
}

.c-page-hdg {
	margin-bottom: 75px !important;	/* 2025/02/18 changed */
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	.c-page-hdg {
		margin-bottom: 45px !important;	/* 2025/02/18 changed */
	}
	.sec p.img{
		line-height: 0 !important;
	}
}

/*--------------------------------------------------------------------------
   sec-about
---------------------------------------------------------------------------*/
.sec-about .box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	position: relative;
	height: 530px;
	padding-bottom: 15px;
	background: #000;
	color: #fff;

	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
}

.sec-about .box::before {
	display: block;
	position: absolute;
	bottom: 0;
	right: calc(50% - 497px);
	width: 357px;
	height: 444px;
	background: url('../img/about_bg.png') no-repeat 50% 50%;
	background-size: contain;
	content: '';
}

.sec-about .box__hdg {
	display: inline-block;
	position: relative;
	z-index: 0;
	margin-bottom: 30px;
	padding-bottom: 3px;
	border-bottom: 1px solid rgba(255, 255, 255, .2);
	font-size: 26px!important;
	font-weight: bold;
}

.sec-about .box .txt {
	width: 580px;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	.sec-about .box {
		display: block;
		height: auto;
		padding: 40px 0 250px;
		background: url('../img/about_bg_sp02.jpg') no-repeat 50% 50%;
		background-size: cover;
		text-align: center;
	}
	.sec-about .box::before {
		bottom: 0;
		left: 0;
		right: 0;
		width: 179px;
		height: 210px;
		margin: auto;
		background-image: url('../img/about_bg_sp01.png');
	}
	.sec-about .box__hdg {
		margin-bottom: 25px;
		padding-bottom: 13px;
		font-size: 19px!important;
	}
	.sec-about .box .txt {
		width: auto;
		text-align: left;
	}
}

/*--------------------------------------------------------------------------
   tab
---------------------------------------------------------------------------*/
.tab-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	max-width: 1100px !important;	/* 2025/02/17 added */
	margin: -30px auto !important;	/* 2025/02/17 changed */
	box-shadow: 0 15px 30px rgba(0, 0, 0, .08);
}

.tab-list__btn {
	position: relative;
	width: 50%;
}

.tab-list__btn a {
	display: block;
	position: relative;
	z-index: 0;
	padding: 36px;
	background: #fff;
	text-align: center;
	font-size: 15px!important;
	font-weight: bold;
	-webkit-transition: .3s;
	        transition: .3s;
	color: #000000!important;
}
.tab-list__btn a:hover {
	text-decoration: none!important;
}
.tab-list__btn a::before {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 45px;
	width: 15px;
	height: 18px;
	margin: auto;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.312%22%20height%3D%2217.656%22%20viewBox%3D%220%200%2014.312%2017.656%22%3E%20%3Cpath%20style%3D%22fill%3A%20%232d2d2d%22%20d%3D%22M432.656%2C841h1.688v16.375h-1.688V841Zm-6.312%2C10.9%2C6.913%2C6.754%2C1.1-1.066-6.913-6.754Zm6.3%2C5.688%2C6.912-6.754%2C1.1%2C1.066-6.912%2C6.754Z%22%20transform%3D%22translate(-426.344%20-841)%22%2F%3E%3C%2Fsvg%3E') no-repeat 50% 50%;
	background-size: contain;
	content: '';
}

.tab-list__btn a::after {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(15deg, #070e5d, #050a41);
	background:         linear-gradient(75deg, #070e5d, #050a41);
	content: '';
	-webkit-transition: .3s;
	        transition: .3s;
	opacity: 0;
}

.tab-list__btn a.active {
	color: #fff!important;
}

.tab-list__btn a.active::before {
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.312%22%20height%3D%2217.656%22%20viewBox%3D%220%200%2014.312%2017.656%22%3E%20%3Cpath%20style%3D%22fill%3A%20%23fff%22%20d%3D%22M432.656%2C841h1.688v16.375h-1.688V841Zm-6.312%2C10.9%2C6.913%2C6.754%2C1.1-1.066-6.913-6.754Zm6.3%2C5.688%2C6.912-6.754%2C1.1%2C1.066-6.912%2C6.754Z%22%20transform%3D%22translate(-426.344%20-841)%22%2F%3E%3C%2Fsvg%3E');
}

.tab-list__btn a.active::after {
	opacity: 1;
}

.tab-wrap {
	padding: 90px 0;	/* 2025/02/17 changed */
	background: #f8f8f8;
}

.tab-wrap__inner {	/* 2025/02/17 added */
	max-width: 1100px;
	margin: 0 auto;
}

.tab-content {
	display: none;
	background: #f8f8f8;
}

.tab-content.active {
	display: block;
}

.tab-content__hdg {
	margin-bottom: 50px !important;	/* 2025/02/17 changed */
	font-family: 'League Gothic', YakuHanJP, -apple-system, BlinkMacSystemFont, Helvetica Neue, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'Noto Sans Japanese', 'メイリオ', Meiryo, sans-serif;
	font-size: 70px;
	font-weight: 400;
	line-height: 1;
}

.tab-content .catch {
	margin-bottom: 10px;
	font-size: 14px !important;
	font-weight: bold !important;
	font-family: YakuHanJP, -apple-system, BlinkMacSystemFont, Helvetica Neue, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'Noto Sans Japanese', 'メイリオ', Meiryo, sans-serif !important;
	line-height: 1.6 !important;
}

.tab-content .material {
	font-size: 24px;
	font-weight: bold;
	margin: 47px 0 20px;
}

.tab-content .sec {
	margin-top: 60px;
}
.tab-content .material + .sec {
	margin-top: 0;
}

.tab-content .sec__hdg {
	margin-bottom: 20px;
	font-size: 15px!important;
	font-weight: bold!important;
	line-height: 1.66!important;
}
.tab-content .material + .sec .sec__hdg {
	font-size: 18px!important;
}
.tab-content .material + .sec .sec__inner .catch {
	font-size: 18px!important;
}
.tab-content .material + .sec .sec__inner .txt {
	font-size: 15px!important;
}

.tab-content .sec__hdg .sub {
	margin-left: 10px;
	font-size: 14px!important;
}

.tab-content .sec__hdg.shorten {
	letter-spacing: -.05em;
}

.tab-content .sec__hdg img {
	position: relative;
	display: inline-block;
	float: right;
	height: 40px;
	bottom: 10px;
}

.tab-content .sec__inner {
	padding: 0 10px;
}
.tab-content + .sec .sec__inner {
	padding: 0;
}

.tab-content .sec .column-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	margin-bottom: 20px;
}
.tab-content .sec .column-box.column-box-titanium {
	margin-bottom: 0;
}
.tab-content .sec .column-box.column-box-titanium .txt-wrap,
.tab-content .sec .column-box.column-box-titanium .table {
	flex-basis: 50%;
}
.tab-content .sec .column-box.column-box-titanium .txt-wrap {
	padding-right: 8px;
}
.tab-content .sec .column-box.column-box-titanium .table {
	padding-left: 8px;
}
.tab-content .sec .column-box.column-box-titanium .table .ttl {
	font-size: 12px!important;
}
.tab-content .sec .column-box.column-box-cr-mo .txt-wrap {
	padding-right: 30px;
}
.tab-content .sec .column-box .table {
	position: relative;
	-webkit-box-flex: 1;
	-webkit-flex: 1 0 auto;
	    -ms-flex: 1 0 auto;
	        flex: 1 0 auto;
}

.tab-content .sec .column-box .table .ttl {
	margin-bottom: 15px;
	font-size: 14px!important;
	font-weight: bold!important;
}

.tab-content .sec .column-box .table .img {
	text-align: center;
}

.tab-content .sec .column-box .table .note {
	font-size: 12px!important;
	float: right;
}

.tab-content .sec .column-box .table .unit {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 12px!important;
}

.tab-content .sec .box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
}

.tab-content .sec .box + .box {
	margin-top: 1px;
}

.tab-content .sec .box .img img {
	max-width: none;
}

.tab-content .sec .box .txt-wrap {
	padding: 0 0 20px 20px;
}

.tab-content .sec .box .ttl {
	font-size: 16px!important;
	font-weight: bold;
	font-family: YakuHanJP, -apple-system, BlinkMacSystemFont, Helvetica Neue, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'Noto Sans Japanese', 'メイリオ', Meiryo, sans-serif!important;
}

.tab-content .sec .box .ttl .ttl__txt {
	font-size: 14px;
	line-height: 1.6;
	vertical-align: top;
}
.tab-content .sec .box .ttl + .txt {
	font-size: 13px !important;
}

.tab-content .sec-lead {
	margin-top: 0;
}
.tab-content .column-sec-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	margin: 0 -34px;

	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.tab-content .column-sec-wrap.cols-2 .sec {
	width: 50%;
	padding: 0 34px;
}
.tab-content .column-sec-wrap.cols-3 .sec {
	width: 33.3%;
	padding: 0 34px;
}

.tab-content .column-sec-wrap.column-logo .sec__inner {
	padding: 0;
}

.tab-content .column-sec-wrap.column-logo .sec .img {
	text-align: center;
}

.tab-content .column-sec-wrap.column-logo .sec .catch {
	font-weight: normal !important;
	margin-bottom: 0;
	font-size: 15px !important;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	.tab-list {
		margin: 0 !important;	/* 2025/02/17 changed */
		padding: 0;
		box-shadow: 0 7px 15px rgba(0, 0, 0, .08);
	}
	.tab-list__btn {
		position: relative;
		width: 50%;
	}
	.tab-list__btn a {
		padding: 20px 0;
		font-size: 13px !important;
	}
	.tab-list__btn a::before {
		display: inline-block;
		position: static;
		left: 27px;
		width: 8px;
		height: 10px;
		margin-right: 6px;
	}
	.tab-wrap {
		padding: 40px 25px 30px;	/* 2025/02/17 changed */
		background: #f8f8f8;
	}
	.tab-wrap__inner {
		position: relative;
		margin-top: 70px;	/* 2025/02/17 added */
	}
	.tab-content__hdg {
		margin-bottom: 30px !important;	/* 2025/02/17 changed */
		font-size: 40px !important;
	}
	.tab-content .material {
		font-size: 15px;
	}
	.tab-content .material + .sec .sec__hdg {
		font-size: 14px !important;
	}
	.tab-content .material + .sec .sec__inner .catch {
		font-size: 14px !important;
	}
	.tab-content .material + .sec .sec__inner .txt {
		font-size: 13px !important;
	}
	.tab-content .sec h4 + div {
		box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25);
		background: #fff;
	}
	.tab-content .sec__hdg {
		margin-bottom: 20px;
		font-size: 15px !important;
	}
	.tab-content .sec__hdg .sub {
		display: block;
		margin: 0;
		font-size: 12px !important;
	}
	.tab-content .sec__hdg.shorten {
		letter-spacing: -.05em;
	}
	.tab-content .sec__inner {
		margin: 0;
		padding: 25px 20px 15px;
		background: #fff;
	}
	.tab-content .no_text .sec__inner {
		padding: 0;
	}
	.tab-content .sec .img img {
		width: 100%;
		height: auto;
	}
	.tab-content .column-sec-wrap.column-logo {
		padding: 25px 20px 15px;
	}
	.tab-content .column-sec-wrap.column-logo .sec__inner {
		padding: 25px 0 0;
	}
	.tab-content .column-sec-wrap.column-logo .sec .img img {
		width: auto;
	}
	.tab-content .sec .column-box {
		display: block;
		margin-bottom: 30px;
	}
	.tab-content .sec .column-box.column-box-cr-mo .txt-wrap {
		padding-right: 0;
	}
	.tab-content .sec .column-box .table {
		width: auto;
		margin: 25px 0 0;
	}
	.tab-content .sec .column-box .table .ttl {
		margin-bottom: 20px;
		font-size: 13px;
	}
	.tab-content .sec .column-box .table .note {
		margin-top: 15px;
		font-size: 12px;
	}
	.tab-content .sec .column-box .table .unit {
		font-size: 11px;
	}
	.tab-content .sec .column-box + .box {
		clear: both;
		padding-top: 30px;
	}
	.tab-content .sec .box {
		display: block;
	}
	.tab-content .sec .box + .box {
		margin-top: 25px;
	}
	.tab-content .sec .box .txt-wrap {
		padding: 0;
	}
	.tab-content .sec .box .ttl {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		margin-bottom: 20px;
		font-size: 14px!important;

		-webkit-box-align: initial;
		-webkit-align-items: initial;
		-ms-flex-align: initial;
		        align-items: initial;
	}
	.tab-content .sec .box .ttl__img {
		margin-right: 20px;
	}
	.tab-content .sec .box .ttl__img img{
		width: 115px;
	}
	.tab-content .column-sec-wrap {
		display: block;
		margin: 0;
	}
	.tab-content .column-sec-wrap.cols-2 .sec,
	.tab-content .column-sec-wrap.cols-3 .sec {
		width: auto;
		padding: 0;
	}
}

/*--------------------------------------------------------------------------
   sec-other
---------------------------------------------------------------------------*/
.sec-other {
	padding: 80px 0;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	.sec-other {
		padding: 0;
	}
	.sec-other .l-wrap {
		padding: 0;
	}
}

/*--------------------------------------------------------------------------
   head-gallery
---------------------------------------------------------------------------*/
.column-sec-wrap.head-gallery {
	margin-bottom: 20px;
}
.head-gallery .sec {
	margin-top: 0;
}
.column-sec-wrap.head-gallery .img img {
	width: 100%;
	height: auto;
	display: block;
}
