/* ------------------------------------------------------------
Company
---------------------------------------------------------------*/
.greeting-flex {
	width: 100%;
	display: flex;
	gap: 50px;
	align-items: flex-start;
	justify-content: space-between;
}
.greeting-flex .message-txt-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 30px;
	align-items: flex-start;
}
.ceo-name {
	width: 100%;
	font-size: 16px;
	line-height: 1.8;
	font-weight: var(--fw-reg);
	text-align: right;
}
.greeting-flex figure {
	width: 250px;
	height: auto;
	aspect-ratio: 250 / 327;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	flex-shrink: 0;
}
.greeting-flex figure > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#greeting .text-center{
	text-align: center;
    display: inline-block;
    width: 100%;
}

@media screen and (max-width: 1200px) {
	.greeting-flex figure {
		width: 200px;
	}
}
@media screen and (max-width: 768px) {
	.greeting-flex {
		flex-flow: column-reverse;
		align-items: center;
		gap: 30px;
		justify-content: flex-start;
	}
	.greeting-flex figure {
		width: 100%;
		max-width: 300px;
	}
}

#overview .c-table th {
	width: 170px;
}
#overview .c-table td {
	width: auto;
}
@media screen and (max-width: 768px) {
	#overview .tbl-container {
		padding: 10px;
	}
	#overview .c-table tr {
		display: flex;
		flex-flow: column;
		width: 100%;
	}
	#overview .c-table th {
		width: 100%;
		border: none;
		padding: 10px;
		padding-bottom: 0;
		font-weight: var(--fw-semibold);
	}
	#overview .c-table td {
		width: 100%;
		padding: 10px;
	}
}

.company-link-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.company-link-grid-item {
	width: 100%;
	height: 120px;
	display: flex;
	align-items: flex-end;
	background: var(--c-bg);
	border: 1px solid var(--c-bg);
	border-radius: 5px;
	padding: 10px;
	overflow: hidden;
	gap: 15px;
	position: relative;
	transition: var(--transition-base);
}
.company-link-grid-item:hover {
	border: 1px solid var(--c-primary);
}
.company-link-grid-item > figure {
	width: 100px;
	background: var(--c-primary);
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	flex-shrink: 0;
}
.company-link-grid-item > figure > img {
	width: 100%;
	height: 100%;
	max-width: 50%;
	max-height: 50%;
	object-fit: contain;
}
.company-link-grid-item > div {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 5px;
	transition: var(--transition-base);
}
.company-link-grid-item:hover > div {
	color: var(--c-primary);
}
.company-link-grid-item > div > h3 {
	width: 100%;
	font-size: 30px;
	font-weight: var(--fw-medium);
	line-height: 1;
	white-space: nowrap;
	font-family: var(--font-poppins);
	color: var(--c-primary);
}
.company-link-grid-item > div > p {
	width: 100%;
	font-size: 14px;
	line-height: 1;
	font-weight: var(--fw-reg);
	white-space: nowrap;
}

@media screen and (max-width: 1200px) {
	.company-link-grid-item {
		height: 100px;
	}
	.company-link-grid-item > figure {
		width: 80px;
	}
	.company-link-grid-item > div > h3 {
		font-size: 24px;
	}
	.company-link-grid-item > div > p {
		font-size: 13px;
	}
}
@media screen and (max-width: 768px) {
	.company-link-grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 10px;
	}
}

/* ------------------------------------------------------------
Technology
---------------------------------------------------------------*/
#page_technology #development .sec-cont .development-flex{
 display: flex;
 gap: 25px;
 width: 100%;
}
#page_technology #development .sec-cont .development-flex li{
 width: 100%;
 text-align: center;
 padding: 31px 0 30px;
 color: #349CF2;
 background-color: #F3F6FA;
 border-radius: 10px;
 font-size: 20px;
}
#page_technology #flow .sec-cont .flow-flex{
 display: flex;
 gap: 10px;
 width: 100%;
}
#page_technology #flow .sec-cont .flow-flex li{
 width: 100%;
 text-align: center;
 background-color: #F3F6FA;
 border-radius: 10px;
 padding: 29px 0 30px;
}
#page_technology #flow .sec-cont .flow-flex li p:first-child{
 font-size: 18px;
 font-weight: bold;
 color: #349CF2;
 height: 54px;
}
#page_technology #flow .sec-cont .flow-flex li p:last-child{
 margin: 15px 0 0;
}
#page_technology #quality .sec-cont .quality-flex{
 width: 100%;
 display: flex;
 gap: 25px;
}
#page_technology #quality .sec-cont .quality-flex li{
 width: 100%;
 height: 231px;
 text-align: center;
 padding: 50px 30px;
 background-color: #F3F6FA;
 border-radius: 10px;
}
#page_technology #quality .sec-cont .quality-flex li p:first-child{
 font-size: 20px;
 line-height: 1.8;
 color: #349CF2;
}
#page_technology #quality .sec-cont .quality-flex li p:last-child{
 text-align: left;
 margin-top: 20px;
 line-height: 1.8;
 font-weight: 400;
 letter-spacing: 0.08rem;
}
@media screen and (max-width: 768px) {
 #page_technology #development .sec-cont .development-flex{
  display: block;
 }
 #page_technology #development .sec-cont .development-flex li{
  font-size: 17px;
  padding: 21px 0 20px;
 }
 #page_technology #development .sec-cont .development-flex li:nth-child(2){
  margin: 15px 0;
 }
 #page_technology #flow .sec-cont .flow-flex{
  display: block;
 }
 #page_technology #flow .sec-cont .flow-flex li{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
 }
 #page_technology #flow .sec-cont .flow-flex li:not(:last-child){
  margin: 0 0 10px;
 }
 #page_technology #flow .sec-cont .flow-flex li p:first-child{
  height: auto;
  font-size: 17px;
  text-align: left;
 }
 #page_technology #flow .sec-cont .flow-flex li p:last-child{
  text-align: left;
  margin: 0;
 }
 #page_technology #quality .sec-cont .quality-flex{
  display: block;
 }
 #page_technology #quality .sec-cont .quality-flex li{
  height: auto;
  padding: 20px;
 }
 #page_technology #quality .sec-cont .quality-flex li:nth-child(2){
  margin: 15px 0;
 }
 #page_technology #quality .sec-cont .quality-flex li p:first-child{
  font-size: 18px;
 }
 #page_technology #quality .sec-cont .quality-flex li p:last-child{
  margin-top: 10px;
  letter-spacing: 0;
 }
}

/* ------------------------------------------------------------
Result
---------------------------------------------------------------*/
.case-study-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px 30px;
	padding: 0 50px;
}

.case-study-grid-item {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-flow: column;
	overflow: hidden;
	gap: 10px;
	position: relative;
}
.case-study-grid-item > figure {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	flex-shrink: 0;
}
.case-study-grid-item > figure > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition-img);
}
.case-study-grid-item:hover > figure > img {
	transform: scale(1.05);
}
.case-study-grid-item > div {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 20px;
}
.case-study-grid-item-bottom {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 5px 15px;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.case-study-grid-item-bottom > p {
	font-size: 13px;
}
.case-study-grid-item-bottom .post-cat {
	font-size: 13px;
}
.case-study-grid-item > div > h3 {
	width: 100%;
	font-size: 18px;
	font-weight: var(--fw-bold);
	line-height: 1.5;
	transition: var(--transition-base);
}
.case-study-grid-item:hover > div > h3 {
	color: var(--c-primary);
}
@media screen and (max-width: 1200px) {
	.case-study-grid-item > div > h3 {
		font-size: 16px;
	}
}

.result-main-img-area {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 0 100px;
	margin-bottom: 30px;
	position: relative;
	overflow: hidden;
}
.result-main-img {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	aspect-ratio: 8 / 3;
	overflow: hidden;
	position: relative;
	border-radius: 10px;
}
.result-main-img > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 1300px) {
	.result-main-img-area {
		padding: 0 70px;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 999px) {
	.result-main-img-area {
		padding: 0 20px;
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	.result-main-img {
		aspect-ratio: 190 / 107;
	}
	.case-study-grid{
		grid-template-columns: repeat(1, 1fr);
		padding: 0 20px;
	}
}

.client-data-area {
	width: 100%;
	background: var(--c-bg);
	padding: 50px;
	border-radius: 10px;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 20px;
	position: relative;
}

.client-data-ttl {
	width: 100%;
	font-size: 16px;
	transition: all ease 0.33s;
	position: relative;
	padding-left: 20px;
	display: flex;
	align-items: center;
	font-family: var(--font-poppins);
}

.client-data-ttl::before {
	content: "";
	width: 10px;
	height: auto;
	aspect-ratio: 1 / 1;
	background-color: var(--c-primary);
	position: absolute;
	left: 0;
	border-radius: 999px;
}

.client-name-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 5px;
	position: relative;
}
.client-name-box > h3 {
	width: 100%;
	font-size: 24px;
	font-weight: var(--fw-reg);
}

.single-result .ttl-box h3 {
	font-size: 24px;
}

@media screen and (max-width: 1300px) {
	.single-result .ttl-box h2 {
		font-size: 28px;
	}
	.client-data-area {
		padding: 30px;
		gap: 15px;
	}
}
@media screen and (max-width: 999px) {
	.single-result .ttl-box h2 {
		font-size: 24px;
	}
	.single-result .ttl-box h3 {
		font-size: 18px;
	}
}
@media screen and (max-width: 768px) {
	.single-result .ttl-box h2 {
		font-size: 20px;
	}
	.client-data-area {
		padding: 20px;
		gap: 10px;
	}
	.client-name-box > h3 {
		font-size: 18px;
	}
	.client-data-area .c-txt {
		font-size: 14px;
	}
}

/* ------------------------------------------------------------
Products
---------------------------------------------------------------*/
.h4{
	color: var(--c-primary);
    font-size: 22px;
    line-height: 1;
    font-weight: var(--fw-reg);
}
#page_products section ul{
 display: flex;
 flex-wrap: wrap;
 gap: 50px 30px;
}
#page_products section ul li{
 width: calc((100% - 60px) / 3);
}
#page_products section ul li a{
 transition: all ease 0.33s;
}
#page_products section ul li a:hover{
 color: var(--c-primary);
 transition: all ease 0.33s;
}
#page_products section ul li .img-area{
 position: relative;
 height: 214px;
 background-color: #F3F6FA;
 border-radius: 10px;
}
#page_products section ul li .img-area img{
 position: absolute;
 margin: auto;
 top: 0;
 bottom: 0;
 right: 0;
 left: 0;
 max-height: 130px;
}
#page_products section ul li .txt-area{
 margin: 10px 0 0;
}
#page_products section ul li .txt-area .sub-title{
 font-size: 13px;
}
#page_products section ul li .txt-area .title{
 font-size: 18px;
 font-weight: bold;
 margin: 5px 0 0;
}
#page_products section ul li .txt-area .text{
 margin: 10px 0 0;
}
@media screen and (max-width: 768px) {
 #page_products section ul{
  display: block;
 }
 #page_products section ul li{
  width: 100%;
 }
 #page_products section ul li:not(:last-child){
  margin: 0 0 30px;
 }
}
.products-main-area {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 0 50px;
	margin-bottom: 30px;
	position: relative;
	overflow: hidden;
}
.products-main-area-inner {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--c-l-gray);
	padding-bottom: 50px;
	gap: 50px;
}
.p-main-flex {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 5.769%;
	align-items: flex-start;
}
.p-main-info-box {
	width: 46.153%;
	max-width: 600px;
	flex-shrink: 0;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	position: relative;
	overflow: hidden;
	gap: 50px;
}
.p-main-ttl {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	position: relative;
	overflow: hidden;
	gap: 5px;
}
.p-main-ttl > .c-txt {
	width: 100%;
	font-weight: var(--fw-semibold);
}
.p-main-ttl > h2 {
	width: 100%;
	font-size: 50px;
	font-weight: var(--fw-bold);
/*	line-height: 1;*/
}
.p-main-info-cont {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	position: relative;
	gap: 30px;
}
.p-main-custom-wrapper {
	width: 100%;
	overflow: hidden;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	position: relative;
	gap: 30px;
}
.p-main-info-cont > .p-main-custom-wrapper {
	margin-bottom: 20px;
	flex-flow: nowrap;
	align-items: anchor-center;
}
.aams-icons-box {
	width: 100%;
	height: auto;
	align-items: center;
	overflow: hidden;
}
.aams-icons-box > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.p-main-custom-wrapper .aams-icons-box:nth-child(2){
	height: 58px;
    font-size: 13px;
}
.p-main-custom-wrapper .aams-icons-box:first-child > img{
	width: 300px;
}
.p-main-custom-wrapper .aams-icons-box:nth-child(2) > img{
	width: 150px;
}

.solution-list-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	position: relative;
	gap: 20px;
}
.solution-list-ttl {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	background: var(--c-primary);
	padding: 12px;
	border-radius: 999px;
}
.solution-list-ttl::before {
	content: "";
	width: 24px;
	height: auto;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	background-image: url("../images/common/icon-info-balloon-wh.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.solution-list-ttl > span {
	font-size: 20px;
	font-weight: var(--fw-semibold);
	color: var(--c-white);
	line-height: 1;
}
.solution-list-box > .list {
	width: 100%;
	padding: 0 20px;
}

.p-main-slide-box {
	width: 100%;
	overflow: hidden;
}
.products-slide-area {
	width: 100%;
	overflow: hidden;
	display: flex;
	flex-flow: column;
	align-items: center;
	position: relative;
	gap: 10px;
}
.products-slider-border-box {
	width: 100%;
	height: auto;
	border: 1px solid var(--c-l-gray);
	position: relative;
	z-index: 10;
	padding: 1px;
}
.products-slider {
	width: 100%;
	height: auto;
	aspect-ratio: 625 / 450;
	position: relative;
	z-index: 0;
}
.swiper-slide > figure {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.swiper-slide > figure > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.thumb-list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
}
.thumb-item {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	padding: 1px;
	border: 1px solid var(--c-l-gray);
	position: relative;
	padding: 5px;
}
.thumb-item > figure {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.thumb-item > figure > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: var(--transition-img);
}
.thumb-item.thumb-item-active {
	border: 1px solid var(--c-primary);
}
.thumb-item.thumb-item-active > figure > img {
	opacity: 0.6;
}

.embed-youtube-wrapper {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	aspect-ratio: 16 / 9;
}
.embed-youtube-wrapper iframe {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.p-main-sec-image-box {
	width: 89.47%;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 850px;
	margin: 0 auto;
}
.p-main-sec-image-box {
	width: 89.47%;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 850px;
	margin: 0 auto;
}
.p-main-sec-image-box > figure {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.p-main-sec-image-box > figure > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.single-products .c-table th {
	width: 170px;
	vertical-align: baseline;
}
.single-products .c-table td {
	width: auto;
}

.dl-manual-wrapper {
	width: 89.47%;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 850px;
	margin: 0 auto;
}
.btn-download-manual {
	width: 100%;
	max-width: 850px;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 9px;
	background: var(--c-white);
	border-radius: 5px;
	transition: var(--transition-base);
	border: 1px solid var(--c-white);
	overflow: hidden;
	position: relative;
}
.btn-download-manual:hover {
	border: 1px solid var(--c-primary);
}
.btn-download-manual::before {
	content: "";
	position: relative;
	width: 18px;
	height: auto;
	aspect-ratio: 18 / 20;
	background-image: url("../images/common/icon-document-wh.svg");
	background-size: contain;
	background-repeat: no-repeat;
	flex-shrink: 0;
	z-index: 10;
}
.btn-download-manual:hover::before {
	background-image: url("../images/common/icon-document-bl.svg");
}
.btn-download-manual::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background: var(--c-gradient);
	transition: var(--transition-base);
}
.btn-download-manual:hover::after {
	opacity: 0;
}
.btn-download-manual > span {
	font-size: 16px;
	color: var(--c-white);
	font-weight: var(--fw-semibold);
	line-height: 1;
	z-index: 10;
	position: relative;
}
.btn-download-manual:hover > span {
	color: var(--c-primary);
}

.care-karte-area {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 30px;
	background: var(--c-bg);
	padding: 30px;
	border-radius: 10px;
}
.care-karte-area > h4 {
	width: 100%;
	color: var(--c-primary);
	font-size: 22px;
	line-height: 1;
	font-weight: var(--fw-reg);
}
.care-karte-area > div {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 30px;
	max-width: 650px;
	margin: 0 auto;
}
.care-karte-img-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 20px;
}
.care-karte-img-box > figure {
	width: 100%;
	max-width: 380px;
	height: auto;
	aspect-ratio: 380 / 146;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.care-karte-img-box > figure > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.care-karte-img-box > p {
	width: 100%;
	text-align: center;
	font-size: 14px;
	font-weight: var(--fw-reg);
}
.care-karte-note {
	width: 100%;
	text-align: center;
	font-size: 13px;
	font-weight: var(--fw-reg);
}
.care-karte-area .btn-more {
	width: 400px;
}

@media screen and (max-width: 1300px) {
	.p-main-ttl > h2 {
		font-size: 36px;
	}
	.solution-list-ttl {
		gap: 5px;
	}
	.solution-list-ttl > span {
		font-size: 16px;
	}
	.solution-list-ttl::before {
		width: 16px;
	}
	.solution-list-box > .list {
		padding: 0 10px;
	}
}
@media screen and (max-width: 999px) {
	.p-main-info-box {
		gap: 30px;
	}
	.p-main-info-cont {
		gap: 20px;
	}
}
@media screen and (max-width: 768px) {
	.single-products .ttl-box h3 {
		font-size: 24px;
	}
	.products-main-area {
		padding: 0 20px;
	}
	.p-main-flex {
		flex-flow: column-reverse;
		gap: 30px;
		justify-content: flex-start;
		align-items: center;
	}
	.p-main-info-box {
		width: 100%;
		max-width: none;
	}
	.solution-list-ttl {
		max-width: 600px;
	}
	.solution-list-box > .list {
		max-width: 600px;
	}
	.single-products .tbl-container {
		padding: 10px;
	}
	.single-products .c-table tr {
		display: flex;
		flex-flow: column;
		width: 100%;
	}
	.single-products .c-table th {
		width: 100%;
		border: none;
		padding: 10px;
		padding-bottom: 0;
		font-weight: var(--fw-semibold);
	}
	.single-products .c-table td {
		width: 100%;
		padding: 10px;
	}
	.dl-manual-wrapper {
		width: 100%;
		max-width: 350px;
	}
	.btn-download-manual {
		max-width: 350px;
		height: 60px;
	}
	.btn-download-manual::before {
		width: 14px;
	}
	.btn-download-manual > span {
		font-size: 14px;
	}
	.care-karte-area {
		gap: 25px;
		padding: 20px;
	}
	.care-karte-area .btn-more {
		width: 280px;
	}
	.care-karte-area .btn-more .btn-txt {
		font-size: 12px;
	}
	.care-karte-img-box > p {
		font-size: 12px;
	}
	.care-karte-area > div {
		gap: 20px;
	}
	.care-karte-note {
		font-size: 12px;
	}
}

/* ------------------------------------------------------------
Download
---------------------------------------------------------------*/
#page_download form{
 display: flex;
 width: 100%;
 max-width: 551px;
 margin: auto;
 align-items: center;
}
#page_download form p{
 font-weight: 400;
 margin: 0 15px 0 0;
}
#page_download form input[type="text"]{
 width: 300px;
 font-weight: 400;
 padding: 12px 15px;
 border: solid 1px #D0D0D0;
 border-radius: 5px;
 margin: 0 10px 0 0;
}
#page_download form input[type="text"]::placeholder{
 color: #D0D0D0;
}
#page_download form button[type="submit"]{
 position: relative;
 padding: 12px 18px 12px 46px;
 background-color: #349CF2;
 color: #fff;
 font-size: 18px;
 font-weight: 500;
 height: 50px;
 border-radius: 5px;
}
#page_download form button[type="submit"]:before{
 position: absolute;
 content: "";
 background: url(../images/search/search.webp) no-repeat center center;
 background-size: cover;
 width: 18px;
 height: 18px;
 left: 18px;
 top: 0;
 bottom: 0;
 margin: auto;
}
#page_download .search-list{
 width: 100%;
 max-width: 1200px;
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 margin: 0 auto;
}
#page_download .search-list > li{
 display: flex;
 gap: 20px;
 width: calc((100% - 20px) / 2);
 max-width: 590px;
 background-color: #F3F6FA;
 border-radius: 5px;
 padding: 10px;
 align-items: flex-start;
}
#page_download .search-list > li div.img-area{
 position: relative;
 background-color: #fff;
 border-radius: 10px;
 width: 120px;
 height: 120px;
}
#page_download .search-list > li div.img-area img{
 position: absolute;
 height: 65px;
 width: auto;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
}
#page_download .search-list > li div.txt-area{
 margin: 10px 0 0;
 min-width: 300px;
}
#page_download .search-list > li div.txt-area p.sub-title{
 font-size: 13px;
 font-weight: 500;
}
#page_download .search-list > li div.txt-area p.title{
 font-weight: bold;
}
#page_download .search-list > li .dl-manual-list{
 width: 100%;
 max-width: 300px;
 margin: 10px 0 0;
}
#page_download .search-list > li .dl-manual-list li:not(:last-child){
 margin-bottom: 10px;
}
#page_download .search-list > li .dl-manual-list a{
 position: relative;
 font-size: 14px;
 display: block;
 width: 100%;
 height: 100%;
 background-color: #349CF2;
 border-radius: 5px;
 color: #fff;
 padding: 10px 15px;
}
#page_download .search-list > li .dl-manual-list a:after{
 position: absolute;
 content: "";
 background: url(../images/search/download.webp) no-repeat center center;
 background-size: cover;
 width: 15px;
 height: 15px;
 top: 0;
 bottom: 0;
 margin: auto;
 right: 15px;
}
#page_download .dl-catalog-list{
	display: flex;
	gap: 2%;
	width: 100%;
}
#page_download .dl-catalog-list li{
	width: 32%;
}
#page_download .dl-catalog-list a{
	position: relative;
    font-size: 14px;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #349CF2;
    border-radius: 5px;
    color: #fff;
    padding: 20px 65px 20px 20px;
}
#page_download .dl-catalog-list a::after{
	position: absolute;
	 content: "";
	 background: url(../images/search/download.webp) no-repeat center center;
	 background-size: cover;
	 width: 15px;
	 height: 15px;
	 top: 0;
	 bottom: 0;
	 margin: auto;
	 right: 15px;
}
@media screen and (max-width: 768px) {
 #page_download form{
  display: block;
 }
 #page_download form p{
  margin: 0 0 5px 0;
 }
 #page_download form input[type="text"]{
  width: 100%;
  margin: 0;
 }
 #page_download form button[type="submit"]{
  width: 100%;
  display: block;
  margin: 10px auto 0;
  height: auto;
  padding: 5px 0;
  font-size: 16px;
  letter-spacing: 0.5rem;
 }
 #page_download .search-list{
  display: block;
 }
 #page_download .search-list > li{
  display: block;
  width: 100%;
  padding: 20px;
 }
 #page_download .search-list > li:not(:last-child){
  margin: 0 0 15px;
 }
 #page_download .dl-catalog-list{
  flex-flow: column;
  gap: 10px;
 }
 #page_download .dl-catalog-list li{
  width: 100%;
 }
}

/* ------------------------------------------------------------
Office
---------------------------------------------------------------*/
#page_office #office .sec-cont img{
 max-width: 775px;
 margin: 62.9px auto 0;
}
#page_office .lower-sec.ls-border{
 border-bottom: none;
}
#page_office #office-about .sec-cont .office-list li{
 margin: 0 auto 50px;
 padding: 0 0 50px;
}
#page_office #office-about .sec-cont .office-list li:not(:last-child){
 border-bottom: solid 1px #ccc;
}
#page_office #office-about .sec-cont .office-list li p.title{
 font-size: 24px;
 font-weight: bold;
 line-height: 2.5;
 color: #349CF2;
}
#page_office #office-about .sec-cont .office-list li:nth-child(1) p.title{
 color: #7E98CD;
}
#page_office #office-about .sec-cont .office-list li:nth-child(2) p.title{
 color: #78CBF4;
}
#page_office #office-about .sec-cont .office-list li:nth-child(3) p.title{
 color: #77C1B2;
}
#page_office #office-about .sec-cont .office-list li:nth-child(4) p.title{
 color: #BCD584;
}
#page_office #office-about .sec-cont .office-list li:nth-child(5) p.title{
 color: #EBB845;
}
#page_office #office-about .sec-cont .office-list li:nth-child(6) p.title{
 color: #F1A099;
}
#page_office #office-about .sec-cont .office-list li p.address{
 width: fit-content;
 margin: 20px 0 0;
 padding-right: 15px;
 position: relative;
}
#page_office #office-about .sec-cont .office-list li p.address:after{
 content: "";
 position: absolute;
 width: 12px;
 height: 16px;
 background: url(../images/office/pin-icon.webp) no-repeat center center;
 background-size: cover;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;
}
#page_office #office-about .sec-cont .office-list li a:hover{
 text-decoration: underline;
}
#page_office #office-about .sec-cont .office-list li p.contact span{
 font-size: 13px;
}
@media screen and (max-width: 768px) {
 #page_office #office .sec-cont img{
  max-width: 100%;
  margin: 31.4px auto 0;
 }
 #page_office #office-about .sec-cont .office-list li{
  margin: 0 auto 50px;
  padding: 0 0 30px;
 }
 #page_office #office-about .sec-cont .office-list li p.title{
  font-size: 19px;
 }
 #page_office #office-about .sec-cont .office-list li p.address{
  margin: 0;
 }
 #page_office #office-about .sec-cont .office-list li p.contact{
  margin: 5px 0 0;
 }
}

/* ------------------------------------------------------------
Contact
---------------------------------------------------------------*/
#page_contact .form-Box p{
 line-height: 1;
}
#page_contact .wpcf7-list-item{
 margin: 0;
}
#page_contact .form-area label{
 display: flex;
 align-items: center;
 gap: 10px;
}
#page_contact .form-area label a{
 text-decoration: underline;
}
#page_contact .c-txt{
 text-align: center;
}
#page_contact .form-Box{
 margin: 30px auto 0;
 width: 100%;
 max-width: 697px;
}
#page_contact .form-Box .form-area dl{
 display: flex;
 gap: 10px;
 align-items: center;
}
#page_contact .form-Box .form-area dl:not(:first-child){
 margin: 15px 0 0;
}
#page_contact .form-Box .form-area dl dt{
 width: calc((100% - 10px) - 73.2%);
 text-align: right;
}
#page_contact .form-Box .form-area dl dt p{
 display: flex;
 white-space: nowrap;
 align-items: center;
 justify-content: flex-end;
}
#page_contact .form-Box .form-area dl dt p span{
 font-size: 14px;
 font-weight: 400;
 line-height: 2;
 margin-left: 15px;
 color: #fff;
 background-color: #349CF2;
 padding: 7px 16px 8px;
 border-radius: 5px;
 white-space: nowrap;
}
#page_contact .form-Box .form-area dl dd{
 width: calc((100% - 10px) - 26.8%);
}
#page_contact .form-Box .form-area dl dd input[type="text"],
#page_contact .form-Box .form-area dl dd input[type="tel"],
#page_contact .form-Box .form-area dl dd input[type="email"],
#page_contact .form-Box .form-area dl dd textarea{
 width: 100%;
 height: 50px;
 border: solid 1px #D0D0D0;
 border-radius: 5px;
 padding: 10px 20px;
}
#page_contact .form-Box .form-area dl dd input[type="checkbox"]{
 width: 30px;
 height: 30px;
 border: solid 1px #D0D0D0;
 border-radius: 5px;
}
#page_contact .form-Box .form-area dl.postcode dd,
#page_contact .form-Box .form-area dl.postcode dd p,
#page_contact .form-Box .form-area dl.tel dd,
#page_contact .form-Box .form-area dl.tel dd p{
 display: flex;
 align-items: center;
}
#page_contact .form-Box .form-area dl.postcode dd span,
#page_contact .form-Box .form-area dl.postcode dd p span,
#page_contact .form-Box .form-area dl.tel dd span,
#page_contact .form-Box .form-area dl.tel dd p span{
 margin: 0 5px;
}
#page_contact .form-Box .form-area dl.postcode dd input[type="text"],
#page_contact .form-Box .form-area dl.postcode dd p input[type="text"],
#page_contact .form-Box .form-area dl.tel dd input[type="tel"],
#page_contact .form-Box .form-area dl.tel dd p input[type="tel"]{
 max-width: 120px;
}
#page_contact .form-Box .form-area dl.type dd span label{
 display: flex;
 align-items: center;
 gap: 10px;
 margin: 5px 0;
}
#page_contact .form-Box .form-area dl.content{
 align-items: flex-start;
}
#page_contact .form-Box .form-area dl.content dt{
 margin: 15px 0 0;
}
#page_contact .form-Box .form-area dl dd textarea{
 height: 150px;
 padding: 13px;
}
#page_contact .form-Box input[type="submit"],
#page_contact .form-Box button{
 width: auto;
 display: block;
 padding: 18px 45px;
 background-color: #349CF2;
 color: #fff;
 border-radius: 3px;
}
#page_contact .confirm_area,
#page_contact .thanks_area {
 display: none;
}
#page_contact .confilm_box p{
 margin: 50px auto 0;
 display: flex;
 justify-content: center;
 gap: 20px;
}
#page_contact .wpcf7-response-output{
 display: none;
}
#page_contact .confirm_button{
 margin: 50px auto 0;
}
@media screen and (max-width: 768px) {
 #page_contact .c-txt{
  text-align: left;
 }
 #page_contact .form-Box .form-area dl{
  display: block;
 }
 #page_contact .form-Box .form-area dl:not(:first-child){
  margin: 30px 0 0;
 }
 #page_contact .form-Box .form-area dl dt{
  width: 100%;
  text-align: left;
 }
 #page_contact .form-Box .form-area dl dt p{
  display: block;
  margin: 0 0 15px;
 }
 #page_contact .form-Box .form-area dl dt p span{
  margin-left: 10px;
 }
 #page_contact .form-Box .form-area dl dd{
  width: 100%;
 }
 #page_contact .form-Box .form-area dl.type dd span label{
  line-height: 1.8;
  margin: 5px 0;
 }
 #page_contact .form-Box .form-area dl dd input[type="checkbox"]{
  width: 29px;
  height: 19px;
 }
 #page_contact .form-Box .form-area dl.content + dl{
  display: flex;
  align-items: baseline;
  margin: 30px 0 0;
 }
 #page_contact .form-Box .form-area dl.content + dl dt{
  width: auto;
 }
 #page_contact .form-Box .form-area dl.content + dl dt span{
  margin-left: 0
 }
 #page_contact .confirm_button{
  margin: 30px auto 0;
 }
}

/* ------------------------------------------------------------
Recruit
---------------------------------------------------------------*/
#page_recruit .tabs,
#page_recruit .tab-labels,
#page_recruit .tab-labels .tab,
#page_recruit .tab-labels .tab label {
 width: 100%;
}
#page_recruit .tab-labels {
 display: flex;
}
#page_recruit .tab-labels .tab label {
 display: block;
 width: 100%;
 flex: 1;
 color: #222;
 font-weight: 400;
 text-align: center;
 padding: 14px;
 background-color: #eee;
 border-radius: 10px 10px 0 0;
 cursor: pointer;
}
#page_recruit .tab input {
  display: none;
}
/* 選択中タブ */
#page_recruit .tab input:checked + label {
 background-color: #349CF2;
 color: #fff;
}
/* タブコンテンツを横幅100%で切り替え */
#page_recruit .tab-content {
 display: none;
 width: 100%;
 padding: 20px;
 border-radius: 0 0 10px 10px;
 background-color: #F3F6FA;
}
#page_recruit .tab-content ul li:not(:last-child){
 margin: 0 0 10px;
}
/* JSで選択中タブに合わせて表示 */
#page_recruit .tab-content.active {
 display: block;
}
/* アコーディオン */
#page_recruit .accordion-btn,
#page_recruit .tab-content ul li a{
 display: block;
 width: 100%;
 text-align: left;
 font-size: 20px;
 font-weight: 400;
 background-color: #fff;
 padding: 25px 30px;
 cursor: pointer;
 border-radius: 5px;
}
#page_recruit .tab-content ul li a{
	color: #349CF2;
	position: relative;
}
#page_recruit .tab-content ul li a::after{
	content: '';
	display: inline-block;
	background: url("../images/recruit/icon-download.svg");
	background-size: contain;
	width: 16px;
	height: 16px;
	position: absolute;
    right: 30px;
    top: 32px;
}
#page_recruit .accordion-content {
 display: none;
 padding: 10px;
 border-left: 2px solid #4CAF50;
 background: #f9f9f9;
}
#page_recruit .accordion-item.active .accordion-content {
 display: block;
}

#explanation .flex-box{
	display: flex;
	gap: 35px;
}
#explanation .sec-cont02{
	padding-top: 75px;
}


.recruit-top-img{
	padding: 0 50px;
}
#quality .flex-box{
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
#quality .flex-box h4{
	line-height: 36px;
}
#quality .p-main-custom-wrapper{
	width: 48.5%;
}
#quality .care-karte-area{
	height: 200px;
}
#quality .flex-box02{
	width: 100%;
}
#quality .flex-box02 .p-main-custom-wrapper{
	width: 31.5%;
    text-align: center;
}
#quality .sec-cont .flex-box02 .care-karte-area{
	height: 125px;
	justify-content: center;
}
#quality .sec-cont .flex-box03 .care-karte-area{
	height: 156px;
	gap: 20px;
	margin-bottom: 20px;
}
#quality ul li{
	position: relative;
	padding-left: 1.2rem;
	line-height: 1.6; 
}
#quality ul li::before{
	content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #349CF2;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
	#explanation .flex-box{
		flex-flow: column;
	}
	#quality .p-main-custom-wrapper{
		width: 100%;
	}
	#quality .flex-box02{
		flex-flow: column;
	}
	#quality .flex-box02 .p-main-custom-wrapper{
		width: 100%;
	}
	#quality .sec-cont .flex-box02 .care-karte-area{
		height: auto;
	}
	#quality .sec-cont .flex-box03 .care-karte-area{
		height: auto;
		gap: 10px;
	}
}

#benefits th{
	vertical-align: baseline;
	width: 10%;
}
#benefits .flex-box{
	display: flex;
	flex-wrap: wrap;
	gap: 25px 5%;
	width: 100%;
}
#benefits .flex-box .wrapper{
	width: 30%;
	background: #F3F6FA;
	border-radius: 5px;
	display: flex;
	gap: 10px;
	padding: 12px 15px;
	font-size: 14px;
	font-weight: 400;
	align-items: center;
}
#benefits .flex-box .wrapper img{
	background: #349CF2;
	border-radius: 5px;
	width: 52px;
	height: 52px;
	padding: 10px;
}

@media screen and (max-width: 768px){
	#benefits .tbl-container{
		padding: 20px;
	}
	#benefits .c-table th,
	#benefits .c-table td{
		display: block;
		width: 100%;
	}
	#benefits .c-table th{
		border-bottom: none;
        padding: 20px 20px 0 20px;
	}
	#benefits .flex-box{
		flex-flow: column;
	}
	#benefits .flex-box .wrapper{
		width: 100%;
	}
}

#recruit-slider{
	padding: 0 50px 80px;
}
#recruit-slider .infinite-slider {
  overflow: hidden;
  width: 100%;
}
#recruit-slider .infinite-slider__track {
  display: flex;
  align-items: center;
  gap: 16px;
  animation: marquee 20s linear infinite;
}
#recruit-slider .infinite-slider__track img {
  display: block;
  height: 120px;
  width: auto;
  object-fit: cover;
  flex: 0 0 auto;
  border-radius: 8px;
}

@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

#recruit-slider .infinite-slider:hover .infinite-slider__track {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  #recruit-slider .infinite-slider__track { animation: none; }
}

/* ------------------------------------------------------------
Disclaimer
---------------------------------------------------------------*/
#disclaimer h2 span{
	font-size: 30px;
}
#disclaimer li{
	line-height: 28.8px;
	position: relative;
    padding-left: 1.2rem;
	padding-bottom: 10px;
	font-weight: 400;
}
#disclaimer li::before{
	content: "";
    position: absolute;
    left: 0;
    top: 0.9em;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: #349CF2;
    border-radius: 50%;
}



















