@charset "UTF-8";
body {
    position: relative;
}



/* フォント */
p, span, ul, li, a, div {
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    color: #222222;
    font-weight: 500;
}
h2, h3, h4 {
    color: #222222;
}
.h2 {
    font-size: 16px;
    color: #EF4555;
    font-weight: bold;
    margin-bottom: 19px;
}
.h2-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 60px;
    margin-bottom: 23px;
    letter-spacing: 0.015em;
}
.h2-txt {
    font-size: 20px;
    line-height: 1.7;
}
.br {
    display: inline-block;
}


/* 要素フェードイン */
.scroll-up, .load-up {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: all 1s;
    -webkit-transform: translateY(50px);
    -moz-transform: translateY(50px);
    -ms-transform: translateY(50px);
    -o-transform: translateY(50px);
}
.scroll-up.is-show, .load-up.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    /* 230605 */
    text-align: center;
    /* ドットワン調整のための追記 */
   
}

/* top---------------------------------------------------------------------------------------------------- */
.header {
    width: 100%;
    height: auto;
    position: fixed;
    z-index: 999;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}
.header-logo {
    left: 3.5%;
    position: absolute;
    top: 46px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}
.header-logo-img {
    fill: #fff;
    width: 171.016px;
    height: 52.587px;
}

.logo-name { /* ロゴ社名のデザイン */
    color: #fff;
    display: block;
}
.header.scroll-nav .logo-name {
    color: #000;
}

.g-nav-pc {
    position: absolute;
    display: flex;
    right: 0;
    top: 29px;
    align-items: center;
}
.g-nav-pc-listbox {
    display: flex;
}
.g-nav-pc-list-line {
    border-right: 2px solid #fff;
    padding-right: 15px;
    margin-right: 15px;
}
.under-layer .g-nav-pc-list-line {
    border-right: 2px solid #000;
}
.g-nav-pc-list a span {
    color: #fff;
    letter-spacing: 0.015em;
    padding: 15px;
}
.g-nav-pc-list a {
    display: inline-block;
    position: relative;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
.g-nav-pc-company {
    width: 120px;
}
.g-nav-pc-service {
    width: 107px;
    white-space: nowrap;
}
.g-nav-pc-people {
    width: 97px;
}
.g-nav-pc-news {
    width: 85px;
}
.g-nav-pc-contact {
    width: 113px;
}

/* メニューホバー */
.g-nav-pc-list {
    display: inline-block;
}

.g-nav-pc-list-normal {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    position: absolute;
    bottom: -50%;
    left: 0;
    transform: translateY(44%);
    -webkit-transform: translateY(44%);
    -moz-transform: translateY(44%);
    -ms-transform: translateY(44%);
    -o-transform: translateY(44%);
}
.g-nav-pc-list-hover {
    visibility: hidden;
    opacity: 0;
    font-size: 12px;
    position: absolute;
    bottom: -50%;
    left: 0;
    transform: translateY(39%);
    -webkit-transform: translateY(39%);
    -moz-transform: translateY(39%);
    -ms-transform: translateY(39%);
    -o-transform: translateY(39%);
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
.g-nav-pc-list-normal {
    visibility: visible;
    opacity: 1;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
.g-nav-pc-list a:hover .g-nav-pc-list-normal {
    visibility: hidden;
    opacity: 0;
}
.g-nav-pc-list a:hover .g-nav-pc-list-hover {
    visibility: visible;
    opacity: 1;
}

/* g-nav 採用ボタン */
.g-nav-btn {
    position: relative;
}
.g-nav-pc-list-btn-normal {
    position: absolute;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    right: 14%;
}
.g-nav-pc-list-btn-hover {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    right: 15%;
    font-size: 16px;
    font-weight: bold;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
.g-nav-pc-list-btn-normal {
    visibility: visible;
    opacity: 1;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
.g-nav-btn a:hover .g-nav-pc-list-btn-normal {
    visibility: hidden;
    opacity: 0;
}
.g-nav-btn a:hover .g-nav-pc-list-btn-hover {
    visibility: visible;
    opacity: 1;
}
.g-nav-btn a, .top-recruit-btn {
    margin-left: 15px;
    width: 259px;
    margin-right: -29px;
    text-align: center;
    height: 50px;
    background-color: #EF4555;
    border-radius: 26px;
    -webkit-border-radius: 26px;
    -moz-border-radius: 26px;
    -ms-border-radius: 26px;
    -o-border-radius: 26px;
}
.g-nav-btn a span {
    display: block;
    color: #fff;
    font-size: 16px;
    line-height: 50px;
    letter-spacing: 0.01em;
}
.g-nav-btn-a, .top-recruit-btn a {
    display: block;
    color: #fff;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    line-height: 50px;
    letter-spacing: 0.01em;
}
/* .top-recruit-btn { 230605
    width: 230px;
} */
.top-recruit .h2-en {
    margin-bottom: 16px;
}

/* スクロール時の追従ヘッダー */
.header.scroll-nav {
    height: 100px;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.16);
}
.header.scroll-nav .header-logo-img {
    fill: #000;
    width: 156px;
    top: 26px;
}
.header-logo-img.panelactive .header.scroll-nav .header-logo-img  {
    fill: #fff;
}

.header.scroll-nav .g-nav-pc-list-line {
    border-right: 2px solid #000;
}
.header.scroll-nav .header-logo {
    top: 26px;
}
.header.scroll-nav .g-nav-pc-list a span {
    color: #000;
}


/* ハンバーガー */
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
	top:0;
    left: -120%;
	width:100%;
    height: 100vh;
	background: #EC4658;
	transition: all 0.6s;
}
#g-nav.panelactive{
    left: 0;
}
.g-nav-btn-sp.panelactive {
    background-color: #fff;
}
.g-nav-btn-sp {
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}
.g-nav-btn-sp a.panelactive, .under-layer .g-nav-btn-sp a.panelactive { /* 下層共通 */
    color: #EF4555;
}
.header-logo-img.panelactive, .under-layer .header-logo-img.panelactive { /* 下層共通 */
    fill: #fff;
}
#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width:100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}


/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 78%;
    min-width: 295px;
    max-width: 900px;
    margin:77px auto 40px auto;
}
.g-nav-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 10px;
    color: #fff;
    width: 64px;
}
.g-nav-ttl-wrap {
    display: flex;
    align-items: center;
}
.g-nav-ttl-wrap a {
    display: flex;
    align-items: center;
}
.g-nav-ttl {
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    margin-left: 23px;
}

.accordion-area-div {
    margin: 10px 0;
}

.accordion-area .g-nav-box {
	border-bottom: 1px solid #CC3C4B;
    padding: 12px 0 22px 0;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1rem;
    font-weight: normal;
    transition: all .5s ease;
    padding: 10px 0;
}

/*アイコンの＋と×*/
.title::before{
    position: absolute;
    content:'';
    width: 7.39px;
    height: 4.3px;
    right: 0;
}
.title::before{
    content: "";
    background: top center no-repeat url(../img/g-nav-arrow.svg);
    background-size: contain;
    transform: rotate(0deg);
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
}


/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
	margin:0;
    padding-left: 87px;
    margin-top: 2px;
}
.g-nav-ttl-sp-menu-item {
    margin-bottom: 12px;
}
.g-nav-ttl-sp-menu-item a {
    color: #fff;
    font-size: 14px;
    display: block;
}

/* ポリシー */
.g-nav-sp-policy a {
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    margin-top: 12px;
    display: block;
}


.g-nav-sp-btn {
    width: 100%;
    margin-top: 58px;
}
.g-nav-sp-btn-recruit, .g-nav-sp-btn-contact {
    width: 100%;
    background-color: #fff;
    height: 50px;
    text-align: center;
    border-radius: 26px;
    -webkit-border-radius: 26px;
}
.g-nav-sp-btn-recruit a {
    color: #EC4658;
    width: 100%;
    height: 50px;
    text-align: center;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    line-height: 50px;
    display: block;
}
.g-nav-sp-btn-contact {
    background-color: #AF343F;
    margin-top: 10px;
}
.g-nav-sp-btn-contact a {
    color: #fff;
    width: 100%;
    height: 50px;
    text-align: center;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    line-height: 50px;
    display: block;
}

/* ハンバーガー開くボタン */
.openbtn{
	position:fixed;
    z-index: 9999;
	top: 14px;
	left: 7px;
	cursor: pointer;
    width: 60px;
    height: 50px;
}
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 1.5px;
	background-color: #fff;
  	width: 32px;
  }
.openbtn span:nth-of-type(1) {
	top:15px;	
}
.openbtn span:nth-of-type(2) {
	top:27px;
}
.openbtn.active span:nth-of-type(1) {
    top: 16px;
    left: 12px;
    transform: translateY(6px) rotate(-45deg);
    width: 32px;
}
.openbtn.active span:nth-of-type(2) {
	top: 28px;
    left: 13px;
    transform: translateY(-6px) rotate(45deg);
    width: 32px;
}
/* mv-title */
.mv-title {
    width: 70%;
}
/* top-mv */
.top-mv {
    width: 100%;
    height: 750px;
/*
    background: url(../img/top-mv.jpg) no-repeat center center;
    background-size: cover;
*/
    position: relative;
    isolation: isolate;
}
.top-mv-movie video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -10;
}
.top-mv-btn-arrow {
    stroke: #fff;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}

.top-mv-txt { /* 文字全体 */
    position: absolute;
    top: 345px;
    left: 7.3%;
}
.top-mv-txt-en {
    color: #fff;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 10px;
    font-size: 10px;
    line-height: 1.4em;
}
.top-mv-txt_ttl-p01 {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.2em;
}
.top-mv-txt_ttl {
    width: 240px;
    height: 62px;
    display: inline-block;
    border: 1px solid #fff;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    margin-right: 13px;
}
.top-mv-txt_ttl::before {
    content: "";
    background: url(../img/top-mv-txt.svg) no-repeat center center;
    width: 100%;
    height: 62px;
    display: inline-block;
}
.top-mv-txt_ttl-p02 {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.6em;
    margin-bottom: 59px;
}
.top-mv-btn {
    width: 206px;
    height: 25px;
    border-bottom: 1px solid #fff;
    padding-bottom: 9px;
}
.top-mv-btn a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
/* .top-mv-btn a:hover .top-mv-btn-arrow {
    margin-right: -10px;
} */
.top-mv-btn-p {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.7em;
}
.top-mv-scroll-arrow {
    position: absolute;
    width: 100px;
    height: 100px;
    border: #EF4555 solid 1px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    bottom: 111px;
    right: 50px;
}

.top-mv-scroll-arrow a {
    display: block;
    width: 100%;
    height: 100%;
}
.top-mv-scroll-arrow-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}


.bg-gray { /* グレー背景 */
    background-color: #F8F8F8;
    width: 100%;
    height: auto;
}
/* top-company */
.top-company {
    width: 85.7%;
    max-width: 1200px;
    height: auto;
    margin: -81px auto 0 auto;
    position: relative;
    z-index: 1;
    background-color: #fff;
    border-top: 10px solid #EF4555;
    padding-top: 71px;
}
.top-company::after {
    content: "";
    background-color: #F8F8F8;
    width: 100%;
    height: 65px;
    display: inline-block;
    position: absolute;
    z-index: -1;
    bottom: 0;
}
.top-company-inner {
    width: 83.3%;
    margin: 0 auto;
    display: flex;
    position: relative;
}
.top-company-exp {
    width: 84%;
    margin-right: 2%;
}
.top-company-txt {
    width: 100%;
    max-width: 356px;
}

/* もっとみるボタン */
.more-btn {
    margin-top: 77px;
    display: inline-block;
}
.more-btn-txt {
    margin-right: 11.7px;
    font-weight: bold;
    font-size: 18px;
    white-space: nowrap;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
.more-btn a {
    display: flex;
}


.top-company-img {
    margin-right: -44px;
}
.top-company-img01 {
    width: 100%;
    padding-right: 99px;
}
.top-company-img02 {
    width: 48%;
    position: absolute;
    right: -44px;
    top: 134px;
}


/* top-service */
.top-service {
    margin-top: 120px;
}
.top-service-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 221px;
}
.top-service .h2-en {
    margin-bottom: 8px;
}
.top-service-menu {
    position: relative;
    display: inline-block;
    margin-right: 4%;
    max-width: 551px;
}
.top-service-inner::before {
    content: "";
    display: inline-block;
    background-image: url(../img/top/top-service-foods-left.jpg);
    width: 35.7%;
    padding-top: 50%;
    background-size: cover;
    margin-right: 6%;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    /*下から上に*/animation: bottom_to_up6 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up6 ease-in-out 0.9s;
}
.top-service-inner::after {
    content: "";
    display: inline-block;
    background-image: url(../img/top/top-service-foods-right.jpg);
    width: 14%;
    padding-top: 31.5%;
    background-size: cover;
    margin: auto 0 0 auto;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    /*下から上に*/animation: bottom_to_up6 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up6 ease-in-out 0.9s;
}

/* サービス ホバー時の変化 */
.top-service-menu-listbox:hover .top-service-menu-list a {
    opacity: .3;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
.top-service-menu-listbox .top-service-menu-list a:hover {
    opacity: 1;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}
/* 画像入れ替え */
.top-service-inner.img-publishing::before {
    background-image: url(../img/top/top-service-publishing-left.jpg);
    /*下から上に*/animation: bottom_to_up1 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up1 ease-in-out 0.9s;
}
.top-service-inner.img-publishing::after {
    background-image: url(../img/top/top-service-publishing-right.jpg);
    /*下から上に*/animation: bottom_to_up1 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up1 ease-in-out 0.9s;
}

.top-service-inner.img-nursing::before {
    background-image: url(../img/top/top-service-nursing-left.jpg);
    /*下から上に*/animation: bottom_to_up2 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up2 ease-in-out 0.9s;
}
.top-service-inner.img-nursing::after {
    background-image: url(../img/top/top-service-nursing-right.jpg);
    /*下から上に*/animation: bottom_to_up2 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up2 ease-in-out 0.9s;
}

.top-service-inner.img-beauty::before {
    background-image: url(../img/top/top-service-beauty-left.jpg);
    /*下から上に*/animation: bottom_to_up3 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up3 ease-in-out 0.9s;
}
.top-service-inner.img-beauty::after {
    background-image: url(../img/top/top-service-beauty-right.jpg);
    /*下から上に*/animation: bottom_to_up3 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up3 ease-in-out 0.9s;
}

.top-service-inner.img-mineral::before {
    background-image: url(../img/top/top-service-mineral-left.jpg);
    /*下から上に*/animation: bottom_to_up4 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up4 ease-in-out 0.9s;
}
.top-service-inner.img-mineral::after {
    background-image: url(../img/top/top-service-mineral-right.jpg);
    /*下から上に*/animation: bottom_to_up4 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up4 ease-in-out 0.9s;
}

.top-service-inner.img-educat::before {
    background-image: url(../img/top/top-service-educat-left.jpg);
    /*下から上に*/animation: bottom_to_up5 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up5 ease-in-out 0.9s;
}
.top-service-inner.img-educat::after {
    background-image: url(../img/top/top-service-educat-right.jpg);
    /*下から上に*/animation: bottom_to_up5 ease-in-out 0.9s;
    -webkit-animation: bottom_to_up5 ease-in-out 0.9s;
}

/* 画像切り替え時に下から上に移動 */
@keyframes bottom_to_up1{
    0%{
      transform: translateY(50px);
      opacity: 0;
      -webkit-transform: translateY(50px);
      -moz-transform: translateY(50px);
      -ms-transform: translateY(50px);
      -o-transform: translateY(50px);
}
    100%{
      transform: translateY(0px);
      opacity: 1;
    }
  }
  @keyframes bottom_to_up2{
    0%{
      transform: translateY(50px);
      opacity: 0;
      -webkit-transform: translateY(50px);
      -moz-transform: translateY(50px);
      -ms-transform: translateY(50px);
      -o-transform: translateY(50px);
}
    100%{
      transform: translateY(0px);
      opacity: 1;
      -webkit-transform: translateY(0px);
      -moz-transform: translateY(0px);
      -ms-transform: translateY(0px);
      -o-transform: translateY(0px);
}
  }
  @keyframes bottom_to_up3{
    0%{
      transform: translateY(50px);
      opacity: 0;
      -webkit-transform: translateY(50px);
      -moz-transform: translateY(50px);
      -ms-transform: translateY(50px);
      -o-transform: translateY(50px);
}
    100%{
      transform: translateY(0px);
      opacity: 1;
    }
  }
  @keyframes bottom_to_up4{
    0%{
      transform: translateY(50px);
      opacity: 0;
      -webkit-transform: translateY(50px);
      -moz-transform: translateY(50px);
      -ms-transform: translateY(50px);
      -o-transform: translateY(50px);
}
    100%{
      transform: translateY(0px);
      opacity: 1;
    }
  }
  @keyframes bottom_to_up5{
    0%{
      transform: translateY(50px);
      opacity: 0;
      -webkit-transform: translateY(50px);
      -moz-transform: translateY(50px);
      -ms-transform: translateY(50px);
      -o-transform: translateY(50px);
}
    100%{
      transform: translateY(0px);
      opacity: 1;
    }
  }
  @keyframes bottom_to_up6{
    0%{
      transform: translateY(50px);
      opacity: 0;
      -webkit-transform: translateY(50px);
      -moz-transform: translateY(50px);
      -ms-transform: translateY(50px);
      -o-transform: translateY(50px);
}
    100%{
      transform: translateY(0px);
      opacity: 1;
    }
  }


.top-service-menu-listbox {
    margin-top: 44px;
}
.top-service-menu-list {
    border-bottom: 1px #E2E2E2 solid;
}
.top-service-menu-list a {
    display: flex;
    align-items: flex-start;
    padding-bottom: 23px;
    padding-top: 24px;
}
.top-service-menu-list-number {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.015em;
    margin-right: 32px;
}
.top-service-menu-list-ttl-ja {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 11px;
    line-height: 1.25em;
}
.top-service-menu-list-ttl-ja .br {
    font-size: 40px;
    font-weight: bold;
}
.top-service-menu-list-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.015em;
}
.top-service-menu-list-arrow {
    margin: 0 0 auto auto;
}
.top-service-more {
    position: absolute;
    right: 0;
    margin-top: 34px;
}
.top-service .more-btn {
    bottom: auto;
}


/* サービス下のスライドする文字 */
.top-service-text-slide {
    margin-top: -2.5em;
    overflow: hidden;
    width: 100%;
}
.top-service-text-slide-txt {
    display: inline-block;
    color: #EF4555;
    white-space: nowrap;
    font-size: 90px;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
}


/* top-people */
.top-people {
    margin-top: 100px;
    position: relative;
    padding-bottom: 206px;
    overflow: hidden;
}
.top-people-bg {
    background-color: #EF4555;
    padding-top: 75px;
    width: 100%;
    height: 525px;
}

.top-people-inner {
    width: 87.7%;
    min-width: 1200px;
    margin: auto 0 auto auto;
    display: flex;
    position: relative;
    padding-left: 2%;
}
.top-people .h2 {
    color: #fff;
}
.top-people .h2-en {
    color: #fff;
    margin-bottom: 16px;
}
.top-people-exp {
    width: 84%;
    position: relative;
}
.top-people-txt {
    width: 89%;
    color: #fff;
    padding-right: 2%;
}
.top-people-txt .br {
    color: #fff;
}
.top-people .more-btn {
    font-weight: bold;
    font-size: 18px;
    display: inline-block;
    position: absolute;
    background-color: #fff;
    width: 230px;
    height: 50px;
    line-height: 50px;
    border-radius: 26px;
    -webkit-border-radius: 26px;
    -moz-border-radius: 26px;
    -ms-border-radius: 26px;
    -o-border-radius: 26px;
    bottom: 143px;
}
.top-people .more-btn-txt {
    margin-right: 11.7px;
}
.top-people .more-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}
/* people画像スライド */
.top-people-img {
    width: 64%;
    height: auto;
    margin-top: 38px;
    position: relative;
    z-index: 2;
}
.slick-slide {
    width: auto !important;
}
.top-people-imgbox {
    margin-right: 10px;
    margin-left: 10px;
    width: 290px !important;
    height: auto;
}
.top-people-imgbox-txt {
    border-radius: 0 0 10px 10px;
    -webkit-border-radius: 0 0 10px 10px;
    -moz-border-radius: 0 0 10px 10px;
    -ms-border-radius: 0 0 10px 10px;
    -o-border-radius: 0 0 10px 10px;
    padding: 20px;
    background-color: #FCFCFC;
}
.top-people-imgbox-txt-occupation {
    color: #EF4555;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 11px;
    margin-bottom: 24px;
}
.top-people-imgbox-txt-name {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 11px;
}
.top-people-imgbox-txt-comment {
    font-size: 12px;
    line-height: 1.5em;
}
/* もっとみる文字ピンク */
.more-btn-txt-pink {
    color: #EF4555;
}


/* top-recruit */
.top-recruit {
    position: relative;
    background: top center url(../img/top/top-recruit-bg.jpg);
    background-attachment: fixed;
    background-size: cover;
    overflow: hidden;
}

.top-recruit::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.3); /* 黒のオーバーレイ */
    z-index: 0;
}

.top-recruit > * {
    position: relative;
    z-index: 1;
}

.top-recruit-inner {
    width: 75.4%;
    min-width: 1000px;
    margin: 0 auto;
    padding: 138px 2% 119px 2%;
}
.top-recruit .h2, .top-recruit .h2-en {
    color: #fff;
}
.top-recruit-txt {
    width: 460px;
    color: #fff;
    /* 230605 */
    width: 760px;
    margin: 0 auto;
}
.top-recruit-btn-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.top-recruit-btn {
    margin-left: 0;
    margin-top: 29px;
    /* 230605 */
    margin: 29px 10px 0;
    width: auto;
}
.top-recruit-btn a {
    padding: 0 80px;
}


/* top-news */
.top-news {
    padding-top: 118px;
    background-color: #F2F2F2;
    padding-bottom: 190px;
}
.top-news .h2-en {
    margin-bottom: 31px;
}
.top-news-inner {
    width: 64%;
    min-width: 840px;
    padding: 0 2%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}
.top-news-wrap {
    width: 100%;
    height: auto;
    text-align: left;
}
.top-news-box {
    width: 100%;
    height: auto;
    background-color: #FAFAFA;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    padding: 30px 3% 24px 3%;
}
.top-news-box:last-of-type {
    margin-bottom: 0;
}
.top-news-box-a {
    display: inline-block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    margin-bottom: 10px;
}
.top-news-box-a:last-of-type {
    margin-bottom: 0;
}
.top-news-info {
    display: flex;
    margin-bottom: 15px;
}
.top-news-date {
    font-size: 12px;
    color: #7C7C7C;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
}
.top-news-category {
    margin-left: 30px;
    font-size: 12px;
    color: #EF4555;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: bold;
    font-style: normal;
    letter-spacing: 0.05em;
}
.top-news-txt-wrap {
    width: 100%;
    display: flex;
    align-items: flex-start;
} 
.top-news-txt {
    font-size: 14px;
    line-height: 1.57em;
    margin-right: 38.7px;
    position: relative;
    overflow: hidden;
    height: 40px;
}
.top-news-txt-readmore {
    position: absolute;
    right: 0;
    bottom: 0;
    line-height: 1.2em;
    background-color: #FAFAFA;
    padding-left: 0.8em;
}
.top-news-txt-readmore span {
    color: #EF4555;
}

/* top-contact */
.top-contact {
    width: 100%;
    height: auto;
    background-color: #E5E5E5;
    padding: 45px 0;
}
.top-contact-inner {
    width: 75.4%;
    min-width: 1000px;
    padding: 0 2%;
    height: auto;
    margin: 0 auto;
    display: flex;
    align-items: center;
}
.top-contact .h2 {
    margin-bottom: 12px;
}
.top-contact .h2-en {
    font-size: 28px;
    margin-bottom: 0;
}
.top-contact-txt {
    margin-left: 8%;
    line-height: 1.8em;
    margin-right: 3%;
    font-size: 14px;
    font-weight: bold;
}
.top-contact-btn {
    margin-left: auto;
    background-color: #BFBFBF;
    width: 180px;
    height: 50px;
    border-radius: 26px;
    -webkit-border-radius: 26px;
    -moz-border-radius: 26px;
    -ms-border-radius: 26px;
    -o-border-radius: 26px;
    text-align: center;
    line-height: 50px;
}
.top-contact-btn a {
    display: block;
    color: #fff;
    font-size: 16px;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    width: 180px;
}

/* footer */
.footer p, .footer span, .footer a {
    color: #fff;
}
.footer {
    width: 100%;
    height: auto;
    background-color: #EF4555;
    padding: 67px 0 52px;
}
.footer-inner {
    width: 96.8%;
    margin: 0 auto;
    height: auto;
    padding: 0 2%;
}
.footer-info-wrap {
    width: 100%;    
    display: flex;
    justify-content: space-between;
}
.footer-info {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.footer-info-address, .footer-info-number {
    margin-top: 26.5px;
    color: #fff;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.42;
    letter-spacing: 0.015em;
}

.f-nav {
    display: flex;
    width: 70%;
    justify-content: space-between;
}
.f-nav-menu {
    width: 99%;
}
.f-nav-menu-ttl {
    font-size: 11px;
    margin-bottom: 5px;
}
.f-nav-menu-ttl-en {
    font-size: 16px;
    letter-spacing: 0.015em;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 19px;
}
.f-nav-menu-list-item a {
    display: block;
    padding: 1px 0;
    line-height: 1.6em;
    font-size: 14px;
}

/* f-navボタン */
.f-nav-btn-recruit, .f-nav-btn-contact {
    width: 217px;
    height: 50px;
    text-align: center;
    border-radius: 26px;
    -webkit-border-radius: 26px;
    -moz-border-radius: 26px;
    -ms-border-radius: 26px;
    -o-border-radius: 26px;
}
.f-nav-btn-recruit a, .f-nav-btn-contact a {
    width: 217px;
    height: 50px;
    text-align: center;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    line-height: 50px;
}
.f-nav-btn-recruit {
    background-color: #fff;
    margin-bottom: 15px;
}
.f-nav-btn-recruit a {
    color: #EF4555;
    display: block;
}
.f-nav-btn-contact {
    background-color: #AF343F;
}
.f-nav-btn-contact a {
    color: #fff;
    display: block;
}

.footer-copy {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 42px;
}
.footer-copyright {
    color: #fff;
    font-size: 12px;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.footer-copy-privacy {
    font-size: 11px;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
}



/* 下層共通------------------------------------------------------------------------------------ */
/* ヘッダー */
.under-layer .header-logo-img {
    fill: #000;
    width: 156px;
    height: auto;
}
.under-layer .header {
    background-color: rgba(255, 255, 255, 0.95);
    width: 100%;
    height: 100px;
    top: 0;
    box-shadow: 0px 3px 3px rgb(0 3 3 / 16%);
}
.under-layer .g-nav-pc-list a span {
    color: #000;
}
.under-layer .header-logo {
    top: 26px;
}
/* パンくずリスト */
.c-bread li {
    /* display: inline-block; */
    display: inline;
}
.c-bread li span {
    font-size: 14px;
}
.c-bread {
    padding-top: 118px;
    padding-left: 3.5%;
    padding-right: 3.5%;
}
.c-bread-premenu::after { /* 各ページ名の区切り線 */
    content: "-";
    color: #7C7C7C;
    padding-left: 10px;
    padding-right: 6px;
}
.c-bread-premenu span {
    color: #7C7C7C;
}

/* パンくずの文字が白の場合 */
.c-bread-white li span { 
    color: #FFFFFF;
}
.c-bread-white .c-bread-premenu::after { /* 各ページ名の区切り線 */
    color: #fff;
}

/* タイトル */
.kaso-pagettl {
    width: 100%;
    height: auto;
    text-align: center;
}
.kaso-h1 {
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    margin-bottom: 7px;
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.kaso-h1-en {
    font-family: "roc-grotesk-wide", sans-serif;
    color: #fff;
    font-weight: 500;
    font-style: normal;
    font-size: 60px;
    margin-bottom: 23px;
    letter-spacing: 0.015em;
}

/* コンテンツ幅 */
.kaso-contents-width {
    max-width: calc(1000px + 4%);
    margin: 0 auto;
    padding: 0 2%;
}


/* フッター上下層メニューボタン */
.under-layer-menu {
    width: 100%;
    height: auto;
    position: relative;
    padding-bottom: 169px;
}
.under-layer-menu::after {
    content: "";
    background-color: #F2F2F2;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 304px;
}
.under-layer-menu-inner {
    max-width: calc(1000px + 4%);
    margin: -60px auto 0;
    padding: 0 2%;
    position: relative;
    z-index: 1;
}
.under-layer-menu-btn-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 13px;
}
.under-layer-menu-btn {
    text-align: center;
}
.under-layer-menu-btn a {
    display: block;
}
.under-layer-menu-btn img {
    aspect-ratio: 30 / 19;
    object-fit: cover;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.under-layer-menu-btn-txt {
    margin-top: 20px;
    font-size: 18px;
    line-height: 1;
}

/* news.html ----------------------------------------------------------------------------------------- */
/* 下層ページ背景白 */
#news, #news-detail {
    background-color: #F2F2F2;
}
.news-inner {
    max-width: calc(1000px + 4%);
    width: 96%;
    margin: 0 auto;
    padding: 0 2%;
    height: auto;
    text-align: center;
}
#news .top-news .h2-en {
    margin-bottom: 32px;
}

#news .top-news {
    padding-top: 85px;
}
.news-box {
    padding: 30px 4% 24px 4%;
}
.news-txt {
    height: 64px;
    width: 100%;
}
#news .top-news-txt-arrow {
    margin-top: 13px;
}
#news .top-news-txt-readmore {
    line-height: 1.2em;
    padding-top: 3px;
}

/* カテゴリー一覧 */
.news-contents-wrap {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 260px;
    align-items: start;
}
.news-category-box {
    background-color: #FAFAFA;
    height: auto;
    padding: 32px 13%;
    text-align: left;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.news-category-box-ttl {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    margin-bottom: 34px;
    letter-spacing: 0.015em;
}
.news-category-box-ttl-wrap {
    display: block;
}
/* カテゴリー */
.news-category-box-lists {
    line-height: 2em;
    list-style-type: none;
}
.news-category-box-list a {
    font-size: 14px;
    font-weight: bold;
    color: #7C7C7C;
    letter-spacing: 0.015em;
    display: block;
    line-height: 2em;
}
/* 選択したカテゴリーの文字が↓この色になる */
.news-category-box-list-checked a { 
    color: #222222;
}



/* ページネーション */
.wp-pagenavi {
    margin-top: 100px;
    font-size: 14px;
    line-height: 37px;
}
.wp-pagenavi .page,.wp-pagenavi .current, .wp-pagenavi, .previouspostslink, .nextpostslink {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.wp-pagenavi .page,
.wp-pagenavi .current {
    margin-right: 4%;
    width: 35px!important;
    height: 35px;
    display: inline-block;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    margin-right: 12px;
    text-align: center;
} 
.wp-pagenavi .previouspostslink {
    margin-right: 4%;
}
.wp-pagenavi .nextpostslink {
    margin-left: calc(4% - 12px);
}
.wp-pagenavi .previouspostslink::before {
    content: "";
    display: inline-block;
    background: url(../img/arrow_black.svg) center no-repeat;
    width: 11px;
    height: 9px;
    margin-right: 8px;
}
.wp-pagenavi .nextpostslink::after {
    content: "";
    display: inline-block;
    background: url(../img/arrow_black.svg) center no-repeat;
    width: 11px;
    height: 9px;
    margin-left: 8px;
    transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}
.wp-pagenavi .page {
    color: #7C7C7C;
    background-color: #fff;
}
.wp-pagenavi .current {
    background-color: #222222;
    color: white;
}

#news .top-news {
    padding-bottom: 217px;
}
/* 
.wp-pagenavi li {
    display: inline-block;
    font-size: 14px;
}
.wp-pagenavi li a {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    line-height: 37px;
    display: block;
    color: #7C7C7C;
}
.prevpostslink {
    margin-right: 4%;
}
.wp-pagenavi .prevpostslink a {
    color: #222;
}
.nextpostslink {
    margin-left: calc(4% - 12px);
}
.wp-pagenavi .nextpostslink a {
    color: #222;
}
.prevpostslink a::before {
    content: "";
    display: inline-block;
    background: url(../img/arrow_black.svg) center no-repeat;
    width: 11px;
    height: 9px;
    margin-right: 8px;
}
.nextpostslink a::after {
    content: "";
    display: inline-block;
    background: url(../img/arrow_black.svg) center no-repeat;
    width: 11px;
    height: 9px;
    margin-left: 8px;
    transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}
.news-pagination-number {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    background-color: #fff;
    margin-right: 12px;
    text-align: center;
}

/* 選択しているページ番号のクラス */
/* .news-pagination-number-checked {
    background-color: #222222;
}
.wp-pagenavi .news-pagination-number-checked a {
    color: #fff;
} */


/* news-detail.html ----------------------------------------------------------------------------------- */
#news-detail .top-news {
    padding-top: 85px;
    padding-bottom: 210px;
}
.news-detail-wrap {
    max-width: 800px;
    width: 100%;
    margin: 63px auto 0;
    text-align: left;
}
.news-detail-ttl-wrap {
    width: 100%;
    height: auto;
    margin-bottom: 54px;
}
.news-detail-ttl {
    font-size: 30px;
    letter-spacing: 0;
    line-height: 1.66em;
    word-wrap: break-word;
}
.news-detail-txt-box {
    background-color: #FAFAFA;
    width: 100%;
    height: auto;
    padding: 54px 7.5% 91px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.news-detail-txt-box p {
    margin-bottom: 2em;
    line-height: 1.83em;
}
.news-detail-txt-box p:last-of-type {
    margin-bottom: 0;
}
.news-detail-txt-box img {
    margin-bottom: 3em;
    margin-top: 1em;
    height: auto;
}

/* ページネーション */
.top-news .pager {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    -ms-grid-columns: 1fr 20px auto 20px 1fr;
    grid-template: "pager_prev pager_back pager_next" auto /    1fr  auto 1fr;
    gap: 0 20px;
    margin: 76px auto;
    align-items: center;
}

.pager_next a,
.pager_prev a,
.pager_back span{
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
}
.pager_prev {
    margin-right: 4%;
    grid-area: pager_prev;
}
.pager_next {
    margin-left: 4%;
    grid-area: pager_next;
}
.pager_prev::before {
    content: "";
    display: inline-block;
    background: url(../img/arrow_black.svg) center no-repeat;
    width: 11px;
    height: 9px;
    margin-right: 8px;
}
.pager_next::after {
    content: "";
    display: inline-block;
    background: url(../img/arrow_black.svg) center no-repeat;
    width: 11px;
    height: 9px;
    margin-left: 8px;
    transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}
.pager_next:empty,
.pager_prev:empty {
    display: none;
}
.pager_back{
    background-color: #7C7C7C;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    width: 230px;
    height: auto;
    grid-area: pager_back;
}
.pager_back a span{
    padding: 15px 2% 12px 2%;
    color: #fff;
    display: block;
    line-height: 1.33em;
}

@media  screen and (max-width: 768px){
    .top-news .pager {
        -ms-grid-rows: auto 0 auto;
        -ms-grid-columns: 50% 0 50%;
        grid-template: "pager_prev pager_next" auto "pager_back pager_back" auto /    50%  50%;
        gap: 0;
    }
    .pager_back {
        margin: 20px auto 0;
    }

}

/* company-profile.html ------------------------------------------------------------------------------- */
.company-profile {
    padding-top: 94px;
    padding-bottom: 316px;
}
.company-profile .h2-en {
    margin-bottom: 40px;
}
#company-profile {
    background-color: #fff;
    width: 100%;
    height: auto;
    position: relative;
}
#company-profile::after {
    content: "";
    background-color: #FCFCFC;
    width: 100%;
    height: 290px;
    position: absolute;
    top: 0;
    z-index: -1;
}
.company-profile-inner {
    max-width: calc(650px + 4%);
    min-height: 650px;
    padding: 0 2%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}
.company-profile-ttl-txt {
    font-size: 20px;
    line-height: 1.7em;
    letter-spacing: 0.08em;
    text-align: left;
    margin-bottom: 34px;
}
/* 表 */
.company-profile-table {
    width: 100%;
    height: auto;
    text-align: left;
    border-spacing: 0 10px;
    border-collapse: separate;
}
.company-profile-tbody {
    width: 100%;
    height: auto;
}
.company-profile-tbody tr {
    background-color: #FCFCFC;
}
.company-profile-table-left {
    font-size: 16px;
    color: #7C7C7C;
    line-height: 1.5em;
    padding: 18px 30px;
}
.company-profile-table-right {
    font-size: 18px;
    color: #222222;
    line-height: 1.5em;
    padding: 18px 30px;
}


/* people.html ---------------------------------------------------------------------------------- */
.people-mv {
    width: 100%;
    height: 620px;
    background: url(../img/people-mv.jpg) no-repeat center top;
    background-size: cover;
    
}
.people-voice-ttl-wrap {
    text-align: center;
}
.people-mv .kaso-pagettl {
    margin-top: 152px;
}

/* ソフトラインで働く仲間たちの声を集めました！ */
.people-voice-ttl-wrap {
    width: 100%;
    height: auto;
    background-color: #FAFAFA;
    position: relative;
    padding: 60px 90px;
    margin-top: -82px;
}
.people-voice-ttl-wrap::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    background-color: #EF4555;
    top: 0;
    left: 0;
}
.people-voice-ttl, .people-voice-ttl .br {
    font-size: 30px;
    font-weight: bold;
    color: #EF4555;
    letter-spacing: 0.08em;
    line-height: 1.3em;
}
.people-voiece-ttl-txt {
    font-size: 20px;
    letter-spacing: 0.08em;
    margin-top: 14px;
    line-height: 1.5em;
}

/* 働く仲間たちの一覧 */
.people-voice-items-box {
    display: grid;
    grid-column-gap: 16px;
    grid-row-gap: 15px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin: 100px 0 263px;
}
.people-voice-imgbox {
    max-width: 450px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    background-color: #fff;
    height: auto;
    width: 100%;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.people-voice-img {
    border-radius: 10px 10px 0 0;
    -webkit-border-radius: 10px 10px 0 0;
    -moz-border-radius: 10px 10px 0 0;
    -ms-border-radius: 10px 10px 0 0;
    -o-border-radius: 10px 10px 0 0;
    width: 100%;
    aspect-ratio: 119/143;
    object-fit: cover;
}
.people-voice-imgbox-txt {
    width: 100%;
    height: auto;
    padding: 18px 16px 17px 16px;
    text-align: left;
}

.people-voice-imgbox-txt-occupation { /* 職業名 */
   font-size: 12px;
   color: #EF4555; 
   margin-bottom: 7px;
}
.people-voice-imgbox-txt-name { /* 氏名 */
    font-size: 18px;
    font-weight: bold;
}
.people-voice-imgbox-txt-comment { /* コメント */
    font-size: 14px;
    line-height: 1.4em;
    margin-top: 24px;
}


/* interview.html -------------------------------------------------------------------------------- */
#people-detail {
    background-color: #F2F2F2;
}
/* mv */
.people-detail-mv {
    margin: 25px 0 109px 0;
}
.people-detail-mv-inner {
    margin: 0 auto;
    width: 100%;
    padding: 0 3.5%;
    display: flex;
    max-width: calc(1311px + 7%);
    position: relative;
    gap: 10px;
    /* justify-content: space-between; */
    justify-content: center;
}
/* mvテキスト */
.people-detail-mv-txt {
    margin-top: 42px;
}
.people-detail-h1-en {
    text-align: left;
    font-family: "roc-grotesk-wide", sans-serif;
    color: #F2F2F2;
    font-weight: 500;
    font-style: normal;
    font-size: 60px;
    margin-bottom: 22px;
    letter-spacing: 0.015em;
    text-shadow:1px 1px 0 #EC4658, -1px -1px 0 #EC4658,
    -1px 1px 0 #EC4658, 1px -1px 0 #EC4658,
    0px 1px 0 #EC4658,  0-1px 0 #EC4658,
    -1px 0 0 #EC4658, 1px 0 0 #EC4658;
}
.people-detail-comment-box {
    max-width: 520px;
    background-color: #FAFAFA;
    border-top: solid 10px #EF4555;
    padding: 48px 9% 46px;
    /* display: flex; */
    flex-direction: column;
    justify-content: space-between;
    margin-right: -62px;
    min-height: 356px;
}
.people-detail-comment {
    font-size: 30px;
    letter-spacing: 0.02em;
    line-height: 1.33em;
    margin-bottom: 100px;
}
.people-detail-occupation {
    font-size: 16px;
    font-weight: bold;
    color: #EF4555;
    margin-bottom: 11px;
}
.people-detail-name {
    font-size: 30px;
    font-weight: bold;
}


/* mv写真 */
#people-detail .people-detail-mv-img {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    position: relative;
    z-index: -1;
    max-width: 853px;
    width: 100%;
    min-height: 350px;
    object-fit: cover;
    object-position: center;
}

/* 一日のスケジュール */
.people-detail-schedule {
    width: 100%;
    height: auto;
    text-align: center;
    margin-bottom: 146px;
}
.people-detail-schedule-ttl, .people-detail-otherpeople-ttl {
    font-family: "roc-grotesk-wide", sans-serif;
    color: #EF4555;
    font-weight: 500;
    font-style: normal;
    font-size: 30px;
    margin-bottom: 7px;
    letter-spacing: 0.015em;
}
.people-detail-schedule-oneday {
    font-size: 18px;
    letter-spacing: 0.08em;
    font-weight: bold;
}
.people-detail-schedule-dayflow {
    max-width: 712px;
    margin: 51px auto 0 auto;
    display: flex;
    gap: 19px;
    justify-content: left;
    flex-wrap: wrap;
}
.people-detail-schedule-dayflowpoint {
    background-color: #fff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    height: 102px;
    min-width: 102px;
    position: relative;
}
.people-detail-schedule-time {
    font-family: 'Outfit', sans-serif;
    color: #EF4555;
    margin-top: -0.5em;
    font-size: 14px;
}
.people-detail-schedule-do {
    font-size: 22px;
    letter-spacing: 0.08em;
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
}

/* 社員インタビュー内容 */
/* 画像とテキストの位置 */
.people-detail-comment-widthmax {
    width: 100%;
    height: auto;
}
.people-detail-comment-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 140px;
}
.people-detail-comment-wrap:last-of-type {
    margin-bottom: 0px;
}
.people-detail-reverse { /* 画像とテキストの位置を左右逆に */
    flex-direction: row-reverse;
    margin-bottom: 152px;
}
.people-detail-comment-img-left {
    float: left;
    max-width: 620px;
    width: 44.2%;
}
.people-detail-comment-txt-right {
    float: right;
    max-width: 500px;
    margin-left: 6%;
    width: 100%;
    margin-right: 2%;
}
.people-detail-comment-txt-left {
    float: right;
    max-width: 500px;
    margin-right: 5%;
    width: 100%;
    margin-left: 2%;
}
.people-detail-comment-img-left {
    float: right;
}
/* テキスト */
.people-detail-comment-q {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.78em;
    margin-bottom: 17px;
    padding-left: calc(1em + 11px);
	text-indent: calc(-1em - 9px);
}
.people-detail-comment-q::before { /* タイトルの横線 */
    content: "";
    width: 25px;
    height: 2px;
    background-color: #222;
    display: inline-block;
    vertical-align: middle;
    margin-right: 11px;
    margin-top: -6px;
}
.people-detail-comment-a {
    font-size: 18px;
    line-height: 2em;
}

/* point! */
.people-detail-comment-point-box {
    max-width: calc(810px + 4%);
    margin: 155px auto 198px auto;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 2%;
    padding-right: calc(2% + 10px);
}
.people-detail-comment-point-box-inner {
    display: flex;
    padding: 44px 6% 33.4px 7.3%;
    background-color: #FCFCFC;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    height: auto;
    width: 100%;
    position: relative;
    box-shadow: 10px 10px 0px 0 #EF4555;
}
.people-detail-comment-point-img-wrap {
    text-align: center;
}
.people-detail-comment-point {
    font-family: 'Amatic SC', 'cursive' ,sans-serif;
    font-weight: 400;
    color: #EF4555;
    font-size: 30px;
    letter-spacing: 0.015em;
    margin-bottom: 2px;
    line-height: 1;
}
.people-detail-comment-point-img {
    min-width: 102px;
    height: 102px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    aspect-ratio: 1;
    object-fit: cover;
}
.people-detail-comment-point-txt {
    margin-left: 6.1%;
    line-height: 1.7em;
    font-size: 18px;
    margin-top: auto;
    margin-bottom: auto;
}

/* OTHER PEOPLE */
.people-detail-otherpeople {
    width: 100%;
    height: auto;
    text-align: center;
    padding-top: 125px;
    position: relative;
    padding-bottom: 222px;
    background-color: #fff;
    z-index: 1;
}
.people-detail-otherpeople::before {
    content: "";
    background-color: #EF4555;
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 566px;
    z-index: -1;
}
.people-detail-otherpeople-ttl {
    color: #FFFFFF;
}
.people-detail-otherpeople-box {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-top: 44px;
}

/* 一覧へ戻るボタン */
.people-detail-otherpeople-backbtn {
    background-color: #7C7C7C;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    width: 230px;
    height: auto;
    margin: 114px auto 0;
}
.people-detail-otherpeople-backbtn a {
    padding: 15px 2% 12px 2%;
    color: #fff;
    font-size: 18px;
    display: block;
    font-weight: bold;
    line-height: 1.33em;
}



/* company.html ---------------------------------------------------------------------------- */
/* 共通 */
.company-ttl-wrap {
    text-align: center;
}
.company-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    margin-bottom: 11px;
	margin-top: 11px;
}
.company-ttl {
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 32px;
    font-weight: bold;
}
/* ハンバーガー */
#company .c-bread {
    background-color: #F2F2F2;
}

/* mv */
.company-mv {
    width: 100%;
    background-color: #F2F2F2;
    padding-top: 19px;
}
.company-mv-bg {
    width: 94%;
    padding-top: 215px;
    background: url(../img/company-mv.jpg) no-repeat center center;
    background-size: cover;
    height: 616px;
    margin: 0 auto;
}

/* 経営理念 */
.company-philosophy-width {
    max-width: calc(1200px + 8%);
    padding: 0 4%;
    margin: 0 auto;
}
.company-philosophy-wrap {
    text-align: center;
    width: 100%;
    height: auto;
/*    background-color: #FAFAFA;*/
    position: relative;
    padding: 60px 100px 90px 100px;
	margin-top: 30px;
    margin-bottom: -60px;
    border-bottom: solid 10px #ef4555;
    z-index: 10;
    background: white;
/*    margin-top: -74px;*/
}
.company-philosophy-wrap.corporate-philosophy-wrap {
    padding: 60px 100px 35px 100px;
}
.company-philosophy-wrap2 {
    text-align: center;
    width: 100%;
    height: auto;
    position: relative;
    padding: 100px 100px 0px 100px;
	margin-top: 30px;
    margin-bottom: -60px;
    border-bottom: solid 10px #ef4555;
    z-index: 10;
    background: white;
}
/*
/*

.company-philosophy-wrap::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    background-color: #EF4555;
    top: 0;
    left: 0;
}
*/
.company-philosophy {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.company-philosophy-wrap .company-ttl-en {
    text-align: left;
}
.company-philosophy-ttl-box {
    display: flex;
    flex-direction: column;
		margin-top: 30px;
}
.company-philosophy-ttl-box.corporate-philosophy-ttl-box {
    
		/* margin-top: 0; */
}
.company-philosophy-ttl-box2 {
    display: flex;
    flex-direction: column;
	margin-top: 40px;
	margin-left: 30px;
}
.company-philosophy-txt {
    text-align: left;
    width: 59.5%;
    height: auto;
    font-size: 30px;
    /* line-height: 1.6em; */
}

/* ビジョン */
.company-vision-wrap {
    width: 100%;
    height: auto;
    position: relative;
    padding-top: 150px;
	background-color: #F2F2F2;
}
/*
.company-vision-wrap::before {
    content: "";
    background-color: #F2F2F2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 306px;
}
*/
.company-vision-txt-wrap {
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 152px;
}
.company-vision-img {
    float: left;
    max-width: 700px;
    width: 50%;
    float: right;
    height: 359px;
    object-fit: cover;
}
.company-vision-txt-p {
    font-size: 24px;
    line-height: 1.66em;
    margin-top: 73px;
}
.company-vision-txt-p-p{
	font-size: 20px;
    line-height: 2;
	margin-top: 0 !important;
}


/* 代表挨拶 */
#company .people-detail-mv-img {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    position: relative;
    z-index: -1;
    max-width: 853px;
    width: 100%;
    min-height: 350px;
    object-fit: cover;
    object-position: center;
}
.company-message-inner {
    margin: 120px auto 0 auto;
    width: 100%;
    display: flex;
    position: relative;
    gap: 10px;
    justify-content: space-between;
	padding-bottom:100px;
}
.company-message-wrap .company-ttl-en {
    color: #EF4555;
}
.company-message-img {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    position: relative;
    z-index: -1;
    max-width: 853px;
    width: 100%;
    min-height: 350px;
    object-fit: cover;
    object-position: center;
}
.company-message-wrap {
    width: 100%;
    height: auto;
    position: relative;
}
.company-message-wrap::before {
    content: "";
    background-color: #EF4555;
    position: absolute;
    bottom : 0;
    left: 0;
    width: 100%;
    height: 470px;
    z-index: -1;
}
.company-message-txt .kaso-pagettl {
    text-align: left;
}
#company .people-detail-mv-img {
    max-width: 650px;
}

/* メッセージ */
.company-message-txt {
    margin-right: -160px;
    position: relative;
}
.company-message-txt-box {
    margin-top: 46px;
}
.company-message-txt-wrap {
    max-width: 500px;
    height: auto;
}
.txt-bg {
    color: #EF4555;
    background: #fff;
    font-size: clamp(14px, 3.6vw, 36px);
    font-weight: bold;
    line-height: 1.5em;
    padding: 0px 21px 0 15px;
    display: inline-block;
    margin-top: 5px;
    white-space: nowrap;
}
 .company-message-txt-box ul {
    margin-bottom: 0;
    list-style-position: inside;
}
.company-message-txt-sub {
    color: #fff;
    font-size: 20px;
    line-height: 1.5em;
    margin-top: 13px;
    max-width: 455px;
}
/* もっとみるボタン */
.company-message-more-btn {
    width: 230px;
    height: auto;
    background-color: #fff;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
    text-align: center;
    position: relative;
    margin-top: 69px;
}
.company-message-more-btn a {
    display: block;
    padding: 15px 2% 12px 2%;
}
.company-message-more-btn-txt {
    color: #EF4555;
    font-size: 18px;
    font-weight: bold;
}
.company-message-more-btn img {
    position: absolute;
    right: 21px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}


/* ミッション */
.company-mission {
    width: 100%;
    height: auto;
    background-color: #EF4555;
    padding-top: 99px;
    text-align: center;
}
.company-mission .company-ttl-en, .company-mission .company-ttl, .company-mission-txt-main, .company-mission-txt-sub, .company-mission-txt-sub span {
    color: #fff;
}
.company-mission-txt-main {
    font-size: 40px;
    font-weight: bold;
    line-height: 1.25em;
    margin-top: 47.9px;
}
.company-mission-img {
    margin-bottom: -10px;
}
.company-mission-txt-sub {
    line-height: 1.62em;
    margin-top: 36px;
	padding-bottom: 120px;
}

/* 3つの基本方針  */
.company-policies {
    width: 100%;
    height: auto;
    position: relative;
    padding-top: 123.8px;
    background-color: #FCFCFC;
    z-index: 1;
    padding-bottom: 116px;
}
.company-policies::before {
    content: "";
    background-color: #EF4555;
    width: 100%;
    height: 511px;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
}
.company-policies-imgbox a {
    display: block;
    height: 100%;
}
.company-policies .company-ttl-en, .company-policies .company-ttl {
    color: #fff;
}
.company-policies .company-ttl-wrap {
    margin-bottom: 43px;
}
.company-policies-box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}
.company-policies-imgbox {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    background-color: #fff;
    height: auto;
    width: 100%;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.company-policies-imgbox-txt {
    width: 100%;
    height: auto;
    padding: 35px 10% 51.2px 10%;
    text-align: left;
}
.company-policies-imgbox-txt-ttl {
    font-size: 26px;
    font-weight: bold;
    color: #EF4555;
    text-align: center;
    line-height: 1.38em;
    min-height: 4.1em;
}
.company-policies-imgbox-txt-comment { 
    font-size: 16px;
    line-height: 1.87em;
    margin-top: 23.8px;
}
.company-voice-img {
    border-radius: 10px 10px 0 0;
    -webkit-border-radius: 10px 10px 0 0;
    -moz-border-radius: 10px 10px 0 0;
    -ms-border-radius: 10px 10px 0 0;
    -o-border-radius: 10px 10px 0 0;
    width: 100%;
}

/* 10の行動指針 */
.company-guidelines .company-ttl-wrap {
    margin-bottom: 48px;
}
.company-guidelines {
    padding-bottom: 130px;
    background-color: #FCFCFC;
	position: relative;
}
.company-guidelines .company-ttl-wrap{padding-top:120px;}

.company-guidelines-box {
    display: grid;
    grid-column-gap: 13px;
    grid-row-gap: 32.9px;
/*    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));*/
}
.company-guidelines-item {
    width: 100%;
    height: auto;
    text-align: center;
}
.company-guidelines-item-icon-wrap {
    background-color: #fff;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    position: relative;
    padding: 2%;
    min-height: 152px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.company-guidelines-item-icon-wrap::before {
    content: "";
    background: url(../img/company-action-bg.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 48.16px;
    height: 48.16px;
    position: absolute;
    top: 0;
    left: 0;
}
.company-guidelines-item-number {
    position: absolute;
    top: 9.5px;
    left: 13px;
    font-family: 'Outfit', sans-serif;
    font-size: 32px;
    letter-spacing: 0.02em;
	color:#ef4555;
}
.company-guidelines-icon-txt {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: -0.01em;
    margin-top: 13.6px;
}
.company-guidelines-exp {
    margin-top: 17.5px;
    line-height: 2.2em;
}
.company-vision-txt-box {
    float: right;
    max-width: 414px;
    margin-right: 6.4%;
    width: 100%;
    margin-left: 2%;
	margin-bottom: 170px;
}




/* message.html ----------------------------------------------------------------------------------------------------------------------- */
/* パンくず */
#message .c-bread {
    background-color: #EC4658;
}
/* mv */
.message-mv {
    width: 100%;
    background-color: #EC4658;
    padding-top: 19px;
}
.message-mv-bg {
    width: 94%;
    padding-top: 220px;
    background: url(../img/message-mv.jpg) no-repeat center center;
    background-size: cover;
    height: 616px;
    margin: 0 auto;
}
.kaso-h1-wrap {
    max-width: calc(1000px + 4%);
    margin: 0 auto;
    padding: 0 2%;
    text-align: left;
}
.message-mv .kaso-h1 {
    margin-bottom: 13px;
}
/* 代表メッセージ */
.message-ttl-sub {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
    margin-top: 10px;
    letter-spacing: 0.08em;
}
.message-name {
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.08em;
}
.message-name-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #EF4555;
    font-size: 16px;
    letter-spacing: 0.015em;
}
.message-ttl-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.message-box-wrap {
    width: 100%;
    height: auto;
    background-color: #FAFAFA;
    position: relative;
    padding: 60px 91px 59px 71px;
    margin-top: -115px;
}
.message-box-wrap::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    background-color: #EF4555;
    top: 0;
    left: 0;
}
.message-box-inner {
    display: flex;
    justify-content: space-between;
}
.message-box {
    width: 49%;
}
.message-ttl {
    font-size: 28px;
    letter-spacing: 0.08em;
    line-height: 1.35em;
}
.company-txt {
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1.3;
    margin-top: 9px;
}

/* 代表あいさつ下メッセージ */
.message-copy-wrap {
    width: 100%;
    height: auto;
    background-color: #EF4555;
    padding: 141px 0 170px;
}
.message-copy-inner {
    text-align: center;
}
.message-copy-inner p, .message-copy-inner span, .message-copy-ttl {
    color: #fff;
    font-size: 18px;
    line-height: 1.66em;
}
.message-copy-txt-wrap p {
    margin-bottom: 1.7em;
}
.message-copy-txt-wrap p:last-of-type {
    margin-bottom: 0em;
}
.message-copy-inner .message-copy-ttl {
    font-size: 34px;
    font-weight: bold;
    line-height: 1.5em;
}
.message-copy-txt-wrap {
    margin: 49px auto 0 auto;
    max-width: 700px;
}

/* 代表メッセージ白背景 */
.message-wbg {
    position: relative;
}
.message-wbg-wrap {
    width: 100%;
    height: auto;
    padding: 0 2% 0 2%;
    background-color: #FCFCFC;
}
.message-wbg-txt-wrap {
    margin-bottom: 152px;
    max-width: calc(1000px + 4%);
    width: 100%;
    margin: 0 auto;
}
.message-wbg-img {
    max-width: 460px;
    width: 36%;
    object-fit: cover;
    position: absolute;
    top: 150px;
    right: 7%;
}
.message-wbg-wrap-box {
    width: 100%;
    background-color: #fff;
    height: auto;
    padding: 69px 44% 67px 9.2%;   
    margin-top: 80px;
}


.message-wbg-ttl {
    font-size: 34px;
    font-weight: bold;
    color: #EF4555;
    line-height: 1.47em;
    max-width: 500px;
}

.message-wbg-wrap-txt-p {
    font-size: 18px;
    line-height: 2em;
    color: #EF4555;
    max-width: 500px;
    margin-top: 28px;
}

.message-wbg-wrap-txt-p span {
    font-size: 18px;
    line-height: 2em;
    color: #EF4555;
}

.message-wbg-wrap-txt-p2 span {
    font-size: 18px;
    line-height: 2em;
    color: #EF4555;
	text-align:left;
}

@media screen and (max-width:750px){
.message-wbg-wrap-txt-p2 span {
	font-size: 16px !important;
}
}

.message-wbg-wrap-txt-p-btm {
    font-size: 22px;
    line-height: 1.8em;
    font-weight: bold;
    color: #EF4555;
    max-width: 500px;
    margin-top: 22px;
}

.message-wbg-wrap-box2 {
    width: 100%;
    background-color: #fff;
    height: auto;
    padding: 69px 3%;   
/*    margin-top: 80px;*/
}

.message-wbg-ttl2 {
    font-size: 34px;
    font-weight: bold;
    color: #EF4555;
    line-height: 1.47em;
}

.message-wbg-wrap-txt-p2 {
    font-size: 18px;
    line-height: 2em;
    color: #EF4555;
    margin-top: 28px;
}

/*2番目の段落のmargin-top0に*/
@media screen and (max-width:750px){
.message-wbg-wrap-txt-p2-mt0 {
    margin-top:0;
}
}

.message-wbg-wrap-txt-p2 span {
    font-size: 18px;
    line-height: 2em;
    color: #EF4555;
	margin-top: 5px;
}

.message-wbg-wrap-txt-p2 .komidashi {
	font-size: 18px;
    line-height: 2em;
    color: #EF4555;
	font-weight: bold;
}

.message-wbg-wrap-txt-p-btm2 {
    font-size: 22px;
    line-height: 1.8em;
    font-weight: bold;
    color: #EF4555;
    margin-top: 50px;
}

.message-wbg .message-wbg-wrap02 {
    padding-top: 100px;
    padding-bottom: 207px;
}
.message-wbg-wrap-box-left {
    width: 100%;
    background-color: #fff;
    height: auto;
    padding: 52px 7% 122.5px 44%;    
    margin-top: 80px;
}
.message-wbg-img-left {
    max-width: 460px;
    width: 36%;
    object-fit: cover;
    position: absolute;
    top: 100px;
    left: 7%;
}


/* ３つの事業計画とは？ */
.message-three-plan {
    background-color: #EF4555;
    width: 100%;
    padding-top: 169px;
    padding-bottom: 212px;
}
.message-three-plan-inner {
    display: flex;
}
.message-three-plan-ttl, .message-three-plan-ttl span {
    font-size: clamp(25px, 4vw, 34px);
    font-weight: bold;
    line-height: 1.47em;
    color: #fff;
}
.message-three-plan-ttl {
    width: 50%;
    padding-right: 1%;
    line-height: 1.35em;
}
.message-three-plan-item-wrap {
    width: 50%;
}
.message-three-plan-item {
    display: flex;
    background-color: #DE4354;
    padding: 30px 5% 28px 6.8%;
    gap: 26px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    margin-bottom: 10px;
}
.message-three-plan-item:last-of-type {
    margin-bottom: 0;
}
.message-three-plan-item-number, .message-three-plan-item-txt-wrap h3, .message-three-plan-item-txt-wrap p, .message-three-plan-txt-btm {
    color: #fff;
}
.message-three-plan-item-number {
    font-family: 'Outfit', sans-serif;
    font-size: 24px;
    letter-spacing: 0.02em;
    line-height: 1.125em;
}
.message-three-plan-item-ttl {
    font-size: 20px;
    line-height: 1em;
    font-weight: bold;
    margin-top: 4px;
}
.message-three-plan-item-txt {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.71em;
}
.message-three-plan-txt-btm {
    margin-top: 43.7px;
    font-size: 18px;
    line-height: 1.66em;
}

/* ３つの事業計画とは？下メッセージ */
.plan-under-message-bg {
    background-color: #FCFCFC;
    width: 100%;
    height: auto;
    padding-bottom: 262px;
}
.plan-under-message-bg::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 110px;
    background-color: #EF4555;
    position: relative;
}
.plan-under-message-wrap {
    width: 100%;
    height: auto;
    background-color: #fff;
    position: relative;
    padding: 82px 7.4% 97px 7.4%;
    margin-top: -110px;
}  
.plan-under-message-box {
    width: 44.5%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.plan-under-message-wrap p {
    color: #EF4555;
}
.plan-under-message-ttl {
    font-size: clamp(25px, 3.5vw, 32px);
    font-weight: bold;
    line-height: 2em;
}
.plan-under-message-name {
    font-size: 16px;
    line-height: 1.87em;
}
.plan-under-message-txt {
    font-size: 18px;
    line-height: 2em;
    font-weight: bold;
    margin-bottom: 2em;
}
.plan-under-message-txt:last-of-type {
    margin-bottom: 0em;
}
.plan-under-message-box-right {
    margin-top: 5px;
    width: 60%;
    padding-left: 2%;
}




/* service.html -------------------------------------------------------------------------------------------------- */
#service-page {
    background-color: #F2F2F2;
}

/* mv */
.service-mv {
    margin-top: 89px;
}
.service-h1 {
    font-size: 16px;
    color: #EF4555;
    font-weight: bold;
    margin-bottom: 12px;
}
.service-h1-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 60px;
    margin-bottom: 46px;
    letter-spacing: 0.015em;
}
.service-mv-txt {
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1.5em;
    max-width: 571px;
}
.service-mv-img {
    max-width: 1200px;
    width: 86%;
    display: block;
    margin: 87px 0 auto auto;
    height: auto;
}


/* サービス事業一覧 */
.service-items {
    width: 100%;
    height: auto;
    margin-bottom: 241px;
}
.service-item-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 120px;
}
.service-item-reverse {
    flex-direction: row-reverse;
}
.service-item-txt-wrap {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.service-item-img {
    width: 36.3%;
    height: auto;
    object-fit: cover;
}
.service-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 12px;
    color: #EF4555;
    letter-spacing: 0.015em;
    margin-bottom: 14px;
}
.service-ttl {
    font-weight: bold;
    font-size: 40px;
    margin-bottom: 70px;
}
.service-item-ttl-wrap .service-ttl {
    font-weight: bold;
    font-size: 40px;
    margin-bottom: 60px;
}
.service-item-exp {
    font-size: 28px;
    letter-spacing: 0.08em;
    line-height: 1.35em;
}
.service-item-exp-sub {
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1.3em;
    margin-top: 15px;
}
.service-item-btn-txt {
    font-size: 24px;
    font-weight: bold;
}


/* ボタン */
.service-item-btn {
    padding-top: 16px;
}
.service-item-btn a {
    display: flex;
    align-items: center;
    gap: 18px;
}
.service-item-btn a:hover .service-item-btn-svg {
    background-color: #EF4555;
    stroke: #fff;
}
/* .service-btn-circle {
    width: 82px;
    height: 82px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border: 1px solid #EF4555;
    background-color: #F2F2F2;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}
.service-btn-circle svg {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
} */
.service-item-btn-svg {
    padding: 35.5px 37px;
    border: 1px solid #EF4555;
    background-color: #F2F2F2;
    stroke: #EF4555;
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}

/* サービス事業下層共通CSS ------------------------------------------- */
/* mv */
.service-kaso-mv {
    padding-bottom: 180px;
}
.service-kaso-mv-inner {
    margin: auto 0 auto auto;
    width: 100%;
    padding: 0 0 0 7.2%;
    display: flex;
    /* max-width: calc(1300px + 7%); */
    position: relative;
    gap: 10px;
    justify-content: space-between;
}
.service-kaso-mv-txt {
    margin-top: 42px;
    position: relative;
    z-index: 1;
    width: 29%;
    min-width: 340px;
}
.service-kaso-ttl-en {
    text-align: left;
    font-family: "roc-grotesk-wide", sans-serif;
    color: #F2F2F2;
    font-weight: 500;
    font-style: normal;
    font-size: 60px;
    margin-bottom: 81px;
    letter-spacing: 0.015em;
    text-shadow: 1px 1px 0 #EC4658, -1px -1px 0 #EC4658, -1px 1px 0 #EC4658, 1px -1px 0 #EC4658, 0px 1px 0 #EC4658, 0-1px 0 #EC4658, -1px 0 0 #EC4658, 1px 0 0 #EC4658;
}
.service-kaso-mv-img-wrap {
    margin-top: -35px;
}
.service-kaso-mv-img {
    max-width: 903px;
    width: 100%;
    min-height: 350px;
    object-fit: cover;
    object-position: center;
}
.service-kaso-comment-box {
    /* max-width: 560px; */
    width: 149%;
    background-color: #F2F2F2;
    margin-right: -175px;
    padding-right: 60px;
    min-height: 442px;
}
.service-kaso-comment {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 2em;
}
.service-kaso .service-kaso-mv {
    background-color: #F2F2F2;
}
.service-kaso {
    background-color: #fcfcfc;
}

/* パンくず */
.service-kaso-bread {
    padding-bottom: 25px;
    background-color: #F2F2F2;
}

/* food.html ---------------------------------------------------------------------------------------- */
/* mv */
#food .service-kaso-mv {
    padding-bottom: 164px;
}

/* 店舗情報 */
.food-store-info-wrap {
    margin-top: -14px;
    margin-bottom: 222px;
}
.food-store-ttl-wrap {
    text-align: center;
    margin-bottom: 76px;
}
.food-store-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #EF4555;
    letter-spacing: 0.015em;
    line-height: 1em;
    font-size: 30px;
    margin-bottom: 9px;
}
.food-store-ttl {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.08em;
}
.food-store-item-box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 20px;
    row-gap: 46px;
}
.food-store-item a {
    display: block;
}
.food-store-item-img {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    margin-bottom: 20px;
    aspect-ratio: 320/234;
    object-fit: cover;
    text-align: center;
    width: 100%;
}
.food-store-item-category {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #EF4555;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    display: inline-block;
    padding: 8px 6px 5px 6px;
    min-width: 120px;
    height: auto;
    text-align: center;
    margin-bottom: 31px;
}
.food-store-item-name {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 15px;
}
.food-store-item-address, .food-store-item-tel {
    font-size: 16px;
    line-height: 1.25em;
}
.food-store-item-address {
    margin-bottom: 6px;
}


/* food__detail.html --------------------------------------------------------------------------------------- */
#food-detail {
    background-color:#F2F2F2;
}
.food-detail-mv {
    width: 100%;
    height: 620px;
    background: url(../img/food-detail-mv.jpg) no-repeat center top;
    background-size: cover;
}
.food-detail-mv-under {
    text-align: center;
    width: 100%;
    height: auto;
    background-color: #fff;
    position: relative;
    padding: 60px 45px 46px 52px;
    margin-top: -74px;
    margin-bottom: 74px;
}
.food-detail-mv-under::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    background-color: #EF4555;
    top: 0;
    left: 0;
}
.food-detail-mv-under-inner {
    display: flex;
    justify-content: space-between;
}
.food-detail-mv-under-inner-txt-box {
    text-align: left;
}
.food-detail-mv-under-inner-txt {
    text-align: left;
    width: 61%;
    height: auto;
    font-size: 28px;
    line-height: 1.35em;
    letter-spacing: 0.08em;
    font-weight: bold;
}
.food-detail-ttl {
    font-size: 40px;
    font-weight: bold;
    line-height: 1.25em;
    margin-bottom: 12px;
}
.food-detail-ttl-category {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #EF4555;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    display: inline-block;
    padding: 8px 6px 5px 6px;
    min-width: 120px;
    height: auto;
    text-align: center;
    margin-bottom: 0px;
}

/*  食品画像スライド  */
.food-detail-slider {
    max-width: 583px;
    width: 58.3%;
}
.food-detail-slider-item img {
    width: 583px;
}

/* 矢印 */
.slick-arrow {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    padding: 0;
    color: transparent;
    z-index: 1;
    transition: opacity 0.5s;
    z-index: 1;
}
.prev-arrow, .next-arrow {
    position: absolute;
    top: 0%;
    cursor: pointer;
}
.prev-arrow {
    left: 20px;
}
.next-arrow {
    right: 20px;
}

  /* スライドサムネ */
.food-detail-thumbnail .slick-track {
    transform: unset !important;
    -webkit-transform: unset !important;
    -moz-transform: unset !important;
    -ms-transform: unset !important;
    -o-transform: unset !important;
}
.food-detail-thumbnail {
    margin-top: 50px;
    background-color: #EAEAEA;
}
.food-detail-thumbnail .slick-slide {
    height: auto;
    cursor: pointer;
    max-height: 120px;
}
.food-detail-thumbnail img {
    object-fit: cover !important;
    height: 120px;
}
.food-detail-thumbnail .slick-track {
    width: 100% !important;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
.slick-track:after, .slick-track:before {
    content: none !important;
}

/* ドット写真 */
.slick-dots {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    width: 100%;
    background-color: #EAEAEA;
    margin-top: 50px;
}
.slick-dots li:nth-of-type(1) button:before{
    background: url("../img/beauty-img01.jpg") no-repeat;
    background-size: cover!important;
}
.slick-dots li:nth-of-type(2) button:before{
    background: url("./img/btn_02.png") no-repeat;
    background-size: cover!important;
}
.slick-dots li:nth-of-type(3) button:before{
    background: url("./img/btn_03.png") no-repeat;
    background-size: cover!important;
}
.slick-dots li button:before{
    content: ""!important;
    height:100%!important;
    width: 100%!important;
}
.slick-dots li{
    width: 100%!important;
    height: 120px!important;
    margin: 0!important;
}
.slick-dots li button{
    width:100%!important;
    height:100%!important;
}
.food-detail-slider-wrap {
    margin-bottom: 196px;
}

/* スライド横文章 */
.food-detail-slider-txt {
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1.7em;
    width: 37.6%;
    float: right;
}

/* 営業情報 */
.food-detail-store-info-wrap {
    width: 100%;
    height: auto;
    position: relative;
    padding-bottom: 135px;
}
.food-detail-store-info-wrap::before {
    content: "";
    background-color: #F2F2F2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 88px;
    z-index: -1;
}
.food-detail-store-info-wrap::after {
    content: "";
    background-color: #fcfcfc;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}
.food-detail-store-info {
    text-align: center;
    width: 66%;
    margin: 0 auto;
    max-width: 660px;
    background-color: #fff;
    padding: 63px 5% 66px 5%;
}
.food-detail-store-info-ttl {
    color: #EF4555;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: -10px;
}
.food-detail-store-info-name {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.33em;
}
/* 表 */
.food-detail-store-info-box .service-kaso-company-info-table {
    text-align: left;
    max-width: 500px;
    width: 100%;
    margin: 25px auto;
    padding: 0 3%;
}

/* SNS一覧 */
.service-kaso-company-info-sns {
    width: 100%;
    height: auto;
    margin-top: 51px;
}
.service-kaso-company-info-sns-wrap {
    display: flex;
    justify-content: center;
}
.service-kaso-company-info-sns-wrap li {
    margin-right: 7px;
}
.service-kaso-company-info-sns-wrap li:last-of-type {
    margin-right: 0px;
}

/* 地図 */
.food-detail-map iframe {
    width: 100%;
    height: 420px;
}





/* サービス事業詳細　共通css ------------------------------------------------------ */
.service-kaso-company {
    display: flex;
    width: 100%;
    height: auto;
    justify-content: space-between;
    margin-top: -67px;
    align-items: flex-start;
    min-height: 748px;
    padding-bottom: 20px;
}
.service-kaso-company-img {
    max-width: 450px;
    width: 45%;
}
.service-kaso-company-info {
    width: 50%;
    margin-top: 54px;
}
.service-kaso-company-info-category {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #EF4555;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    padding: 6px 2px 5px 2px;
    width: 274px;
    height: auto;
    text-align: center;
    margin-bottom: 22px;
}
.service-kaso-company-info-ttl {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.33em;
    margin-bottom: 20px;
}
.service-kaso-company-info-txt {
    font-size: 16px;
    line-height: 1.62em;
}
/* 表 */
.service-kaso-company-info-table {
    font-size: 14px;
    line-height: 1.42em;
    margin-top: 66px;
}
.service-kaso-company-info-table-td01 {
    color: #7C7C7C;
    padding: 6px 1px 4px 0;
    width: 111px;
}
.service-kaso-company-info-table-address {
    padding: 6px 0 13px 0 !important;
}
.service-kaso-company-info-table-td02 {
    padding: 3px 0;
}
.service-kaso-company-info-table-td02 a {
    display: block;
}
.service-kaso-company-info-table-td02 a img {
    vertical-align: top;
    padding-left: 7px;
}



/* recruit.html ------------------------------------------------------------------------------------ */
/* mv */
.recruit-mv {
    background-color: #F2F2F2;
    height: 1073px;
    background-image: url(../img/recruit-mv-right01.jpg), 
    url(../img/recruit-mv-right02.jpg), 
    url(../img/recruit-mv-right03.jpg), 
    url(../img/recruit-mv-left01.jpg), 
    url(../img/recruit-mv-left03.jpg),
    url(../img/recruit-mv-left02.jpg);
    background-repeat:no-repeat,
					  no-repeat,
					  no-repeat,
					  no-repeat,
                      no-repeat,
					  no-repeat;
	background-position:83.4% 50px,
						right 285px,
						76.5% 750px,
						31% top,
                        17% 600px,
                        left 306px;
    background-size: 14%, 21%, 11.4%, 25%, 14%, 23%;
}
.recruit-mv-h1-wrap {
    text-align: center;
}
.recruit-h1 {
    font-size: 16px;
    color: #EF4555;
    font-weight: bold;
    margin-bottom: 21px;
}
.recruit-h1-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 60px;
    margin-bottom: 16px;
    letter-spacing: 0.015em;
}
.recruit-mv-txt {
    max-width: 400px;
    margin: 0 auto;
}
.recruit-mv-txt-wrap {
    margin-top: 224px;
}
.recruit-mv-txt {
    font-size: 20px;
    line-height: 1.7em;
}

/* 採用情報コメント */
.recruit-box-wrap {
    width: 100%;
    height: auto;
    background-color: #fff;
    position: relative;
    padding: 63px 65px 65px 71px;
    margin-top: -162px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.recruit-box-inner {
    display: flex;
    justify-content: space-between;
}
.recruit-box-ttl {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 44.2%;
}
.recruit-box {
    width: 50.3%;
}
.recruit-box-txt {
    font-size: 18px;
    line-height: 1.55em;
    color: #EF4555;
}
.recruit-box-txt-left {
    font-size: 24px;
    font-weight: bold;
    color: #EF4555;
    line-height: 1.66em;
}
.recruit-comment-bg-sp {
    width: 100%;
    height: auto;
    position: relative;
}
.recruit-comment-bg-sp::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #EF4555;
    position: absolute;
    z-index: -1;
    top: 0;
}
.recruit-comment-bg {
    width: 100%;
    height: auto;
    position: relative;
}
.recruit-comment-bg::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #EF4555;
    position: absolute;
    z-index: -1;
    top: 0;
}

/* ソフトラインで働く魅力 */
.recruit-charm-wrap {
    width: 100%;
    height: auto;
    padding-top: 100px;
    padding-bottom: 147px;
}
.recruit-charm-wrap-ttl {
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    text-align: center;
}
.recruit-charm-item-wrap {
    margin-top: 61px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}
.recruit-charm-item-number {
    color: #EF4555;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    letter-spacing: 0.015em;
    background-color: #fff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto -25px auto;
    position: relative;
    z-index: 1;
}
.recruit-charm-item-txt {
    margin-top: 17px;
    width: 100%;
    padding: 0 3%;
}
.recruit-charm-item-txt-ttl {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5em;
}
.recruit-charm-item-txt-p {
    margin-top: 9px;
    color: #fff;
    line-height: 1.6em;
}

/* ソフトラインの働き方 */
.recruit-work-wrap {
    width: 100%;
    height: auto;
    margin: 124px 0 151px 0;
}
.recruit-work-wrap-ttl {
    font-size: 34px;
    font-weight: bold;
    color: #EF4555;
    text-align: center;
    margin-bottom: 63.4px;
}
.recruit-work-box {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: auto;
    padding: 59px 5.6% 50px 5.6%;
    background-color: #fff;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    margin-bottom: 10px;
}
.recruit-work-box:last-of-type {
    margin-bottom: 0;
}
.recruit-work-box-ttl-wrap {
    width: 37.5%;
}
.recruit-work-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    color: #EF4555;
    letter-spacing: 0.015em;
}
.recruit-work-ttl {
    font-size: 30px;
    font-weight: bold;
    margin-top: 9px;
}
.recruit-work-box-txt {
    font-size: 16px;
    line-height: 1.75em;
}
.recruit-work-box-txt-wrap {
    width: 61.9%;
}

/* 各事業について見る */
.recruit-other-business-bg {
    background-color: #F2F2F2;
}
.recruit-other-business {
    width: 100%;
    height: auto;
    padding: 105px 0 109px;
}
.recruit-other-business-h3 {
    font-size: 34px;
    font-weight: bold;
    text-align: center;
}
.recruit-other-business-inner {
    margin-top: 45.4px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.recruit-other-business-box {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    background-color: #fff;
}
.recruit-other-business-box a {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.recruit-other-business-txt-wrap {
    padding: 27px 0 23px 26px;
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 140px;
}
.recruit-other-business-ttl-en {
    text-transform: uppercase;
}
.recruit-service-arrow {
    position: absolute;
    right: 10px;
    bottom: 18px;
}
.recruit-other-business-img {
    width: 50%;
    border-radius: 0 10px 10px 0;
    -webkit-border-radius: 0 10px 10px 0;
    -moz-border-radius: 0 10px 10px 0;
    -ms-border-radius: 0 10px 10px 0;
    -o-border-radius: 0 10px 10px 0;
    object-fit: cover;
}
.recruit-other-business-txt-number {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.015em;
    margin-bottom: 7px;
}
.recruit-other-business-ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.33em;
}
.recruit-other-business-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    color: #EF4555;
    letter-spacing: 0.015em;
}


/* リクルート介護.html -------------------------------------------------------------------------------------------- */
.recruit-layer .header {
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.16);
}
/* ヘッダー */
.recruit-header-logo-wrap {
    width: 100%;
    height: auto;
    padding: 26px 2.8% 24px 2.8%;
    background-color: #EF4555;
    display: flex;
    align-items: center;
    gap: 25.5px;
}
.recruit-header-h1-en a {
    font-size: 26px;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #fff;
}
.recruit-header-h1 a {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}
.recruit-header-menu-wrap {
    width: 100%;
    background-color: #fff;
    padding: 15px 0 14px 2.8%;
    position: relative;
}
.recruit-header-menu {
    display: flex;
}
.recruit-header-menu-list {
    border-right: 1px solid #222;
    padding-right: 2%;
    padding-left: 2%;
}
.recruit-header-menu-list:first-of-type {
    padding-left: 0px;
}
.recruit-header-menu-list:last-of-type {
    border-right: 0px solid #222;
    padding-right: 0px;
}
.recruit-header-menu-list a {
    display: block;
    font-weight: bold;
    letter-spacing: 0.08em;
}
/* エントリーボタン */
.recruit-header-entry {
    background-color: #EF4555;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
    line-height: 50px;
    width: 240px;
    text-align: center;
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.16);
    border: 2px solid #fff;
    position: absolute;
    top: -18px;
    right: 2%;
    height: 50px;
} 
.recruit-header-entry a {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    display: block;
}
/* mv */
.recruitsite-mv {
    height: 600px;
    object-fit: cover;
    width: 100%;
    object-position: 75%;
}
/* ハーモニーデイサービスの採用情報 */
.recruitsite-pink-bg {
    background-color: #EF4555;
}
.recruitsite-info-wrap {
    text-align: center;
    width: 100%;
    height: auto;
    background-color: #FAFAFA;
    position: relative;
    padding: 72px 82px 74px 77px;
    margin-top: -80px;
}
.recruitsite-info-wrap::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 10px;
    background-color: #EF4555;
    top: 0;
    left: 0;
}
.recruitsite-info {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.recruitsite-info-ttl {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.33em;
    width: 43%;
    text-align: left;
}
.recruitsite-info-txt {
    text-align: left;
    width: 49.7%;
    height: auto;
    font-size: 18px;
    line-height: 1.55em;
}


/* ハーモニーデイサービスで働く */
.recruitsite-working {
    text-align: center;
    padding-top: 138px;
}
.recruitsite-working-txt-wrap {
    padding-bottom: 280px;
}
.recruitsite-working-txt {
    max-width: 800px;
    width: 80%;
    margin: 0 auto;
    text-align: left;
    margin-top: 36px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.7em;
}
.recruitsite-working-ttl-en {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.015em;
    color: #fff;
    font-size: 20px;
    margin-bottom: 5px;
}
.recruitsite-working-ttl {
    font-size: 34px;
    color: #fff;
    font-weight: bold;
}
.recruitsite-working-entry {
    width: 467px;
    height: 80px;
    text-align: center;
    line-height: 80px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
    margin-top: 54px;
}
.recruitsite-working-entry a {
    color: #EF4555;
    font-size: 24px;
    font-weight: bold;
    display: block;
}
/* 特徴 */
.recruitsite-working-charm-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 5%;
    margin-top: -83px;
    margin-bottom: 154px;
}
.recruitsite-working-charm-img {
    margin-bottom: 49px;
    width: 100%;
}
.recruitsite-working-charm-ttl {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.46em;
}
.recruitsite-working-charm-txt {
    font-size: 18px;
    line-height: 1.44em;
    margin-top: 18px;
}

/* お仕事内容 */
.recruitsite-job-content {
    width: 100%;
    height: 460px;
    object-fit: cover;
}
/* 見出し */
.recruitsite-job-content-txt-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 97px;
    padding-top: 90px;
}
.recruitsite-h2-en {
    font-size: 12px;
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #EF4555;
    letter-spacing: 0.015em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.recruitsite-h2 {
    font-size: 40px;
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.015em;
}
.recruitsite-txt-wrap {
    width: 66%;
}
.recruitsite-txt {
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1.7em;
}

/* 社員紹介 */
.recruitsite-employees {
    width: 100%;
    background-color: #FCFCFC;
    padding: 100px 0 146px;
}
.recruitsite-employees .recruitsite-h2-wrap {
    text-align: center;
}
.recruitsite-employees-box {
    display: flex;
    justify-content: space-between;
    margin-top: 90px;
    align-items: flex-start;
}
.recruitsite-employees-box-img {
    width: 69%;
}
.recruitsite-employees-box-img img {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.recruitsite-employees-box-job {
    font-weight: bold;
    color: #EF4555;
    margin-top: 28px;
}
.recruitsite-employees-box-name {
    font-size: 30px;
    font-weight: bold;
    margin-top: 17px;
}
.recruitsite-employees-box-txt {
    background-color: #fff;
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.16);
    border-top: 10px solid #EF4555;
    padding: 49px 5% 45.2px 5%;
    width: 44.5%;
    margin-left: -130px;
    margin-top: 60px;
    position: relative;
    z-index: 1;
}
.recruitsite-employees-box-txt-ttl {
    color: #EF4555;
    font-size: 26px;
    font-weight: bold;
    line-height: 1.53em;
    margin-bottom: 16.8px;
    letter-spacing: 0.08em;
}
.recruitsite-employees-box-txt-p {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height: 1.55em;
    color: #EF4555;
}
.recruitsite-employees-box-reverse {
    flex-direction: row-reverse;
}
.recruitsite-employees-box-txt-left {
    margin-left: 0px;
    margin-right: -130px;
}
.recruitsite-employees-box-img-right {
    text-align: right;
}

/* 福利厚生 */
.recruitsite-welfare-bg {
    background-color: #F2F2F2;
    padding-bottom: 150px;
}
.recruitsite-welfare-bg .recruitsite-h2-wrap {
    text-align: center;
}
.recruitsite-welfare .recruitsite-h2-wrap {
    margin-bottom: -23px;
}
.recruitsite-welfare {
    padding-top: 138px;
}
.recruitsite-welfare-box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px;
    background-color: #FCFCFC;
    padding: 71px 65px 73px 65px;
}
.recruitsite-welfare-box-item {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.42em;
    text-align: center;
    min-height: 132px;
    padding: 10px 19px;
}

/* 採用ステップ */
.recruitsite-recruitment {
    padding-top: 113px;
}
.recruitsite-recruitment-box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 11.5px;
    margin-top: 71.8px;
}
.recruitsite-recruitment-step {
    background-color: #fff;
    border-top: 5.75px solid #EF4555;
    padding: 0 10% 25.6px 10%;
    text-align: center;
}
.recruitsite-recruitment-step-number {
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    background-color: #EF4555;
    width: 50px;
    height: 50px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    letter-spacing: 0.015em;
    margin: -28px auto 23.7px auto;
}
.recruitsite-recruitment-step-ttl {
    font-size: 28px;
    color: #EF4555;
    font-weight: bold;
    margin-bottom: 24.3px;
}
.recruitsite-recruitment-step:nth-of-type(1) img { /* エントリーアイコン */
    margin: 0px 0 5px 0;
}
.recruitsite-recruitment-step:nth-of-type(2) img { /* 書類選考アイコン */
    margin: 10px 0 0 0;
}
.recruitsite-recruitment-step:nth-of-type(3) img { /* 面接アイコン */
    margin: 10px 0 0 0;
} 
.recruitsite-recruitment-step:nth-of-type(4) img { /* 内定アイコン */
    margin: 0px 0 5px 0;
}
.recruitsite-recruitment-step-txt {
    margin-top: 20px;
    text-align: left;
    font-size: 14px;
    line-height: 1.42em;
    letter-spacing: 0.06em;
}

/* エントリー方法 */
.recruitsite-enter {
    padding-top: 109px;
}
.recruitsite-enter-box-wrap {
    margin-top: 70px;
}
.recruitsite-enter-box {
    width: 100%;
    min-height: 109px;
    display: flex;
    align-items: center;
    background-color: #fff;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    padding: 10px 3.9% 10px 4.6%;
    justify-content: space-between;
    margin-bottom: 10px;
    gap: 10px;
}
.recruitsite-enter-box:last-of-type {
    margin-bottom: 0px;
}
.recruitsite-enter-box:nth-of-type(2) {
    min-height: 168px;
}
.recruitsite-enter-box-txt {
    font-size: 20px;
    font-weight: bold;
    max-width: 612px;
    width: 66.2%;
    line-height: 1.5em;
}
.recruitsite-enter-btn {
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
    background-color: #EF4555;
    width: 230px;
    line-height: 50px;
    text-align: center;
}
.recruitsite-enter-btn a {
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    display: block;
}
.recruitsite-enter-line {
    width: 197px;
    margin-right: 19px;
}
.recruitsite-enter-tel {
    text-align: center;
    min-width: 260px;
}
.recruitsite-enter-tel a {
    font-size: 40px;
    font-family: 'Outfit', sans-serif;
    letter-spacing: 0.015em;
    line-height: 0.7em;
    display: block;
    margin-right: 10px;
    width: 100%;
}
.recruitsite-enter-tel-time {
    font-size: clamp(17px, 1vw, 18px);
    letter-spacing: 0.08em;
    line-height: 1em;
    display: inline-block;
    font-weight: bold;
}

/* 募集要項 */
.recruitsite-require {
    padding-top: 100px;
    display: flex;
    justify-content: space-between;
}
.recruitsite-require .recruitsite-h2-en {
    font-size: 20px;
    font-weight: 500;
}
.recruitsite-require .recruitsite-h2 {
    font-size: 34px;
}
.recruitsite-require-wrap {
    width: 70%;
}
.recruitsite-require-box {
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    padding: 34px 5% 30px 5%;
    margin-bottom: 20px;
}
.recruitsite-require-box:last-of-type {
    margin-bottom: 0;
}
.recruitsite-require-box-ttl-wrap {
    width: 100%;
    padding-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #F2F2F2;
}
.recruitsite-require-box-ttl {
    font-size: 20px;
    font-weight: bold;
}
.recruitsite-require-box-type {
    font-size: 14px;
    letter-spacing: 0.08em;
    width: 109px;
    height: 25px;
    background-color: #F2F2F2;
    text-align: center;
    line-height: 25px;
    font-weight: bold;
}
.recruitsite-require-box-job-wrap {
    padding-top: 37px;
}
.recruitsite-require-box-job {
    font-size: 20px;
    font-weight: bold;
}
.recruitsite-require-box-txt {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.57em;
}
.recruitsite-require-box-table {
    margin-top: 37px;
}
.recruitsite-require-box-table th {
    width: 16%;
    text-align: left;
    padding: 9.5px 0;
    color: #7C7C7C;
    font-size: 14px;
    letter-spacing: 0.08em;
}
.recruitsite-require-box-table td {
    font-weight: bold;
    font-size: 14px;
}
.recruitsite-require-btn {
    text-align: center;
    margin-top: 130px; 
    margin-bottom: 135.7px;   
}
.recruitsite-require-btn-txt {
    font-size: 24px;
    font-weight: bold;
}
.recruitsite-require-btn .recruitsite-working-entry {
    background-color:#EF4555;
    margin-top: 39px;
}
.recruitsite-require-btn .recruitsite-working-entry a {
    color: #fff;
}


/* entry.html ----------------------------------------------------------------------------------------------------- */
/* 応募入力  */
#entry, #contact-site, #thanks, #confirm, #contact_complete, #complete {
    background-color: #F2F2F2;
}
.entry-step-wrap {
    max-width: 758px;
    display: flex;
    padding-top: 225px;
    gap: 10px;
    margin: 0 auto;
}
.entry-step-input, .entry-step-check, .entry-step-send {
    width: 33.3%;
    background-color: #EAEAEA;
    text-align: center;
    padding: 0 0 16px;
}
.entry-step-input {
    border-radius: 50px 0 0 50px;
    -webkit-border-radius: 50px 0 0 50px;
    -moz-border-radius: 50px 0 0 50px;
    -ms-border-radius: 50px 0 0 50px;
    -o-border-radius: 50px 0 0 50px;
}
.entry-step-send {
    border-radius: 0 50px 50px 0px;
    -webkit-border-radius: 0 50px 50px 0px;
    -moz-border-radius: 0 50px 50px 0px;
    -ms-border-radius: 0 50px 50px 0px;
    -o-border-radius: 0 50px 50px 0px;
}
.entry-step-select {
    background-color: #FCFCFC;
}
.entry-step-number {
    font-family: 'Outfit', sans-serif;
    letter-spacing: 0.015em;
    color: #EF4555;
    font-size: 18px;
    margin-top: -8px;
    margin-bottom: 10px;
}
.entry-step-txt {
    font-size: 22px;
    letter-spacing: 0.08em;
}
/* 応募フォーム お問い合わせと共通 */
.entry-form-input-wrap {
    display: flex;
    margin-top: 111px;
    justify-content: space-between;
    margin-bottom: 241px;
}
.entry-form-wrap {
    width: 35%;
    line-height: 1.35em;
}
.entry-form-ttl .kaso-h1-en {
    margin-bottom: 40px;
}
.recruit-layer .kaso-h1 {
    color: #EC4658;
    margin-bottom: 12px;
}
.recruit-layer .kaso-h1-en {
    font-size: clamp(30px, 6.6vw, 60px);
    line-height: 1em;
    color: #222;
}
.entry-form-txt01 {
    font-size: 20px;
    letter-spacing: 0.08em;
    line-height: 1.5em;
    margin-bottom: 12px;
}
.entry-form-txt02 {
    letter-spacing: 0.08em;
    line-height: 1.87em;
    margin-bottom: 29px;
}
.entry-form-txt03 {
    letter-spacing: 0.08em;
    line-height: 1.87em;
}
.entry-form-txt03 .privacy-policy {
    text-decoration: underline;
}
/* 入力箇所 */
.entry-form-input {
    width: 50%;
    margin-top: 3px;
}

.p-form__input, .p-form__select {
    margin-bottom: 18px;
}

.p-form__input:last-of-type {
    margin-bottom: 0;
}
.p-form__title {
    margin-bottom: 7px;
    display: inline-block;
}
.p-form__title span {
    color: #EF4555;
}
input[type="text"],input[type="email"], select, textarea {
    background-color: #FCFCFC;
    border-radius: 10px;
    border: 0;
    padding: 19px 21px 18px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    font-size: 18px;
    width: calc(100% - 42px);
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
}
select {
    width: 100%;
    /* 矢印 */
    background-image: url(../img/entry-select-arrow.svg);
    background-position: right 28.2px center;
    background-repeat: no-repeat;
    background-size: 8px 4px;
    appearance: none; /* デフォルトの矢印を非表示 */
    -webkit-appearance: none;
}
.contact_input_pulldown {
    color: #222;
}
::placeholder {
    color: #D1D1D1;
}
textarea {
    resize: none;
    height: 276px !important;
}
/* ボタン */
.p-form__submit {
    position: relative;
    left: 0%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    margin-top: 80px;
    text-align: center;
}
/* button { */
.p-form__submit input {
    width: 230px;
    height: 50px;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    background-color: #EF4555;
    border: 0;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    cursor: pointer;
}
.btn_wrap {
    position: relative;
    width: 230px;
    margin: 0 auto;
}
.btn_wrap:after {
    content: url(../img/entry-send-arrow.svg);
    position: absolute;
    right: 21px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

.mw_wp_form .error {
    display: block;
    color: red;
    margin-top: 10px;
}

/* confirm ------------------------------------------------------------------------------------------------------------------- */
.mw_wp_form_confirm .p-form__input,
.mw_wp_form_confirm .p-form__select {
    display: flex;
}
.mw_wp_form_confirm ._required {
    display: none;
}
.mw_wp_form_confirm .p-form__input,
.mw_wp_form_confirm .p-form__select {
    font-size: 18px;
    min-height: 78px;
    align-items: baseline;
    padding: 28px 0 28px 0;
    margin-bottom: 0;
}
.mw_wp_form_confirm .p-form__input:not(:nth-child(5):not(:nth-child(6))),
.mw_wp_form_confirm .p-form__select {
    border-bottom: solid #C7C7C7 1px;
}
.mw_wp_form_confirm .p-form__input:nth-child(7){
    border-bottom: rgba(240, 248, 255, 0)!important;
}
.mw_wp_form_confirm .p-form__title {
    flex-basis: 33%;
    font-size: 16px;
    color: #C7C7C7;
    margin-bottom: 0;
}
.mw_wp_form_confirm .c-input {
    flex-basis: 67%;
}
.mw_wp_form_confirm .p-form__submit {
    display: grid;
    column-gap: 10px;
    grid-template-columns: 1fr 1fr;
    width: 470px;
}
.mw_wp_form_confirm button {
    width: 230px;
    height: 50px;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    background-color: #C7C7C7;
    border: 0;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    cursor: pointer;
    position: relative;
}
.mw_wp_form_confirm button:before {
    content: url(../img/entry-send-arrow.svg);
    position: absolute;
    left: 21px;
    top: 50%;
    transform: scale(-1, 1);
    transform: translateY(-50%) scale(-1, 1);
    -webkit-transform: translateY(-50%) scale(-1, 1);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

@media only screen and (max-width:750px) {
    /* interview.html 1400px以上のインタビューの文章の幅調節---------------------------------- */
    .mw_wp_form_confirm .p-form__input,
    .mw_wp_form_confirm .p-form__select {
        display: block;
        padding: 17px 0 19px 0;
    }
    .mw_wp_form_confirm .p-form__title {
        margin-bottom: 10px;
    }
    .mw_wp_form_confirm .p-form__submit {
        display: block;
        width: auto;
    }
    .mw_wp_form_confirm .p-form__submit button {
        margin-bottom: 20px;
    }
}

/* complete.html ------------------------------------------------------------------------------------------------------------- */
.complete-txt-wrap {
    margin: 122px auto 0 auto;
    text-align: center;
    max-width: 761px;
    width: 76.1%;
}
.complete-txt01 {
    font-size: 24px;
    margin-bottom: 24px;
    letter-spacing: 0.08em;
}
.complete-txt02 {
    font-size: 18px;
    text-align: left;
    line-height: 1.66em;
}
.entry-top_btn {
    width: 230px;
    height: 50px;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    background-color: #C4C4C4;
    border: 0;
    position: relative;
    cursor: pointer;
    text-align: center;
    line-height: 50px;
    margin: 88px auto 248px auto;
}
.entry-top_btn a {
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    display: block;
}
.entry-top_btn img {
    position: absolute;
    right: 21px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}


/* contact.html ------------------------------------------------------------------------------------------------------ */
#contact-site .entry-step-wrap {
    padding-top: 89px;
}
#contact-site .entry-form-input-wrap {
    margin-bottom: 264px;
}


/* contact__complete.html ------------------------------------------------------------------------------------------------------ */
#thanks .entry-top_btn,
#contact_complete .entry-top_btn {
    margin-bottom: 150px;
}
#thanks .entry-step-wrap,
#contact_complete .entry-step-wrap {
    padding-top: 89px;
}
#thanks .complete-txt-wrap,
#contact_complete .complete-txt-wrap {
    margin-top: 128px;
}


/* privacy-policy.html ---------------------------------------------------------------------------------------------------------- */
#privacy-policy {
    background-color: #F2F2F2;
}
.privacy-policy-wrap {
    margin-top: 75px;
}
.privacy-policy-inner {
    max-width: calc(760px + 4%);
    min-height: 650px;
    padding: 0 2%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}
.privacy-policy-exp {
    margin-top: 97px;
}
.privacy-policy-txt-top {
    margin-bottom: 21px;
    font-size: 20px;
    letter-spacing: 0.08em;
    font-weight: bold;
}
.privacy-policy-txt {
    line-height: 1.87em;
    font-weight: bold;
    text-align: left;
}
.privacy-policy-item-wrap {
    margin-top: 95px;
    text-align: left;
}
.privacy-policy-item {
    margin-bottom: 38px;
}
.privacy-policy-item:last-of-type {
    margin-bottom: 0px;
}
.privacy-policy-item-ttl {
    font-size: 20px;
    font-weight: bold;
    color: #EF4555;
    letter-spacing: 0.08em;
    line-height: 1.55em;
}
.privacy-policy-item-txt {
    margin-top: 7px;
    line-height: 1.87em;
}
.privacy-policy-company {
    text-align: center;
    margin-bottom: 245px;
    margin-top: 94px;
}
.privacy-policy-company-txt {
    line-height: 1.87em;
}














@media only screen and (min-width:750px) {
   /*　ホバー時のカーソル変更　*/
    .service-a {
        cursor: none;
    }
    #stalker {
        pointer-events: none;
        position: fixed;
        top: -65px;
        left: -65px;
        width: 0px;
        height: 0px;
        background-image: url(../img/cursor-hover.svg);
        z-index: 9999;
    }
    #stalker.hov_{
        width: 130px;
        height: 130px;
        transition: .15s;
    }
    #stalker.hov_.service{
        cursor: pointer;
        pointer-events: auto;
        background-image: none;
    }
}



/* モバイル ---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width:1400px) {
    /* interview.html 1400px以上のインタビューの文章の幅調節---------------------------------- */
    .people-detail-comment-txt-right {
        max-width: none;
        margin-right: 200px;
    }
    .people-detail-comment-txt-left {
        max-width: none;
        margin-left: 200px;
    }
    .company-vision-txt-box {
        max-width: none;
        margin-left: 200px;
    }

}
@media only screen and (min-width:1051px) {
    .sp1050 {
        display: none;
    }
}
@media only screen and (max-width:1050px) {
    .pc1050 {
        display: none;
    }
    .top-contact-inner {
        min-width: auto;
        width: 98%;
    }
    /* header */
    .header-logo {
        top: 11px;
        left: 72px;
        z-index: 9999;
    }
    
    .logo-name {
        transition: 0.3s;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -ms-transition: 0.3s;
        -o-transition: 0.3s;
}

    .header-logo-img {
        width: 100px;
        fill: #fff;
        transition: 0.3s;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -ms-transition: 0.3s;
        -o-transition: 0.3s;
}
    
    /* スクロール後のヘッダー */
    .header.scroll-nav {
        background-color: #fff;
        height: 62px;
        box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.16);
    }
    .header.scroll-nav .openbtn span {
        background-color: #000;
        transition: 0.3s;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -ms-transition: 0.3s;
        -o-transition: 0.3s;
}

    .header.scroll-nav .openbtn {
        top: 10px;
    }
    .header.scroll-nav .header-logo {
        top: 6px;
    }
    .header.scroll-nav .g-nav-btn-sp {
        border: 1px solid #000;
        top: 14px;
    }
    .g-nav-btn-sp {
        transition: 0.3s;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -ms-transition: 0.3s;
        -o-transition: 0.3s;
    }
    /* ロゴ */
    .header.scroll-nav .header-logo-img {
        width: 100px;
    }
    .header.scroll-nav .header-logo-img.panelactive {
        fill: #fff;
    }
    

    .header.scroll-nav .g-nav-btn-sp.panelactive { /* ハンバーガー開いたら追従しているヘッダーのリクルートボタンを変更 */
        border: 1px solid #fff;
    }
    .header.scroll-nav .g-nav-btn-sp a {
        color: #000;
        display: block;
    }
    .header.scroll-nav .g-nav-btn-sp a.panelactive {
        color: #EF4555;
    }
    .header.scroll-nav .header-logo a.panelactive {
        color: #fff;
    }
    .header.scroll-nav .logo-name.panelactive {
        color: #fff;
    }
    .header.scroll-nav .openbtn span {
        background-color: #000;
    }
    .header.scroll-nav .openbtn span.panelactive, .under-layer .openbtn span.panelactive {
        background-color: #fff;
    }

    

    /* 採用情報介護.html ----------------------------------------------------------------------------------- */
    /* ヘッダー */
    .recruit-header-logo-wrap {
        display: block;
        height: 80px;
        padding: 14px 3%;
    }
    .recruit-header-h1-en a {
        font-size: 20px;
        z-index: 9999;
        position: relative;
    }
    .recruit-header-h1 a {
        font-size: 14px;
        z-index: 9999;
        position: relative;
    }
    .recruit-openbtn {
        right: 5%;
        left: auto;
    }
    .recruit-header-h1-en a.panelactive, .recruit-header-h1 a.panelactive {
        color: #222;
    }

    #recruit-g-nav{
        /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
        position:absolute;
        z-index: 999;
        /*ナビのスタート位置と形状*/
        top:0;
        right: -120%;
        width:100%;
        height: auto;/*ナビの高さ*/
        /*動き*/
        transition: all 0.6s;
    }
    
    /*アクティブクラスがついたら位置を0に*/
    #recruit-g-nav.panelactive{
        right: 0;
    }
    
    /*ナビゲーションの縦スクロール*/
    #recruit-g-nav.panelactive #recruit-g-nav-list{
        /*ナビの数が増えた場合縦スクロール*/
        position: relative;
        z-index: 999; 
        width: 100%;
        height: 100vh;/*表示する高さ*/
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    /*========= ボタンのためのCSS ===============*/
    .recruit-openbtn1 {
        position:fixed;
        z-index: 9999;/*ボタンを最前面に*/
        right: 10px;
        cursor: pointer;
        width: 44px;
        height:44px;
        margin-right: 3%;
        top: 20px;
    }
      
    /*×に変化*/  
    .recruit-span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        right: 0px;
        height: 2px;
        background-color: #fff;
        width: 44px;
    }
    .recruit-span.panelactive {
        background-color: #222;
    }
    
    .recruit-openbtn1 span:nth-of-type(1) {
      top:0px; 
    }
    
    .recruit-openbtn1 span:nth-of-type(2) {
      top:9px;
    }
    
    .recruit-openbtn1 span:nth-of-type(3) {
      top:18px;
    }
    
    .recruit-openbtn1.active span:nth-of-type(1) {
        top: 11px;
        right: -7px;
        transform: translateY(6px) rotate(-40deg);
        width: 57px;
    }
    
    .recruit-openbtn1.active span:nth-of-type(2) {
      opacity: 0;
    }
    
    .recruit-openbtn1.active span:nth-of-type(3){
        top: 24px;
        right: -7px;
        transform: translateY(-6px) rotate(40deg);
        width: 57px;
    }
    /* MENU */
    .recruit-openbtn-menu {
        font-size: 12px;
        color: #fff;
        font-family: "roc-grotesk-wide", sans-serif;
        font-weight: 500;
        font-style: normal;
        letter-spacing: 0.015em;
        position: absolute;
        bottom: 0;
        text-align: center;
        width: 100%;
    }
    .recruit-openbtn-menu.panelactive {
        font-size: 0px;
    }

    /* ハンバーガーメニューの中身 */
    .recruit-g-nav-sp {
        /*ナビゲーション天地中央揃え*/
        position: relative;
        z-index: 999;
        padding-top: 142px;
        list-style: none;
        text-align: center;
        width: 100%;
        background:#fcfcfc;
    }
    .recruit-g-nav-sp-main-ttl, .recruit-g-nav-sp-official-ttl {
        font-family: "roc-grotesk-wide", sans-serif;
        font-weight: 500;
        font-style: normal;
        letter-spacing: 0.015em;
        color: #EC4658;
    }
    .recruit-g-nav-sp-main {
        margin-top: 16px;
    }
    .recruit-g-nav-sp-main-item {
        padding: 15px 0;
    }
    .recruit-g-nav-sp-main-item:first-of-type {
        padding-top: 0;
    }
    .recruit-g-nav-sp-main-item:last-of-type {
        padding-bottom: 0;
    }
    .recruit-g-nav-sp-main-item a, .recruit-g-nav-sp-official-menu {
        font-size: 20px;
        font-weight: bold;
        letter-spacing: 0.08em;
        display: block;
    }
    /* オフィシャルサイト */
    .recruit-g-nav-sp-official {
        margin-top: 89px;
    }
    .recruit-g-nav-sp-official-menu {
        margin-top: 15px;
    }
    /* エントリーする */
    .recruit-g-nav-sp-entry {
        width: 100%;
        height: 70px;
        background-color: #EC4658;
        text-align: center;
        margin-top: 93px;
    }
    .recruit-g-nav-sp-entry a {
        color: #fff;
        font-size: 20px;
        font-weight: bold;
        display: block;
        line-height: 70px;
    }


    
    
    /* 下層共通 ----------------------------------------------------------------------------- */
    /* ヘッダー */
    .under-layer .header {
        height: 62px;
        background-color: #fff;
    }
    .under-layer .header-logo-img {
        width: 99px;
        height: auto;
    }
    .under-layer .header-logo {
        top: 16px;
    }
    .under-layer .g-nav-btn-sp {
        border-color: #000;
        top: 15px;
    }
    .under-layer .g-nav-btn-sp a {
        color: #000;
    }
    .header.scroll-nav .under-layer .g-nav-btn-sp.panelactive {
        border: 1px solid #fff;
    }
    .under-layer .g-nav-btn-sp.panelactive {
        border-color: #fff;
    }
    /* ハンバーガー */
    .under-layer .openbtn span {
        background-color: #000;
        width: 28px;
    }
    .openbtn span:nth-of-type(2) {
        top: 25px;
    }
    .under-layer .openbtn {
        top: 9px;
    }

    /* パンくずリスト */
    .c-bread {
        padding-top: 70px;
        padding-left: 20px;
        padding-right: 20px;
        white-space: nowrap;
        width: 100%;
        overflow: hidden;
    }
    .c-bread-premenu::after {
        padding-left: 7px;
        padding-right: 2px;
    }

    /* top ------------------------------------------------------------------------------------------- */
    /* リクルートボタン */
    .g-nav-btn-sp {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 100px;
        height: 32px;
        text-align: center;
        line-height: 32px;
        border: 1px solid #fff;
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        -ms-border-radius: 20px;
        -o-border-radius: 20px;
        z-index: 9999;
    }
    .g-nav-btn-sp a {
        color: #fff;
        font-family: "roc-grotesk-wide", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 12px;
        display: block;
        transition: 0.3s;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -ms-transition: 0.3s;
        -o-transition: 0.3s;
}

    /* company */
    .top-company {
        width: 90%;
        padding-top: 37px;
        margin-top: -60px;
    }
    .top-company::after {
        content: none;
    }
    .top-company-inner {
        display: block;
    }
    .top-company .h2-en {
        margin-bottom: 33px;
    }
    .top-company-exp {
        width: 100%;
        margin-right: 0;
    }
    .top-company-img {
        width: 100%;
        margin-left: 0;
        margin-bottom: 11px;
    }
    .top-company-txt {
        max-width: none;
    }

    .more-btn {
        margin-top: 51px;
        margin-bottom: 52px;
    }
    

    /* recruit */
    .top-recruit-inner {
        width: 100%;
        min-width: auto;
    }
    .top-recruit {
        background: center center url(../img/top/top-recruit-bg-sp.jpg);
        background-size: cover;
    }

    /* people */
    .top-people-inner {
        padding-left: 0;
        min-width: auto;
        width: 100%;
    }
    .top-people-exp {
        padding-left: 5%;
        width: 100%;
    }
    .top-people-txt {
        width: 100%;
    }
    .top-people-img {
        width: 100%;
        margin-top: 49px;
    }

    /* news */
    .top-news-inner {
        width: 100%;
        min-width: auto;
    }

    /* footer */
    .footer-info-wrap {
        display: block;
    }
    .f-nav {
        width: 100%;
        margin-top: 30px;
    }
}
@media only screen and (max-width:970px) {
    .pc970 {
        display: none;
    }
}
@media only screen and (min-width:751px) {
    .sp750 {
        display: none !important;
    }
    .br750 {
        display: inline-block;
    }
}
@media only screen and (max-width:750px) {
    .pc750 {
        display: none !important;
    }
    .h2 {
        font-size: 12px;
        margin-bottom: 7px;
    }
    .h2-en {
        font-size: 30px;
        margin-bottom: 36px;
    }
    .h2-txt {
        font-size: 16px;
        line-height: 1.5em;
    }

    /* top ---------------------------------------------------------------------------------- */
    /* mv */
    .top-mv-txt {
        /* padding-top: 156px; */
        /* position: static; */
        width: 90%;
        margin: 0 auto;
    }
    .top-mv-txt_ttl {
        width: 202px;
        height: 55px;
        margin-right: 2px;
        position: relative;
    }
    .top-mv-txt_ttl::before {
        background: url(../img/top-mv-txt-sp.svg) no-repeat center center;
        height: 60px;
        position: absolute;
    }
    .top-mv-txt-en {
        font-size: 8px;
        margin-bottom: 10px;
    }
    .top-mv-txt_ttl-p01 {
        font-size: 33px;
        line-height: 1.2em;
    }
    .top-mv-txt_ttl-p02 {
        font-size: 14px;
        font-weight: 400;
        margin-bottom: 31px;
    }
    .mv-title {
        width: 100%;
    }
    

    /* service */
    .top-service {
        margin-top: 85px;
    }
    .top-service-inner {
        display: block;
        padding-bottom: 180px;
    }
    .top-service .h2-en {
        margin-bottom: 26px;
    }
    .top-service-inner::before, .top-service-inner::after {
        content: none;
    }
    .top-service-menu-list-number {
        display: inline-block;
        font-size: 8px;
        margin-right: 15px;
    }
    .top-service-menu-list-ttl {
        display: inline-block;
    }
    .top-service-menu-listbox {
        margin-top: 35px;
    }
    .top-service-menu-list-arrow {
        display: block;
        margin: 0px;
    }
    .top-service-menu {
        margin: 0 auto;
        width: 90%;
        display: block;
    }
    .top-service-menu-list-img-sp {
        min-width: 80px;
        width: 23.8%;
        object-fit: cover;
        height: 116px;
        margin-left: 3%;
    }
    .top-service-menu-list {
        display: flex;
        justify-content: space-between;
        padding: 20px 0;
    }
    .top-service-menu-list-ttl-ja .br {
        font-size: 22px;
    }
    .top-service-menu-list-ttl-ja {
        margin-bottom: 40px;
        font-size: 22px;
        height: 1.36em;
    }
    .top-service-menu-list-ttl-en {
        font-size: 10px;
        margin-bottom: 14px;
    }
    .top-service-menu-list a {
        padding: 0;
    }
    .top-service-more {
        left: 0;
    }
    .top-service .more-btn {
        margin-top: 27.5px;
    }

    /* スライド文字 */
    .top-service-text-slide {
        margin-top: -1em;
    }
    .top-service-text-slide-txt {
        font-size: 40px;
    }


    /* people */
    .top-people-imgbox-txt {
        padding: 20px 0;
    }
    .top-people {
        margin-top: 89px;
        margin-bottom: 86px;
        overflow: inherit;
        position: relative;
        padding-bottom: 256px;
    }
    .top-people-imgbox-txt-occupation {
        margin-bottom: 7px;
    }
    .top-people-bg {
        padding-top: 45px;
        height: 539px;
    }
    .top-people .h2-en {
        margin-bottom: 26px;
    }
    .top-people-inner {
        display: block;
        position: relative;
    }
    .top-people-imgbox {
        width: 300px !important;
    }
    .top-people-img-item {
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        object-fit: cover;
        height: 380px;
}
    .more-btn-txt {
        color: #000;
    }
    .top-people .more-btn {
        margin: 0 auto;
        position: absolute;
        bottom: -64px;
        z-index: 1;
        width: 100%;
        text-align: center;
    }
    .top-people::after {
        height: 339px;
    }

    

    /* recruit */
    .top-recruit .h2-en {
        margin-bottom: 32px;
    }
    .top-recruit-inner {
        min-width: auto;
        text-align: center;
        padding: 118px 5% 110px 5%;
    }
    .top-recruit-txt {
        width: 100%;
    }
    .top-recruit-btn {
        margin: 24px auto 0 auto;
        /* 230605 */
        width: 100%;
    }

    /* news */
    .top-news {
        padding-top: 104px;
        padding-bottom: 87px;
    }
    .top-news-inner {
        width: 89.3%;
        min-width: auto;
        padding: 0;
    }
    .top-news-box-a {
        margin-bottom: 5px;
    }
    .top-news-box {
        padding: 18px 15px 20px 20px;
    }
    .top-news-info {
        margin-bottom: 8px;
    }
    .top-news-txt {
        font-size: 12px;
        height: 51px;
        line-height: 1.5em;
        margin-right: 31.7px;
    }
    .top-news-txt-arrow {
        margin-top: 12px;
    }
    .top-news-txt-readmore {
        line-height: 1em;
    }
    .top-news-date, .top-news-category {
        font-size: 10px;
    }
    .top-news-category {
        margin-left: 20px;
    }


    /* contact */
    .top-contact {
        padding-top: 79px;
        padding-bottom: 82px;
    }
    .top-contact .h2-en {
        font-size: 30px;
    }
    .top-contact-ttl {
        margin-bottom: 18px;
    }
    .top-contact-txt {
        font-weight: bold;
        font-size: 16px;
        line-height: 1.6;
        margin: 0;
        text-align: left;
    }
    .top-contact-inner {
        display: block;
        text-align: center;
    }
    .top-contact-btn {
        margin: 25px auto 0 auto;
        width: 260px;
    }
    .top-contact-btn a {
        width: 100%;
    }

    /* footer */
    .footer {
        padding-top: 15px;
    }
    .footer-inner {
        display: block;
    }
    .f-nav-sp {
        margin-top: 0;
    }
    .f-nav-sp-btn-recruit a {
        color: #D13E4C;
    }
    .footer-info-wrap {
        display: block;
        text-align: center;
    }
    .accordion-area {
        margin-bottom: 79.7px;
    }
    .f-logoSoftline {
        width: 130px;
    }
    .footer-info-address {
        font-size: 12px;
        line-height: 1.5;
        margin-top: 27.2px;
    }
    .footer-info-number {
        margin-top: 20px;
        display: inline-block;
        font-size: 12px;
    }
    .footer-copy {
        display: block;
        text-align: center;
        margin-top: 55px;
    }
    .footer .g-nav-ttl {
        font-size: 16px;
    }
    .footer .accordion-area li {
        margin: 0;
    }
    .footer .g-nav-sp-policy {
        margin-top: 19px;
    }
    .footer .accordion-area .g-nav-box {
        margin: 5px 0;
    }
    .footer .g-nav-sp-btn-contact {
        margin-top: 15px;
    }
    .footer .g-nav-sp-btn {
        margin-top: 49px;
    }


    /* 下層共通 ----------------------------------------------------------------------------------- */
    /* 下層フッター上メニューボタン */
    .under-layer-menu {
        background-color: #F2F2F2;
        padding: 84px 0 91px;
    }
    .under-layer-menu::after {
        content: none;
    }
    .under-layer-menu-inner {
        width: 93.3%;
        margin-top: 0;
    }
    .under-layer-menu-btn-wrap {
        grid-template: 1fr 1fr / 1fr 1fr;
        grid-row-gap: 32px;
        grid-column-gap: 8.8px;
    }
    .under-layer-menu-btn-txt {
        font-size: 16px;
        margin-top: 10.5px;
    }

    /* タイトル */
    .kaso-h1 {
        font-size: 12px;
    }
    .kaso-h1-en {
        font-size: 30px;
    }
    .entry-form-ttl .kaso-h1-en {
        margin-bottom: 19px;
    }
    .kaso-contents-width {
        padding: 0 5.7%;
    }

    /* news.html ---------------------------------------------------------------------------- */
    #news .top-news .h2-en {
        margin-bottom: 23px;
    }
    .news-contents-wrap {
        display: flex;
        flex-flow: column-reverse;
        gap: 20px;
    }
    .news-category-box {
        width: 100%;
    }
    #news .top-news {
        padding-top: 57px;
        padding-bottom: 120px;
    }
    #news .top-news-txt-readmore {
        line-height: 1.2em;
        padding-top: 3px;
    }

    /* SP カテゴリーアコーディオン */
    .news-category-box {
        padding: 14px 20px 12px 15px;
        margin: 0;
    }
    .news-category-box-ttl {
        font-size: 14px;
    }
    .news-category-box-ttl-wrap::before {
        content: "";
        background: top center no-repeat url(../img/accordion-arrow.svg);
        background-size: contain;
    }
    .news-category-box-ttl-wrap {
        padding: 0;
        display: flex;
        justify-content: space-between;
    }
    .news-category-checked { /* 選んだカテゴリー */
        padding-right: 26px;
        text-align: right;
        font-size: 14px;
        font-weight: bold;
        line-height: 1em;
        letter-spacing: 0.015em;
    }
    .news-category-box-ttl {
        margin-bottom: 0;
    }
    .news-category-box-lists {
        padding-left: 0;
        text-align: right;
        padding-right: 12.5px;
        font-weight: bold;
        margin-top: 9px;
    }
    #news .top-news-box {
        padding: 20px;
    }
    /* ページネーション */
    .wp-pagenavi {
        margin-top: 45px;
    }
    .prevpostslink {
        margin-right: 30px;
    }
    .nextpostslink {
        margin-left: 18px;
    }


    /* news__detail.html --------------------------------------------------------------- */
    #news .top-news .h2-en {
        margin-bottom: 25px;
    }
    #news-detail .top-news {
        padding-top: 57px;
    }
    #news-detail .top-news-info {
        margin-bottom: 20px;
    }
    .news-detail-ttl {
        font-size: 22px;
        line-height: 1.45em;
    }
    .news-detail-wrap {
        margin-top: 36px;
    }
    .news-detail-ttl-wrap {
        margin-bottom: 13px;
    }
    .news-detail-txt-box {
        padding: 22px 7% 51px;
    }
    .news-detail-txt-box p {
        font-size: 14px;
        line-height: 1.7em;
    }
    #news-detail .news-pagination {
        margin-top: 70px;
    }
    #news-detail .top-news {
        padding-bottom: 131px;
    }
    .news-detail-txt-box img {
        margin: 0 auto 2em auto;
    }

    /* company-profile.html -------------------------------------------------------------- */
    #company-profile::after {
        height: 184px;
    }
    .company-profile {
        padding-top: 68px;
        padding-bottom: 127px;
    }
    .company-profile-inner {
        width: 89.3%;
        min-width: auto;
        padding: 0;
    }
    .company-profile-ttl-txt {
        line-height: 1.5em;
        margin-bottom: 18px;
    }
    .company-profile-table {
        border-spacing: 0px 25px;
    }
    .company-profile-tbody tr {
        background-color: #fff;
    }
    .company-profile-table-right {
        background-color: #FCFCFC;
    }
    .company-profile-table-left {
        width: 100%;
        display: block;
        padding: 0 0 6px 0;
    }
    .company-profile-table-right {
        width: 100%;
        display: block;
        padding: 21px 15px 19px 25px;
    }
    .company-profile .h2-en {
        margin-bottom: 38px;
    }
	
	


    /* people.html --------------------------------------------------------------------------------------------------------- */
    .people-mv {
        background: url(../img/people-mv-sp.jpg);
        background-size: cover;
        height: 459px;
    }
    .people-mv .kaso-pagettl {
        margin-top: 135px;
    }
    .people-voice-ttl-wrap {
        margin-top: -62px;
        padding: 49px 8.9% 40px;
    }
    .people-voice-ttl-wrap::before {
        height: 5px;
    }

    /* ソフトラインで働く仲間たちの声を集めました！ */
    .people-voice-ttl, .people-voice-ttl .br {
        font-size: 24px;
        letter-spacing: normal;
        line-height: 1.4em;
    }
    .people-voiece-ttl-txt {
        font-size: 20px;
        text-align: left;
        margin-top: 17px;
        letter-spacing: normal;
    }

    /* 働く仲間たちの一覧 */
    .people-voice-items-box {
        grid-column-gap: 11px;
        grid-row-gap: 11px;
        grid-template-columns: repeat(auto-fit, minmax(159px, 1fr));
        margin: 65px 0 235px;
    }
    .people-voice-imgbox-txt {
        padding: 19px 6.8% 11px;
    }
    .people-voice-imgbox-txt-occupation {
        margin-bottom: 7px;
    }
    .people-voice-imgbox-txt-name {
        font-size: 16px;
    }
    .people-voice-imgbox-txt-comment {
        margin-top: 20px;
        line-height: 1.5em;
        font-size: 12px;
    }

    /* peopledetail.html -------------------------------------------------------------------------------------------------- */
    /* mv */
    .people-detail-mv {
        margin-top: -17px;
        margin-bottom: 63px;
    }
    .people-detail-mv-inner {
        display: block;
        padding: 0 6%;
    }
    .people-detail-h1-en {
        text-align: center;
        margin-bottom: 0;
    }
    #people-detail .people-detail-mv-img {
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0;
        margin: 0 calc(50% - 50vw);
        width: 100vw;
    }
    .people-detail-mv-img-wrap {
        margin-top: -35px;
    }
    .people-detail-comment-box {
        display: block;
        margin-right: 0;
        margin-top: -50px;
        border-top: solid #EF4555 5px;
        padding: 38px 7.5% 51px 7.5%;
        min-height: auto;
        max-width: none;
    }
    .people-detail-comment {
        font-size: 24px;
        line-height: 1.4em;
        margin-bottom: 46px;
    }
    .people-detail-info {
        text-align: center;
    }

    /* 一日のスケジュール */
    .people-detail-schedule {
        margin-bottom: 83px;
    }
    .people-detail-schedule-ttl {
        font-size: 26px;
        margin-bottom: 5px;
    }
    .people-detail-schedule-oneday {
        font-size: 14px;
    }
    .people-detail-schedule-dayflow {
        margin-top: 42px;
        grid-template-columns: 84px 84px 84px;
        column-gap: 16px;
        row-gap: 16px;
        justify-content: center;
    }
    .people-detail-schedule-dayflowpoint {
        height: 84px;
        min-width: 84px;
    }
    .people-detail-schedule-do {
        font-size: 20px;
    }

    /* インタビュー内容 */
    .people-detail-comment-box-wrap {
        width: 100%;
        height: auto;
        padding: 0 6%;
    }
    .people-detail-comment-wrap {
        display: block;
        margin-bottom: 0;
    }
    .people-detail-comment-img-left {
        width: 100%;
        height: auto;
        float: none;
        max-width: none;
    }
    .people-detail-comment-q {
        font-size: 24px;
        line-height: 1.4em;
        margin-bottom: 13px;
    }
    .people-detail-comment-a {
        line-height: 1.66em;
    }
    .people-detail-comment-txt-right, .people-detail-comment-txt-left {
        margin: 46px 0 75px 0;
        float: none;
        max-width: none;
    }

    /* point! */
    .people-detail-comment-point-box {
        padding-left: 6%;
        padding-right: calc(6% + 10px);
        margin-top: 119px;
        margin-bottom: 106px;
    }
    .people-detail-comment-point-box-inner {
        display: block;
        padding: 34px 9.2% 21.4px 12%;
    }
    .people-detail-comment-point {
        font-size: 40px;
        margin-bottom: 12px;
    }
    .people-detail-comment-point-img-wrap {
        margin-top: -107px;
        margin-bottom: 32.6px;
    }
    .people-detail-comment-point-txt {
        line-height: 1.7em;
        margin-left: 0;

    }

    /* other people */
    .people-detail-otherpeople {
        padding-top: 0;
        padding-bottom: 274px;
    }
    .people-detail-otherpeople-box {
        margin-top: 47px;
        gap: 10px;
        grid-template-columns: 1fr 1fr;
    }
    .people-detail-otherpeople::before {
        content: none;
    }
    .people-detail-otherpeople-bg {
        background-color: #EF4555;
        padding-top: 99px;
        padding-bottom: 55px;
    }
    .people-detail-otherpeople-ttl {
        font-size: 26px;
    }
    .people-detail-otherpeople-backbtn {
        margin-top: 100px;
    }



    /* company.html ----------------------------------------------------------------------------------------- */
    /* mv */
    #company .company-mv-bg .c-bread {
        position: absolute;
        top: 0;
        left: 0;
        text-align: left;
        background-color: transparent;
    }
    .company-mv {
        padding-top: 62px;
    }
    .company-mv-bg {
        width: 100%;
        height: 286px;
        padding-top: 120px;
        background: url(../img/company-mv-sp.jpg) no-repeat top center;
        background-size: cover;
    }



    /* 経営理念 */
    .company-philosophy {
        display: block;
        text-align: center;
    }
    .company-philosophy-ttl-box {
        display: block;
    }
	.company-philosophy-ttl-box2{
		margin-top: 0;
		margin-left: 0;
	}
    .company-ttl {
        font-size: 24px;
    }
    .company-philosophy-wrap .company-ttl-en {
        text-align: center;
    }
    .company-ttl-en {
        padding-top: 16px;
        font-size: 11px;
        margin-bottom: 6px;
    }
    .company-philosophy-width {
        max-width: calc(1200px + 12%);
        padding: 0 6%;
    }
    .company-philosophy-wrap {
        padding: 10px 5% 40px;
    }
    .company-philosophy-wrap.corporate-philosophy-wrap {
        padding: 10px 0 40px;
    }
	.company-philosophy-wrap2{
		padding: 60px 3% 40px;
	}
    .company-philosophy-wrap::before {
        height: 5px;
    }
    .company-philosophy-txt {
        font-size: 16px !important;
        line-height: 1.5em;
        width: 100%;
        margin-top: 10px;
    }
	.company-vision-txt-p-p{font-size:16px;}

    /* ビジョン */
    .company-vision-wrap {
        padding-top: 36px;
    }
    .company-vision-txt-wrap {
        display: block;
        margin: 0 auto;
        width: 100%;
        padding: 0 6%;
    }
    .company-vision-wrap::before {
        height: 201px;
    }
    .company-vision-txt-box {
        max-width: none;
        margin: 0 auto;
        text-align: center;
        float: none;
		padding-top: 80px;
        padding-bottom: 80px;
    }
    .company-vision-img {
        width: 100%;
        height: auto;
        float: none;
        max-width: none;
        margin-top: 25px;
        display: inline-block;
    }
    .company-vision-txt-p {
        font-size: 20px;
        text-align: left;
        line-height: 1.5em;
        margin-top: 15px;
    }

    /* 代表メッセージ */
    .company-message-txt .kaso-pagettl {
        text-align: center;
        margin-bottom: 45px;
    }
    .company-message-inner {
        margin-top: 82px;
        display: block;
    }
    .company-message-img {
        width: 100%;
        min-height: 326px;
    }
    .company-message-txt {
        margin-right: auto;
    }
    .company-message-txt-wrap {
        margin: -26px auto 0 auto;
        width: 96%;
    }
    .txt-bg {
        font-size: 24px;
        line-height: 1.6em;
        padding: 0px 4px;
    }
    .company-message-txt-sub {
        margin-top: 19px;
    }
    .company-message-txt-box {
        margin-top: -19px;
    }

    /* ボタン */
    .company-message-more-btn {
        margin: 48px auto 0 auto;
    }

    
    /* ミッション */
    .company-mission {
        padding-top: 60px;
    }
    .company-mission-txt-main {
        margin-top: 52px;
    }
    .company-mission-img {
        width: 163px;
    }
    .company-mission-txt-main {
        font-size: 24px;
        line-height: 1.4em;
    }
    .company-mission-txt-sub {
        font-size: 16px;
        line-height: 1.62em;
        margin-top: 30px;
		padding-bottom: 60px;
    }

    /* 3つの基本方針 */
    .company-policies {
        padding-top: 60px;
        padding-bottom: 73px;
    }
    .company-policies .company-ttl-wrap {
        margin-bottom: 21px;
    }
    .company-policies::before {
        height: 300px;
    }
    .company-policies-box {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .company-policies-imgbox-txt-ttl {
        min-height: auto;
        font-size: 22px;
        text-align: left;
    }
    .company-policies-imgbox-txt-comment {
        margin-top: 12px;
    }
    .company-policies-imgbox-txt {
        padding: 26px 9% 23px;
    }
    .company-policies-imgbox-txt-comment {
        margin-top: 10px;
        line-height: 1.5em;
        font-size: 16px;
    }

    /* 10の行動指針 */
    .company-guidelines {
        padding-bottom: 90px;
    }
    .company-guidelines-item-number {
        font-size: 18px;
    }
    .company-guidelines-box {
        grid-column-gap: 11px;
        grid-row-gap: 28.4px;
/*        grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));*/
    }
    .company-guidelines-icon-txt {
        font-size: 14px;
        margin-top: 8.6px;
    }
    .company-guidelines-exp {
        font-size: 14px;
        margin-top: 16.6px;
    }
	.company-guidelines-exp .PC{display:none;}
    .company-guidelines .company-ttl-wrap {
        margin-bottom: 38px;
		padding-top: 60px;
    }
    .company-guidelines-item-icon-wrap {
        min-height: 130px;
    }
    .company-guidelines-item-icon-box img {
        scale: 0.85;
    }



    /* message.html ------------------------------------------------------------------------------------------- */
    /* パンくず */
    #message .c-bread {
        position: absolute;
        top: 0;
        left: 0;
        text-align: left;
        background-color: transparent;
    }
    /* mv */
    .message-mv {
        padding-top: 63px;
    }
    .message-mv-bg {
        width: 100%;
        height: 282px;
        padding-top: 87px;
        background: url(../img/message-mv-sp.jpg) no-repeat top center;
        background-size: cover;
    }
    .message-mv .kaso-h1-wrap {
        text-align: center;
    }
    /* 代表メッセージ */
    .message-box-inner {
        display: block;
    }
    .message-ttl-sub {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .message-name {
        font-size: 28px;
    }
    .message-name-en {
        margin-top: 20px;
        font-size: 12px;
    }
    .message-ttl-box {
        display: block;
    }
    .message-box {
        width: 100%;
        margin-top: 49px;
        text-align: left;
    }
    .message-ttl {
        font-size: 24px;
        letter-spacing: 0;
    }
    .company-txt {
        font-size: 20px;
        margin-top: 20px;
        line-height: 1.5em;
    }
    .message-box-wrap {
        margin-top: -41px;
        padding: 27px 8.9% 51px;
        text-align: center;
    }
    .message-box-wrap::before {
            height: 5px;
    }
    .company-philosophy {
        display: block;
        text-align: center;
    }
    .message-copy-inner .message-copy-ttl {
        font-size: 22px;
        padding: 0 6%;
    }
    .message-copy-wrap {
        padding: 58px 0 78px;
    }
    .message-copy-txt-wrap {
        text-align: left;
        margin-top: 33px;
    }
	
	/* 代表メッセージ赤背景文字設定 */
	.message-copy-txt-white{
		color: #fff;
   		font-size: 18px;
    	line-height: 1.66em;
	}
	
	@media screen and (max-width:750px){
		.message-copy-txt-white{font-size:16px !important;}
	}

    /* 代表メッセージ白背景 */
    .message-wbg-wrap {
        padding-top: 36px;
    }
    .message-wbg-txt-wrap {
        display: block;
        margin: 0 auto;
        width: 100%;
        padding: 0 5%;
    }
    .message-wbg-wrap {
        padding-left: 0;
        padding-right: 0;
    }
    .message-wbg-img {
        width: 100%;
        height: auto;
        float: none;
        max-width: none;
        margin-top: 34px;
        display: inline-block;
        position: static;
        padding: 0 5%;
    }
    .message-wbg-wrap {
        display: flex;
        flex-direction: column-reverse;
    }
    .message-wbg-wrap-box {
        max-width: none;
        margin: 0 auto;
        text-align: center;
        float: none;
        padding: 45px 3% 50px;
    }
    .message-wbg-wrap-txt-p {
        font-size: 18px;
        text-align: left;
        line-height: 1.5em;
        margin-top: 21px;
    }
	
	@media screen and (max-width:750px){
		.message-wbg-wrap-txt-p {font-size:14px;line-height: 2em;}
	}
	
    .message-wbg-wrap-txt-p-yohaku {
        margin-bottom: 1em;
        display: inline-block;
    }
    .message-wbg-ttl {
        font-size: 26px;
        text-align: left;
        line-height: 1.37em;
    }
	
	.message-wbg-ttl2{
        font-size: 26px;
        line-height: 1.8em;
    }
	
    .message-wbg-wrap-txt-p-btm {
        font-size: 20px;
        text-align: left;
        font-weight: 500;
        line-height: 1.6em;
    }

    .message-wbg .message-wbg-wrap02 {
        padding-bottom: 112px;
        padding-top: 43px;
    }
    .message-wbg-img-left {
        position: static;
        width: 100%;
        padding: 0 5%;
        max-width: none;
    }
    .message-copy-txt-wrap p {
        margin-bottom: 1.3em;
    }
	
    /* ３つの事業計画とは？ */
    .message-three-plan {
        padding-bottom: 96.8px;
        padding-top: 52px;
    }
    .message-three-plan-inner {
        display: block;
    }
    .message-three-plan-ttl, .message-three-plan-ttl span {
        width: 100%;
        text-align: center;
    }
    .message-three-plan-item-wrap {
        width: 100%;
        margin-top: 34px;
    }
    .message-three-plan-txt-btm {
        margin-top: 20px;
        font-size: 18px;
        line-height: 1.5em;
    }
    .message-three-plan-item {
        padding: 30px 8.8% 28px 8.6%;
    }

    /* ３つの事業計画とは？下メッセージ */
    .plan-under-message-box {
        display: block;
        width: 100%;
    }
    .plan-under-message-ttl {
        font-size: 28px;
        line-height: 1.78em;
    }
    .plan-under-message-box-right {
        width: 100%;
        margin-top: 30px;
    }
    .plan-under-message-txt {
        font-size: 16px;
        line-height: 1.75em;
    }
    .plan-under-message-name {
        margin-top: 33px;
    }
    .plan-under-message-wrap {
        margin-top: -119px;
        padding: 63.3px 7.9% 77.9px;
    }
    .plan-under-message-bg {
        padding-bottom: 90px;
    }
    .plan-under-message-bg::before {
        height: 117px;
    }
    


    /* service.html -------------------------------------------------------------------------------------------------- */
    /* mv */
    .service-mv {
        margin-top: 61px;
    }
    .service-mv-h1-wrap {
        text-align: center;
    }
    .service-h1 {
        font-size: 12px;
        margin-bottom: 9px;
    }
    .service-h1-en {
        font-size: 30px;
        margin-bottom: 29px;
    }
    .service-mv-txt {
        max-width: none;
    }
    .service-mv-img {
        max-width: none;
        width: 100%;
        margin-top: 44px;
        height: 241px;
        object-fit: cover;
    }

    /* 事業一覧 */
    .service-item-wrap {
        margin-top: 100px;
        display: block;
    }
    .service-ttl-en {
        margin-bottom: 9px;
    }
    .service-ttl {
        margin-bottom: 22px;
        letter-spacing: 0;
        line-height: 1.25em;
    }
    .service-item-txt-wrap {
        display: block;
        width: 100%;
    }
    .service-item-img {
        width: 100%;
        height: auto;
    }
    .service-item-exp {
        font-size: 23.6px;
        line-height: 1.4em;
        letter-spacing: 0;
        margin-top: 33px;
    }
    .service-item-exp-sub {
        font-size: 20px;
        line-height: 1.5em;
        margin-top: 21px;
        letter-spacing: 0;
    }
    /* ボタン */
    .service-item-btn {
        margin-top: 34px;
    }
    .service-item-btn a {
        gap: 9px;
    }
    .service-item-btn-txt {
        font-size: 18px;
    }
    .service-item-btn-svg {
        padding: 25.5px 27px;
    }


    /* サービスを知る　下層共通css ------------------------------------------------------------ */
    /* パンくず */
    .service-kaso-bread {
        padding-bottom: 28px;
    }
    /* mv */
    .service-kaso-mv-inner {
        display: block;
        padding: 0 6%;
    }
    .service-kaso-comment-box .service-ttl {
        margin-bottom: 25px;
    }
    .service-kaso-ttl-en {
        text-align: center;
        margin-bottom: 0;
        position: relative;
        z-index: 1;
    }
    .service-kaso-mv-img {
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0;
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        height: 422px;
    }
    .service-kaso-mv-txt .service-kaso-comment-box {
        display: block;
        margin-right: 0;
        min-height: 400px;
        max-width: none;
        padding-right: 0;
        margin-top: 50px;
        width: 100%;
    }
    .service-kaso-mv-txt {
        margin-top: 0px;
        width: 100%;
        min-width: auto;
    }
    .service-kaso-comment {
        line-height: 1.7em;
    }
    .service-kaso-company-info-table-td02 a {
        letter-spacing: -0.01em;
    }
    .service-kaso-company-info-table-td02 a img {
        padding-left: 4px;
    }


    /* food.html -------------------------------------------------------------------------------------------------------------- */
    /* mv */
    #food .service-kaso-mv {
        margin-bottom: 0px;
        padding-bottom: 151px;
    }
    

    /* 店舗情報 */  
    .food-store-info-wrap {
        margin-top: -43px;
        margin-bottom: 137px;
    }
    .food-store-item-box {
        grid-template-columns: 1fr;
        row-gap: 48px;
    }
    .food-store-ttl-wrap {
        margin-bottom: 62px;
    }
    .food-store-item-category {
        padding-top: 4px;
    }


    /* food-detail.html --------------------------------------------------------------------------------------------------- */
    /* パンくず
    #food-detail .c-bread-premenu::after { 
        color: #7C7C7C;
    }
    #food-detail .c-bread-premenu span {
        color: #7C7C7C;
    }
    #food-detail .c-bread span {
        color: #222;
    } */

    .food-detail-mv {
        background: url(../img/food-detail-mv.jpg);
        background-size: cover;
        height: 347px;
        background-position: top center;
    }
    .food-detail-mv-under {
        margin-top: -41px;
        padding: 48px 8.9% 56px;
        margin-bottom: 35px;
    }
    .food-detail-mv-under::before {
        height: 5px;
    }
    .food-detail-mv-under-inner {
        display: block;
        text-align: center;
    }
    .food-detail-mv-under-inner-txt-box {
        display: block;
        text-align: center;
    }
    .food-detail-ttl {
        font-size: 30px;
        margin-bottom: 23px;
    }
    .food-detail-ttl-category {
        margin-bottom: 0;
    }
    .food-detail-mv-under-inner-txt {
        font-size: 20px;
        line-height: 1.5em;
        width: 100%;
        margin-top: 39px;
    }
    .food-detail-slider-wrap {
        margin-bottom: 76px;
    }

    /* スライド */
    .food-detail-slider-wrap .kaso-contents-width {
        padding: 0;
    }
    /* スライド横文章 */
    .food-detail-slider-txt {
        font-size: 20px;
        line-height: 1.5em;
        float: none;
        width: 100%;
        letter-spacing: 0;
    }
    .food-detail-slider {
        width: 100%;
        max-width: none;
        margin: 46px calc(50% - 50vw) 0 calc(50% - 50vw) ;
        width: 100vw;
    }
    .food-detail-slider .slick-slide {
        margin: 0 10px;
    }
    .food-detail-slider-item {
        width: 80%;
        max-width: 300px;
        height: 168px;
    }
    .food-detail-slider-item img {
        object-fit: cover;
        object-position: center center;
        width: 100%;
        height: 110%; /* 画像の高さ（大きさ） */
    }


    /* 営業情報 */
    .food-detail-store-info-wrap {
        padding-bottom: 25px;
    }
    .food-detail-store-info {
        width: 88.8%;
        padding-top: 45px;
        padding-bottom: 45px;
    }
    .food-detail-store-info-name {
        font-size: 20px;
    }
    .food-detail-store-info-wrap::before {
        height: 57px;
    }
    /* 表 */
    .food-detail-store-info .service-kaso-company-info-table {
        width: 94%;
        margin-top: 30px;
        table-layout: fixed;
        word-break: break-all;
        word-break: break-word;
    }
    .food-detail-store-info .service-kaso-company-info-table-td01 {
        width: 100%;
        display: block;
        text-align: center;
        padding: 0 0 6px 0;
    }
    .food-detail-store-info .service-kaso-company-info-table-td02 {
        width: 100%;
        display: block;
        text-align: center;
        padding: 0 0 10px 0 !important;
    }
    .service-kaso-company-info-sns {
        margin-top: 62px;
    }

    /* 地図 */
    .food-detail-map iframe {
        height: 294px;
    }


    /* publishing.html ------------------------------------------------------------------------- */
    .service-kaso-mv {
        padding-bottom: 61px;
    }
    .service-kaso-company {
        display: block;
        min-height: 898px;
        margin-top: -13px;
    }
    .service-kaso-company-img {
        width: 100%;
        max-width: none;
    }
    .service-kaso-company-info {
        margin-top: 0;
        width: 100%;
    }
    .service-kaso-company-info-txt {
        margin-top: 23px;
    }
    .service-kaso-company-info-category {
        margin-left: auto;
        margin-right: auto;
    }
    /* 会社一覧 */
    .service-kaso-company-wrap .kaso-contents-width {
        padding: 0 5.7%;
    }
    .service-kaso-company-info-category {
        margin-bottom: 40px;
    }
    .service-kaso-company-info-ttl {
        margin-bottom: 15px;
    }
    .service-kaso-company-info-table {
        margin-top: 36px;
        width: 100%;
        table-layout: fixed;
        word-break: break-all;
        word-wrap: break-all;
    }
    .service-kaso-company-info-table-td02 {
        width: 71%;
    }
    .service-kaso-company-info-table-td01 {
        padding-right: 4px;
    }
    .service-kaso-company-info-table-address {
        padding: 6px 0 23px 0 !important;
    }
    .service-kaso-company-wrap {
        margin-bottom: 116px;
    }

    /* water.html ------------------------------------------------------------------- */
    #mineral .service-kaso-comment-box .service-ttl {
        margin-bottom: 34px;
    }



    /* recruit.html -------------------------------------------------------------------------------- */
    /* mv */
    .recruit-mv {
        background-color: #F2F2F2;
        height: 810px;
        background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
        background-position: 62% 59px, right 133px, right 568px, left 153px, 37.2% 641px, left 485px;
        background-size: 18%, 36%, 28%, 35%, 20.8%, 42%;
    }
    .recruit-mv-txt-wrap {
        margin-top: 98px;
    }
    .recruit-h1 {
        font-size: 14px;
        margin-bottom: 9px;
    }
    .recruit-h1-en {
        font-size: 26px;
        margin-bottom: 24px;
    }
    .recruit-mv-h1-wrap {
        background-color: rgba(255,255,255,0.5);
        padding: 70px 9.9%;
        width: 74%;
        margin: 0 auto;
    }
    .recruit-mv-txt {
        font-size: 16px;
        letter-spacing: 0.02em;
        line-height: 1.76em;
    }

    /* 採用情報コメント */
    .recruit-comment-bg-sp {
        background-color: #F2F2F2;
        z-index: -1;
    }
    .recruit-comment-bg-sp::after {
        height: 95px;
        bottom: 0;
        top: auto;
    }
    .recruit-box-wrap {
        margin: 0;
        padding: 61px 8.9% 51px;
        text-align: center;
    }
    .recruit-box-inner {
        display: block;
    }
    .message-ttl-box {
        display: block;
    }
    .recruit-box {
        width: 100%;
        margin-top: 14.9px;
        text-align: left;
    }
    .recruit-box-txt {
        font-size: 16px;
        letter-spacing: 0;
    }
    .recruit-box-ttl {
        width: 100%;
        text-align: left;
    }
    .recruit-box-txt-left {
        font-size: 20px;
        line-height: 1.7em;
        letter-spacing: 0.02em;
    }

    /* ソフトラインで働く魅力 */
    .recruit-charm-wrap {
        padding-top: 89px;
        padding-bottom: 85.9px;
    }
    .recruit-charm-wrap-ttl {
        font-size: 28px;
    }
    .recruit-charm-item-wrap {
        grid-template-columns: 1fr;
        gap: 46.2px;
        margin-top: 52px;
    }
    .recruit-charm-item img {
        object-fit: cover;
        width: 100%;
    }


    /* ソフトラインの働き方 */
    .recruit-work-wrap-bg {
        background-color: #fcfcfc;
        padding-bottom: 101px;
    }
    .recruit-work-wrap {
        margin: 78px 0 0 0;
    }
    .recruit-work-wrap-ttl {
        font-size: 28px;
        margin-bottom: 45px;
    }
    .recruit-work-box {
        display: block;
        padding: 51px 9% 48px 9%;
        text-align: center;
        margin-bottom: 21px;
    }
    .recruit-work-box-ttl-wrap {
        display: block;
        width: 100%;
    }
    .recruit-work-ttl-en {
        letter-spacing: 0;
    }
    .recruit-work-box-txt-wrap {
        width: 100%;
        margin-top: 25px;
    }
    .recruit-work-ttl {
        line-height: 1.3em;
    }
    .recruit-work-box-txt {
        text-align: left;
    }

    /* 各事業について見る */
    .recruit-other-business {
        padding-bottom: 96.6px;
    }
    .recruit-other-business-h3 {
        font-size: 28px;
    }
    .recruit-other-business-inner {
        margin-top: 22.7px;
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .recruit-other-business-ttl-en {
        font-size: 10px;
    }
    .recruit-other-business-box a {
        height: 150px;
    }



    /* 採用情報介護.html ----------------------------------------------------------------------------------- */
    /* ハーモニーデイサービスの採用情報 */
    .recruitsite-mv {
        height: 560px;
    }
    .recruitsite-info-wrap {
        margin-top: -67px;
        padding: 49px 8.9% 51px;
    }
    .recruitsite-info-wrap::before {
        height: 5px;
    }
    .recruitsite-info {
        display: block;
        text-align: center;
    }
    .recruitsite-info-ttl-box {
        display: block;
    }
    .recruitsite-info-txt {
        font-size: 20px;
        line-height: 1.5em;
        width: 100%;
        margin-top: 35px;
    }
    /* ハーモニーデイサービスの採用情報 */
    .recruitsite-info-ttl {
        width: 100%;
        text-align: center;
    }
    .recruitsite-info-txt {
        margin-top: 10px;
    }
    /* ハーモニーデイサービスで働く */
    .recruitsite-working {
        padding-top: 132px;
    }
    .recruitsite-working-ttl-en {
        margin-bottom: 21px;
    }
    .recruitsite-working-ttl {
        font-size: 30px;
        line-height: 1.3em;
    }
    .recruitsite-working-txt {
        width: 100%;
        max-width: none;
        margin-top: 25px;
    }
    .recruitsite-working-entry {
        width: 327px;
        margin-top: 40px;
    }
    .recruitsite-working-txt-wrap {
        padding-bottom: 303px;
    }

    .recruitsite-working-charm-wrap {
        grid-template-columns: 1fr;
        margin-top: -192px;
        gap: 54px;
        margin-bottom: 100px;
    }
    .recruitsite-working-charm-img {
        margin-bottom: 23px;
    }
    .recruitsite-working-charm-ttl {
        font-size: 20px;
    }
    .recruitsite-working-charm-txt {
        font-size: 16px;
        line-height: 1.62em;
        margin-top: 8px;
    }
    /* お仕事内容 */
    .recruitsite-job-content {
        height: 346px;
    }
    .recruitsite-job-content-txt-wrap {
        display: block;
        text-align: center;
        padding-top: 83px;
    }
    .recruitsite-txt-wrap {
        width: 100%;
    }
    .recruitsite-txt {
        margin-top: 30px;
        text-align: left;
    }
    .recruitsite-job-content-txt-wrap {
        margin-bottom: 76px;
    }
    /* 社員紹介 */
    .recruitsite-employees {
        padding: 80px 0 92px;
    }
    .recruitsite-employees-box {
        margin-top: 35px;
        display: block;
    }
    .recruitsite-employees-box-reverse {
        margin-top: 76px;
    }
    .recruitsite-employees-box-img {
        width: 100%;
    }
    .recruitsite-employees-box-txt {
        width: 100%;
        margin-left: 0;
        margin-top: 31px;
        padding: 39px 9% 42.2px;
    }
    .recruitsite-employees-box-job {
        margin-top: 18px;
    }
    .recruitsite-employees-box-name {
        font-size: 24px;
        margin-top: 10px;
    }
    .recruitsite-employees-box-txt-ttl {
        font-size: 24px;
        line-height: 1.25em;
    }
    .recruitsite-employees-box-txt-p {
        font-weight: 500;
        line-height: 1.66em;
    }
    .recruitsite-employees-box-img-right {
        text-align: left;
    }

    /* 福利厚生 */
    .recruitsite-welfare-bg {
        padding-bottom: 102px;
    }
    .recruitsite-welfare {
        padding-top: 90px;
    }
    .recruitsite-h2 {
        font-size: 30px;
    }
    .recruitsite-welfare-box {
        grid-template-columns: 1fr;
    }
    .recruitsite-welfare-box {
        background-color: #F2F2F2;
        padding: 50px 0 73px 0;
    }
    .recruitsite-welfare-box-item {
        min-height: 76px;
    }
    /* 採用ステップ */
    .recruitsite-recruitment {
        padding-top: 86px;
    }
    .recruitsite-recruitment-box {
        grid-template-columns: 1fr;
        gap: 44.3px;
        margin-top: 45.8px;
    }
    .recruitsite-recruitment-step-txt {
        font-size: 18px;
        margin-top: 28px;
        line-height: 1.33em;
        letter-spacing: 0.08em;
    }
    .recruitsite-recruitment-step {
        padding: 0 9% 25.6px;
    }
    .recruitsite-recruitment-step:nth-of-type(1) img { /* エントリーアイコン */
        margin: 5px 0 0 0;
    }
    .recruitsite-recruitment-step:nth-of-type(2) img { /* 書類選考アイコン */
        margin: 6px 16px 4px 0;
    }
    .recruitsite-recruitment-step:nth-of-type(4) img { /* 内定アイコン */
        margin: 7px 0 0 0;
    }
    /* エントリー方法 */
    .recruitsite-enter {
        padding-top: 83px;
    }
    .recruitsite-enter-box-wrap {
        margin-top: 45.8px;
    }
    .recruitsite-enter-box {
        display: block;
        padding: 37px 9% 41px;
    }
    .recruitsite-enter-box:nth-of-type(2) {
        padding: 21px 9% 40px;
    }
    .recruitsite-enter-box:nth-of-type(3) {
        padding: 26px 9% 40px;
    }
    .recruitsite-enter-tel {
        margin-top: 36px !important;
    }
    .recruitsite-enter-box-txt {
        width: 100%;
    }
    .recruitsite-enter-btn, .recruitsite-enter-line, .recruitsite-enter-tel {
        margin: 23px auto 0;
    }
    /* 募集要項 */
    .recruitsite-require {
        display: block;
        padding-top: 75px;
    }
    .recruitsite-require .recruitsite-h2-wrap {
        text-align: center;
    }
    .recruitsite-require .recruitsite-h2-en {
        font-size: 11px;
    }
    .recruitsite-require-box-table {
        margin-top: 33px;
    }
    .recruitsite-require .recruitsite-h2 {
        font-size: 30px;
    }
    .recruitsite-require-wrap {
        width: 100%;
        margin-top: 45px;
    }
    .recruitsite-require-box-ttl-wrap {
        flex-direction: column-reverse;
        gap: 7px;
        padding-bottom: 20px;
    }
    .recruitsite-require-box-job-wrap {
        padding-top: 22px;
    }
    .recruitsite-require-box-job {
        text-align: center;
    }
    /* 表 */
    .recruitsite-require-box-table th {
        width: 32%;
        padding: 10.5px 0;
    }
    .recruitsite-require-box-table td {
        line-height: 1.14em;
    }
    .recruitsite-require-box {
        margin-bottom: 30px;
    }
    /* ボタン */
    .recruitsite-require-btn-txt {
        font-size: 22px;
        line-height: 1.3em;
        padding: 0 4%;
    }
    .recruitsite-require-btn {
        margin-top: 62px;
        margin-bottom: 116.4px;
    }
    .recruitsite-require-btn .recruitsite-working-entry {
        margin-top: 34px;
    }


    /* entry.html ----------------------------------------------------------------------------------------------------- */
    /* 応募入力  */

    /* 応募フォーム */
    .entry-form-input-wrap {
        display: block;
        margin-bottom: 217px;
        margin-top: 41px;
    }
    .entry-form-wrap, .entry-form-wrap span {
        width: 100%;
        text-align: center;
    }
    .entry-step-wrap {
        padding: 127px 5% 0 5%;
        gap: 9px;
    }
    .entry-step-txt {
        font-size: 16px;
    }
    .entry-step-number {
        font-size: 14px;
        margin-top: -6px;
        margin-bottom: 7px;
    }
    /* 見出し */
    .kaso-h1-wrap {
        text-align: center;
    }
    .recruit-layer .kaso-h1-en {
        font-size: 30px;
    }
    .recruit-layer .kaso-h1 {
        margin-bottom: 7px;
        line-height: 1.3em;
    }
    .entry-form-txt01 {
        text-align: left;
        margin-bottom: 9px;
    }
    .entry-form-txt02 {
        text-align: left;
        line-height: 1.6em;
        margin-bottom: 19px;
    }
    .entry-form-txt03 {
        text-align: left;
        margin-bottom: 75px;
    }
    textarea {
        height: 158px !important;
    }
    .entry-form-input {
        width: 100%;
    }
    /* ボタン */
    .p-form__submit {
        width: 100%;
        transform: translateX(0);
        margin-top: 56px;
        text-align: center;
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
}

    /* complete.html --------------------------------------------------------------------------------------------- */
    #thanks .entry-step-wrap,
    .complete-txt-wrap .entry-step-wrap{
        padding-left: 0;
        padding-right: 0;
    }
    .complete-txt-wrap {
        margin-top: 73px;
        width: 100%;
        max-width: none;
    }
    .complete-txt01 {
        line-height: 1.41em;
        margin-bottom: 20px;
    }
    .entry-top_btn {
        margin-top: 70px;
        margin-bottom: 203px;
    }


    /* contact.html ------------------------------------------------------------------------------------------------------ */
    #contact-site .entry-step-wrap {
        padding-top: 40px;
    }
    #contact-site .entry-form-txt03 {
        margin-bottom: 70px;
    }
    #contact-site .p-form__submit {
        margin-top: 49px;
    }
    #contact-site .entry-form-input-wrap {
        margin-bottom: 140px;
    }

    /* contact__complete.html ------------------------------------------------------------------------------------------------------ */
    #thanks .entry-step-wrap,
    #contact_complete .entry-step-wrap {
        padding: 38px 0% 0 0%;
    }
    #thanks .complete-txt-wrap,
    #contact_complete .complete-txt-wrap {
        margin-top: 77px;
    }
    #thanks .entry-top_btn,
    #contact_complete .entry-top_btn{
        margin-bottom: 124px;
    }

    /* privacy-policy.html ---------------------------------------------------------------------------------------------------------- */
    .privacy-policy-inner {
        width: 88%;
        min-width: auto;
        padding: 0;
    }
    .privacy-policy-wrap {
        margin-top: 47px;
    }
    .privacy-policy-exp {
        margin-top: 61px;
    }
    .privacy-policy-item-wrap {
        margin-top: 58px;
    }
    .privacy-policy-item-ttl {
        font-size: 18px;
    }
    .privacy-policy-item-txt {
        margin-top: 9px;
    }
    .privacy-policy-item {
        margin-bottom: 29px;
    }
    .privacy-policy-company {
        margin-top: 67px;
        margin-bottom: 207px;
    }
    #privacy-policy .h2 {
        margin-bottom: 14px;
    }

}


/*single markup style*/
.post_single{
	overflow:hidden;
}
.post_single img{
	max-width:100%;
	height:auto;
}
.post_single img.alignright{
	float:right;
	margin:0 0 15px 15px;
	display:block;
}
.post_single img.alignleft{
	float:left;
	margin:0 15px 15px 0;
	display:block;
}
.post_single img.aligncenter{
	display:block;
	margin:0 auto 15px;
}
.post_single h1{
    font-size: 30px;
    letter-spacing: 0;
    line-height: 1.66em;
    word-wrap: break-word;
}
.post_single h2{
    font-size: 28px;
    letter-spacing: 0;
    line-height: 1.66em;
    word-wrap: break-word;
}
.post_single h3{
    font-size: 26px;
    letter-spacing: 0;
    line-height: 1.66em;
    word-wrap: break-word;
}
.post_single h4{
    font-size: 24px;
    letter-spacing: 0;
    line-height: 1.66em;
    word-wrap: break-word;
}
.post_single h5{
    font-size: 22px;
    letter-spacing: 0;
    line-height: 1.66em;
    word-wrap: break-word;
}
.post_single h6{
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1.66em;
    word-wrap: break-word;
}
.post_single strong {
    font-weight: bold;
}
.post_single td{
	padding:10px;
	border:1px solid;
}
.post_single table{
	margin-bottom:25px;
}
.post_single ul,
.post_single ol{
	padding-left:2.0em;
	margin-bottom:25px;
}
.post_single ul li{
	list-style:outside;
	margin-bottom:10px;
	line-height:1.4;
}
.post_single ol li{
	list-style:outside decimal;
	margin-bottom:10px;
	line-height:1.4;
}
.post_single a{
	text-decoration:underline;
	color:#999;
}

@media screen and ( max-width:650px ){
.post_single img.alignright,
.post_single img,
.post_single img.alignleft{
	float:none;
	margin:0 auto;
	display:block;
}
.post_single img.emoji {
    display: inline !important;
}
.post_single table {
	width:100% !important;
}

}/*media*/

/* パンくず文字数 
.c-bread__list span[itemprop="name"]*/
.c-bread__list {
    word-break: break-all;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}




.company-movie-wrap{
	margin-top: -40px;
	margin-bottom: 112px;
}
.company-movie{
	position: relative;
	max-width: 640px;
	margin: 0 auto;
}
.company-movie::before{
	content: "";
	display: block;
	padding-bottom: 56.25%;
}
.company-movie iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media only screen and (max-width:750px) {
	.company-movie-wrap{
		margin-top: 80px;
		margin-bottom: 0;
	}
}

/* 230605 */
.c-bread.history {
    padding-top: 0;
    position: absolute;
    top: 110px;
    z-index: 200;
    background: transparent;
}
.history-mv {
    width: 94%;
    width: 100%;
    padding-top: 215px;
    background: url(../img/history-mv-pc.png) no-repeat center center;
    background-size: cover;
    height: 616px;
    margin: 0 auto;
    position: relative;
    z-index: 100;
}
.history-mv .company-philosophy-width {
    position: relative;
    top: 200px;
}
.company-history {
    padding-top: 200px;
    padding-bottom: 100px;
    background: #f2f2f2;
    position: relative;
}
.company-history::before {
    content: "";
    width: 2px;
    height: calc(100% - 220px);
    background: #ef4555;
    position: absolute;
    top: 0;
    left: calc(50% - 1px);
    z-index: 10;
}
.history-wrap {
    margin: 0 auto;
    padding: 60px 0 200px;
    width: 1000px;
    position: relative;
}
.history-wrap::before {
    content: "";
    width: 2px;
    height: 12px;
    background: #ef4555;
    opacity: .7;
    position: absolute;
    left: calc(50% - 1px);
    bottom: 100px;
}
.history-wrap::after {
    content: "";
    width: 2px;
    height: 12px;
    background: #ef4555;
    opacity: .3;
    position: absolute;
    left: calc(50% - 1px);
    bottom: 80px;
}
.history-wrap .card {
    margin-bottom: 20px;
    width: 100%;
    position: relative;
    z-index: 1;
}
.history-wrap .card dl::after {
    content: "";
    width: 36px;
    height: 36px;
    background: #ef4555;
    border-radius: 50%;
    position: absolute;
    top: 30px;
}
.history-wrap .card dt {
    font-family: "roc-grotesk-wide", sans-serif;
    font-weight: 500;
    color: #ef4555;
    font-size: 28px;
}
.history-wrap .card dd {
    font-size: 18px;
    line-height: 1.8;
}
.history-wrap .card figure {
    width: 450px;
    height: 250px;
}
.history-wrap .card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (min-width: 769px) {
    .noPC { display: none; }
    .history-wrap .card {
        margin-bottom: 20px;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        z-index: 1;
    }
    .history-wrap .card dl {
        padding: 38px;
        width: 580px;
        background: #fff;
        position: relative;
    }
    .history-wrap .card:nth-child(2n+1) {
        flex-direction: row-reverse;
    }
    .history-wrap .card:nth-child(2n+1) dl {
        margin-left: -30px;
        padding-left: 130px;
        text-align: left;
    }
    .history-wrap .card:nth-child(2n+1) dl::after {
        left: 63px;
    }
    .history-wrap .card:nth-child(2n) dl {
        margin-right: -30px;
        padding-right: 130px;
    }
    .history-wrap .card:nth-child(2n) dl::after {
        right: 63px;
    }
    .company-history + .under-layer-menu::after {
        background: #fff;
    }
}
@media screen and (max-width: 768px) {
    .noSP { display: none; }
    .history-mv {
        padding-top: 60vw;
        width: 100%;
        height: 286px;
        padding-top: 120px;
        background: url(../img/history-mv-sp.png) no-repeat top center;
        background-size: cover;
    }
    .company-history {
        padding-top: 90vw;
        padding-bottom: 20vw;
    }
    .company-history::before {
        height: calc(100% - 40vw);
    }
    .history-wrap {
        padding: 20% 6%;
        width: 100%;
    }
    .history-wrap::before {
        bottom: 14vw;
    }
    .history-wrap::after {
        bottom: 8vw;
    }
    .history-wrap .card {
        margin-bottom: 10.1333vw;
        padding: 34px 30px 24px;
        text-align: center;
        background: #fff;
        z-index: 50;
    }
    .history-wrap .card dl::after {
        width: 10.4vw;
        height: 10.4vw;
        top: -5.2vw;
        left: calc(50% - 5.2vw);
    }
    .history-wrap .card dt {
        margin-bottom: 3vw;
        font-size: 5.3333vw;
    }
    .history-wrap .card dd {
        margin-bottom: 3.5vw;
        font-size: 4.2666vw;
    }
    .history-wrap .card figure {
        width: 100%;
    }
    .company-history + .under-layer-menu {
        background: #fff;
    }
}

/*2024.01 ドットワン横山追記*/
.recruit-layer{background-color:#F2F2F2;}

