@charset "utf-8";
/*
 * smp.css
 *
 *  version --- 1.0
 *  updated --- 2024/10/24
 */
/*** ipad ***/
@media (max-width: 959px) and (min-width: 768px) {

    
}

/*** sp ***/
@media only screen and (max-width : 767px){
	.btnlink .small {
		font-size: 1.2rem;
	}
	
	#wrapper {
	    padding-top: 7rem;
	}
	
	#wrapper:before {
	    background: url(../image/common/bg_wrap_sp.png) no-repeat center;
	    background-size: cover;
	}
	
	#header {
		padding: 1rem 1.6rem;
	}
	.header-logo {
	    height: 5rem;
	}
	.header-logo img {
		width: 18rem;
	}
	.header-links .cv-links {
		display: none;
	}	
	.btn-menu {
	    margin-left: 1.6rem;
	    width: 5rem;
	    background-size: 60%;
	}	
	#g-navi {
		transform: translateX(100%);
		padding: 8rem 3rem;
	}	
	#g-navi.open {
		transform: translateX(0%);
	}
	
	#footer {
	    padding: 3.2rem 0 2rem;
	}
	
	ul.sns-list {
		justify-content: center;
	}
	
	ul.sns-list li {
		margin: 0 1rem;
	}
	
	#footer .access .part {
		text-align: center;
	}
	#footer .access .part p {font-size: 1.4rem;}
	.footer-inner + .footer-inner {margin-top: 3rem;}
	.footer-inner {
	    display: flex;
	    flex-direction: column-reverse;
	}
	#footer .left {
		max-width: 100%;
	}
	#footer .right {
		width: auto;
	}
	.footlogo {
		text-align: center;
	}
	.footlinks {
	    gap: 0;
	    flex-direction: column-reverse;
	    margin-bottom: 5rem;
	}
	.footlinks li:last-child {
		width: 100%;
	}
	.footlinks .level1 a {
	    gap: 0 1.6rem;
	}	
	.footlinks .level2 a {
		font-size: 1.2rem;
	}
	.footlinks2 {
		padding-bottom: 2rem;
		justify-content: center;
	    gap: 1rem 0;
	    letter-spacing: 0;
	    font-size: 1.2rem;
	}

	.footlinks2 a {padding-left: 0.5rem;}
	.footlinks2 a::before {
	    content: "/";    
	    margin-right: 0.5rem; 
	}
	
	.footlinks2 a:nth-child(4)::before {
	    content: none;
	}
	
	.footlinks2 a:first-child::before {
	    content: none;
	    margin-right: 0;
	}
	
	.copyright_sp {padding: 0 !important;}
	#copyright {
		border-top: 1px solid #fff;
		padding-top: 2rem;
		text-align: center;
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	.footlinks li {
		width:100%;
	}
	ul.footlinks_sp li.sp-nav a {
		font-size: 1.6rem;
		display: block;
		font-weight: bold;
		padding: 2rem 0;
		border-bottom: 1px solid #FFFFFF;
		margin-bottom: 0;
	}
	
	ul.footlinks_sp .btnlink.arrow a {max-width: 100%;}

	.accordion {border-bottom: 1px solid #fff;}
	.accordion__title {
		font-size: 1.6rem;
		font-weight: bold;
	    color: #fff;
	    cursor: pointer;
	    position: relative;
	    padding: 2rem 0;
	}
	.accordion__title::before {
	    content: '';
	    display: inline-block;
	    width: 20px;
	    height: 2px;
	    background-color: #fff;
	    position: absolute;
	    right: 10px;
	    top: 50%;
	    transform: translateY(-50%);
	    transition: opacity 1s;
	}
	.accordion__title::after {
	    content: '';
	    display: inline-block;
	    width: 20px;
	    height: 2px;
	    background-color: #fff;
	    position: absolute;
	    right: 10px;
	    top: 50%;
	    transform: translateY(-50%) rotate(90deg);
	    transition: transform 1s;
	}
	.accordion__title.show::before {
	    opacity: 0;
	}
	.accordion__title.show::after {
	    transform: translateY(-50%) rotate(180deg);
	}
	.accordion__content {
	    display: none;
	}
	
	ul.footlinks_sp li.sp-nav .navigation__dropdown a {
		font-size: 1.4rem;
		padding: 0 1.5rem 2rem;
		border-bottom: none;
	}


		
	/* common */	
	.inner,
	.inner-small,
	.inner-small2 {
		padding: 0 2rem;
	}
	
	.btnlink_sp {margin-top: 5rem;}

	.anchor-area .anchor {
		top: -5rem;
	}
	
	.main_circles {
		left: -4rem;
        bottom: 0;
        width: 55rem;
        height: auto;
        top: -26rem;
	}

	#main-visual {
		padding: 19.2rem 0 2rem;
		position: relative;
	}

	/*#main-visual:before {
		width: 100%;
		height: 30rem;
		background: url(../image/top/bg_mv.png) -1.3rem center no-repeat;
		background-size: auto 100%;
		position: absolute;
		top: -11.6rem;
		left: 0;
		z-index: -1;
		content: '';
	}*/

	#main-visual .head {
		margin: 0 0 2.4rem;
		width: 100%;
		padding: 0 2rem;
		text-align: right;
	}	

	#main-visual .head img {
		width: 31rem;
	}
	
	.main-swiper {
		height: calc(100vh - 39.4rem);
	}
	.main-swiper li {
		padding-right: 2.3rem;
		width: 26.1rem;
	}
	.main-swiper li img {
	    height: 38.7rem;
	}	
	.main-swiper li.half img {
	    height: calc(50% - 1.1rem);
	}	
	
	#teaser .teaser-sonpage {
		height: 18rem;
	}
	#teaser .teaser-fatherpage {
		position: relative;
	    padding: 0 0 1.6rem;
	}
	#teaser  .teaser-fatherpage .inner {padding: 0;}
	#teaser .sp-teaser {
	    background: url(../image/common/sp_main.png) no-repeat center;
	    background-size: cover;
	    text-align: center;
	    padding: 4rem 0 8.3rem;
	}
	#teaser .sp-teaser h2 {font-size: 2.5rem;}
	
	.teaser-fatherpage .banner {
		width: 100%;
		border-radius: 0;
	}
	.teaser-fatherpage .head-teaser {
		position: absolute;
		left: 0;
		width: 100%;
		text-align: center;
		color: #fff;
	}
	.head-teaser {
	    font-size: 2.4rem;
	}
	
	#breadcrumb {
	    padding: 2.5rem 2rem 1rem;
		font-size: 1.2rem;
	}
		
	.head-large {
	    margin-bottom: 2.4rem;
	}
	.head-large .eng {
		font-size: 2rem;
		text-align: center;
	}
	.head-large .jap {
		font-size: 2.8rem;
		text-align: center;
	}
	
	.title-wrap {
	    padding: 1rem 1rem 4.8rem;
	}
	#about01 {padding-top: 3rem;}
	.title-wrap .head {
		margin-bottom: 1.6rem;
		font-size: 2.4rem;
	}
	.title-wrap .sub {
	    margin-bottom: 2rem;
	    font-size: 1.8rem;
	}
	.title-wrap .txt-sub {
	    font-size: 1.6rem;
	    text-align: left;
	}
	
	.home .title-wrap .txt-sub {
	    text-align:  center;
	}
	
	.title-wrap .txt-sub p + p {
	    margin-top: 2rem;
	}
	
	#culture .title-wrap .txt-sub {
	    font-size: 1.4rem;
	    text-align: left;
	}
	
	.btnlink.bottom-st {
		gap: 1rem;
	}
	
	.service-function-box {
	    display: flex;
        flex-direction: column-reverse;
		padding: 1.6rem 1.5rem;
	    margin-top: 5rem;
	     border-radius: 0;
	}
	.service-function-box .info {
		margin-bottom: 0;
		width: auto;
		order: 1;
	}
	.service-function-box .img {
		width: auto;
		order: 2;
		margin-bottom: 1rem;
	}
	.service-function-box .chat_link a {
	    gap: 0 1.6rem;
	    font-size: 3.6rem;
	}
	.service-function-box .chat_link a:after {
		width: 2.8rem;
		height: 2.8rem;
	}
	.service-function-box .talk {
		font-size: 1.4rem;
		text-align: center;
		margin-bottom: 2rem;
	}
	.service-function-box .talk .eng {
		margin-right: 0;
	    font-size: 4.6rem;
	    display: block;
	}
	.service-function-box.crosstalk .info,
	.service-function-box.crosstalk .img {
		width: auto;
	}
	.service-function-box .img img {
		height: 187px; 
		border-radius: 5px;
	}
	.service-function-box.crosstalk .btnlink {
	    display: flex;
	    flex-wrap: wrap;
	    gap: 1rem 0;
	}
	.service-function-box.crosstalk .btnlink br {display: none;}
	.service-function-box.crosstalk .btnlink a {
	    padding: 0 1.2rem;
	    background-position: right 1rem center;
	    font-size: 1.4rem;
	}
	
	.column_sp .is-pc {display: none !important;}
	.column_sp .is-sp {display: inherit !important;}
	
	.diagnostic-wrap {
		padding: 5rem 2rem;
	}
	.diagnostic-wrap .title-wrap .btnlink {
	    margin-top: 3.2rem;
	}
	.diagnostic-wrap .btnlink .start {
	    padding: 2.4rem;
	    font-size: 1.2rem;
	}
	.diagnostic-wrap .btnlink .start .big {
	    font-size: 2.4rem;
	}
	.diagnostic-wrap .skip {
		font-size: 1.4rem;
	}
	
	.diagnostic-steps {
		gap: 2rem 3rem;
		max-width: 100%;
	}
	.diagnostic-steps li {
		width: 3.6rem;
		height: 3.6rem;
		font-size: 1.5rem;	
	}
	.diagnostic-steps li:not(.noline):before {
		width: 3rem;
	}
	.diagnostic-steps {
		width: 90%;
		margin: 0 auto 2rem;
	}
	.question-step-box {
		width: 100%;
		margin: 0 auto;
	    padding: 7.6rem 3rem 5.6rem;
	    border-width: 0.8rem;
	}
	.question-step-box .step {
	    padding: 0 2rem;
	    min-width: 7.2rem;
	    height: 6.2rem;
	    font-size: 2.5rem;
	}
	.question-step-box h3 {
		padding-top: 0.5rem;
	    margin-bottom: 1.4rem;
	    font-size: 1.5rem;
	    letter-spacing: 0;
	}
	
	.question-step-box p.small {
		font-size: 1.2rem;
		font-weight: 700;
	}
	.question-step-box p.small.mb1 {margin-bottom: 0.5rem;}
	
	.question-step-box h3.step-ttl {
		margin-bottom: 1rem;
		padding-top: 4.2rem;
	}
	.question-step-box .btnlink {
	    flex-wrap: wrap;
		gap: 1rem;
	}
	.question-step-box .btnlink a {
	    min-height: 6rem;
		border-width: 2px;
	    font-size: 2rem;
	}
	.question-step-box p.step-txt {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	
	
	
	/* page */	
	.top-works .title {
	    display: block;
	    margin-bottom: 2.4rem;
	}
	.top-works .btnlink {display: none;}
	.works-display ul {
		display: block;
	}
	.top-interview {
	    padding: 5rem 0 0;
	}
	.service-function-box_sp {padding:  0;}
	.works-display li .info {
		height: 36rem;
	}
	.works-display li .con {
		padding: 6rem 3.2rem;
	}
	
	.top-interview .display {
	    display: block;
	}
	.top-interview .display .info {
		margin-bottom: 3rem;
		width: auto;
	}
	.interview-cards-swiper {
		width: auto;
	}
	.interview-cards-swiper .img {
		margin: 0 auto;
		width: 80%;
		height: 36rem;
	}
	.interview-cards-swiper .swiper-button-prev, 
	.interview-cards-swiper .swiper-button-next {
	    width: 4rem;
	    height: 4rem;
	}
	.interview-cards-swiper .swiper-button-prev {
		left: 1.6rem;
	}
	.interview-cards-swiper .swiper-button-next {
		right: 1.6rem;
	}
	
	.top-culturerecruit {
	    padding: 6rem 0 8rem;
	    background: #fff;
	}
	
	.top-culturerecruit li.col2,
	.top-culturerecruit li.col3 {
		width: 100%;
	}
	
	.top-culturerecruit li .img {
		overflow: hidden;
	}
	
	.top-culturerecruit li .info {
	    background: url(../image/common/Icon_link_circle.svg) no-repeat right 1.6rem bottom 1rem;
	    background-size: 3.4rem;
	    padding-bottom: 1rem;
	}
	.top-culturerecruit ul {
		width: 94%;
		margin: 0 auto;
	}
	.top-culturerecruit ul li:last-child .info {	
		background: url(../image/common/Icon_link_circle.svg) no-repeat right 1.6rem bottom 1rem;
		background-size: 3.4rem;
	}
	
	.top-culturerecruit li.col2 .info {
	    min-height: inherit;
	}
	
	.recruitment-saler {
	    padding: 4.8rem 0;
	}
	.recruitment-saler .display {
	    display: block;
	}
	.recruitment-saler .display .img {
		margin-bottom: 2.4rem;
		width: auto;
	}
	.recruitment-saler .display .info {
		width: auto;
	}
	.recruitment-saler .display .head {
	    margin-bottom: 2rem;
	    font-size: 1.8rem;
	}
	.recruitment-part + .recruitment-part {
	    margin-top: 5rem;
	}
	.recruitment-table {
		font-size: 1.4rem;
	}
	.recruitment-table th {
	    padding: 1.6rem 0;
	    width: 15rem;
	}
	.recruitment-table td {
	    padding: 1.6rem 0;
	}
	
	.recruitment-personality ul {
		gap: 1rem 2rem;
	}
	.recruitment-personality li {
		padding-top: 40%;
		width: 40%;
		max-width: 14rem;
	}
	.recruitment-personality .tit {
		font-size: 1.5rem;
	}
	.recruitment-detail-wrap .btnlink {
	    margin-top: 5rem;
	}
	
	/* about */
	#about01 p {text-align: center;}
	#about #breadcrumb {background: inherit;}
	.about-corporation-data {
	    padding: 9rem 0 4.8rem;
	}
	.about-corporation-data ul {
		width: 80%;
		margin: 0 auto;
	    gap: 2rem 0;
	}
	.about-corporation-data li,
	.about-corporation-data li.col2 {
		width: 100%;
	}
	.about-corporation-data li.thanks .tit {text-align: center;}
	.about-corporation-data li.thanks .data {justify-content: center;}
	
	.about-corporation-data ul .ttl_01 {
	    font-size: 2rem;
	    padding-top: 2rem;
	    margin-bottom: 2rem;
	}
	
	.about-corporation-data li.thanks {
	    background: url(../image/about/img_tobacco.svg) no-repeat center bottom #fff;
	    background-size: 19rem;
	    padding: 3rem 2rem 15rem 2rem;
	    background-size: 10rem;
	}
	
	.about-corporation-data li.bg_02 {
	    padding: 3rem 2rem 15rem 2rem;
	    background: url(../image/about/img_bg02.svg)  no-repeat center bottom;
	    background-size: 12rem;
	}
	
	.about-corporation-data .num.big {font-size: 10rem;}
	
	.about-corporation-data li.thanks .num {
	    font-size: 8rem;
	}
	.about-corporation-data li.thanks .unit {
	    font-size: 2.4rem;
	}
	.about-corporation-data li.thanks .unit .than {
	    font-size: 3rem;
	}
	
	.about-corporation-data li.mf-ratio {
	    background: url(../image/about/img_thanks2_sp.svg) no-repeat right 1.5rem bottom #F4FBFB;
	    background-size: 23rem !important;
	}
	
	.about-corporation-data li.mf-ratio {
	    padding: 3rem 2rem 2rem;
	    background-position: center bottom;
	    background-size: 12rem;
	}
	
	.about-corporation-data li.mf-ratio .note {margin-top: -3rem;}
	
	.about-corporation-data .mf-ratio .ratio {
		display: flex;
	    /*flex-direction: column;*/
		align-items: baseline;
		gap: 1.6rem;
	}
	.about-corporation-data .mf-ratio .item {
		width: 46%;
	}	
	.about-corporation-data .mf-ratio .item {
	    padding: 3rem 0 0 5rem;
	}
	.about-corporation-data .mf-ratio .male {
		background-position:left top;
		background-size: 3rem;
	}
	.about-corporation-data .mf-ratio .female {
		background-position:left top;
		background-size: 4rem;
	}
	.about-corporation-data li .unit.small { font-size: 2.4rem;}

	.mf-ratio .num {margin-right: 0;}
	
	.about-corporation-data .mf-ratio .male p.item_sp,
	.about-corporation-data .mf-ratio .female p.item_sp {
	   font-size: 0.9rem;
	   display: block;
	   text-align: left !important;
	    margin-left: -0.8rem;
	}
	
	.about-corporation-data .mf-ratio .num {
	    font-size: 5rem;
	}
		
	.about-company-message .display {
	    display: block;
	}
	.about-company-message .display .img {
		margin: 0 auto 2rem;
		width: 100%;
	}
	.about-company-message .display .info {
		width: auto;
	    font-size: 1.4rem;
	}
	.about-company-message .display .head,
	.about-company-message .end-sign .name {
	    font-size: 1.8rem;
	}
	.about-company-introduction,
	.about-company-history {
	    padding-top: 9rem;
	}
	.about-company-introduction th,
	.about-company-introduction td {
	    width: 100%;
	    display: block;
	    padding: 0 1rem;
	}
	.about-company-introduction th {
		font-size: 1.6rem;
		border-bottom: none;
	}
	.about-company-introduction td {
		font-size: 1.4rem;
		padding-bottom: 1rem;
		margin-bottom: 1rem;
	}

	
	.about-company-history ul:before {
		left: 4rem;
	}
	.about-company-history li:before {
		left: 3rem;
	}
	.about-company-history .th {
		padding-left: 7rem;
        width: 100%;
        font-size: 1.6rem;
        display: block;
	}
	.about-company-history .td {
		padding-left: 0rem;
        width: 100%;
        padding-top: 2.5rem;
        font-size: 1.4rem;
        display: block;
        margin-left: -21rem;
	}
	
	.last_sp {font-size: 1.2rem; letter-spacing: 0;}
	
	/* works */
	.work-organization {
	    padding: 4.8rem 0;
	}
	.work-organization .note {
		font-size: 1.4rem;
	}
		
	.work-tabs {
		margin-bottom: 1.8rem;
	}
	.work-tabs:after {
	    height: 0.4rem;
	}
	.work-tabs li a {
		display: flex;
		align-items: center;
		justify-content: center;
	    padding: 0 0 1rem;
	    white-space: wrap;
		line-height: 1.5;
	    font-size: 1.2rem;
	}
	.work-tabs li a.is-active:after {
	    height: 0.4rem;
	}
	.work-anchors {
		display: block;
	}
	.work-anchors li {
		width: 100%;
	    white-space: wrap;
	    border-left: 0 !important;
	    border-bottom: .1rem solid #CECECE;
	}

	.work-anchors li a {
		padding: 1.5rem 1rem;
		background: none;
		font-size: 1.8rem;
		align-items: center;
		gap: .9rem;
	}

	.work-anchors li a:after {
		width: 2rem;
		height: 2rem;
		content: '';
		background: url(../image/common/icon_down.svg) no-repeat center center;
    	background-size: 2rem;
	}
	
	.work-sales {
	    padding: 4.8rem 0;
	}
	.work-sales .display .tit {margin: 1rem 0 0.5rem;}
	
	.work-sales .display {
	    display: block;
	}
	.work-sales .display .img {
		margin-bottom: 2rem;
		width: auto;
	}
	.work-sales .display .info {
		width: auto;
	}
	
	.work-feature ul {
	    flex-wrap: wrap;
	    gap: 2.3rem;
		margin-top: 3.2rem;
	}
	.work-feature li {
	    padding-top: 21.7rem;
	    width: 21.7rem;
	    max-width: 21.7rem;
	}
	.work-feature li .step {
		font-size: 2.2rem;
	}
	.work-feature li .tit {
		font-size: 1.9rem;
	}
	
	.work-case,
	.work-person,
	.work-end {
	    padding: 4.8rem 0 0;
	}
	.work-case ul {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 3rem 0;
	}
	.work-case li .img {
	    margin-bottom: 1.6rem;
	}
	.work-case li .img img {width: 100%;}
	.work-case li .tit {text-align: center;}
	.work-person-image {
	    flex-wrap: wrap;
	    gap: 3rem 0;
	}
	.work-person-image .item {
	    padding: 5rem 3rem;
	    font-size: 1.4rem;
	}
	.work-person-image .false ul {
		padding-left: 0;
	}
	
	.work-person-image .item:after {
	    left: -1.4rem;
	    width: 6rem;
	    height: 5rem;
	}
	.work-person-image .tit {
	    margin-bottom: 1.2rem;
	    font-size: 1.6rem;
	    text-align: center;
	}
	.work-person-image li + li {
	    margin-top: 1.2rem;
	}
	.work-employee {
	    padding: 4.8rem 0;
	}
	.employee-introdlist {
	    grid-template-columns: repeat(2, 1fr);
	    gap: 3rem 1rem;
	}
	
	.employee-introdlist li .introd {
	    min-width: 90%;
	    font-size: 1.1rem;
	}
	
	.employee-introdlist li .img img {
		width: 100%;
		height: 240px;
		object-fit: cover;
	}
	
	.employee-introdlist li p {}
	
	.employee-introdlist li .tit {font-size: 1.6rem;}
	.employee-introdlist li p br,
	.employee-introdlist li .tit br {display: none;}
	
	.work-wrap .service-function-box {
	    margin-top: 4.8rem;
	}
	
	.service-function-box .head {
	    font-size: 1.4rem;
	    text-align: left;
	}
	
	.home .service-function-box .head {
	    font-size: 1.4rem;
	    text-align:  center;
	}
	
	.work-schedule-line ul {
	    display: block;
	}
	.work-schedule-line li {
		padding: 0 0 3rem 3.6rem;
		font-size: 1.4rem;
	}
	.work-schedule-line li:before {
	    left: 0.9rem;
	    width: 0.3rem;
	}
	.work-schedule-line li:after {
	    left: 0;
	    width: 2rem;
	    height: 2rem;
	}
	.work-schedule-line li .time {
	    width: 8rem;
	    font-size: 1.8rem;
	}
	
	/* culture */
	.culture-philosophy,
	.culture-internal,
	.culture-offices {
	    padding: 4.8rem 0;
	}
	
	.culture-philosophy {margin-top: 0;}
	
	.culture-philosophy .philosophy-btn {
	    padding: 1.6rem 2rem;
	    background-position: right 1.8rem center;
		background-size: 1.6rem;
	    font-size: 1.6rem;
	}
	.culture-philosophy .philosophy-box {
	    padding: 0 2rem 2.4rem;
	    font-size: 1.4rem;
	}
	.culture-philosophy .philosophy-box p + p {
	    margin-top: 2rem;
	}
	.culture-internal-display {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2rem;
	}
	.culture-internal-display .item {
	    padding: 2rem;
	}
	.culture-internal-display .step {
	    padding: 0.6rem;
	    width: 6rem;
	    font-size: 2.4rem;
	}
	.culture-internal-display .tit {
		font-size: 1.8rem;
	}
	.culture-internal-display .notes li {
		font-size: 1.4rem;
	}
	
	.culture-offices .service-function-box.crosstalk {
		margin-bottom: 4.8rem;
	}
	.culture-offices .floor-introd + .floor-introd {
	    margin-top: 4.8rem;
	}
	.culture-offices .floor-introd .head {
	    margin-bottom: 2rem;
	    font-size: 2rem;
	}
	.culture-offices .floor-introd ul {
	    gap: 2.4rem 1.6rem;
	}
	.culture-offices .floor-introd li {
	    width: calc(50% - 0.8rem);
	}
	.culture-offices .floor-introd .tit {
	    font-size: 1.6rem;
	}
	
	/* recruit */
	
	.recruit-person .display {
	    display: block;
	}
	.recruit-person .display .img {
		margin-bottom: 2rem;
	    width: auto;
	}
	.recruit-person .display .info {
		width: auto;
	}
	.recruit-person .display .th span {
		font-size: 1.8rem;
	}
	.recruit-person .display p {
		font-size: 1.4rem;
		line-height: 1.8;
	}
	
	.recruit-selection li .tit {font-size: 1.6rem;}
	.recruit-selection li .tit br {display: none;}
	.recruit-selection li p {font-size: 1.4rem; letter-spacing: 0.02em;}
	
	.recruit-selection, 
	.recruit-faq {
	    padding: 4.8rem 0 0;
	}
	.recruit-selection ul {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2.6rem;
	    position: relative;
	    z-index: 2;
	}
	.recruit-selection ul:before {
	    left: 50%;
	    top: 0;
		transform: translateX(-50%);
	    width: 2rem;
	    height: 100%;
	}

	.recruit-selection ul.animated:before {
		width: 2rem;
	}
	
	.faq-list .quest {
	    padding: 1.6rem 3.2rem 1.6rem 5rem;
	    background-position: right 1.2rem center;
	    background-size: 1.6rem;
	    font-size: 1.6rem;
	}
	.faq-list .answer {
	    padding: 2rem 2rem 2rem 5rem;
	    font-size: 1.4rem;
	}
	.faq-list .quest:before,
	.faq-list .answer:before {
		left: 1rem;
		padding: 0 0 0.2rem 0.4rem;
		width: 3.2rem;
		height: 3.2rem;
		font-size: 1.6rem;
	}
	.faq-list .answer:before {
		top: 1.8rem;
	}
	
	/* interview */
	.interview-wrap {
		padding: 4.8rem 0;
	}
	
	.interview-banner .head {
        font-size: 1.5rem;
        letter-spacing: 0;
	}
	.interview-banner .banner img {
		object-fit: cover;
		min-height: 26rem;
	}
	.interview-banner .career-info {
	    padding: 1.6rem;
	    margin: -3.6rem 2rem 0;
	    font-size: 1.4rem;
	}
	.interview-banner .career-info .tit {
	    margin-bottom: 1.5rem;
	    font-size: 1.8rem;
	}
	.interview-banner .career-info .tit:after {
		border-top-width: 0.3rem;
	}
	
	.interview-detail-career {
	    padding: 4.8rem 0;
	}
	
	.interview-detail-introd {
		 padding: 1rem 0 4.8rem;
	}
	
	.interview-detail-introd .introd-box {
		display: block;
		padding: 0;
		border-top: none;
		border-bottom: none;
		width: 80%;
	}
	.interview-detail-introd .introd-box .th {
	    padding: 1.6rem 0;
	    width: auto;
	    font-size: 1.2rem;
	}
	
	.interview-detail-introd .introd-box .th div {
		display: flex;
		align-items: center;
	}
	
	.interview-detail-introd .introd-box .name {
	    margin-bottom: 0.8rem;
	    font-size: 3.4rem;
	    margin-right: 1rem;
	}
	.interview-detail-introd .introd-box .position {
	    display: block;
		margin-right: 0.6rem;
	    font-size: 1.6rem;
	}
	.interview-detail-introd .introd-box .td {
	    padding: 1.6rem 0;
	    width: auto;
	    border-top: 1px solid #707070;
		border-left: 0;
	}
	.interview-detail-introd .display-faq {
	    display: block;
	    margin-top: 4.8rem;
	}
	.display-faq .img {
		margin-bottom: 2rem;
		width: auto;
	}
	.display-faq .info {
		width: auto;
	}
	
	.career-part table{
		width: 90%;
		margin: 0 auto;
		border-bottom: none;
	}
	
	.career-part .banner {margin-top: 3.5rem;}
	.career-part .banner img {
		height: 220px;
		object-fit: cover;
	}
	
	.interview-detail-career th {
	    padding: 1.6rem 0;
	    width: 100%;
	    font-size: 1.6rem;
	    display: flex;
	    align-items: center;
	}
	.interview-detail-career td {
		width: 100%;
		display: block;
		border-top: none;
	}
	
	.interview-detail-career th .date span {
	    padding: 0 1rem;
	    font-size: 1.2rem;
	    margin-right: 1rem;
	}
	.interview-detail-career td {
	    padding: 0;
	    font-size: 1.4rem;
	}
	.interview-detail-career td .tit {
	    font-size: 1.6rem;
	}
	.interview-inner_sp {padding:  0;}
	.interview-for-notes {
	    margin-top: 4.8rem;
	    padding: 5rem 2rem;
	    font-size: 1.4rem;
	    border-radius: 0;
	}
	.interview-for-notes .tit {
	    font-size: 1.8rem;
	}
	.interview-detail-career .btnlink {
	    margin-top: 4.8rem;
	}
	
	.employee-introdlist-swiper {
	    margin: 0 -2rem;
	    padding: 0 2rem;
	}
	.employee-introdlist-swiper .swiper-slide {
		opacity: 0.5;
	    width: 19.8rem;
	}
	.employee-introdlist-swiper .swiper-slide-active {
		opacity: 1;
	}
	.employee-introdlist-swiper .swiper-button-prev, 
	.employee-introdlist-swiper .swiper-button-next,
	.employee-introdlist-swiper-sp .swiper-button-prev, 
	.employee-introdlist-swiper-sp .swiper-button-next {
	    width: 3.2rem;
	    background-size: 100%;
		background-image: url(../image/common/icon_slide.svg);
	}
	.employee-introdlist-swiper .swiper-button-prev,
	.employee-introdlist-swiper-sp .swiper-button-prev {
		left: 4.6rem;
	}
	.employee-introdlist-swiper .swiper-button-next, 
	.employee-introdlist-swiper-sp .swiper-button-next {
		right: 4.6rem;
	}
	.interview-detail-wrap .service-function-box {
		margin-top: 4.8rem;
	}
	
	/* crosstalk */
	.crosstalk-wrap .title-wrap {
	    padding: 1.6rem 0 4.8rem;
	}
	.crosstalk-member {
		padding: 4.8rem 0;
	}
	.crosstalk-member ul {
		gap: 3rem 0;
		justify-content: space-between;
		padding-top: 4rem;
	}
	.crosstalk-member li {
		width: 100%;
		max-width: 100%;
		font-size: 1.4rem;
		display: flex;
		justify-content: space-between;
	}
	.crosstalk-member li .pic {
		margin: 0 auto 1rem;
		width: 30%;
		height: auto;
	}
	.crosstalk-member li .pic img {
	    object-fit: cover;
	     width: 100px;
	    height: 100px;
	}
	
	.crosstalk-member li .sp-area {
		width: 70%;
		padding-left: 2rem;
	}
	.crosstalk-member li p {
		font-size: 1.3rem;
		text-align: left;
	}
	.crosstalk-member li .eng {
	    margin-bottom: 0;
	}
	.crosstalk-member li .company {
		display: inherit;
		margin-bottom: 0.5rem;
		font-size: 1.4rem;
	}
	.crosstalk-member li .name {
	    font-size: 1.8rem;
	    text-align: left;
	}
	.crosstalk-member li .company {position: relative;}
	
	.crosstalk-member li.crosstalk02-list  .enter,
	.crosstalk-member li:nth-child(2) .enter,
	.crosstalk-member li:nth-child(3) .enter,
	.crosstalk-member li:nth-child(4) .enter,
	.crosstalk-member li:nth-child(5) .enter {
		position: absolute;
		top: 15%;
		left: 18%;
	}
	
	ul.crosstalk02 {
		display: flex;
		justify-content: center;
		gap: 3rem 1rem;
	}
	
	ul.crosstalk02 li {
		width: inherit;
		display: block;
		text-align: center;
	}
	
	ul.crosstalk02 li .name {
        font-size: 1.8rem;
        text-align: center;
    }
    
    ul.crosstalk02 li .pic {width: 100%;}
   	ul.crosstalk02 li .pic img {
		padding: 4px;
	}
		
	.crosstalk-member li .eng:after {
		border-bottom: none;
	}
	
	.crosstalk-member li .enter {
	    font-size: 1.2rem;
	    text-align: left;
	}
	.crosstalk-thema-members {
	    display: block;
	    padding: 1.8rem 0;
	}
	.crosstalk-thema-members .side {
		padding: 0 0 2rem;
	    width: auto;
	}
	.crosstalk-thema-members .main {
	    padding: 0 2rem;
	    width: auto;
	}
	.crosstalk-thema-members .head {
	    margin-bottom: 2.4rem;
	}
	.crosstalk-thema-members li + li {
	    margin-top: 2.4rem;
	}
	.mb3 {margin-bottom: 2rem;}
	
	
	/*-----------------------------
	
	news
	
	------------------------------*/
	#main-contents {background: #fff;}
	
	.news-inner {
		margin: 0 auto;
	    padding: 2rem 2rem 0;
	    max-width: 90.4rem;
		letter-spacing: 0.1rem;
	}
	
	ul.news-category {justify-content: center;}
	ul.news-category li a {
	    font-size: 1.2rem;
	    height: 46px;
	    line-height: 46px;
	    padding: 0 2.5rem;
	    border-radius: 3px;
	}
	.news-article ul li dl {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	
	.news-article ul li dl dt {
		width: 100%;
		font-size: 1.3rem;
		font-weight: 500;
	}
	
	.news-article ul li dl dd {
		display: flex;
		align-items: center;
		padding-top: 0.5rem;
	}
	
	.news-article ul li dl dd .cat {
		width: 11rem;
		text-align: left;
	}
	
	.news-article ul li dl dd .cat span {
		font-size: 1.2rem;
		border-radius: 3px;
		margin-right: 0.5rem;
	}
	
	.news-article ul li dl dd h3 {
		font-size: 1.3rem;
		font-weight: 700;
	}
	
	.news-article ul li a {padding: 2rem 0;}
	#news-bar {padding: 0 2rem 5rem;}
	
	
	.sp-news-category .select-box {	
		position: relative;
		margin: 2rem 0;
	}
		
	.sp-news-category select {
		padding: 1.4rem 1.1rem;
		font-size: 1.4rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 1;
		width: 100%;
		height: 4.8rem;
		color: #383838;
		border: 0.1rem solid #383838;
		outline: none;
	}
		
	.sp-news-category .select-box::before {
		content: '';
		position: absolute;
		right: 0.9rem;
		top: 2.2rem;
		z-index: 3;
		width: 0.9rem;
		height: 1rem;
		background: #5A5555;
		clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
	}
		
	.sp-news-category .select-box.is-select::before {
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	}
		
	
	
	/*--single--*/
	.news-single {
		margin: 0 auto;
	    padding: 3rem;
	    max-width: 99.6rem;
	}
	
	.news-single h2 {font-size: 2rem;}
	.news-single h3 {font-size: 1.6rem;}
	.news-single p {font-size: 1.3rem;}
	
	dl.news-single-info dt,
	dl.news-single-info dd {font-size: 1.3rem;}
	
	
	.news-thumbnail {margin-bottom: 3rem;}
	.news-thumbnail img {
		width: 100%;
		height: 200px;
	}
	
	
	.news-single .btn {
		text-align: center;
		margin: 5rem 0;
	}
	
	
	
	/*-----------------------------
	
	sitemap
	
	------------------------------*/
	.sitemap-inner {
		margin: 0 auto;
	    padding: 5rem 2rem;
	}
	
	.sitemap-nav {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem 1rem;
	}
	
	.sitemap-nav ul li.main a {font-size: 1.4rem;}
	
	/*-----------------------------
	
	policy / terms / Cookie
	
	------------------------------*/
	
	.pt-inner p {font-size: 1.3rem;}
	.pt-inner ol li h3 {font-size: 1.6rem;;}
	
	/*-----------------------------
	
	404 / thanks 
	
	------------------------------*/
	
	.page_bg {
		padding: 13rem 3rem 20rem;
		text-align: center;
	}
	
	.page-error h2 {
		font-size: 4.2rem;
		margin-top: -3rem;
	}
	
	.page-error h3 {
		font-size: 1.6rem;
		letter-spacing: 0;
		font-weight: bold;
		margin: 0 0 1rem;
	}
		
	.page-thanks h2 {
		font-size: 1.6rem;
		margin: -3rem 0 2rem;
	}
	
	.page-error p,
	.page-thanks p{
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	
	/*-----------------------------
	
	entry
	
	------------------------------*/
	.entry-area {
		padding: 5rem 0 0;
	}
	
	.entry-inner {
		padding: 0 2rem;
		margin: 0 auto;
		max-width: 100rem;
	}	
	
	.entry-inner p.entry-txt {
		font-size: 1.3rem;
		margin-bottom: 5rem;
	}
	
	.entry-form li + li {
	    margin-top: 3rem;
	}	
	.mwform-radio-field,
    .gender-choice label span {
        width: 100%;
        font-size: 1.2rem;
    }
	
	.gender-choice label span {
	    height: 5rem;
	    line-height: 5rem;
	}
	
	p.file-txt {font-size: 1.3rem;}
	.entry-form textarea {height: 26.3rem;}
	
	
	.search-inner {
	    text-align: left;
	    padding: 2rem;
	}
	.recruitment-search h2 {font-size: 1.8rem;}
	.feas_clevel_01,
	.feas_clevel_02 {
		/*width: 100%;*/
		display: inline-block;
        margin: 1rem 0 0 1rem;
	}
	
	.ta-center {
	    width: 100%;
	    margin: 0 auto;
	    position: relative;
	}
	.ta-center .feas-submit-button {
		margin-top: 2rem;
		width: 80%;
		max-width: 80%;
	}
	
	.ta-center:after {
	    right: 14%;
	    top: 50%;
	    transform: translateY(-50%);
	    z-index: 2;
	    width: 1rem;
	    height: 1.493rem;
	    background: url(../image/common/Icon_link_arr_wh.svg) no-repeat;
	    color: #fff;
	    background-size: 0.8rem;
	}
		
	.recruitment-inner ul li .recruitment-info .recruitment-txtarea dl dt {
		width: 30%;
	}
	
	.recruitment-inner ul li .recruitment-info .recruitment-txtarea dl dd {
		width: 70%;
	}
	
	.recruitment-btn {
	    display: flex;
	    flex-wrap: wrap;
	    margin-top: 2.2rem;
	    flex-direction: column-reverse;
	}
	
	.confirm-area {
	    max-width: 90rem;
	    width: 100%;
	    padding: 0 2rem;
	    margin: 0 auto;
	}
	
	.confirm-area p.confirm-txt {
	    padding-top: 5rem;
	    text-align: center;
	    font-size: 1.4rem;
	}
	
	.outline-text {
	    font-size: 4rem;
	    margin-bottom: 2rem;
	}
	
	.form-row--date span {
	    padding: 0 0.5rem;
	}
	
	.entry-form select {
	    padding: 0 4rem 0 2rem;
	    width: 100%;
	    background: url(../image/common/icon_select_red.svg) no-repeat right 2rem center #fff;
	    background-size: 1rem;
	    height: 4.5rem;
	    font-size: 1.5rem;
	}
	
	
	/*-----------------------------
	
	recruitment
	
	------------------------------*/
	.search-recruitment {
		padding-top: 5rem;
	}
	.recruitment-search,
	.recruitment-inner ul {
		width: 90%;
		margin: 0 auto;
	}
	.recruitment-inner ul li {
	    border-radius: 5px;
	    padding: 2rem;
	}
	.recruitment-inner ul li .recruitment-info {
		flex-wrap: wrap;
	}
	
	.recruitment-inner ul li .recruitment-info .recruitment-img {
		width: 100rem;
		max-width: 100rem;
		margin-bottom: 2rem;
	}
	.recruitment-inner ul li .recruitment-info .recruitment-img img {
		border-radius: 5px;
		width: 100%;
		height: 180px;
		object-fit: cover;
	}
	
	.recruitment-inner ul li .recruitment-info .recruitment-txtarea {
		width: 100rem;
		max-width: 100rem;
		padding-left: 0;
	}
			
	.recruit-btn {width: 100%; margin: 1rem 0 0;}
	.recruit-btn a {
		width: auto;
		height: 60px;
		line-height: 60px;
		display: block;
		font-size: 1.6rem;
		font-weight: bold;
		position: relative;
	}
	.recruit-btn a:after {
	    content: "";
	    display: block;
	    position: absolute;
	    right: 10%;
	    top: 50%;
	    transform: translateY(-50%);
	    z-index: 2;
	    width: 1rem;
	    height: 1.493rem;
	    background-image: url("../image/common/Icon_link_arr.svg");
	    background-size: 9px;
	    background-repeat: no-repeat;
	    pointer-events: none;
	    transition: right 0.3s ease-in-out;
	}
	.recruitment-entry a:after {
	    content: "";
	    display: block;
	    position: absolute;
	    right: 10%;
	    top: 50%;
	    transform: translateY(-50%);
	    z-index: 2;
	    width: 1rem;
	    height: 1.493rem;
	    background-image: url("../image/common/Icon_link_arr_wh.svg");
	    background-size: 9px;
	    background-repeat: no-repeat;
	    pointer-events: none;
	    transition: right 0.3s ease-in-out;
	}
	
	.recruitment-entry a {
        background: url(../image/page/recruitment/icon-off.svg) no-repeat top 24px left 88px #0F1035;
        background-size: 16px;
        color: #fff;
        text-align: center;
        padding-left: 0;
	}

	.single-recruitment #footer {
		padding-bottom: 11.2rem;
	}
	
	
	.fixed-button {
		right: 0;
		top: 100%;
		transform: translateY(-100%);
		width: 100%;
	}

	.fixed-button.btnlink .blk-st {
		border-radius: 0;
		line-height: 1.42;
		padding: 2.45rem;
		flex-direction: row;
		gap: 1.5rem;
		width: 100%;
        max-width: 100%;
        min-height: 0;
	}

	.fixed-button.btnlink .text-wrap {
		flex-direction: row;
		gap: 0;
	}

	.work-organization__map {
		display: block;
		padding-top: 0;
	}

	.work-organization__map .organization-item01 {
		height: 5.7rem;
	}

	.work-organization__map .organization-item02 {
		padding: 2.4rem 1.9rem;
		position: relative;
		grid-template-columns: repeat(1, 1fr);
		gap: 2.6rem;
		margin-top: 4.6rem;
	}

	.work-organization__map .organization-item02 .organization-title {
		padding: 0 .65rem;
		width: 12.8rem;
		transform: translate(-50%, .75rem);
	}

	.work-organization__map .organization-item02 .organization-item02__item {
		background: #EDF8F8;
		border-radius: .5rem;
		width: 100%;
		height: auto;
		min-height: 5.4rem;
		padding: 1.6rem;
		text-align: center;
		position: relative;
	}

	.work-organization__map .organization-item02 .organization-item02__item + .organization-item02__item:before {
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		top: -2.4rem;
	}

	.work-organization__map .organization-item02 .organization-item02__item .organization-subtitle {
		font-size: 1.5rem;
		font-weight: bold;
		letter-spacing: .08em;
		color: #0F1035;
		width: 100%;
		text-align: center;
	}

	.work-organization__map .organization-item02 .organization-item02__item.item03,
	.work-organization__map .organization-item02 .organization-item02__item.item04 {
		padding: 1rem 1.6rem 1.5rem;
	}

	.work-organization__map .organization-item02 .organization-item02__item.item04 {
		grid-column: unset;
	}

	.work-organization__map .organization-item02 .organization-item02__item.item04:before {
		display: none;
	}

	.work-organization__map .organization-item02 .organization-item02__item.item04 .organization-subtitle {
		width: 100%;
	}


	.work-organization__map .organization-item03 {
		display: flex;
		flex-direction: row;
		gap: .9rem;
		margin-top: 2.54rem;
	}

	.work-organization__map .organization-item03 .organization-item03__item {
		width: 100%;
		height: 13.4rem;
		text-align: center;
	} 

	.work-organization__map .organization-item02:before,
	.work-organization__map .organization-item03 .organization-item03__item:before {
		left: 0;
		top: 0;
		transform: translate(0, -100%);
		width: 100%;
		height: 2.485rem;
		background: url(../image/common/icon_flow_sp.svg) center center no-repeat;
		background-size: auto 2.485rem;
	}

	.work-organization__map .organization-item02:before {
		top: -2.2rem;
	}

	.work-organization__map .organization-box {
		margin-top: .7rem;
	}

	.work-organization__map .organization-item02 .organization-item02__item.item01 .organization-box {
		position: absolute;
		left: unset;
		right: 1.5rem;
		top: 2rem;
	}
	
	.work-organization__map .organization-item02 .organization-item02__item.item04 .organization-box {
		margin-top: .7rem;
	}

	.show-item {
	  -webkit-animation-name: fadeInUp;
	          animation-name: fadeInUp;
	}

	.delay1 {
		-webkit-animation-delay: .25s;
	          	animation-delay: .25s;
	}

	.delay2 {
		-webkit-animation-delay: .25s;
	          	animation-delay: .25s;
	}

	.delay3_1 {
		-webkit-animation-delay: .25s;
	          	animation-delay: .25s;
	}

	.delay3_2 {
		-webkit-animation-delay: .5s;
	          	animation-delay: .5s;
	}

	.delay3_3 {
		-webkit-animation-delay: .75s;
	          	animation-delay: .75s;
	}
	
	/*--追加--*/
	.imgsp img {
		height: 212px;
		object-fit: cover;
	}
	
	.area-img {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, auto);
	}

	.img01 img {
		width: 50%;
	}

	.img02 img,
	.img03 img {
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		display: block;
		margin: 0;
	}

	.img02,
	.img03 {
		margin: -2rem 0 0;
	}
	
	
	/* 20251028 */
	
	.employee-introdlist-swiper-sp {
		overflow: hidden;
		position: relative;
		margin: 0 -2rem;
		padding: 0 2rem;
	}
	.employee-introdlist-swiper-sp .employee-introdlist {
		display: flex;
		gap: 0;
	}
	.employee-introdlist-swiper-sp .swiper-slide {
		opacity: 0.5;
		width: 19.8rem;
	}
	.employee-introdlist-swiper-sp .swiper-slide-active {
		opacity: 1;
	}
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
}