/*画面設定*/
html {
  scroll-behavior: smooth;
}

.l-main {
  overflow: hidden;
}

.p-sub_pc_on {
  display: block;
}

table .p-sub_pc_on {
  display: table-cell;
  display: inline-block;
}

.p-sub_sp_on {
  display: none;
}

table .p-sub_sp_on {
  display: none;
}

.p-sub_tb_on {
  display: none;
}

.p-sub_tb_off {
  display: block;
}

#page_no_side {
  width: 100%;
  margin: 0;
}

.image {
  width: 100%;
  object-fit: fill;
}

/* アニメーション設定 */
.animate-slide_up {
  opacity: 0;
  transform: translateY(50px);
  -webkit-transform: translateY(50px);
  transition: transform 0.8s;
  -webkit-transition: transform 0.8s;
}

.animate-slide_up.showed {
  opacity: 1;
  transform: translateY(0);
  -webkit-transform: translateY(0);
}

/* font設定 */
/* font-family */
html,
body,
p,
h1,
h2,
h3,
h4,
h5,
th,
td,
time,
a {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.lang-en {
  font-family: sans-serif !important;
}

.under-line {
  text-decoration: underline !important;
}

/* font-color */
.c-font-c_fff {
  color: #fff !important;
}

.c-font-c_4B4784 {
  color: #4b4784 !important;
}

.c-font-c_514A93 {
  color: #514a93 !important;
}

.c-font-c_4D4D4D {
  color: #4d4d4d !important;
}

.c-font-c_3c3c3c {
  color: #3c3c3c !important;
}

.c-font-c_FF8031 {
  color: #ff8031 !important;
}

.c-font-c_F2836D {
  color: #f2836d !important;
}

.c-font-c_392F24 {
  color: #392f24 !important;
}

.c-font-c_382F24 {
  color: #382f24 !important;
}

.c-font-c_392F24 {
  color: #392f24 !important;
}

.c-font-c_707070 {
  color: #707070 !important;
}

.c-font-c_525252 {
  color: #525252 !important;
}

.c-font-c_C4C2C2 {
  color: #c4c2c2 !important;
}

/* ヘッダーコンテンツ */
body.admin-bar {
  padding: 0 !important;
}

.header_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 300 !important;
  width: 100%;
  height: 165px;
  overflow: hidden;
  background-image: url("../images/header_bg_pc.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.l-header {
  width: 1080px;
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 2vh !important;
  left: 50%;
  transform: translateX(-50%);
  background: none !important;
  z-index: 300;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.header_list_item.logo {
  width: 10%;
  margin-left: 2rem;
}

.header_list_item.logo:hover {
  opacity: 0.6;
}

.header_list_item.logo img {
  vertical-align: middle;
}

.header_list_item.logo p {
  font-size: 40px;
}

.header_menu_nav {
  list-style: none;
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 2.5rem;
  margin: 0;
}

.header_menu_nav_list_item {
  text-align: center;
}

.header_menu_nav_list_item:hover {
  opacity: 0.6;
}

.header_menu_nav_list_main_text {
  font-size: 15px;
  line-height: 1;
}

.header_list_item.btn {
  background: #f2836d;
  border-radius: 30px;
}

.header_list_item.btn:hover {
  opacity: 0.6;
}

.header_list_item.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  font-size: 16px;
  line-height: 30px;
  padding: 0.8rem 1.5rem;
}

.header_btn_border {
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
}

.header_btn_border span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 9px;
  height: 9px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateX(-50%) rotate(45deg);
}

.header_btn_border span:last-child {
  top: 8px;
}

#menu {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 299;
  will-change: transform;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

#menu.active {
  display: block;
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

.menu-bg {
  background: #fff;
  width: 100%;
  height: 100%;
  overflow: scroll;
}

.menu_inner {
  width: 95%;
  margin: 0 auto;
  padding: 160px 0;
}

.menu_list_wrapper {
  margin-bottom: 1.5rem;
}

.menu_list {
  list-style: none;
}

.menu_list_item {
  border-bottom: 1px solid #d1d1dd;
}

.menu_list_item_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem 1rem 1rem;
}

.menu_list_item_head_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
}

.menu_list_item_body_text {
  position: relative;
  font-size: 12px;
  font-weight: bold;
}

.menu_list_item_inner:hover {
  background: #a0cfdf63;
}

p.menu_list_item_body_text::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: -1rem;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.parent p.menu_list_item_body_text::before {
  content: "＋";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -1rem;
  font-size: 12px;
  width: auto;
  height: auto;
  border: none;
}

.parent.active p.menu_list_item_body_text::before {
  content: "―";
}

.menu_contact_wrapper {
  display: inline-block;
  margin-bottom: 1rem;
}

.c-btn_wrapper.menu-contact {
  position: relative;
  background: #f2836d;
  border-radius: 100px;
  margin: 0 auto;
  width: 200px;
  text-align: center;
}

.c-btn_wrapper.menu-contact a {
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 1rem;
}

.c-btn_wrapper.menu-line {
  position: relative;
  background: #06c755;
  border-radius: 100px;
  margin: 0 auto;
  width: 200px;
  text-align: center;
}

.c-btn_wrapper.menu-line a {
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 1rem;
}

.menu_tel_wrapper {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.menu_tel_image_wrapper {
  width: 30px;
}

.menu_tel_text {
  font-size: 26px;
}

.menu_tel_text a {
  font-weight: bold;
  font-family: "Poppins", sans-serif !important;
}

.menu_sub_list_wrapper {
  display: none;
}

.menu_sub_list_text {
  background: #fff;
}

.menu_sub_list_text:not(:last-child) {
  border-bottom: 1px solid #56c4de60;
}

.menu_sub_list_text a {
  display: block;
  font-size: 14px;
  font-weight: bold;
  padding: 1rem 2rem 1rem 2rem;
}

/* トップページ---MV */
.header_contents_inner {
  padding: 0;
}

.header-contents_side_slider_wrapper {
  width: 100%;
  height: 90vh;
}

.header-contents_side_slider {
  height: 100%;
}

.slick-slider {
  position: relative;
  margin: 0;
  height: 100%;
}

.slick-list {
  height: 100%;
}

.slick-track {
  height: 100%;
}

.slick-slide img {
  width: 100%;
  height: 100%;
  border-radius: 0 0 30px 0;
  object-fit: cover;
}

.header_contents_list {
  position: absolute;
  width: 540px;
  top: 40vh;
  left: 32%;
  transform: translateX(-50%);
  display: flex;
}

.header_contents_item_phrase {
  width: 100%;
}

.header_contents_phrase_text {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.1rem;
  text-shadow: #000 1px 0 10px;
}

.header_contents_phrase_text_space {
  position: relative;
  display: inline-block;
  margin-bottom: 2rem;
}

.header_contents_phrase_text:last-child {
  margin-bottom: 3rem;
}

.header_contents_char-2_1 {
  position: absolute;
  bottom: -3vh;
  left: 9%;
  width: 140px;
}

.header_contents_btn_list {
  display: flex;
  justify-content: end;
  gap: 2.5rem;
  position: absolute;
  bottom: 10%;
  right: calc((100% - 1080px) / 2);
}

.c-btn_wrapper:hover {
  opacity: 0.6;
}

.c-btn_wrapper.mv {
  position: relative;
  width: 250px;
  text-align: center;
  border-radius: 100px;
}

.c-btn_wrapper.mv.login {
  background: #f2836d;
}

.c-btn_wrapper.mv.registration {
  background: #51b955;
}

.c-btn_wrapper.mv a {
  display: block;
  font-size: 20px;
  padding: 1.3rem 1.5rem;
}

.c-btn_arrow_wrapper.mv {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.mv {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

.registration .c-btn_arrow.mv {
  border-top: 3px solid #51b955;
  border-right: 3px solid #51b955;
}

.header_contents_item_image {
  position: relative;
  width: 480px;
  height: 585px;
  margin-right: 2rem;
}

.header_contents_char-1 {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateX(-50%);
}

/* トップページ */
.l-inner {
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}

.l-sub_inner {
  width: 1080px;
  margin: 0 auto;
  padding: 80px 0;
}

/* トップページ---news */
.p-top_news_inner {
  padding: 80px 0 80px 0;
}

.p-top_news_title {
  font-size: 32px;
  font-weight: bold;
}

.p-top_news_list_item {
  position: relative;
  margin-top: 2.5rem;
  border-bottom: 1px solid #e9e5de;
}

.p-top_news_list_item a {
  display: flex;
  justify-content: start;
  padding: 0 0 1rem;
}

.p-top_news_date {
  display: block;
  width: 20%;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
}

.p-top_news_content_title {
  display: block;
  width: 25%;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
}

.p-top_news_content_body {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
}

.c-btn_wrapper.news {
  position: relative;
  width: 250px;
  background: #f2836d;
  border-radius: 100px;
  text-align: center;
  margin: 2rem 0 0 auto;
}

.c-btn_wrapper.news a {
  display: block;
  font-size: 20px;
  padding: 1.5rem 2rem;
}

.c-btn_arrow_wrapper.news {
  position: absolute;
  top: 50%;
  right: 8%;
  transform: translateY(-50%);
  display: block;
  width: 30px;
  height: 30px;
  background: #fff;
  border: 3px solid #f2836d;
  border-radius: 100px;
}

.c-btn_arrow.news {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

.c-btn_arrow_wrapper.news_list {
  position: absolute;
  top: 0;
  right: 5%;
  transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  background: #fff;
  border: 4px solid #f2836d;
  border-radius: 100px;
}

.c-btn_arrow.news_list {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

/* トップページ---char-bg */
.char-bg_bg {
  background: linear-gradient(
    #d6ece7,
    #e8eede,
    #eeefdb,
    #f3efd9,
    #fbebd7,
    #fbe7d6
  );
}

.char-bg_inner {
  width: 100%;
  padding: 80px 0 40px;
}

.char_img_list {
  width: 1080px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.char-bg_image_wrapper.char-blue {
  width: 60px;
  height: 100px;
}

.char-bg_image_wrapper.char-yellow {
  width: 80px;
  height: 120px;
}

.char-bg_image_wrapper.char-red {
  width: 60px;
  height: 100px;
}

.char-bg_image_wrapper.char-ibo {
  width: 80px;
  height: 130px;
}

.char-bg_image_wrapper.char-green {
  width: 60px;
  height: 100px;
}

.char-bg_image_wrapper.char-cmo {
  width: 70px;
  height: 80px;
}

.char-bg_image_wrapper.char-pink {
  width: 80px;
  height: 90px;
}

.c-loop_wrapper {
  display: flex;
  align-items: center;
  overflow: hidden;
}

.c-loop_area {
  display: flex;
  animation: loop-slide 40s infinite linear 1s both;
  list-style: none !important;
  margin: 0 !important;
  padding: 0;
}

@keyframes loop-slide {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-100%);
  }
}

.c-loop_text {
  width: 230px;
  font-size: 90px;
}

/* トップページ---work-info */
#work-info {
  position: relative;
  z-index: 2;
}

.work-info_bg {
  background: #fff;
}

.work-info_inner {
  padding: 0;
}

.work-info_contents_wrapper {
  position: relative;
  bottom: -60px;
}

.work-info_contents_wrapper:hover {
  opacity: 0.6;
}

.c-btn_wrapper.work-info {
  position: relative;
  width: 250px;
  text-align: center;
  border-radius: 100px;
}

.c-btn_wrapper.work-info.registration {
  width: 520px;
  position: absolute;
  bottom: 2.5rem;
  left: 6rem;
  background: #ff8031;
}

.c-btn_wrapper.work-info a {
  display: block;
  font-size: 32px;
  font-weight: bold;
  padding: 2rem 3rem;
}

.c-btn_arrow_wrapper.work-info {
  position: absolute;
  top: 50%;
  right: 8%;
  transform: translateY(-50%);
  display: block;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.work-info {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #ff8031;
  border-right: 3px solid #ff8031;
}

/* トップページ---prom-vid */
#prom-vid {
  position: relative;
}

#prom-vid::before {
  content: "";
  position: absolute;
  top: -60px;
  width: 100%;
  height: 60px;
  background: #f4f4f4;
  border-radius: 100px 100px 0 0;
}

.prom-vid_bg {
  background: #f4f4f4;
}

.prom-vid_inner {
  width: 100%;
  padding: 80px 0;
}

.prom-vid_title_wrapper {
  text-align: center;
  margin-bottom: 3rem;
}

.prom-vid_title {
  font-size: 47px;
  font-weight: bold;
}

.prom-vid_contents {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.char-3_wrapper {
  width: 230px;
  height: 200px;
}

.prom-vid_video_wrapper {
  width: 100%;
  max-width: 840px; /* PC時の最大幅 */
  aspect-ratio: 16 / 9; /* 高さはここで管理 */
  position: relative;
  margin-inline: auto; /* 中央寄せ（不要なら消してOK） */
}

.prom-vid_video_wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important; /* iframeのheight属性を完全無効化 */
  display: block;
  border: 0;
}

.char-2_wrapper {
  width: 230px;
  height: 200px;
}

/* トップページ---situation */
#situation {
  position: relative;
  z-index: 2;
}

.situation_bg {
  background: #f4f4f4;
}

.situation_inner {
  width: 100%;
  padding: 32px 0 0;
}

.situation_contents {
  width: 91.5%;
  background: linear-gradient(
    180deg,
    #d6ece7,
    #e8eede 25%,
    #eeefdb 40%,
    #f3efd9 45%,
    #fbebd7 75%,
    #fbe7d6
  );
  border-radius: 120px 0 0 0;
  padding: 4.5rem 0 0;
}

.situation_contents_inner {
  width: 1080px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding-bottom: 80px;
}

.situation_contents_text {
  width: 30%;
  margin-left: 3.5rem;
}

.situation_contents_tilte_wrapper {
  margin-bottom: 3rem;
}

.situation_contents_title {
  font-size: 42px;
  font-weight: bold;
}

.c-btn_wrapper.situation {
  position: relative;
  width: 250px;
  background: #f2836d;
  border-radius: 100px;
  text-align: center;
  margin-bottom: 3.5rem;
}

.c-btn_wrapper.situation a {
  display: block;
  font-size: 20px;
  padding: 1.5rem 2rem;
}

.c-btn_arrow_wrapper.situation {
  position: absolute;
  top: 50%;
  right: 8%;
  transform: translateY(-50%);
  display: block;
  width: 30px;
  height: 30px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.situation {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

.situation_contens_image_wrapper {
  width: 30%;
  margin-left: auto;
}

.situation_contents_news {
  position: absolute;
  right: 0;
  background: #fff;
  border-radius: 33px 0 0 33px;
  padding: 2rem 5rem 4rem 4.5rem;
  margin-top: 4rem;
}

.situation_news_list_item {
  border-bottom: 1px solid #e9e5de;
}

.situation_news_list_item:hover {
  opacity: 0.6;
}

.situation_news_list_item a {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 6rem;
  padding: 2rem 2rem 2rem 0;
}

.situation_news_date {
  display: block;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.situation_news_category {
  font-size: 15px;
  font-weight: 400;
  border-radius: 14px;
  border: 1px solid #392f24;
  text-align: center;
  padding: 0.3rem 0.8rem;
}

.situation_news_title {
  font-size: 15px;
  font-weight: bold;
}

.situation_news_toggle {
  border-style: solid;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 20px solid #ff8031;
  border-right: 0;
}

/* トップページ---bg */
#top-bg {
  position: relative;
  background: #f4f4f4;
  z-index: 1;
}

.top-bg_bg {
  background: linear-gradient(0deg, #fff, transparent);
}

.top-bg_inner {
  height: 300px;
  padding: 0;
}

/* トップページ---others */
.others_inner {
  padding: 0 0 88px;
}

.others_list {
  display: flex;
  justify-content: space-between;
  align-items: start;
}

.others_list.service {
  margin-bottom: 8.5rem;
}

.others_list.company {
  margin-bottom: 8.5rem;
}

.others_title_wrapper {
  position: relative;
  margin-bottom: 4.5rem;
}

/* インフォメーション非表示の設定
*/

.others_bg {
  margin-top: 160px;
}

/* .others_bg {
  margin-top: 80px;
} */

/* //インフォメーション非表示の設定
*/

.others_title_en {
  position: relative;
  bottom: 0;
  opacity: 0.22;
  font-size: 120px;
  font-weight: 400;
}

.others_title_jp {
  position: absolute;
  bottom: 0;
  font-size: 42px;
  font-weight: bold;
}

.others_text_wrapper {
  margin-bottom: 2.5rem;
}

/* .company .others_text_wrapper {
  margin-left: 4rem;
} */

.others_text {
  font-size: 16px;
  font-weight: bold;
  line-height: 30px;
}

.c-btn_wrapper.others {
  position: relative;
  width: 250px;
  background: #f2836d;
  border-radius: 100px;
  text-align: center;
  margin-bottom: 1rem;
}

/* .company .c-btn_wrapper.others {
  margin-left: 4rem;
} */

.c-btn_wrapper.others a {
  display: block;
  font-size: 20px;
  padding: 1.5rem 2rem;
}

.c-btn_arrow_wrapper.others {
  position: absolute;
  top: 50%;
  right: 4%;
  transform: translateY(-50%);
  display: block;
  width: 45px;
  height: 45px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.others {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

.others_list_item_image {
  width: 65%;
}

.service .others_list_item_image {
  margin-right: calc(50% - 50vw);
}

.service .others_list_item_image img {
  border-radius: 36px 0 0 36px;
}

.company .others_list_item_image {
  margin-left: calc(50% - 50vw);
}

.company .others_list_item_image img {
  border-radius: 0 36px 36px 0;
}

.others_list_item_text {
  width: 45%;
}

/* フッター---contact */
footer {
  overflow: hidden;
}

.l-footer-contact_bg {
  background-image: linear-gradient(270deg, #b1d89f, #34ad9f);
}

.l-footer-contact_inner {
  padding: 64px 0;
}

.l-footer-contact_list {
  display: flex;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.19);
  border-radius: 25px;
  padding: 3.5rem;
}

.l-footer-contact_list_item_title {
  position: relative;
  width: 50%;
}

.l-footer-contact_title {
  font-size: 77px;
  font-weight: 500;
  margin-bottom: 1.5rem;
}

.l-footer-contact_ruby {
  font-size: 21px;
  font-weight: bold;
}

.l-footer_contact_char-2_wrapper {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: baseline;
  justify-content: start;
}

.l-footer_contact_char-2_1 {
  width: 100px;
  height: 150px;
}

.l-footer_contact_char-2_2 {
  width: 90px;
  height: 80px;
}

.l-footer-contact_list_item_contents {
  width: 50%;
  margin-top: 2rem;
}

.l-footer-contact_contents_text {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: center;
}

.l-footer-contact_contents_list {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 1rem;
}

.l-footer-contact_contents_tel_image {
  width: 40px;
  height: 40px;
}

.l-footer-contact_contents_tel_text {
  font-size: 58px;
  letter-spacing: 3px;
  font-weight: bold;
  margin-left: 1rem;
}

.l-footer-contact_sb_contents_list {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 4.5rem;
  margin: 0 0 2.5rem;
}

.l-footer-contact_sb_contents_text {
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
}

.l-footer-contact_sb_contents_text strong {
  font-weight: bold;
  margin-right: 1rem;
}

.c-btn_wrapper.contact {
  position: relative;
  width: 350px;
  background: #f2836d;
  border-radius: 100px;
  margin: 0 auto 2rem;
}

.c-btn_wrapper.contact a {
  display: block;
  font-size: 20px;
  font-weight: bold;
  padding: 1.5rem 4rem;
}

.c-btn_wrapper.line {
  position: relative;
  width: 350px;
  background: #06c755;
  border-radius: 100px;
  margin: 0 auto;
}

.c-btn_wrapper.line a {
  display: block;
  font-size: 20px;
  font-weight: bold;
  padding: 1.5rem 4rem;
}

.c-btn_arrow_wrapper.contact {
  position: absolute;
  top: 50%;
  right: 4%;
  transform: translateY(-50%);
  display: block;
  width: 45px;
  height: 45px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.contact {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

.c-btn_arrow_wrapper.line {
  position: absolute;
  top: 50%;
  right: 4%;
  transform: translateY(-50%);
  display: block;
  width: 45px;
  height: 45px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.line {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #06c755;
  border-right: 3px solid #06c755;
}

/* フッター---info */
.footer-info_inner {
  padding: 64px 0 152px;
}

.footer-info_list {
  display: flex;
  justify-content: space-between;
}

.footer-info_list_item_logo {
  margin-left: 1.5rem;
}

.footer-info_logo {
  width: 120px;
  height: 50px;
  margin-bottom: 1.5rem;
}

.footer-info_logo-content{
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-info_logo-content img{
  height: 40px;
  width: auto;
}

.footer-info_add {
  line-height: 1.3;
}

.footer-info_add-item {
  padding-bottom: 10px;
  padding-top: 16px;
}

.footer-info_add .head_text {
  font-size: 20px;
  font-weight: 500;
}

.footer-info_add .body_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
}

.footer-info_add .foot_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
}

.footer-info_logo a {
  display: block;
}

.footer-info_list_item_navs {
  width: 56.5%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-row-gap: 2rem;
  grid-column-gap: 1rem;
}

.footer-info_nav_item:hover {
  opacity: 0.6;
}

.footer-info_nav_item .head_text {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.footer-info_nav_item .body_text {
  font-size: 14px;
  font-weight: 500;
}

.footer-top {
  position: absolute;
  bottom: 80px;
  right: -45px;
  width: 45px;
  height: 45px;
  background: #f2836d;
  border-radius: 100px;
  z-index: 999;
}

.footer-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 12px;
  text-align: center;
}

.footer-info_under_text {
  width: 1080px;
  margin: 0 auto;
  text-align: right;
  padding-top: 3.5rem;
}

.footer-info_under_text .body_text {
  font-size: 15px;
  letter-spacing: 1.5px;
  padding-right: 1.5rem;
  margin-bottom: 0.5rem;
}

.footer-info_under_text .body_text:hover {
  opacity: 0.6;
}

.footer-info_under_text small {
  font-size: 13px;
}

.footer_bg {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 300 !important;
  width: 100%;
  height: 120px;
  overflow: hidden;
  background-image: url(../images/footer_bg_pc.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

/* page-header */
.page-heder_inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: start;
  padding: 170px 0 80px;
}

.p-sub_header_contents_title {
  font-size: 90px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 1.5rem;
  padding: 0;
}

.p-sub_header_contents_title.safety-initiative {
  font-size: 80px;
}

.p-sub_header_contents_sub_title {
  font-size: 20px;
}

.page-header_char1_wrapper {
  position: absolute;
  right: 0;
  top: 270px;
  width: 85px;
  height: 200px;
}

.page-header_char1_wrapper.yume {
  width: 130px;
  height: 130px;
}

.page-header_char1_wrapper.rikki {
  width: 120px;
  height: 170px;
}

.page-header_char1_wrapper.seemo {
  width: 120px;
  height: 120px;
}

.breadcrumbs,
.breadcrumbs span {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
  color: #f2836d;
}

/* company---company-info */
.company-info_inner {
  padding: 140px 0 0;
  margin: 0 auto;
}

.company-info_main_phrase_wrapper {
  margin-bottom: 2.5rem;
}

.company-info_title {
  font-size: 40px;
  font-weight: bold;
}

.company-info_sub_phrase_head_text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 30px;
  margin-bottom: 2rem;
}

.company-info_sub_phrase_body_text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 30px;
  margin-bottom: 2rem;
}

.company-info_sub_phrase_foot_text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 30px;
}

.company-info_sub_phrase_wrapper .heading {
  font-size: 20px;
}

/* company---company-profile */
.company-profile_inner {
  padding: 80px 0 240px;
}

.company-profile_table_wrapper {
  margin-bottom: 7rem;
}

.company-profile_table {
  width: 100%;
}

.company-profile_table_wrapper h2 {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 3.5rem;
  text-align: left;
}

.company-profile_head_text {
  width: 22%;
  font-size: 19px;
  font-weight: bold;
  padding: 2rem 0rem 2rem 1.5rem;
  text-align: center;
  border-bottom: 2px solid #f2836d;
}

.company-profile_body_text {
  font-size: 18px;
  font-weight: bold;
  padding: 2rem 0rem 2rem 2rem;
  text-align: left;
  border-bottom: 1px solid #e9e5de;
  line-height: 30px;
}

.company-profile_body_text_big {
  font-size: 18px;
}

.company-profile_body_text_big02 {
  font-size: 20px;
  padding-right: 0.8rem;
}

.company-profile_body_text_small {
  font-size: 14px;
}

.company-profile_body_text img {
  width: 10%;
  margin-left: 1.5rem;
  vertical-align: middle;
}

.company-profile_access_title_wrapper {
  text-align: center;
  margin-bottom: 2.5rem;
}

.company-profile_access_title {
  font-size: 40px;
  font-weight: bold;
}

.company-profile_access_map {
  width: 100%;
  height: 670px;
}

.company-profile_access_map_box01 {
  margin-bottom: 8rem;
}

.company-profile_access_map_box02 {
  margin-bottom: 0;
}

.company-profile_access_map iframe {
  width: 100%;
  height: 100%;
}

/* service---recruitment-business */
.recruitment-business_inner {
  padding: 140px 0 80px;
  margin: 0 auto;
}

.recruitment-business_main_phrase_wrapper {
  margin-bottom: 2.5rem;
}

.recruitment-business_title {
  font-size: 40px;
  font-weight: bold;
  line-height: 75px;
}

.recruitment-business_sub_phrase_wrapper {
  margin-bottom: 2.5rem;
}

.recruitment-business_sub_phrase_head_text {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.recruitment-business_image_wrapper {
  width: 850px;
  margin: 0 auto;
}

/* service---service-list */
.service-list_bg {
  background-image: linear-gradient(
    180deg,
    #d6ece7,
    #e8eede 19%,
    #eeefdb 39%,
    #f3efd9 46%,
    #fbebd7 79%,
    #fbe7d6
  );
}

.service-list_title_wrapper {
  text-align: center;
  margin-bottom: 2rem;
}

.service-list_title {
  font-size: 40px;
  font-weight: bold;
}

.service-list_contents {
  background: #fff;
  border-radius: 15px;
  padding: 6rem;
}

.service-list_contents_list {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-row-gap: 2rem;
  grid-column-gap: 2.5rem;
  list-style: none;
}

.service-list_contents_item {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
}

.service-list_contents_item::before {
  content: "⚫︎";
  color: #f8a597;
  font-size: 16px;
  line-height: 30px;
  margin-right: 1rem;
}

/* service---service-introduction */
#service-introduction {
  background: #fbe7d6;
}

.service-introduction_bg {
  background: #f4f4f4;
  border-radius: 50px 50px 0 0;
}

.service-introduction_inner {
  padding: 160px 0;
}

.service-introduction_title_wrapper {
  text-align: center;
  margin-bottom: 5.5rem;
}

.service-introduction_title {
  font-size: 40px;
  font-weight: bold;
}

.service-introduction_list {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 7.5rem;
  padding: 5.5rem 0 2.5rem;
  border-top: 1px solid #d1d1dd;
}

.service-introduction_list:first-child {
  padding: 0 0 2.5rem;
  border: none;
}

.service-introduction_list_item_text {
  width: 50%;
}

.service-introduction_text_box {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.service-introduction_num_text {
  font-size: 40px;
  font-weight: bold;
  border-left: 4px solid #f38570;
  padding-left: 1.1rem;
}

.service-introduction_main_text {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.8;
  margin-top: -0.8rem;
}

.service-introduction_list li {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
  margin: 0 0 0 1.3rem;
  margin-bottom: 0.8rem;
}

.service-introduction_list_item_image {
  width: 420px;
  height: 305px;
}

.service-introduction_list_item_image img {
  border-radius: 15px;
}

/* service---service-flow */
.service-flow_inner {
  padding: 80px 0 240px;
}

.service-flow_title_wrapper {
  text-align: center;
  margin-bottom: 4rem;
}

.service-flow_title {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 3rem;
}

.service-flow_desc {
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  text-align: left;
}

.service-flow_list_wrapper {
  margin-bottom: 5rem;
}

.service-flow_list_wrapper:last-child {
  margin: 0;
}

.service-flow_list {
  display: flex;
  justify-content: start;
  align-items: stretch;
}

.service-flow_list_item_nb {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 16px 0 0 16px;
  width: 16.5%;
}

.service-flow_list_item_nb.nb_01 {
  background: #f5ccc4;
}

.service-flow_list_item_nb.nb_02 {
  background: #f8b3a9;
}

.service-flow_list_item_nb.nb_03 {
  background: #faa698;
}

.service-flow_list_item_nb.nb_04 {
  background: #ffa89a;
}

.service-flow_list_item_nb.nb_05 {
  background: #f89e8e;
}

.service-flow_list_item_nb.nb_06 {
  background: #fa9380;
}

.service-flow_list_item_nb.nb_07 {
  background: #ff8a76;
}

.service-flow_list_item_nb.nb_08 {
  background: #f7765f;
}

.service-flow_nb_upr_text {
  font-size: 23px;
  font-weight: bold;
}

.service-flow_nb_num_text {
  font-size: 56px;
  font-weight: bold;
}

.service-flow_list_item_detail {
  width: 83.5%;
  background: #f4f4f4;
  border-radius: 0 16px 16px 0;
}

.service-flow_detail_main_text {
  font-size: 24px;
  font-weight: bold;
  padding-top: 3rem;
  padding-left: 2rem;
}

.service-flow_detail_sub_text {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
  padding: 1.5rem 3rem 3rem 2rem;
}

.c-btn_wrapper.service-flow {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 290px;
  text-align: center;
  border-radius: 100px;
  background: #f39380;
}

.service-introduction_main_text {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.8;
  margin-top: -0.8rem;
}

.c-btn_wrapper.service-flow a {
  display: block;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 1.6rem 2rem;
}

.c-btn_arrow_wrapper.service-flow {
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
  display: block;
  width: 50px;
  height: 50px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.service-flow {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f39380;
  border-right: 3px solid #f39380;
}

/* privacy policy */
.page-heder_inner.privacy-policy {
  padding: 176px 0 320px;
}

.p-sub_header_contents_title.privacy-policy {
  font-size: 72px;
}

.privacy-policy_main_phrase_head_text {
  margin-bottom: 4rem;
  line-height: 30px;
  font-weight: bold;
}

.privacy-policy_inner {
  padding: 0px 0 240px;
}

.privacy-policy_sub_phrase_wrapper {
  margin-bottom: 2.5rem;
}

.privacy-policy_sub_phrase_head_text {
  font-size: 16px;
  line-height: 30px;
}

.privacy-policy_text_wrapper {
  margin-bottom: 3rem;
}

.privacy-policy_title {
  font-size: 24px;
  line-height: 40px;
  margin-bottom: 2.5rem;
}

.privacy-policy_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
}

/* faq---faq-seeker */
.faq-seeker_inner {
  padding: 140px 0 240px;
  margin: 0 auto;
}

.faq-seeker_main_phrase_wrapper {
  margin-bottom: 2.5rem;
}

.faq-seeker_title {
  font-size: 32px;
  font-weight: bold;
}

.faq-seeker_card {
  background: #f4f4f4;
  border-radius: 10px;
  margin-bottom: 1rem;
}

.faq-seeker_card_q_list {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  cursor: pointer;
}

.faq-seeker_card_q_head_text {
  font-size: 24px;
  font-weight: bold;
}

.faq-seeker_card_q_body_text {
  font-size: 18px;
  font-weight: bold;
}

.faq-seeker_card_a_list_wrapper {
  display: none;
  padding: 1.5rem;
  padding-top: 0;
}

.faq-seeker_card_a_list {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #d1d1dd;
}

.faq-seeker_card_a_head_text {
  font-size: 24px;
  font-weight: bold;
}

.faq-seeker_card_a_body_text {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

/* faq---faq-comp */
.faq-comp_main_phrase_wrapper {
  margin-top: 7.5rem;
  margin-bottom: 2.5rem;
}

.faq-comp_title {
  font-size: 32px;
  font-weight: bold;
}

.faq-comp_card {
  background: #f4f4f4;
  border-radius: 10px;
  padding: 1.5rem;
  margin-bottom: 1rem;
}

.faq-comp_card_q_list {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
}

.faq-comp_card_q_list.active {
  padding-bottom: 1.5rem;
}

.faq-comp_card_q_head_text {
  font-size: 24px;
  font-weight: bold;
}

.faq-comp_card_q_body_text {
  font-size: 18px;
  font-weight: bold;
  line-height: 30px;
}

.faq-comp_card_a_list_wrapper {
  display: none;
}

.faq-comp_card_a_list {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #d1d1dd;
}

.faq-comp_card_a_head_text {
  font-size: 24px;
  font-weight: bold;
}

.faq-comp_card_a_body_text {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

/* contact*/
.contact_inner {
  padding: 140px 0 400px;
}

.contact-complete_inner {
  padding: 40px 0 80px;
}

.contact_content {
  margin: 0;
}

.contact_head_text_wrapper {
  text-align: center;
  margin-bottom: 6.5rem;
}

.contact_head_text {
  font-size: 20px;
  line-height: 2;
  font-weight: bold;
}

.wpcf7 {
  width: auto;
  padding: 4rem 5rem;
  border-radius: 16px;
  background: #fff;
  border: none;
  box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.3);
  position: relative;
}

.wpcf7 form {
  margin: 0;
}

.wpcf7 textarea {
  resize: none;
}

.contact_content_list_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}

.contact_content_list_item:not(:last-child) {
  margin-bottom: 2.5rem;
}

.contact_content_list_item:last-child {
  align-items: flex-start;
}

.contact_text {
  width: 30%;
  font-size: 20px !important;
  font-weight: bold;
}

.contact_content_footer {
  text-align: center;
  line-height: 1.5;
  position: absolute;
  bottom: -320px;
  right: 50%;
  transform: translateX(50%);
  width: 100%;
}

.contact_sub_text {
  color: #f84f6e !important;
  font-size: 16px;
  line-height: 30px;
  padding: 0.4vw;
  border-radius: 6px;
  margin-left: 2vw;
}

.contact_input {
  width: 70%;
}

.wpcf7 .wpcf7-list-item-label {
  font-size: 20px !important;
  color: #333333 !important;
}

.wpcf7-form-control-wrap .wpcf7 select {
  font-size: 15px !important;
}

.wpcf7-list-item.first.last .wpcf7-list-item-label {
  font-size: 15px !important;
}

.wpcf7 .wpcf7 input,
.wpcf7 .wpcf7 textarea {
  border: 2px solid #ccc !important;
  padding: 16px !important;
  border-radius: 5px !important;
  font-size: 20px !important;
}

::placeholder {
  font-size: 18px;
  font-weight: bold;
  color: #b8b9ba;
  font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.wpcf7 p {
  margin-bottom: 0;
}

.wpcf7 input,
.wpcf7 textarea {
  font-size: 18px;
  color: #525252 !important;
}

.wpcf7 input,
.wpcf7 textarea {
  border: 1px solid #ccc;
  box-sizing: border-box;
  line-height: 1.2;
  padding: 8px;
  width: 100%;
  font-size: 20px;
}

.wpcf7-not-valid-tip,
.wpcf7 form.invalid .wpcf7-response-output {
  color: #f84f6e !important;
  font-size: 16px;
  font-weight: bold;
  line-height: 30px;
}

.contact_text_sub {
  font-size: 16px !important;
  line-height: 30px;
  font-weight: bold;
  margin-bottom: 2vw !important;
}

.contact_text_sub a {
  text-decoration: underline !important;
}

.contact_text_sub a:hover {
  opacity: 0.6;
}

.contact_submit {
  position: relative;
  width: 270px;
  height: 65px;
  margin: 0 auto;
}

.wpcf7 .wpcf7-submit {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  width: 100%;
  height: 100%;
  background: #51b955;
  border-radius: 100px;
  color: #fff !important;
}

.contact_submit svg {
  position: absolute;
  top: 50%;
  right: 8%;
  transform: translateY(-50%);
  transition: 0.6s;
  -webkit-transition: 0.6s;
}

.contact_submit:hover .wpcf7-form-control.contact_submit {
  background: #51b955;
  opacity: 0.6;
}

.contact_body_text_wrapper {
  text-align: center;
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
}

.contact_body_text {
  margin-bottom: 2rem;
}

.c-btn_wrapper.contact-comp {
  position: relative;
  width: 250px;
  background: #f2836d;
  border-radius: 100px;
  margin: 0 auto;
  text-align: center;
}

.c-btn_wrapper.contact-comp a {
  display: block;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 1rem;
}

/* safety-initiative */
.safety-initiative_inner {
  padding: 140px 0 240px;
}

.safety-initiative_main_phrase_wrapper {
  text-align: center;
  margin-bottom: 4rem;
}

.safety-initiative_title {
  font-size: 40px;
  font-weight: bold;
}

.safety-initiative_list {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 4rem;
}

.safety-initiative_item_text {
  width: 48%;
}

.safety-initiative_item_head_text {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 2rem;
}

.safety-initiative_item_body_text {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.safety-initiative_item_image {
  width: 420px;
  height: 300px;
}

.safety-initiative_item_image img {
  border-radius: 15px;
}

.safety-initiative_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 5rem;
  grid-row-gap: 5rem;
}

.safety-initiative_grid_item {
  background: #f4f4f4;
  border-radius: 15px;
  padding: 2.5rem;
}

.safety-initiative_grid_image_wrapper {
  width: 180px;
  height: 180px;
  margin: 0 auto;
  margin-bottom: 1rem;
}

.safety-initiative_grid_image_wrapper.test {
  width: 130px;
  height: 110px;
}

.safety-initiative_grid_image_wrapper.drive-training {
  width: 160px;
  height: 110px;
}

.safety-initiative_grid_image_wrapper.handling-training {
  width: 200px;
  height: 105px;
}

.safety-initiative_grid_image_wrapper.technical-training {
  width: 105px;
  height: 105px;
}

.safety-initiative_head_text {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2rem;
}

.safety-initiative_body_text {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

/* job-info */
.job-info_inner {
  padding: 140px 0 240px;
}

.job-info_list {
  margin: 0;
}

.job-info_list_item {
  background: #f4f4f4;
  border-radius: 16px;
  margin-bottom: 2rem;
  padding: 2.5rem;
}

.job-info_list_item:last-of-type {
  margin-bottom: 0;
}

.job-info_list_item_inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -ms-grid-row-align: start;
  align-items: start;
  margin-bottom: 1rem;
}

.job-info_content {
  width: 65%;
}

.job-info_category {
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  border: 1px solid #392f24;
  border-radius: 14px;
  padding: 0 1rem;
  margin-bottom: 1rem;
}

.job-info_conten_title {
  font-size: 20px;
  line-height: 1.3;
  font-weight: bold;
  margin-bottom: 1rem;
}

.job-info_content_description {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.job-info_image_wrapper {
  width: 30%;
  height: 220px;
  margin: 0;
}

.job-info_image_wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.job-info_table {
  border-collapse: collapse;
  width: 100%;
}

.job-info_table tr {
  border-top: 1px solid #e9e5de !important;
}

.job-info_table_header {
  width: 120px;
  padding: 0.3rem 0;
}

.job-info_table_header_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  background: #ebe6d8;
  padding: 0.3rem 1rem;
  margin: 0;
}

.job-info_table_body {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 0.3rem 0;
  padding-left: 0.5rem;
}

/* recruit */
.recruit_list {
  margin: 0;
}

.recruit_inner {
  padding: 140px 0 240px;
}

.recruit_list_item {
  background: #f4f4f4;
  border-radius: 16px;
  margin-bottom: 2rem;
  padding: 2.5rem 4rem;
}

/* .recruit_description_table {
  border-collapse: collapse;
  width: 100%;
} */

/* .recruit_description_table tr {
  border-top: 1px solid #e9e5de;
} */

.recruit_description_table-item {
  border-bottom: solid 2px #e9e5de;
}

.recruit_description_table-item-name {
  font-size: 24px;
  font-weight: bold;
  padding: 0.4rem 0 1.2rem 0;
}

.recruit_description_table-item-jobnumber {
  font-size: 16px;
  font-weight: bold;
  padding: 1rem 0 0.4rem;
}

.recruit_description_table-item-head {
  font-size: 18px;
  line-height: 30px;
  font-weight: bold;
  margin: 0;
  position: relative;
  text-align: left;
  padding-top: 0.6rem;
  padding-left: 2rem;
}

.recruit_description_table-item-head:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 8px;
  width: 10px;
  height: 10px;
  background: #f2836d;
  transform: rotate(45deg);
}

.recruit_description_table-item-body {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 1rem 0 1.2rem 2rem;
}

/* .recruit_description_table-line {
  border-bottom: solid 1px #e9e5de;
} */

/* .recruit_description_table_header {
  width: 24%;
  white-space: nowrap;
  vertical-align: middle;
  padding: 1rem 0;
  border-radius: 4px;
  background: #f5ccc4;
} */

/* .recruit_description_table_header2{
  width: 24%;
  white-space: nowrap;
  vertical-align: middle;
  padding-left: 1.8rem;
  display: block;
  position: relative;
  text-align: left;
  padding-top: 1rem;
} */

/* .recruit_description_table_header2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 8px;
  width: 10px;
  height: 10px;
  background: #f2836d;
  transform: rotate(45deg);
} */

/* .recruit__description_table_header_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  margin: 0;
} */

/* .recruit_description_table_body {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 0.3rem 0;
  padding-left: 1rem;
  vertical-align: top;
  display: block;
} */

.recruit_title_wrapper {
  text-align: center;
  margin-bottom: 2.5rem;
}

.recruit_title {
  font-size: 40px;
  font-weight: bold;
}

.c-btn_wrapper.job-info {
  position: relative;
  width: 250px;
  background: #f2836d;
  border-radius: 100px;
  text-align: center;
  margin: 2rem 0 0 auto;
}

.c-btn_wrapper.job-info a {
  display: block;
  font-size: 20px;
  padding: 1.5rem 2rem;
}

.c-btn_arrow_wrapper.job-info {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 100px;
}

.c-btn_arrow.job-info {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

.page-nation {
  margin-top: 3rem;
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  gap: 1rem;
}

.page-numbers .page-numbers {
  display: block;
  font-size: 14px;
  text-align: center;
  line-height: 40px;
  color: #333333;
  background-color: #f4f4f4;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.page-numbers.current {
  color: #fff;
  background-color: #f2836d;
}

.page-numbers.prev,
.page-numbers.next {
  background: none;
}

.page_nation_pre_text,
.page_nation_next_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  color: #f2836d;
}

/* job-info_single */
.job-info_single_inner {
  padding: 140px 0 240px;
}

.job-info_single_list {
  margin: 0;
}

.job-info_single_list_item {
  background: #f4f4f4;
  border-radius: 16px;
  margin-bottom: 2rem;
  padding: 2.5rem 2rem;
}

.job-info_single_category {
  display: inline-block;
  font-size: 15px;
  line-height: 1.8;
  border: 1px solid #392f24;
  border-radius: 14px;
  padding: 0 1rem;
  margin-bottom: 1rem;
}

.job-info_single_conten_title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.job-info_single_content_description {
  font-size: 16px;
  line-height: 30px;
  margin-bottom: 6rem;
}

.job-info_single_content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -ms-grid-row-align: start;
  align-items: start;
  margin-bottom: 2.5rem;
}

.job-info_single_image_wrapper {
  width: 40%;
  height: 265px;
}

.job-info_single_image_wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.job-info_single_table {
  width: 57%;
  border-collapse: collapse;
}

.job-info_single_table tr {
  border-top: 1px solid #e9e5de !important;
}

.job-info_single_table_header {
  white-space: nowrap;
  vertical-align: middle;
  padding: 0.3rem 0;
}

.job-info_single_table_header_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  background: #ebe6d8;
  padding: 0.3rem 1rem;
  margin: 0;
}

.job-info_single_table_body {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 0.3rem 0;
  padding-left: 0.5rem;
  vertical-align: middle;
}

.job-info_single_description_table {
  border-collapse: collapse;
  width: 100%;
}

.job-info_single_description_table tr {
  border-top: 1px solid #e9e5de !important;
}

.job-info_single_description_table_header {
  white-space: nowrap;
  vertical-align: middle;
  padding: 3rem 0;
  border-radius: 4px;
  background: #f5ccc4;
}

.job-info_single__description_table_header_text {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  margin: 0;
}

.job-info_single_description_table_body {
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 0.3rem 0;
  padding-left: 1rem;
  vertical-align: top;
}

.job-info_btn_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}

.c-btn_wrapper.return {
  position: relative;
  width: 300px;
  background: #f4f4f4;
  border-radius: 100px;
  text-align: center;
}

.c-btn_wrapper.return a {
  display: block;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 2rem;
}

.c-btn_wrapper.job-info_single {
  position: relative;
  width: 300px;
  background: #51b955;
  border-radius: 100px;
  text-align: center;
}

.c-btn_wrapper.job-info_single a {
  display: block;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 2rem;
}

.c-btn_arrow_wrapper.job-info_single {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  display: block;
  border-radius: 100px;
}

.c-btn_arrow.job-info_single {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #f2836d;
  border-right: 3px solid #f2836d;
}

/* news-archive */
.news_inner {
  padding: 140px 0 240px;
}

.news_contents_wrapper {
  display: flex;
  justify-content: space-between;
}

.news_main_contents {
  width: 65%;
}

.news_list {
  margin: 0;
}

.news_list_item {
  background: #f4f4f4;
  border-radius: 15px;
  margin: 0;
}

.news_list_item.archive:hover {
  opacity: 0.6;
}

.news_list_item:not(:last-child) {
  margin-bottom: 2.5rem;
}

.news_list_item_inner {
  display: block;
  padding: 3rem;
}

.news_content {
  position: relative;
}

.news_date {
  display: block;
  font-size: 16px;
  line-height: 30px;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.news_content_title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0;
}

.news_side_contents {
  width: 30%;
}

.c-btn_arrow_wrapper.news-archive {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  width: 45px;
  height: 45px;
  background: #f2836d;
  border: 3px solid #f2836d;
  border-radius: 100px;
}

.c-btn_arrow.news-archive {
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.news_side_contents_item {
  box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.3);
  border-radius: 16px;
}

.news_side_contents_item:not(:last-child) {
  margin-bottom: 2.5rem;
}

.news_side_contents_item_inner {
  padding: 2rem;
}

.news_side_contents_list {
  list-style: none;
}

.news_side_contents_list:hover {
  opacity: 0.6;
}

.news_side_title {
  font-size: 20px;
  font-weight: bold;
}

.news_side_date {
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.news_side_post_title {
  font-size: 15px;
  font-weight: bold;
}

.news_side_contents_list.archive a {
  display: block;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

/* news-single */
.news_single_list_item_inner {
  padding: 3rem;
}

.news_single_content_title_wrapper {
  border-bottom: 1px solid #e9e5de;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}

.c-btn_wrapper.news_single {
  width: 300px;
  background: #f2836d;
  border-radius: 100px;
  text-align: center;
  margin: 0 auto;
}

.news_single_body p {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
}

.c-btn_wrapper.news_single a {
  display: block;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold;
  padding: 1.2rem 19.2px;
}

/* entry */
.entry_inner {
  padding: 140px 0 400px;
}

.entry_head_text_wrapper {
  text-align: center;
  margin-bottom: 4.5rem;
}

.entry_head_text {
  font-size: 15px;
  line-height: 1.8;
  font-weight: bold;
}

.entry_apply_content {
  border: none;
  border-radius: 16px;
  box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.3);
  padding: 3rem;
  margin-bottom: 2.5rem;
}

.entry_apply_content_title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 2rem;
}

.entry_apply_content_category {
  display: inline-block;
  font-size: 15px;
  line-height: 1.8;
  border: 1px solid #392f24;
  border-radius: 14px;
  padding: 0 1rem;
  margin-bottom: 1rem;
}

.entry_apply_content_head_text {
  font-size: 23px;
  font-weight: bold;
  margin-bottom: 1rem;
}

.job-info_table.entry {
  width: 100%;
}

/* login */
.login_inner {
  padding: 140px 0 240px;
}

.login_form_contents {
  position: relative;
  box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.3);
  border-radius: 16px;
  padding: 1.5rem 7rem;
}

.um-15.um {
  max-width: unset !important;
  margin: 0 !important;
}

.um-field {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.um-field-error {
  position: absolute;
  bottom: -50px;
  right: -100px;
  z-index: 2;
}

.um .um-field-label {
  margin: 0;
}

.um-field-label label {
  font-size: 20px !important;
  font-weight: bold;
}

.um-field-area {
  width: 55%;
}

.um-col-alt {
  position: absolute;
  bottom: calc(-85px - 3rem);
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
}

.um input[type="submit"].um-button,
.um input[type="submit"].um-button:focus {
  background: #f2836d;
  border-radius: 50px !important;
  width: 270px !important;
  font-size: 16px;
  line-height: 30px;
  font-weight: bold !important;
  height: 65px !important;
}

.um a.um-button:hover,
.um input[type="submit"].um-button:hover {
  opacity: 0.6;
}

.login_form_contents .um a.um-button:hover,
.login_form_contents .um input[type="submit"].um-button:hover {
  background: #f2836d;
}

/* registration */
.registration_inner {
  padding: 0 0 240px;
}

.registration_form_contents {
  position: relative;
  box-shadow: 0px 3px 6px 0 rgba(0, 0, 0, 0.3);
  border-radius: 16px;
  padding: 1.5rem 7rem;
}

.registration_form_contents .um-col-alt {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.registration_form_contents .um-right {
  background: #51b955;
  border-radius: 50px !important;
  width: 300px !important;
  height: 85px !important;
}

.registration_form_contents .um .um-button.um-alt {
  background: none;
  box-shadow: none;
  color: #fff;
  font-size: 16px;
  font-weight: bold !important;
  line-height: 30px !important;
}

.registration_form_contents .um a.um-button:hover,
.registration_form_contents .um input[type="submit"].um-button:hover {
  background: #f2836d;
}

.registration_form_contents .um a.um-button.um-alt:hover,
.registration_form_contents .um input[type="submit"].um-button.um-alt:hover {
  background: none;
}

.registration_text {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
}

@media screen and (max-width: 1151px) {
  .p-sub_pc_on {
    display: none;
  }

  table .p-sub_pc_on {
    display: none;
  }

  .p-sub_sp_on {
    display: block;
    z-index: 1;
  }

  table .p-sub_sp_on {
    display: table-cell;
  }

  /* ヘッダー */

  .header_wrapper {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 300 !important;
    width: 100%;
    height: 125px;
    overflow: hidden;
    background-image: url("../images/header_bg_sp.svg");
    background-position: bottom;
  }

  .l-header {
    width: 90%;
    height: 56px;
    justify-content: space-between;
    gap: 0;
    top: 1vh !important;
    left: 50%;
    transform: translateX(-50%);
  }

  .header_list_item.logo {
    width: 13%;
    margin: 0;
  }

  .header_list_item.btn {
    position: absolute;
    right: 50px;
  }

  .header_list_item.btn a {
    padding: 5px 25px;
    gap: 0.5rem;
    font-size: 14px;
  }

  .l-header_hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: none;
  }

  .l-header_hamburger_bar_wrapper {
    position: absolute;
    top: 50%;
    width: 20px;
    height: 1.5px;
  }

  .hamburger_bar {
    -webkit-transform-origin: center center;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.5px;
    transform-origin: center center;
    transition-duration: 1s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property:
      transform,
      -webkit-transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }

  .hamburger_bar.active:nth-child(2) {
    display: none;
  }

  .hamburger_bar:first-child {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  .hamburger_bar.active:first-child {
    transform: rotate(45deg);
  }

  .hamburger_bar:last-child {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }

  .hamburger_bar.active:last-child {
    transform: rotate(-45deg);
  }

  .hamburger_bar:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1f1e20;
    content: "";
  }

  /* トップページ---MV */
  .header_contents_list {
    width: 100%;
    top: 80vh;
    left: 50%;
  }

  .header_contents_item_phrase {
    width: 80%;
    margin-left: 5%;
  }

  .header-contents_side_slider_wrapper {
    width: 100%;
    height: 100vh;
  }

  .header_contents_phrase_text_space {
    position: relative;
    display: inline-block;
    margin-bottom: 1.4rem;
  }

  .header_contents_phrase_text {
    font-size: 26px;
  }

  .header_contents_char-2_1 {
    bottom: -3vh;
    left: 75%;
    width: 75px;
  }

  .header_contents_btn_list {
    display: none;
  }

  .c-btn_wrapper.mv {
    width: 220px;
    margin: 0 auto;
  }

  .c-btn_wrapper.mv.login {
    margin-bottom: 1.5rem;
  }

  .c-btn_wrapper.contact {
    width: 270px;
    margin: 0 auto 1rem;
  }

  .c-btn_wrapper.contact a {
    font-size: 15px;
    padding: 1.5rem;
    text-align: center;
  }

  .c-btn_wrapper.line {
    width: 270px;
  }

  .c-btn_wrapper.line a {
    font-size: 15px;
    padding: 1.5rem;
    text-align: center;
  }

  .c-btn_arrow_wrapper.contact {
    width: 30px;
    height: 30px;
    right: 8%;
  }

  .c-btn_arrow_wrapper.line {
    width: 30px;
    height: 30px;
    right: 8%;
  }

  .c-btn_arrow.contact {
    left: 45%;
  }

  .c-btn_arrow.line {
    left: 45%;
  }

  .c-btn_arrow_wrapper.mv {
    width: 30px;
    height: 30px;
  }

  .c-btn_arrow.mv {
    left: 45%;
  }
}

@media screen and (max-width: 950px) {
  .p-sub_tb_on {
    display: block;
  }

  .p-sub_tb_off {
    display: none;
  }

  /* ヘッダー */
  .header_list_item.logo {
    width: 15%;
    margin: 0;
  }

  /* トップページ---news */
  .p-top_news_inner {
    width: 90%;
  }

  .p-top_news_list_item a {
    display: block;
  }

  .p-top_news_date {
    width: auto;
    font-size: 13px;
    margin-bottom: 0.5rem;
  }

  .p-top_news_content_title {
    width: auto;
  }

  .c-btn_arrow_wrapper.news_list {
    top: 50%;
    border: 3px solid #f2836d;
  }

  .c-btn_wrapper.news {
    width: 200px;
  }

  .c-btn_wrapper.news a {
    font-size: 18px;
    padding: 1rem;
  }

  .c-btn_arrow_wrapper.news {
    right: 5%;
  }

  .c-btn_arrow.news {
    left: 45%;
  }

  /* トップページ---work-info */
  .work-info_inner {
    width: 90%;
  }

  /* トップページ---char-bg */
  .char-bg_inner {
    width: 90%;
  }

  .char_img_list {
    width: 100%;
  }

  .char-bg_image_wrapper.char-blue {
    width: 30px;
    height: 55px;
  }

  .char-bg_image_wrapper.char-yellow {
    width: 50px;
    height: 65px;
  }

  .char-bg_image_wrapper.char-red {
    width: 30px;
    height: 55px;
  }

  .char-bg_image_wrapper.char-ibo {
    width: 50px;
    height: 65px;
  }

  .char-bg_image_wrapper.char-green {
    width: 30px;
    height: 55px;
  }

  .char-bg_image_wrapper.char-cmo {
    width: 40px;
    height: 50px;
  }

  .char-bg_image_wrapper.char-pink {
    width: 50px;
    height: 50px;
  }

  /* トップページ---prom-vid */
  .prom-vid_inner {
    width: 100%;
    padding: 0 0 80px;
  }

  .prom-vid_title {
    font-size: 32px;
  }

  /* トップページ---situation */
  .situation_contents {
    width: 95%;
    padding: 4rem 0 6rem;
  }

  .situation_contents_inner {
    width: 95%;
    display: block;
  }

  .situation_contents_title {
    font-size: 32px;
    font-weight: bold;
  }

  .situation_contents_text {
    width: 80%;
  }

  .situation_contens_image_wrapper {
    width: 75px;
    margin-right: 0;
  }

  .situation_contents_news {
    width: 95%;
    padding: 0rem;
    margin-top: 1rem;
  }

  .situation_news_list_item a {
    position: relative;
    display: block;
    padding: 2rem;
  }

  .situation_news_list_block {
    width: 60%;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
  }

  .situation_news_title {
    width: 60%;
    line-height: 1.8;
  }

  .situation_news_toggle {
    position: absolute;
    top: 65%;
    right: 15%;
    transform: translate(-50%, -50%);
  }

  .c-btn_wrapper.situation {
    width: 220px;
  }

  .c-btn_wrapper.situation a {
    font-size: 18px;
    padding: 1rem;
  }

  .c-btn_arrow_wrapper.situation {
    right: 5%;
  }

  .c-btn_arrow.situation {
    left: 45%;
  }

  /* トップページ---bg */
  .top-bg_inner {
    height: 650px;
  }

  /* トップページ---information */

  .prom-vid_video_wrapper {
    margin-inline: 16px;
  }

  .prom-vid_video_wrapper iframe {
    width: 100%;
    height: 100% !important;
    display: block;
    border: 0;
  }

  /* トップページ---others */
  .others_inner {
    width: 90%;
    margin: 0 auto;
  }

  .others_list {
    display: grid;
    justify-content: unset;
    align-items: unset;
  }

  .others_list.service {
    margin-bottom: 4.5rem;
  }

  .others_list.company {
    margin-bottom: 4.5rem;
  }

  .others_title_wrapper {
    margin-bottom: 2.5rem;
  }

  .company .others_title_wrapper {
    margin-left: 0;
  }

  .others_title_en {
    font-size: 72px;
  }

  .others_title_jp {
    font-size: 32px;
  }

  .company .others_text_wrapper {
    margin-left: 0;
  }

  .c-btn_wrapper.others {
    width: 200px;
    margin: 0 0 0 auto;
    margin-bottom: 2.5rem;
  }

  .c-btn_wrapper.others a {
    font-size: 18px;
    padding: 1rem;
  }

  .c-btn_arrow_wrapper.others {
    width: 30px;
    height: 30px;
    right: 8%;
  }

  .c-btn_arrow.others {
    left: 45%;
  }

  .service .others_list_item_image {
    position: relative;
    right: 0%;
    width: 106%;
  }

  .company .others_list_item_image {
    position: relative;
    width: 105%;
    order: 2;
  }

  .company .others_list_item_text {
    order: 1;
  }

  .others_list_item_text {
    width: 100%;
  }

  /* フッター---contact */
  .l-footer-contact_list {
    display: block;
    width: 90%;
    padding: 0;
    margin: 0 auto;
  }

  .l-footer-contact_list_item_title {
    width: 90%;
    margin-bottom: 5rem;
    padding: 1rem;
  }

  .l-footer-contact_title {
    font-size: 65px;
  }

  .l-footer-contact_list_item_contents {
    width: auto;
    margin: 0;
    padding: 1rem;
  }

  .l-footer-contact_contents_list {
    justify-content: center;
  }

  .l-footer-contact_sb_contents_list {
    display: block;
    text-align: center;
  }

  .l-footer-contact_contents_tel_image {
    width: 30px;
    height: 30px;
  }

  .l-footer-contact_contents_tel_text {
    font-size: 30px;
  }

  .l-footer-contact_sb_contents_list {
    display: block;
    text-align: center;
  }

  .l-footer-contact_sb_contents_text {
    margin-bottom: 1rem;
  }

  .l-footer_contact_char-2_wrapper {
    bottom: -4rem;
    left: auto;
    transform: none;
    right: 1rem;
  }

  .l-footer_contact_char-2_1 {
    width: 80px;
    height: 100px;
  }

  .l-footer_contact_char-2_2 {
    width: 70px;
    height: 60px;
  }

  /* フッター---info */
  .footer-info_inner {
    width: 90%;
    padding: 60px 0 120px;
  }

  .footer-info_list {
    display: block;
  }

  .footer-info_list_item_logo {
    margin: 0;
    margin-bottom: 2rem;
  }

  .footer-info_logo {
    width: 24%;
    height: auto;
  }

  .footer-info_add .head_text {
    margin: 0;
  }

  .footer-info_list_item_navs {
    width: auto;
    display: block;
  }

  .footer-info_nav_item {
    margin-bottom: 1.5rem;
  }

  .footer-info_nav_item .head_text {
    margin-bottom: 0.5rem;
  }

  .footer_bg {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 300 !important;
    width: 100%;
    height: 95px;
    overflow: hidden;
    background-image: url(../images/footer_bg_sp.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .footer-info_under_text {
    width: 90%;
    margin: 0 auto;
    padding-top: 2.5rem;
  }

  .footer-info_under_text .body_text {
    padding-right: 0;
  }

  .footer-top {
    right: 0;
  }

  .footer-info_under_text {
    position: static;
    text-align: center;
  }

  /* サブページ */
  .l-main {
    padding: 0;
  }

  .l-sub_inner {
    width: 90%;
  }

  /* page-header */
  .page-heder_inner {
    display: block;
    padding: 100px 0 80px;
  }

  .p-sub_header_contents_title {
    font-size: 45px;
    margin-bottom: 1rem;
  }

  .p-sub_header_contents_title.safety-initiative {
    font-size: 36px;
  }

  .p-sub_header_contents_sub_title {
    font-size: 16px;
    line-height: 30px;
  }

  .page-header_char1_wrapper {
    top: 220px;
    right: 10%;
    width: 45px;
    height: 120px;
  }

  .page-header_char1_wrapper.kanato {
    height: 100px;
  }

  .page-header_char1_wrapper.samu {
    height: 105px;
  }

  .page-header_char1_wrapper.ivor {
    width: 65px;
    height: 100px;
  }

  .page-header_char1_wrapper.yume {
    width: 90px;
    height: 90px;
  }

  .page-header_char1_wrapper.rikki {
    width: 80px;
    height: 100px;
  }

  .page-header_char1_wrapper.seemo {
    width: 75px;
    height: 75px;
  }

  .breadcrumbsWrap {
    text-align: right;
    padding-top: 150px;
  }

  .breadcrumbs,
  .breadcrumbs span {
    font-size: 16px;
    line-height: 30px;
  }

  /* company---company-info */
  .company-info_inner {
    padding: 0;
  }

  .company-info_title {
    font-size: 32px;
  }

  .company-info_sub_phrase_head_text.no-margin {
    margin: 0;
  }

  /* company---company-profile */
  .company-profile_inner {
    padding: 80px 0 120px 0;
  }

  .company-profile_table {
    display: block;
    width: 100%;
  }

  .company-profile_table_wrapper h2 {
    font-size: 32px;
    margin-bottom: 2.5rem;
  }

  .company-profile_head_text {
    display: block;
    width: 90%;
    text-align: left;
    font-size: 16px;
    padding: 1.5rem 1rem;
    border-bottom: 1px solid #e9e5de;
  }

  .company-profile_body_text {
    display: block;
    width: 90%;
    padding: 1.5rem 1rem;
    font-size: 16px;
    line-height: 30px;
    border-bottom: 2px solid #f2836d;
  }

  .company-profile_body_text img {
    width: 20%;
  }

  .company-profile_access_title_wrapper {
    text-align: left;
  }

  .company-profile_access_title {
    font-size: 32px;
  }

  .company-profile_access_map {
    height: 330px;
  }

  /* service---recruitment-business */
  .recruitment-business_inner {
    padding: 0 0 80px;
  }

  .recruitment-business_title {
    font-size: 20px;
    line-height: 1.5;
  }

  .recruitment-business_image_wrapper {
    width: 100%;
    height: 225px;
  }

  /* service---service-list */
  .service-list_title {
    font-size: 32px;
  }

  .service-list_contents {
    padding: 1.5rem 2rem;
  }

  .service-list_contents_list {
    display: block;
  }

  .service-list_contents_item {
    font-size: 18px;
  }

  .service-list_contents_item:not(:last-child) {
    margin-bottom: 1.5rem;
  }

  /* service---service-introduction */
  .service-introduction_title {
    font-size: 32px;
  }

  .service-introduction_title_wrapper {
    margin-bottom: 3rem;
  }

  .service-introduction_inner {
    padding: 80px 0;
  }

  .service-introduction_list {
    display: block;
    border: none;
    padding: 2.5rem 0 2.5rem;
  }

  .service-introduction_list_item_text {
    width: 100%;
  }

  .service-introduction_text_box {
    gap: 2rem;
  }

  .service-introduction_list li {
    margin-bottom: 2rem;
  }

  .service-introduction_list_item_image {
    width: 100%;
  }

  .service-introduction_main_text {
    font-size: 24px;
  }

  /* service---service-flow */
  .service-flow_inner {
    padding: 80px 0 120px;
  }

  .service-flow_title {
    font-size: 32px;
  }

  .service-flow_list_wrapper {
    margin-bottom: 2rem;
  }

  .service-flow_list {
    display: block;
  }

  .service-flow_list_item_nb {
    width: 100%;
    flex-direction: unset;
    justify-content: center;
    gap: 1rem;
    border-radius: 16px 16px 0 0;
    padding: 1rem 0;
  }

  .service-flow_nb_num_text {
    font-size: 31px;
  }

  .service-flow_list_item_detail {
    width: 81%;
    border-radius: 0 0 16px 16px;
    padding: 2rem;
  }

  .service-flow_detail_main_text {
    font-size: 20px;
    line-height: 36px;
    margin-bottom: 2rem;
    padding-top: 0;
    padding-left: 0;
  }

  .service-flow_detail_sub_text {
    padding: 0;
  }

  .service-flow_detail_sub_text .small {
    font-size: 13px;
  }

  .service-flow_detail_sub_text .ex-small {
    font-size: 13px;
  }

  .c-btn_wrapper.service-flow {
    width: 220px;
  }

  .c-btn_wrapper.service-flow a {
    font-size: 15px;
    line-height: unset;
    padding: 1.5rem;
    text-align: center;
  }

  .c-btn_arrow_wrapper.service-flow {
    width: 30px;
    height: 30px;
    right: 6%;
  }

  .c-btn_arrow.service-flow {
    left: 45%;
  }

  .c-btn_arrow.service {
    left: 45%;
  }

  /* faq---faq-seeker */
  .faq-seeker_inner {
    padding: 0 0 120px;
  }

  .faq-seeker_card_q_list {
    align-items: start;
    padding: 0.8rem;
  }

  .faq-seeker_card_q_head_text {
    line-height: 1.3;
  }

  .faq-seeker_card_q_body_text {
    line-height: 1.8;
  }

  .faq-seeker_card_a_list_wrapper {
    padding: 0.8rem;
  }

  .faq-seeker_card_a_list {
    padding-top: 0.8rem;
  }

  .faq-seeker_card_a_head_text {
    line-height: 1.3;
  }

  .faq-seeker_card_a_body_text {
    line-height: 1.8;
  }

  .faq-comp_main_phrase_wrapper {
    margin-top: 4rem;
  }

  /* safety-initiative */
  .safety-initiative_inner {
    padding: 0 0 120px;
  }

  .safety-initiative_main_phrase_wrapper {
    margin-bottom: 3rem;
  }

  .safety-initiative_title {
    font-size: 32px;
  }

  .safety-initiative_list {
    display: block;
  }

  .safety-initiative_item_text {
    width: 100%;
    margin-bottom: 2rem;
  }

  .safety-initiative_item_head_text {
    text-align: center;
    line-height: 1.5;
  }

  .safety-initiative_item_image {
    width: 100%;
    height: 250px;
  }

  .safety-initiative_grid {
    display: block;
  }

  .safety-initiative_grid_item:not(:last-child) {
    margin-bottom: 2rem;
  }

  .safety-initiative_head_text {
    line-height: 1.5;
  }

  .safety-initiative_body_text {
    font-size: 16px;
  }

  .page-heder_inner.privacy-policy {
    display: block;
    padding: 100px 0 80px;
  }

  .p-sub_header_contents_title.privacy-policy {
    font-size: 36px;
  }

  .privacy-policy_inner {
    padding: 0px 0 120px;
  }

  /* news-archive */
  .news_inner {
    padding: 0 0 120px;
  }

  .news_contents_wrapper {
    display: block;
  }

  .news_main_contents {
    width: 100%;
  }

  .news_content_title {
    font-size: 16px;
    line-height: 30px;
  }

  .news_side_contents {
    width: 100%;
  }

  /* news-single */
  .c-btn_wrapper.news_single {
    width: 60%;
    margin-bottom: 2.5rem;
  }

  .c-btn_wrapper.news_single a {
    display: block;
    font-size: 14px;
    line-height: 30px;
    font-weight: bold;
    padding: 0.4rem;
  }

  /* contact */
  .contact_inner {
    padding: 0 0 400px;
  }

  .contact_head_text_wrapper {
    margin-bottom: 3.5rem;
  }

  .contact_content_footer.contact {
    bottom: -380px;
  }

  .contact_submit {
    width: 250px;
    height: 55px;
  }

  /* job-info archive */
  .job-info_inner {
    padding: 0 0 120px;
  }

  .job-info_list_item {
    padding: 2.5rem 2rem;
  }

  .job-info_list_item_inner {
    display: block;
  }

  .job-info_content {
    width: 100%;
    margin-bottom: 1rem;
  }

  .job-info_image_wrapper {
    width: 100%;
  }

  .c-btn_wrapper.job-info {
    width: 230px;
    margin: 2rem auto 0;
  }

  .c-btn_wrapper.job-info a {
    display: block;
    font-size: 20px;
    padding: 1.5rem 2rem;
    padding: 1rem;
  }

  /* job-info single */
  .job-info_single_inner {
    padding: 0 0 120px;
  }

  .job-info_single_content {
    display: block;
  }

  .job-info_single_content_description {
    margin-bottom: 1rem;
  }

  .job-info_single_image_wrapper {
    width: 100%;
    margin-bottom: 1rem;
  }

  .job-info_single_table {
    width: 100%;
  }

  .job-info_single_description_table {
    display: block;
  }

  .job-info_single_description_table_header {
    display: block;
    text-align: left;
    padding: 0;
  }

  .job-info_single_description_table_body {
    display: block;
    padding-left: 0.5rem;
  }

  .job-info_btn_wrapper {
    display: block;
  }

  .job-info_single__description_table_header_text {
    padding: 5% 16px !important;
  }

  /* recruit */
  .recruit_title {
    font-size: 35px;
  }

  .recruit_inner {
    padding: 0 0 80px;
  }

  .recruit_description_table_header {
    width: 100%;
    display: block;
    text-align: left;
    padding: 0;
  }

  .recruit_description_table_header2 {
    width: 100%;
    display: block;
    text-align: left;
    padding: 0;
  }

  .recruit_description_table_header2:before {
    content: "";
    position: absolute;
    left: 0%;
    top: 37px;
    background: #f2836d;
    width: 100%;
    height: 2px;
  }

  .recruit_description_table {
    display: block;
  }

  .recruit_description_table_body {
    display: block;
    padding: 0.3rem 0 1rem 0.5rem;
  }

  .recruit_table_header_text {
    white-space: nowrap;
  }

  .recruit__description_table_header_text {
    padding: 1% 10px !important;
  }

  .recruit_list_item {
    padding: 2rem;
  }

  .recruit_description_table-item-name {
    font-size: 18px;
  }

  .c-btn_wrapper.return {
    width: 270px;
    margin: 0 auto;
    margin-bottom: 2rem;
  }

  .c-btn_wrapper.return a {
    padding: 1rem;
  }

  .c-btn_wrapper.job-info_single {
    width: 270px;
    margin: 0 auto;
    margin-bottom: 2rem;
  }

  .c-btn_wrapper.job-info_single a {
    padding: 1rem;
  }

  /* entry */
  .entry_inner {
    padding: 0 0 400px;
  }

  .entry_head_text_wrapper {
    margin-bottom: 3rem;
  }

  .entry_apply_content {
    padding: 2rem 1.5rem;
  }

  .entry_apply_content_head_text {
    font-size: 18px;
    line-height: 1.8;
  }

  .job-info_table_header_text {
    white-space: nowrap;
  }

  .wpcf7 {
    padding: 2rem;
  }

  .contact_content_list_item {
    display: block;
  }

  .wpcf7 p {
    margin-bottom: 1rem;
  }

  .contact_text {
    width: 100%;
    margin-bottom: 1rem;
  }

  .contact_input {
    width: 100%;
  }

  .contact_text_sub {
    font-size: 15px !important;
  }

  .contact_body_text_wrapper {
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }

  .contact_content_footer.entry {
    bottom: -380px;
  }

  /* login */
  .login_inner {
    padding: 0 0 200px;
  }

  .login_form_contents {
    padding: 2rem 1.5rem;
  }

  .um-field {
    display: block;
  }

  .um-field-error {
    right: 0;
  }

  .um .um-field-label {
    width: 100%;
    margin-bottom: 1rem;
  }

  .um-field-area {
    width: 100%;
  }

  .um input[type="submit"].um-button,
  .um input[type="submit"].um-button:focus {
    width: 220px !important;
    height: 65px !important;
    min-width: 200px !important;
  }

  /* registration */
  .registration_inner {
    padding: 0 0 230px;
  }

  .registration_form_contents {
    padding: 2rem 1.5rem;
  }

  .registration_form_contents .um-col-alt {
    display: block;
    bottom: -150px;
  }
}

@media screen and (max-width: 450px) {
  .header_list_item.logo {
    width: 24%;
    margin: 0;
  }
}
