@charset "utf-8";

/* ----------------------------------------------
    reset
---------------------------------------------- */
*, ::before, ::after {
	box-sizing: border-box;
	border-width: 0;
	border-style: solid;
}
html {
	/*line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;*/
}
body {
	margin: 0;
}
main {
	display: block;
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
	margin: 0;
} 
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
dd {
	margin-left: 0;
}
hr {
	height: 0;
	margin: 0;
	color: inherit;
	border-top-width: 1px;
	box-sizing: content-box;
	clear: both;
	overflow: visible;
}
pre {
	font-size: inherit;
	font-family: monospace, monospace;
}
address {
	font-style: inherit;
}
a {
	color: inherit;
	word-break: break-all;
	text-decoration: none;
	background-color: transparent;
}
abbr[title] {
	text-decoration: underline dotted;
}
b, strong {
	font-weight: bolder;
}
code, kbd, samp {
	font-size: inherit;
	font-family: monospace, monospace;
}
small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
svg, img, embed, object, iframe {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
button, input, optgroup, select, textarea {
	margin: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border-radius: 0;
	font: inherit;
	text-align: inherit;
	text-transform: inherit;
	vertical-align: middle;
	appearance: none;
	-webkit-appearance: none;
}
button, [type="button"], [type="reset"], [type="submit"] {
	cursor: pointer;
}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {
	cursor: default;
}
:-moz-focusring {
	outline: auto;
}
select:disabled {
	opacity: inherit;
}
option {
	padding: 0;
}
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}
legend {
	padding: 0;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}
[type="number"] {
	/*-moz-appearance: textfield;*/
}
label[for] {
	cursor: pointer;
}
details {
	display: block;
}
summary {
	display: list-item;
}
[contenteditable]:focus {
	outline: auto;
}
table {
	border-color: inherit;
	border-collapse: collapse;
}
caption {
	text-align: left;
}
td, th {
	padding: 0;
	font-weight: 500;
    text-align: left;
	vertical-align: top;
}
i {
    display: flex;
}

/* ----------------------------------------------
    base
---------------------------------------------- */
:root {
	--color-Black: #111827;
	--color-GrayP: #f9fafb;
	--color-GrayL: #e5e7eb;
	--color-GrayM: #6b7280;
	--color-GrayB: #3a3e45;
	--color-Green: #34a251;
	--color-Blue:  #2d60c1;
	--color-Red:   #e53935;
	--color-Grada: linear-gradient(0deg, #69D953 0%, #A2E637 50%, #6EE7B6 100%);
	--font-Sans:   "Noto Sans JP", sans-serif;
}
html {
	font-size: 62.5%;
    scroll-behavior: smooth;
    touch-action: manipulation;
}
body {
	color: var(--color-Black);
    background: var(--color-GrayP);
	font: 500 1.6rem / 1.75 var(--font-Sans);
	font-feature-settings: "path";
}
#wrap {
	width: 100%;
    max-width: 1920px;
    margin: 0 auto;
	padding: 90px 0 0;
    overflow: hidden;
}
@media (hover: hover) {
	a {
		transition: opacity ease .3s;
	}
	a:hover {
		opacity: .6;
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.4rem;
	}
	#wrap {
	    padding: 30px 0 0;
	}
}
/* ------------------------------------------- */
.w-90 {
	width: 90%;
}
.w-100 {
	width: 100%;
}
.max-w-200 {
	max-width: 200px;
}
.max-w-330 {
	max-width: 330px;
}
.max-w-370 {
	max-width: 370px;
}
.max-w-720 {
	max-width: 720px;
}
.max-w-900 {
	max-width: 900px;
}
.max-w-1160 {
	max-width: 1160px;
}
.mx-auto {
	margin-left: auto;
	margin-right: auto;
}
.mb-1 {
	margin-bottom: 1em;
}
.mb-2 {
	margin-bottom: 2em;
}
.mb-3 {
	margin-bottom: 3em;
}
.pt-4 {
	padding-top: 4em;
}
.pb-4 {
	padding-bottom: 4em;
}
.text-12 {
	font-size: 1.2rem;
}
.text-14 {
	font-size: 1.4rem;
}
.text-18 {
	font-size: 1.8rem;
}
.text-20 {
	font-size: 2.0rem;
}
.text-24 {
	font-size: 2.4rem;
}
.text-28 {
	font-size: 2.8rem;
}
.text-32 {
	font-size: 3.2rem;
}
.text-white {
	color: #fff;
}
.text-gray {
	color: var(--color-GrayM);
}
.text-green {
	color: var(--color-Green);
}
.text-blue {
	color: var(--color-Blue);
}
.back-white {
	background: #fff;
}
.back-blue {
	background: var(--color-Blue);
}
.back-grayp {
	background: var(--color-GrayP);
}
.back-grayl {
	background: var(--color-GrayL);
}
.back-graym {
	background: var(--color-GrayM);
}
.back-grayb {
	background: var(--color-GrayB);
}
.back-black {
	background: var(--color-Black);
}
.back-green {
	background: var(--color-Green);
}
.back-red {
	background: var(--color-Red);
}
.back-grada {
	background: var(--color-Grada);
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.fw-700 {
    font-weight: 700;
}
.pos-relative {
	position: relative;
}
@media screen and (max-width: 768px) {
	.text-12-sm {
		font-size: 1.2rem;
	}
	.text-14-sm {
		font-size: 1.4rem;
	}
	.text-16-sm {
		font-size: 1.6rem;
	}
	.text-18-sm {
		font-size: 1.8rem;
	}
	.text-24-sm {
		font-size: 2.4rem;
	}
}
/* ------------------------------------------- */
.title01 {
    display: flex;
    gap: .5em;
    align-items: center;
}
.title01:not(:has(.text-green)) i {
    filter: grayscale(1) brightness(.3);
}
.title01.center {
    justify-content: center;
}
.title02 {
    padding: 0 0 .5em;
    border-bottom: 1px solid;
}
/* ------------------------------------------- */
.btn01 {
    width: 100%;
	display: grid;
    gap: 1em;
    place-items: center;
}
.btn01 a {
    width: 100%;
    height: 60px;
    border-radius: .3em;
    display: flex;
    gap: .3em;
    align-items: center;
    justify-content: center;
}
.btn01 a .white {
    filter: grayscale(1) brightness(5);
}
.btn01 a.border {
    border: 1px solid;
}
.btn02 a {
    width: fit-content;
    padding: .3em 2em;
    border-radius: 100vmax;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px) {
	.btn01 a {
	    height: 50px;
	}
}
/* ------------------------------------------- */
.box-shadow {
	padding-left: 3em;
	padding-right: 3em;
	background: #fff;
	border-radius: .3em;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
}
@media screen and (max-width: 768px) {
	.box-shadow {
		padding-left: 1.5em;
		padding-right: 1.5em;
	}
}
/* ------------------------------------------- */
@media screen and (min-width: 769px) {
	.desk-hidden {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.mobile-hidden {
		display: none !important;
	}
}

/* ----------------------------------------------
    header
---------------------------------------------- */
#header header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
#header header .head {
	width: calc(100% - 240px);
    height: 90px;
    margin: 0 0 0 auto;
    padding: 0 1.5em;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
    display: flex;
    gap: .5em;
    align-items: center;
    justify-content: space-between;
}
#header header .head .menu {
    display: flex;
    gap: 1.5em;
    align-items: center;
}
#header header .head .menu .language {
    display: flex;
    align-items: center;
}
#header header .head .menu .language::after {
    content: "";
    width: .5em;
    aspect-ratio: 1;
    border-bottom: 2px solid var(--color-GrayM);
    border-right: 2px solid var(--color-GrayM);
    position: absolute;
    right: 1em;
    transform: rotate(45deg);
}
#header header .head .menu .language select {
    width: 180px;
    height: 40px;
    padding: 0 1em;
    border: 1px solid var(--color-GrayL);
    border-radius: .3em;
}
#header header .head .menu .notice a i img {
    filter: grayscale(1);
}
#header header .head .menu .user a .icon {
    width: 40px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
}
#header header .head .menu .user a .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#header header .gnav {
    width: 90%;
    max-width: 240px;
    height: 100dvh;
	overflow-y: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
#header header .gnav::-webkit-scrollbar {
	display: none;
}
#header header .gnav nav {
    padding: 2.5em 1.5em;
}
#header header .gnav nav .post a {
    width: 100%;
    height: 50px;
    border-radius: .3em;
    display: flex;
    gap: .5em;
    align-items: center;
    justify-content: center;
}
#header header .gnav nav .menu ul {
    padding: 1em 0;
    border-top: 1px solid;
}
#header header .gnav nav .menu ul:last-of-type {
    border-bottom: 1px solid;
}
#header header .gnav nav .menu ul li a {
    padding: .5em 1em;
    display: flex;
    gap: .5em;
    align-items: center;
}
#header header .gnav nav .menu ul li a:not(:has(i)) {
    padding: .3em 1em;
}
#header header .gnav nav .menu ul li a i img {
    filter: grayscale(1) brightness(5);
}
#header header .gnav nav .menu ul li a:not(:has(i)) span {
    font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
	#header header {
	    position: static;
	}
	#header header .head {
        width: 100%;
        height: 50px;
        padding: 0 1.5em;
        background: none;
        box-shadow: none;
        border-bottom: 1px solid var(--color-GrayL);
        justify-content: flex-end;
        transition: transform 0.3s ease, opacity 0.3s ease;
	}
	#header header .head.hidden {
		transform: translateY(-100%);
		opacity: 0;
	}
	#header header .head .title {
	    width: 100%;
	    height: 30px;
	    padding: 0 1.5em;
	    background: #fff;
	    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
	    display: flex;
	    align-items: center;
	    position: fixed;
	    top: 0;
	    left: 0;
	    z-index: 9999;
	}
	#header header .head .title img {
	    width: auto;
	    height: 15px;
	}
	#header header .head .menu {
	    gap: 1em;
	}
	#header header .head .menu .language select {
	    width: 140px;
	    height: 30px;
	}
	#header header .head .menu .user a .icon {
	    width: 30px;
	}
	#header header .inner .hamburger {
        height: 70px;
        aspect-ratio: 1;
        border: none;
        cursor: pointer;
        display: flex;
        gap: 8px;
        flex-shrink: 0;
        align-items: center;
        box-shadow: 0 2px 8px 0 rgb(99 99 99 / 20%);
        flex-direction: column;
        justify-content: center;
        position: fixed;
        left: 1em;
        bottom: 1em;
        z-index: 2;
        border-radius: 100vmax;
    }
	#header header .inner .hamburger .bar {
	    width: 30px;
	    height: 3px;
	    background: #fff;
	    border-radius: 100vmax;
	    display: block;
	    transition: transform 0.3s ease, opacity 0.3s ease;
	}
	#header header .inner .hamburger.open .bar:nth-child(1) {
	    transform: rotate(45deg) translate(8px, 8px);
	}
	#header header .inner .hamburger.open .bar:nth-child(2) {
	    opacity: 0;
	}
	#header header .inner .hamburger.open .bar:nth-child(3) {
	    transform: rotate(-45deg) translate(8px, -8px);
	}
	#header header .gnav {
		width: calc(100% - 2em - 70px);
		max-width: initial;
		left: auto;
        right: 0;
	    transform: translateX(100%);
	    transition: transform 0.3s ease, opacity 0.3s ease;
	}
	#header header .gnav.open {
	    transform: translateX(0);
	}
}

/* ----------------------------------------------
    main
---------------------------------------------- */
#main {
    width: calc(100% - 240px);
    margin: 0 0 0 auto;
    padding: 3em 3em 8em;
}
@media screen and (max-width: 768px) {
	#main {
	    width: 100%;
	    padding: 2em 1.5em 8em;
	}
}

/* ----------------------------------------------
    footer
---------------------------------------------- */
#footer {
}

/* ----------------------------------------------
    form
---------------------------------------------- */
form dl {
    display: grid;
    gap: 1em;
}
form dl > div {
    display: grid;
    gap: .3em;
}
form dl > div dt {
    width: 100%;
    max-width: 300px;
    display: flex;
    gap: .5em;
    flex-shrink: 0;
    align-items: center;
}
form dl div dt .required {
    padding: .3em .5em;
    color: #fff;
    background: var(--color-Red);
    border-radius: 100vmax;
    font-size: 1.2rem;
    line-height: 1;
}
form dl > div dd {
	width: 100%;
    display: grid;
    gap: .3em;
}
/* ------------------------------------------- */
form.layout dl {
	margin-top: .5em;
    display: grid;
    gap: 0;
}
form.layout dl > div {
    padding: 2em 0;
    border-bottom: 1px solid var(--color-GrayL);
    display: flex;
}
form.layout dl > div:last-child {
    border-bottom: none;
}
@media screen and (max-width: 768px) {
	form.layout dl > div {
	    flex-direction: column;
	}
}
/* ------------------------------------------- */
form :is(input, select, textarea) {
    width: 100%;
    max-width: 400px;
    height: 45px;
    padding: .2em 1em;
    background: #fff;
	border: 1px solid var(--color-GrayL);
    border-radius: .3em;
    cursor: pointer;
}
:is(#profile, #post) form :is(input, select, textarea) {
    background: var(--color-GrayP);
}
form textarea {
    min-height: 180px;
}
form input:focus-visible,
form select:focus-visible,
form textarea:focus-visible {
    outline: none;
    border: 1px solid var(--color-GrayB);
}
form input::placeholder,
form select::placeholder,
form textarea::placeholder {
	color: var(--color-GrayM);
	opacity: .5;
}
form input[type="file"] {
    height: auto;
    padding: 0;
    background: none !important;
    border: none;
}
form .date {
	display: grid;
    gap: .5em;
    align-items: center;
    grid-template-columns: 1.5fr 1fr 1fr;
}
form .address {
    width: 100%;
    max-width: 600px;
    display: grid;
    gap: .5em;
}
form .address input {
    max-width: 100%;
}
form .select {
	width: 100%;
	display: flex;
    align-items: center;
    position: relative;
}
form .select::after {
    content: "";
    width: .4em;
    aspect-ratio: 1;
    border-right: 1px solid var(--color-GrayM);
    border-bottom: 1px solid var(--color-GrayM);
    position: absolute;
    right: 1em;
    transform: rotate(45deg);
    pointer-events: none;
}
form .select select {
    padding-right: 2.5em;
}
form .pass {
    display: flex;
    align-items: center;
}
form .pass .eye {
    display: flex;
    align-items: center;
    filter: grayscale(1) brightness(1);
    position: absolute;
    right: 1em;
    z-index: 1;
}
form .check,
form .radio {
    display: flex;
    gap: .5em 1.5em;
    flex-wrap: wrap;
}
form .check li input[type="checkbox"],
form .radio li input[type="radio"] {
	display: none;
}
form .check li label,
form .radio li label {
	display: flex;
	gap: 0 .3em;
    align-items: center;
	cursor: pointer;
}
form .check li label span,
form .radio li label span {
	width: 1.3em;
    aspect-ratio: 1;
	background: var(--color-GrayP);
    border: 1px solid var(--color-GrayL);
    display: grid;
    flex-shrink: 0;
    place-items: center;
    transition: border 0.2s linear;
    -webkit-transition: border 0.2s linear;
	transition: background 0.2s linear;
	-webkit-transition: background 0.2s linear;
}
form .radio li label span {
	border-radius: 100vmax;
}
form .check li label span::before,
form .radio li label span::before {
    content: "";
    width: .5em;
    aspect-ratio: 7 / 10;
    margin: 0 0 .2em;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: opacity 0.2s linear;
    -webkit-transition: opacity 0.2s linear;
    opacity: 0;
}
form .radio li label span::before {
    aspect-ratio: 1;
    margin: 0;
    background: #fff;
    border-right: none;
    border-bottom: none;
	border-radius: 100vmax;
    transform: rotate(0deg) translate(0);
    -ms-transform: rotate(0deg) translate(0);
    -webkit-transform: rotate(0deg) translate(0);
    transition: opacity 0.2s linear;
    -webkit-transition: opacity 0.2s linear;
    opacity: 0;
}
form .check li input:checked + label span,
form .radio li input:checked + label span {
	background: var(--color-Green);
	border-color: var(--color-Green);
}
form .check li input:checked + label span::before,
form .radio li input:checked + label span::before {
	opacity: 1.0;
}
form .agree .check {
    width: fit-content;
    margin: 0 auto;
    gap: 1em;
    flex-direction: column;
}
form .submit {
    display: grid;
    gap: 1em;
}
form .submit :is(a, button) {
    width: 100%;
    height: 60px;
    border-radius: .3em;
	display: flex;
    gap: .5em;
    align-items: center;
    justify-content: center;
}
form .submit .border {
    border: 1px solid;
}
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    home
---------------------------------------------- */
#home :is(#wrap, #main) {
    width: 100%;
    padding: 0;
}
#home .sec01 .inner .box {
    min-height: 100dvh;
    padding: 3em 1.5em;
    display: grid;
    place-items: center;
    align-content: center;
}
#home .sec01 .inner .box .tag ul {
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
#home .sec01 .inner .box .tag ul li {
    padding: 0 1em;
    border: 2px solid;
    border-radius: 100vmax;
}
#home .sec01 .inner .box .btn01 a.signup {
    background: rgb(255 255 255 / 20%);
    border: 1px solid rgb(255 255 255 / 30%);
}
@media screen and (max-width: 768px) {
	#home .sec01 .inner .box .logo {
	    width: 100%;
	}
	#home .sec01 .inner .box .logo h1 img {
	    width: 80%;
	    max-width: 260px;
	}
}

/* ----------------------------------------------
    login
---------------------------------------------- */
#login :is(#wrap, #main) {
    width: 100%;
    padding: 0;
}
#login .sec01 .inner .box {
    min-height: 100dvh;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
#login .sec01 .inner .box .item {
    padding: 3em 1.5em;
    display: grid;
    place-items: center;
    align-content: center;
}
#login .sec01 .inner .box .item.left .logo h2 {
    display: grid;
    gap: 1em;
}
#login .sec01 .inner .box .item.left .logo h2 .text {
    display: flex;
    gap: .3em;
    align-items: center;
    justify-content: center;
}
#login .sec01 .inner .box .item.left .logo h2 .text::before,
#login .sec01 .inner .box .item.left .logo h2 .text::after {
    content: "";
    width: .6em;
    height: 3px;
    background: #fff;
}
#login .sec01 .inner .box .item.right .title h2 {
    line-height: 1.4;
    display: grid;
}
#login .sec01 .inner .box .item.right form .submit :is(a, button) {
    height: 45px;
}
#login .sec01 .inner .box .item.right .link ul {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
#login .sec01 .inner .box .item.right .link ul li {
    display: flex;
    gap: 1em;
}
#login .sec01 .inner .box .item.right .link ul li:not(:last-child)::after {
    content: "｜";
}
#login .sec01 .inner .box .item.right .link ul li a {
    opacity: .8;
    text-decoration: underline;
    text-underline-offset: .15em;
}
@media screen and (max-width: 768px) {
	#login .sec01 .inner .box {
	    grid-template-columns: 1fr;
	}
	#login .sec01 .inner .box .item {
	    padding: 2em 1.5em;
	}
	#login .sec01 .inner .box .item.left .logo {
	    width: 100%;
	}
	#login .sec01 .inner .box .item.left .logo h2 .img img {
	    width: 50%;
	    max-width: 160px;
	}
	#login .sec01 .inner .box .item.left .logo h2 .text::before,
	#login .sec01 .inner .box .item.left .logo h2 .text::after {
	    height: 2px;
	}
}

/* ----------------------------------------------
    account
---------------------------------------------- */
#account .sec01 .inner .box {
    display: flex;
    gap: 3em;
    flex-direction: column;
}
#account .sec01 .inner .box .header {
    width: 100%;
    height: 400px;
}
#account .sec01 .inner .box .header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#account .sec01 .inner .box .deta {
    display: flex;
    gap: 2em;
    align-items: center;
    justify-content: space-between;
}
#account .sec01 .inner .box .deta .info {
	margin: 0 auto 0 0;
    display: flex;
    gap: 1em;
    align-items: center;
}
#account .sec01 .inner .box .deta .info .icon {
    width: 90px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
}
#account .sec01 .inner .box .deta .info .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#account .sec01 .inner .box .deta .info .text {
    display: grid;
}
#account .sec01 .inner .box .deta .score {
    width: 100%;
    max-width: 590px;
}
#account .sec01 .inner .box .deta .score ul {
	width: 100%;
    border-left: 1px solid var(--color-GrayL);
    display: flex;
}
#account .sec01 .inner .box .deta .score ul li {
	width: 100%;
    border-right: 1px solid var(--color-GrayL);
}
#account .sec01 .inner .box .deta .score ul li a {
    height: 100%;
    display: grid;
    place-items: center;
    align-content: space-between;
}
#account .sec01 .inner .box .deta .score ul li a i {
    filter: grayscale(1);
}
#account .sec01 .inner .box .deta .score ul li a i img {
    width: auto;
    height: 1.3em;
}
#account .sec01 .inner .box .menu ul {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(4, 1fr);
}
#account .sec01 .inner .box .menu ul li a {
    height: 170px;
    padding: .5em;
    border: 1px solid var(--color-GrayL);
    border-radius: .3em;
    display: grid;
    gap: .5em;
    place-items: center;
    align-content: center;
}
#account .sec01 .inner .box .menu ul li a i {
    filter: grayscale(1);
}
#account .sec01 .inner .box .menu ul li a i img {
    width: auto;
    height: 2em;
}
@media screen and (max-width: 768px) {
	#account .sec01 .inner .box {
	    gap: 2em;
	}
	#account .sec01 .inner .box .header {
	    height: 110px;
	}
	#account .sec01 .inner .box .deta {
	    flex-direction: column;
	}
	#account .sec01 .inner .box .deta .info .icon {
	    width: 60px;
	}
	#account .sec01 .inner .box .deta .info .text {
	    line-height: 1.5;
	}
	#account .sec01 .inner .box .menu ul {
	    gap: .5em;
	    grid-template-columns: repeat(2, 1fr);
	}
	#account .sec01 .inner .box .menu ul li a {
	    height: 100px;
	}
}

/* ----------------------------------------------
    timeline
---------------------------------------------- */
#timeline #main {
    padding: 0;
}
#timeline .sec01 .inner .box {
	height: calc(100dvh - 90px);
    display: grid;
    grid-template-columns: 1fr 1fr;
}
#timeline .sec01 .inner .box [role="tabpanel"] {
    flex-direction: column;
    overflow: hidden;
}
#timeline .sec01 .inner .box .head {
    width: calc(100% - 3em);
    margin-left: auto;
	padding: 3em 3em 1em 0;
    border-bottom: 1px solid var(--color-GrayL);
    display: flex;
    gap: .5em;
    align-items: center;
    justify-content: space-between;
}
#timeline .sec01 .inner .box .head .filter .filter-btn {
    padding: .5em 1em;
    background: var(--color-GrayL);
    border-radius: .3em;
    display: block;
}
.modal {
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 50%);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	transition: opacity 0.3s ease;
}
.modal.show {
	opacity: 1;
	pointer-events: auto;
}
.modal .modal-content {
	width: 90%;
	max-width: 640px;
	padding: 2em;
	background: #fff;
	border-radius: .3em;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
}
.modal .modal-content form {
    display: grid;
    gap: 2em;
}
.modal .modal-content form dl {
    grid-template-columns: 1fr 1fr;
}
.modal .modal-content form .btn {
    display: flex;
    gap: 1em;
    align-items: center;
    justify-content: center;
}
.modal .modal-content form .btn button {
    padding: .5em 1em;
    border-radius: .3em;
}
#timeline .sec01 .inner .box .list {
    padding: 2em calc(3em - 24px) 3em 3em;
    display: grid;
    gap: 1.5em;
	flex: 1;
	align-content: flex-start;
    overflow-y: scroll;
	/*scrollbar-width: 8px;
	scrollbar-color: #b8b8bb;*/
}
#timeline .sec01 .inner .box [aria-labelledby="scout"] .list .item {
    border-radius: .3em;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
}
#timeline .sec01 .inner .box .list .item .info {
    padding: 1em;
    display: flex;
    gap: 1em;
    align-items: center;
}
#timeline .sec01 .inner .box .list .item .info .icon {
    width: 40px;
    aspect-ratio: 1;
    background: var(--color-GrayL);
    border-radius: 100vmax;
    overflow: hidden;
}
#timeline .sec01 .inner .box .list .item .info .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#timeline .sec01 .inner .box .list .item .info .text {
    line-height: 1.4;
    display: grid;
}
#timeline .sec01 .inner .box .list .item .title {
    padding: 1em 0;
    border-top: 1px solid;
    line-height: 1.5;
}
#timeline .sec01 .inner .box .list .item .img {
    display: grid;
    overflow: hidden;
}
#timeline .sec01 .inner .box .list .item .img .swiper {
    max-width: 100%;
    display: grid;
    overflow: hidden;
}
#timeline .sec01 .inner .box .list .item .img .swiper .swiper-pagination {
    width: 100%;
    display: flex;
    gap: .5em;
    align-items: center;
    justify-content: center;
    left: 0;
    bottom: 1em;
}
#timeline .sec01 .inner .box .list .item .img .swiper .swiper-pagination .swiper-pagination-bullet {
    margin: 0;
    background: #fff;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
    opacity: .5;
}
#timeline .sec01 .inner .box .list .item .img .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1;
}
#timeline .sec01 .inner .box .list .item .img .movie video {
    width: 100%;
    vertical-align: bottom;
}
#timeline .sec01 .inner .box .list .item .img .movie .controls {
    display: flex;
    gap: .5em;
    align-items: center;
    position: absolute;
    right: 1em;
    bottom: 1em;
    z-index: 1;
}
#timeline .sec01 .inner .box .list .item .img .movie .controls button {
    padding: .5em;
    background: #fff;
    border-radius: 100vmax;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
    display: grid;
    place-items: center;
}
#timeline .sec01 .inner .box .list .item .tag {
    padding: 1em;
    background: #f9fafb;
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
}
#timeline .sec01 .inner .box .list .item .tag a {
    padding: .2em 1em;
    border-radius: 100vmax;
    display: block;
}
#timeline .sec01 .inner .box [aria-labelledby="scout"] .list .item .tag a {
    background: #fff;
    border: 1px solid var(--color-GrayL);
}
#timeline .sec01 .inner .box [aria-labelledby="entry"] .list .item .tag a {
	color: #fff;
    background: var(--color-Black);
}
#timeline .sec01 .inner .box .list .item .detail {
    padding: 1em;
    display: grid;
    gap: .5em;
}
#timeline .sec01 .inner .box .list .item .detail .menu {
    display: flex;
    gap: 1em;
    align-items: center;
}
#timeline .sec01 .inner .box .list .item .detail .menu button {
    display: flex;
    filter: grayscale(1) brightness(.3);
}
#timeline .sec01 .inner .box .list .item .detail .menu button[type="button edit"] {
    margin: 0 0 0 auto;
}
#timeline .sec01 .inner .box .list .sponsor {
    width: 100%;
    margin: 1em 0;
    background: var(--color-GrayL);
    border: .5em solid #fff;
    border-radius: .3em;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
}
#timeline .sec01 .inner .box .list .sponsor span {
    padding: 0 .5em;
    background: rgb(255 255 255 / 70%);
    border-radius: .3em;
    position: absolute;
    top: 1em;
    left: 1em;
    z-index: 1;
}
@media screen and (min-width: 769px) {
	#timeline .sec01 .inner .box div[role="tabpanel"] {
	    display: flex !important;
        align-items: center;
	}
	#timeline .sec01 .inner .box .list::-webkit-scrollbar {
		width: 24px;
	}
	#timeline .sec01 .inner .box .list::-webkit-scrollbar-track {
		background: transparent;
	}
	#timeline .sec01 .inner .box .list::-webkit-scrollbar-thumb {
		background: #b8b8bb;
		background-clip: content-box;
		border-radius: 100vmax;
		border: 8px solid transparent;
	}
}
@media screen and (max-width: 768px) {
	#timeline .sec01 .inner .box {
		height: calc(100dvh - 60px);
	    grid-template-columns: 1fr;
	}
	#timeline .sec01 .inner .box .tabs {
	    padding: 2em 1.5em 0;
	    border-bottom: 2px solid var(--color-Green);
	    display: flex;
	    gap: 1em;
    }
    #timeline .sec01 .inner .box .tabs button {
	    width: 100%;
        max-height: 38.4px;
	    padding: .5em;
	    background: var(--color-GrayL);
	    border-radius: .3em .3em 0 0;
	    display: grid;
	    place-items: center;
	}
    #timeline .sec01 .inner .tabs button[aria-selected="true"] {
	    color: #fff;
	    background: var(--color-Green);
	}
	#timeline .sec01 .inner .box div[role="tabpanel"]:not([hidden]) {
	    display: flex !important;
        align-items: center;
	}
	#timeline .sec01 .inner .box .head {
	    width: 100%;
	    padding: 2em 1.5em 1em;
	}
	#timeline .sec01 .inner .box .head .filter .modal .modal-content form dl {
	    grid-template-columns: 1fr;
	}
	#timeline .sec01 .inner .box .list {
	    padding: 2em 1.5em;
        min-height: 705px;
	}
}

.timeline {
    padding: 2em calc(3em - 24px) 3em 3em;
    display: grid;
    gap: 1.5em;
	flex: 1;
	align-content: flex-start;
    overflow-y: scroll;
	/*scrollbar-width: 8px;
	scrollbar-color: #b8b8bb;*/
}
.timeline .item {
    border-radius: .3em;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
}
#timeline .sec01 .inner .box [aria-labelledby="entry"] .timeline .item {
    border-radius: 0;
    box-shadow: none;
}
.timeline .item .info {
    padding: 1em;
    display: flex;
    gap: 1em;
    align-items: center;
}
.timeline .item .info .icon {
    width: 40px;
    aspect-ratio: 1;
    background: var(--color-GrayL);
    border-radius: 100vmax;
    overflow: hidden;
}
.timeline .item .info .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.timeline .item .info .text {
    line-height: 1.4;
    display: grid;
}
.timeline .item .title {
    padding: 1em 0;
    border-top: 1px solid;
    line-height: 1.5;
}
.timeline .item .img {
    display: grid;
    overflow: hidden;
}
.timeline .item .img .swiper {
    max-width: 100%;
    display: grid;
    overflow: hidden;
}
.timeline .item .img .swiper .swiper-pagination {
    width: 100%;
    display: flex;
    gap: .5em;
    align-items: center;
    justify-content: center;
    left: 0;
    bottom: 1em;
}
.timeline .item .img .swiper .swiper-pagination .swiper-pagination-bullet {
    margin: 0;
    background: #fff;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
    opacity: .5;
}
.timeline .item .img .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1;
}
.timeline .item .img .movie video {
    width: 100%;
    vertical-align: bottom;
}
.timeline .item .img .movie .controls {
    display: flex;
    gap: .5em;
    align-items: center;
    position: absolute;
    right: 1em;
    bottom: 1em;
    z-index: 1;
}
.timeline .item .img .movie .controls button {
    padding: .5em;
    background: #fff;
    border-radius: 100vmax;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
    display: grid;
    place-items: center;
}
.timeline .item .tag {
    padding: 1em;
    background: #f9fafb;
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
}
.timeline .item .tag a {
    padding: .2em 1em;
    border-radius: 100vmax;
    display: block;
}
.timeline .item .tag a {
    background: #fff;
    border: 1px solid var(--color-GrayL);
}
#timeline .sec01 .inner .box [aria-labelledby="entry"] .timeline .item .tag a {
	color: #fff;
    background: var(--color-Black);
}
.timeline .item .detail {
    padding: 1em;
    display: grid;
    gap: .5em;
}
.timeline .item .detail .menu {
    display: flex;
    gap: 1em;
    align-items: center;
}
.timeline .item .detail .menu button {
    display: flex;
    filter: grayscale(1) brightness(.3);
}
.timeline .item .detail .menu button[type="button edit"] {
    margin: 0 0 0 auto;
}
.timeline .sponsor {
    width: 100%;
    margin: 1em 0;
    background: var(--color-GrayL);
    border: .5em solid #fff;
    border-radius: .3em;
    box-shadow: 0 2px 8px 0 rgb(99 99 99 / 10%);
}
.timeline .sponsor span {
    padding: 0 .5em;
    background: rgb(255 255 255 / 70%);
    border-radius: .3em;
    position: absolute;
    top: 1em;
    left: 1em;
    z-index: 1;
}
@media screen and (min-width: 769px) {
	#timeline .sec01 .inner .box div[role="tabpanel"] {
	    display: flex !important;
	}
	.timeline::-webkit-scrollbar {
		width: 24px;
	}
	.timeline::-webkit-scrollbar-track {
		background: transparent;
	}
	.timeline::-webkit-scrollbar-thumb {
		background: #b8b8bb;
		background-clip: content-box;
		border-radius: 100vmax;
		border: 8px solid transparent;
	}
}
@media screen and (max-width: 768px) {
    #timeline #wrap {
        height: 100dvh;
        overflow: hidden;
    }
	#timeline .sec01 .inner .box {
		height: calc(100dvh - 60px);
	    grid-template-columns: 1fr;
	    overflow-y: scroll;
	}
	#timeline .sec01 .inner .box .tabs {
	    padding: 2em 1.5em 0;
	    border-bottom: 2px solid var(--color-Green);
	    display: flex;
	    gap: 1em;
    }
    #timeline .sec01 .inner .box .tabs button {
	    width: 100%;
	    padding: .5em;
	    background: var(--color-GrayL);
	    border-radius: .3em .3em 0 0;
	    display: grid;
	    place-items: center;
	}
    #timeline .sec01 .inner .tabs button[aria-selected="true"] {
	    color: #fff;
	    background: var(--color-Green);
	}
	#timeline .sec01 .inner .box [role="tabpanel"] {
	    overflow: initial;
	}
	#timeline .sec01 .inner .box div[role="tabpanel"]:not([hidden]) {
	    display: flex !important;
	}
	#timeline .sec01 .inner .box .head {
	    width: 100%;
	    padding: 2em 1.5em 1em;
	}
	.modal .modal-content form dl {
	    grid-template-columns: 1fr;
	}
	.timeline {
	    padding: 2em 1.5em;
	}
}


/* ----------------------------------------------
    jobdetail
---------------------------------------------- */
#jobdetail .sec01 .inner .box {
    display: flex;
    gap: 3em;
    flex-direction: column;
}
#jobdetail .sec01 .inner .box .head {
    display: grid;
    gap: 1.5em 3em;
    grid-template-columns: 1fr 1fr;
}
#jobdetail .sec01 .inner .box .head .left {
    display: grid;
    gap: 1em;
    align-content: flex-start;
}
#jobdetail .sec01 .inner .box .head .left .title h3 {
    line-height: 1.5;
}
#jobdetail .sec01 .inner .box .head .left .tag {
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
}
#jobdetail .sec01 .inner .box .head .left .tag a {
    padding: .2em 1em;
    color: #fff;
    background: var(--color-Black);
    border-radius: 100vmax;
    display: block;
}
#jobdetail .sec01 .inner .box .head .left .info dl {
    border-bottom: 1px solid var(--color-GrayL);
}
#jobdetail .sec01 .inner .box .head .left .info dl div {
    padding: .4em 0;
    border-top: 1px solid var(--color-GrayL);
    display: flex;
    gap: 1em;
}
#jobdetail .sec01 .inner .box .head .left .info dl div dt {
    width: 100px;
    flex-shrink: 0;
}
#jobdetail .sec01 .inner .box .head .right .img {
    border-radius: .3em;
    overflow: hidden;
}
#jobdetail .sec01 .inner .box .catch {
    padding: 1.5em;
}
#jobdetail .sec01 .inner .box .detail h4 {
    margin: 0 0 .5em;
}
#jobdetail .sec01 .inner .box .detail dl {
    border-bottom: 1px solid var(--color-GrayL);
}
#jobdetail .sec01 .inner .box .detail dl div {
	padding: .5em 0 2em;
    border-top: 1px solid var(--color-GrayL);
    display: flex;
    gap: 0 1em;
}
#jobdetail .sec01 .inner .box .detail dl div dt {
    width: 200px;
    flex-shrink: 0;
}
#jobdetail .sec01 .inner .box .btn01 .like {
    border: 1px solid var(--color-GrayL);
    filter: grayscale(1);
}
#jobdetail .sec01 .inner .prev a {
	width: fit-content;
	padding: 0 .5em;
    display: flex;
    gap: .5em;
    align-items: center;
}
#jobdetail .sec01 .inner .prev a::before {
    content: "";
    width: .5em;
    aspect-ratio: 1;
    border-left: 2px solid var(--color-GrayM);
    border-bottom: 2px solid var(--color-GrayM);
    transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
	#jobdetail .sec01 .inner .box {
	    gap: 2em;
	}
	#jobdetail .sec01 .inner .box .head {
	    grid-template-columns: 1fr;
	}
	#jobdetail .sec01 .inner .box .head .left .info dl div dt {
	    width: 80px;
	}
	#jobdetail .sec01 .inner .box .detail dl div {
	    flex-direction: column;
	}
	#jobdetail .sec01 .inner .box .detail dl div dt {
	    width: 100%;
	}
}

/* ----------------------------------------------
    code
---------------------------------------------- */
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    password
---------------------------------------------- */
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    signup
---------------------------------------------- */
#signup .sec01 .inner .btn01 a {
    max-width: 100%;
}
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    list
---------------------------------------------- */
#list .sec01 .inner .list dl {
    display: grid;
    gap: 2em;
}
#list .sec01 .inner .list dl > div {
    display: grid;
    gap: .5em;
}
#list .sec01 .inner .list dl > div dd {
    padding: 1.5em 1em;
    display: grid;
    grid-template-columns: 2.5fr 3fr 1.5fr 1.5fr;
}
#list .sec01 .inner .list dl > div dd:has(.img) {
    grid-template-columns: 5.5fr 1.5fr 1.5fr;
}
#list .sec01 .inner .list dl > div.past dd {
    background: no-repeat;
    box-shadow: none;
    border: 3px solid var(--color-GrayL);
}
#list .sec01 .inner .list dl > div dd > div {
    padding: 0 1.5em;
    display: grid;
    align-content: center;
    position: relative;
}
#list .sec01 .inner .list dl > div dd > div:not(:last-of-type) {
    border-right: none;
}
#list .sec01 .inner .list dl > div dd > div:not(:last-of-type)::after {
    content: "";
    width: 1px;
    height: 80%;
    background: var(--color-GrayL);
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
#list .sec01 .inner .list dl > div dd > div.user {
    display: flex;
    gap: 1em;
    align-items: center;
}
#list .sec01 .inner .list dl > div dd > div.user .icon {
    width: 80px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
    flex-shrink: 0;
}
#list .sec01 .inner .list dl > div dd > div.user .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#list .sec01 .inner .list dl > div dd > div.user .text {
    display: grid;
}
#list .sec01 .inner .list dl > div dd > div.user .text .company {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}
#list .sec01 .inner .list dl > div dd > div.title {
    display: flex;
    gap: 1em;
    align-items: center;
}
#list .sec01 .inner .list dl > div dd > div.title .img {
    width: 140px;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    flex-shrink: 0;
}
#list .sec01 .inner .list dl > div dd > div.title .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#list .sec01 .inner .list dl > div dd > div.title p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}
#list .sec01 .inner .list dl > div dd > div.btn {
    gap: .5em;
}
#list .sec01 .inner .list dl > div dd > div.btn :is(a, button) {
    height: 30px;
    border-radius: .3em;
    display: flex;
    gap: .3em;
    align-items: center;
    justify-content: center;
}
#list .sec01 .inner .list dl > div dd > div.btn :is(a, button).border {
    border: 1px solid;
}
#list .sec01 .inner .list dl > div dd > div.btn :is(a, button).delete {
    height: auto;
}
#list .sec01 .inner .list dl > div dd > div.btn :is(a, button) .num {
    width: 1.5em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    line-height: 1;
    display: grid;
    place-items: center;
}
@media screen and (max-width: 768px) {
	#list .sec01 .inner .list dl > div dd,
	#list .sec01 .inner .list dl > div dd:has(.img) {
	    padding: 2em;
	    gap: .5em;
	    grid-template-columns: 1fr;
	}
	#list .sec01 .inner .list dl > div dd > div {
	    padding: 0;
	}
	#list .sec01 .inner .list dl > div dd > div:not(:last-of-type)::after {
		display: none;
	}
	#list .sec01 .inner .list dl > div dd > div.title .img {
	    width: 80px;
	}
}

/* ----------------------------------------------
    message list
---------------------------------------------- */
#message .sec01 .inner .head {
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
#message .sec01 .inner .head .search {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    align-items: center;
}
#message .sec01 .inner .head .search .keyword ul {
    display: flex;
    gap: 0 .5em;
    flex-wrap: wrap;
    align-items: center;
}
#message .sec01 .inner .head .search .keyword ul li {
    display: flex;
    gap: .1em;
    align-items: center;
}
#message .sec01 .inner .head .search .keyword ul li button {
	width: 1.3em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    display: grid;
    place-items: center;
}
#message .sec01 .inner .head .search .keyword ul li button img {
    filter: grayscale(1) brightness(5);
}
#message .sec01 .inner .head .search form {
    width: 280px;
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
}
#message .sec01 .inner .head .search form input {
	height: 40px;
    background: none;
    border: 1px solid var(--color-GrayM);
}
#message .sec01 .inner .head .search form button {
    filter: grayscale(1);
    display: flex;
    position: absolute;
    right: 1em;
}
#message .sec01 .inner .list {
    display: grid;
    gap: .5em;
}
#message .sec01 .inner .list .item {
    padding: 1.5em 2.5em;
    display: flex;
    gap: 1em;
    align-items: center;
    overflow: hidden;
}
#message .sec01 .inner .list .item .icon {
    width: 65px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
    flex-shrink: 0;
}
#message .sec01 .inner .list .item .text {
    overflow: hidden;
}
#message .sec01 .inner .list .item .text .text01 {
    display: flex;
    gap: .5em;
    align-items: center;
}
#message .sec01 .inner .list .item .text .text01 .company {
    display: flex;
    gap: .5em;
    align-items: center;
}
#message .sec01 .inner .list .item .text .text01 .company::before {
    content: "｜";
}
#message .sec01 .inner .list .item .text .text02 p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#message .sec01 .inner .list .item .date {
    margin: 0 0 0 auto;
    display: grid;
    gap: .5em;
    flex-shrink: 0;
    place-items: center;
}
#message .sec01 .inner .list .item .date .num {
    width: 1.5em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    line-height: 1;
    display: grid;
    place-items: center;
}
@media screen and (max-width: 768px) {
	#message .sec01 .inner .head .search {
		width: 100%;
	    max-width: 100%;
	    align-items: flex-start;
	    flex-direction: column-reverse;
	}
	#message .sec01 .inner .head .search form {
	    width: 100%;
	}
	#message .sec01 .inner .list .item {
	    padding: 1em;
	    gap: .5em 1em;
	    display: grid;
	    grid-template-columns: 40px auto;
	}
	#message .sec01 .inner .list .item .icon {
	    width: 40px;
	}
	#message .sec01 .inner .list .item .text .text01 .name {
	    flex-shrink: 0;
	}
	#message .sec01 .inner .list .item .text .text01 .company {
	    display: block;
	    overflow: hidden;
	    text-overflow: ellipsis;
	    white-space: nowrap;
	}
	#message .sec01 .inner .list .item .date {
	    width: 100%;
	    grid-column: span 2;
	    display: flex;
	    align-items: center;
	    flex-direction: row-reverse;
	    justify-content: flex-start;
	}
}

/* ----------------------------------------------
    message detail
---------------------------------------------- */
#message:has(.chat) #main {
    padding: 0;
    background: #fff;
}
#message .sec01 .inner .info {
    height: 120px;
    padding: .5em 1.5em;
    border-bottom: 1px solid var(--color-GrayL);
    display: flex;
    align-items: center;
}
#message .sec01 .inner .info .box {
	width: 100%;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr 1fr;
}
#message .sec01 .inner .info .prev a {
    width: fit-content;
    display: flex;
    gap: .5em;
    align-items: center;
}
#message .sec01 .inner .info .prev a::before {
    content: "";
    width: .5em;
    aspect-ratio: 1;
    border-left: 2px solid var(--color-GrayM);
    border-bottom: 2px solid var(--color-GrayM);
    transform: rotate(45deg);
}
#message .sec01 .inner .info .box .person .icon {
    width: 65px;
    margin: 0 auto;
    border-radius: 100vmax;
    aspect-ratio: 1;
    overflow: hidden;
}
#message .sec01 .inner .info .box .person .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#message .sec01 .inner .chat {
	width: 100%;
	height: calc(100dvh - 120px - 90px - 130px);
    padding: 4em 3em;
    overflow-y: scroll;
    scrollbar-width: none;
    display: grid;
    gap: 1em;
}
#message .sec01 .inner .chat .item .box {
    display: flex;
    gap: 1em;
    align-items: flex-start;
}
#message .sec01 .inner .chat .item.right .box {
    flex-direction: row-reverse;
}
#message .sec01 .inner .chat .item .box .icon {
    width: 65px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    flex-shrink: 0;
    overflow: hidden;
}
#message .sec01 .inner .chat .item .box .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#message .sec01 .inner .chat .item .box .block {
    width: 100%;
    max-width: 620px;
    padding: 1em;
    border: 1px solid var(--color-GrayL);
    border-radius: .3em;
    word-break: break-word;        /* 長いテキストを途中で折り返す */
    overflow-wrap: break-word;     /* 収まらないテキストを次行に */
    white-space: normal;           /* 改行を許可 */
}
#message .sec01 .inner .chat .item.left .box .block {
    background: var(--color-GrayP);
}
#message .sec01 .inner .chat .item.right .box .block {
    color: #fff;
    background: var(--color-Green);
}
#message .sec01 .inner .chat .item.auto .box .block {
    background: var(--color-GrayM);
}
#message .sec01 .inner .write {
    width: calc(100% - 240px);
	height: 130px;
    padding: 0 1.5em;
    display: grid;
    place-items: center;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 9999;
}
#message .sec01 .inner .write form {
    display: flex;
    align-items: center;
}
#message .sec01 .inner .write form textarea {
    min-height: 80px;
    max-width: 100%;
    padding: .5em 4em .5em 1em;
    resize: none;
}
#message .sec01 .inner .write form textarea::-webkit-scrollbar {
	width: 10px;
}
#message .sec01 .inner .write form textarea::-webkit-scrollbar-track {
	background: transparent;
}
#message .sec01 .inner .write form textarea::-webkit-scrollbar-thumb {
	background: #b8b8bb;
	background-clip: content-box;
	border-radius: 100vmax;
	border: 2px solid transparent;
}
#message .sec01 .inner .write form button {
    width: 2em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    display: grid;
    place-items: center;
    position: absolute;
    right: 1em;
}
#message .sec01 .inner .write form button img {
    filter: grayscale(1) brightness(5);
}
@media screen and (max-width: 768px) {
	#message .sec01 .inner .info {
	    height: 50px;
	    padding: 0 1.5em;
	}
	#message .sec01 .inner .info .box {
	    display: flex;
	    gap: .5em;
	}
	#message .sec01 .inner .info .box .person {
	    display: flex;
	    gap: .5em;
	    flex-shrink: 0;
	    align-items: center;
	}
	#message .sec01 .inner .info .box .person .icon {
	    width: 35px;
	}
	#message .sec01 .inner .info .box .company {
	    margin: 0 0 0 auto;
	    line-height: 1.2;
	}
	#message .sec01 .inner .chat {
		height: calc(100dvh - 30px - 100px - 80px);
	    padding: 2em 1.5em;
	}
	#message .sec01 .inner .chat .item .box .icon {
	    width: 35px;
	}
	#message .sec01 .inner .write {
	    width: 100%;
	    height: 80px;
	}
	#message .sec01 .inner .write form textarea {
	    min-height: 60px;
	}
	#message:has(.chat) #header header .inner .hamburger {
		display: none;
	}
}

/* ----------------------------------------------
    resume
---------------------------------------------- */
#resume .sec01 .inner h3 {
    display: flex;
    gap: .3em;
    align-items: baseline;
}
#resume .sec01 .inner .box01 {
    display: flex;
    gap: 1em 6em;
    flex-wrap: wrap;
    align-items: center;
}
#resume .sec01 .inner .box01 .left {
	line-height: 1.5;
    display: flex;
    gap: 1em;
    flex-shrink: 0;
    align-items: center;
}
#resume .sec01 .inner .box01 .left .icon {
    width: 100px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
}
#resume .sec01 .inner .box01 .left .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#resume .sec01 .inner .box01 .right {
    display: flex;
    gap: .5em 4em;
    align-items: center;
}
#resume .sec01 .inner .box01 .right .item {
    display: flex;
    gap: .3em;
    align-items: center;
}
#resume .sec01 .inner .box02 dl {
    border-left: 1px solid var(--color-GrayL);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}
#resume .sec01 .inner .box03 dl {
    border-left: 1px solid var(--color-GrayL);
    display: grid;
    grid-template-columns: 2.5fr 1.2fr 2fr;
}
#resume .sec01 .inner .box02 dl div,
#resume .sec01 .inner .box03 dl div {
    padding: 0 1em;
    border-right: 1px solid var(--color-GrayL);
}
#resume .sec01 .inner .box04 ul {
    padding: 1em 2em;
    display: grid;
    gap: 1em;
}
#resume .sec01 .inner .box04 ul li {
    display: grid;
    gap: 1em;
    align-items: center;
    grid-template-columns: 5fr 1fr 1fr;
}
#resume .sec01 .inner .box04 ul li:not(:first-of-type) {
    padding: 1em 0 0;
    border-top: 1px solid var(--color-GrayL);
}
#resume .sec01 .inner .box04 ul li .item:not(:first-of-type) {
    padding: 0 0 0 1em;
    border-left: 1px solid var(--color-GrayL);
}
#resume .sec01 .inner .box05 ul {
    padding: 1em 2em;
    display: grid;
    gap: 1em;
}
#resume .sec01 .inner .box05 ul li {
	display: grid;
	gap: 1em;
    grid-template-columns: 1fr 1fr;
}
#resume .sec01 .inner .box05 ul li .item {
    padding: 0 0 0 1em;
    border-left: 1px solid var(--color-GrayL);
}
#resume .sec01 .inner .box06 ul {
    padding: 1em 2em;
    display: grid;
    gap: 1em;
}
#resume .sec01 .inner .box06 ul li .item {
    padding: 0 0 0 1em;
    border-left: 1px solid var(--color-GrayL);
}
@media screen and (max-width: 768px) {
	#resume .sec01 .inner .box01 .left {
	    width: 100%;
	}
	#resume .sec01 .inner .box01 .left .icon {
	    width: 60px;
	}
	#resume .sec01 .inner .box01 .right {
	    gap: .5em 2em;
	}
	#resume .sec01 .inner .box02 dl {
	    border-top: 1px solid var(--color-GrayL);
	    border-left: none;
	    gap: 0;
	    grid-template-columns: repeat(1, 1fr);
	}
	#resume .sec01 .inner .box03 dl {
	    border-left: none;
	    grid-template-columns: 1fr;
	}
	#resume .sec01 .inner .box02 dl div {
	    display: flex;
	    align-items: center;
	    justify-content: space-between;
	}
	#resume .sec01 .inner .box02 dl div,
	#resume .sec01 .inner .box03 dl div {
	    padding: .5em 0;
	    border-right: none;
	    border-bottom: 1px solid var(--color-GrayL);
	}
	#resume .sec01 .inner .box04 ul {
	    padding: 0;
        background: none;
        gap: 0;
	}
	#resume .sec01 .inner .box04 ul li {
        border-bottom: 1px solid var(--color-GrayL);
		padding: .5em 0;
		display: flex;
		gap: 0;
        flex-wrap: wrap;
        justify-content: space-between;
	}
	#resume .sec01 .inner .box04 ul li:not(:first-of-type) {
	    padding: .5em 0;
	    border-top: none;
	}
	#resume .sec01 .inner .box04 ul li .item:first-of-type {
	    width: 100%;
	}
	#resume .sec01 .inner .box04 ul li .item:not(:first-of-type) {
        padding: 0;
        border: none;
	    display: flex;
        gap: .5em;
	    align-items: center;
	    justify-content: space-between;
	}
	#resume .sec01 .inner .box05 ul {
	    padding: 0;
	    background: none;
	}
	#resume .sec01 .inner .box05 ul li {
	    gap: 0;
	    grid-template-columns: 1fr;
	}
	#resume .sec01 .inner .box05 ul li .item {
	    padding: .5em 0;
	    border-left: none;
	    border-bottom: 1px solid var(--color-GrayL);
	}
	#resume .sec01 .inner .box05 ul.lang li .item {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #resume .sec01 .inner .box06 ul {
	    padding: 0;
	    background: none;
	    gap: 0;
	}
	#resume .sec01 .inner .box06 ul li .item {
	    padding: .5em 0;
	    border-left: none;
	    border-bottom: 1px solid var(--color-GrayL);
	}
}

/* ----------------------------------------------
    profile
---------------------------------------------- */
#profile .sec01 .inner form .file {
    display: flex;
    gap: 1em;
    align-items: center;
}
#profile .sec01 .inner form .file .img {
    display: flex;
    gap: .5em 1em;
    align-items: center;
}
#profile .sec01 .inner form .file .img .icon {
    width: 70px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
    flex-shrink: 0;
}
#profile .sec01 .inner form .file .img .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#profile .sec01 .inner form .file label {
    width: 200px;
    height: 45px;
    padding: 0 1em;
    border: 1px solid var(--color-GrayM);
    border-radius: .3em;
    display: flex;
    align-items: center;
}
#profile .sec01 .inner form .file label::after {
    content: "";
    width: .5em;
    aspect-ratio: 1;
    border-top: 2px solid var(--color-GrayM);
    border-right: 2px solid var(--color-GrayM);
    position: absolute;
    right: 1em;
    transform: rotate(45deg);
}
#profile .sec01 .inner form .file:has(.img) label {
    margin: 0 0 0 auto;
}
#profile .sec01 .inner form.layout dl > div:has(.eju) {
    padding: 0;
}
#profile .sec01 .inner form.layout dl > div .eju dl div dt {
    max-width: 240px;
}
#profile .sec01 .inner form.layout dl > div .eju dl div dd {
    display: flex;
    gap: .5em;
    align-items: center;
}
#profile .sec01 .inner form.layout dl > div .eju dl div dd input {
    max-width: 180px;
}
#profile .sec01 .inner form textarea {
    max-width: 600px;
    min-height: 100px;
}
@media screen and (max-width: 768px) {
	#profile .sec01 .inner form .file {
	    flex-direction: column;
	}
	#profile .sec01 .inner form .file label {
	    width: 100%;
	}
	#profile .sec01 .inner form .file .img {
	    width: 100%;
	}
	#profile .sec01 .inner form .file .img .icon {
	    width: 60px;
	}
}

/* ----------------------------------------------
    post
---------------------------------------------- */
#post .sec01 .inner form .upload {
    /* height: 220px; */
    border: 1px solid var(--color-GrayL);
    border-radius: .3em;
    display: grid;
    align-items: center;
    place-items: center;
}
#post .sec01 .inner form .upload .icon {
    filter: grayscale(1);
}
#post .sec01 .inner form .upload .file label {
    width: 240px;
    height: 45px;
    padding: 0 1em;
    border: 1px solid var(--color-GrayM);
    border-radius: .3em;
    display: flex;
    align-items: center;
}
#post .sec01 .inner form .upload .file label::after {
    content: "";
    width: .5em;
    aspect-ratio: 1;
    border-top: 2px solid var(--color-GrayM);
    border-right: 2px solid var(--color-GrayM);
    position: absolute;
    right: 1em;
    transform: rotate(45deg);
}
#post .sec01 .inner form .preview {
    height: 400px;
    border: 1px solid var(--color-GrayL);
    border-radius: .3em;
    overflow: hidden;
}
#post .sec01 .inner form .preview > img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
}
#post .sec01 .inner form .preview button {
    width: 2em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    display: grid;
    place-items: center;
    position: absolute;
    top: 1em;
    right: 1em;
    z-index: 2;
}
#post .sec01 .inner form .preview button img {
    filter: grayscale(1) brightness(5);
}
#post .sec01 .inner form .box {
    display: flex;
    gap: 1em;
    align-items: flex-start;
}
#post .sec01 .inner form .box .icon {
    width: 70px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
    flex-shrink: 0;
}
#post .sec01 .inner form .box .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#post .sec01 .inner form .box textarea {
    width: 100%;
    max-width: 100%;
    min-height: 110px;
}
@media screen and (max-width: 768px) {
	#post .sec01 .inner form .preview {
	    height: 200px;
	}
	#post .sec01 .inner form .preview button {
	    width: 1.5em;
	    top: .5em;
	    right: .5em;
	}
	#post .sec01 .inner form .preview button img {
	    width: .6em;
	}
	#post .sec01 .inner form .box {
	    align-items: center;
	    flex-direction: column;
	}
}

/* ----------------------------------------------
    privacy
---------------------------------------------- */
#privacy .sec01 .inner ul {
    padding-left: 1em;
    text-indent: -1em;
}
#privacy .sec01 .inner ul li::before {
    content: "・";
    color: var(--color-Green);
}

/* ----------------------------------------------
    company
---------------------------------------------- */
#company .sec01 .inner dl {
    border-top: 1px solid var(--color-GrayL);
}
#company .sec01 .inner dl div {
    padding: 1em 0;
    border-bottom: 1px solid var(--color-GrayL);
    display: flex;
}
#company .sec01 .inner dl div dt {
    width: 100%;
    flex-shrink: 0;
}
#company .sec01 .inner .info dl div dt {
    max-width: 100px;
}
#company .sec01 .inner .partner dl div dt {
    max-width: 200px;
}
#company .sec01 .inner .greeting .box {
    padding: 2em;
    border-radius: .3em;
}
@media screen and (max-width: 768px) {
	#company .sec01 .inner .partner dl div {
	    flex-direction: column;
	}
	#company .sec01 .inner .info dl div dt {
	    max-width: 80px;
	}
	#company .sec01 .inner .greeting .box {
	    padding: 2em 1.5em;
	}
}

/* ----------------------------------------------
    terms
---------------------------------------------- */
#terms .sec01 .inner .list01 {
    padding: 0 0 0 1.3em;
    display: grid;
    gap: .5em;
}
#terms .sec01 .inner .list01 > li {
    list-style: auto;
}
#terms .sec01 .inner .list02 {
	margin-top: .5em;
	display: grid;
    gap: .3em;
	counter-reset: item;
}
#terms .sec01 .inner .list02 > li {
	counter-increment: item;
	padding-left: 1.6em;
    text-indent: -1.6em;
}
#terms .sec01 .inner .list02 > li::before {
	content: "(" counter(item) ")";
	margin-right: .3em;
}

/* ----------------------------------------------
    profile
---------------------------------------------- */
#profile .sec01 .inner .box01 .header img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
#profile .sec01 .inner .box01 .deta {
    display: flex;
    gap: 1em;
    align-items: center;
    justify-content: space-between;
}
#profile .sec01 .inner .box01 .deta .info {
    display: flex;
    gap: 1em;
    align-items: center;
}
#profile .sec01 .inner .box01 .deta .info .icon {
    width: 140px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
    flex-shrink: 0;
    transform: translateY(-2em);
}
#profile .sec01 .inner .box01 .deta .info .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#profile .sec01 .inner .box01 .deta .info .text {
    display: grid;
}
#profile .sec01 .inner .box01 .deta .info .text .mail {
	word-break: break-all;
}
#profile .sec01 .inner .box02 {
    display: flex;
    gap: 3em;
}
#profile .sec01 .inner .box02 .timeline {
    padding: 0;
    overflow-y: initial;
}
#profile .sec01 .inner .box02 .timeline .item .info .date {
    margin: 0 0 0 auto;
}
#profile .sec01 .inner .box02 .right {
    width: 200px;
    flex-shrink: 0;
}
#profile .sec01 .inner .box02 .right dl {
    display: grid;
    gap: .5em;
}
#profile .sec01 .inner .box02 .right .btn01 a {
    height: 45px;
}
@media screen and (max-width: 768px) {
	#profile .sec01 .inner .box01 .header {
	    margin: 0 0 1em;
	}
	#profile .sec01 .inner .box01 .header img {
	    height: 100px;
	}
	#profile .sec01 .inner .box01 .deta {
	    flex-direction: column;
	}
	#profile .sec01 .inner .box01 .deta .info {
	    align-items: flex-start;
	}
	#profile .sec01 .inner .box01 .deta .info .icon {
	    width: 60px;
	    transform: translateY(0);
	}
	#profile .sec01 .inner .box02 {
	    flex-direction: column-reverse;
	}
	#profile .sec01 .inner .box02 .right {
	    width: 100%;
	}
}

/* ----------------------------------------------
    scout
---------------------------------------------- */
#scout .sec01 .inner .box .header img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
#scout .sec01 .inner .box .deta {
    display: flex;
    gap: 1em;
    align-items: center;
    justify-content: space-between;
}
#scout .sec01 .inner .box .deta .info {
    display: flex;
    gap: 1em;
    align-items: center;
}
#scout .sec01 .inner .box .deta .info .icon {
    width: 140px;
    aspect-ratio: 1;
    border-radius: 100vmax;
    overflow: hidden;
    flex-shrink: 0;
    transform: translateY(-2em);
}
#scout .sec01 .inner .box .deta .info .icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#scout .sec01 .inner .box .deta .info .text {
    display: grid;
}
#scout .sec01 .inner .box .deta .info .text .mail {
	word-break: break-all;
}
#scout .sec01 .inner .box form dl > div dt {
    max-width: 100%;
}
#scout .sec01 .inner .box form textarea {
    max-width: 100%;
    min-height: 150px;
    background: var(--color-GrayP);
}
#scout .sec01 .inner .prev a {
    width: fit-content;
    padding: 0 .5em;
    display: flex;
    gap: .5em;
    align-items: center;
}
#scout .sec01 .inner .prev a::before {
    content: "";
    width: .5em;
    aspect-ratio: 1;
    border-left: 2px solid var(--color-GrayM);
    border-bottom: 2px solid var(--color-GrayM);
    transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
	#scout .sec01 .inner .box .header {
	    margin: 0 0 1em;
	}
	#scout .sec01 .inner .box .header img {
	    height: 100px;
	}
	#scout .sec01 .inner .box .deta {
	    flex-direction: column;
	}
	#scout .sec01 .inner .box .deta .info {
	    align-items: flex-start;
	}
	#scout .sec01 .inner .box .deta .info .icon {
	    width: 60px;
	    transform: translateY(0);
	}
}

/* ----------------------------------------------
    joblist
---------------------------------------------- */
#joblist #main {
    padding: 0;
}
#joblist .sec01 .inner .info {
    height: 110px;
	padding: 0 3em;
    display: flex;
    align-items: center;
}
#joblist .sec01 .inner .info .box {
	width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#joblist .sec01 .inner .info .box .filter .filter-btn {
    padding: .5em 1em;
    background: var(--color-GrayL);
    border-radius: .3em;
    display: block;
}
#joblist .sec01 .inner .info .box .filter .modal .modal-content {
    max-width: 460px;
}
#joblist .sec01 .inner .info .box .filter .modal .modal-content form dl {
    border-top: 1px solid var(--color-GrayL);
    gap: 0;
    grid-template-columns: 1fr;
}
#joblist .sec01 .inner .info .box .filter .modal .modal-content form dl > div {
    padding: 1em 0;
    border-bottom: 1px solid var(--color-GrayL);
    display: flex;
    gap: .3em;
}
#joblist .sec01 .inner .info .box .filter .modal .modal-content form dl > div dt {
    max-width: 100px;
}
#joblist .sec01 .inner .info .box .filter .modal .modal-content form .select select {
    background: var(--color-GrayP);
}
#joblist .sec01 .inner .search {
    padding: 2em 3em;
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    z-index: 1;
    top: 0;
}
#joblist .sec01 .inner .search .keyword {
    display: flex;
    gap: 1em;
    align-items: baseline;
}
#joblist .sec01 .inner .search .keyword p {
    flex-shrink: 0;
}
#joblist .sec01 .inner .search .keyword ul {
    display: flex;
    gap: 0 1em;
    flex-wrap: wrap;
    align-items: baseline;
}
#joblist .sec01 .inner .search .keyword ul li {
    display: flex;
    gap: .1em;
    align-items: center;
}
#joblist .sec01 .inner .search .keyword ul li button {
    width: 1.3em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    display: grid;
    place-items: center;
}
#joblist .sec01 .inner .search .keyword ul li button img {
    filter: grayscale(1) brightness(5);
}
#joblist .sec01 .inner .search .num {
    margin: 0 0 0 auto;
}
#joblist .sec01 .inner .list {
    height: calc(100dvh - 110px - 90px);
    overflow-y: scroll;
    scrollbar-width: none;
}
#joblist .sec01 .inner .list > ul {
    padding: 4em 3em;
    display: grid;
    gap: 1em;
}
#joblist .sec01 .inner .list > ul li {
    padding: 2.5em 3em;
    display: flex;
    gap: 1em 2em;
    align-items: flex-start;
}
#joblist .sec01 .inner .list > ul li .img {
    width: 280px;
    overflow: hidden;
    flex-shrink: 0;
}
#joblist .sec01 .inner .list > ul li .img img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
#joblist .sec01 .inner .list > ul li .text {
    display: flex;
    gap: .5em;
    flex-direction: column;
}
#joblist .sec01 .inner .list > ul li .text .company {
    display: flex;
    gap: .5em 1em;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#joblist .sec01 .inner .list > ul li .text .company .menu {
	margin: 0 0 0 auto;
    display: flex;
    gap: 1em;
    flex-shrink: 0;
    align-items: center;
}
#joblist .sec01 .inner .list > ul li .text .company .menu button {
    filter: grayscale(1) brightness(0);
    display: flex;
}
#joblist .sec01 .inner .list > ul li .text .title h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}
#joblist .sec01 .inner .list > ul li .text .tag {
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
}
#joblist .sec01 .inner .list > ul li .text .tag a {
    padding: .2em 1em;
    color: #fff;
    background: var(--color-Black);
    border-radius: 100vmax;
    display: block;
}
#joblist .sec01 .inner .list > ul li .text .detail dl {
    display: flex;
    gap: 0 .5em;
    flex-wrap: wrap;
}
#joblist .sec01 .inner .list > ul li .text .detail dl div {
    display: flex;
    gap: .5em;
}
#joblist .sec01 .inner .list > ul li .text .detail dl div::after {
    content: "｜";
}
@media screen and (max-width: 768px) {
	#joblist .sec01 .inner .info {
	    height: 70px;
	    padding: 0 1.5em;
	}
	#joblist .sec01 .inner .search {
	    padding: 1em 1.5em;
	}
	#joblist .sec01 .inner .search .keyword {
	    gap: 0;
	    flex-direction: column;
	}
	#joblist .sec01 .inner .list {
	    height: calc(100dvh - 150px);
	}
	#joblist .sec01 .inner .list > ul {
	    padding: 2em 1.5em 4em;
	}
	#joblist .sec01 .inner .list > ul li {
	    padding: 1.5em;
	    flex-direction: column;
	}
	#joblist .sec01 .inner .list > ul li .img {
	    width: 100%;
	}
}

/* =====================================
   動画ミュートボタン用CSS
   ===================================== */

/* グローバルミュートボタン（画面右下固定） */
.global-video-mute-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    font-size: 24px;
    cursor: pointer;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    @media screen and (max-width: 500px) {
        display: none;
    }
}

.global-video-mute-button:hover {
    background-color: rgba(0, 0, 0, 0.9);
    transform: scale(1.1);
}

.global-video-mute-button:active {
    transform: scale(0.95);
}

/* 各動画のミュートボタン（動画の右下） */
.video-mute-button {
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    font-size: 22px;
    cursor: pointer;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    
}

.video-mute-button:hover {
    background-color: rgba(0, 0, 0, 0.9);
    transform: scale(1.15);
}

.video-mute-button:active {
    transform: scale(0.95);
}

/* モバイル対応 */
@media (max-width: 768px) {
    .global-video-mute-button {
        display: none !important;
    }
    
    .video-mute-button {
        width: 40px;
        height: 40px;
        font-size: 20px;
        bottom: 12px;
        right: 12px;
    }
}

/* タブレット対応 */
@media (min-width: 769px) and (max-width: 1024px) {
    .global-video-mute-button {
        width: 52px;
        height: 52px;
        bottom: 20px;
        font-size: 23px;
    }
    
    .video-mute-button {
        width: 42px;
        height: 42px;
        font-size: 21px;
        bottom: 13px;
        right: 13px;
    }
}

/* アニメーション効果 */
@keyframes button-pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.3);
    }
    100% {
        transform: scale(1);
    }
}

.global-video-mute-button.animating,
.video-mute-button.animating {
    animation: button-pulse 0.3s ease;
}

/* タッチデバイス用の調整 */
@media (hover: none) and (pointer: coarse) {
    .global-video-mute-button:hover {
        background-color: rgba(0, 0, 0, 0.7);
        transform: scale(1);
    }
    
    .video-mute-button:hover {
        background-color: rgba(0, 0, 0, 0.7);
        transform: scale(1);
    }
    
    .global-video-mute-button:active {
        background-color: rgba(0, 0, 0, 0.95);
        transform: scale(0.95);
    }
    
    .video-mute-button:active {
        background-color: rgba(0, 0, 0, 0.95);
        transform: scale(0.9);
    }
    
    /* タッチデバイスではボタンを少し大きく */
    .video-mute-button {
        width: 48px;
        height: 48px;
        font-size: 24px;
        bottom: 10px;
        right: 10px;
    }
}

/* アクセシビリティ：フォーカス状態 */
.global-video-mute-button:focus,
.video-mute-button:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* 動画コンテナの位置調整（重要） */
.appeal-video,
.joblisting_img,
.ad-video-container {
    position: relative !important;
    overflow: visible;
}

/* 動画要素自体のスタイル */
.appeal-video video,
.joblisting_img video,
.ad-video-container video {
    display: block;
    width: 100%;
    height: auto;
}

/* 非表示状態 */
.global-video-mute-button.hidden,
.video-mute-button.hidden {
    display: none;
}

/* ローディング状態 */
.global-video-mute-button.loading,
.video-mute-button.loading {
    opacity: 0.5;
    pointer-events: none;
}


/* 動画サムネイルのフォールバック表示用 */
.video-thumbnail-fallback {
    width: 100%;
    object-fit: cover;
    display: block;
}

/* 動画エラー表示用のコンテナ */
.ad-video-container,
.joblisting_img,
.appeal-video {
    position: relative;
    background-color: #f0f0f0;
}

/* 動画再生バーのスタイル */

/* 再生バーコンテナ */
.video-progress-container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px 12px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
    z-index: 50;
    pointer-events: none;
}

/* 再生バー（背景） */
.video-progress-bar {
    width: 100%;
    height: 4px;
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    pointer-events: auto;
    transition: height 0.001s ease;
}

/* ホバー時に少し太くする */
.video-progress-bar:hover {
    height: 6px;
}

/* 再生済み部分 */
.video-progress-filled {
    height: 100%;
    background-color: #ffffff;
    border-radius: 2px;
    width: 0%;
    transition: width 0.001s linear;
    position: relative;
}

/* 再生済み部分の右端に丸いインジケーターを追加（オプション） */
.video-progress-filled::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background-color: #ffffff;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.001s ease;
}

/* ホバー時にインジケーターを表示 */
.video-progress-bar:hover .video-progress-filled::after {
    opacity: 1;
}

/* 時間表示 */
.video-time-display {
    font-size: 12px;
    color: white;
    text-align: right;
    margin-top: 4px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    pointer-events: none;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .video-progress-container {
        padding: 6px 10px;
    }
    
    .video-progress-bar {
        height: 3px;
    }
    
    .video-progress-bar:hover {
        height: 3px; /* モバイルではホバー効果なし */
    }
    
    .video-time-display {
        font-size: 11px;
        margin-top: 3px;
    }
}

.video-progress-container.simple-style {
    padding: 0;
    background: none;
}

.video-progress-container.simple-style .video-progress-bar {
    height: 2px;
    border-radius: 0;
}

.video-progress-container.simple-style .video-progress-filled {
    background-color: #ff0050; 
}

.video-progress-container.simple-style .video-time-display {
    display: none; /* シンプル版では時間表示なし */
}
.mute-icon{
    filter: brightness(0) invert(1);
}
.video-play-pause-indicator{
    filter: brightness(0) invert(1);
}
#global-mute-icon{
    filter: brightness(0) invert(1);
}


/* ========================================
    タイムライン初回読み込みビュー
   ======================================== */
.loader-3 {
    height: 300px;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.loader-3 .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    animation: wave 1.4s ease-in-out infinite;
}

/* グラデーション効果：左から右へ色が薄くなる */
.loader-3 .dot:nth-child(1) {
    background: rgba(0, 255, 68, 1);
    box-shadow: 0 0 15px rgba(0, 255, 68, 0.8);
    animation-delay: 0s;
}
.loader-3 .dot:nth-child(2) {
    background: rgba(0, 255, 68, 0.8);
    box-shadow: 0 0 15px rgba(0, 255, 68, 0.65);
    animation-delay: 0.1s;
}
.loader-3 .dot:nth-child(3) {
    background: rgba(0, 255, 68, 0.6);
    box-shadow: 0 0 15px rgba(0, 255, 68, 0.5);
    animation-delay: 0.2s;
}
.loader-3 .dot:nth-child(4) {
    background: rgba(0, 255, 68, 0.4);
    box-shadow: 0 0 15px rgba(0, 255, 68, 0.3);
    animation-delay: 0.3s;
}
.loader-3 .dot:nth-child(5) {
    background: rgba(0, 255, 68, 0.2);
    box-shadow: 0 0 15px rgba(0, 255, 68, 0.15);
    animation-delay: 0.4s;
}

@keyframes wave {
    0%, 60%, 100% {
        transform: translateY(0);
        opacity: 1;
    }
    30% {
        transform: translateY(-30px);
        opacity: 0.7;
    }
}

/* ========================================
    タイムライン下部読み込みビュー
   ======================================== */
   .bottom-loading{
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    padding: 10px 20px;
    border-radius: 20px;
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .bottom-loading>img{
    width: 20px; 
    height: 20px;
  }
  .loader-2 {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(0, 255, 68, 0.6);
    border-top: 1px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 15px rgba(0, 255, 68, 0.5);
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/* 仮追加スクロール全体のラッパー */
/* 横スクロールラッパー */
/* 左右の矢印ボタン */
.arrow-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    font-size: 24px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: none;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    display: none;
}

/* PC版だけ表示 */
@media screen and (min-width: 1300px) {

    .arrow-btn {
        display: block;
    }
}

/* 左 */
.prev-btn {
    left: 10px;
    font-size: 15px;
    text-align: center;
}

/* 右 */
.next-btn {
    right: 10px;
    font-size: 15px;
    text-align: center;
}

/* 全体ラッパー */
.appeal-scroll-container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 中身のトラック */
.appeal-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    width: 100%;
    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;
    /* Firefox用 */
    -ms-overflow-style: none;
    /* IE10+用 */
}

/* Chrome, Safari用 */
.appeal-track::-webkit-scrollbar {
    display: none;
}


/* 1つずつアイテム */
.appeal-item {
    flex: 0 0 100%;
    scroll-snap-align: center;
    display: flex;
    align-items: center;

}

/* 中のimgやvideo */
.appeal-item img,
.appeal-item video {
    width: 100%;
    height: auto;
}

/* インジケータ（ドット） */
.appeal-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.appeal-indicator .dot {
    width: 10px;
    height: 10px;
    background: #ccc;
    border-radius: 50%;
    transition: background-color 0.3s;
}

.appeal-indicator .dot.active {
    background: #333;
}


/* 各画像の枠 */
.appeal-img,
.appeal-img2 {
    flex: 0 0 100%;
    /* 横幅100%、折り返さない */
    height: auto;
    /* 縦はお好みで調整 */
    scroll-snap-align: start;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 実際の画像 */
.appeal--video video {
    width: 95%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

/* 各画像の枠 */
.appeal-video {
    flex: 0 0 100%;
    /* 横幅100%、折り返さない */
    height: auto;
    /* 縦はお好みで調整 */
    scroll-snap-align: start;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 実際の画像 */
.appeal-img img,
.appeal-img2 img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    border-radius: 0;
}

.color {
    filter: none !important;
}

/*コメント系*/
.comment_list {
    position: fixed;
    border-radius: 25px 25px 0px 0px;
    height: 100%;
    max-height: 800px;
    margin: auto;
    max-width: 500px;
    background-color: rgb(255, 255, 255);
    border: #efeeee solid 0.5px;
    width: 100%;
    bottom: 0;
    z-index: 999;
    display: none ;
}

.comment-section {
    height: 100%;           /* 固定高さ */
    display: flex;           /* フレックスレイアウト */
    flex-direction: column;  /* 縦方向に配置 */
    max-width: 600px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: none ;
}

/* コメント一覧 */
.comments-list {
    padding: 20px;
    border-bottom: 1px solid #efefef;
    height: 100%;
    flex-shrink: 0;  /* ヘッダーは縮まない */

}

.comments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    height: 10%;
}

.comments-list h2 {
    font-size: 16px;
    font-weight: 600;
    color: #262626;
    margin: 0;
}

.comments-container {
    border-top: 1px solid #efefef;
    border-bottom: 1px solid #efefef;
    height: 70%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;         /* 中央が余ったスペースを埋める */
    overflow-y: auto; /* スクロール可能 */
}

/* 個別のコメント */
.comment {
    display: flex;
    gap: 12px;
}

.comment-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.comment-content {
    flex: 1;
}

.comment-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.comment-name {
    font-weight: 600;
    color: #262626;
    font-size: 14px;
}

.comment-time {
    color: #8a8a8a;
    font-size: 12px;
}

.comment-text {
    color: #262626;
    font-size: 14px;
    line-height: 1.4;
}

.comment-actions {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.comment-like, .comment-reply {
    color: #8a8a8a;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.2s ease;
}

.comment-like:hover, .comment-reply:hover {
    color: #262626;
}

/* コメント入力エリア */
.comment-input-area {
    padding: 16px 20px;
    flex-shrink: 0;  /* フッターは縮まない */
}

.user-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.user-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.user-name {
    font-weight: 600;
    color: #262626;
    font-size: 14px;
}

.input-container {
    display: flex;
    gap: 8px;
}

.comment-input {
    height: 10%;
    flex: 1;
    border: 1px solid #efefef;
    border-radius: 20px;
    padding: 10px 16px;
    font-size: 14px;
    color: #262626;
    outline: none;
    transition: border-color 0.2s ease;
}

.comment-input:focus {
    border-color: #d0d0d0;
}

.comment-input::placeholder {
    color: #a8a8a8;
}

.submit-btn {
    background-color: transparent;
    border: none;
    color: #00f65e;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    padding: 10px 16px;
    transition: opacity 0.2s ease;
}

.submit-btn:hover {
    opacity: 0.8;
}

.submit-btn:disabled {
    color: #c3e7fd;
    cursor: not-allowed;
}

.close-btn {
    background-color: transparent;
    border: none;
    color: #262626;
    font-size: 24px;
    cursor: pointer;
    padding: 4px 8px;
    transition: opacity 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.close-btn:hover {
    opacity: 0.6;
}

/* スクロールバーのスタイル */
.comments-container::-webkit-scrollbar {
    width: 8px;
}

.comments-container::-webkit-scrollbar-track {
    background: transparent;
}

.comments-container::-webkit-scrollbar-thumb {
    background: #d0d0d0;
    border-radius: 4px;
}

.comments-container::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* 空のコメント表示 */
.empty-message {
    text-align: center;
    color: #8a8a8a;
    padding: 32px 16px;
    font-size: 14px;
}

#split_right > .item {
    
    border: 1px solid var(--color-GrayL);
}

/* ========================================
   メディアプレビューレイアウト（1～9個対応）
   ======================================== */

   #image-preview {
    display: grid;
    gap: 8px;

}

/* ===== 1個のメディア ===== */
#image-preview.single-preview {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
}

/* ===== 2個のメディア ===== */
#image-preview.dual-preview {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
}

/* ===== 3個のメディア ===== */
#image-preview.triple-preview {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
}

/* ===== 4個のメディア（2×2） ===== */
#image-preview.quad-preview {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
}

/* ===== 5個のメディア（2行、最初3個＆後2個） ===== */
#image-preview.quintuple-preview {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
}

#image-preview.quintuple-preview .preview-item:nth-child(4),
#image-preview.quintuple-preview .preview-item:nth-child(5) {
    grid-column: span 1.5;
}

#image-preview.quintuple-preview .preview-item:nth-child(4) {
    grid-column: 1 / 2;
}

#image-preview.quintuple-preview .preview-item:nth-child(5) {
    grid-column: 2 / 3;
}

/* ===== 6個のメディア（2×3） ===== */
#image-preview.sextuple-preview {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
}

/* ===== 7個のメディア（3+4または2+2+3） ===== */
#image-preview.septuple-preview {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
}

/* 最後の1個を縮める */
#image-preview.septuple-preview .preview-item:nth-child(7) {
    grid-column: span 2;
}

/* ===== 8個のメディア（4+4） ===== */
#image-preview.octuple-preview {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
}

/* ===== 9個のメディア（3×3） ===== */
#image-preview.nonuple-preview {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
}

/* ========================================
   プレビューアイテムの共通スタイル
   ======================================== */

.preview-item {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background: #f0f0f0;
    border: 1px solid #e0e0e0;
}

.preview-item img,
.preview-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 削除ボタン */
.remove-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    z-index: 10;
}

.remove-btn:hover {
    background: rgba(0, 0, 0, 0.9);
    transform: scale(1.1);
}

.remove-btn:active {
    transform: scale(0.95);
}

/* ========================================
   アップロード中のプレースホルダー
   ======================================== */

.upload-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9fafb;
}

.loading-view {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #e0e0e0;
    border-top-color: #33a351;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.loading-view > div {
    font-size: 12px;
    color: #6b7280;
}

/* ========================================
   モバイル対応
   ======================================== */

@media screen and (max-width: 768px) {
    #image-preview {
        gap: 6px;
    }

    #image-preview.single-preview {
        grid-template-columns: 1fr;
        grid-auto-rows: 250px;
    }

    #image-preview.dual-preview {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 200px;
    }

    #image-preview.triple-preview {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 150px;
    }

    #image-preview.quad-preview {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 180px;
    }

    #image-preview.quintuple-preview {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 140px;
    }

    #image-preview.sextuple-preview {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 140px;
    }

    #image-preview.septuple-preview {
        grid-template-columns: repeat(4, 1fr);
        grid-auto-rows: 110px;
    }

    #image-preview.octuple-preview {
        grid-template-columns: repeat(4, 1fr);
        grid-auto-rows: 110px;
    }

    #image-preview.nonuple-preview {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 140px;
    }

    .remove-btn {
        width: 24px;
        height: 24px;
        font-size: 16px;
        top: 2px;
        right: 2px;
    }
}

/* disabledな要素全般に一律で“あせた”感じを出す */
:disabled,
[disabled] {
  filter: grayscale(60%) brightness(0.9) opacity(0.6);
  cursor: not-allowed;
}



/* モーダルコンテナ */
.delete-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    font-family: 'Noto Sans JP', sans-serif;
}

/* モーダルが表示される時 */
.delete-modal.show {
    display: flex;
}

/* オーバーレイ（背景） */
.delete-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

/* モーダルコンテンツ */
.delete-modal-content {
    position: relative;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    width: 90%;
    max-width: 400px;
    padding: 32px 24px;
    animation: slideUp 0.3s ease-out;
    z-index: 10000;
}

/* スライドアップアニメーション */
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* モーダルヘッダ */
.delete-modal-header {
    margin-bottom: 24px;
    text-align: center;
}

/* モーダルタイトル */
.delete-modal-title {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.4;
}

/* モーダルメッセージ */
.delete-modal-message {
    margin: 0;
    font-size: 14px;
    color: #666666;
    line-height: 1.5;
}

/* ボタンコンテナ */
.delete-modal-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
}

/* キャンセルボタン */
.delete-btn-cancel {
    text-align: center;
    flex: 1;
    padding: 12px 20px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #f5f5f5;
    color: #1a1a1a;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: 'Noto Sans JP', sans-serif;
}

.delete-btn-cancel:hover {
    background-color: #ececec;
    border-color: #d0d0d0;
}

.delete-btn-cancel:active {
    background-color: #e0e0e0;
    transform: scale(0.98);
}

/* 削除確認ボタン */
.delete-btn-confirm {
    text-align: center;
    flex: 1;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    background-color: #e74c3c;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: 'Noto Sans JP', sans-serif;
}

.delete-btn-confirm:hover {
    background-color: #d63031;
    box-shadow: 0 4px 12px rgba(231, 76, 60, 0.3);
}

.delete-btn-confirm:active {
    background-color: #c73927;
    transform: scale(0.98);
}

/* ボタン無効化時 */
.delete-btn-confirm:disabled,
.delete-btn-cancel:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* レスポンシブ対応 */
@media (max-width: 480px) {
    .delete-modal-content {
        width: 85%;
        padding: 24px 20px;
    }

    .delete-modal-title {
        font-size: 16px;
    }

    .delete-modal-message {
        font-size: 13px;
    }

    .delete-modal-buttons {
        gap: 10px;
    }

    .delete-btn-cancel,
    .delete-btn-confirm {
        padding: 10px 16px;
        font-size: 13px;
    }
}

/* タブレット対応 */
@media (min-width: 768px) {
    .delete-modal-content {
        max-width: 420px;
    }

    .delete-modal-buttons {
        gap: 16px;
    }
}

.delete-modal-content.gogo-theme {
    border-top: 4px solid #00a86b;
}

/* ========================================
   応募のCSS
   ======================================== */

   #joblisting-entry {
    /* max-width: 600px; */
}

/* ----------------------------------------
   確認メッセージボックス
   ---------------------------------------- */

#joblisting-entry .confirmation-box {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.08) 0%, rgba(102, 187, 106, 0.08) 100%);
    border-left: 4px solid #4CAF50;
    padding: 16px 20px;
    border-radius: 8px;
    margin-bottom: 32px;
}

#joblisting-entry .jobseeker_confirmation {
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 8px;
}

#joblisting-entry .jobseeker_confirmation:first-child {
    font-size: 16px;
    font-weight: 600;
    color: #2e7d32;
    display: flex;
    align-items: center;
}

#joblisting-entry .jobseeker_confirmation:first-child::before {
    content: '✓';
    display: inline-block;
    width: 24px;
    height: 24px;
    background: #4CAF50;
    color: white;
    border-radius: 50%;
    text-align: center;
    line-height: 24px;
    margin-right: 10px;
    font-weight: bold;
    font-size: 14px;
    flex-shrink: 0;
}

#joblisting-entry .jobseeker_confirmation:last-child {
    color: #558b2f;
    margin-bottom: 0;
}

/* ----------------------------------------
   エントリー理由セレクト
   ---------------------------------------- */

#joblisting-entry .pulldown_container {
    margin-bottom: 32px;
}

#joblisting-entry .container_text {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
}

#joblisting-entry .container_text::after {
    content: '必須';
    display: inline-block;
    background: #ff6b6b;
    color: white;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 8px;
    font-weight: 600;
    vertical-align: middle;
}

#joblisting-entry .pulldown {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    color: #333;
    background-color: #fafafa;
    cursor: pointer;
    transition: all 0.3s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

#joblisting-entry .pulldown:hover {
    border-color: #4CAF50;
    background-color: #f5fff7;
}

#joblisting-entry .pulldown:focus {
    outline: none;
    border-color: #4CAF50;
    background-color: white;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
}

/* ----------------------------------------
   アピールポイント入力エリア
   ---------------------------------------- */

#joblisting-entry .message-input-container {
    margin-bottom: 32px;
}

#joblisting-entry .message-input-container label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
}

#joblisting-entry .message-input-container label::after {
    content: '必須';
    display: inline-block;
    background: #ff6b6b;
    color: white;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 8px;
    font-weight: 600;
}

#joblisting-entry .appeal-textarea {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    color: #333;
    background-color: #fafafa;
    resize: vertical;
    min-height: 120px;
    transition: all 0.3s ease;
}

#joblisting-entry .appeal-textarea:hover {
    border-color: #4CAF50;
    background-color: #f5fff7;
}

#joblisting-entry .appeal-textarea:focus {
    outline: none;
    border-color: #4CAF50;
    background-color: white;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
}

#joblisting-entry .appeal-textarea::placeholder {
    color: #999;
}

/* ----------------------------------------
   メッセージ説明とカウント
   ---------------------------------------- */

#joblisting-entry .message-description {
    margin-top: 10px;
    font-size: 12px;
    color: #666;
    line-height: 1.6;
    background: #f9f9f9;
    padding: 12px;
    border-radius: 6px;
    border-left: 2px solid #4CAF50;
}

#joblisting-entry .character-count {
    margin-top: 8px;
    font-size: 12px;
    color: #999;
    text-align: right;
    transition: color 0.2s ease;
}

#joblisting-entry .character-count.warning {
    color: #ff6b6b;
    font-weight: 600;
}

/* ----------------------------------------
   エントリーボタン
   ---------------------------------------- */

#joblisting-entry #entry-message {
    max-width: 330px;
    margin-top: 16px;
    padding: 12px;
    background: #e8f5e9;
    border-radius: 6px;
    color: #2e7d32;
    font-size: 12px;
    text-align: center;
    display: none;
}

#joblisting-entry #entry-message.show {
    display: block;
    animation: joblisting-slideIn 0.3s ease;
}

#joblisting-entry #entry-btn {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    max-width: 330px;
    width: 100%;
    height: 60px;
    border-radius: .3em;
    display: flex;
    gap: .3em;
    align-items: center;
    justify-content: center;
    margin: auto;
}

#joblisting-entry #entry-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(76, 175, 80, 0.4);
}

#joblisting-entry #entry-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

#joblisting-entry #entry-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

#joblisting-entry #entry-btn a {
    display: block;
    text-decoration: none;
    color: white;
}

.as-label {
    pointer-events: none;   /* クリック不能 */
    border: none;           /* 好みに応じて */
    background: transparent;
    color: inherit;
  }