@charset "utf-8";

/*----------------------------------------------------------------------------------------------------------------------------

reset & root set

----------------------------------------------------------------------------------------------------------------------------*/

/* reset
--------------------------------------------------------------*/

*,*::before,*::after { box-sizing: border-box; }
ul,ol { margin: 0; padding: 0; list-style: none; }
body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd { margin: 0; font-size: inherit; }
img,video { max-width: 100%; height: auto; display: block; }
header,footer,main,aside,picture { display: block; }

/* form parts reset */
textarea { font: inherit; appearance: none; }
select { border: none; outline: none; font-weight: inherit; }
button,input[type="submit"],input[type="button"] { appearance: button; border: none; outline: none; cursor: pointer; }
input[type="submit"]:focus,input[type="button"]:focus { outline-offset: -2px;}
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display: none;}

/* iOS Safari tap reset */
body {-webkit-tap-highlight-color: transparent;}



/* print set
--------------------------------------------------------------*/
@media print{
html { width: 1280px; }
.header { position: relative !important; }/* fixheader clear */
[class*="iv-"] { opacity: 1; }/* inview view */
}


/* root set
--------------------------------------------------------------*/

/* color */
:root {
    --cl-key: #0086CC;
    --cl-entry: #EAA200;
    --cl-txt: #333333;
    --cl-txt-gr: #777777;
    --cl-border: #DDDDDD;
    --cl-bg-gr: #F9F9F9;
    --cl-wh: #fff;
    --cl-bk: #000;
    --cl-error: #CC0A0A;
}

/* fixheader height */
:root { --header-height: 5rem; }
@media print, screen and (min-width: 640px) {
:root { --header-height: 12rem; }
}

/* font set */
:root {
    /* font: style weight size / line-height family */
    --ff-base: normal 400 1.4rem / 1.6 "Noto Sans JP", sans-serif;
    --ff-base-bold: 600;
    --ff-base-normal: 400;
    --ff-ff01f: "Open Sans", sans-serif;
}
@media print, screen and (min-width: 640px) {
:root {
    /* font: style weight size / line-height family */
    --ff-base: normal 400 1.4rem / 1.8 "Noto Sans JP", sans-serif;
}
}


/*----------------------------------------------------------------------------------------------------------------------------

base set

----------------------------------------------------------------------------------------------------------------------------*/
html { font-size:calc(100vw / 37.5); scroll-behavior: smooth; scroll-padding-top: var(--header-height); background-color: var(--cl-bg-gr); }
body { min-height: 100vh; text-rendering: optimizeSpeed; -webkit-text-size-adjust:100%; text-size-adjust: 100%; color: var(--cl-txt); font: var(--ff-base); }
a { color: var(--cl-txt); outline:none; text-decoration:none; }

@media print, screen and (min-width: 640px) {
html { font-size: calc(100vw / 124); scroll-padding-top: 10rem; }
body { font-size: 1.6rem; }
a,
button { transition: 0.5s; }
a:hover,
button:hover { opacity: 0.6; }
}

@media print, screen and (min-width: 1240px) {
html { font-size:62.5%; }
}


/* form set */
input:not([type=radio],[type=checkbox],[type=submit]),
select,
textarea { padding:0 0.75rem; background-color:var(--cl-bg-gr); border: none; width:100%; font-size: 1.6rem; height: 5rem; font-family: inherit;  border-radius: 1rem;}
textarea { padding:1.0rem 1.25rem; min-height:20rem; }
button { cursor: pointer; padding: 0; background: none; color: var(--cl-txt); width: 100%; font-size: inherit; }
input::placeholder,
textarea::placeholder { color:var(--cl-txt-gr); font-size: 0.8em; }
label { display: inline-block; width: fit-content; }
label:hover { cursor: pointer; }
select {}

@media print, screen and (min-width: 640px) {
input:not([type=radio],[type=checkbox],[type=submit]),
select,
textarea { height: 5.6rem; padding: 1rem 1.5rem; }
select:hover { cursor: pointer; }
input::placeholder,
textarea::placeholder { font-size: 1.6rem; }

}


/* main contents
--------------------------------------------------------------*/
.main { position: relative; min-height: 50vh; }
@media print, screen and (min-width: 640px) {
.main { }
}




/*----------------------------------------------------------------------------------------------------------------------------

utility & inview set

----------------------------------------------------------------------------------------------------------------------------*/

/* utility - base
---------------------------------------------------- */

/* utility - base responsive */
.u-inner { max-width: 124rem; margin: 0 auto; width: 90%; }
.u-inner._inner-mid { max-width: 103rem; }
.u-inner._inner-min { max-width: 96rem; }
.u-only-pc	{ display: none; }

@media print, screen and (min-width: 640px) {
.u-inner { }
.page-sponly .main .u-inner { max-width: 64rem;}
.u-only-sp	{ display: none !important; }
.u-only-pc	{ display: inherit; }
}

/* utility - base */
.u-ff01 { font-family: var(--ff01f); font-weight: 300; }
.u-cl-txt { color: var(--cl-txt); }
.u-cl-wh { color: var(--cl-wh); }
.u-cl-key { color: var(--cl-key);}
.u-cl-txtgr { color: var(--cl-txt-gr);}
.u-fw-bold {font-weight: var(--ff-base-bold);}
.u-fs-sm { font-size: 1.2rem;}
.u-fs-ex { font-size: 1.2rem;}
.u-iframebox { min-height:0; aspect-ratio: 16 / 9; }
.u-iframebox iframe { width: 100%; height: 100%; object-fit: contain; }

.u-w30 { width: 30% !important; }
.u-w50 { width: 50% !important; }
.u-mt01 { margin-top: 1rem !important; }
.u-mt02 { margin-top: 2rem !important; }
.u-mt03 { margin-top: 3rem !important; }
.u-mt04 { margin-top: 4rem !important; }
.u-mt05 { margin-top: 5rem !important; }
.u-mt06 { margin-top: 6rem !important; }
.u-mt01-02 { margin-top: 1rem !important; }
.u-mt02-04 { margin-top: 2rem !important; }
.u-mt04-06 { margin-top: 4rem !important; }
.u-mb01 { margin-bottom: 1rem !important; }
.u-mb02 { margin-bottom: 2rem !important; }
.u-mb03 { margin-bottom: 3rem !important; }
.u-mb04 { margin-bottom: 4rem !important; }
.u-mb05 { margin-bottom: 5rem !important; }
.u-mb06 { margin-bottom: 6rem !important; }

@media print, screen and (min-width: 640px) {
.u-mt01-02 { margin-top: 2rem !important; }
.u-mt02-04 { margin-top: 4rem !important; }
.u-mt04-06 { margin-top: 6rem !important; }
.u-fs-sm { font-size: 1.4rem;}

}


/* utility - basewrap */
.u-wrapsect { padding: 4rem 0; overflow: hidden; }
.u-wrapsect:last-child:not(._bg) { padding-bottom: 8rem; }
.u-wrapsect:not(._bg) + .u-wrapsect:not(._bg) { padding-top: 0; }
.u-wrapsect._bg { background-color: var(--cl-wh); }
.u-wrapblck { padding: 4rem 0 0; }
.u-wrapblck-box { padding: 4rem 0 0;}
.c-pagetitle + .u-wrapsect._bg { margin-top: 2rem;}
.c-result-wrap + .u-wrapsect { padding-top: 2rem;}
@media print, screen and (min-width: 640px) {
.u-wrapsect { padding: 6rem 0; }
.u-wrapsect:last-child:not(._bg) { padding-bottom: 16rem; }
.u-wrapblck { padding: 8rem 0 0; }
.u-wrapblck-box { padding: 8rem 0 0;}
.c-pagetitle + .u-wrapsect._bg { margin-top: 6rem;}
.c-result-wrap + .u-wrapsect { padding-top: 3rem;}
}


/* utility - accordion  */
.js-acd { display: grid; grid-template-columns: auto max-content; align-items: center; cursor: pointer; }
.js-acd::after { content: ""; display: block; width: 1em; height: 1em; mask: url(../../assets/images/common/ar_right_b.svg) no-repeat center center / contain; background-color: var(--cl-key); transform: rotate(90deg); transition: 0.3s; }
.js-acd.is-open::after { transform: rotate(-90deg);  }




/* utility - tab  */
.js-tab-content { display: none;}
.js-tab-content.is-active { display: block; }




/* utility - title
---------------------------------------------------- */

.u-title-xl,
.u-title-xl02 { font-size: 1.8rem !important; line-height: 1.4; font-weight: var(--ff-base-bold);  }
.u-title-lg { font-size: 1.6rem !important; line-height: 1.4; font-weight: var(--ff-base-bold);  }
.u-title-md { font-size: 1.6rem !important; line-height: 1.4; font-weight: var(--ff-base-bold);  }

@media print, screen and (min-width: 640px) {
.u-title-xl { font-size: 3.2rem !important; }
.u-title-xl02 { font-size: 2.8rem !important; }
.u-title-lg { font-size: 2.4rem !important; }
.u-title-md { font-size: 1.8rem !important; }
}

.u-title-line { position: relative; line-height: 1; }
.u-title-line::before { position: absolute; top: 50%; left: -1.8rem; transform: translate(0,-50%); content: ""; display: block; width: 1rem; height: 2px; background-color: var(--cl-key); }

@media print, screen and (min-width: 640px) {
.u-title-line::before { left: -5rem; width: 3rem; }

}


.u-title-bg { padding: 0.6em; background-color: var(--cl-bg-gr); text-align: left;}
.u-title-bg._wh { background-color: var(--cl-wh);}



.u-title-zero { position: relative; padding: 2rem 0; text-align: center;}
.u-title-zero span { position: relative; z-index: 10;}
.u-title-zero::before { position: absolute; top: 0; left: 0; right: 0; content: ""; display: block; width: 100%; height: 100%; margin: 0 auto; mask: url(../../assets/images/common/ico_search.svg) no-repeat center center / contain; background-color: var(--cl-bg-gr);}
.u-title-zero._list::before { mask-image: url(../../assets/images/common/ico_caution.svg) ;}

@media print, screen and (min-width: 640px) {
.u-title-zero { padding: 3.33rem 0; }

}



.u-bgwrap { position: relative; padding: 2rem; border: var(--cl-border) 1px solid; border-radius: 1rem; background-color: var(--cl-wh);}
.u-bgwrap + .u-bgwrap { margin-top: 1rem;}
.u-bgwrap._bgwrap-mid {}
.u-bgwrap._bg-only { border: none; border-radius: 0;}
.c-grid .u-bgwrap + .u-bgwrap { margin-top: 0;}

@media print, screen and (min-width: 640px) {
.u-bgwrap { padding: 6rem; }
.u-bgwrap + .u-bgwrap { margin-top: 3rem;}
.u-bgwrap._bgwrap-mid { padding: 3rem;}
.u-bgwrap._bgwrap-min { padding: 2rem;}
.u-bgwrap._ta-cen { text-align: center;}

}




.u-btn-cancel { display: block; width: 100%; padding: 0.4rem; font-size: 1.4rem; color: var(--cl-txt-gr); text-decoration: underline; background-color: var(--cl-bg-gr); border-radius: 0.3rem;}
.u-btn-cancel::before { content: "✕"; margin: 0 0.5rem 0 0;}

@media print, screen and (min-width: 640px) {
.u-btn-cancel { width: max-content; padding: 0; background-color: transparent;}

}



/* utility - link
---------------------------------------------------- */

/* utility - linkbtn */
.u-linkbtn { display: grid; align-items: center; justify-content: center; width: 100%; height: 5rem; border-radius: 1rem; background-color: var(--cl-key); color: var(--cl-wh); font-weight: var(--ff-base-bold); border: var(--cl-key) 1px solid;}
.u-linkbtn.is-wh { background-color: var(--cl-wh); color: var(--cl-key); }
.u-linkbtn.is-line { display: grid; grid-template-columns: max-content auto; gap: 1rem; background-color: #06C755; border-color: #06C755;  }
.u-linkbtn.is-line::before { content: ""; display: block; width: 1.63em; height: 1.63em; background: url(../../assets/images/common/ico_sns_line.svg) no-repeat center center / contain;  }
.u-linkbtn.is-entry { background-color: var(--cl-entry); border-color: var(--cl-entry); grid-template-columns: max-content auto; gap: 1rem;  }
.u-linkbtn.is-entry::before { content: ""; display: block; width: 1.2em; height: 1.2em; mask: url(../../assets/images/common/ico_checkbox.svg) no-repeat center center / contain; background-color: var(--cl-wh); }
.u-linkbtn.is-consider { grid-template-columns: max-content auto; gap: 1rem;  }
.u-linkbtn.is-consider::before { content: ""; display: block; width: 1em; height: 1em; mask: url(../../assets/images/common/ico_pick.svg) no-repeat center center / contain; background-color: var(--cl-key);  }
.u-linkbtn.is-inactive { background-color: var(--cl-border); border-color: var(--cl-border); grid-template-columns: max-content auto; }

.u-linkbtn.is-edit { grid-template-columns: max-content auto; gap: 1rem;  }
.u-linkbtn.is-edit::before { content: ""; display: block; width: 1em; height: 1em; mask: url(../../assets/images/common/ico_edit.svg) no-repeat center center / contain; background-color: var(--cl-wh);  }


.u-linkbtn.is-search { grid-template-columns: max-content auto; gap: 1rem;  }
.u-linkbtn.is-search::before { content: ""; display: block; width: 1.2em; height: 1.2em; mask: url(../../assets/images/common/ico_search.svg) no-repeat center center / contain; background-color: var(--cl-wh);  }

@media print, screen and (min-width: 640px) {
.u-linkbtn { max-width: 36rem; height: 6rem; padding: 0 2rem;}

}




/* utility - txtlink */
.u-ico-right,
.u-ico-left { display: flex; gap: 0.6em; font-size: 1.2rem; align-items: center; font-weight: var(--ff-base-bold); color: var(--cl-key); line-height: 1;}
.u-ico-right img,
.u-ico-left img { width: 1em;}
.u-ico-left img { transform: rotate(-180deg);}

@media print, screen and (min-width: 640px) {
.u-ico-right,
.u-ico-left { font-size: 1.4rem;}
}



.u-linktxt { color: var(--cl-key); text-decoration: underline;}
.u-event-freetxt { display: grid; grid-template-columns: max-content auto; align-items: center; color: var(--cl-key); gap: 0.5rem; padding: 0.6em 1em 0.6em 0.6em; border: var(--cl-key) 1px solid; border-radius: 0 10rem 10rem 0; font-size: 1.2rem; line-height: 1.4; background-color: var(--cl-wh);}
.u-event-freetxt::before { content: ""; display: block; width: 0.6rem; height: 0.6rem; background-color: var(--cl-key); border-radius: 50%;}

@media print, screen and (min-width: 640px) {
.u-event-freetxt { gap: 0.6rem; padding: 0.6rem 1rem; font-size: 1.6rem; width: max-content; }

}



/* utility - other
---------------------------------------------------- */
/* 画像比率16:9 */
.u-pic-aspect { min-height:0; aspect-ratio: 16 / 9; background-color: var(--cl-bg-gr);}
.u-pic-aspect img { width: 100%; height: 100%; object-fit: contain;}


/* 省略 */
.u-txt-omission01 { display: -webkit-box; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 1;}
.u-txt-omission02 { display: -webkit-box; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2;}
.u-txt-omission03 { display: -webkit-box; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3;}










/* iv-animation
---------------------------------------------------- */
.iv-fade { opacity:0; transition: 0.8s; }
.iv-fade._view { opacity:1; }
.iv-up_fade { opacity:0; transform:translate(0, 6rem); transition: 0.8s; }
.iv-up_fade._view { opacity:1; transform:translate(0, 0); }


.c-auth-wrap { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem;}
.c-auth-wrap > * { min-width: 12rem; height: 8rem; text-align: center; border-radius: 1rem; line-height: 1;}
.c-auth-login { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.6em; border: var(--cl-border) 1px solid; font-size: 1.4rem; font-weight: var(--ff-base-bold); background-color: var(--cl-wh);}
.c-auth-login img { width: 1.2em; margin: 0 auto;}
.c-auth-register { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.6rem; background-color: var(--cl-key); color: var(--cl-wh); font-weight: var(--ff-base-bold);}
.c-auth-register p { display: flex; gap: 0.5rem; align-items: center; font-size: 1.5rem; font-weight: var(--ff-base-bold);}
.c-auth-register span { display: block; font-size: 1.2rem; }
.c-auth-register-bg { display: inline-flex !important; align-items: center; justify-content: center; width: 3.6rem; height: 1.6rem; background-color: var(--cl-wh); color: var(--cl-key); border-radius: 0.4rem; align-items: center;}



/*----------------------------------------------------------------------------------------------------------------------------

base layout

----------------------------------------------------------------------------------------------------------------------------*/


/* header
--------------------------------------------------------------*/

/* header */
.header { position: relative; padding: 0 2rem; height: var(--header-height); display: grid; align-items: center; width: 100%; transition: 0.5s; background-color: var(--cl-wh); box-shadow: 0 0 1rem rgba(0,0,0,0.16); z-index: 100; }
.header-logo { width: 14rem; }
.header-logo span { display: block; margin-bottom: 0.5rem; color: var(--cl-wh); font-size: 1.2rem; font-weight: var(--ff-base-bold); }
.header-logo-txt { display: none; }
.header-nav,
.header-wrap,
.header-alert,
.header .header-support,
.header-btn { display: none;}
.header-support-logout { display: grid; grid-template-columns: 1em auto; align-items: center; justify-content: center; gap: 0.6rem; height: 4rem; margin-top: 3rem; background-color: var(--cl-bg-gr); font-size: 1.2rem;}

@media print, screen and (min-width: 640px) {
.header { padding: 0 3rem; grid-template-columns: 16.94% auto max-content; gap: 4rem; align-items: center; }
.header-logo { width: 100%; }
.header-logo-link {}
.header-logo-txt { display: block; margin-bottom: 0.8rem; font-size: 1.2rem; color: var(--cl-txt-gr); }
.header-area { display: flex;}
.header-area-item { font-size: 1.2rem; cursor: pointer;}
.header-area-item + .header-area-item::before { content: "|"; margin-inline: 0.5rem;}
.header-wrap,
.header-alert,
.header .header-support  { display: block;}
.header-nav { display: flex; gap: 3rem; margin-top: 1.2rem; }
.header-nav-item { display: flex; gap: 0.6rem; align-items: center; }
.header-nav-item img { width: 1.2em; }

/* 未ログイン */
.header-btn { display: grid;}

/* ログイン */
.header._login { padding-right: 0; grid-template-columns: 16.94% auto 24rem;}
.header-btn._login-menu { display: grid; grid-template-columns: repeat(2,1fr); }
.header-btn._login-menu > * { width: 100%; height: 12rem; border-left: var(--cl-border) 1px solid; }
.header-btn-alert { position: relative; display: grid; align-items: center; justify-content: center;}
.header-btn-alert::after { position: absolute; top: 3rem; right: 3rem; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; content: "2"; background-color: var(--cl-error); border-radius: 50%; color: var(--cl-wh); font-weight: var(--ff-base-bold); font-size: 1.2rem; pointer-events: none;}
.header-btn-alert img { width: 2rem;}

.header-btn-menu { position: relative; appearance: none; border: none; cursor: pointer; width: 5rem; height: 5rem; outline: none; transition:0.5s; z-index: 130; cursor: pointer; }
.header-btn-menu::before,
.header-btn-menu::after { content: ""; position: absolute; left: 50%; width: 2rem; height: 2px; background-color: var(--cl-key); transform: translateX(-50%); transition:0.3s; }
.header-btn-menu::before { top: 5.2rem; }
.header-btn-menu::after  { bottom: 5.2rem; }
.header-btn-menu-line { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 2rem; height: 2px; background-color: var(--cl-key); transition: 0.3s; overflow: hidden; }

.is-active.header-btn-menu::before,
.is-active.header-btn-menu::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); transition:0.3s; }
.is-active.header-btn-menu::before { top: 50%; transform: translate(-50%,-50%) rotate(45deg) ; left: 50%; }
.is-active.header-btn-menu::after  { bottom: auto; top: 50%; transform: translate(-50%,-50%) rotate(-45deg); left: 50%;}
.is-active.header-btn-menu .header-btn-menu-line { display: none; }
}


/* メニュー系 */
@media print, screen and (min-width: 640px) {

.header-alert { visibility: hidden; opacity: 0; transition:0.3s; position: absolute; top: 12rem; right: 0; width: 100%; max-width: 40rem; height: 40rem; overflow-y: scroll; background-color: var(--cl-wh); border: var(--cl-border) 1px solid; z-index: 10; }
.header-alert.is-active { visibility: visible; opacity: 1; }
.header-alert-item { display: block; padding: 2rem;}
.header-alert-item + .header-alert-item { border-top: var(--cl-border) 1px solid;}
.header-alert-title { font-size: 1.4rem; font-weight: var(--ff-base-bold); line-height: 1.6;}
.header-alert-day { margin-top: 0.5rem; font-size: 1.2rem;}
}

.header .header-support { visibility: hidden; opacity: 0; transition:0.3s; position: absolute; top: 12rem; right: 0; width: 100%; max-width: 40rem; border: var(--cl-border) 1px solid; z-index: 10;}
.header-support { padding: 4rem 2rem 2rem; background-color: var(--cl-wh);}
.header-support.is-active { visibility: visible; opacity: 1; }
.header-support-title { font-weight: var(--ff-base-bold);}
.header-support-mainmenu { display: grid; grid-template-columns: repeat(2,1fr); gap: 2rem; margin-top: 1.6rem;}
.header-support-mainmenu > * { display: grid; align-items: center; justify-content: center; height: 6rem; font-weight: var(--ff-base-bold); border: var(--cl-border) 1px solid; border-radius: 1rem; font-size: 1.4rem;}
.header-support-submenu { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 2rem; margin-top: 3rem;}
.header-support-submenu .header-support-title { grid-column: 1/3;}
.header-support-submenu > div { margin-top: 1rem; }
.header-support-submenu > div a { display: block; font-size: 1.4rem;}
.header-support-submenu > div a + a { margin-top: 1rem;}
.header-support-submenu > div a::before { content: "-"; margin-right: 0.5rem;}






/* spitem
--------------------------------------------------------------*/

/* _spopen changes */
@media print, screen and  (max-width: 1023px) {
body.is-active { height: 100%; overflow: hidden; }
}


/* spnav-search */
.spitem-searchbtn { position: absolute; top: 0; right: 5rem; width: 5rem; height: 5rem; display: grid; align-items: center; justify-content: center; z-index: 130;}
.spitem-searchbtn > * { width: 2rem;}


/* spnav-btn */
.spitem-menubtn { position: absolute; top: 0; right: 0; appearance: none; border: none; cursor: pointer; width: 5rem; height: 5rem; outline: none; transition: 0.5s; z-index: 130; cursor: pointer; }
.spitem-menubtn::before,
.spitem-menubtn::after { content: ""; position: absolute; left: 50%; width: 2rem; height: 2px; background-color: var(--cl-key); transform: translateX(-50%); transition:0.3s; }
.spitem-menubtn::before { top: 1.8rem; }
.spitem-menubtn::after  { bottom: 1.8rem; }
.spitem-menubtn-line { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 2rem; height: 2px; background-color: var(--cl-key); transition: 0.3s; overflow: hidden; }

._close.spitem-menubtn { }
._close.spitem-menubtn::before,
._close.spitem-menubtn::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); transition:0.3s; }
._close.spitem-menubtn::before { top: 50%; transform: translate(-50%,-50%) rotate(45deg) ; left: 50%; }
._close.spitem-menubtn::after  { bottom: auto; top: 50%; transform: translate(-50%,-50%) rotate(-45deg); left: 50%;}
._close.spitem-menubtn .spitem-menubtn-line { display: none; }

@media print, screen and (min-width: 640px) {
.spitem { display: none; }
.spitem-menubtn { display: none; }
}


/* spnav [wrap] */
.spmenu { opacity: 0; visibility: hidden; position: fixed; top: var(--header-height); right: 0; width: 100%; z-index: 20; transition: 0.3s; width: 100%; height: 100vh; background-color: var(--cl-bg-gr); overflow-y: scroll;}
.spmenu.is-active { opacity: 1; visibility: visible;  }
.spmenu-inner { margin: 0 auto; padding: 3vh 4vw 12vh; }
.spmenu-inner .header-support { margin-inline: -4vw; padding-inline: 4vw; }
._login .spmenu-inner { padding-top: 0; }

.spsearch-keyword { padding: 1.5rem 1.5rem 1rem;}
.spsearch-keyword-title { }
.spsearch-keyword-box { display: grid; grid-template-columns: auto max-content; }
.spsearch-keyword input { padding: 0; background-color: transparent; }
.spsearch-keyword input::placeholder { color: var(--cl-txt-gr); font-size: 1.4rem; }
.spsearch-keyword-btn { width: 2rem;}

.spmenu-bgbox { margin-top: 1.6rem; padding: 1.5rem; background-color: var(--cl-wh); border: var(--cl-border) 1px solid; border-radius: 1rem;}
.spmenu-item-link { display: block; padding: 1.5rem 0; border-top: var(--cl-border) 1px solid;}
.spmenu-item-link:first-child { margin-top: 1.5rem; }
.spmenu-item-link:last-child { padding-bottom: 0; }
.spmenu-item-title { font-size: 1.8rem; font-weight: var(--ff-base-bold);}

.spmenu-sns-insta { display: block; width: 5rem; margin: 3rem auto 0;}






/* spsearch
--------------------------------------------------------------*/

.spsearch { position: relative; opacity: 0; visibility: hidden; position: fixed; top: 0; left: 100%; width: 100%; transition: 0.3s; width: 100%; height: 100vh; background-color: var(--cl-bg-gr); overflow-y: scroll; z-index: 210;}
.spsearch.is-active { opacity: 1; visibility: visible; left: 0%;}
.spsearch-inner { margin: 0 auto; padding: 3vh 4vw 14vh; }
.spsearch-back { width: max-content; position: absolute; top: 1.8rem; left: 1.5rem; font-size: 1.4rem;}
.spsearch-title { display: grid; align-items: center; justify-content: center; height: 5rem; font-size: 1.6rem; font-weight: var(--ff-base-bold); background-color: var(--cl-wh); border-bottom: var(--cl-border) 1px solid;}


.spsearch-item { position: relative; padding: 1.5rem 1.5rem; background-color: var(--cl-wh); border: var(--cl-border) 1px solid; border-radius: 1rem; text-align: left;}
.spsearch-item + .spsearch-item { margin-top: 1rem;}
.spsearch-item-clear { position: absolute; top: 1.5rem; right: 1.5rem; color: var(--cl-key); text-decoration: underline;}
.spsearch-item-title { font-size: 1.6rem; font-weight: var(--ff-base-bold);}
.spsearch-item-box { display: grid; grid-template-columns: 1fr max-content; align-items: center; gap: 1em; margin-top: 0.5rem;}
.spsearch-item-box::after { content: ""; display: block; width: 1.8rem; height: 1.8rem; mask: url(../../assets/images/common/ar_right_b.svg) no-repeat center center / contain; background-color: var(--cl-key);}
.spsearch-item-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0 ; font-size: 1.4rem;}
.spsearch-item-pick li {  }
.spsearch-item-pick li + li::before { content: "/"; margin-inline: 0.5rem; color: var(--cl-border);  }
.spsearch-item-pick li.is-default { color: var(--cl-txt-gr);}

.spsearch-radio-box { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem;}
.spsearch-radio-box input[type="radio"] { display: none; }
.spsearch-item-radio { display: inline-block; padding: 0.4em 1em; border: 1px solid var(--cl-border); border-radius: 0.4rem;  cursor: pointer; transition: background-color 0.3s, color 0.3s; font-size: 14px; }
input[type="radio"]:checked + .spsearch-item-radio { background-color: var(--cl-key); color: var(--cl-wh); border-color: var(--cl-key); }


.spsearch-bottom-wrap { position: fixed; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 1rem; align-items: flex-end; justify-content: flex-end; width: 100%; height: 8rem; padding: 1.5vh 4vw; background-color: rgba(255, 255, 255, 0.9); }
.spsearch-result {}
.spsearch-result-title { font-size: 1.6rem; font-weight: var(--ff-base-bold);}
.spsearch-result-num { font-size: 1.6rem; font-weight: var(--ff-base-bold);}
.spsearch-result-num span { margin-right: 0.5rem; font-size: 3rem; font-weight: var(--ff-base-bold); color: var(--cl-key); line-height: 1;}
.spsearch-btn-clear,
.spsearch-btn-decision { display: grid; align-items: center; justify-content: center; height: 5rem; font-size: 1.6rem; font-weight: var(--ff-base-bold); border-radius: 1rem; }
.spsearch-btn-clear { color: var(--cl-key);  border: var(--cl-key) 1px solid; }
.spsearch-btn-decision { color: var(--cl-wh); background-color: var(--cl-key); }




.spsearch-detail { position: fixed; inset: 0; background: #fff; display: block; visibility: hidden; opacity: 0; transform: translateY(100%); transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease; z-index: 9999;}
.spsearch-detail.is-active {  visibility: visible; opacity: 1; transform: translateY(0);}
.spsearch-detail-inner { height: calc(100% - 13rem); overflow: scroll;}
.spsearch-detail.is-closing {  opacity: 0; transform: translateY(100%); }

.spsearch-detail-box { }
.spsearch-detail-box:last-child { border-bottom: var(--cl-border) 1px solid;}
.spsearch-detail-box + .spsearch-detail-box { border-top: var(--cl-border) 1px solid;  }
.spsearch-detail-title { padding: 3vh 4vw;  font-weight: var(--ff-base-bold);}
.spsearch-detail-list { }
.spsearch-detail-item { margin-top: 2px; background-color: var(--cl-bg-gr);}
.spsearch-detail-item label { padding: 2vh; }
.spsearch-detail-item:first-child { margin-top: 0;}

.spsearch-detail-back { width: max-content; position: absolute; top: 1.8rem; left: 1.5rem; font-size: 1.4rem;}
.spsearch-detail .spsearch-bottom-wrap { position: static; border-bottom: var(--cl-border) 1px solid;}


/* カレンダー */
#spsearch-date {}
#spsearch-date .spsearch-detail-inner { padding: 2rem; }



.schedule-head { display: grid; grid-template-columns: auto max-content; align-items: center;}
.schedule-head > * { }
.schedule-check-box { display: flex; align-items: center; gap: 2rem;}
.schedule-check-box > * { width: max-content;}

.schedule-calendar { margin-top: 2rem;}
.schedule-calendar-head { background-color: var(--cl-bg-gr);}
.schedule-calendar-item { display: grid; grid-template-columns: repeat(7,1fr);}
.schedule-calendar-item > * { display: grid; align-items: center; justify-content: center; height: 5rem; text-align: center; font-size: 1.4rem;}
.schedule-calendar-item > *._click { position: relative; color: var(--cl-wh); font-weight: var(--ff-base-bold);}
.schedule-calendar-item > *._click::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; content: ""; display: block; width: 5rem ; height: 5rem; background-color: var(--cl-key); border-radius: 50%; }
.schedule-calendar-item > *:nth-child(7n + 1) { color: var(--cl-error);}
.schedule-calendar-item > *:nth-child(7n + 7){ color: var(--cl-key);}

.schedule-calendar-nav { margin-top: 2rem; padding-top: 2rem; border-top: var(--cl-border) 1px solid; display: flex; align-items: center; justify-content: space-between; }
.schedule-calendar-nav .nav-prev { text-align: left; }
.schedule-calendar-nav .nav-next { text-align: right; }

@media print, screen and (min-width: 640px) {
.schedule-calendar-item > *._click::before {  width: 5rem ; height: 5rem; }


}













.c-checkitem { display: grid; grid-template-columns: 2rem auto; gap: 0.5rem; align-items: center; }
.c-checkitem input[type=checkbox] { position: relative; width: 2rem; height: 2rem; margin: 0; border: var(--cl-border) 1px solid; background-color: var(--cl-wh); -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; }
.c-checkitem input[type="checkbox"]:checked:before { position: absolute; top: 0; left: 0; content: ''; display: grid; align-items: center; justify-content: center; width: 2rem; height: 2rem; background: url(../../assets/images/common/ico_check.svg) no-repeat center / 1.4rem; }



/* footer
--------------------------------------------------------------*/

/* cta */
.c-ctaarea { padding: 4rem 0; background: url(../../assets/images/common/bg_cta_sp.jpg) no-repeat center center / cover; text-align: center;}
.ctaarea-ex { position: relative; display: inline-flex; align-items: center; justify-content: center; height: 3.6rem; padding-inline: 1rem; background-color: var(--cl-wh); font-weight: var(--ff-base-bold); filter: drop-shadow(5px 5px 3px rgba(0,0,0,0.16));}
.ctaarea-ex::before { position: absolute; top: 100%; left: 0; right: 0; margin: 0 auto; content: ""; display: block; width: 1.2rem; height: 1rem; background-color: var(--cl-wh); clip-path: polygon(100% 0, 0 0, 50% 100%);}
.ctaarea-title { margin-top: 2.4rem; font-size: 1.6rem; font-weight: var(--ff-base-bold); }
.ctaarea-txt { margin-top: 1.6rem; font-size: 1.1rem; font-weight: var(--ff-base-bold); line-height: 1.8 !important;}
.c-ctaarea .c-auth-wrap { margin-top: 3rem;}
.c-ctaarea .c-auth-wrap > * { height: 6rem;}
.c-ctaarea .c-auth-wrap .c-auth-login { display: grid; grid-template-columns: max-content auto; }

@media print, screen and (min-width: 640px) {
.c-ctaarea { padding: 10rem 0; background-image: url(../../assets/images/common/bg_cta_pc.jpg); text-align: left; }
.c-ctaarea > * { display: grid; grid-template-columns: max-content auto; align-items: flex-end; gap: 20rem; }
.ctaarea-ex { height: 4.2rem; }
.ctaarea-ex::before { left: 3rem; right: auto; }
.ctaarea-title { margin-top: 3rem; font-size: 3.2rem; }
.ctaarea-txt { margin-top: 2rem; font-size: 1.8rem;  line-height: 1.7 !important;}
.c-ctaarea .c-auth-wrap { margin-top: 0; grid-template-columns: 1fr; gap: 2rem;}
.c-ctaarea .c-auth-wrap > * { height: 10rem;}
.c-ctaarea .c-auth-wrap .c-auth-login { order: 2; display: grid; grid-template-columns: max-content auto; font-size: 2.4rem;}
.c-ctaarea .c-auth-wrap .c-auth-register { order: 1; gap: 0.8rem;}
.c-ctaarea .c-auth-wrap .c-auth-register span { font-size: 2rem;}
.c-ctaarea .c-auth-wrap .c-auth-register p { font-size: 2.4rem; gap: 1rem;}
.c-ctaarea .c-auth-wrap .c-auth-register-bg { width: 6.2rem; height: 3rem;}

}

/* banner */
.c-bannerarea { padding: 3rem 0 5rem; background-color: var(--cl-wh); border-top: var(--cl-border) 1px solid; overflow: scroll;}
.c-bannerarea > * { display: flex; flex-wrap: wrap; gap: 1rem; width: max-content; padding-inline: 5%;}
.c-bannerarea-item { width: 15rem;}

@media print, screen and (min-width: 640px) {
.c-bannerarea { padding: 8rem 0; overflow: initial; }
.c-bannerarea > * { justify-content: center; gap: 2rem; width: 90%; padding-inline: 0;}
.c-bannerarea-item { width: calc(25% - 1.5rem);}
}



/* footer */
.footer { position: relative; padding: 0 0 8rem; background-color: var(--cl-wh); border-top: var(--cl-border) 1px solid; }
.footer-top { position: relative; display: grid; }
.footer-info { order: 3; margin-top: 3rem; }
.footer-logo { width: 19rem; }
.footer-logo + p { margin-top: 1.6rem; font-size: 1.2rem; }
.footer-sns-insta { position: absolute; bottom: 0; right: 0; display: block; max-width: 5rem;}
.footer-menu { order: 1; margin-inline: -5%;}
.footer-menu-box { display: grid;}
.footer-menu-box + .footer-menu-box { border-top: var(--cl-border) 1px solid; border-bottom: var(--cl-border) 1px solid;}
.footer-menu-item { display: grid; align-items: center; padding-inline: 5%; height: 5rem;}
.footer-menu-item + .footer-menu-item { border-top: var(--cl-border) 1px solid;}
.footer-ex-link { order: 3; margin-top: 2.4rem; font-weight: var(--ff-base-normal) !important; color: var(--cl-txt) !important;}
.footer-btn { display: none;}
.footer-bottom { margin-top: 2.4rem; padding-top: 2.4rem; border-top: var(--cl-border) 1px solid; }
.footer-bottom-menu { display: flex; gap: 2rem;}
.footer-bottom-item { display: inline-block; font-size: 1.2rem; }
.footer-copy { margin-top: 2rem; font-size: 1rem; }

.u-pagetop { position: fixed; bottom: 8rem; right: 1rem; width: 4rem; height: 4rem; z-index: 15; transition: all 0.3s ease;}
.u-pagetop.is-stopped { position: absolute; bottom: auto; top: -2rem; }

/* ログイン後 */
.footer._login { padding-bottom: 3rem;}
.footer._login .footer-btn { order: 2; display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem;}
.footer._login .footer-btn .c-auth-login { display: grid; grid-template-columns: max-content auto; align-items: center; gap: 1rem; height: 6rem;}
.footer._login .footer-btn .header-support-logout { margin-top: 0;}

/* コンテンツなし */
.footer._plain { padding: 3.2rem 0;}
.footer._plain .footer-copy { margin-top: 0; }


@media print, screen and (min-width: 640px) {
.footer { padding: 8rem 0 3rem; }
.footer-top { display: grid; grid-template-columns: 20.35% auto 20.35%; gap: 8.06%; align-items: flex-start; }
.footer-info { order: 1; margin-top: 0; }
.footer-logo { width: 100%; }
.footer-logo + p { margin-top: 3rem; font-size: 1.4rem; }
.footer-sns-insta { position: static; max-width: 6rem; margin-top: 6rem;}
.footer-menu { order: 2; display: flex; align-items: flex-start; gap: 8rem;}
.footer-menu-box { display: grid;}
.footer-menu-box + .footer-menu-box { border: none}
.footer-menu-item { display: inline-block; padding: 0; height: auto; }
.footer-menu-item + .footer-menu-item { margin-top: 1.2rem; border: none;}
.footer-menu-item::before { content: "-"; margin-right: 0.6rem;}
.footer-ex-link { position: absolute; bottom: 0; right: 0;  }
.footer-btn { order: 3; display: grid;}
.footer-bottom { margin-top: 8rem; padding-top: 3rem; display: flex; align-items: center; justify-content: space-between; }
.footer-bottom-menu { gap: 3rem;}
.footer-bottom-item { font-size: 1.3rem; }
.footer-copy { margin-top: 0; font-size: 1.2rem; }
.u-pagetop { bottom: 2rem; right: 2rem; width: 5rem; height: 5rem; }
.u-pagetop.is-stopped { top: -2.5rem; }

/* ログイン後 */
.footer._login {}
.footer._login .footer-btn { gap: 2rem;}
.footer._login .footer-btn .header-support-logout { margin-top: 0;}

/* コンテンツなし */
.footer._plain { padding: 5rem 0;}


}



/* フローティング */
.floating-btn { position: fixed; bottom: 0; left: 0; width: 100%; padding: 1rem; background-color: rgba(255,255,255,0.8); z-index: 200;}
.floating-btn.c-auth-wrap > * { height: 5rem;}
.floating-btn .c-auth-login { display: grid; grid-template-columns: max-content auto; gap: 0.5rem;}
.floating-btn .c-auth-register { gap: 0.4rem;}

/* ログイン後 */
.footer._login {}
.footer._login .floating-btn { display: none;}

@media print, screen and (min-width: 640px) {
.floating-btn { display: none;}

}






/* 検索フォーム
--------------------------------------------------------------*/

.search-container { margin-inline: -5.56%; background-color: var(--cl-wh); border: var(--cl-border) 1px solid; border-radius: 0 1rem 1rem 1rem; }

.search-menu { display: grid; grid-template-columns: repeat(3,1fr); }
.search-menu button { display: grid; align-items: center; justify-content: center; height: 3.4rem; font-size: 1.2rem; cursor: pointer; border-bottom: 1px solid var(--cl-border); border-right: var(--cl-border) 1px solid; }
.search-menu button:last-child {border-right: none;}
.search-menu button.is-active { border-top: var(--cl-key) 1px solid; border-bottom: none; background-color: var(--cl-wh); color: var(--cl-key); }
.search-content { }
.search-content-inner { padding: 5.56%; }
.search-content-item {  }
.search-btn-list { grid-column: 1/2;  grid-row: 2/3;  display: flex; gap: 2.9%; justify-content: space-between; margin-top: 1rem; }
.search-btn-list .search-content-item { display: block; width: 27.54%; margin-top: 0;   }
.search-btn-list .search-content-item:nth-child(-n+2) { position: relative; width: 33.08%; padding-right: 5.8%; }
.search-btn-list .search-content-item:nth-child(-n+2)::after { position: absolute; bottom: 1.7rem; right: 0; content: "×"; width: max-content; line-height: 1; }
.search-btn-list .search-content-item .search-content-btn { }
.search-btn-list .search-content-btn { text-align: left;}
.search-content-input,
.search-content-btn { height: 5rem !important; margin-top: 0.5rem; padding: 0 1rem !important; border: var(--cl-border) 1px solid !important; background-color: var(--cl-wh) !important; border-radius: 1rem !important; color: var(--cl-txt-gr); font-size: 1.4rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);}
.search-content-input {  }
.search-content-input::placeholder { font-size: 1.6rem; color: var(--cl-txt-gr);  }
.search-content-btn {  }
.searchadd { margin-top: 2rem;}
.searchadd-btn {}
.searchadd .u-btn-cancel { margin: 2rem 0 0 auto; }

.search-content-result { margin: 2rem -5.56% 0; padding: 2rem 5.56% 0; border-top: var(--cl-border) 1px solid;}
.search-content-result-list { display: grid; gap: 0.5rem; margin-top: 1rem; padding: 1.5rem; background-color: var(--cl-bg-gr); border-radius: 1rem;}
.search-content-result-list > * { font-size: 1.3rem;}



@media print, screen and (min-width: 640px) {
.search-container { margin-inline: 0;}
.search-menu { display: grid; grid-template-columns: repeat(3,22rem);}
.search-menu button { height: 5.2rem; font-size: 1.4rem; border-bottom: none;  }
.search-menu button:last-child { border-right: var(--cl-border) 1px solid;}
.search-menu button.is-active { position: relative; border-top: var(--cl-key) 3px solid; bottom: 0; font-weight: var(--ff-base-bold); }
.search-menu button.is-active::before { content: ""; display: block; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background-color: var(--cl-wh); }
.search-content-inner { display: grid; grid-template-columns: 62.9% auto; gap: 1.6rem 3rem; padding: 3rem 3rem 4rem; align-items: flex-end;  border-top: 1px solid var(--cl-border);  }
.search-content-item { grid-column: 1/2; grid-row: 1/2;  }
.search-btn-list { margin-top: 0; gap: 2.56%; }
.search-btn-list .search-content-item { display: block; width: 28.46%; margin-top: 0;   }
.search-btn-list .search-content-item:nth-child(-n+2) { width: 33.08%; padding-right: 4.62%; }
.search-btn-list .search-content-item .search-content-btn { }
.search-content-input,
.search-content-btn { font-size: 1.6rem;}

.searchadd { grid-row: 1/3; grid-column: 2/3; margin-top: 0; }
.searchadd .u-btn-cancel { width: max-content;  margin: 2rem 0 0 auto;  }
.searchadd-btn { height: 11rem; font-size: 2.4rem; margin: 0 0 0 auto;}

.search-content-result { grid-column: 1/3; margin: 2rem -3rem 0; padding: 2rem 3rem 0; }
.search-content-result-list { grid-template-columns: 8% auto; gap: 2rem;}
.search-content-result-list > * { font-size: 1.4rem;}


}





/* PC検索メニュー
--------------------------------------------------------------*/

.pcsearch { display: none; }

@media print, screen and (min-width: 640px) {

.pcsearch { display: block; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; position: fixed; inset: 0; z-index: 9999; }
.pcsearch.is-active { opacity: 1; pointer-events: auto; }
.pcsearch__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); opacity: 0; transition: opacity 0.3s ease; }
.pcsearch.is-active .pcsearch__overlay { opacity: 1; }
.pcsearch__content { position: relative; width: 90%; margin: 5% auto; background: #fff; padding: 4rem 6rem; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); transform: translateY(-20px); opacity: 0; transition: all 0.4s ease; z-index: 10000; }
.pcsearch.is-active .pcsearch__content { transform: translateY(0); opacity: 1; }

/* 卒年度 */
.pcsearch__year-tabs { display: flex; gap: 1rem; margin-top: 1.6rem;}
.pcsearch__year-tabs > * { width: 100%; max-width: 11rem; height: 3.8rem; border-radius: 1rem; border: var(--cl-border) 1px solid;}
.pcsearch__year-tabs > *.is-active { background: var(--cl-key); color:var(--cl-wh); font-weight: var(--ff-base-bold); border-color: var(--cl-key); }


/*   */
.pcsearch__body { }
.pcsearch__search { display: grid; grid-template-columns: 25.81% auto; margin-top: 2rem; border: var(--cl-border) 1px solid; border-radius: 1rem; overflow: hidden;   }
.pcsearch__search-menu {}
.pcsearch__search-menu .spsearch-item { border: none; border-bottom: var(--cl-border) 1px solid; border-radius: 0; }
.pcsearch__search-menu .spsearch-item::placeholder { font-weight: var(--ff-base-normal); font-size: 1.4rem; }
.pcsearch__search-menu .spsearch-item input { height: 4rem;}
.pcsearch__search-tab-wrap { position: relative; border-bottom: var(--cl-border) 1px solid; cursor: pointer;}
.pcsearch__search-tab-wrap:has(.is-active) { background-color: var(--cl-key); color: var(--cl-wh); }
.pcsearch__search-tab-wrap .u-btn-cancel { display: none; position: absolute; top: 1.5rem; right: 1.5rem; color: var(--cl-key); font-size: 1.4rem; font-weight: var(--ff-base-normal);}
.pcsearch__search-tab-wrap:has(.is-active) .u-btn-cancel { color: var(--cl-wh); }

.pcsearch__search-tab-item { padding: 1.5rem 2rem; text-align: left; background-color: transparent;}
.pcsearch__search-tab-item.is-active { color: var(--cl-wh); font-weight: var(--ff-base-bold);}

.js-selected-list { position: relative; display: flex; flex-wrap: wrap; margin-top: 1rem; font-size: 1.4rem;}
.js-selected-list::after { position: absolute; top: 50%; right: 0; transform: translate(0,-50%); content: ""; display: block; width: 1.6rem; height: 1.6rem; mask: url(../../assets/images/common/ar_right_b.svg) no-repeat center center / contain; background-color: var(--cl-key); }
.js-selected-list > li { width: max-content; font-weight: var(--ff-base-normal);  }
.js-selected-list > li + li::before { content: ","; margin-inline: 0.5rem;  }
.js-selected-list:empty::before { content: "選択してください"; display: block; color: var(--cl-txt-gr); display: block; font-weight: var(--ff-base-normal); }
.js-selected-list:not(:empty) + .u-btn-cancel { display: block; }



.pcsearch__search-tab-item.is-active .js-selected-list::after { background-color: var(--cl-wh); }
.pcsearch__search-tab-item.is-active .js-selected-list:empty::before { color: var(--cl-wh);}

.pcsearch__search-content {  border-left: var(--cl-border) 1px solid;}
.pcsearch__search-content-item { display: none; min-height: 60rem; max-height: 60rem; padding: 3rem 3rem 6rem 3rem; overflow-y: scroll; }
.pcsearch__search-content-item.is-active { display: block; }
.pcsearch__search-content-acd { margin-top: 2rem; border: var(--cl-border) 1px solid; }
.pcsearch__search-content-acd .js-acd {  padding: 2rem;}
.pcsearch__search-content-child {}
.pcsearch__search-checklist { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 2rem ; }
.pcsearch__search-checklist label { display: flex; align-items: center; gap: 0.5rem; width: 100%; height: 5rem; margin-top: 2rem; padding-inline: 2rem; background-color: var(--cl-bg-gr);}
.pcsearch__search-content-acd .pcsearch__search-checklist label:first-child { grid-column: 1/3;}
.pcsearch__search-content-acd .pcsearch__search-checklist
{ padding: 0 2rem 2rem;}

/* 検索ボタン */
.pcsearch__search-btn { width: calc(74.19% - 6rem); margin: -4.5rem 3rem 0 auto; display: flex; align-items: center; justify-content: space-between; border: var(--cl-border) 1px solid; background-color: var(--cl-wh); border-radius: 1rem; padding: 0 2rem; height: 9rem; position: relative; z-index: 10; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);}
.pcsearch__search-btn-list { display: grid; grid-template-columns: 14rem 28rem; align-items: center; gap: 2rem;}
.pcsearch__search-btn-list > * { height: 5rem;}

.pcsearch__search-btn-clear { width: 100%; max-width: 14rem; height: 5rem; border: var(--cl-border) 1px solid; background-color: var(--cl-wh); background-color: var(--cl-wh); border-radius: 1rem;}


}



/*----------------------------------------------------------------------------------------------------------------------------

component

----------------------------------------------------------------------------------------------------------------------------*/




/* breadcrumb
--------------------------------------------------------------*/
.c-breadcrumb { display: grid; align-items: center; font-size: 1rem; border-bottom: var(--cl-border) 1px solid; }
.c-breadcrumb-list { width: 90%; max-width: 124rem; margin: 0 auto; padding: 0.6em 0; }
.c-breadcrumb-item { position: relative; display: inline-flex; align-items: center; }
.c-breadcrumb-item + .c-breadcrumb-item::before { content: ">"; display: block; margin-inline: 0.5rem; }
.c-breadcrumb-link { display: inline-block; }
.c-breadcrumb-item:not(:last-child) .c-breadcrumb-link { text-decoration: underline; }
@media print, screen and (min-width: 640px) {
.c-breadcrumb { height: 5rem; font-size: 1.2rem; }
}




/* pagetitle
--------------------------------------------------------------*/

.c-pagetitle { margin-top: 4rem ; }
@media print, screen and (min-width: 640px) {
.c-pagetitle { margin-top: 6rem; }

}



/* swiper
--------------------------------------------------------------*/

.c-swiper-wrap { position: relative; text-align: left;  }

.swiper-container { position: relative; overflow: hidden; width: 100%; }
.swiper-slide { display: block; width: 100%; max-width: 33.3rem; margin-right: 2rem; }

.swiper-button-prev,
.swiper-button-next { width: 3rem !important; height: 3rem !important; background: url(../../assets/images/common/ar_right_b_bl.svg) no-repeat center center / 1.4rem var(--cl-wh); border-radius: 50%; box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16); top: 50% !important;}
.swiper-button-prev { left: -1.5rem !important; transform: rotate(-180deg);}
.swiper-button-next { right: -1.5rem !important;}
.swiper-button-prev::after,
.swiper-button-next::after { display: none;}

@media print, screen and (min-width: 640px) {
.swiper-button-prev,
.swiper-button-next { width: 5rem !important; height: 5rem !important;background-size: 1.4rem;}
.swiper-button-prev { left: -2.5rem !important; }
.swiper-button-next { right: -2.5rem !important;}

}


/* コンテンツごとの幅指定 */
.entry_complete .swiper-slide { max-width: 33.3rem; margin-right: 2rem; }





/* 進捗バー */
.flow-status { display: flex; flex-wrap: nowrap; align-items: center; }
.flow-status-item { position: relative; flex-grow: 1; text-align: center; padding: 1rem 0.5rem; background-color: #EDEDED; font-size: 1.3rem; line-height: 1.2;}
.flow-status-item.is-active { font-weight: var(--ff-base-bold); background-color: var(--cl-wh) ; color: var(--cl-key); }
.flow-status-item.is-active::after { position: absolute; top: 0; left: 99.8%;  content: ""; display: block; width: 1rem; height: 100%; background-color: var(--cl-wh); clip-path: polygon(100% 50%, 0 0, 0 100%); z-index: 10;}
.flow-status-item span { display: block; font-size: 1.1rem; font-weight: var(--ff-base-bold); line-height: 1; }
.flow-status-item.is-active span { }
.flow-status-item.is-active:last-child::after { display: none;}

@media print, screen and (min-width: 640px) {
.flow-status-item { padding: 1.8rem 1.5rem 1.5rem; }
.flow-status-item { width: 100%; font-size: 1.6rem; line-height: 1.4;}
.flow-status-item span { font-size: 1.2rem;  }
.flow-status-item.is-active::after { width: 2rem;}

}





/* table
--------------------------------------------------------------*/

/* c-grtb */
.c-grtb { }
.c-grtb-item { display: grid; padding: 1.5rem 0; border-bottom: var(--cl-border) 1px solid; }
.c-grtb-item._is-highlight { border-color: var(--cl-key);}
.c-grtb-item:first-child { padding-top: 0; }
.c-grtb-item:last-child { padding-bottom: 0; border-bottom: none; }
.c-grtb-item + .c-grtb-item {  }
.c-grtb-item > *:first-child { font-weight: var(--ff-base-bold); }
.c-grtb-item > * + * { margin-top: 0.5rem; }

@media print, screen and (min-width: 640px) {
.c-grtb-item { padding: 3rem 0; grid-template-columns: 34.29% auto; }
.c-grtb-item > * + * { margin: 0; }
.c-grtb._grtb-s0-p1-2 > * { grid-template-columns: 1fr 2fr; }
.c-grtb._grtb-s0-p1-3 > * { grid-template-columns: 1fr 3fr; }
}



/* タイトル+もっと見るリンクのセット
--------------------------------------------------------------*/

.c-title-link { display: flex; align-items: center; justify-content: space-between; }
@media print, screen and (min-width: 640px) {
.c-title-link { justify-content: flex-start; gap: 2rem; }
.c-title-link._between { justify-content: space-between;  }

}




/* タイトル上タグ
--------------------------------------------------------------*/
.c-tag-list { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;}
.u-tag-item { display: block; width: max-content; padding: 0 0.6rem; border: var(--cl-border) 1px solid; border-radius: 0.4rem; font-size: 1.0rem; color: var(--cl-txt-gr); text-align: center;}
.u-tag-item._size-lg { font-size: 1.3rem; font-weight: var(--ff-base-bold); }
.u-tag-item.is-bl { border-color: var(--cl-key); background-color: var(--cl-key); color: var(--cl-wh); }
.u-tag-item.is-wh { border-color: var(--cl-key); background-color: var(--cl-wh); color: var(--cl-key); }
.u-tag-item._graduate { display: flex; align-items: center; gap: 0.5rem; background-color: var(--cl-bg-gr); border: none; font-size: 1.2rem; font-weight: var(--ff-base-bold); color: var(--cl-key);}
.u-tag-item._graduate::before { content: ""; display: none; width: 1em; height: 1em; background: url(../../assets/images/common/ico_graduate.svg) no-repeat center center / contain;}

@media print, screen and (min-width: 640px) {
.u-tag-item._size-lg { font-size: 1.5rem; }
.u-tag-item._graduate { font-size: 1.4rem;}
.u-tag-item._graduate::before { display: block;}
}


/* ステータスタグ
--------------------------------------------------------------*/
/* common */
.c-status-list { position: absolute; top: -1px; right: 2rem; display: flex; gap: 0.5rem; z-index: 10;}
.c-status-list:has(.u-status-item._welcome) { top: -2rem; left: 2rem;}
.c-status-list:has(.u-status-item._consider) { top: -1px; right: -1px;}
.u-status-item { display: inline-flex; grid-template-columns: max-content auto; align-items: center; gap: 0.8rem; height: 3rem; padding: 0 1rem; border: var(--cl-border) 1px solid; border-radius: 0.4rem; font-size: 1.2rem; color: var(--cl-txt-gr);}
.u-status-item::before { content: ""; display: block; width: 1.4rem; height: 1.4rem; mask: no-repeat center center / contain; }


/* 応募歓迎 */
.u-status-item._welcome { background-color: var(--cl-wh); border-color: var(--cl-entry); font-weight: var(--ff-base-bold); color: var(--cl-error);}
.u-status-item._welcome::before { content: ""; width: 1.2em; height: 1.2em; background: url(../../assets/images/common/ico_offer.svg) no-repeat center center / contain;}
.u-status-item._welcome::after { position: absolute; top: 100%; left: 2rem; content: ""; width: 0.8rem; height: 0.6rem; background-color: var(--cl-error); clip-path: polygon(100% 0, 0 0, 50% 100%);}

/* 来場済 */
.u-status-item._done { background-color: var(--cl-bg-gr); font-weight: var(--ff-base-bold); color: var(--cl-txt); border-radius: 0 0 0.4rem 0.4rem; }
.u-status-item._done::before { mask-image: url(../../assets/images/common/ico_done.svg) ; background-color: var(--cl-key);}

/* 予約済 */
.u-status-item._reserved { background-color: var(--cl-error); font-weight: var(--ff-base-bold); color: var(--cl-wh); border-radius: 0 0 0.4rem 0.4rem; border-color: var(--cl-error); }
.u-status-item._reserved::before { mask-image: url(../../assets/images/common/ico_done.svg) ; background-color: var(--cl-wh);}

/* イベントエントリー */
.u-status-item._event-entry { background-color: var(--cl-bg-gr); font-weight: var(--ff-base-bold); border-radius: 0.4rem; border-color: var(--cl-border); }
.u-status-item._event-entry::before { mask-image: url(../../assets/images/common/ico_events.svg) ; background-color: var(--cl-key);}


/* 検討リスト */
.u-status-item._consider { display: grid; grid-template-columns: 1fr; gap: 0.4rem; height: max-content; padding: 1rem; background-color: var(--cl-wh); font-size: 1rem; color: var(--cl-txt-gr); border-radius: 0 0 5rem 5rem; line-height: 1.4; transition: 0.3s; }
.u-status-item._consider::before { width: 1.6rem; height: 1.6rem; mask-image: url(../../assets/images/common/ico_pick.svg) ; background-color: var(--cl-border); margin: 0 auto;}
.u-status-item._consider:hover,
.u-status-item._consider.is-active { opacity: 1; color: var(--cl-wh); font-weight: var(--ff-base-bold); background-color: var(--cl-key); border-color: var(--cl-key);}
.u-status-item._consider:hover::before,
.u-status-item._consider.is-active::before { background-color: var(--cl-wh);}

@media print, screen and (min-width: 640px) {
.c-status-list { right: 3rem;}
.c-status-list:has(.u-status-item._consider) { right: 3rem;}
.u-status-item._done { height: 3rem; padding: 0 1.4rem; }
.u-status-item._consider { right: 3rem;  }
.u-status-item._consider::before { width: 2rem; height: 2rem; }

}





/* 1カラムカードレイアウト
--------------------------------------------------------------*/
/* 画像なし */
.c-result-wrap {}
.c-result-wrap .pagination { margin-top: 1.6rem;}
.c-result-item { display: flex; align-items: baseline; gap: 1rem; padding: 1rem 0; border: var(--cl-border) 1px solid; border-width: 1px 0 1px 0;}
.c-result-num { font-weight: var(--ff-base-bold);}
.c-result-num span { display: inline-block; margin: 0 0.5rem; font-size: 2.4rem; color: var(--cl-key);}
.c-result-page {}

@media print, screen and (min-width: 640px) {
.c-result-wrap { display: flex; align-items: center; justify-content: space-between; align-items: baseline;}
.c-result-wrap .pagination { margin-top: 0;}
.c-result-item { gap: 1.6rem; padding: 0; border: none;}
.c-result-num span { font-size: 4rem; }
}


/* 画像あり */
.c-content-item { position: relative; }
.c-content-top { display: grid; gap: 2rem;}
.c-content-left {}
.c-content-pic { display: block;}
a.c-content-info { cursor: pointer;}
.c-content-info > * + * { margin-top: 1rem; }
.c-content-title {}
.c-content-txt {}
.c-content-txt._point { position: relative; margin-top: 3rem; padding: 1.6rem; background-color: var(--cl-bg-gr); border-radius: 0 0 1rem 1rem;}
.c-content-txt._point::before { content: "POINT"; display: block; position: absolute; top: -1.5rem; left: 0; padding: 0.6rem 1.6rem 0; background-color: var(--cl-bg-gr); border-radius: 1rem 1rem 0 0; color: var(--cl-key); font-weight: var(--ff-base-bold);}
/* 画像あり - イベント一覧の企業一覧 */
.c-content-item._min {}
.c-content-item._min .c-content-info { width: calc(100% - 4rem);}

@media print, screen and (min-width: 640px) {
.c-content-top { display: flex; gap: 3rem; align-items: flex-start;}
.c-content-item .u-status-item._reserved { right: 3rem;}
.c-content-top > * { width: calc(50% - 1.5rem);}
.c-content-top .c-schedule-list { margin-top: 2rem;}
.c-content-info > * + * { margin-top: 1.6rem; }
.c-content-txt._point { line-height: 1.6;}
.c-content-txt._point::before { font-size: 1.3rem;}
.c-content-item._min { display: grid; grid-template-columns: auto 32.14%;}
.c-content-item._min .c-linkbtn-wrap { display: block; margin-top: 0 !important;}
.c-content-item._min .c-linkbtn-wrap > * + * { margin-top: 2rem;}
}





/* 小型カードレイアウト
--------------------------------------------------------------*/

.c-card-item { position: relative; display: block; cursor: pointer;}
.c-card-item > * { }
.c-card-item .u-tag-item._graduate { position: absolute; top: 1.52%; left: 1.27%; }
.c-card-pic { margin-bottom: 0.5rem; aspect-ratio: 16 / 9; object-fit: contain; background-color: var(--cl-bg-gr);}
.c-card-pic img { width: 100%; height: 100%; object-fit: contain;}
.c-card-sub { font-size: 1.2rem;}
.c-card-title { font-size: 1.6rem; font-weight: var(--ff-base-bold);}
.c-card-title_mid { font-size: 1.2rem;}
.c-card-title_min { font-size: 1.0rem;}


.c-card-item._line { padding: 1.6rem; border: var(--cl-border) 1px solid; border-radius: 1rem; background-color: var(--cl-wh);}
.c-card-item._line .c-card-title { margin-top: 0.5rem; }
.c-card-item._line .c-card-txt { font-size: 1.3rem; display: -webkit-box; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2;}
.c-card-item._line > * + .c-card-pic { margin: 1rem 0;}


@media print, screen and (min-width: 640px) {
.c-card-title_min { font-size: 1.2rem;}
.c-card-item._line { padding: 2rem;}
.c-card-item._line .c-card-txt { font-size: 1.4rem; -webkit-line-clamp: 3; line-height: 1.4;}
.c-card-pic { margin-bottom: 1rem; }

}




/* ifream
--------------------------------------------------------------*/

.c-mapwrap { position: relative; width: 100%; height: 0; padding-bottom: 44.4444%}
.c-mapwrap iframe { position: absolute; top: 0; left: 0;  width: 100%; height: 100%; object-fit: cover;}






/* layout
--------------------------------------------------------------*/

/* c-grid */
.c-grid { display: grid; gap: 1rem; }
.c-grid._grid-s1-1 { grid-template-columns: 1fr 1fr; }
.c-grid._grid-s1-2 { grid-template-columns: 1fr 2fr; }
.c-grid._grid-s1-3 { grid-template-columns: 1fr 3fr; }

@media print, screen and (min-width: 640px) {
.c-grid { gap: 3rem; }
.c-grid._grid-p1-1 { grid-template-columns: 1fr 1fr; }
.c-grid._grid-p1-2 { grid-template-columns: 1fr 2fr; }
.c-grid._grid-p1-3 { grid-template-columns: 1fr 3fr; }
.c-grid._grid-p2-1 { grid-template-columns: 2fr 1fr; }
.c-grid._grid-p2-3 { grid-template-columns: 2fr 3fr; }
.c-grid._grid-p3-1 { grid-template-columns: 3fr 1fr; }
.c-grid._grid-p3-2 { grid-template-columns: 3fr 2fr; }
.c-grid._grid-p1-1-1 { grid-template-columns: 1fr 1fr 1fr; }
.c-grid._grid-p1-1-1-1 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.c-grid._rev > *:first-child { order: 2; }
.c-grid._rev > *:last-child { order: 1; }
.c-grid._rev._grid-p1-2 { grid-template-columns: 2fr 1fr; }
.c-grid._rev._grid-p1-3 { grid-template-columns: 3fr 1fr; }
.c-grid._rev._grid-p2-3 { grid-template-columns: 3fr 2fr; }
.c-grid._rev._grid-p2-1 { grid-template-columns: 1fr 2fr; }
.c-grid._rev._grid-p3-1 { grid-template-columns: 1fr 3fr; }
.c-grid._rev._grid-p3-2 { grid-template-columns: 2fr 3fr; }
}



/* c-aiChoice */
.c-aiChoice { position: relative; display: grid; gap: 1rem; }
.c-aiChoice-item { display: grid; grid-template-columns: auto 38.1%; gap: 1.6rem; padding: 2rem 1.5rem; background-color: var(--cl-wh); border: var(--cl-border) 1px solid; border-radius: 1rem; }
.c-aiChoice-item + .c-aiChoice-item { margin-top: 1rem;  }
.c-aiChoice-info { order: 1; grid-row: 1/2; grid-column: 1/3; }
.c-aiChoice-type { font-size: 1.2rem;}
.c-aiChoice-company { font-size: 1.8rem; font-weight: var(--ff-base-bold);}
.c-aiChoice-btn { order: 3; grid-row: 2/3; grid-column: 1/3; display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.c-aiChoice-btn > * { height: 4.2rem; font-size: 1.4rem; }
.c-aiChoice-result { order: 4; grid-row: 3/4; grid-column: 1/3; display: grid; grid-template-columns: 8rem auto; gap: 1.6rem; padding: 1.5rem; background-color: var(--cl-bg-gr); border-radius: 1rem; }
.c-aiChoice-score { }
.c-aiChoice-score .pie { position: relative; margin-right: auto; margin-left: auto; width: 8rem; height: 8rem; background-image: conic-gradient(var(--cl-key) 0% 75%, #F0FAFF 75% 100%); border-radius: 50%; }
.c-aiChoice-score .pie::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); content: ""; display: block; width: 7.6rem; height: 7.6rem; background-color: #F0FAFF; border-radius: 50%;  }
.c-aiChoice-score .pie span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); line-height: 1; color: var(--cl-key); font-size: 3.4rem; font-weight: var(--ff-base-bold); z-index: 10; }
.c-aiChoice-score .pie span::before { content: "スコア"; display: block; font-size: 1.1rem; }
.c-aiChoice-comment { }
.c-aiChoice-comment-title { font-size: 1.4rem;}
.c-aiChoice-comment-title + p { margin-top: 0.5rem; font-size: 1.2rem; }
.c-aiChoice-comment .u-ico-right { font-size: 1.2rem; }
.c-aiChoice-pic { order: 2; }

.c-aiChoice-item:has(.c-aiChoice-pic) .c-aiChoice-info  { grid-column: 1/2; }


@media print, screen and (min-width: 640px) {
.c-aiChoice-item { grid-template-columns: 24.19% auto; gap: 1.6rem 4rem; padding: 3rem;}
.c-aiChoice-item:has(.c-aiChoice-pic) { grid-template-columns: 24.19% auto 16.13%; }
.c-aiChoice-company { font-size: 2.0rem; }
.c-aiChoice-btn { order: 2; grid-row: 2/3; grid-column: 1/2;}
.c-aiChoice-result { order: 3; grid-row: 1/3; grid-column: 2/3; gap: 2rem; align-items: center; }
.c-aiChoice-comment-title + p { font-size: 1.3rem; }
.c-aiChoice-pic { order: 4; grid-row: 1/3; grid-column: 3/4; }

}



/* c-input-box */
.c-input-box { display: grid; gap: 1rem; width: 100%; max-width: 75rem; margin-inline: auto;}
.c-input-box > p { text-align: left;}
.u-input-txt { max-width: 55rem;}

@media print, screen and (min-width: 640px) {
.c-input-box { grid-template-columns: 20rem 1fr; align-items: center; justify-content: center;}

}


/* c-linkbtn-wrap */
.c-linkbtn-wrap { display: flex; flex-direction: column; gap: 1rem;}
.c-linkbtn-wrap._spread { justify-content: center; gap: 2rem;}
.c-linkbtn-wrap._spread > * { justify-content: center; }

@media print, screen and (min-width: 640px) {
.c-linkbtn-wrap { flex-direction: row; gap: 2rem; justify-content: center;}
.c-linkbtn-wrap._spread { justify-content: space-between;}

}


/* モーダル */
.modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.4); display: flex; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; z-index: 9999; }
.modal-overlay.is-active { opacity: 1; pointer-events: auto; }
.modal { position: relative; transform: translateY(100%); background: var(--cl-wh); width: 100%; padding: 2rem; transition: transform 0.3s ease; }
.modal-overlay.is-active .modal { transform: translateY(0);}

/* 中央配置 */
.modal-overlay:has(.modal._center) { align-items: center;}
.modal._center { border-radius: 1rem; width: 90%; max-width: 103rem;}
.modal-overlay.is-active .modal._center {  }
/* 下から出る */
.modal-overlay:has(.modal._up) { align-items: flex-end;}
.modal._up {  border-radius: 1rem 1rem 0 0; }
.modal-overlay.is-active .modal._up {  }

@media print, screen and (min-width: 640px) {
.modal { padding: 6rem; }
.modal._center { border-radius: 3rem; }

}


.c-checkmodal-box { position: relative;}
.c-checkmodal-close { position: absolute; top: 2rem; right: 2rem; width: max-content;}
.c-checkmodal-title { text-align: center; font-weight: var(--ff-base-bold); font-size: 2.4rem; line-height: 1.4;}
.c-checkmodal-title._ico::before { content: ""; display: block; width: 6rem; height: 6rem; background: no-repeat center center / contain; margin: 0 auto 1rem;}
.c-checkmodal-txt { margin-top: 2rem;}
.c-checkmodal-invisible { margin: 3rem auto 0; width: max-content;}
.c-checkmodal-box .c-linkbtn-wrap { margin-top: 3rem;}
.c-checkmodal-btn.is-wh { border-color: var(--cl-border) !important; background-color: var(--cl-wh) !important; color: var(--cl-txt) !important;}

#consider .c-checkmodal-title {}
#consider .c-checkmodal-title._ico:before { background-image: url(../../assets/images/common/ico_pick_outline.svg);}
#consider .c-linkbtn-wrap { grid-template-columns: 1fr;}
#cancel .c-checkmodal-title._ico:before { background-image: url(../../assets/images/common/ico_caution.svg);}
#cancel .c-checkmodal-btn { border-color: var(--cl-error); background-color: var(--cl-error);}
#login .u-ico-right { width: max-content; margin: 4rem auto 0;}

@media print, screen and (min-width: 640px) {
.c-checkmodal-close { top: 3rem; right: 3rem; }
.c-checkmodal-title { font-size: 3.2rem; }
.c-checkmodal-title._ico::before { width: 12.4rem; height: 12.4rem; margin-bottom: 2.4rem;}
.c-checkmodal-txt { margin-top: 4rem; font-size: 1.8rem; text-align: center;}
.c-checkmodal-invisible { margin-top: 4rem; font-size: 1.8rem; }
.c-checkmodal-box .c-linkbtn-wrap { margin-top: 4rem;}
.c-checkmodal-btn { max-width: 40rem; height: 10rem; font-size: 2.4rem; margin: 0 auto;}
.c-linkbtn-wrap:has(.c-checkmodal-btn) { display: grid; grid-template-columns: repeat(2,40rem);}


}





/* c-schedule-list */
.c-schedule-list { display: grid; gap: 0.4rem 0; font-size: 1.2rem;}
.c-schedule-item { display: grid; grid-template-columns: max-content auto; align-items: flex-start; }

.c-schedule-title.is-date,
.c-schedule-title.is-time,
.c-schedule-title.is-place,
.c-schedule-title.is-tag { display: grid; grid-template-columns: max-content auto; align-items: flex-start; }
.c-schedule-title.is-date::before,
.c-schedule-title.is-time::before,
.c-schedule-title.is-place::before,
.c-schedule-title.is-tag::before { transform: translate(0,0.3rem); content: ""; display: inline-block; width: 1.2em; height: 1.2em; margin-right: 0.5rem; background: no-repeat center center / contain;  }
.c-schedule-title.is-date::before { background-image: url(../../assets/images/common/ico_date.svg);  }
.c-schedule-title.is-time::before { background-image: url(../../assets/images/common/ico_time.svg);  }
.c-schedule-title.is-place::before { background-image: url(../../assets/images/common/ico_place.svg);  }
.c-schedule-title.is-tag::before { background-image: url(../../assets/images/common/ico_tag.svg);  }

.c-schedule-map { display: inline-block; margin-left: 0.5rem; color: var(--cl-key); text-decoration: underline;}

@media print, screen and (min-width: 640px) {
.c-schedule-list { display: grid; gap: 0.4rem 0; font-size: 1.4rem;}
.c-schedule-title::before { width: 2rem; height: 2rem; margin-right: 0.8rem; }

}





/* c-reserved-wrap */
.c-reserved-wrap { display: grid; }
.c-reserved-wrap > * + * { margin-top: 1.6rem; }
.c-reserved-wrap._bg { background-color: var(--cl-bg-gr); border-radius: 1rem; padding: 2rem;}
.c-reserved-wrap._bg .u-tag-item._graduate { background-color: var(--cl-wh);}
.c-reserved-btnbox { display: grid; grid-template-columns: 1fr; gap: 1rem; grid-template-rows: max-content max-content; }
.c-reserved-btnbox .u-btn-cancel { margin-left: auto; margin-right: 0;}
.c-reserved-title { }
.c-reserved-title .c-tag-list { margin-bottom: 0.5rem; }
.c-reserved-wrap .c-company + .c-schedule-list { margin-top: 1.6rem;}


@media print, screen and (min-width: 640px) {
.c-reserved-wrap { grid-template-columns: auto 28.57%; align-items: flex-end;}
.c-reserved-wrap > * + * { margin-top: 2.4rem; }
.c-reserved-btnbox { gap: 0; grid-column: 2/3; grid-row: 2/3;}
.c-reserved-title { grid-column: 1/3; }
.c-reserved-title .c-tag-list { margin-bottom: 1rem; }
.c-reserved-detail { grid-column: 1/2;}
.c-reserved-btnbox > * + * { margin-top: 1.6rem;}
.c-reserved-wrap .c-company + .c-schedule-list { margin-top: 2.4rem;}

.c-reserved-wrap._bg { padding: 6rem;}
.c-reserved-wrap._center { }
.c-reserved-wrap._center .c-reserved-btnbox { grid-row: 1/3; margin-top: 0;}
.c-reserved-wrap._center .c-reserved-title { grid-column: 1/2; }

}




/* c-company */
.c-company { display: grid; grid-template-columns: max-content auto; gap: 0 1rem;}
.c-company-logo { grid-row: 1/3; position: relative; width: 6rem; height: 0; padding-bottom: 6rem; }
.c-company-logo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain;}
.c-company-name { font-size: 1.6rem; font-weight: var(--ff-base-bold); }
.c-company-job { font-size: 1.0rem;}

.c-company._mid {}
.c-company._mid .c-company-name { font-size: 1.4rem;}

.c-company._min { grid-template-columns: 4rem auto; gap: 1rem; align-items: center; }
.c-company._min .c-company-name { font-size: 1.4rem;}
.c-company._min  .c-company-logo { grid-row: 1/2; width: 4rem; padding-bottom: 4rem; }


@media print, screen and (min-width: 640px) {

/* c-company */
.c-company { grid-column: 1/3;}
.c-company-name { font-size: 2.4rem ;line-height: 1.4;}
.c-company-job { font-size: 1.2rem;}

.c-company._mid .c-company-name { font-size: 2rem;}
.c-company._min  { grid-column: 1/2;}
.c-company._min .c-company-name { font-size: 1.6rem;}


}




/* 可能日の表 */
.c-schedule-box {}
.c-schedule-box + .c-schedule-box { margin-top: 1rem;}
.c-schedule-table { list-style: none; padding: 0; margin: 0; }
.c-schedule-table li { position: relative; }
.c-schedule-table input[type="radio"] { display: none; }
.c-schedule-table label { display: grid; grid-template-columns: 6rem auto; align-items: center; gap: 0.5rem; width: 100%; margin-top: 1rem; padding: 1rem; border: var(--cl-border) 1px solid; border-radius: 1rem; line-height: 1; background-color: var(--cl-wh); cursor: pointer; transition: background-color 0.3s, border-color 0.3s; }

.c-schedule-table label.is-close,
.c-schedule-table label.is-none { color: var(--cl-txt-gr); background-color: var(--cl-bg-gr);}
.c-schedule-table label::before { content: ""; display: block; text-align: center; margin: 0 auto; line-height: 1;}
.c-schedule-table label.is-active::before { width: 1.2em; height: 1.2em; background: url(../../assets/images/common/ico_status_active.svg) no-repeat center center / contain;}
.c-schedule-table label.is-little::before { width: 1.2em; height: 1.2em; background: url(../../assets/images/common/ico_status_little.svg) no-repeat center center / contain;}
.c-schedule-table label.is-close::before { content: "[受付終了]"; font-weight: var(--ff-base-bold); font-size: 1.2rem; width: max-content;  }
.c-schedule-table label.is-none::before { content: "-";  }

.c-schedule-table input[type="radio"]:checked + label { border-color: var(--cl-key); background-color: #D8F0FA;}


.c-schedule-box._bg { background-color: var(--cl-bg-gr); border: none;}

@media print, screen and (min-width: 640px) {
.c-schedule-box { display: grid; grid-template-columns: 22.22% auto; align-items: center; padding: 1.5rem 2rem !important;}
.c-schedule-table { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.c-schedule-table li { width: 16.6%; }
.c-schedule-table label { width: 100%; display: grid; grid-template-rows: 1.6rem max-content; grid-template-columns: 1fr; justify-content: center; gap: 1rem; margin-top: 0; padding: 1.4rem; text-align: center; }
.c-schedule-table label::before { width: 1.6rem; height: 1.6rem; }
.c-schedule-table label.is-close::before { font-size: 1.4rem; }
}



.intern-type-list { display: grid; gap: 0.5rem;}
.intern-type-item { display: grid; grid-template-columns: 1fr 3fr; gap: 1rem; align-items: center;}
.intern-type-title { display: flex; justify-content: space-between; color: var(--cl-txt-gr); font-size: 1.4rem;}
.intern-type-title::after { content: ":"; color: var(--cl-txt-gr);}
.intern-type-item dd { font-weight: var(--ff-base-bold); font-size: 1.4rem;}

.graduate-year { display: flex; flex-wrap: wrap; gap: 0.5rem;}
.graduate-year li { display: none; width: max-content; padding: 0 0.5rem; border-radius: 0.4rem; font-weight: var(--ff-base-bold); background-color: var(--cl-border); color: var(--cl-wh); font-size: 1.4rem;}
.graduate-year li.is-active { display: block; background-color: var(--cl-key); }



@media print, screen and (min-width: 640px) {
.intern-type-list { margin-top: 2.4rem;}
.intern-type-item {  grid-template-columns: 8rem auto; }
.intern-type-item dd { height: 2.4rem;}
.graduate-year li { display: block; height: 2.4rem;}


}


/* オファーなどstatusが含まれるカード */
.c-status-box { position: relative;}
.c-status-head { display: grid; grid-template-columns: max-content auto; gap: 0.5rem; align-items: center;}
.c-status-tag { width: 6rem; height: 2rem; display: grid; align-items: center; justify-content: center; background-color: var(--cl-key); font-weight: var(--ff-base-bold); font-size: 1.2rem; color: var(--cl-wh); line-height: 1; border-radius: 0.3rem; }
.c-status-tag._done { background-color: var(--cl-border);}
.c-status-tag._consent { background-color: var(--cl-wh); border: var(--cl-key) 1px solid; color: var(--cl-key);}
.c-status-date {}
.c-status-title { margin-top: 0.5rem; }
.c-status-link { display: block; margin-top: 1rem; padding: 1rem; color: var(--cl-key); border: var(--cl-key) 1px solid; border-radius: 1rem;}
.c-status-box .u-btn-cancel { margin-top: 1rem;}

@media print, screen and (min-width: 640px) {
.c-status-head { gap: 1rem; }
.c-status-date { font-size: 1.4rem; color: var(--cl-txt-gr);}
.c-status-title { margin-top: 1rem; }
.c-status-link { display: inline-block; margin-top: 0.5rem; padding: 0; color: var(--cl-key); border: none; border-radius: 0;}
.c-status-link > * { text-decoration: underline; }
.c-status-box .u-btn-cancel { position: absolute; top: 3rem; right: 3rem; margin-top: 0;}

}





/* 注意エリア */
.c-explanation { }
.c-explanation._ico { display: grid; gap: 0 1rem; grid-template-columns: 2rem auto; align-items: center;}
.c-explanation-pic {}
.c-explanation-title { font-weight: var(--ff-base-bold);}
.c-explanation-title + p { grid-column: 1/3; margin-top: 0.5rem; font-size: 1.2rem;}

.u-bgwrap._ta-cen .c-explanation { max-width: 74rem; margin: 0 auto; text-align: left; border-radius: initial;}

@media print, screen and (min-width: 640px) {
.c-explanation {}
.c-explanation._ico { gap: 0 2rem; grid-template-columns: 5rem auto; align-items: flex-start;}
.c-explanation-pic { grid-row: 1/3;}
.c-explanation-title + p { grid-column: 2/3; font-size: 1.4rem;}

}








/* 通知エリア */
.c-notice { padding: 1.5rem 2rem; }
.c-notice-title { color: var(--cl-error); font-weight: var(--ff-base-bold); font-size: 1.2rem;}

@media print, screen and (min-width: 640px) {
.c-notice { padding: 2rem 3rem;}
.c-notice-title { font-size: 1.6rem;}

}



.c-pagination-list { display: flex; align-items: center; gap: 1rem; justify-content: flex-end;}
.c-pagination-item {}
.c-pagination-link { display: grid; align-items: center; justify-content: center; width: 4rem; height: 4rem; background-color: var(--cl-wh); border: var(--cl-border) 1px solid; border-radius: 50%; font-family: "Open Sans", sans-serif;}
.c-pagination-link._current { border-color: var(--cl-key); color: var(--cl-key);}










/* form group
--------------------------------------------------------------*/

.form-input {}
.form-input-item {}
.form-input-title {}
.form-input-title span { display: flex; gap: 0.5rem; align-items: center; }
.form-input-title span::before  { content: "任意"; display: inline-flex; align-items: center; height: 2.4rem; padding: 0 0.5rem; background-color: var(--cl-txt-gr); color: var(--cl-wh); font-size: 1.2rem; font-weight: var(--ff-base-bold); border-radius: 0.4rem;   }
.form-input-title span.u-req { }
.form-input-title span.u-req::before { content: "必須";background-color: var(--cl-error);  }
.form-input-box { margin-top: 1rem;}
.form-input-box._radio { margin-top: 1rem;}
.form-input-box._radio > div { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; font-size: 1.4rem;}

.form-input-box._check {}
.form-input-box._check .c-grid { gap: 0.5rem;}
.form-input-box._check .check-box {}
.form-input-box._check .check-box > * + * { margin-top: 0.5rem;}
.form-input-box._check .c-checkitem-child { font-size: 1.4rem;}
.form-input-box._check .check-box-child { margin: 0.5rem 0 0 2.5rem;}
.form-input-box._check .check-box-child > * + * { margin-top: 0.5rem;}

.form-input-box._select {}
.form-input-box._select > div { position: relative;}
.form-input-box._select select { appearance: none;}
.form-input-box._select select { color: var(--cl-txt-gr);}
.form-input-box._select > div::after { position: absolute; top: 50%; right: 2rem; content: ""; display: block; width: 1em; height: 1em; background: url(../../assets/images/common/ar_right_b_bl.svg) no-repeat center center / contain; transform: rotate(90deg) translate(-50%,0); pointer-events: none;}

.form-input-box.is-inactive input[type=text] { border: var(--cl-border) 1px solid; background-color: var(--cl-wh); }
.form-input-box.is-inactive input[type=text]::placeholder { color: var(--cl-txt); pointer-events: none;}

@media print, screen and (min-width: 640px) {
.form-input-title { margin-top: 1rem;}
.form-input-title span { gap: 1rem; }
.form-input-title span.u-req { gap: 1rem; }
.form-input-box { margin-top: 0;}

}



.page-contact .c-grtb-item:last-child { border-bottom: none; grid-template-columns: auto;}
.page-contact .c-grtb-item:last-child > * { text-align: center;}
.page-contact .contact-submit { position: relative; width: 26rem; margin: 4rem auto 0;  }
.page-contact .contact-submit p  { }
.page-contact .contact-submit p > * { display: grid; align-items: center; color: var(--cl-wh); background-color: var(--cl-txt); width: 100%; height: 6.4rem; border: var(--cl-txt) 1px solid; font-size: inherit; transition: 0.5s; }
.page-contact .contact-submit::after { position: absolute; top: 50%; right: 1rem; transform: translate(0,-50%); content: ""; display: inline-grid; width: 1em; height: 1em; justify-self: end; mask: url(../../assets/images/common/ico_right_a.svg) no-repeat center center / contain; background-color: var(--cl-wh); transition: 0.5s; pointer-events: none;}

@media print, screen and (min-width: 640px) {
.page-contact .contact-submit:hover { }
.page-contact .contact-submit:hover p > * { color: var(--cl-txt); background-color: var(--cl-wh); }
.page-contact .contact-submit:hover::after { background-color: var(--cl-txt); }

}


/* c-formthanks */
.c-formthanks { }
.c-formthanks-title { text-align: center; }
/*.c-formthanks-title::before { content: ""; display: block; margin: auto; width: 2em; height: 2em; mask: url(../../assets/images/common/ico_mail.svg) no-repeat center center / contain; background-color: var(--cl-wh); opacity: 0.3; }*/
.c-formthanks-txt { font-style: 1.2em; margin-top: 2em; }
.c-formthanks-ex { font-size: 0.8em; margin-top: 1em; }
.c-formthanks-notice { border: var(--cl-border) 1px solid; padding: 1em; margin-top: 1em; }
.c-formthanks-btn { margin: 3em auto; display: flex; justify-content: center; }

@media print, screen and (min-width: 640px) {
.c-formthanks { }
.c-formthanks-txt { text-align: center; margin-top: 4em; }
.c-formthanks-ex { text-align: center; }
.c-formthanks-notice { padding: 3em; text-align: center; margin: 3em auto 0; width: fit-content; }
.c-formthanks-btn { margin: 4em auto; }
}











/*----------------------------------------------------------------------------------------------------------------------------

page unique

----------------------------------------------------------------------------------------------------------------------------*/

/* home
----------------------------------------------------------------------------------------------------------------------------*/







/* インターン・説明会一覧
----------------------------------------------------------------------------------------------------------------------------*/
.intern-box {}
.intern-box .c-content-left .c-linkbtn-wrap { display: none;}

@media print, screen and (min-width: 640px) {
.intern-box {}
.intern-box .c-content-left .c-linkbtn-wrap { display: flex; margin-top: 3rem;}

}




/* フィード一覧
----------------------------------------------------------------------------------------------------------------------------*/

.feed-company { margin-top: 1.6rem;}





/* オンライン相談
----------------------------------------------------------------------------------------------------------------------------*/

.online_consultation {}
.online_consultation-read {}
.online_consultation-read .u-title-lg { text-align: center;}
.online_consultation-pic { width: 90%; max-width: 31.4rem; margin: 2rem auto;}


@media print, screen and (min-width: 640px) {
.online_consultation-pic { margin: 4rem auto;}
.online_consultation-pic + p { text-align: center;}

}






/* セミナー一覧
----------------------------------------------------------------------------------------------------------------------------*/

/* detail */
.seminar_hero {}
.seminar_hero .c-status-list { top: -4rem; right: 0;}

@media print, screen and (min-width: 640px) {
.seminar_hero .c-status-list { top: -6rem; right: 0;}

}




/* 新規会員登録
----------------------------------------------------------------------------------------------------------------------------*/

.signup-box {}
.signup-box .c-linkbtn-wrap { align-items: center;}





/* 会員登録（本登録）
----------------------------------------------------------------------------------------------------------------------------*/

.page-signup._definitive .complete-box { margin-top: 2rem; padding: 1.5rem 0; border-top: var(--cl-border) 1px solid;}
.page-signup._definitive .complete-box + .complete-box { margin-top: 0; }
.page-signup._definitive .complete-box:last-child { padding-bottom: 0; }

@media print, screen and (min-width: 640px) {

.page-signup._definitive .flow-status-lead { text-align: center;}
.page-signup._definitive .complete-box { align-items: center; margin-top: 4rem; padding: 4rem 0; border-top: var(--cl-border) 1px solid;}
.page-signup._definitive .complete-box .u-linkbtn { margin-inline: auto 0;}

}







/* 企業
----------------------------------------------------------------------------------------------------------------------------*/

/* common */
.page-corp {}
.corp-bottom-slider .swiper-slide { max-width: 30rem; margin-right: 2rem;}
.update-date { margin-top: 1rem; text-align: right; font-size: 1.2rem;}

.corp-menu { position: sticky; top: 0; left: 0; background-color: var(--cl-wh); border: var(--cl-border) 1px solid; border-width: 1px 0; z-index: 20;}
.corp-menu .c-company { display: none;}
.corp-menu .c-linkbtn-wrap { display: none;}
.corp-menu-nav { display: flex; flex-wrap: nowrap; align-items: flex-end; justify-content: center; margin-inline: -5.56%; }
.corp-menu-nav-item { display: block; width: 100%; padding: 1rem 0; font-weight: var(--ff-base-bold); text-align: center; line-height: 1.4; }
.corp-menu-nav-item::after { content: ""; display: block; width: 1.4rem; height: 1.4rem; background: url(../../assets/images/common/ar_right_b.svg) no-repeat center center / contain; transform: rotate(90deg); margin: 0.5rem auto 0; }

@media print, screen and (min-width: 640px) {
.corp-menu {}
.corp-menu .u-inner { display: grid; grid-template-columns: auto minmax(44.2rem,35.48%) 31.45%; gap: 4rem; align-items: center; height: 8rem;}
.corp-menu .c-company { display: grid;}
.corp-menu .c-linkbtn-wrap { display: flex;}
.corp-menu-nav { height: 100%; margin-inline: 0; gap: 3rem; }
.corp-menu-nav-item { width: auto; height: 100%; padding: 2.5rem 0 1.5rem; flex-grow: 1; font-size: 1.4rem; }
.corp-menu .c-linkbtn-wrap { gap: 1rem; }
.corp-menu .c-linkbtn-wrap .u-linkbtn { max-width: 19rem; height: 5rem; padding: 0 1rem; font-size: 1.3rem;  }
}

.c-corp-hero { border-bottom: var(--cl-border) 1px solid; }
.c-corp-hero .c-linkbtn-wrap { display: none; }

@media print, screen and (min-width: 640px) {
.c-corp-hero .u-inner { display: grid; grid-template-columns: auto 35.65%; grid-template-rows: max-content auto; align-items: flex-start;  }
.c-corp-hero .c-company { grid-row: 1/2; grid-column: 1/2; }
.c-corp-hero .c-linkbtn-wrap { display: flex; grid-row: 1/3; grid-column: 2/3; justify-content: flex-end; }
.c-corp-hero .c-linkbtn-wrap > * { width: 100%; max-width: 18rem; min-width: auto; padding: 0 1rem; font-size: 1.4rem;}

}





/* 企業 - top */
.page-corp._index {}
.page-corp._index .c-content-info { order: 2;}
.page-corp._index .c-content-pic { order: 1;}

@media print, screen and (min-width: 640px) {
.page-corp._index .c-content-info { order: 1;}
.page-corp._index .c-content-pic { order: 2;}

}


.page-corp._index .recruitment-btnwrap {}

@media print, screen and (min-width: 640px) {
.page-corp._index .recruitment-btnwrap { justify-content: flex-start; }
.page-corp._index .recruitment-btnwrap .u-linkbtn { width: calc(25% - 1rem); height: 10rem;}

}




.page-corp._index .corp-data { overflow: hidden;}
.page-corp._index .corp-data-title { display: grid; grid-template-columns: auto 5rem; position: relative; margin: -2rem -2rem 4rem; padding: 2rem; background-color: var(--cl-key); }
.page-corp._index .corp-data-title::after { position: absolute; top: 99.8%; left: 0; content: "";display: block; width: 100%; height: 2rem; background-color: var(--cl-key); clip-path: polygon(100% 0, 0 0, 50% 100%);}
.page-corp._index .corp-data-title > * { color: var(--cl-wh); font-weight: var(--ff-base-bold); }
.page-corp._index .corp-data-title > *:nth-child(1) { grid-column: 1/2;  }
.page-corp._index .corp-data-title > *:nth-child(2) { grid-column: 1/2;  font-size: 2.4rem;  }
.page-corp._index .corp-data-title > div { grid-column: 2/3; grid-row: 1/3;}
.page-corp._index .corp-data-item { }
.page-corp._index .corp-data-item + .corp-data-item { margin-top: 2rem; }
.page-corp._index .corp-data-item-title { display: grid; grid-template-columns: auto 4rem; align-items: center; padding: 1rem 0; border-top: var(--cl-key) 2px solid; border-bottom: var(--cl-key) 2px solid; font-size: 1.8rem; color: var(--cl-key); font-weight: var(--ff-base-bold);}
.page-corp._index .corp-data-item-title::after { content: ""; display: grid; align-items: center; justify-content: center; width: 4rem; height: 4rem; background: url(../../assets/images/common/ico_walk.svg) no-repeat center center / 2rem #F4FAFE; border-radius: 50%; }
.page-corp._index .corp-data-item-title._school::after { background-image: url(../../assets/images/common/ico_graduate.svg);}
.page-corp._index .corp-data-item-title._area::after {}
.page-corp._index .corp-data-list { }
.page-corp._index .corp-data-list > * { display: grid; grid-template-columns: max-content auto; gap: 1rem; font-weight: var(--ff-base-bold); padding: 1rem 0; font-size: 1.6rem; }
.page-corp._index .corp-data-list > * + * { border-top: var(--cl-border) 1px solid; }
.page-corp._index .corp-data-list > * span { display: grid; align-items: center; justify-content: center; width: max-content; padding: 0.2rem 1rem 0.3rem; border-radius: 0.4rem; font-weight: var(--ff-base-bold); color: var(--cl-key); border: var(--cl-key) 1px solid; line-height: 1;}
.page-corp._index .corp-data-list > *:nth-child(-n+3) span { background-color: var(--cl-key); color: var(--cl-wh);}

@media print, screen and (min-width: 640px) {
.page-corp._index .corp-data { display: grid; grid-template-columns: auto 29.11% 29.11%; gap: 6rem;}
.page-corp._index .corp-data-title { grid-template-columns: auto; grid-template-rows: auto max-content max-content max-content auto; align-items: center; margin: -6rem 6rem -6rem -6rem; padding: 0 0 0 6rem; }
.page-corp._index .corp-data-title::after { top: 0; left: 99.8%;  width: 6rem; height: 100%; clip-path: polygon(0 0, 0 100%, 100% 50%);}
.page-corp._index .corp-data-title > *:nth-child(1) { grid-row: 2 / 3; font-size: 2.2rem; }
.page-corp._index .corp-data-title > *:nth-child(2) { grid-row: 3 / 4; font-size: 4.8rem; line-height: 1.2; }
.page-corp._index .corp-data-title > div { grid-column: 1 / 2; grid-row: 4 / 5; margin-top: 2rem;}
.page-corp._index .corp-data-item + .corp-data-item { margin: 0; }
.page-corp._index .corp-data-item-title { border-top: none; padding-top: 0; grid-template-columns: auto 6rem; font-size: 2rem; }
.page-corp._index .corp-data-item-title::after { width: 6rem; height: 6rem; background-size: 3rem; }
.page-corp._index .corp-data-list > * { padding: 1.6rem 0; font-size: 1.8rem; line-height: 1.6; }
.page-corp._index .corp-data-list > * span { font-size: 1.6rem;}

}



/* 企業 - recruitment */
.corp-menu._recruitment { display: none;}
@media print, screen and (min-width: 640px) {
.corp-menu._recruitment { opacity: 0; visibility: hidden; transform: translateY(-2rem); transition: 0.3s; display: block; position: fixed; top: 0; left: 0; width: 100%;}
.corp-menu._recruitment .u-inner { display: grid; grid-template-columns: max-content auto 31.45%; gap: 4rem; align-items: center; height: 8rem;}
.corp-menu._recruitment .u-ico-left { grid-row: 1/2; grid-column: 1/2; }
.corp-menu._recruitment .c-company { grid-row: 1/2; grid-column: 2/3; grid-template-columns: 4rem max-content max-content;}
.corp-menu._recruitment .c-linkbtn-wrap { grid-row: 1/2; grid-column: 3/4; }
.corp-menu._recruitment .c-linkbtn-wrap { gap: 1rem; }
.corp-menu._recruitment .c-linkbtn-wrap .u-linkbtn { max-width: 19rem; height: 5rem; padding: 0 1rem; font-size: 1.3rem;  }

.corp-menu._recruitment._scrolled { opacity: 1; visibility: visible; transform: translateY(0)}


}


.page-corp._recruitment .recruitment-list { overflow: scroll; padding: 1.6rem 0; background-color: var(--cl-wh); border-bottom: var(--cl-border) 1px solid;}
.page-corp._recruitment .recruitment-list .u-inner { display: flex; align-items: center; gap: 1rem;}
.page-corp._recruitment .recruitment-list-item button { position: relative; display: grid; align-items: center; justify-content: center; width: max-content; padding: 0.3rem 1rem; background-color: var(--cl-bg-gr); border-radius: 0.4rem;}
.page-corp._recruitment .recruitment-list-item { width: max-content; position: relative; display: flex; align-items: center;}
.page-corp._recruitment .recruitment-list-item:not(._archive) + .recruitment-list-item._archive { gap: 1rem;}
.page-corp._recruitment .recruitment-list-item:not(._archive) + .recruitment-list-item._archive::before { content: ""; display: block; width: 1px; height: 2rem; background-color: var(--cl-border);  }
.page-corp._recruitment .recruitment-list-item button.is-active { background-color: var(--cl-key); color: var(--cl-wh); font-weight: var(--ff-base-bold);}

@media print, screen and (min-width: 640px) {
.page-corp._recruitment .recruitment-list { overflow: visible; height: 7.5rem; display: grid; align-items: center; padding: 0;}
.page-corp._recruitment .recruitment-list .u-inner { gap: 2rem;}
.page-corp._recruitment .recruitment-list-item button { height: 4rem; padding: 0 1.6rem; border-radius: 1rem;}

.page-corp._recruitment .recruitment-list-item:not(._archive) + .recruitment-list-item._archive { gap: 2rem;}
.page-corp._recruitment .recruitment-list-item:not(._archive) + .recruitment-list-item._archive::before { height: 4rem; }

}







/* 企業 > インターン
----------------------------------------------------------------------------------------------------------------------------*/


.intern-detail-date { margin-top: 2rem;}
.intern-detail-date > * { position: relative;}
.intern-detail-date > * + * { margin-top: 1rem; }
.intern-detail-date label { width: 100%; padding: 2rem 2rem 2rem 5rem; border: var(--cl-border) 1px solid; border-radius: 1rem; background-color: var(--cl-wh);}
.intern-detail-date input { position: absolute; top: 50%; left: 2rem; margin: 0 !important; transform: translate(0,-50%);}
.intern-detail-date input[type="radio"]:checked + label { border-color: var(--cl-key); color: var(--cl-key);}

@media print, screen and (min-width: 640px) {
.intern-detail-date { margin-top: 4rem;}
.intern-detail-date label { padding: 3rem 4rem 3rem 7rem; }
.intern-detail-date input { left: 4rem; }

}





/* 企業 > フィード一覧
----------------------------------------------------------------------------------------------------------------------------*/

/* index */
.corp-feed-wrap { display: grid; gap: 1.6rem;}
.corp-feed-wrap > * {}
.corp-feed-wrap .c-card-item._line .c-card-pic { margin-top: 0;}
.corp-feed-wrap .c-card-item._line .c-card-title { overflow: visible;}
.corp-feed-wrap .c-card-title { font-size: 1.8rem;}

@media print, screen and (min-width: 640px) {
.corp-feed-wrap { display: flex; flex-wrap: wrap; gap: 3rem;}
.corp-feed-wrap .c-card-item { width: calc(50% - 1.5rem);}
.corp-feed-wrap > .c-card-item:nth-child(n+3) { width: calc(33.33% - 2rem);}
.corp-feed-wrap .c-card-title { font-size: 2rem; line-height: 1.6;}

}


/* detail */
.corp-feeddetail {}
.corp-feeddetail-pic {}
.corp-feeddetail-contents { margin-top: 2rem;}

@media print, screen and (min-width: 640px) {
.corp-feeddetail-contents { margin-top: 6rem;}

}


.corp-feeddetail-slider { }
.corp-feeddetail-slider .swiper-slide { max-width: 30rem; margin-right: 3rem; }
.corp-feeddetail-slider .c-card-title { font-size: 1.8rem; }

@media print, screen and (min-width: 640px) {
.corp-feeddetail-slider .c-card-title { font-size: 2rem; line-height: 1.6; }

}




/* マイページ - index
----------------------------------------------------------------------------------------------------------------------------*/

.u-ico-alert { display: grid; align-items: center; justify-content: center; width: 2rem; height: 2rem; font-family: "Open Sans", sans-serif; background-color: var(--cl-error); color: var(--cl-wh);line-height: 1; border-radius: 50%; font-size: 1.2rem;}
.u-title-ico { display: grid; grid-template-columns: max-content auto; align-items: center; gap: 0.6rem;}
.u-title-ico::before { content: ""; display: block; width: 1.2em; height: 1.2em; mask: no-repeat center center / contain; background-color: var(--cl-key);}
@media print, screen and (min-width: 640px) {
.u-title-ico { gap: 1rem;}

}

.mypage-wrap { position: relative; margin-top: 4rem;}

@media print, screen and (min-width: 640px) {
.mypage-wrap { display: grid; grid-template-columns: 30rem auto; gap: 6rem; margin-top: 6rem;}

}



/* mypage-menu */
.mypage-btn { position: absolute; top: 6rem; right: 0; width: 7rem; height: 5rem; border-radius: 5rem 0 0 5rem; background-color: var(--cl-txt-gr); color: var(--cl-wh); font-size: 1rem;}
.mypage-btn::before { content: ""; display: block; width: 1.6rem; height: 1.6rem; margin: 0 auto 0.5rem; mask: url(../../assets/images/common/ico_mypage.svg) no-repeat center center / contain; background-color: var(--cl-wh);}

.mypage-menu { position: fixed; top: 8rem; right: -100%; width: 90%; height: calc(100% - 10rem); padding: 2rem; border-radius: 1rem 0 0 1rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1); background-color: var(--cl-bg-gr); transition: 0.3s; z-index: 20; overflow: hidden;  }
.mypage-menu.is-open { left: auto; right: 0;  }
.mypage-menu-inner { height: calc(100vh - 8rem); overflow-y: scroll; margin-top: 2rem; padding: 0 0 10rem;}
.mypage-menu-title { display: flex; align-items: center; margin: 1.5rem 0; color: var(--cl-key); gap: 1rem; }
.mypage-menu-title:first-of-type { margin-top: 0; }
.mypage-menu-title::after { content: ""; display: block; height: 1px; flex-grow: 1;  background-color: var(--cl-key);}
.mypage-menu-subtitle { margin: 1.5rem 0; }
.mypage-menu-item { position: relative; display: flex; align-items: center; gap: 1rem; height: 5rem; margin-top: 1rem; padding: 0 2rem; background-color: var(--cl-wh); border-radius: 1rem; font-weight: var(--ff-base-bold);}
.mypage-menu-item::after { position: absolute; top: 50%; right: 2rem; transform: translate(0,-50%); content: ""; display: block; width: 1.4rem; height: 1.4rem; background: url(../../assets/images/common/ar_right_a.svg) no-repeat center center / contain;}
.mypage-menu-line { margin-top: 2rem; text-align: center;}
.mypage-menu-line p { line-height: 1.6;}
.mypage-menu-line a { margin-top: 1rem; font-size: 1.4rem;}
.unsubscribe-btn { width: 100%; justify-content: center; margin: 2rem auto 0; padding: 1.5rem 0; background-color: #F5F5F5; }

@media print, screen and (min-width: 640px) {
.mypage-btn { display: none;}
.mypage-menu { position: static; top: 0; right: 0; width: 100%; height: auto; padding: 0; border-radius: 0; box-shadow: initial; max-width: 30rem; background-color: transparent;}
.mypage-menu .js-mypage-close { display: none;}
.mypage-menu-inner { height: auto; overflow-y: visible; margin-top: 0; padding: 0;}

.mypage-menu-title { margin: 3rem 0; }
.mypage-menu-subtitle { margin: 2rem 0; }
.mypage-menu-item { height: 6rem; }
}






.mypage-contents {}
.mypage-contents-title { margin-bottom: 1.6rem;}
.mypage-contents .u-bgwrap + .u-bgwrap { margin-top: 1rem; }

@media print, screen and (min-width: 640px) {

}



/* offer */
.mypage-contents-offer {}
.mypage-contents-offer .u-title-lg.u-title-ico {}
.mypage-contents-offer .u-title-lg.u-title-ico::before { mask-image: url(../../assets/images/common/ico_offer.svg);}

@media print, screen and (min-width: 640px) {

}



/* ai */
.mypage-contents-ai { padding: 4rem 1.5rem; background-color: #D8F0FA;}
.mypage-contents-ai .u-title-lg { position: relative; text-align: center;}
.mypage-contents-ai .u-title-lg
.mypage-contents-ai .c-aiChoice-item { position: relative; z-index: 10;}
.mypage-contents-ai .mypage-contents-title + p::after { content: ""; display: block; width: 10rem; height: 11rem; background: url(../../assets/images/common/p_syaruo.svg) no-repeat center center / contain; margin: 2rem auto -7rem;}

.mypage-contents-ai .aiChoice-banner  {}
.mypage-contents-ai .aiChoice-banner .mypage-menu-item { margin-top: 2rem;}

@media print, screen and (min-width: 640px) {
.mypage-contents-ai .u-title-lg::after { position: absolute; top: 0; right: 0; width: 12rem; height: 13rem; margin: 0 auto -7rem;}
.mypage-contents-ai { padding: 4rem 3rem; }
.mypage-contents-ai .mypage-contents-title + p::after { width: 14rem; height: 15rem; margin: 2rem auto -11rem;}

.mypage-contents-ai .c-aiChoice-item {  grid-template-columns: repeat(7,1fr); gap: 1.6rem; }
.mypage-contents-ai .c-aiChoice-info { grid-column: 1/5; grid-row: 1/2; }
.mypage-contents-ai .c-aiChoice-btn { grid-column: 6/8; grid-row: 1/2; justify-content: flex-end; grid-template-columns: repeat(2, 14.6rem); }
.mypage-contents-ai .c-aiChoice-btn > * {  }
.mypage-contents-ai .c-aiChoice-result { grid-column: 1/8; grid-row: 2/3; }
.mypage-contents-ai .c-aiChoice-pic { grid-column: 6/8; grid-row: 2/3; }
.mypage-contents-ai .c-aiChoice-item:has(.c-aiChoice-pic) .c-aiChoice-info { grid-column: 1/5;  }
.mypage-contents-ai .c-aiChoice-item:has(.c-aiChoice-pic) .c-aiChoice-result { grid-column: 1/6;  }
.mypage-contents-ai .u-title-lg { text-align: left;}

.aiChoice-banner { display: grid; grid-template-columns: auto 35.89%; gap: 4rem; align-items: anchor-center;}
.mypage-contents-ai .aiChoice-banner .mypage-menu-item { margin-top: 0;}

}


/* reserved */
.mypage-contents-reserved {}
.mypage-contents-reserved .u-title-lg.u-title-ico::before { mask-image: url(../../assets/images/common/ico_reserved.svg) ;}
.mypage-contents-reserved .c-title-link { margin: 3rem 0 1rem; }
.mypage-contents-reserved .u-title-md::before { content: "-"; margin-right: 0.6rem; color: var(--cl-key); }
.mypage-contents-reserved .c-reserved-wrap > * + * { margin-top: 1rem; }
.mypage-contents-reserved .c-reserved-title { display: grid; align-items: center; gap: 0.5rem; }

@media print, screen and (min-width: 640px) {
.mypage-contents-reserved .u-title-md::before { margin-right: 1rem; }
.mypage-contents-reserved .c-reserved-title { display: flex; align-items: flex-start; gap: 1rem; }
.mypage-contents-reserved .u-tag-item { width: 9%; }
.mypage-contents-reserved .u-title-lg { width: calc(91% - 1rem); }

}



/* alert */
.mypage-contents-alert { display: none;}

@media print, screen and (min-width: 640px) {
.mypage-contents-alert { display: block;}
.mypage-contents-alert .header-alert-item { padding: 2rem 0;}
.mypage-contents-alert .header-alert-item:first-child { padding-top: 0; }
.mypage-contents-alert .header-alert-item:last-child { padding-bottom: 0; }

}



/* biznav */
.mypage-contents-biznav { max-width: 40rem; padding: 2rem; background-color: var(--cl-wh); border-radius: 0 0 1rem 1rem; border: var(--cl-border) 1px solid; border-top: var(--cl-key) 4px solid;}
.biznav-title { display: flex; align-items: flex-end; gap: 1.5rem;}
.biznav-lead { margin-top: 2.4rem; font-size: 1.4rem;}
.biznav-lead > a { display: inline-block; margin-top: 1rem; font-size: 1.2rem;}
.biznav-login { margin: 2rem 0; padding: 2rem 0; border: var(--cl-border) 1px solid; border-width: 1px 0 1px 0; text-align: center;}
.biznav-login > * + * { margin-top: 0.6rem; }
.biznav-note { font-size: 1.2rem;}
.biznav-note > * { text-indent: -1em; margin: 1rem 0 0 1em;}
.mypage-contents-biznav .u-linkbtn { margin-top: 2rem;}

@media print, screen and (min-width: 640px) {
.mypage-contents-biznav { padding: 3rem;}
.biznav-title { font-size: 1.4rem;}
.biznav-lead > a { font-size: 1.4rem;}
.biznav-login { font-size: 1.4rem; line-height: 1.6;}
.biznav-login > * + * { margin-top: 1rem; }
.biznav-note > * { margin-top: 0.6rem;line-height: 1.6;}
.mypage-contents-biznav .u-linkbtn { font-size: 1.4rem;}

}




/* マイページ - オファー
----------------------------------------------------------------------------------------------------------------------------*/

.u-result-num { margin-bottom: 0.5rem; font-size: 1.2rem; text-align: right;}
@media print, screen and (min-width: 640px) {
.u-result-num { font-size: 1.4rem; }

}


.c-menu-wrap {}

@media print, screen and (min-width: 640px) {
.c-menu-wrap { display: grid; grid-template-columns: 22.33% auto; gap: 6rem;}
.c-menu-wrap .u-bgwrap + .u-bgwrap { margin-top: 2rem;}

}


.c-menu-nav { display: grid; grid-template-columns: repeat(3,1fr); align-items: center; margin-inline: -5.56%;}
.c-menu-nav .nav-item { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; height: 4rem; background-color: #EDEDED;}
.c-menu-nav .nav-item.is-active { background-color: transparent; font-weight: var(--ff-base-bold);}

@media print, screen and (min-width: 640px) {
.c-menu-nav { display: block; }
.c-menu-nav .nav-item { position: relative; display: flex; justify-content: flex-start; gap: 0; height: 6.4rem; padding-inline: 2rem;}
.c-menu-nav .nav-item + .nav-item { margin-top: 0.2rem;}
.c-menu-nav .nav-item .u-ico-alert { position: absolute; top: 50%; right: 2rem; transform: translate(0,-50%);}

}

.c-menu-contents { margin-top: 3rem;}
@media print, screen and (min-width: 640px) {
.c-menu-contents { margin-top: 0;}

}




.offer-box { position: relative; display: block; padding-right: 3rem;}
.offer-box::after { position: absolute; top: 50%; right: 1rem; transform: translate(0,-50%); content: ""; display: block; width: 1.4rem; height: 1.4rem; background: url(../../assets/images/common/ar_right_b.svg) no-repeat center center / contain;}
.offer-cat-type { margin-top: 1rem;}
.offer-company { margin-top: 0.5rem;}
.offer-title { margin-top: 1rem;}
.offer-txt { margin-top: 0.5rem;}
.offer-type { width: max-content; display: grid; grid-template-columns: max-content max-content; gap: 0.6rem; padding-right: 1.2rem; align-items: center; margin-top: 1rem; font-weight: var(--ff-base-bold); border: 1px solid; border-radius: 5rem;}
.offer-type::before { content: ""; display: block; width: 2.8rem; height: 2.8rem; background-color: var(--cl-bg-gr); border-radius: 50%; background: no-repeat center center / 1.8rem;}
.offer-type.is-message { border-color: var(--cl-error); color: var(--cl-error); }
.offer-type.is-meet { border-color: var(--cl-key); color: var(--cl-key);}
.offer-type.is-message::before { background-color: var(--cl-error); background-image: url(../../assets/images/common/ico_message.svg);}
.offer-type.is-meet::before { background-color: var(--cl-key); background-image: url(../../assets/images/common/ico_meet.svg);}

@media print, screen and (min-width: 640px) {

.offer-box { padding-right: 4rem !important;}
.offer-box::after { right: 1rem; width: 2rem; height: 2rem; }
.offer-title { margin-top: 1rem; font-size: 1.4rem;}
.offer-txt { margin-top: 0.5rem; line-height: 1.6;}
.offer-type { position: absolute; top: 2.5rem; right: 4rem; margin-top: 0; font-size: 1.2rem;}


}



.offer-detail-box { position: relative;}
.offer-detail {}

.offer-detail-box .offer-cat-type { margin-top: 1.5rem; }
.offer-detail-box .offer-company { margin-top: 0.5rem; font-weight: var(--ff-base-normal); font-size: 1.4rem;}
.offer-detail-box .offer-title { margin-top: 1rem; font-size: 1.8rem;}
.offer-detail-box .offer-txt { margin-top: 2rem; padding-top: 2rem; border-top: var(--cl-border) 1px solid;}
.offer-detail-box .offer-type { margin-top: 2rem; }
.offer-detail-box .u-linkbtn.is-inactive { width: 100%; max-width: none; border: var(--cl-border) 2px solid; background-color: var(--cl-wh); color: var(--cl-txt-gr); pointer-events: none; }

@media print, screen and (min-width: 640px) {
.offer-detail-box .offer-company { margin-top: 0.5rem; font-size: 1.6rem;}
.offer-detail-box .offer-title { margin-top: 1rem; font-size: 2.4rem;}
.offer-detail-box .offer-txt { margin-top: 3rem; padding-top: 3rem; }
.offer-detail-box .offer-type { top: 6rem; right: 6rem; margin-top: 0; }

}





/* マイページ - メッセージ
----------------------------------------------------------------------------------------------------------------------------*/



.message-box { display: grid; grid-template-columns: 5rem auto; gap: 1rem; padding-top: 3rem; }
.message-logo { }
.message-company { font-weight: var(--ff-base-bold); font-size: 1.6rem; }
.message-box .c-status-head { display: block;}
.message-date { font-size: 1.2rem; color: var(--cl-txt-gr); }
.message-txt { grid-column: 1/3; font-size: 1.4rem;  }
.message-link-wrap { grid-column: 1/3; display: flex; align-items: center; justify-content: flex-end; gap: 1rem;}
.message-link-wrap > * { width: max-content; text-decoration: underline; font-size: 1.4rem;}

.message-keyword { margin-bottom: 2rem;}
.message-keyword-box { display: grid; grid-template-columns: auto max-content; gap: 1rem;}
.message-keyword-input { height: 4rem !important; background-color: var(--cl-wh) !important; border: var(--cl-border) 1px solid !important;}
.message-keyword-btn { width: max-content; height: 4rem; padding: 0 1.5rem; border-radius: 1rem; display: grid; align-items: center; grid-template-columns: max-content auto; gap: 1rem; text-align: left; background-color: var(--cl-key); color: var(--cl-wh); font-size: 1.2rem;}
.message-keyword-btn::before { content: ""; display: block; width: 1.2em; height: 1.2em; mask: url(../../assets/images/common/ico_search.svg) no-repeat center center / contain; background-color: var(--cl-wh);}

@media print, screen and (min-width: 640px) {
.message-box { gap: 1rem 2rem; }
.message-box .c-status-list { right: 2rem;}
.message-box .c-status-head { display: grid;}
.message-company { font-size: 1.8rem; }
.message-txt { grid-column: 2/3;  }
.message-link-wrap { gap: 1.6rem; margin-top: 1rem;}

.message-keyword-box { grid-template-columns: max-content max-content; justify-content: flex-end;}
.message-keyword-input { width: 40rem !important; height: 5rem !important; }
.message-keyword-btn { height: 5rem; padding: 0 2rem; font-size: 1.6rem;}

}




.message-detail { display: block; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; position: fixed; inset: 0; z-index: 9999; overflow: hidden; }
.message-detail.is-active { opacity: 1; pointer-events: auto; }
.message-detail-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); opacity: 0; transition: opacity 0.3s ease; }
.message-detail.is-active .message-detail-overlay { opacity: 1; }
.message-detail-contents { position: relative; width: 100%; background: var(--cl-wh); border-radius: 1rem 0 0 1rem; box-shadow: 0 0 1rem rgba(0,0,0,0.1); transform: translateX(20px); opacity: 0; transition: all 0.4s ease; z-index: 10000; }
.message-detail.is-active .message-detail-contents { transform: translateY(0); opacity: 1; }

.message-detail-head { position: relative; display: grid; grid-template-columns: 4rem auto; gap: 1rem; padding: 1rem 2rem; align-items: center;}
.message-detail-head .message-company { padding-right: 2rem; }
.message-detail-close { position: absolute; top: 50%; right: 2rem; transform: translate(0,-50%); width: max-content; color: var(--cl-key); font-size: 2rem;}

.message-detail-body { height: calc(100vh - 23rem); height: calc(100dvh - 23rem); padding: 2rem; overflow-y: scroll; background-color: var(--cl-bg-gr);}

.message-item {}
.message-item + .message-item { margin-top: 2rem;}
.message-item .message-balloon { position: relative; padding: 1.5rem; font-size: 1.3rem; line-height: 1.4; border-radius: 1rem;}
.message-item .message-balloon::before { position: absolute; top: 2rem; content: ""; display: block; width: 1rem; height: 2rem; background-color: var(--cl-wh); z-index: 4; }
.message-item .message-date { margin-top: 0.5rem; margin-inline: 1rem; color: var(--cl-txt-gr); font-size: 1rem;}
.message-item.is-company {}
.message-item.is-company .message-balloon { margin-right: 2rem; background-color: var(--cl-wh);}
.message-item.is-company .message-balloon::before { right: 100%; background-color: var(--cl-wh); clip-path: polygon(0 50%, 100% 100%, 100% 0); }
.message-item.is-user {}
.message-item.is-user .message-balloon { margin-left: 2rem; background-color: #5A5A5A; color: var(--cl-wh);}
.message-item.is-user .message-balloon::before { left: 100%; background-color: #5A5A5A; clip-path: polygon(100% 50%, 0 0, 0 100%); }
.message-item.is-user .message-date { text-align: right; }

.message-detail-foot { }
.message-tools { display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-top: var(--cl-border) 1px solid; border-bottom: var(--cl-border) 1px solid;}
.message-tools .tools-btn { display: flex; gap: 1rem; }
.message-tools .tools-btn > * { width: 2em;}
.message-tools .message-send { width: 7rem; background-color: var(--cl-key); color: var(--cl-wh); height: 3rem; display: flex; align-items: center; justify-content: center; border-radius: 0.6rem;}
.message-textarea { border-radius: 0; background-color: var(--cl-wh) ; min-height: 12rem;}

.message-pin { position: absolute; top: 2rem; right: 2rem; width: 3rem; height: 3rem; mask: url(../../assets/images/common/ico_pin.svg) no-repeat center center / contain; background-color: var(--cl-txt-gr); transform: rotate(25deg);}
.message-pin.is-active { background-color: var(--cl-key);}



@media print, screen and (min-width: 640px) {
.message-detail-contents { max-width: 40rem; margin: 0 0 0 auto; }

}


/* マイページ - AIチョイス
----------------------------------------------------------------------------------------------------------------------------*/

.aiChoice-lead {}
.aiChoice-lead + .c-aiChoice-item { position: relative; z-index: 10;}

.aiChoice-lead > p {}
.aiChoice-lead > div { width: 50%; margin: 1rem auto -10rem;}

@media print, screen and (min-width: 640px) {
.aiChoice-lead { display: grid; grid-template-columns: auto 20.97%; gap: 4.84%; margin-bottom: -9rem;}
.aiChoice-lead > div { width: 100%; margin: 0 auto 0; transform: translate(0, 6rem);}

}



/* マイページ - 会員情報
----------------------------------------------------------------------------------------------------------------------------*/

.profile-title { display: flex; justify-content: space-between; align-items: center;}
.profile-title .u-linkbtn { width: max-content; height: 4rem; padding: 0 1.5rem; }



/* マイページ - 予約中のイベント
----------------------------------------------------------------------------------------------------------------------------*/
.event-item { position: relative; padding-top: 3.5rem; }
@media print, screen and (min-width: 640px) {
.event-item { padding-top: 6rem;}

}



/* マイページ - エントリー中
----------------------------------------------------------------------------------------------------------------------------*/

.myentry-item { position: relative;}
.myentry-item .c-status-list { position: static;}
.myentry-item .c-company { margin-top: 1rem;}
.myentry-link-wrap { display: flex; gap: 2rem; margin-top: 0.8rem;}
.myentry-link-item { display: inline-block; text-decoration: underline;}

@media print, screen and (min-width: 640px) {
.myentry-link-item { font-size: 1.4rem;}
.myentry-item .c-status-list { position: absolute; top: auto; bottom: 2rem; right: 2rem;}
.myentry-item .c-company { margin-top: 0;}
.myentry-link-wrap { margin-top: 1.6rem;}

}



/* マイページ - 検討中の企業
----------------------------------------------------------------------------------------------------------------------------*/

.u-wrapsect:has(.myconsider-item) { overflow: visible;}
.myconsider-item { position: relative; }
.myconsider-item .c-linkbtn-wrap { margin-top: 1.6rem; }
.myconsider-item .u-linkbtn { max-width: none;}
.myconsider-item .u-btn-cancel { margin: 1.6rem 0 0 auto;}

@media print, screen and (min-width: 640px) {

}



/* マイページ - 特典引換
----------------------------------------------------------------------------------------------------------------------------*/

.c-gift {}
.c-gift-item { display: flex; flex-wrap: wrap; align-items: center;}
.c-gift-item:last-of-type { padding: 0.5rem 0; border-bottom: var(--cl-border) 1px solid;}
.c-gift-title { font-size: 1.2rem;}
.c-gift-title::after { content: ":"; margin-inline: 0.5rem;}
.c-gift-txt { font-size: 1.4rem;}
.c-gift-link { display: inline-block; color: var(--cl-key); text-decoration: underline;}
.c-gift-expiration { padding-top: 0.5rem;}

@media print, screen and (min-width: 640px) {

}





/* PR系
----------------------------------------------------------------------------------------------------------------------------*/


.page-pr._index {}
.pr-point { position: relative; margin-top: 4rem; padding: 3rem 2rem; border: var(--cl-key) 4px solid; border-radius: 2rem; background-color: var(--cl-wh);}
.pr-point-title { font-size: 2.4rem; color: var(--cl-key); line-height: 1.4;}
.pr-point-title + p { margin-top: 1rem; font-size: 1.6rem; font-weight: var(--ff-base-bold);}
.pr-point-pic01 { position: absolute; top: -3rem; left: -1rem; width: 6rem; }
.pr-point-pic02 { position: absolute; bottom: -0.5rem; right: 0; width: 8rem;}
.pr-point-check { display: grid; grid-template-columns: max-content auto; gap: 0.5rem 1rem; margin-top: 1.5rem; padding: 1.5rem 0; border-top: var(--cl-border) 1px solid;}
.pr-point-check::before { content: ""; display: block; width: 1.4em; height: 1.4em; background: url(../../assets/images/common/modal_activity_check_on.svg) no-repeat center center / contain;}
.pr-point-check dt { font-size: 1.6rem; font-weight: var(--ff-base-bold);}
.pr-point-check dd { grid-column: 2/3;}
.pr-point-check + .pr-point-check { margin-top: 0; }
.pr-point-check + .pr-point-check dd { width: 80%;}

@media print, screen and (min-width: 640px) {

.pr-point { margin-top: 6rem; padding: 6rem; border-radius: 1rem; border-width: 6px;}
.pr-point-grid { display: grid; grid-template-columns: auto 56.14%; gap: 0 2.4%; }
.pr-point-title { font-size: 3.2rem;}
.pr-point-title + p { margin-top: 2rem; font-size: 1.8rem; line-height: 1.4; }
.pr-point-pic01 { top: -5rem; left: -5rem; width: 10rem; }
.pr-point-pic02 { bottom: -0.5rem; right: -0.5rem; width: 12rem;}
.pr-point-check { gap: 0.5rem 1rem; margin-top: 0; padding: 3rem 0; }
.pr-point-check:first-child { padding-top: 0; border: none;}
.pr-point-check dt { font-size: 2.2rem; line-height: 1.4;}
.pr-point-check::before { transform: translate(0,0.5rem);}
.pr-point-check + .pr-point-check dd { width: auto;}
.pr-point-check + .pr-point-check { padding-bottom: 0; }
}





.page-pr._detail {}
.page-pr {}
.pr-title { font-weight: var(--ff-base-bold); font-size: 1.8rem;}
.pr-title::before { content: "-"; margin-right: 1rem; color: var(--cl-key);}

.pr-theme-list { margin-top: 2rem;}
.pr-theme-item { position: relative;}
.pr-theme-item + .pr-theme-item { margin-top: 1rem;}
.pr-theme-item label { width: 100%; padding: 2rem 2rem 2rem 5rem; border: var(--cl-border) 1px solid; border-radius: 1rem; background-color: var(--cl-wh);}
.pr-theme-item input { position: absolute; top: 50%; left: 2rem; margin: 0 !important; transform: translate(0,-50%);}

.pr-theme-item.is-done { pointer-events: none; }
.pr-theme-item.is-done input { display: none;}
.pr-theme-item.is-done label { display: grid; grid-template-columns: max-content auto; align-items: center; gap: 1rem; padding-left: 2rem; }
.pr-theme-item.is-done label::before { display: block; width: max-content; content: "作成済み"; background-color: var(--cl-key); color: var(--cl-wh); border-radius: 0.4rem; padding: 0.5rem; line-height: 1; }
.pr-theme-item input[type="radio"]:checked + label { border-color: var(--cl-key); color: var(--cl-key);}

.pr-nav { display: flex; justify-content: space-between; gap: 2rem; margin-top: 2rem;}
.pr-nav._cen { justify-content: center; gap: 0;}
.pr-nav > * { width: 100%; max-width: 17rem;}
.pr-nav-prev { background-color: var(--cl-txt-gr);}
.pr-nav-next {}

.pr-title-question { font-size: 1.8rem; font-weight: var(--ff-base-bold); color: var(--cl-key); }
.pr-acd-child {}
.pr-acd-child .u-fw-bold { margin-top: 2rem; padding-top: 2rem; border-top: var(--cl-border) 1px solid;}

@media print, screen and (min-width: 640px) {
.page-pr .u-bgwrap + .u-bgwrap { margin-top: 1rem;}
.pr-title { font-size: 2.4rem;}
.pr-theme-list { margin-top: 4rem;}
.pr-theme-item label { padding: 3rem 4rem 3rem 7rem; }
.pr-theme-item input { left: 4rem; }

.pr-theme-item.is-done label { padding-left: 4rem; }
.pr-title-question { font-size: 2rem;  }


}





/* イベントツール
----------------------------------------------------------------------------------------------------------------------------*/

.page-tool {}
.tool-nav { display: grid; grid-template-columns: repeat(2,1fr); margin: 0 -5.56% 3rem;}
.tool-nav-item { display: grid; align-items: center; justify-content: center; height: 3.4rem; border-right: var(--cl-border) 1px solid; font-size: 1.4rem;}
.tool-nav-item:last-child { border-right: none; }
.tool-nav-item:not(.is-active) { border-bottom: var(--cl-border) 1px solid;}
.tool-nav-item.is-active { color: var(--cl-key); border-top: var(--cl-key) 2px solid; }

@media print, screen and (min-width: 640px) {

}


.u-wrapsect._tool { padding: 2rem 0;}
.u-wrapsect._tool:last-child { padding-bottom: 6rem;}

.tool-event {}
.tool-event > * + * { margin-top: 0.5rem;}

.tool-status { text-align: center; }
.tool-status-title { display: grid; grid-template-columns: max-content auto; gap: 1rem; align-items: center; justify-content: center; margin: 2rem 0 0; padding: 1.6rem 0; font-size: 3.2rem; font-weight: var(--ff-base-bold); color: var(--cl-key); border: var(--cl-key) 1px solid; border-width: 1px 0;}
.tool-status-title + p { margin-top: 2rem;}
.tool-status-title::before { content: ""; display: block; width: 1em; height: 1em; mask: url(../../assets/images/common/ico_done.svg) no-repeat center center / contain; background-color: var(--cl-key);}

.tool-status._none {}
.tool-status._none .tool-status-title {  font-size: 2.4rem; color: var(--cl-error); border-color: var(--cl-error); }
.tool-status._none .tool-status-title::before { mask-image: url(../../assets/images/common/ico_caution.svg) ; background-color: var(--cl-error);}


.tool-reception { display: grid ; grid-template-columns: max-content max-content; gap: 0.5rem; align-items: center;}
.tool-reception-item { font-size: 1.2rem; font-weight: var(--ff-base-bold);}
.tool-reception-item._reserved { width: max-content; display: inline-block; padding: 0.2rem 0.8rem; border-radius: 0.4rem; font-size: 1rem; background-color: var(--cl-key); color: var(--cl-wh); font-weight: var(--ff-base-bold); line-height: 1;}


.tool-entry { display: flex; align-items: center; justify-content: center; gap: 2rem; margin: 2rem 0 0; padding: 1.6rem 0; border: var(--cl-key) 1px solid; border-width: 1px 0;}
.tool-entry > * { width: max-content; line-height: 1.4;}
.tool-entry-num { font-size: 4rem; font-weight: var(--ff-base-bold); color: var(--cl-key); line-height: 1;}
.tool-entry-num span { display: inline-block; margin-left: 0.5rem; font-weight: var(--ff-base-bold); font-size: 1.4rem; color: var(--cl-txt);}
.tool-entry-count { margin-top: 2rem; color: var(--cl-txt-gr); font-size: 1.2rem;}

.tool-entry-corp { margin-top: 1rem;}
.tool-entry-corp-item { padding: 1.5rem 0; border-top: var(--cl-border) 1px solid;}
.tool-entry-corp-item._none { text-align: center;}
.tool-entry-corp-item:last-child { border-bottom: var(--cl-border) 1px solid;}

/* モーダル */
.modal .tool-modal-close { position: absolute; top: 2rem; right: 2rem; width: max-content;}
.modal .tool-check { margin: 2rem 0; padding: 1.6rem 0; border: var(--cl-key) 1px solid; border-width: 1px 0;}
.modal .tool-check + p { margin-top: 2rem;}
.modal .tool-check + p + p { margin-top: 0.5rem;}
.modal .tool-check-item { display: grid; grid-template-columns: max-content 14rem; justify-content: center;  gap: 0.8rem; font-weight: var(--ff-base-bold);}
.modal .tool-check-item + .tool-check-item { margin-top: 0.8rem;}
.modal .tool-check-item::before { content: ""; display: block; width: 2rem; height: 2rem; background: url(../../assets/images/common/modal_activity_check_off.svg) no-repeat center center / contain;}
.modal .tool-check-item.is-active::before { background-image: url(../../assets/images/common/modal_activity_check_on.svg) ;}




/* よくある質問
----------------------------------------------------------------------------------------------------------------------------*/


.faq-nav { display: grid; gap: 1rem; }
.faq-nav-item { }
.faq-nav-link { display: grid; grid-template-columns: auto max-content; height: 5rem; align-items: center; padding: 0 1.5rem; background-color: var(--cl-key); color: var(--cl-wh); font-weight: var(--ff-base-bold); border-radius: 1rem; }
.faq-nav-link::after { content: ""; display: block; width: 1em; height: 1em; margin: 0 auto; mask: url(../../assets/images/common/ar_right_b.svg) no-repeat center center / contain; background-color: var(--cl-wh); transform: rotate(90deg); }

@media print, screen and (min-width: 640px) {
.faq-nav { display: flex; gap: 3rem; }
.faq-nav-item { width: 100%; max-width: 32rem; }
.faq-nav-link { height: 6rem; padding: 0 2rem; }
}



.faq-list { margin-top: 1.6rem;}
.faq-item { display: grid; grid-template-columns: max-content auto; gap: 0.5rem;}
.faq-item + .faq-item { margin-top: 0.5rem; padding-top: 0.5rem; border-top: var(--cl-border) 1px solid;}
.faq-item::before { content: "Q."; font-size: 1.3rem; font-family: "Open Sans", sans-serif;}
.faq-item-link { display: inline-block; color: var(--cl-key); font-size: 1.3rem;}

@media print, screen and (min-width: 640px) {
.faq-list { margin-top: 2.4rem;}
.faq-item { gap: 1rem;}
.faq-item + .faq-item { margin-top: 0.5rem; padding-top: 0; border-top: none;}
.faq-item::before { font-size: 1.6rem; }
.faq-item-link { text-decoration: underline; font-size: 1.6rem;}
}


.faq-box { padding: 1.5rem 0; border-top: var(--cl-border) 1px solid;}
.faq-box:first-of-type { margin-top: 4rem; }
.faq-box:last-of-type { border-bottom: var(--cl-border) 1px solid; }
.faq-box-question { grid-template-columns: max-content auto max-content; gap: 1rem; align-items: flex-start;}
.faq-box-question::after { margin-top: 0.7rem;}
.faq-box-question::before { content: "Q";display: grid; align-items: center; justify-content: center; width: 3rem; height: 3rem; background-color: var(--cl-key);border-radius: 0.41rem; color: var(--cl-wh); font-size: 1.4rem; font-family: "Open Sans", sans-serif; font-weight: 600; line-height: 1;}
.faq-box-question span { display: block; margin-top: 0.3rem;}
.faq-box-answer { display: grid; grid-template-columns: max-content auto; gap: 1rem; }
.faq-box-answer > * { margin-top: 2.4rem; }
.faq-box-answer::before { content: "A";display: grid; align-items: center; justify-content: center; width: 3rem; height: 3rem; margin-top: 2rem; background-color: var(--cl-wh); border-radius: 0.41rem; color: var(--cl-key); font-size: 1.4rem; font-family: "Open Sans", sans-serif; font-weight: 600; line-height: 1;}
.faq-box-answer .faq-box-subtitle + p { margin-top: 0.5rem;  }
.faq-box-answer a { color: var(--cl-key); text-decoration: underline; }

@media print, screen and (min-width: 640px) {
.faq-box { padding: 4rem 0; }
.faq-box-question,
.faq-box-answer { gap: 2.4rem; }
.faq-box-question::before,
.faq-box-answer::before { width: 4rem; height: 4rem; font-size: 1.8rem;}
.faq-box-answer::before { margin-top: 4rem; }
.faq-box-answer > * { margin-top: 4.4rem; }


}





/* 規約
----------------------------------------------------------------------------------------------------------------------------*/

.terms-box {}
.terms-box + .terms-box  { margin-top: 4rem;}
.terms-box > p { font-size: 1.2rem;}
.terms-box > * + * { margin-top: 2rem; }
.terms-box-title {}

@media print, screen and (min-width: 640px) {
.terms-box + .terms-box  { margin-top: 6rem;}
.terms-box > p { font-size: 1.4rem;}
.terms-box > * + * { margin-top: 2.4rem; }

}




/* page-404
----------------------------------------------------------------------------------------------------------------------------*/

.notfound {}
.notfound-title { text-align: center; font-size: 2.4rem; }
.notfound-txt { font-style: 1.2em; margin-top: 2em; }
.notfound-btn { margin: 3em auto; display: flex; justify-content: center; }

@media print, screen and (min-width: 640px) {
.notfound-title { font-size: 4rem; }
.notfound-txt { text-align: center; margin-top: 4em; }
.notfound-btn { margin: 4em auto; }
}

