@charset "UTF-8";

:root {
    --primary-color: #0ba37e;
    --secondary-color: #0880fb;
    --text-color: #555;
    --background-color: #eeeaea;
    --border-color: #ddd;
    --white: #fff;
    --black: #000;
    --gray: #999;
    --light-gray: #f5f5f5;


  /* カラー */
  
  --primary-dark:  #1a5c3a;
  
  --text-dark:    #333;
  --text-muted:   #666;
  --text-light:   #fff;
  --bg-light:     #f8f9fa;
  --bg-dark:      #212529;
  --shadow:       rgba(0, 0, 0, 0.1);
  --overlay:      rgba(255, 255, 255, 0.9);




  
    --link-color: #333;
    --link-hover-color: #0ba37e;

  /* フォントサイズ */
  --font-65:  0.65rem;
  --font-xxs: 0.7rem;
  --font-xs:  0.75rem;
  --font-sm:  0.875rem;
  --font-base: 12px;
  --font-lg:  1.125rem;
  --font-xl:  1.5rem;
  --font-2xl: 2.5rem;

  /* スペース */
  --space-xxs: 0.05rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;
  --section-space: 15px;
  --section-space-top: 110px;

  /* その他 */
  --radius: 10px;
  --radius-sm: 5px;
  --transition: 0.3s ease;
  --shadow-sm: 0 2px 4px var(--shadow);
  --shadow-lg: 0 4px 8px var(--shadow);
  --blur: blur(5px);
}

/* Font faces */
@font-face {
    font-family: 'LINESeed-Bd';
    src: url("https://rental.smart-mart.jp/font/LINESeed_Bd.woff") format("woff");
}

@font-face {
    font-family: 'LINESeed-He';
    src: url("https://rental.smart-mart.jp/font/LINESeed_He.woff") format("woff");
}

@font-face {
    font-family: 'LINESeed-Rg';
    src: url("https://smart-mart.jp/font/LINESeed_Rg.woff") format("woff"),
        url("https://rental.smart-mart.jp/font/LINESeed_Rg.woff") format("woff");
}

@font-face {
    font-family: 'LINESeed-Th';
    src: url("https://rental.smart-mart.jp/font/LINESeed_Th.woff") format("woff");
}

@font-face {
    font-family: 'LINESeed-XBd';
    src: url("https://rental.smart-mart.jp/font/LINESeed_XBd.woff") format("woff");
}

/* Reset and base styles */
html,
body,
h1,
h2,
p,
ul,
li {
    line-height: 1.0;
    margin: 0;
}

body {
    background: var(--background-color) url(https://smart-mart.jp/img/my_head_bg.png) repeat 0 0;
    font-family: LINESeed-Rg, sans-serif;
    color: var(--text-color);
    line-height: 1.2rem;
    -webkit-appearance: none;
}

a{
		text-decoration:none;
}

ul,
li {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}



/* Typography */
body p {
    font-size: 14px;
    line-height: 1.5rem;
    margin-bottom: 0;
}

h1,
h2,
h3,
h4 {
    font-family: LINESeed-Bd, sans-serif;
    color: var(--primary-color);
}

h5 {
    font-size: var(--font-lg);
    letter-spacing: calc(var(--space-xxs));
}
b,
strong {
    font-family: LINESeed-Bd, sans-serif;
}

strong {
    padding: 0 1px;
}

/* Selection styles */
::selection {
    background-color: var(--primary-color);
    color: var(--white);
}

::-moz-selection {
    background-color: var(--primary-color);
    color: var(--white);
}

/* Utility classes */
.border-top {
    border-top: 1px solid #e5e5e5;
}

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

.border-right {
    border-right: solid 41px var(--border-color);
}

.red {
    color: #dc3545 !important;
}

/* Layout */
html {
    scroll-behavior: smooth;
}

.container {
    

    @media screen and (max-width: 768px) {
        padding: 0 15px;
    }
}


@media (min-width: 1400px) {
    .container {
      max-width: calc(1200px);
    }
  }


  .copyright {
    font-size: var(--font-sm);
    color: var(--text-muted);
}
/* Grid system (simplified) */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}


/* Responsive design */
@media (max-width: 768px) {
    .pc-only {
        display: none;
    }
}

@media (min-width: 768px) {
    .sp-only {
        display: none;
    }
}

/* Animation */
@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fadeUp {
    animation: fadeUpAnime 1s ease-out 1s forwards;
    opacity: 0;
}


/* Header styles */
.seo {
    background-color: var(--primary-color);
    padding: 1px 0 4px;
    color: var(--white);

    h1 {
        font-size: 0.7em;
        margin-bottom: 0;
    }
}

.nav-sougou {
    background-color: var(--white);
    padding: 17px 0 15px;
    color: #777879;
    text-align: center;
    border-bottom: 1px var(--border-color) solid;

    img {
        height: 34px;
        opacity: 1;
        filter: blur(0);
        transition: filter 0.3s, opacity 0.3s;

        &:hover {
            filter: invert(11%) sepia(100%) saturate(300%) hue-rotate(0deg) brightness(87%) contrast(111%);
            opacity: 0.95;
            filter: blur(0.7px);
        }
    }

    @media (max-width: 768px) {
        padding: 15px 0 11px;

        img {
            height: 20px;
        }
    }
}

.background {
    filter: blur(0.3px);
}

.date {
    color: var(--black);
    font-size: 0.75em;
    top: 0.3em;
    position: relative;
}

.blog-header {
    line-height: 1;
    border-bottom: 1px solid var(--black);
}

.breadcrumb {
    font-size: 0.7em;
    background-color: var(--white);
    padding: 9px 10px;
    margin: 0 0 10px;
}

/* Navigation styles */
.nav-scroller {
    position: relative;
    z-index: 2;
    overflow-y: hidden;
    font-size: 14px;

    .nav {
        display: flex;
        flex-wrap: nowrap;
        padding-bottom: 1rem;
        margin-top: -1px;
        overflow-x: auto;
        text-align: center;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .nav-link {
        padding-top: .75rem;
        padding-bottom: .75rem;
        font-size: .875rem;
    }
}

/* Main content styles */
.main-midashi {
    font-size: 1.3em;
    font-weight: 700;
    padding: 0.5em 0;
    color: var(--black);
    letter-spacing: 0.08em;
    border-bottom: var(--black) solid 3px;
    width: 100%;
}

.blog-post {
    padding: 15px 13px;

    h3 {
        margin-bottom: .35rem;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        border-bottom: 1px solid #eaeaea;
        color: #4a4a4a;
    }
}

.blog-post-meta {
    margin-bottom: 1.25rem;
    color: var(--gray);
}

/* Sidebar styles */
.blog-sidebar {
    font-size: 0.875em;
}

.sidebar-midashi {
    font-size: 1.2em;
    font-weight: bold;
    padding: 0.666em 0.5em;
    color: var(--black);
    letter-spacing: 0.04em;
    border-bottom: var(--black) solid 3px;
}

.Product-ninki-name {
    font-size: 1.2em;
    color: #4a4a4a;
    font-weight: 600;
}

.Product-ninki-sub {
    font-size: 0.9em;
    color: var(--gray);
}

.Product-ninki-chevron {
    color: var(--gray);
}

.sidebar-menu a {
    font-weight: 600;
    letter-spacing: 0.005em;
}

/* Card styles */
.card-body {
    padding: 20px 15px;
}

.card-deck .card {
    margin-bottom: 8px;
}

.card-img-right {
    height: 100%;
    border-radius: 0 3px 3px 0;
}

.flex-auto {
    flex: 0 0 auto;
}

.h-250 {
    height: 250px;
}

@media (min-width: 768px) {
    .h-md-250 {
        height: 250px;
    }
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}


.footer-brand .logo{
	height: 40px;
	width: auto;}

.footer-brand .logo:hover{}


.footer-links {
    display: flex
;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    font-size: var(--font-xs);
}
.footer-link {
    color: var(--text-muted);
    text-decoration: none;
    transition: color var(--transition);
    white-space: nowrap;
}


.footer-link:hover {
	color: var(--primary-color);
  }
  


.footer-menu-category-back .icon {
    opacity: 1;
}

.footer-h3 {
    font-weight: bold;
    padding: 5px 6px;
    text-align: center;
    background-color: #eee;
    margin-bottom: 19px;
    border-radius: 2px;
    font-size: 0.8em;
}


  /* フッタ全体 */
  footer {
	font-size: var(--font-xs);
  }


  footer li {
	line-height: 1.5rem;
	}
  

footer .contact {
    border: #f2f4f7 solid 1px;
    padding: 5px;
    margin-top: 10px !important;
    text-align: center;
    width: 70%;
    display: block;
}

footer h3 {
    font-weight: bold;
    font-size: 0.8em;
}

.blog-footer-menu {
    padding: 2.5rem 0;
    color: #353740;
    background-color: #343640;
    font-size: 0.9em;
    text-align: left;

    img {
        filter: grayscale(0%);

        &:hover {
            filter: grayscale(40%);
        }
    }

    a {
        color: #CCE;
        letter-spacing: 0.05em;

        &:hover {
            opacity: 0.8;
        }
    }

    p {
        color: var(--white);
        letter-spacing: 0.05em;

        &:last-child {
            margin-bottom: 0;
        }
    }

    ul {
        padding: 0;
    }
}

.blog-footer-menu-item {
    padding: 1rem 0;
    color: #777879;
    font-size: 0.8em;
    text-align: left;
    line-height: 1.8em;

    h3 {
        font-size: 1.3em;
    }

    a {
        color: #777879;
        letter-spacing: 0.05em;

        &:hover {
            opacity: 0.7;
        }
    }

    img {
        opacity: 0.44;

        &:hover {
            opacity: 0.9;
        }
    }

    p:last-child {
        margin-bottom: 0;
    }

    ul {
        padding: 0;
    }
}


.blog-footer {
    padding: 1rem;
    text-align: center;
    background-color: var(--primary-color);
    font-size: 0.8em;

    li {
        margin-bottom: 0.4em;
        display: inline-block;
        padding-right: 20px;

        &:last-child {
            padding-right: 0;
        }
    }

    a {
        color: var(--white);
        letter-spacing: 0.03em;
    }
}

.footer-menu-category {
    font-size: 1.5em;
    background-color: #0067b8;
    color: var(--white);
    letter-spacing: 0.09em;
}

.fa-angle-right {
    color: #666;
    font-size: 1.1em;
}

.tenchichuuou {
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-hr {
    border-top: 1px solid #5a5a5a;
}

/* Button styles */
.btn {
    font-size: 1.2em;
    text-align: center;
    font-weight: bold;
}

.btn-green {
    font-weight: bold;
    font-size: 17px;
    border: var(--primary-color) 0 solid;
    color: var(--white);
    background-color: var(--primary-color);
    padding: 22px;
    display: block;

    @media screen and (max-width: 768px) {
        padding: 15px 22px;
    }
}

.btn-footer-fixed {
    font-size: 1.2em;
    font-weight: bold;
    height: 100%;
    border: 0;
}



.btn-primary2 {
    color: var(--white);
    background-color: #1d65c1;
    border-color: #6f9edb78;
    padding: 15px;

    &:hover {
        background-color: #0080FB;
        border-color: #6f9edb78;
    }
}

.btn-review {
    color: #717171;
    background-color: #0567b800;
    border-color: #717171;
}

.btn-group-sm>.btn,
.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: .75rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

/* Form styles */
.form {
    padding: 30px;
    border: 15px solid #0467b8;
}

.form-control {
    margin-bottom: 10px;
    text-align: left;
    caret-color: var(--secondary-color);

    &:focus {
        color: #495057;
        background-color: var(--white);
        border-color: var(--primary-color);
        outline: none;
        box-shadow: 0 0 0 var(--primary-color);
    }
}

textarea[type="message"]:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 0 var(--primary-color);
}

input[type=date] {
    caret-color: var(--secondary-color);
    padding: 20px;
    width: 100%;
    border-radius: 5px;
}

select {
    width: 100%;
    padding: 0.375rem 0 0.375rem 0.75rem;
    font-size: 1rem;
    color: #495057;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    appearance: none;
    cursor: pointer;

    &:focus {
        outline: none;
    }
}

.selectwrap {
    position: relative;

    &::after {
        content: "";
        position: absolute;
        top: 35%;
        right: 15px;
        width: 8px;
        height: 8px;
        border-top: 2px solid #58504A;
        border-right: 2px solid #58504A;
        transform: rotate(135deg);
        pointer-events: none;
    }
}

::-ms-expand {
    display: none;
}

/* Custom components */
.review {
    border: #343a40 11px solid;
    background-color: var(--white);

    p {
        margin: 4px 0 0 0;
    }
}

.font-weight-bold {
    font-weight: bold;
}

.lead {
    line-height: 1.4rem;
}

small {
    line-height: 1.5;
}


.ok:hover {
    animation: glow 211s infinite ease;
    filter: drop-shadow(0 0 11px #ffffff38);
}

.perfotmance a {
    text-decoration: underline;
}

/* Star rating */
.star5_rating {
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;

    &:before,
    &:after {
        content: '★★★★★';
    }

    &:after {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        overflow: hidden;
        white-space: nowrap;
        color: #ffcf32;
    }

    @for $i from 0 through 10 {
        &[data-rate="#{$i * 0.5}"]:after {
            width: #{$i * 10%};
        }
    }
}

/* Caption styles */
caption {
    margin-bottom: .35rem;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 0.5em;
    color: #4a4a4a;
    caption-side: top;
    font-family: LINESeed-Bd, sans-serif;
}

/* Flatpickr custom styles */
.flatpickr-calendar,
.flatpickr-days,
.dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.flatpickr-day {
    height: 33px !important;
    line-height: 30px !important;
    font-size: 13px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    display: none;
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n+1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n+1) {
    color: #FF5722;
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
    color: #03A9F4;
}

/* Carousel custom styles */
.carousel-indicators li {
    position: relative;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    top: 30px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    background-color: #ccc;
}

.carousel-indicators .active {
    background-color: #0567b8;
}


















/* News and static page styles */
.news h1,
.static h1 {
    font-family: LINESeed-Bd, sans-serif;
    color: var(--primary-color);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}

h2 {
    font-family: LINESeed-Bd, sans-serif!important;
    color: var(--primary-color)!important;
    font-size: 1.5rem!important;
    font-weight: 700!important;
}




.jobPointArea_title ,h2 {
    font-size: 1.2rem!important;
}


.terms h2 {
    font-size: 1.3rem;
    font-weight: 600;
    padding: 10px 0;
    margin: 0;
    color: #333;
}

.form-entry h2 {
    padding: 20px 10px;
    margin-bottom: 15px;
    color: var(--white)!important;
    text-align: center;
    background-color: var(--primary-color);
    font-size: 1.2rem!important;
}

@media (min-width: 768px) {
    .form-entry h2 {
        font-size: 1.3rem;
    }
}

.static {
    h3 {
        font-size: 1.3rem;
        font-weight: 600;
        padding: 19px 0;
        margin: 0;

        a {
            font-size: 1.3rem;
            color: #333;
        }
    }

    h4 {
        font-size: 1.1rem;
        font-weight: 600;
        padding: 5px 0;
        margin: 10px 0;
    }

    h5 {
        font-size: 1rem;
        font-weight: 600;
        padding: 5px 0;
        margin: 10px 0;
    }

    p {
        padding: 0;
        margin: 0;
        letter-spacing: 0.03rem;
        line-height: 1.2rem;
    }

    a {
        color: #0080FB;
        text-decoration: underline;
    }

    table {
        width: 100%;

        th,
        td {
            padding: 8px 10px;
        }

        th {
            background-color: var(--border-color);
        }
    }
}

.press-single a {
    color: var(--primary-color);
    text-decoration: underline;
}

dt {
    font-size: 1.1rem;
    font-weight: 600;
    padding: 15px 0;
    margin: 0;
}

.kaitori-pageabout h2 {
    color: var(--white);
}

.form h2 {
    color: #333;
}


/* Press styles */
.press-single {
    margin: 0 auto;

    @media (min-width: 920px),
    (max-width: 920px) {
        max-width: 100% !important;
    }

    img {
        margin-left: auto;
        margin-right: auto;
        width: 70%;
        display: block;

        @media (max-width: 920px) {
            width: 100%;
        }
    }

    h1 {
        color: var(--white);
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.9rem;
        margin: 0 0 1.2em;
        padding: 2rem 1.5rem;
        text-align: center;
        background-color: var(--primary-color);

        @media (max-width: 768px) {
            font-size: 1rem;
            line-height: 1.4rem;
            padding: 1.2rem;
        }
    }

    h2 {
        color: #111;
        font-size: 1rem;
        padding: 14px 0 14px 15px;
        background-color: #ededed;
        clear: both;
        margin: 20px 0;
        border-radius: 3px;
        border-left: 10px var(--primary-color) solid;
    }

    h3 {
        color: #111;
        font-size: 0.9rem;
        padding: 8px 0 7px 10px;
        margin: 13px 0;
        border-left: 8px var(--primary-color) solid;
    }
}

.the_subtitle {
    color: var(--black);
    font-size: 1rem;
    text-align: center;

    @media (max-width: 768px) {
        font-size: 0.8rem;
        line-height: 1.1rem;
    }
}

.read {
    color: var(--black);
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.3rem;
    padding: 18px 19px !important;
    margin-top: 14px !important;
    margin-bottom: 30px !important;
    text-align: left;
    border: 0.1rem solid #ededed;
    border-radius: 6px;
}

.get_the_date {
    margin: 10px 0;
    text-align: center;

    a {
        margin: 0 0 0 10px;
        text-align: center;
    }
}

.the_tags img {
    width: 12px;
    display: inline-flex;
    position: relative;
    bottom: 1px;
    margin: 0 6px 0 0;
    filter: invert(41%) sepia(74%) saturate(4601%) hue-rotate(194deg) brightness(99%) contrast(101%);
}

.blog-footer-menu-item {
    display: none;
}

.press-category {
    &:hover {
        opacity: 0.8;
    }

    h1 {
        color: var(--secondary-color);
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1.4em;
    }
}

.the_subtitle_category {
    color: var(--black);
    font-size: 1rem;
}

.pl-0pr-1 {
    padding-left: 0;
    padding-right: 10px;

    @media (max-width: 768px) {
        padding-right: 0;
    }
}

.logo2 {
    background-color: var(--black);

    img {
        text-align: center;
        border: 1px #67778a solid;
        padding: 90px 60px 92px;
        width: 100%;

        @media (max-width: 768px) {
            padding: 40px;
        }
    }
}

.note-embed {
    height: 229px;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 80% !important;

    @media (max-width: 768px) {
        height: 203px;
    }
}

.sonomamakaitori-label {
    background-color: var(--secondary-color);
    color: var(--white);
    padding: 2px 8px 2px 7px;
    border-radius: 5px;
    font-size: 0.6rem;
    position: relative;
    top: -1px;
}

.circle-question-regular {
    border-bottom: 1px #67778a solid;
    display: inline-block;
    cursor: pointer;

    img {
        width: 19px;
        display: inline-block;
        position: relative;
        bottom: 3px;
        margin: 0 6px 0 0;
    }

    p {
        display: inline-block;
        position: relative;
        bottom: 1px;
        margin: 0 0 0 -13px;
        cursor: pointer;
    }
}

/* Top service styles */
.top-service {
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    h1 {
        text-align: center;
        color: var(--primary-color);
        font-family: LINESeed-Bd, sans-serif;
        font-size: 1.5rem;
        font-weight: 700;
    }

    h2 {
        text-align: center;
        color: var(--primary-color);
    }

    p {
        color: #333640;
        font-size: 15px;
		text-align:center;
    }
}

.card-header-kyuujin,
.card-header-soudan,
.card-header-study {
    padding: 0;
    background-repeat: round;
    border-bottom: 0;
}

.card-header-kyuujin {
    background-image: url(https://prompters.jp/img/card-header-kyuujin.jpg);
}

.card-header-soudan {
    background-image: url(https://prompters.jp/img/card-header-soudan.jpg);
}

.card-header-study {
    background-image: url(https://prompters.jp/img/card-header-study.jpg);
}

.bg_rgba {
    height: 100% !important;
    background: rgb(12 163 125 / 50%);
}

.top-service-box {
    img {
        background-color: #ffffffd1;
        padding: 25px 20px 20px;
        width: 80% !important;
        border-radius: 10px;
        margin: 70px auto;
    }

    h3 {
        font-weight: bold;
        font-size: 17px;
        line-height: 1.5rem;
    }

    button {
        font-weight: bold;
        font-size: 17px;
        border: var(--primary-color) 0 solid;
        color: var(--white);
        background-color: var(--primary-color);
        padding: 22px;

        &:hover {
            background-color: #0ca37ec7;
        }

        &:active {
            background-color: #0ca37e94;
        }
    }
}

.jizen {
    border: solid var(--primary-color) 1px;
    color: var(--primary-color);
    padding: 6px 0 !important;
    font-size: 0.7rem !important;
    text-align: center !important;
}

.news_category {
    border: 1px solid #18c37d;
    background-color: var(--white);
    color: #18c37d;
    text-align: center;
    font-size: 0.6rem;
    border-radius: 3px;
    padding: 3px 10px;
    display: initial;
    position: relative;
    top: -2px;
}

.card-service-box img {
    background-color: var(--white);
    padding: 25px 20px 20px;
    width: 80% !important;
    border-radius: 10px;
}

/* Label styles */
.label_green,
.label_EmploymentStatus,
.label_Condition,
.label_new,
.label_near_deadline {
    font-size: 0.7rem;
    border-radius: 3px;
    padding: 3px 6px;
    display: block;
    line-height: 14px;
    margin-bottom: 5px;
    margin-right: 5px;
}

.label_green,
.label_Condition {
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    background-color: var(--white);
}

.label_EmploymentStatus {
    color: var(--white);
    border: 1px solid var(--primary-color);
    background-color: var(--primary-color);
    letter-spacing: 0.02rem;
}

.label_new {
    color: #ff0000;
    border: 1px solid #ff0000;
    background-color: var(--white);
}

.label_near_deadline {
    color: var(--white);
    border: 1px solid #ff0000;
    background-color: #ff0000;
}

.cassetteRecruit__attributeLabel {
    display: inline-block;
}

/* Job listing styles */
.OfferRecapitulate h1 {
    font-size: 1.4rem;
    font-weight: 700;
    display: block;
    color: #333;
}

.footer-fixed h1 {
    font-size: 1.2rem;
    font-weight: 700;
    display: block;
    color: var(--primary-color);
    margin-bottom: .25rem !important;
}

.occName {
    font-size: 1.25rem;
    font-weight: 700;
    display: block;
    color: var(--primary-color);
    line-height: 1.7rem !important;
    margin-bottom: .25rem !important;
}

.companyName {
    font-size: 0.9rem !important;
    color: var(--gray);
    display: block;
}

.companyNameAdd {
    font-size: 0.95rem;
    font-weight: 100;
    display: block;
    line-height: 1.3rem;
    margin-bottom: 0.1rem !important;
}

.footer-fixed,
.companyName {
    font-size: 1rem;
}

.jumbotron {
    padding: 1rem 0;
}

/* Balloon styles */
.balloon1-left {
    position: relative;
    padding: 8px 10px 8px 8px;
    background: var(--white);
    border-radius: 3px;
    margin-bottom: 10px !important;
    border: 3px solid var(--primary-color);

    &:before,
    &:after {
        content: "";
        position: absolute;
        top: 69%;
        left: -20px;
        margin-top: -16px;
        border: 8px solid transparent;
    }

    &:before {
        border-right: 9px solid var(--primary-color);
    }

    &:after {
        left: -16px;
        border-right: 9px solid var(--white);
    }

    h2 {
        margin: 0;
        padding: 0;
    }
}

/* Job highlight styles */
.job-highlight {
    padding: 19px;

    @media screen and (max-width: 767px) {
        padding: 0;
    }
}

.job-highlight-table,
.job-info-table__ {
    width: 100%;
    font-size: 0.8rem;

    p {
        line-height: 1.5rem;
        font-size: 0.8rem;
    }

    &__head,
    &__body,
    &____head,
    &____body {
        line-height: 1.5rem;
        padding: 5px;
    }

    &__head,
    &____head {
        vertical-align: top;
        width: 93px;
        color: var(--primary-color);
    }

    &__body,
    &____body {
        white-space: normal;
        word-break: break-all;
        word-wrap: break-word;
    }

    @media screen and (max-width: 767px) {

        &,
        tr,
        th {
            display: block;
        }

        th {
            width: auto;
            padding: 2px 3px !important;
            letter-spacing: 0.06rem;
            font-size: 1rem;
        }

        td {
            display: block;
            padding: 0 2px !important;
        }
    }
}

h4 {
    font-weight: 700;
    font-size: 1rem;
    color: var(--primary-color);
    word-break: break-all;
    word-wrap: break-word;
    margin: 0.5rem 0;
}

.jobPointArea_title {
    font-size: 1rem;
    font-weight: 700;
    display: block;
    color: #333;
}

.jobinfo_side {
    border: 4px solid var(--primary-color) !important;
}

.sidebar_fixed {
    position: sticky;
    top: 30px;

    img {
        border-bottom: 1px solid var(--border-color) !important;
        border-radius: 5px 5px 0 0;
    }
}

.kieisai a {
    color: #b52b2b;
    font-size: 0.7rem;
    text-decoration: underline;
}

.border-green {
    border: 4px solid var(--primary-color);
}

.bg-green {
    background-color: #e3eeea;
}

.jobinfo-header img,
.jobinfo-main img,
.osusume-kyuujin img {
    width: 100%;
}

/* Image container styles */
.image-container {
    width: 100%;
    height: 189px;
    overflow: hidden;
    border: 6px solid var(--border-color);

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    @media screen and (max-width: 767px) {
        border: 4px solid var(--border-color);
        margin-bottom: .75rem;
    }
}

.companyinfo-header img {
    width: 100%;
    border: 4px solid var(--border-color);
    padding: 31px 5px;

    @media screen and (max-width: 767px) {
        padding: 0 40px;
    }
}

/* Recommended job styles */
.osusume-title,
.osusume-companyName,
.osusume-description {
    font-size: 0.8rem !important;
    margin-bottom: 0;
}

.osusume-title {
    font-weight: 700;
}

.osusume-companyName {
    color: #8a8a8a;
}

/* Job point index box styles */
.jobPointIndexBox {
    background-color: var(--white);

    &__head {
        display: block;
        padding: 10px;
        text-align: center;
        line-height: 15px;
        font-size: 1rem;
        color: var(--white);
        background-color: var(--primary-color);
    }

    &__index a {
        color: #bbb;
        text-decoration: none;
        display: block;
        padding: 3px 15px;
        font-size: 0.8rem;
        font-weight: 400;
        cursor: pointer;

        &:nth-of-type(1) {
            padding: 15px 15px 3px;
        }

        &:nth-of-type(5) {
            padding: 3px 15px 12px;
        }
    }
}

.keisai {
    color: var(--primary-color);
    font-size: 0.7rem;
    text-decoration: underline;
    line-height: 1rem !important;
}

/* Footer fixed styles */
.footer-fixed {
    position: fixed;
    bottom: -1px;
    background-color: var(--white);
    width: 100%;
    border-top: solid var(--primary-color) 1px;
    padding: 15px 0;
    z-index: 10;
    transition: opacity 0.5s ease-in-out;
    opacity: 1;
}


/* Press kit styles */
.presskit img {
    width: 30%;
    padding: 50px;
    border: 1px solid var(--border-color);
    margin: 20px auto;

    @media screen and (max-width: 767px) {
        width: 100%;
        margin: 20px auto 10px;
    }
}

.press-logo img {
    width: 30%;
    padding: 20px 0 10px;
    margin: 20px 0;

    @media screen and (max-width: 767px) {
        width: 100%;
        margin: 0 auto 10px;
    }
}

/* Blockquote styles */
blockquote {
    margin: 3px 0;

    p {
        padding: 10px !important;
        background: #f7f7f7;
        border-radius: 2px;

        &::before {
            content: '\201C';
        }

        &::after {
            content: '\201D';
        }
    }
}

/* Scrolling wrapper styles */
.scrolling-wrapper {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;

    &::-webkit-scrollbar {
        width: 10px;
        height: 10px;
        background-color: #ccc;
    }

    &::-webkit-scrollbar-thumb {
        background-color: #aaa;
    }

    .card {
        flex: 0 0 auto;
        margin-right: 15px;

        @media screen and (max-width: 768px) {
            margin-right: 0;
        }
    }
}

/* Responsive utility classes */
@media (min-width: 768px) {
    .border-pconly {
        border: 11px solid #dee2e6 !important;
    }
}

.mt-2-pconly {
    margin: 0 !important;

    @media (max-width: 768px) {
        margin: .5rem 0 0 0 !important;
    }
}

.pt-4-pconly {
    padding-top: 1.5rem !important;

    @media (max-width: 768px) {
        padding-top: 1rem !important;
    }
}

.mt-2-sponly {
    margin-top: 0 !important;

    @media (max-width: 768px) {
        margin-top: .5rem !important;
    }
}

.br-sponly {
    display: none;

    @media screen and (max-width: 768px) {
        display: block;
    }
}

/* Active state styles */
.active {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
}

/* Focus and hover states */
button,
*:focus {
    outline: none;
}

button:hover,
button:focus,
button:active {
    opacity: 0.8;
    outline: none;
}

/* Copy message styles */
.copy-message {
    position: fixed;
    top: 25px;
    right: 25px;
    background-color: var(--white);
    color: var(--black);
    padding: 15px 20px;
    border-radius: 9px;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.1);
    transition: opacity 0.2s, transform 0.2s;
    opacity: 0;
    transform: translateY(-20px);
    z-index: 1000;
    border: solid 4px var(--primary-color);
    font-weight: 700;

    &.show {
        display: block;
        opacity: 1;
        transform: translateY(0);
    }
}

/* Icon list styles */
.icon-list {
    list-style: none;
    display: flex;
    justify-content: space-between;
    padding: 0;

    li {
        flex: 1;
        text-align: center;
    }

    i {
        font-size: 28px;
        margin-right: 4px;
    }
}

.icon-gradient {
    background: linear-gradient(-135deg, var(--primary-color) 0%, #06543f 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* Form element styles */
input[type=checkbox],
input[type=radio] {
    top: 2px !important;
    position: relative !important;
}

/* Date info styles */
.dateInfo {
    font-size: 0.8rem;
    color: var(--text-color);
}

/* Class1 styles */
.class1 {
    width: 30rem;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}


/* Miscellaneous utility classes */
.font-weight-bold {
    font-weight: bold;
}

.lead {
    line-height: 1.4rem;
}

.small {
    line-height: 1.5;
}

.pointer {
    cursor: pointer;
}

/* Additional styles and corrections */

/* Display styles */
.display-4 {
    font-size: 2.5rem;

    @media (min-width: 768px) {
        font-size: 3rem;
    }
}

/* Blog styles */
.blog-title {
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: 400;

    @media (min-width: 40em) {
        font-size: 3.5rem;
    }
}

.blog-description {
    font-size: 1.1rem;
    color: var(--gray);
}

.blog-pagination {
    margin-bottom: 4rem;

    >.btn {
        border-radius: 2rem;
    }
}

/* Pagination styles */
.pagination>.btn {
    border-radius: 2rem;
}

/* Border styles */
.border-ninki {
    border: 3px #cccccc solid;
    border-radius: 0;
}

/* Hover effects */
.ninki:hover {
    opacity: 0.7;
}

/* Text styles */
.ninki-title {
    color: #343a40;
    font-weight: 600;
    font-size: 1.2em;
}

.ninki-text {
    color: #4c6680;
    font-size: 0.75em;
    line-height: 1.45em;
}

.ninki-linktext {
    color: #317bc5;
    font-size: 0.8em;
}

.dekinai p {
    font-size: 1em;
    line-height: 1.8em;
}

/* Info styles */
.info p {
    font-size: 0.75em;
}

.info-scroll {
    height: 270px;
    overflow: auto;
    padding: 0;

    p {
        border-bottom: solid #c6c6c6 1px;
        padding: 0 0 10px;
        font-size: 0.7rem;
    }
}

.info-day {
    color: #4c6680;
    padding-right: 0;
}

/* Alert styles */
.kaitori-Alert {
    background-color: var(--white);
    font-weight: 500;
    font-size: 0.8em;
    color: #212529;
    margin: 25px 0;
    border: 3px #dc3545 solid;
    line-height: 1.2rem;
}

/* Icon styles */
.icon {
    position: relative;
    bottom: 2px;
    border: 1px solid var(--border-color);
    border-radius: 2px;
    padding: 2px;
}

/* Button back styles */
.btnback {
    padding: 15px;
    background-color: var(--border-color);
    border-radius: 2px;
}

/* Collapsing animation */
.collapsing {
    display: block;
    animation: fadein 1.5s;
}

@keyframes fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.hide-button {
    display: none;
}

/* Preview styles */
#preview_23_1 img,
#preview_78_1 img,
#preview_month_1 img {
    width: 50%;
}

#preview img {
    width: 100%;
}

/* Flatpickr overrides */
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    display: none;
}

/* Ensure all styles from the original file are included */
/* If any styles are still missing, add them here */

/* Final catch-all for any missed styles */
/* ... */
/* Additional styles and corrections */

/* Display styles */
.display-4 {
    font-size: 2.5rem;

    @media (min-width: 768px) {
        font-size: 3rem;
    }
}

/* Blog styles */
.blog-title {
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: 400;

    @media (min-width: 40em) {
        font-size: 3.5rem;
    }
}

.blog-description {
    font-size: 1.1rem;
    color: var(--gray);
}

.blog-pagination {
    margin-bottom: 4rem;

    >.btn {
        border-radius: 2rem;
    }
}

/* Pagination styles */
.pagination>.btn {
    border-radius: 2rem;
}

/* Border styles */
.border-ninki {
    border: 3px #cccccc solid;
    border-radius: 0;
}

/* Hover effects */
.ninki:hover {
    opacity: 0.7;
}

/* Text styles */
.ninki-title {
    color: #343a40;
    font-weight: 600;
    font-size: 1.2em;
}

.ninki-text {
    color: #4c6680;
    font-size: 0.75em;
    line-height: 1.45em;
}

.ninki-linktext {
    color: #317bc5;
    font-size: 0.8em;
}

.dekinai p {
    font-size: 1em;
    line-height: 1.8em;
}

/* Info styles */
.info p {
    font-size: 0.75em;
}

.info-scroll {
    height: 270px;
    overflow: auto;
    padding: 0;

    p {
        border-bottom: solid #c6c6c6 1px;
        padding: 0 0 10px;
        font-size: 0.7rem;
    }
}

.info-day {
    color: #4c6680;
    padding-right: 0;
}

/* Alert styles */
.kaitori-Alert {
    background-color: var(--white);
    font-weight: 500;
    font-size: 0.8em;
    color: #212529;
    margin: 25px 0;
    border: 3px #dc3545 solid;
    line-height: 1.2rem;
}

/* Icon styles */
.icon {
    position: relative;
    bottom: 2px;
    border: 1px solid var(--border-color);
    border-radius: 2px;
    padding: 2px;
}

/* Button back styles */
.btnback {
    padding: 15px;
    background-color: var(--border-color);
    border-radius: 2px;
}

/* Collapsing animation */
.collapsing {
    display: block;
    animation: fadein 1.5s;
}

@keyframes fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.hide-button {
    display: none;
}

/* Preview styles */
#preview_23_1 img,
#preview_78_1 img,
#preview_month_1 img {
    width: 50%;
}

#preview img {
    width: 100%;
}

/* Flatpickr overrides */
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    display: none;
}

/* Ensure all styles from the original file are included */
/* If any styles are still missing, add them here */

/* Final catch-all for any missed styles */
/* ... */








.jobinfo-side {
    @media (max-width: 767px) {
        display: none;
    }
}

.sidebar_fixed {
    position: sticky;
    top: 30px;
}

.bg-white {
    background-color: var(--white);
}

.border {
    border: 1px solid var(--border-color);
}

.rounded {
    border-radius: 0.25rem;
}


.w-100 {
    width: 100%;
}

.jobPointArea__sideMenu {
    padding: 1rem;
}

.jobPointIndexBox__index {
    display: flex;
    flex-direction: column;

    a {
        font-size: 13px;
        color: var(--link-color);
        text-decoration: none;
        padding: 0.5rem 0;
        transition: color 0.3s ease;

        &:nth-child(1) {
            padding-top: 0px;
        }

        &:nth-child(5) {
            border-bottom: 0px solid var(--border-color);
            padding-bottom: 5px;
        }

        &:hover,
        &:focus {
            color: var(--link-hover-color);
        }
    }
}



.btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
	text-decoration:none;

	/* transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; */
}

.btn-green {
    color: var(--white)!important;
    background-color: var(--primary-color)!important;
    border-color: var(--primary-color)!important;

    &:hover,
    &:focus {
           background-color: var(--primary-color)!important;
    border-color: var(--primary-color)!important;

    }
}

.btn-lg {
    padding: 0.5rem 1rem;
}



.btn-block {
    display: block;
    width: 100%;
}

.py-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.pb-3 {
    padding-bottom: 1rem;
}

/* コンパクトフォーム用全体調整 */
.compact-form .mb-3,
.compact-form .mt-2,
.compact-form .row.g-3 > [class^="col-"] {
  margin-bottom: 0.5rem !important;
}

.compact-form .form-label {
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
}

.compact-form .form-control {
  padding: 0.375rem 0.5rem;
  font-size: 0.9rem;
}

/* カード風ラジオボタン用スタイル */
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.radio01.card.rental-plan {
  display: block;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-align: left;
  background-color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
  cursor: pointer;
  position: relative;
  font-size: 0.9rem;
  margin-bottom: 0;
}

.radio01.card.rental-plan::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid #ccc;
  border-radius: 50%;
	position:relative;
	top:-1px;
  margin-right: 8px;
  vertical-align: middle;
  background-color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
}

.radio01.card.rental-plan:hover {
  background-color: #f8f9fa;
  border-color: #b3b3b3;
}

.form-check-input:checked + .radio01.card.rental-plan {
  border-color: #0ba37e;
}

.form-check-input:checked + .radio01.card.rental-plan::before {
  background-color: #0ba37e;
  border-color: #cccccc;
}

.radio01.card.rental-plan:focus {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* フォーム内のチェックボックス周りの余白調整 */
.compact-form .form-check {
  margin-bottom: 0.5rem;
}

/* 送信ボタンのパディングとフォントサイズ */
.compact-form button.btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.9rem;
}

.form-check {
    min-height:  0rem;
    padding-left: 0em;
}