@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Round|Material+Icons+Sharp|Material+Icons+Two+Tone);
@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,100,0,0);

@charset "UTF-8";

:root {
    --colorPri:	#a2b2fb;
    --colorPri-selected: #616B97;
    --colorSec: #a2b2fb;
	--colorSub: #fff8d5;

    --colorTxtBase: #434343; /* ほぼ黒 */
    --colorWh: #FFFFFF; /* 白 */
    --colorBk: #000000; /* 黒 */
    --colorBl: #1558d6; /* ブルー */
    --colorDpk: #E50046; /* 濃いピンク */
    --colorRd: #E52020; /* レッド */
    --colorDDgy: #3F3F3F; /* もっと濃いグレー */
    --colorDgy: #5F5F5F; /* 濃いグレー */
    --colorGy: #8A8A8A; /* グレー */
    --colorLgy: #C0C0C0; /* 薄いグレー */
    --colorLLgy: #E5E5E5; /* もっと薄いグレー */
    --colorLLLgy: #F5F5F5; /* もっともっと薄いグレー */
}

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

html {
    font-size: 62.5%;
    line-height: 1.2;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
    color: var(--colorTxtBase);
    font-size: 1.6rem;
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    /*background: #EEF7FF99;*/
    /*background: linear-gradient(to bottom right, var(--colorPri), var(--colorSec));*/
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    transition: background-image 0.5s ease-in-out;
    background-attachment: fixed;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}
pre {
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif!important;
    font-weight: 400!important;
}

h1,h2,h3,h4,h5,h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

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

img {
    border: none;
    max-width: 100%!important;
}
ul ,
table {
    border-collapse:collapse;
    border-spacing: 0;
}
a {
	-webkit-transition: 0.5s;
	transition: 0.5s;
    outline: none;
    color: var(--colorBl);
    text-decoration: underline;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
}


input,
select,
textarea,
button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
button {
    letter-spacing: .05em;
    background: transparent;
    cursor: pointer;
}
button:focus {
	outline: 0;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::placeholder {
    color: var(--colorLgy);
}

@media screen and (min-width:600px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}







/* --------------------------------------------- */
.container {
    display: flex;
    justify-content: flex-end;
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100svh;
}




/* --------------------------------------------- */
/* ナビ menu */
.gMenu {
    position: fixed;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    height: 52px;
    width: 100%;
    background: linear-gradient(to bottom right, var(--colorPri), var(--colorSec));
    z-index: 9999999;
}
/* --- */
.gMenu__inner {
    margin: 0;
    padding: 0;
}
/* --- */
.gMenu__btns {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
.gMenu__btns li {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 0;
    height: 52px;
    width: 20%;
    text-align: center;
}
.gMenu__btns li button {
    position: relative;
    margin: 0 auto;
    padding: 0;
    color: var(--colorWh);
    text-align: center;
    font-size: 1rem;
    line-height: 1;
}
.gMenu__btns li .btn-logo::before {
    display: block;
    content: url(../images/icon-logo.svg);
    margin: 0 auto;
    width: 18px;
}
.gMenu__btns li .btn-recommend::before {
    display: block;
    font-family: "Material Icons";
    content: "\e817";
    font-size: 1.85rem;
}
.gMenu__btns li .btn-search::before {
    display: block;
    margin-top: -4px;
    font-family: "Material Icons";
    content: "\f02f";
    font-size: 2.25rem;
}
.gMenu__btns li .btn-nice::before {
    display: block;
    font-family: "Material Icons";
    content: "\e87d";
    line-height: 1;
    font-size: 2rem;
}
.gMenu__btns li .btn-therapists::before {
    display: block;
    margin-top: -3px;
    font-family: "Material Icons";
    content: "\f8d7";
    font-size: 2.25rem;
}
.gMenu__btns li .btn-profile::before {
    display: block;
    margin-top: -3px;
    font-family: "Material Icons";
    content: "\f02e";
    font-size: 2.25rem;
}
.gMenu__btns li .video_icon::before {
    display: block;
    margin-top: -3px;
    font-family: "Material Icons";
    content: "\e064";
    font-size: 2.25rem;
}
.gMenu__btns li .contact_icon::before {
    display: block;
    margin-top: -3px;
    font-family: "Material Icons";
    content: "\e158";
    font-size: 2.25rem;
}
.gMenu__btns li .calendar_icon::before {
    display: block;
    margin-top: -3px;
    font-family: "Material Icons";
    content: "\ebcc";
    font-size: 2.25rem;
}
.gMenu__btns li .btn-login::before {
    display: block;
    margin-top: -4px;
    font-family: "Material Icons";
    content: "\ea77";
    font-size: 2.25rem;
}
.gMenu__btns li .btn-logout::before {
    display: block;
    margin-top: -3px;
    font-family: "Material Icons";
    content: "\e9ba";
    font-size: 2.2rem;
}


.gMenu__btns li .notLogin {
    opacity: .5;
}



.gMenu__logo {
    display: none;
}


@media screen and (min-width: 768px) {

    .gMenu__btns .btn-home-mobile {
        display: none;
    }

    .gMenu {
        top: 0;
        height: 100%;
        width: 200px;
    }
    /* --- */
    .gMenu__inner {
        margin: 0;
        padding: 0;
    }
    /* --- */
    .gMenu__logo {
        display: block;
        margin: 32px 0 32px 16px;
        padding: 0;
    }
    .gMenu__logo a {
        margin: 0;
        padding: 0;
    }
    .gMenu__logo a img {
        display: block;
        margin: 0;
        padding: 0;
        width: 125px;
    }
    /* --- */
    .gMenu__btns {
        margin: 0;
        padding: 0;
    }
    .gMenu__btns li {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        text-align: left;
    }
    .gMenu__btns li button {
        position: relative;
        display: flex;
        align-items: center;
        margin: 0;
        padding: 16px;
        color: var(--colorWh);
        font-size: 1.75rem;
        line-height: 1;
    }
    .gMenu__btns li .btn-recommend::before {
        display: inline-block;
        width: 30px;
        text-align: left;
        font-size: 2rem;
    }
    .gMenu__btns li .btn-search::before {
        display: inline-block;
        width: 30px;
        text-align: left;
        font-size: 2.5rem;
    }
    .gMenu__btns li .btn-nice::before {
        display: inline-block;
        width: 30px;
        text-align: left;
        font-size: 2.25rem;
    }
    .gMenu__btns li .btn-profile::before {
        display: inline-block;
        width: 30px;
        text-align: left;
        font-size: 2.75rem;
    }
    .gMenu__btns li .btn-login::before {
        display: inline-block;
        width: 30px;
        text-align: left;
        font-size: 2.5rem;
    }
    .gMenu__btns li .btn-logout::before {
        display: inline-block;
        width: 30px;
        text-align: left;
        font-size: 2.5rem;
    }
}













/* ----------------------------- */
/* メーン */
main {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    min-height: 100%;
}
@media screen and (min-width: 768px) {
    main {
        width: calc(100% - 200px);
    }
}

/* ----------------------------- */
.content {
    position: relative;
    margin: 0 auto;
    padding: 0;
    max-width: 480px;
    height: 100%;
    min-height: 100%;
}
@media screen and (min-width: 768px) {
    .content {
        max-width: 560px;
    }
}
/* ----------------------------- */
.desc {
    margin: 0;
    padding: 0 16px 52px 16px;
    min-height: 100%;
    background: var(--colorWh);
}
@media screen and (min-width: 768px) {
    .desc {
        padding: 0 16px 52px 16px;
    }
}


/* -------------------- */
/* fixedボタン */
.btn-fixed {
    position: sticky;
    left: 0;
    bottom: 52px;
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 0 16px;
    min-height: 72px;
    max-width: 560px;
    background: #00000066;
}
.btn-fixed.both {
    justify-content: space-between;
}
.btn-fixed .btn {
    height: 38px;
}
@media screen and (min-width: 768px) {
    .btn-fixed {
        bottom: 0;
        height: 102px;
    }
    .btn-fixed .btn {
        height: 52px;
    }
}


/* ----------------------------- */
.jobMov__upper {
    position: fixed;
    top: 12px;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0 12px;
    width: 100%;
    z-index: 9999;
}
.jobMov__upper--item ,
.jobMov__upper--recommend ,
.jobMov__upper--search ,
.jobMov__upper--nice {
    position: relative;
    margin: 0;
    padding: 0 0 0 1.5em;
    color: var(--colorWh);
    font-weight: 600;
}
.jobMov__upper--recommend::before ,
.jobMov__upper--search::before ,
.jobMov__upper--nice::before {
    position: absolute;
    top: 0;
    left: 0;
    font-family: "Material Icons";
    margin-right: 4px;
    font-size: 1.2em;
}
.jobMov__upper--recommend::before {
    content: "\e817";
    font-size: 1.2em;
}
.jobMov__upper--search::before {
    top: -4px;
    content: "\f02f";
    font-size: 1.5em;
}
.jobMov__upper--nice::before {
    content: "\e87d";
    font-size: 1.2em;
}


/* ----------------------------- */
.jobMovList {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 768px) {
    .jobMovList {
        padding-right: 32px;
        padding-left: 32px;
    }
}
.jobMovList__item {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100dvh;
    /* height: 100svh; */
    scroll-snap-align: start;
    scroll-snap-stop: always;
}



@media screen and (min-width: 768px) {
    .jobMovList__item {
        padding: 24px 0;
    }
}



.jobMov {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background: ;
    border-radius: 0;
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0));
    background: #000000;
}
@media screen and (min-width: 768px) {
    .jobMov {
        border-radius: 16px;
        filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
    }
}

.jobMov__mov {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden!important;
    border-radius: 0;
}
@media screen and (min-width: 768px) {
    .jobMov__mov {
        border-radius: 16px 16px 0 0;
    }
}
.jobMov__mov video {
	display: block;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

/* --- */
.jobMov__btns {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    z-index: 9999;
}
.jobMov__btns .jobMov__btns--company {
    display: block;
    margin: 0 auto 24px auto;
    padding: 0;
    width: 30px;
}

.jobMov__btns button {
    position: relative;
    display: block;
    margin: 0 auto 16px auto;
    color: var(--colorWh);
    line-height: 1;
	font-size: 35px;
}
.jobMov__btns button:last-child {
    margin: 0 auto 0 auto;
}
@media screen and (min-width: 780px) {
    .jobMov__btns {
        right: -50px;
    }
    .jobMov__btns button {
        margin: 0 auto 24px auto;
        color: var(--colorBl);
    }
}
.jobMov__btns .jobMov__btns--vol::before {
    font-family: "Material Icons";
    content: "\e04f";
}
.jobMov__btns .jobMov__btns--vol.active::before {
	content: "\e050";
	transition: 0.5s;
}
.jobMov__btns .jobMov__btns--location::before {
    font-family: "Material Icons";
    content: "\e0c8";
}
.jobMov__btns .jobMov__btns--nice::before {
    font-family: "Material Icons";
    content: "\e87e";
}
.jobMov__btns .jobMov__btns--nice.active::before {
	content: "\e87d";
	color: var(--colorDpk);
	transition: 0.5s;
}
.jobMov__btns .jobMov__btns--share {
    transform: scale(-1, 1);
}
.jobMov__btns .jobMov__btns--share::before {
    font-family: "Material Icons";
    content: "\e15e";
}
.jobMov__btns .jobMov__btns--filter {
    transform: scale(-1, 1);
}
.jobMov__btns .jobMov__btns--filter::before {
    font-family: "Material Icons";
    content: "\e429";
}
.jobMov__btns .jobMov__btns--zoom::before {
    font-family: "Material Icons";
    content: "\e3c2";
}











/* --- */
.jobMov__lower {
    position: absolute;
    left: 0;
    bottom: 52px;
    margin: 0 auto;
    padding: min(24px, 5vw) 0 min(16px, 3.33333333333333vw);
    width: 100%;
    color: var(--colorWh);
    background: #000000B3;
    z-index: 99999;
}
@media screen and (min-width: 768px) {
    .jobMov__lower {
        bottom: 0;
        padding: 24px 0 24px 0;
        border-radius: 0 0 16px 16px;
    }
}

.jobMov__lower--seekbar {
    position: absolute;
    top: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    width: 100%;
}
.jobMov__lower--seekbar [type=range] {
    appearance: none;
    background: var(--colorLgy);
    height: 2px;
    width: 100%;
}
.jobMov__lower--seekbar [type=range]:focus,
.jobMov__lower--seekbar [type=range]:active {
    outline: none;
}
.jobMov__lower--seekbar [type=range]::-webkit-slider-thumb {
    appearance: none;
    cursor: pointer;
    position: relative;
    width: 10px;
    height: 10px;
    display: block;
    background: var(--colorLgy);
    border-radius: 50%;
}
.jobMov__lower--seekbar [type=range]:active::-webkit-slider-thumb {
    box-shadow: 0 0 0 6px var(--colorLgy);
    transition: 0.4s;
}
.jobMov__lower--seekbar [type=range]::-moz-range-thumb {
    background: var(--colorLgy);
    border: none;
}
.jobMov__lower--seekbar [type=range]:active::-moz-range-thumb {
    box-shadow: 0 0 0 6px var(--colorLgy);
    transition: 0.4s;
}

.jobMov__lower--lead {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin: 0 0 min(8px, 1.66666666666667vw) 0;
    padding: 0 min(16px, 3.33333333333333vw);
}
@media screen and (min-width: 768px) {
    .jobMov__lower--lead {
        margin: 0 0 8px 0;
        padding: 0 16px;
    }
}
.jobMov__lower--lead .title {
    margin: 0 0 min(16px, 3.33333333333333vw) 0;
    padding: 0;
    width: 100%;
    line-height: 1.4;
    font-size: min(18px, 3.75vw);
    font-weight: 600;
}
.jobMov__lower--lead .titleLimited {
    margin: 0;
    padding: 0;
    width: 100%;
    font-size: min(18px, 3.75vw);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.jobMov__lower--lead .detail {
    display: flex;
    align-items: center;
    margin: 0 min(16px, 3.33333333333333vw) min(8px, 1.66666666666667vw) 0;
    padding: 0;
}
.jobMov__lower--lead .detail span {
    margin: 0;
    padding: 0;
    font-size: min(14px, 2.91666666666667vw);
}
.jobMov__lower--lead .detail span:first-child {
    margin: 0 0 0 0;
    padding: 2px 5px;
    color: var(--colorWh);
    font-size: min(12px, 2.5vw);
    background: #00879E;
    border-radius: 2px;
}

.jobMov__lower--lead .detail span:nth-child(2) {
    margin-left: 6px;
}

.jobMov__lower .btn {
    margin: 0 auto;
    width: calc(100% - 32px);
    font-size: min(16px, 3.33333333333333vw);
}


/* モーダル：複数の職種選択 */
.sortingItem {
    position: relative;
    margin: 0 0 24px 0;
    padding-top: 16px;
    padding-bottom: 8px;
    border-radius: 24px;
    background: var(--colorLLLgy);
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}
.sortingItem:last-child {
    margin: 0 0 0 0;
}
.sortingItem a {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}




/* ----------------------------- */
.tranBack {
    display: none;
}
@media screen and (min-width: 768px) {
    .tranBack {
        display: block;
        position: absolute;
        top: 50px;
        right: 12px;
        z-index: 9;
    }
    .tranBack.raise {
        top: 24px;
    }
    .tranBack::after {
        display: inline-block;
        content: "\e5c4";
        font-family: "Material Icons";
        padding: 5px;
        color: var(--colorWh);
        font-size: min(22px, 4.58333333333333vw);
        background: #00000066;
        border-radius: 50%;
    }
}

.tranClose {
    display: none;
}
@media screen and (max-width: 767px) {
    .tranClose {
        display: flex;
        align-items: center;
        justify-content: center;
        display: block;
        position: absolute;
        top: 50px;
        right: 12px;
        z-index: 9;
    }
    .tranClose.raise {
        top: 24px;
    }
    .tranClose::after {
        display: inline-block;
        content: "\e5cd";
        font-family: "Material Icons";
        padding: 5px 5px 5px 5px;
        color: var(--colorWh);
        font-size: min(22px, 4.58333333333333vw);
        background: #00000080;
        border-radius: 50%;
    }
}




/* ----------------------------- */
.titleJobInfo {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
}
    .slick-dots li {
        margin: 0!important;
        padding: 0!important;
    }


.titleJobInfo__slide-arrowPrev,
.titleJobInfo__slide-arrowNext {
    position: absolute;
    z-index: 999;
}
.titleJobInfo__slide-arrowPrev {
    top: 32.5%;
    left: 0;
}
.titleJobInfo__slide-arrowPrev::after {
    display: inline-block;
    content: "\e408";
    color: var(--colorWh);
    font-family: "Material Symbols Outlined";
    font-size: 5rem;
}
.titleJobInfo__slide-arrowNext {
    top: 32.5%;
    right: 0;
}
.titleJobInfo__slide-arrowNext::after {
    display: inline-block;
    content: "\e409";
    color: var(--colorWh);
    font-family: "Material Symbols Outlined";
    font-size: 5rem;
}
.titleJobInfo__name {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 12px 16px;
    color: var(--colorWh);
    line-height: 1.4;
    font-size: min(18px, 3.75vw);
    font-weight: 600;
    background: #00000080;
}


/* ----------------------------- */
.companyInfo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    padding: 16px;
    background: var(--colorWh);
}
.companyInfo__name {
    margin: 0;
    padding: 0;
    width: 150px;
    text-align: center;
}
.companyInfo__name img {
    margin: 0 0 4px 0;
    width: 100%;
}
.companyInfo__name p {
    margin: 0 0 0 0;
    font-size: min(12px, 2.5vw);
}
.companyInfo .btn {
    margin: 0;
    padding: 0;
    width: auto;
    text-align: center;
}


/* ----------------------------- */
.pTitle {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 0 0;
    padding: 20px 0 10px 0;
    width: 100%;
}
    .pTitle.notFull {
        padding-right: 16px;
        padding-left: 16px;
    }
.pTitle__eng {
    display: block;
    margin: 0 0 4px 0;
    padding: 0;
    width: 100%;
    color: var(--colorPri);
    font-size: 1.2rem;
    font-weight: 600;
}
.pTitle__title {
    margin: 0 0 8px 0;
    color: var(--colorPri);
    text-align: left;
    line-height: 1;
    font-weight: 600;
    font-size: 2.0rem;
}
.pTitle__title--numKen {
    margin: 0 0 0 16px;
    font-size: 2.75rem;
}
.pTitle__title--numKen::after {
    content: '件';
    margin-left: 4px;
    font-size: .65em;
}
.pTitle .btn {
    margin-left: 16px;
    width: auto;
}
.pTitle__jpn {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    color: var(--colorTxtBase);
    font-size: 1.4rem;
    font-weight: 400;
}

/* ----------------------------- */
.sTitle {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 100%;
    border-bottom: solid 1px var(--colorPri);
}
.sTitle__title {
    display: block;
    padding: 5px 24px 6px 24px;
    color: var(--colorWh);
    font-size: 1.4rem;
    background: var(--colorPri);
    border-radius: 2px 2px 0 0;
}


/* ----------------------------- */
.jobDesc{
    margin-bottom: 52px;
    padding-bottom: 16px;
}
@media screen and (min-width: 768px) {
    .jobDesc{
        margin-bottom: 0;
    }
}
.jobDesc__item {
    margin: 0 0 24px 0;
    padding: 0;
}
.jobDesc__item:last-child {
    margin: 0 0 0 0;
}
.jobDesc__item--expl {
    margin: 0;
    padding: 24px 16px;
    background: var(--colorWh);
    border-radius: 32px;
}
.jobDesc__item--expl .stitle {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 16px 0;
    padding: 0;
    color: var(--colorPri);
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .2em;
}
.jobDesc__item--expl .stitle::before {
    position: relative;
    top: 3px;
    content: "\e54e";
    font-family: "Material Icons";
    transform: scale(-1, 1);
    transform: rotate(75deg);
    margin-right: 2px;
    font-size: 2.5rem;
}
.jobDesc__item--expl .stitle span {
    position: absolute;
    right: 0;
    padding: 1px 8px 2px 8px;
    color: var(--colorWh);
    font-size: 1.2rem;
    letter-spacing: 0;
    font-weight: 400;
    background: var(--colorPri);
    border-radius: 2px;
}
.jobDesc__item--expl pre {
    padding-left: 12px;
    line-height: 1.4;
    white-space: pre-wrap;
}
.jobDesc__item--expl .lead {
    padding-left: 12px;
    margin: 0 0 16px 0;
}
.jobDesc__item--expl .lead:last-child {
    margin: 0 0 0 0;
}




/* -------------------- */
/*  */
/* --- */
.companyProfile {
    margin: 0;
    padding: 0;
}
.cp__item {
    margin: 0 0 16px 0;
    padding: 0 0 8px 0;
    border-bottom: solid 1px var(--colorLLLgy);
}
.cp__item--title {
    margin: 0 0 12px 0;
    padding: 0 0 0 8px;
    text-align: left;
    color: var(--colorPri);
    font-size: 1.4rem;
    font-weight: 600;
    border-left: solid 3px var(--colorPri);
}
.cp__item--logo {
    display: block;
    margin: 0 auto 8px auto;
    padding: 0;
    width: 175px;
}
.cp__item--lead {
    margin: 0 0 8px 0;
    padding: 0;
    text-align: right;
    font-size: 1.4rem;
    line-height: 1.6;
}
.cp__item--lead.center {
    text-align: center;
}
.cp__item--lead.left {
    padding-left: 10px;
    text-align: left;
}
.cp__item--text {
    padding-left: 10px;
    font-size: 1.4rem;
    line-height: 1.6;
    white-space: pre-wrap;
    text-align: left;
}




/* --- */
.applyInput {
    margin: 0;
    padding: 0;
}

/* --- */
.applyProfileReg {
    margin: 0;
    padding: 16px 0;
}
.applyProfileReg__Inner {
    margin: 0;
    padding: 16px;
    border: solid 1px var(--colorLgy);
    border-radius: 8px;
}

/* --- */
.applyProfileReg__IdPass {
    margin: 0;
    padding: 0;
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: opacity 0.5s ease, height 0.5s ease;
    display: none; /* 最初は完全に非表示 */
}
.applyProfileReg__IdPass.show {
    display: block;
}





/* -------------------- */
/* プロフィール */
.profile {
    margin: 0;
    padding: 48px 16px 16px 16px;
    background: var(--colorWh);
}
.profile__title {
    margin: 0 0 24px 0;
    padding: 0;
    color: var(--colorPri);
    text-align: center;
    font-weight: 600;
    font-size: 2rem;
}
.profile__title span {
    display: block;
    margin: 12px 0 0 0;
    padding: 0;
    color: var(--colorTxtBase);
    font-size: 1.2rem;
    font-weight: 400;
}


/* -------------------- */
/* プロフィール登録サンクス */
.personalCard {
    margin: 0 0 24px 0;
    padding: 8px 16px 16px 16px;
    background: var(--colorSec);
    border-radius: 32px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}
.contact_icon::before {
    content: "\e158";
}
.pc__icon {
    display: block;
    margin: 0 0 0 0;
    padding: 0;
    line-height: 1;
}
.pc__icon::after {
    position: relative;
    left: -8px;
    content: "\e7fd";
    font-family: "Material Icons";
    font-size: 8.5rem;
    line-height: 1;
    color: var(--colorWh);
    /*
    background: linear-gradient(to bottom right, var(--colorPri), var(--colorSec));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    */
}
.pc__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 8px 0;
    padding: 0;
    color: var(--colorWh);
}
.pc__item:last-child {
    margin: 0 0 0 0;
}
.pc__item span {
    display: block;
    margin: 0;
    padding: 0;
    color: var(--colorWh);
    font-weight: 600;
    font-size: .8em;
}
.pc__lead {
    margin: 0;
    padding: 0;
    line-height: 1.5;
}





/* -------------------- */
/* いいね */
.nice {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: space-between;
    padding-right: 0!important;
    padding-left: 0!important;
}

.tab-selector {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 24px 0;
    padding: 0;
    width: 100%;
}
.tab-button {
    margin: 0;
    padding: 10px;
    width: 50%;
    color: var(--colorPri);
    text-align: center;
	font-size: min(1.7rem, 3vw);
}
.tab-button::before {
	display: block;
    margin: 0 0 4px 0;
    font-size: 2.0rem;
	font-size: min(2.0rem, 5vw);
    font-family: "Material Icons";
}
.person_icon::before {
    content: "\e7fd";
}
.video_icon::before {
    content: "\e064";
}
.doc_icon::before {
    content: "\ef42";
}
.tab-selector > button.current {
    color: var(--colorPri-selected);
    border-bottom: solid 2px var(--colorPri-selected);
    pointer-events: none;
}


.nice__select {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 24px 0;
    padding: 0;
    width: 100%;
}
.nice__select--jobInfo ,
.nice__select--jobMovie {
    margin: 0;
    padding: 16px;
    width: 50%;
    color: #0030924D;
    text-align: center;
    font-size: 1.6rem;
}
.nice__select--jobInfo::before {
    display: block;
    content: "\ef42";
    font-family: "Material Icons";
    margin: 0 0 4px 0;
    font-size: 2.75rem;
}
.nice__select--jobMovie::before {
    display: block;
    content: "\e064";
    font-family: "Material Icons";
    margin: 0 0 4px 0;
    font-size: 2.75rem;
}
.nice__select > button.current {
    color: #003092;
    border-bottom: solid 2px #003092;
    pointer-events: none;
}

.nice__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 18px;
}
.nice__list--item {
    margin: 0 0 24px 0;
    padding: 0;
    width: calc(50% - 8px);
    border-radius: 24px;
    filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.2));
}
.nice__list--item a {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}
.nice__list--item img {
    border-radius: 24px 24px 0 0;
}
.nice__item--lead {
    margin: 0;
    padding: 12px 12px 16px 12px;
    background: var(--colorWh);
    border-radius: 0 0 24px 24px;
}
.nice__item--lead .title {
	display: -webkit-box;
	max-height: 3.5em;
	line-height: 1.4;
	margin: 0 auto 8px auto;
	font-size: min(16px, 3.33333333333333vw);
	max-width: auto;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.nice__item--lead .date {
	font-size: min(12px, 2.5vw);
}
.nice__item--lead .date b {
	color: var(--colorBl);
}













/* -------------------- */
/* JOBINFO いいねボタン */
.jobInfo__btns--nice::before {
    font-family: "Material Icons";
    content: "\e87e";
    font-size: min(25px, 5.20833333333333vw);
}
    .jobInfo__btns--nice.active::before {
        content: "\e87d";
        color: var(--colorDpk);
        transition: 0.5s;
    }




/* -------------------- */
/* リスト */
.list {
    margin: 0;
    padding: 0;
}
.list ul {
    margin: 0;
    padding: 0;
    background: var(--colorLLLgy);
    border-radius: 32px;
}
.list ul li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin: 0;
    padding: 16px 40px 16px 24px;
    border-bottom: solid 1px var(--colorLLgy);
}
.list ul li:last-child {
    border-bottom: 0;
}
.list ul li a {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}
.list ul li a::after {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    content: 'arrow_downward';
    content: "\e409";
    color: var(--colorGy);
    font-family: "Material Icons";
    font-size: 1.5em;
}
.list ul li p:last-child {
    margin: 0 0 0 0;
}
.list__date {
    display: block;
    margin: 0 0 8px 0;
    padding: 0;
    width: auto;
    color: var(--colorDgy);
    font-size: 1.4rem;
}
.list__date b {
    color: var(--colorSec);
    font-weight: 400;
}
.list__result {
    display: block;
    margin: 0 0 8px 0;
    padding: 0;
    width: auto;
    color: var(--colorTxtBase);
    text-align: right;
    font-size: 1.4rem;
}
.list__result b.mada {
    color: var(--colorGy);
    font-size: 1.6rem;
}
.list__result b.ari {
    color: var(--colorSec);
    font-size: 1.6rem;
}
.list__title {
    display: block;
    margin: 0 0 8px 0;
    padding: 0;
    width: 100%;
    color: var(--colorTxtBase);
    line-height: 1.4;
}
.list__company {
    display: block;
    margin: 0 0 8px 0;
    padding: 0;
    width: 100%;
    color: var(--colorDgy);
    text-align: right;
    font-size: 1.4rem;
}







/* -------------------- */
/* 仕事を探す */
/* ---- */
.searchConditions {
    margin: 0 auto 0 auto;
    padding: 16px 16px;
    width: 100%;
    background: var(--colorLLLgy);
}
.searchConditions__reset {
    display: block;
    margin: 0 0 0 auto;
    padding: 0;
    color: var(--colorBl);
}
.searchConditions__reset::before {
    display: inline-block;
    position: relative;
    top: 5.5px;
    content: "\e5c9";
    font-family: "Material Icons";
    font-size: 2rem;
    line-height: 0;
}
.searchConditions > table {
    margin: 0;
    padding: 0;
}
.searchConditions > table tr {
    margin: 0;
    padding: 0;
}
.searchConditions > table tr td {
    margin: 0;
    padding: 8px 12px 8px 0;
    vertical-align: top;
}
.searchConditions > table tr td:last-child {
    vertical-align: middle;
    font-size: min(16px, 3.33333333333333vw);
}
.searchConditions > table tr td .notSelected {
    color: var(--colorLgy);
    font-weight: 600;
}
.searchConditions > table tr td .btn {
    white-space: nowrap;
}

/* ---- */
.searchResult {
    margin: 0;
    padding: 0;
}
.searchResult ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.searchResult ul li {
    position: relative;
    margin: 0;
    padding: 0;
    width: 50%;
}
    .searchResult.type2 ul li {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
    }
.searchResult ul li a {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}
.searchResult ul li:nth-child(odd) {
    border-right: solid 1px var(--colorLLLgy);
}
.searchResult.type2 ul li:nth-child(odd) {
    border-right: 0;
}
.searchResult--desc img {
    margin: 0;
    padding: 0;
}
.searchResult--desc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 12px;
}
.searchResult--desc--title {
	display: -webkit-box;
	max-height: 3.5em;
	line-height: 1.4;
	margin: 0 auto 8px auto;
	font-size: min(16px, 3.33333333333333vw);
	width: 100%;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.searchResult--desc--expl {
    display: flex;
    align-items: center;
    margin: 0 min(16px, 3.33333333333333vw) min(8px, 1.66666666666667vw) 0;
    padding: 0;
}
.searchResult--desc--expl span {
    margin: 0;
    padding: 0;
    font-size: min(14px, 2.91666666666667vw);
}
.searchResult--desc--expl span:first-child {
    margin: 0 4px 0 0;
    padding: 2px 5px;
    color: var(--colorWh);
    font-size: min(12px, 2.5vw);
    white-space: nowrap;
    background: #00879E;
    border-radius: 2px;
}

.searchResult--desc--date {
    margin: 0;
    padding: 0;
    width: 100%;
	font-size: min(12px, 2.5vw);
}
.searchResult--desc--date b {
	color: var(--colorBl);
}



/* ---- */
.msg {
    margin: 0 auto;
    padding: 24px 16px;
    width: 100%;
    text-align: left;
    background: var(--colorLLLgy);
    border-radius: 24px;
}
.msg.caseOfFull {
    width: calc(100% - 32px);
}
.msg__title {
    margin: 0 0 8px 0;
    padding: 0;
    color: var(--colorPri);
    font-size: 1.8rem;
    font-weight: 600;
}
.msg__title.center {
    text-align: center;
}
.msg__lead {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 600;
}
.msg__text {
    margin: 0 0 4px 0;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.4;
}
.msg__text:last-child {
    margin: 0 0 0 0;
}


/* ---- */
.msgThanks {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    text-align: left;
}
.msgThanks.caseOfFull {
    width: calc(100% - 32px);
}
.msgThanks__img {
    display: block;
    margin: 0 auto 32px auto;
    padding: 0;
    width: 75%;
}
.msgThanks__title {
    margin: 0 0 12px 0;
    padding: 0;
    color: var(--colorPri);
    font-size: 1.8rem;
    font-weight: 600;
}
.msgThanks__title.center {
    text-align: center;
}
.msgThanks__lead {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: 1.6rem;
}
.msgThanks__text {
    margin: 0 0 4px 0;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.4;
}
.msgThanks__text:last-child {
    margin: 0 0 0 0;
}














/* ---- */
.concept {
    margin: 0;
    padding: 0;
    color: var(--colorWh);
}
.concept__logo {
    margin: 0 auto 16px auto;
    padding: 0;
    width: 50px;
}
.concept__title {
    margin: 0 0 16px 0;
    padding: 0;
    font-size: 1.8rem;
    font-weight: 600;
}
.concept__lead {
    margin: 0 0 16px 0;
    padding: 0;
    font-size: 1.4rem;
    font-weight: 600;
}
.concept__text {
    margin: 0 0 16px 0;
    padding: 0;
    text-align: left;
    line-height: 1.5;
    font-size: 1.4rem;
}



/* --- */
.applyForJob {
    margin: 0;
    padding: 0;
}
.afj__name {
    margin: 0 0 24px 0;
    padding: 24px 16px 16px 16px;
    background: var(--colorLLLgy);
    border-radius: 32px
}
.afj__name--title {
    display: inline-block;
    margin: 0 0 16px 0;
    padding: 3px 16px 6px 16px;
    color: #FFFFFF;
    background: var(--colorPri);
    border-radius: 3px
}
.afj__name--name {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: 1.8rem;
    line-height: 1.4;
}
.afj__name > .btn {
    margin: 0 0 0 auto;
    width: 100px;
}


.afj__answer {
    margin: 0;
    padding: 0;
}
.afj__answer__title {
    margin: 0 0 16px 0;
    padding: 0;
}
.afj__answer__title span:first-child {
    font-weight: 600;
    font-size: 1.8rem;
}
.afj__answer__title span:last-child {
    font-size: 1.4rem;
}
.afj__answer__lead {
    margin: 0 0 16px 0;
    padding: 0;
    font-size: 1.6rem;
}
.afj__answer__text {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.4;
}






/* ---- */
.logInOut {
    margin: 0;
    padding: 0;
}
.logInOut__logo {
    margin: 0 auto 16px auto;
    padding: 0;
    width: 50px;
}
.logInOut__title {
    margin: 0 0 16px 0;
    padding: 0;
    font-size: 1.8rem;
    font-weight: 600;
}
.logInOut__lead {
    margin: 0 0 16px 0;
    padding: 0;
    text-align: left;
    font-size: 1.5rem;
    font-weight: 600;
}
.logInOut__text {
    margin: 0 0 24px 0;
    padding: 0;
    text-align: left;
    line-height: 1.5;
    font-size: 1.4rem;
}








/* -------------------- */
/* タブメニュー */
.tabMenu {
    margin: 0;
    padding: 0;
    width: 100%;
}
.tabMenu__btns {
    position: sticky;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 100%;
    background: var(--colorWh);
    border-bottom: solid 1px var(--colorLLgy);
    z-index: 9999;
}
.tabMenu__btns > p {
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 20%;
    height: 52px;
    text-align: center;
    cursor: pointer;
}
.tabMenu__btns > p span {
    margin: 0;
    padding: 0;
    line-height: 1;
    font-size: min(16px, 3.33333333333333vw);
}
.tabMenu__body {
    margin: 0;
    padding: 0;
    padding: 16px;
}
#tabMenu__lamp {
    width: 20%;
    height: 2px;
    background: var(--colorBl);
    display: block;
    position: absolute;
    top: 50px;
    transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
}
.tabMenu__body--1 { left: 0; }
.tabMenu__body--2 { left: 20%; }
.tabMenu__body--3 { left: 40%; }
.tabMenu__body--4 { left: 60%; }
.tabMenu__body--5 { left: 80%; }

.tabMenu__body--1,
.tabMenu__body--2,
.tabMenu__body--3,
.tabMenu__body--4,
.tabMenu__body--5 {
    transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    -webkit-transition: all .3s ease-in;
    -moz-transition: all .3s ease-in;
}





/* -------------------- */
/* モーダル */
.modal00 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 90vh;
    width: 100%;
    z-index: 99999999;
}
.modal00-bg {
    position: absolute;
    height: 100vh;
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
}
.modal00-close {
    margin: 0 auto;
    padding: 0;
    text-align: center
}
.modal00-close span {
}
.modal00-close-fixed {
    position: fixed;
    top: 3%;
    right: 2%;
    margin: 0;
    padding: 0;
    z-index: 99999999;
}
.modal00-close-fixed span {
    display: inline-block;
    vertical-align: middle;
    width: 60px;
    height: 1px;
    background: var(--colorWh);
    position: relative;
    transform: rotate(45deg);
}
.modal00-close-fixed span::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--colorWh);
    transform: rotate(90deg);
}
body.mdlFixed {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll!important;
}
.modal00-content {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10% auto;
    padding: 16px;
    max-width: 480px;
    height: 90%;
    overflow: auto;
}
@media screen and (min-width: 768px) {
    .unusualCenter {
        margin: 0 auto 0 calc(50% - 140px);
    }
}
.modal00-content .desc-basic {
    margin: 0 auto;
	padding: 16px 16px;
    width: 100%;
    max-height: 100%;
    max-width: 480px;
    text-align: center;
    background: var(--colorWh);
    border-radius:32px;
    overflow: auto;
    z-index: 9;
}
@media screen and (min-width: 768px) {
    .modal00-content .desc-basic {
        padding: 32px 32px;
        max-width: 550px;
    }
}
.modal00-content .desc-basic .closeUR { /* close upper right */
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0 0 8px 0;
    font-size: min(16px, 3.33333333333333vw);
}
.modal00-content .desc-basic .closeUR::before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "Material Icons";
    content: "\e5cd";
    font-size: min(20px, 4.16666666666667vw);
}
.modal00-content .desc-basic .closeBC { /* close bottom center */
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 24px 0 0 0;
    font-size: min(16px, 3.33333333333333vw);
}
.modal00-content .desc-basic .closeBC::before {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: "Material Icons";
    content: "\e5cd";
    font-size: min(20px, 4.16666666666667vw);
}

.modal00-content .desc-basic .titleIcon {
    margin: 0;
    padding: 0;
}

.modal00-content .desc-basic .title {
    margin: 0 0 8px 0;
    padding: 0;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 700;
}
.modal00-content .desc-basic .title.center {
    text-align: center;
}

.modal00-content .desc-basic .lead {
    margin: 0 0 8px 0;
    padding: 0;
    text-align: left;
    font-size: 1.4rem;
}
.modal00-content .desc-basic .lead.center {
    text-align: center;
}

.modal00-content .desc-basic .text {
    margin: 0 0 8px 0;
    padding: 0;
    text-align: left;
    font-size: 1.2rem;
}
.modal00-content .desc-basic .text.center {
    text-align: center;
}




/* --- */
.modal00-content .desc-basic .titleIcon.login::before {
    position: relative;
    display: inline-block;
    padding: 8px;
    color: #FFFFFF;
    font-family: "Material Icons";
    content: "\ea77";
    line-height: 1;
    font-size: 5rem;
    background: #1558d6;
    border-radius: 16px;
}
.modal00-content .desc-basic .titleIcon.nice::before {
    position: relative;
    display: inline-block;
    margin: 0 auto 24px auto;
    padding: 8px;
    color: #FFFFFF;
    font-family: "Material Icons";
    content: "\e87d";
    line-height: 1;
    font-size: 5rem;
    background: #1558d6;
    border-radius: 16px;
}










/* --- */
.mdlShare {
    margin: 0;
    padding: 0;
}
.mdlShare__title {
    margin: 0 0 16px 0;
    font-weight: 600;
    font-size: min(20px, 4.16666666666667vw);
}
.mdlShare__lead {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 16px 0;
    padding: 16px;
    text-align: left;
    background: var(--colorLLLgy);
    border-radius: 8px;
}
.mdlShare__lead--title {
    margin: 0 0 8px 0;
    font-size: min(16px, 3.33333333333333vw);
}
.mdlShare__lead--labeled {
    display: flex;
    align-items: center;
    margin-right: 16px;
    font-size: min(14px, 2.91666666666667vw);
}
.mdlShare__lead--labeled span {
}
.mdlShare__lead--labeled span:first-child {
    margin: 0 4px 0 0;
    padding: 2px 4px;
    font-size: .8em;
    border-radius: 2px
}
.mdlShare__btn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    margin: 0;
    padding: 0 0 8px 0;
}
.mdlShare__btn button {
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: min(14px, 2.91666666666667vw);
}
.mdlShare__btn button img {
    display: block;
    margin: 0 auto 8px auto;
    padding: 0;
    width: 40px;
}





/* -------------------- */
/* 入力エリア */
.inputField {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
}
.inputField.row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.inputField.half > * {
    width: calc(50% - 8px);
}
.inputField.oneThird > * {
    width: calc(33.3333% - 12px);
}

.inputField.unitKara::after {
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translateY(-70%) translateX(-50%);
    content: "〜";
    font-size: 1.2rem;
}

    /* 入力チェック */
    .inputField__check {
        position: relative;
        display: block;
        margin: 0 0 8px 0;
        padding: 16px;
        width: 100%;
        text-align: left;
        font-size: 1.4rem;
        border-bottom: solid 1px var(--colorLLgy);
		white-space: pre-wrap;
		word-break: break-word;
    }
    .inputField__check__child {
        display: block;
        margin: 0 0 8px 0;
        padding: 0 0 0 1em;
        line-height: 1.5;
    }
    .inputField__check__child b {
        display: block;
        margin-left: -1em;
    }
    .inputField__check img {
        width: 125px;
        border-radius: 4px;
    }



/* 学歴・職歴 */
.inputField-career {
    margin: 0 0 32px 0;
    padding: 0;
}
.inputField-career__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 16px 0;
    padding: 0 0 16px 0;
    border-bottom: solid 1px var(--colorLLgy);
}
.inputField-career__item:last-of-type {
    margin: 0 0 0 0;
    border-bottom: 0;
}
.inputField-career__item .selectboxInput {
    margin-bottom: 8px;
    width: calc(50% - 30px);
}
.inputField-career__item .remove {
    position: relative;
    margin-bottom: 8px;
    width: 40px;
    height: 40px;
    border-radius: 4px;
}
.inputField-career__item .remove::after {
    content: "\e644";
    font-family: "Material Icons";
    font-size: 3rem;
}
.inputField-career__item .textareaInput textarea {
    height: 4em;
}
.inputField-career .add {
    margin: 0 0 0 auto;
    width: 50%;
}









/* テキスト */
.textInput {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}
.textInput input {
    position: relative;
    margin: 0;
    padding: 0 1em;
    width: 100%;
    height: 42px;
    font-size: 1.6rem;
    background: var(--colorLLLgy);
    border: solid 1px var(--colorLLLgy);
    border-radius: 4px;
    transition: 0.5s;
}
.textInput input:focus {
    outline: none;
    border: solid 1px var(--colorPri);
}
.textInput input:disabled {
    background: var(--colorLLLgy);
    border: solid 1px var(--colorPri);
    cursor: not-allowed;
}

/* セレクト */
.selectboxInput {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}
.selectboxInput::after {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    font-family: "Material Icons";
    content: "\e5c5";
    font-size: 2rem;
    pointer-events: none;
}
.selectboxInput select {
    margin: 0;
    padding: 0 2em 0 1em;
    width: 100%;
    height: 40px;
    background: var(--colorLLLgy);
    font-size: 1.4rem;
    border-radius: 4px;
}

/* -------------------- */
/* チェックボックス テキスト付き */
.cbTypeA {
    border: none;
    margin-inline: 0;
    padding-block: 0 0;
    padding-inline: 0;
    width: auto;
}
    .cbTypeA.vertical { /* 縦並び */
        display: flex;
        flex-direction: column;
        gap: 1em 2em;
    }
    .cbTypeA.horizontal { /* 横並び */
        display: flex;
        flex-wrap: wrap;
        gap: .5em 1.25em;
    }
.cbTypeA label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    white-space: nowrap;
    position: relative;
    height: 40px;
    cursor: pointer;
}
.cbTypeA label::before,
.cbTypeA label:has(:checked)::after {
    content: '';
    transition: 0.5s;
}
.cbTypeA label::before {
    width: 20px;
    height: 20px;
    border-radius: 2px;
    background: var(--colorLLgy);
}
.cbTypeA label:has(:checked)::before {
    background: var(--colorPri);
}
.cbTypeA label:has(:checked)::after {
    position: absolute;
    top: 13px;
    left: 7px;
    transform: rotate(40deg);
    width: 6px;
    height: 11px;
    border: solid var(--colorWh);
    border-width: 0 2px 2px 0;
}
.cbTypeA label:has(:disabled)::before {
    background: var(--color-inputBgDisabled);
    border: solid 1px var(--color-inputBorderDisabled);
    cursor: not-allowed!important;
}
.cbTypeA label:has(:disabled)::after {
    position: absolute;
    top: 13px;
    left: 7px;
    transform: rotate(40deg);
    width: 6px;
    height: 11px;
    border: solid var(--color-inputColorDisabled);
    border-width: 0 2px 2px 0;
    cursor: not-allowed!important;
}
.cbTypeA input {
    display: none;
}
/* -------------------- */
/* チェックボックスのみ */
.cbTypeB {
    display: inline-block;
    margin-inline: 0;
    padding-block: 0 0;
    padding-inline: 0;
    gap: .5em 2em;
    margin: 0 auto;
    border: none;
}
.cbTypeB label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    white-space: nowrap;
    position: relative;
    cursor: pointer;
}
.cbTypeB label::before,
.cbTypeB label:has(:checked)::after {
    content: '';
    transition: 0.5s;
}
.cbTypeB label::before {
    width: 20px;
    height: 20px;
    border-radius: 2px;
    background: var(--colorLLgy);
}
.cbTypeB label:has(:checked)::before {
    background: var(--colorPri);
}
.cbTypeB label:has(:checked)::after {
    position: absolute;
    top: 3px;
    left: 7px;
    transform: rotate(40deg);
    width: 6px;
    height: 11px;
    border: solid var(--colorWh);
    border-width: 0 2px 2px 0;
}
.cbTypeB label:has(:disabled)::before {
    background: var(--colorLLLgy);
    border: solid 1px var(--color-inputBorderDisabled);
    cursor: default!important;
}
.cbTypeB label:has(:disabled)::after {
    position: absolute;
    top: 3px;
    left: 7px;
    transform: rotate(40deg);
    width: 6px;
    height: 11px;
    border: solid var(--color-inputColorDisabled);
    border-width: 0 2px 2px 0;
    cursor: default!important;
}
.cbTypeB input {
    display: none;
}


/* -------------------- */
/* チェックボックスボタンタイプ */
.cbTypeC {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 9px;
    padding: 0;
    width: 100%;
}
.cbTypeC label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(33.3333% - 6px);
    height: 46px;
    margin: 0 0 8px 0;
    padding: 0 8px;
    text-align: center;
    font-size: min(16px, 14px);
    border: 1px solid var(--colorLLgy);
    border-radius: 8px;
    cursor: pointer;
}
.cbTypeC.div4 label {
    width: calc(25% - 7px);
}
.cbTypeC label:has(:checked) {
    background: var(--colorBl);
    color: var(--colorWh);
}
.cbTypeC input {
    display: none;
}




/* -------------------- */
/* ラジオボタン */
.radioTypeA {
    border: none;
    margin-inline: 0;
    padding-block: 0 0;
    padding-inline: 0;
    width: auto;
}
    .radioTypeA.vertical { /* 縦並び */
        display: flex;
        flex-direction: column;
        gap: 1em 2em;
    }
    .radioTypeA.horizontal { /* 横並び */
        display: flex;
        flex-wrap: wrap;
        gap: .5em 1.25em;
    }

.radioTypeA label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    height: 40px;
    cursor: pointer;
}
.radioTypeA label::before,
.radioTypeA label:has(:checked)::after {
    border-radius: 50%;
    content: '';
}
.radioTypeA label::before {
    width: 22px;
    height: 22px;
    background: var(--colorLLgy);
}
.radioTypeA label:has(:checked)::after {
    position: absolute;
    top: 50%;
    left: 11px;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    background: var(--colorPri);
    animation: anim-radio-1 .3s linear;
}
.radioTypeA label:has(:disabled)::before {
    background: var(--color-inputBgDisabled);
    border: solid 1px var(--color-disabledBorder);
    cursor: not-allowed;
}
.radioTypeA label:has(:disabled)::after {
    position: absolute;
    top: 50%;
    left: 11px;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    background: var(--color-inputColorDisabled);
    animation: anim-radio-1 .3s linear;
    cursor: not-allowed;
}
@keyframes anim-radio-1 {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px  var(--color-lgy);
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}
.radioTypeA input {
    display: none;
}


/* テキスト(文章)入力エリア */
.textareaInput {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}
.textareaInput textarea {
    display: block;
    margin: 0;
    padding: .5em;
    width: 100%;
    height: 100px;
    background: var(--colorLLLgy);
    font-size: 1.6rem;
    line-height: 1.5;
    border-radius: 4px;
    transition: 0.5s;
}
.textareaInput textarea:focus {
    outline: none;
    border: solid 1px var(--color-btn);
}


/* アップローダー */
.ddUploader {
    margin: 0;
    padding: 0;
    background: var(--colorLLLgy);
    border-radius: 4px;
}
.ddUploader label {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: center;
}
.ddUploader label::after {
    display: block;
    content: 'こちらをクリック、タップまたはドラッグ＆ドロップにて\A顔写真（画像ファイル）を添付してください。';
    white-space: pre;
    line-height: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: 0 auto;
    width: 100%;
    font-size: min(16px, 3.33333333333333vw);
}
.ddUploader label::before {
    display: block;
    white-space: pre;
    line-height: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    content: "\e2c3";
    font-family: "Material Icons";
    margin: 0 auto;
    width: 100%;
    color: var(--colorLgy);
    font-size: 7.5rem;
}
.ddUploader label:hover {
    cursor: pointer;
}
.ddUploader label input {
    display: none;
}
.ddUploader__previewArea {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 150px;
    text-align: center;
}
.ddUploader__previewArea img {
    height: 100px;
    z-index: 9;
    border-radius: 4px;
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
}


/* インプット・セレクト・テキストエリアのアッパーとローワー テキスト */
.inputField__upper {
    position: relative;
    display: block;
    margin: 0 0 8px 0;
    padding: 0;
    width: 100%;
    color: var(--colorGy);
    text-align: left;
    font-weight: 500;
    font-size: 1.4rem;
}
.inputField__upper .req { /*必須*/
    position: relative;
    top: -1px;
    margin: 0 0 0 8px;
    padding: 1px 4px 2px 4px;
    color: var(--colorWh);
    font-size: 1rem;
    background: var(--colorRd);
    border-radius: 2px
}
.inputField__upper .any { /*任意*/
    position: relative;
    top: -1px;
    margin: 0 0 0 8px;
    padding: 1px 4px 2px 4px;
    color: var(--colorWh);
    font-size: 1rem;
    background: #00879E;
    border-radius: 2px
}
.inputField__upper .expl { /*補足*/
    display: block;
    position: relative;
    top: -1px;
    margin: 8px 0 0 0;
    padding: 0;
    color: var(--colorTxtBase);
    font-size: 1.2rem;
    font-weight: 300;
}
.inputField__upper.error { /*エラーMSG*/
    margin: 8px 0 8px 0;
    color: var(--colorRd);
}

.inputField__lower {
    display: block;
    margin: 6px 0 0 2px;
    padding: 0;
    width: 100%;
    color: var(--colorGy);
    text-align: left;
    font-size: 1.2rem;
}
.inputField__lower.error { /*エラーMSG*/
    margin: 6px 0 0 2px;
    color: var(--colorRd);
    font-size: 1.2rem;
}
.inputField__lower.error::before {
    position: relative;
    top: 2.5px;
    content: "\e001";
    font-family: "Material Icons";
    font-size: 1.2em;
    animation: blink .75s ease-in-out infinite alternate;
}
@keyframes blink{
    0% { opacity: 0; }
    100% { opacity: 1; }
}
.inputField__lowerExplBtn {
    display: flex;
    align-items: center;
    display: block;
    margin: 16px 0 0 0;
    padding: 0;
    width: 100%;
    text-align: center;
    font-size: 1.2rem;
}
.inputField__lowerExplBtn .clear {
    margin: 0 8px;
    color: var(--colorBl);
    font-size: 1.2rem;
    text-decoration: underline;
}
.inputField__lowerExplBtn .back {
    margin: 0 8px;
    color: var(--colorBl);
    font-size: 1.2rem;
    text-decoration: underline;
}



/* アラート */
.alert {
    margin: 0 0 24px 0;
    padding: 16px;
    border-radius: 8px;
}
.alert.warning {
    color: #913175;
    background: #91317533;
}
.alert > p {
    display: inline-block;
    vertical-align: text-top;
}




/* --- */
.numInputWrapper span {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 9999;
}
.numInputWrapper {
    position: relative;
    top: -1px;;
    margin-right: 12px;
}
.numInputWrapper .arrowUp,
.numInputWrapper .arrowDown {
    position: absolute;
    right: -7px;
}




/* -------------------- */
.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 52px;
    line-height: 1;
    transition: 0.5s;
    cursor: pointer;
}
.btn.thin {
    height: 38px;
    border-radius: 8px !important;
}
.btn.thinner {
    height: 30px;
}
.btn.thinnest {
    height: 26px;
}
.btn.round {
    border-radius: 50px;
}
.btn .btnText {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 1em;
    white-space: nowrap;
}
.btn .btnText.fwB {
    font-weight: 600;
}

.btn .btnText.nice::before {
    font-family: "Material Icons";
    content: "\e87d";
    font-size: 1.75rem;
}


/* --------- */
#loading ,
#loading2 ,
#loading3 ,
#loading-logout {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    height: 100%;
    display: none;
    background: #FFFFFFE6;
    z-index: 99999999;
}
.loading__inner {
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex;
}
.loading__inner--spinner {
    width: 100px;
    height: 100px;
    border: 5px solid #ddd;
    border-top: 5px solid #FFFFFF00;
    border-radius: 50%;
    animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}
/* --------- */
.loadingCompleteMsg ,
.loadingCompleteMsg2 ,
.loadingCompleteMsg3 {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
    z-index: 99999999999999999999;
}
.loadingCompleteMsg__msg {
    display: inline-block;
    margin: 0 24px;
    padding: 32px;
    width: auto;
    text-align: center;
    background: #00000080;
    border-radius: 5px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    color: #FFFFFF;
    font-size: 1.75rem;
}


/* -------------------- */
.iconSQ {
    display: block;
    border-radius: 3px;
}
.iconRD {
    display: block;
    border-radius: 50%;
}




/* --- */
.material-icons {
  vertical-align: middle;
}
/* --- */
.disabled {
    pointer-events: none;
    opacity: .3;
}
/* --- */
.active {
    pointer-events: auto;
    opacity: 1;
}
/* --- */
.bdr8 { border-radius: 8px; }
.bdr16 { border-radius: 16px; }
.bdr24 { border-radius: 24px; }

/* --- */
.bdrTcolGy { border-top: solid 1px #8A8A8A; }
.bdrBcolGy { border-bottom: solid 1px #8A8A8A; }

/* --- */
.dividerLineLgr {
    margin: 0;
    padding: 0;
    border-top: solid 1px #C0C0C0;
}



/* -------------------- */
.mgT0 { margin-top: 0; }
.mgT8 { margin-top: 8px; }
.mgT16 { margin-top: 16px; }
.mgT24 { margin-top: 24px; }
.mgT32 { margin-top: 32px; }
.mgT40 { margin-top: 40px; }

.mgB0 { margin-bottom: 0!important; }
.mgB8 { margin-bottom: 8px!important; }
.mgB16 { margin-bottom: 16px!important; }
.mgB24 { margin-bottom: 24px!important; }
.mgB32 { margin-bottom: 32px!important; }
.mgB40 { margin-bottom: 40px!important; }
.mgB48 { margin-bottom: 48px!important; }

/* -------------------- */
.pdT0 { padding-top: 0; }
.pdT8 { padding-top: 8px; }
.pdT16 { padding-top: 16px; }
.pdT24 { padding-top: 24px; }

.pdR0 { padding-right: 0; }
.pdR8 { padding-right: 8px; }
.pdR16 { padding-right: 16px; }
.pdR24 { padding-right: 24px; }

.pdL0 { padding-left: 0; }
.pdL8 { padding-left: 8px; }
.pdL16 { padding-left: 16px; }
.pdL24 { padding-left: 24px; }

.pdB0 { padding-bottom: 0; }
.pdB8 { padding-bottom: 8px; }
.pdB16 { padding-bottom: 16px; }
.pdB24 { padding-bottom: 24px; }

/* -------------------- */
.w10per { width: 10%; }
.w20per { width: 20%; }
.w25per { width: 25%; }
.w30per { width: 30%; }
.w40per { width: 40%; }
.w50per { width: 50%; }
.w60per { width: 60%; }
.w65per { width: 65%; }
.w70per { width: 70%; }
.w75per { width: 75%; }
.w80per { width: 80%; }
.w90per { width: 90%; }
.w100per { width: 100%!important; }

/* -------------------- */
.fsXXS { font-size: min(10px, 2.08333333333333vw);}
.fsXS { font-size: min(12px, 2.5vw);}
.fsS { font-size: min(14px, 2.91666666666667vw);}
.fsBASE { font-size: min(16px, 3.33333333333333vw);}
.fsM { font-size: min(18px, 3.75vw);}
.fsL { font-size: min(20px, 4.16666666666667vw);}
.fsXL { font-size: min(22px, 4.58333333333333vw);}
.fsXXL { font-size: min(24px, 5vw);}

/* -------------------- */
.cPri { color: var(--colorPri); }/* プライマリーブルー */
.cSec { color: var(--colorSec); }/* 紫かかったブルー */
.cSub { color: var(--colorSub); }
.cWh { color: var(--colorWh); }/* 白 */
.cBk { color: var(--colorBk); }/* 黒 */
.cBl { color: var(--colorBl); }/* ブルー */
.cDpk { color: var(--colorDpk); }/* 濃いピンク */
.cRd { color: var(--colorRd); }/* レッド */
.cDDgy { color: var(--colorDDgy); }/* もっと濃いグレー */
.cDgy { color: var(--colorDgy); }/* 濃いグレー */
.cGy { color: var(--colorGy); }/* グレー */
.cLgy { color: var(--colorLgy); }/* 薄いグレー */
.cLLgy { color: var(--colorLLgy); }/* もっと薄いグレー */
.cLLLgy { color: var(--colorLLLgy); }/* もっともっと薄いグレー */

/* -------------------- */
.bgPri { background: var(--colorPri)!important; }/* プライマリーブルー */
.bgSec { background: var(--colorSec)!important; }/* 紫かかったブルー */
.bgSub { background: var(--colorSub)!important; }
.bgWh { background: var(--colorWh)!important; }/* 白 */
.bgBk { background: var(--colorBk)!important; }/* 黒 */
.bgBl { background: var(--colorBl)!important; }/* ブルー */
.bgDpk { background: var(--colorDpk)!important; }/* 濃いピンク */
.bgRd { background: var(--colorRd)!important; }/* レッド */
.bgDDgy { background: var(--colorDDgy)!important; }/* もっと濃いグレー */
.bgDgy { background: var(--colorDgy)!important; }/* 濃いグレー */
.bgGy { background: var(--colorGy)!important; }/* グレー */
.bgLgy { background: var(--colorLgy)!important; }/* 薄いグレー */
.bgLLgy { background: var(--colorLLgy)!important; }/* もっと薄いグレー */
.bgLLLgy { background: var(--colorLLLgy)!important; }/* もっともっと薄いグレー */

.bgPriGr { background: linear-gradient(to bottom right, var(--colorPri), var(--colorSec))!important; }/* プライマリグラデ */









/* -------------------- */
/* パーツ */
.parts {
    padding: 32px!important;
}
.parts > * {
    margin: 0 0 16px 0!important;
}


/* アラート */
.alert {
    margin: 0;
    padding: 16px;
    border-radius: 16px;
}
.alert p {
    display: inline-block;
    vertical-align: text-top;
}
.alert-success {
    color: #27548A;
    background: #27548A33;
}
.alert-warning {
    color: #913175;
    background: #91317533;
}
.alert-notice {
    color: #47A992;
    background: #47A99233;
}


.time-scroll {
    display: flex;
    overflow-x: auto;
    padding: 0;
    gap: 16px;
    align-items: flex-start;          /* ラベル自身で縦中央にするのでここはそのまま */
    position: relative;
    -webkit-overflow-scrolling: touch; /* iOSでの慣性スクロール */
}

/* WebKit系のスクロールバー完全非表示 */
.time-scroll::-webkit-scrollbar { width:0; height:0; display:none; }
.time-scroll::-webkit-scrollbar-thumb { display:none; }
.time-scroll::-webkit-scrollbar-track { display:none; }

.time-group {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

/* ラベルを縦中央寄せにする */
.time-day-label {
    z-index: 1;
    color: white;
    font-weight: bold;
    padding: 3px 12px;
    margin: 3px 0;
    white-space: nowrap;
    font-size: 14px;
    flex-shrink: 0;
    text-align: center;

    display: flex;                 /* ← 追加 */
    flex-direction: column;        /* ← 追加（縦並び） */
    justify-content: center;       /* ← 追加（縦方向中央） */
    align-items: center;           /* ← 追加（横方向中央） */
    gap: 2px;                      /* 「本日」行と日付行の隙間 */
    min-height: 40px;              /* 行の高さ。必要に応じて調整 */
    line-height: 1.2;
}

/* ラベルが空のとき（本日/明日でない日）は1行だけ表示 */
.time-day-label span:first-child:empty {
    display: none;
}

/* Blade側で <br> を残していても崩れないように非表示にする（任意） */
.time-day-label br { display: none; }

.time-item {
    flex: 0 0 auto;
    padding: 3px 16px;
    background-color: gray;
    border-radius: 4px;
    white-space: nowrap;
    font-size: 14px;
}

table.treatment-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
}

.treatment-table th, .treatment-table td {
	border: 1px solid #ccc;
	padding: 8px 12px;
	text-align: left;
}

.treatment-table th {
	background-color: #f4f4f4;
	text-align: center;
	font-size: min(16px, 3vw);

}
.treatment-table tr {
	font-size: min(14px, 2.8vw);

}


.treatment-table tr:nth-child(even) {
	background-color: #fafafa;
}

.truncate-text {
	display: inline-block;
	width: 80%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: bottom;
	padding-left: 20px;      
}
