@charset "utf-8";
/*
 * smp.css
 *
 *  version --- 1.0
 *  updated --- 2024/10/24
 */

/* !root
---------------------------------------------------------- */
:root {
    --blue: #1794E2;
    --darkblue: #2781D5;
    --orange: #FF863B;
    --white: #fff;
    --black: #1B2631;
    --gray: #F5F5F5;
    --orange-linear: linear-gradient(78deg, #FF7800, #FF2600);
    --blue-linear: linear-gradient(-90deg, #C4F6FF, #009DFF);

    --shadow: 0 .4rem 2.4rem 0 rgba(227, 227, 227, .25);

    --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
}

@media only screen and (max-width : 750px){
	
	/* !Layout
	---------------------------------------------------------- */

    html {
        font-size: calc(100vw / 39);
    }

	body {
        font-size: clamp(16px, 15.6px + 0.125vw, 18px);
    }

	.is-pc {
		display: none;
	}


	/* !wrapper
	---------------------------------------------------------- */
	#wrapper {
	    width: 100%;
	}

	/* !header
	---------------------------------------------------------- */
	#header {
	    top: 0;
	    left: 0;
	    width: 100%;
	}

	.header-inner {
	    padding-left: 1rem;
	}

	.header-logo a {
	    gap: .7rem;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	}

	.header-logo a img {
	    width: 8.4rem;
	}

	.btn-menu {
	    display: flex;
	    flex-direction: column;
	    justify-content: center;
	    align-items: center;
	    gap: .5rem;
	    width: 7.5rem;
	    height: 5.4rem;
	    background: var(--darkblue);
	}

	.btn-menu:after {
	    content: 'MENU';
	    font-size: 1.4rem;
	    font-weight: bold;
	    letter-spacing: .2rem;
	    line-height: 1;
	    color: var(--white);
	}

	.btn-menu .btn-menu__inner {
	    width: 4.5rem;
	    height: 1.7rem;
	    display: flex;
	    flex-direction: column;
	    justify-content: space-between;
	    align-items: center;
	}

	.btn-menu .btn-menu__line {
	    width: 100%;
	    height: 1px;
	    background: var(--white);
	    transition: all .5s ease;
	}

	.btn-menu.is-active .btn-menu__line:nth-child(1) {
	    -webkit-transform: translateY(.8rem) rotate(20deg);
	    transform: translateY(.8rem) rotate(20deg);
	}

	.btn-menu.is-active .btn-menu__line:nth-child(2) {
	    opacity: 0;
	}

	.btn-menu.is-active .btn-menu__line:nth-child(3) {
	    -webkit-transform: translateY(-.8rem) rotate(-20deg);
	    transform: translateY(-.8rem) rotate(-20deg);
	}

	/* --------------------------------------------------------------------------
	   WordPress管理バー（Admin Bar）表示時のSP調整
	   -------------------------------------------------------------------------- */
	.admin-bar #header {
	    top: 46px !important;
	}
	.admin-bar .btn-menu {
	    top: 46px !important;
	}
	.admin-bar #g-navi {
	    top: calc(5.4rem + 46px) !important;
	    height: calc(100dvh - 5.4rem - 46px) !important;
	}

	/* !global navigation
	---------------------------------------------------------- */
	#g-navi {
	    display: none;
	    position: fixed;
	    left: 0;
	    top: 5.4rem;
	    z-index: 998;
	    width: 100%;
	    height: calc(100dvh - 5.4rem);
	    overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: url(../img/common/bg_footer_sp.png) center top no-repeat var(--darkblue);
		background-size: 100% auto;
		padding: 2.8rem 3.2rem;
	}

	/* 下層ページでのスライドメニュー背景画像のリンク切れを防止 */
	#g-navi {
		background-image: url(../img/common/bg_footer_sp.png), url("./assets/img/common/bg_footer_sp.png") !important;
	}

	#g-navi .g-navi__menu {
		display: block;
	}

	#g-navi .g-navi__menu > li > a {
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    line-height: 1.5;
	    color: var(--white);
	    display: block;
	    padding: 1.5rem 0 1.5rem 2.3rem;
	    position: relative;
	    border-bottom: 1px solid var(--white);
	}

	#g-navi .g-navi__menu > li > a:before {
		width: 1rem;
		height: 1rem;
		background: var(--orange);
		border-radius: 100%;
		content: '';
		position: absolute;
		left: .2rem;
		top: 2.3rem;
		z-index: 2;
	}

	#g-navi .g-navi__menu .submenu {
	    display: block;
	}

	#g-navi .g-navi__menu .submenu li a {
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    line-height: 1.5;
	    font-weight: 400;
	    color: var(--white);
	    display: block;
	    padding: 1.5rem 0 1.5rem 3.2rem;
	    position: relative;
	    border-bottom: 1px solid var(--white);
	}

	#g-navi .g-navi__menu .submenu li a:before {
		width: 1.1rem;
		height: .2rem;
		background: var(--orange);
		content: '';
		position: absolute;
		left: .8rem;
		top: 2.8rem;
		z-index: 2;
	}

	#g-navi .g-navi__links {
		display: flex;
		flex-direction: column-reverse;
		margin-top: 4.8rem;
	    gap: 2.5rem;
	}

	#g-navi .g-navi__links .g-navi__links--tel {
		padding-bottom: 1.2rem;
	    gap: 0;
	    width: 100%;
	    background: var(--white);
	    border-radius: 1rem;
	    border: 1px solid var(--orange);
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	}

	#g-navi .g-navi__links .g-navi__links--tel:before {
		width: 100%;
		border-bottom: 1px solid var(--orange);
		content: 'お電話でのお問い合わせ';
		font-size: clamp(16px, 15.6px + 0.125vw, 18px);
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: .159rem;
		color: var(--darkblue);
		text-align: center;
		padding: .8rem;
		margin-bottom: 1.2rem;
		box-sizing: border-box;
	}

	#g-navi .g-navi__links .g-navi__links--tel a {
	    display: inline-flex;
	    align-items: center;
	    gap: .6rem;
	    font-size: 3.2rem;
	    line-height: 1.5;
	    letter-spacing: .19rem;
	    color: var(--darkblue);
	}

	#g-navi .g-navi__links .g-navi__links--tel a:before {
	    width: 3.38rem;
	    height: 3.268rem;
	    content: '';
	    background-image: url(../img/common/icon_phone_orange.svg);
	    background-size: contain;
	    background-repeat: no-repeat;
	}

	/* アイコン画像のパス解決フォールバック */
	#g-navi .g-navi__links .g-navi__links--tel a:before {
		background-image: url(../img/common/icon_phone_orange.svg), url("./assets/img/common/icon_phone_orange.svg") !important;
	}

	#g-navi .g-navi__links .g-navi__links--tel span {
	    border: 0;
	    background: none;
	    border-radius: 0;
	    font-size: 1.4rem;
	    line-height: 1.5;
	    margin-top: 1.2rem;
	}

	#g-navi .g-navi__links .g-navi__links--contact {
		width: 100%;
	}

	#g-navi .g-navi__links .g-navi__links--contact a {
	    width: 100%;
	    height: 7.2rem;
	    font-size: 2.2rem;
	    border-radius: .5rem;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    background: var(--orange-linear);
	    color: #fff;
	}

	#g-navi .g-navi__links .g-navi__links--contact a:after {
	    position: relative;
	    width: 2.6rem;
	    height: 2.6rem;
	    border: 0;
	    opacity: 1;
	    background: url(../img/common/icon_arrow_white.svg) center center no-repeat;
	    background-size: 100% auto;
	    content: '';
	    margin-left: 10px;
	}

	#g-navi .g-navi__links .g-navi__links--contact a:after {
		background-image: url(../img/common/icon_arrow_white.svg), url("./assets/img/common/icon_arrow_white.svg") !important;
	}

	/* !heading
	---------------------------------------------------------- */
	.heading-large {
	    gap: .4rem;
	    margin-bottom: 3.2rem;
	    display: flex;
	    flex-direction: column;
	}

	.heading-large .heading-large__en {
	    gap: .4rem;
	    font-size: 1.4rem;
	    letter-spacing: .105rem;
	    display: flex;
	    align-items: center;
	}

	.heading-large .heading-large__jp {
	    font-size: 28px;
	    letter-spacing: .13rem;
	    padding-left: 0;
	}

	.heading-large.type2 {
	    flex-direction: column;
	    align-items: center;
	    gap: .7rem;
	    border-bottom: 1px solid #58B1E9;
	    padding-bottom: 1rem;
	    margin-bottom: 3.6rem;
	    width: 100%;
	}

	.heading-large.type2:before {
	    width: 13.583rem;
	    height: 7.026rem;
	    left: -1.376rem;
	    top: -1.345rem;
	}

	.heading-large.type2:after {
	    width: 20rem;
	    height: 20rem;
	    left: -6.2rem;
	    top: -3.5rem;
	    opacity: .2;
	}

	.heading-large.type2 .heading-large__en {
		justify-content: center;
	}

	.heading-large.type2 .heading-large__en:after {
		display: none;
	}

	.heading-large.type3 {
	    gap: .4rem;
	    margin-bottom: 3.2rem;
	}

	.heading-large.type3 .heading-large__en {
	    gap: .5rem;
	}

	.heading-large.type3 .heading-large__jp {
	    font-size: 28px;
	    line-height: 1.5;
	    text-align: center;
	}

	/* !main Visual
	---------------------------------------------------------- */
	#main-visual {}

	/* !teaser
	---------------------------------------------------------- */

	#teaser:before {
	    background: url(../img/common/bg_teaser_left_sp.png) left top no-repeat;
	    background-size: 29rem auto;
	}

	#teaser:after {
	    background: url(../img/common/bg_teaser_right_sp.png) right bottom no-repeat;
	    background-size: 20.2rem auto;
	    left: unset;
	    top: unset;
	    right: 0;
	    bottom: 0;
	}

	#teaser {
		position: relative;
	}
	#teaser:before, #teaser:after {
		background-image: url(../img/common/bg_teaser_left_sp.png), url("./assets/img/common/bg_teaser_left_sp.png") !important;
	}

	#teaser .teaser-inner {
		flex-direction: column;
	    height: auto;
	    padding: 9.4rem 0 4.1rem;
	}

	#teaser .teaser-inner figure {
	    width: 100%;
	    margin-top: -2rem;
	}

	.page-title {
		width: 100%;
	}

	.page-title .page-title__en {
	    font-size: 1.4rem;
	    letter-spacing: .152rem;
	}

	.page-title .page-title__jp {
	    font-size: 3.4rem;
	    letter-spacing: .229rem;
	}

	/* !breadcrumb
	---------------------------------------------------------- */
	#breadcrumb {
	  right: 1rem;
	  bottom: .3rem;
	}

	#breadcrumb ul,
	#breadcrumb ul li,
	#breadcrumb ul li + li:before {
	  font-size: 1.4rem;
	}

	/* !contents
	---------------------------------------------------------- */

	.inner {
	    width: 100%;
	    max-width: 166.4rem;
	    padding: 0 2.2rem;
	    margin: 0 auto;
	}

	.anchor-area .anchor {
	    top: -5.4rem;
	}

	/* !page Top
	---------------------------------------------------------- */
	.page-top {
		display: none;
	}

	/* !fixed button 
	---------------------------------------------------------- */
	.fixed-button {
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 999;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
	}

	.fixed-button .fixed-button__tel {
	    display: flex;
	    flex-direction: column;
	    justify-content: center;
	    align-items: center;
	    gap: .65rem;
	    background: var(--white);
	}

	.fixed-button .fixed-button__tel a {
	    display: inline-flex;
	    align-items: center;
	    gap: .133rem;
	    font-size: 2rem;
	    font-weight: 800;
	    line-height: 1.5;
	    letter-spacing: .2rem;
	}

	.fixed-button .fixed-button__tel a:before {
	    width: 2.1rem;
	    height: 2rem;
	    content: '';
	    background: url(../img/common/icon_phone_blue.svg) center center no-repeat;
	    background-size: 100% auto;
	}

	.fixed-button .fixed-button__tel a:before {
		background-image: url(../img/common/icon_phone_blue.svg), url("./assets/img/common/icon_phone_blue.svg") !important;
	}

	.fixed-button .fixed-button__tel span {
	    border: .1rem solid var(--black);
	    background: var(--gray);
	    border-radius: 3.3rem;
	    font-size: 1.4rem;
	    line-height: 1.5;
	    font-weight: 400;
	    padding: 0 .7rem;
	    text-align: center;
	    letter-spacing: .133rem;
	}

	.fixed-button .fixed-button__contact a {
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    gap: 1rem;
	    width: 100%;
	    height: 7.8rem;
	    background: var(--orange-linear);
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    line-height: 1.5;
	    font-weight: bold;
	    color: var(--white);
	    position: relative;
	}

	.fixed-button .fixed-button__contact a:before {
	    width: 2.8rem;
	    height: 2.8rem;
	    content: '';
	    background: url(../img/common/icon_mail_white.svg) center center no-repeat;
	    background-size: 100% auto;
	    transition: background-image .5s ease;
	}

	.fixed-button .fixed-button__contact a:before {
		background-image: url(../img/common/icon_mail_white.svg), url("./assets/img/common/icon_mail_white.svg") !important;
	}

	.fixed-button .fixed-button__contact a:after {
	    position: absolute;
	    left: 0;
	    top: 0;
	    z-index: 2;
	    content: '';
	    width: 100%;
	    height: 100%;
	    border: 1px solid var(--orange);
	    opacity: 0;
	    transition: opacity .5s ease;
	}

	/* !footer
	---------------------------------------------------------- */
	#footer {
		display: flex;
		flex-direction: column-reverse;
		padding-bottom: 8.6rem;
	}

	.footer-box {
	    width: 100%;
	    padding: 3.2rem 1.5rem 1rem;
	    display: block;
	}

	.footer-box .footer-box__inner {
	    max-width: 100%;
	}

	.footer-address {
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    line-height: 1.3;
	}

	.footer-address span {
	    font-size: 1.4rem;
	}

	.footer-tel {
	    margin-bottom: 3rem;
	    margin-top: 1rem;
	    display: flex;
	}

	.footer-sns {
		display: flex;
		justify-content: center;
	}

	.footer-button {
	    margin-top: 2.8rem;
	    text-align: center;
	}

	.footer-button a {
		max-width: 32.5rem;
	    height: 6rem;
	    display: inline-flex;
	}

	#copyright {
	    margin-top: 1.6rem;
	    font-size: 1.2rem;
	}

	.footer-links {
	    background: url(../img/common/bg_footer_sp.png) center center no-repeat var(--darkblue);
	    background-size: 100% 100%;
	    gap: 3rem;
	    padding: 3.4rem 3.2rem 4.9rem;
	    display: flex;
	    flex-direction: column;
	}

	.footer-links {
		background-image: url(../img/common/bg_footer_sp.png), url("./assets/img/common/bg_footer_sp.png") !important;
	}

	.footer-links__menu {
	    max-width: 100%;
	    display: grid;
	    grid-template-columns: repeat(1, 1fr);
	    gap: 0;
	}

	.footer-links__menu li a {
	    padding-left: 2.3rem;
	}

	.footer-links__menu > ul > li > a {
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    padding-top: 1rem;
	}

	.footer-links__menu > ul > li > a:before {
	    left: .2rem;
	    top: 1.8rem;
	}

	.footer-links__menu .submenu li {
	    margin-top: 0;
	}

	.footer-links__menu .submenu li a {
		padding-top: 1.3rem;
		padding-left: 3.2rem;
	}

	.footer-links__menu .submenu li a:before {
	    width: 1.1rem;
	    left: .8rem;
	    top: 2.5rem;
	}

	.footer-links__tel {
	    max-width: 100%;
	    border-radius: 1rem;
	    display: flex;
	    flex-direction: column;
	    padding-bottom: 1.2rem;
	    background: var(--white);
	}

	.footer-links__tel .footer-links__tel--title {
		width: 100%;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    border-right: 0;
	    border-bottom: 1px solid var(--orange);
	    padding: .8rem;
	    margin-bottom: 1.3rem;
	    box-sizing: border-box;
	    color: var(--darkblue);
	    text-align: center;
	    font-weight: bold;
	}

	.footer-links__tel .footer-links__tel--contents {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1.2rem;
	}

	.footer-links__tel .footer-links__tel--contents a {
	    display: inline-flex;
	    align-items: center;
	    gap: .6rem;
	    font-size:28px;
	    letter-spacing: .19rem;
	    padding: 0;
	    color: var(--darkblue);
	    font-weight: bold;
	}

	.footer-links__tel .footer-links__tel--contents a:before {
	    width: 3.38rem;
	    height: 3.268rem;
	    content: '';
	    background-image: url(../img/common/icon_phone_orange.svg);
	    background-size: contain;
	    background-repeat: no-repeat;
	}

	.footer-links__tel .footer-links__tel--contents a:before {
		background-image: url(../img/common/icon_phone_orange.svg), url("./assets/img/common/icon_phone_orange.svg") !important;
	}

	.footer-links__tel .footer-links__tel--contents span {
	    border-top: 0;
	    padding: 0;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    color: #333;
	}

	/* !
	---------------------------------------------------------- */
	.advanced {
	    position: relative;
	    z-index: 2;
	    flex: 1;
	    opacity: 0;
	    translate: 0 13%;
	}

	.advanced.isActive {
	    opacity: 1;
	    translate: 0;
	    transition-timing-function: opacity var(--ease-out-cubic), translate var(--ease-out-quint);
	    transition-duration: 1.8s;
	}

	/* !TOP
	---------------------------------------------------------- */
	.recruit-mv {
	    height:70.6rem;
	}

	.recruit-mv:before {
	    width: 100%;
	    height: 23.2rem;
	    background: url(../img/recruit/top/bg_mv01_sp.svg) center center no-repeat;
	    background-size: auto 100%;
	    top: 23rem;
	    left: 0;
	    transform: translateX(0);
	}

	.recruit-mv:after {
	    width: 26rem;
	    height: 24.1rem;
	    background: url(../img/recruit/top/bg_mv02_sp.svg) center center no-repeat;
	    background-size: 100% 100%;
	    bottom: 4rem;
	    right: 0;
	    transform: translateX(0);
	}

	.recruit-mv {
		position: relative;
	}
	.recruit-mv:before, .recruit-mv:after {
		background-image: url(../img/recruit/top/bg_mv01_sp.svg), url("./assets/img/recruit/top/bg_mv01_sp.svg") !important;
	}

	.recruit-mv .recruit-mv__image .image01 {
	    width: 23.6rem;
	    height: 29rem;
	    top: 2.4rem;
	    right: 0;
	    left: unset;
	    transform: translateX(0);
	}

	.recruit-mv .recruit-mv__image .image02 {
	    width: 11.9rem;
	    height: 17.4rem;
	    top: 20.5rem;
	    left: 0;
	    transform: translateX(0);
	}

	.recruit-mv .recruit-mv__image .image03 {
	    width: 23.5rem;
	    height: 13rem;
	    top: unset;
	    bottom: 0;
	    right: unset;
	    left: 0;
	    transform: translateX(0);
	}

	.recruit-mv .recruit-mv__image .image04 {
	    width: 21.4rem;
	    height: 12.9rem;
	    top: 37.7rem;
	    right: 0;
	    transform: translateX(0);
	}


	.recruit-mv .recruit-mv__image .mark01 {
	    width: 14.5rem;
	    height: 9.5rem;
	    top: 11.1rem;
	    left: 2.5rem;
	    margin-left:0;
	}

	.recruit-mv .recruit-mv__image .mark02 {
		display: none;
	}

	.recruit-mv .recruit-mv__image .mark03 {
	    width: 12rem;
	    height: 8.166rem;
	    top: 29.5rem;
	    left: unset;
	    margin-left: 0;
	    right: -3rem;
	}

	.recruit-mv .recruit-mv__image .mark04 {
		display: none;
	}

	.recruit-mv .recruit-mv__catch {
	    bottom: 15rem;
	}

	.recruit-mv .recruit-mv__catch p {
	    padding: .44rem 1rem .44rem 2.4rem;
	    font-size: 3.2rem;
	    letter-spacing: .3rem;
	}

	.recruit-mv .recruit-mv__catch h1 {
	    padding: .985rem 1.226rem .985rem 2.6rem;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    letter-spacing: .144rem;
	}

	.recruit-message {
		padding: 5rem 0;
	}

	.recruit-message .inner {
		padding: 0 1.2rem;
	}

	.recruit-message .recruit-message__image {
	    height: 100%;
	}

	.recruit-message .recruit-message__image01 {
	    width: 19.334rem;
	    top: 6.8rem;
	    left: -3.26rem;
		display: none;
	}

	.recruit-message .recruit-message__image01:before {
	    width: 16.186rem;
	    height: 16.186rem;
	    right: 4.17rem;
	    top: -1.4rem;
	}

	.recruit-message .recruit-message__image02 {
	    width: 22.016rem;
	    right: -.631rem;
	    bottom: 5.462rem;
		display: none;
	}

	.recruit-message .recruit-message__image02:before {
	    width: 23.4rem;
	    height: 23.4rem;
	    left: 5.154rem;
	    top: -1.426rem;
	}

	.recruit-message .recruit-message__inner {
	    padding: 2.1rem 3.7rem 4.2rem;
	}

	.recruit-message .recruit-message__inner:before {
		width: 100%;
	    max-width: 48.3rem;
	    height: 48.3rem;
	}

	.recruit-message .recruit-message__inner h2 {
	    padding: 4.9rem 1.2rem 0;
	    background-size: 4.053rem auto;
	    font-size: 2.4rem;
	    letter-spacing: .545rem;
	    margin-bottom: 2.5rem;
	}

	.recruit-outline {
	    padding-bottom: 0;
	}

	.recruit-outline .recruit-outline__item {
	    padding: 0;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    padding-bottom: 4.7rem;
	}

	.recruit-outline .heading-large {
	    margin-bottom: 1.5rem;
	}

	.recruit-outline .heading-large:before {
	    width: 14.6rem;
	    height: 6.8rem;
	    left: -2.2rem;
	    top: -1.537rem;
	}

	.recruit-outline .heading-large .heading-large__jp {
	    font-size: 3.1rem;
	}

	.recruit-outline .heading-large .btn-links {
		display: none;
	}

	.recruit-outline .recruit-outline__inner {
	    display: block;
	}

	.recruit-outline .recruit-outline__image {
	    width: 100%;
	    aspect-ratio: 17 / 10;
	    margin-bottom: 2.7rem;
	}

	.recruit-outline .recruit-outline__image img {
		height: 100%;
		object-fit: cover;
	}

	.recruit-outline .recruit-outline__box {
	    width: 100%;
	}

	.recruit-company {
	    position: relative;
	    top: 0;
	    z-index: 1;
	}

	.recruit-company .recruit-outline__inner,
	.recruit-job .recruit-outline__inner {
	     padding: 5rem 3.3rem 3.8rem;
	}

	.recruit-outline__button {
		margin-top: 3rem;
		text-align: center;
	}

	.recruit-work {
	    padding: 4rem 0 5rem;
	}

	.recruit-work .recruit-work__list {
	    padding: 0;
	    display: flex;
	    flex-direction: column;
	    gap: 2.4rem;
	}

	.recruit-work .recruit-work__list:before {
		width: 17.8rem;
		height: 17.8rem;
	    left: 1.75rem;
	    top: 7.4rem;
	}

	.recruit-work .recruit-work__list:after {
		width: 23.9rem;
		height: 23.9rem;
	    right: unset;
	    top: unset;
	    left: -7.6rem;
	    bottom: -2.3rem;
	}

	.recruit-work .recruit-work__list li:nth-child(1) .recruit-work__img01 {
	    width: 7.92rem;
	    height: 3.752rem;
	    left: .873rem;
	    top: -2rem;
	}

	.recruit-work .recruit-work__list li:nth-child(1) .recruit-work__img02 {
	    width: 11.255rem;
	    height: 5.836rem;
	    left: -3.2rem;
	    top: 3rem;
	}

	.recruit-work .recruit-work__list li:nth-child(2) {
	    transform: translateY(0);
	}

	.recruit-work .recruit-work__list li:nth-child(2) .recruit-work__img01 {
	    width: 7.92rem;
	    height: 3.752rem;
	    right: -2.267rem;
	    top:.583rem;
	}

	.recruit-work .recruit-work__list li:nth-child(2) .recruit-work__img02 {
	    width: 11.255rem;
	    height: 5.836rem;
	    right: -3.2rem;
	    top: 3rem;
	}

	.recruit-work .recruit-work__block {
	    border-radius: .5rem;
	}

	.recruit-work .recruit-work__image {
	    aspect-ratio: 325 / 214;
	}

	.recruit-work .recruit-work__title {
	    padding: 0 0 2.1rem;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    letter-spacing: .1rem;
	    position: relative;
		width: 100%;
		display: block;
	}

	.recruit-work .recruit-work__title:before {
	    height: 12.8rem;
	}

	.recruit-work .recruit-work__title:after {
	    width: 4.2rem;
	    height: 4.2rem;
	    right: 3.2rem;
	    bottom: 1.68rem;
	    background-size: 2.26rem auto;
	}

	.recruit-work .recruit-work__title span {
	    font-size: 2.4rem;
	}

	.recruit-faq {
	    padding: 5.5rem 0;
	}

	.recruit-faq .recruit-faq__image01,
	.recruit-faq .recruit-faq__image02 {
		display: none;
	}


	.recruit-faq .heading-large {
	    max-width: 100%;
	    margin-bottom: 2.4rem;
	}

	.recruit-faq .recruit-faq__list {
	    display: flex;
	    flex-direction: column;
	    gap: 2rem;
	}

	.recruit-faq .recruit-faq__list--item dt {	
	    padding: 1.8rem 2.1rem 1.4rem 7.1rem;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    line-height: 1.4;
	}

	.recruit-faq .recruit-faq__list--item dd {
	    padding: 1.1rem 2.3rem 2rem 7.1rem;
	    font-size: 1.4rem;
	}

	.recruit-faq .recruit-faq__links {
	    margin-top: 3.6rem;
	}

	.recruit-faq .recruit-faq__links .btn-links {
		font-size: clamp(16px, 15.6px + 0.125vw, 18px);
		padding: 1.5rem 0;
		width: 100%;
	}

	.recruit-faq .recruit-faq__links .btn-links:after {
		width: 3rem;
		height: 3rem;
	}

	.recruit-guideline {
	    width: 100%;
	    min-height: 0;
	    padding: 5.4rem 0 29rem;
	    background: url(../img/common/bg_guideline_sp.jpg) right center no-repeat;
	    background-size: cover;
	}

	.recruit-guideline .recruit-guideline__inner {
	    padding: 0;
	    max-width: 100%;
	}

	.recruit-guideline .heading-large {
	    gap: 1rem;
	    margin-bottom: 2rem;
	}

	.recruit-guideline .heading-large:before {
	    width: 14.9rem;
	    height: 8.326rem;
	    left: -3.2rem;
	    top: -3rem;
	}

	.recruit-guideline .heading-large .heading-large__jp {
	    font-size: 3.1rem;
	    letter-spacing: .13rem;
	    line-height: 1.5;
	}

	.recruit-guideline p {
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	}

	.recruit-guideline .recruit-guideline__links {
	    margin-top: 4rem;
	}

	.recruit-guideline .recruit-guideline__links .btn-links {
		font-size: clamp(16px, 15.6px + 0.125vw, 18px);
		padding: 1.5rem 0;
		width: 100%;
	}

	.recruit-guideline .recruit-guideline__links .btn-links:after {
		width: 3rem;
		height: 3rem;
	}


	/* !faq
	---------------------------------------------------------- */
	.faq-wrap {
	    border-top: .8rem solid #58B1E9;
	}

	/* !
	---------------------------------------------------------- */
	.benefits-wrap {
	    padding: 4.9rem 0;
	}

	.benefits-list + .benefits-list {
	    margin-top: 4.4rem;
	}

	.benefits-list li {
	    padding: 3rem 3.2rem 2.4rem;
	}

	.benefits-list p {
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	}

	.benefits-list.column2 {
	    display: grid;
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2rem;
	}

	.benefits-list.column2 li {
	    min-height: 0;
	}

	.benefits-list.column2 figure {
	    width: 25.8rem;
	}

	.benefits-list.column2 .benefits-title {
	    margin-top: 2rem;
	    font-size: 2rem;
	    line-height: 1.6;
	    min-height: 0;
	}

	.benefits-list.column2 .benefits-title span {
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    display: block;
	}

	.benefits-list.column3 {
	    display: grid;
	    grid-template-columns: repeat(2, 1fr);
	    gap: 1rem;
	}

	.benefits-list.column3 li {
	    min-height: 17.1rem;
	    padding: 1.3rem 1rem 1.8rem;
	}

	.benefits-list.column3 figure {
	    width: 9rem;
	}

	.benefits-list.column3 .benefits-title {
	    margin-top: .8rem;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    line-height: 1.2;
	    letter-spacing: .258rem;
	}

	.benefits-list.column3 .benefits-title span {
	    font-size: 1.4rem;
	}

	.training-wrap {
	    padding: 4.9rem 0;
	}

	.column-area {
		display: block;
	}

	.column-area .column-area__image {
	    width: 100%;
	    margin-bottom: 3rem;
	}

	.column-area .column-area__box {
	    width: 100%;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    line-height: 1.6;
	}

	.column-area .column-area__box p + p {
	    margin-top: 1.6em;
	}

	.column-area .heading-large {
		border-bottom: 1px solid #58B1E9;
		padding-bottom: 1rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: .7rem;
		margin-bottom:10px;
	}

	.column-area .heading-large .heading-large__en {
		justify-content: center;
	}

	.column-area .heading-large .heading-large__en:after {
		display: none;
	}

	.guideline-wrap {
	    padding: 4.9rem 0;
	}

	.guideline-list .guideline-list__item {
		display: block;
	    padding: 1.5rem 0;
	}

	.guideline-list .guideline-list__item dt {
	    width: 100%;
	    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
	    margin-bottom: 1rem;
	}

	.guideline-list .guideline-list__item dd {
	    width: 100%;
	    font-size: 1.4rem;
	    padding: 0;
	}

	.guideline-links {
	    margin-top: 3rem;
	}

	/* !
	---------------------------------------------------------- */
	.workstyle-wrap .workstyle-item {
	    padding: 4rem 0;
	    overflow: hidden;
	}

	.workstyle-wrap .column-area:after {
	    width: 22rem;
	    height: 22rem;
	    left: -6rem;
	    top: 4.6rem;
	}

	.workstyle-wrap .column-area__image {
		width: 100%;
		max-width: 26.5rem;
		margin: 0 auto 3rem;
		position: relative;
	}

	.workstyle-wrap .column-area__image .column-area__image01 {
	    width: 7.886rem;
	    height: 3.736rem;
	    left: -1.891rem;
	    top: 3.765rem;
	}

	.workstyle-wrap .column-area__image .column-area__image02 {
	    width: 11.2rem;
	    height: 5.8rem;
	    left: -6rem;
	    top: 7.7rem;
	}


	.workstyle-schedule {
	    display: grid;
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2rem;
	    width: calc(100% + 6.4rem);
	    margin: 0 -3.2rem;
	    margin-top: 3rem;
	    padding: 0 .8rem;
	}

	.workstyle-schedule .workstyle-schedule__item {
	    padding: 1.7rem 1rem 3.6rem;
	    background: var(--blue) !important;
	}

	.workstyle-schedule-title {
	    margin-bottom: 1.2rem;
	    display: flex;
	    flex-direction: column;
	    gap: .6rem;
	    font-size: 2.6rem;
	    text-align: center;
	}

	.workstyle-voice {
	    margin-top: 5rem;
	}

	.workstyle-voice__item {
		display: flex;
		flex-direction: column !important;
		gap: 5rem;
	}

	.workstyle-voice .workstyle-voice__item + .workstyle-voice__item {
	    margin-top: 5rem;
	}

	.workstyle-voice .workstyle-voice-image {
	    width: 100%;
	    position: relative;
	}

	.workstyle-voice .workstyle-voice-image img {
	    width: 100%;
	    border-radius: 8.844rem;
	}

	.workstyle-voice .workstyle-voice-image:after {
	    width: 21.6rem;
	    height: 21.6rem;
	    left: -8.565rem;
	}

	.workstyle-voice .workstyle-voice__item:nth-child(odd) .workstyle-voice-image:after {
	    left: unset;
	    right: -8.565rem;
	}

	.workstyle-voice .workstyle-voice-box {
	    width: 100%;
	    padding: 0;
	}

	.workstyle-voice .workstyle-voice-contents {
	    padding: 1.6rem 1.0rem;
	    position: relative;
	}

	.workstyle-voice .workstyle-voice-contents:before {
	    width: 6.96rem;
	    height: 12.2rem;
	    left: 50%;
	    top: 0;
	    transform: translate(-50%, -9.5rem) rotate(-90deg);
	}

	.workstyle-voice .workstyle-voice__item:nth-child(odd) .workstyle-voice-contents:before{
	    left: 50%;
	    transform: translate(-50%, -9.5rem) rotate(-90deg);
	}

	.workstyle-voice .workstyle-voice-contents:after {
	    position: absolute;
	    left: 0;
	    top: 0;
	    width: 100%;
	    height: 100%;
	    z-index: 1;
	    border-radius: 2rem;
	    box-shadow: 0 .4rem 3.4rem 0 #A9A9A9;
	    content: '';
	}


	.workstyle-wrap .workstyle-item:nth-child(even) .workstyle-voice .workstyle-voice-contents {
	    background: var(--white);
	}


	.workstyle-wrap .workstyle-item:nth-child(even) .workstyle-voice .workstyle-voice-contents:before {
	    background-image: url(../img/recruit/workstyle/icon_union_white.svg)
	}

	.workstyle-voice .workstyle-voice-contents p {
	    padding: 0 .7rem;
		font-size: 16px;
	}

	.workstyle-voice .workstyle-voice-title {
	    padding: 0 .7rem 1rem;
	    font-size: 20px;
	    margin-bottom: 3rem;
	    text-align: center;
	}

	/* !
	---------------------------------------------------------- */
	#about .recruit-work {
	    background: none;
	    padding: 3.8rem 0 6rem;
	}
	 
	.about-banner {
		display: block;
		position: relative;
	}
	.about-banner .pic {
		position: relative;
		aspect-ratio: 390 / 290;
		width: auto;
	}
	.about-banner .pic:after {
		right: 0;
		top: 0;
		width: 100%;
		height: 6.8rem;
		background: linear-gradient(0deg, transparent, #1C74D8 70%);
	}
	.about-banner .pic img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	.about-banner .icon_fluffy {
	    position: absolute;
	    z-index: 1;
	    background: center no-repeat;
	    background-size: 100% auto;
	    animation: fluffy 3s infinite;
	}
	.about-banner .icon_fluffy1 {
	    left: 0;
	    bottom: 3.8rem;
	    width: 19.5rem;
	    height: 11.4rem;
	}
	.about-banner .icon_fluffy2 {
		top: -1.6rem;
		right: 0;
		width: 16.2rem;
		height: 7.8rem;
	}
	.about-banner .info {
		padding: 8.6rem 1.5rem 2rem;
		width: auto;
		background: linear-gradient(0deg, #1C74D8, #1794E2);
		position: relative;
	}
	.about-banner .info:after {
	    width: 37.7rem;
	    height: 37.7rem;
	    left: 0;
	    top: 16.3rem;
	}
	.about-banner .bg_head {
	    left: 0;
	    top: 0;
	    font-size: 5rem;
	}
	.about-banner .txt {
		font-size: 16px;
	}
	.about-banner .txt p + p {
		margin-top: 3.2rem;
	}
	
	.about-other-company {
	    padding: 5.8rem 0 4.8rem;
	}
	.about-other-company:before {
		content: none;
	}
	.about-other-company li {
	    display: block;
	    padding-left: 0;
	    padding-bottom: 3rem;
	}
	.about-other-company .info {
		margin-bottom: 1.2rem;
		width: auto;
	}
	.about-other-company .img {
		width: auto;
	}
	.about-other-company .head {
	    margin-bottom: 0.6rem;
	}
	.about-other-company .head span {
	    margin-bottom: 0.6rem;
	    padding: 0.2rem 0.8rem;
		line-height: 1.6;
	    font-size: 20px;
	}
	
	.about-job {
	    padding: 5rem 0 4rem;
	}
	.about-job ul {
	    display: grid;
	    grid-template-columns: repeat(1, 1fr);
	    gap: 3rem 0;
		margin: 0 -3.2rem;
	}
	.about-job li {
	    padding: 2rem 1.5rem 3.2rem;
	}
	.about-job .head {
		display: flex;
		justify-content: center;
	    padding: 4.7rem 0 0;
	    margin-bottom: 1.4rem;
	    min-height: auto;
	    background-position: center top;
	    background-size: 4.3rem;
		text-align: center;
	    font-size: 28px;
	}
	.about-job li .txt {
		padding: 0 0.9rem;
	    font-size: 20px;
	}
	
	.heading-large.type-center:before {
	    width: 13.9rem;
	    height: 7.2rem;
	    right: calc(50% + 2.3rem);
	    top: -1rem;
	}
	.heading-large.type-center:after {
		content: none;
	}
	
	.flex_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: flex-start;
    max-width: 660px;
    gap: 10px;
	
	}

	.workstyle-card {
    aspect-ratio: 1 / 1;
    width: 46%;
    background-color: #ffffff;
    border: 2px solid #d9eeff;
    border-radius: 16px;
    padding: 2%;
    text-align: center;
    box-shadow: 0 8px 20px -4px rgba(135, 190, 240, 0.35);
    box-sizing: border-box;
    background-color: #dcf1ff;
    
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

  
    .workstyle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 */
    gap: 12px;
    padding: 10px;
  }

  .workstyle-card__highlight {
    font-size: 16px;                 /*  */
  }

  .workstyle-card__sub {
    font-size: 16px;
  }

    .feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 12px;
  }

  .feature-card__title {
    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
  }

  .feature-card {
    padding: 20px;
  }

  .feature-card__title {
    font-size: 19px;
  }

  .feature-card__desc {
    font-size: 16px;
  }

    .schedule-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }

    .ws-card {
    padding: 20px 16px;
  }

  .ws-card__body {
    display: flex;
    flex-direction: column;
  }

  .ws-income-flex {
    display: flex;
    flex-direction: column;
  }

  .ws-plus-mark {
    transform: rotate(90deg);
  }

    .senior-style-grid {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .senior-card__title,
  .senior-card__lead {
    min-height: auto;
  }

    .section-title {
    font-size: 2.0rem;
    padding: 0 28px;
  }

  .section-title::before,
  .section-title::after {
    width: 16px;
    height: 2.5px;
  }

  .sub_txt{
    margin-bottom:30px;
    font-size:1.8rem;
}

.heading-large_bk_jp {
    font-size: 20px;

}

.block-item {
    padding: 1rem;
    margin-bottom: 5rem;
}

.schedule-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #2b7bc6;
    line-height: 1.3;
    white-space: nowrap;
}

.schedule-desc {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #333d48;
    font-weight: 400;
    padding: 1rem;
}

.ws-card__title {
    font-size: 2.0rem;
    font-weight: 800;
    color: #2c3e50;
    margin: 0 0 12px 0;
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
}

.ws-card__lead {
    font-size: clamp(16px, 15.6px + 0.125vw, 18px);
    font-weight: 700;
    color: #333d48;
    margin: 0;
}

.footer-tel {

    flex-wrap: wrap;
}

.workstyle-container {

    padding: 5px;

}

.section-title-container {
   
    margin-bottom: 2rem;
    padding-top: 6rem;
    
}

}
