@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-txt: #121212;
    --cl-border: #CCCCCC;
    --cl-bg-gr: #F5F5F5;
    --cl-bg-bk: #2B2B2B;
    --cl-wh: #fff;
    --cl-bk: #000;
    /*--cl-linktxt: #FDCC00;*/
    /*--cl-linkbtn-txt: #fff;*/
    /*--cl-linkbtn-bg: #1A478C;*/
    --cl-error01: #E30000;
    --cl-error02: #FF9548;
    /*--cl-footer-bg: #00122E;*/
}

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

/* 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-light: 400;
    --ff-base-bold: 600;
    --ff01f: "Josefin Sans", serif;
}
@media print, screen and (min-width: 640px) {
:root {
    /* font: style weight size / line-height family */
    --ff-base: normal 400 1.4rem / 1.85 'Noto Sans JP', sans-serif;
}
}





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

base set

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

@media print, screen and (min-width: 640px) {
html { font-size: calc(100vw / 124); }
body { font-size: 1.6rem; }
a { transition: 0.5s; }
a:hover { opacity: 0.6; }
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-wh); border:var(--cl-border) 1px solid; width:100%; font-size: 1.6rem; height: 4rem; font-family: inherit; border-radius: 0; }
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-txtl); 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: 5rem; padding: 1rem 1.25rem; }
select:hover { cursor: pointer; }
}



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

utility & inview set

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

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

/* utility - base responsive */
.u-inner { max-width: 110rem; margin: 0 auto; width: 90%; }
.u-inner._inner-min { max-width: 96rem; }
.u-wrapsect { padding: 8rem 0; }
.u-wrapsect:not(._bg) + .u-wrapsect:not(._bg) { padding-top: 0; }
.u-wrapsect._bg { background-color: var(--cl-bg-gr); }
.u-wrapsect._bg._img { background: var(--cl-bg-gr) url(/assets/images/common/bg_img.png) repeat-y top left / 100%; }
.u-wrapsect-box + .u-wrapsect-box { margin-top: 8rem;}
.u-wrapblck { padding: 2rem 0; }
.u-only-pc	{ display: none; }

@media print, screen and (min-width: 640px) {
.u-inner { }
.u-wrapsect { padding: 16rem 0; }
.u-wrapblck { padding: 4rem 0; }
.u-wrapsect-box + .u-wrapsect-box { margin-top: 16rem;}
.u-only-sp	{ display: none !important; }
.u-only-pc	{ display: inherit; }
}


/* utility - base */
.u-ff01 { font-family: var(--ff01f); }
.u-cl-txt { color: var(--cl-txt); }
.u-cl-wh { color: var(--cl-wh); }
.u-iframebox { position:relative; padding-bottom: 45.46%; height:0; }
.u-iframebox iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.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-mb01 { margin-bottom: 1rem !important; }
.u-mb02 { margin-bottom: 2rem !important; }
.u-mb03 { margin-bottom: 3rem !important; }


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

/* utility - linkbtn */
.u-linkbtn { display: grid; grid-template-columns: 1fr auto 1fr; column-gap: 0.5em; align-items: center; padding: 0 1em; color: var(--cl-wh); background-color: var(--cl-txt); width: 26rem; height: 6.4rem; margin-inline: auto; border: var(--cl-txt) 1px solid; font-size: inherit; transition: 0.5s; font-weight: var(--ff-base-bold); }
.u-linkbtn::before { content: ""; transition: 0.5s; }
.u-linkbtn::after { content: ""; display: inline-grid; width: 1em; height: 1em; justify-self: end; mask: url(/assets/images/common/ico_ar.svg) no-repeat center center / contain; background-color: var(--cl-wh); transition: 0.5s; pointer-events: none;}

.u-linkbtn._rev {}
.u-linkbtn._rev::before { content: ""; display: inline-grid; width: 1em; height: 1em; mask: url(/assets/images/common/ico_ar.svg) no-repeat center center / contain; background-color: var(--cl-wh); rotate: 180deg; pointer-events: none;}
.u-linkbtn._rev::after { content: inherit; }

.u-linkbtn._wh { background-color: var(--cl-wh); color: var(--cl-txt); border: none;}
.u-linkbtn._wh::after { background-color: var(--cl-txt); }
.u-linkbtn._wh._rev::before { background-color: var(--cl-txt);}

@media print, screen and (min-width: 640px) {
.u-linkbtn { margin-inline: 0; }
.u-linkbtn:hover { color: var(--cl-txt); background-color: var(--cl-wh); opacity: 1; }
.u-linkbtn:hover::after { background-color: var(--cl-txt); }
.u-linkbtn._rev:hover::before { background-color: var(--cl-txt); }

.u-linkbtn._wh:hover { background-color: var(--cl-txt); color: var(--cl-wh);}
.u-linkbtn._wh:hover::after { background-color: var(--cl-wh); }
.u-linkbtn._wh._rev:hover::before { background-color: var(--cl-wh);}

}




/* 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); }




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

base layout

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


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

/* header */
.header { position: fixed; z-index: 100; top: 0; padding: 0 1rem; height: var(--header-height); display: grid; align-items: center; width: 100%; transition: 0.3s; }
.header-logo { width: 20rem; }
.header-nav { display: none; }

@media print, screen and (min-width: 640px) {
.header { padding: 0 3rem; display: grid; grid-template-columns: 31rem auto; gap: 2rem; }
._scrolled { background-color: rgba(255,255,255,0.9) }
.header-logo { width: 100%; }
.header-nav { display: block; }
.header-nav-gnav { display: flex; }
}

/* gnav */
@media print, screen and (min-width: 640px) {
.gnav { display: flex; justify-content: flex-end; align-items: center; gap: 3rem; }
.gnav-item { }
.gnav-item-link { display: flex; align-items: center; font-size: 1.8rem; font-weight: var(--ff-base-bold); color: var(--cl-wh); }
.gnav-item-link._contact { color: var(--cl-txt); background-color: var(--cl-wh); border: var(--cl-txt) 1px solid; width: 22rem; height: 7.4rem; justify-content: center; transition: 0.5s; }
.gnav-item-link:hover { opacity: 0.6;}
.gnav-item-link._contact:hover { background-color: var(--cl-txt); opacity: 1; color: var(--cl-wh); }

._scrolled .gnav-item-link { color: var(--cl-txt); }
._scrolled .gnav-item-link._contact { color: var(--cl-wh); background-color: var(--cl-txt); }
._scrolled .gnav-item-link._contact:hover { background-color: var(--cl-wh); color: var(--cl-txt);}


}








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

/* footer */
.footer { padding: 5rem 0 4rem; background-color: var(--cl-txt); color: var(--cl-wh); }
.finfo { }
.finfo-logo { width: 27.6rem; }
.finfo-name { font-size: 1.4rem; font-weight: var(--ff-base-bold); margin-top: 1.5rem; }
.finfo-address { font-size: 1.2rem; margin-top: 1.5rem; }
.fnav { margin-top: 4rem; }
.fnav-item { margin: 1.5rem 0; }
.fnav-item-link { font-size: 1.2rem; color: var(--cl-wh);}

.fbottom .fnav { margin: 0; }
.fcopy { font-size: 1.0rem; padding: 5rem 0 0; }

@media print, screen and (min-width: 640px) {
.footer { padding: 10rem 0; }
.footer-row { display: flex; justify-content: space-between; }

.finfo { margin-top: 1.5rem; }
.finfo-logo { width: 39.2rem; }
.finfo-name { margin-top: 4rem; font-size: 1.6rem; }
.finfo-address { font-size: 1.4rem; line-height: 2; margin-top: 0; }
.fnav { margin-top: 0; }
.fnav-item { margin: 2rem 0; font-size: 1.6rem; }
.fnav-item-link { font-size: 1.4rem; }

.fbottom { margin-top: 7rem; display: grid; grid-template-columns: max-content max-content; justify-content: space-between;}
.fbottom .fnav { order: 2; display: flex; gap: 5rem; }
.fbottom .fnav-item { margin: 0; }
.fbottom .fnav-item-link { font-size: 1.2rem; }

.fcopy { order: 1; margin-top: 0; padding-top: 0; font-size: 1.2rem; }
}






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

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


/* spnav-btn */
.spitem-btn { position: fixed; top: 2rem; right: 2rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background-color:var(--cl-txt); cursor: pointer; width: 4rem; height: 4rem; outline: none; transition:0.5s; z-index: 130; cursor: pointer; box-shadow: 0 0 4rem rgba(255,255,255,0.5);}
.spitem-btn::before,
.spitem-btn::after { content: ""; position: absolute; left: 50%; width: 1.4rem; height: 2px; background-color: var(--cl-wh); transform: translateX(-50%); transition:0.3s; }
.spitem-btn::before { top: 2.5rem; }
.spitem-btn::after  { bottom: 2.5rem; }
.spitem-btn-line { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 1.4rem; height: 2px; background-color: var(--cl-wh); transition: 0.3s; overflow: hidden; }

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

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


/* spnav [wrap] */
.spmenu { opacity: 0; visibility: hidden; position: fixed; top: 0; right: 0; width: 100%; z-index: 90; transition: 0.3s; }
.spmenu._spopen { opacity: 1; visibility: visible; }
.spmenu-inner { width: 100%; height: 100vh; padding: 9vh 10.67vw 0; overflow-y: scroll; background-color: var(--cl-wh);}


/* spnavMenu */
.spnav { margin-top: 4rem;  }
.spnav-item { font-size: 1.6rem; }
.spnav-item-link { display: block; font-weight: var(--ff-base-bold); padding: 1.75rem 0; line-height: 1; }
.spnav-item-link._contact { color: var(--cl-wh); background-color: var(--cl-txt); width: 100%; height: 6rem; display: flex; align-items: center; place-content: center; margin-top: 4rem; letter-spacing: 0.1em; }





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



/* pagetitle */
.pagetitle { position: relative; height: 30rem; }
.pagetitle-bg { position: absolute; top: 0; left: 0; width: 100%; }
.pagetitle-bg::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ""; display: block; background-color: var(--cl-txt); opacity: 0.5; }
.pagetitle-bg-pic { width: 100%; height: 30rem; object-fit: cover;}
.pagetitle-box { height: 30rem; padding-top: 6rem; display: grid; align-items: center; text-align: center;}
.pagetitle-en { position: relative; font-size: 1.8rem; line-height: 1.1; color: var(--cl-wh); }
.pagetitle-jp { position: relative; font-size: 4rem; letter-spacing: 0.1em; color: var(--cl-wh); font-weight: var(--ff-base-bold); margin-top: 1rem; line-height: 1.2; }

@media print, screen and (min-width: 640px) {
.pagetitle { height: 60rem; }
.pagetitle-bg { }
.pagetitle-bg-pic { width: 100%; height: 60rem; }
.pagetitle-box { height: 60rem; padding-top: 11rem;}
.pagetitle-en { font-size: 2.4rem; }
.pagetitle-jp { font-size: 6rem; }
}






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

component

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



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

/* title - section */
.c-secttitle { margin-bottom: 4rem; }
.c-secttitle-en { font-size: 1.8rem; line-height: 1.1; font-weight: var(--ff-base-light);  }
.c-secttitle-jp { margin-top: 0.5rem; font-size: 3.6rem; font-weight: var(--ff-base-bold); line-height: 1.2; }
.c-secttitle._cen { text-align: center; }
.c-secttitle._sp-cen { text-align: center; }

.c-secttitle._wh {}
.c-secttitle._wh > * { color: var(--cl-wh);}

.c-secttitle._rev {}
.c-secttitle._rev .c-secttitle-en { font-size: 4.8rem; line-height: 1.1; font-weight: var(--ff-base-light);  }
.c-secttitle._rev .c-secttitle-jp { margin-top: 0.5rem; font-size: 1.8rem; font-weight: var(--ff-base-bold); line-height: 1.2; }

@media print, screen and (min-width: 640px) {
.c-secttitle { margin-bottom: 8rem; }
.c-secttitle-en { font-size: 2.4rem; }
.c-secttitle-jp { font-size: 6rem; margin-top: 1rem; }
.c-secttitle._sp-cen { text-align: left; }

.c-secttitle._rev .c-secttitle-en { font-size: 10rem;}
.c-secttitle._rev .c-secttitle-jp { font-size: 2.4rem; }

}



/* title - section lead title */
.c-sectleadtitle { display: grid; gap: 2rem; margin-bottom: 2rem; font-size: 2.4rem; }
.c-sectleadtitle::before { content: ""; display: block; width: 4.4rem; height: 1rem; background: url(/assets/images/common/secttitle_point.svg) no-repeat center center / contain; }

@media print, screen and (min-width: 640px) {
.c-sectleadtitle { display: flex; align-items: center; margin-bottom: 4rem; font-size: 3.2rem; line-height: 1.4; }
}

/* title - block title */
.c-blocktitle { margin: 2rem 0; font-size: 1.6rem; line-height: 1.3; letter-spacing: 0.1em; }
@media print, screen and (min-width: 640px) {
.c-blocktitle { margin: 6rem 0 3rem; font-size: 2.4rem; line-height: 1.1; }
}



/* title - utility */
.u-title-xl { font-size: 2.2em; line-height: 1.3; font-weight: var(--ff-base-bold); }
.u-title-lg { font-size: 1.8em; line-height: 1.3; font-weight: var(--ff-base-bold); }
.u-title-md { font-size: 1.5em; line-height: 1.3; font-weight: var(--ff-base-bold); }
.u-title-sm { font-size: 1.2em; line-height: 1.3; font-weight: var(--ff-base-bold); }
.u-title-pj { font-size: 2.0rem; font-weight: 700; }
.u-title-pj-sub { font-size: 1.3rem; font-family: var(--ff01f); font-weight: var(--ff01w); line-height: 1.2; color: var(--cl-key01); margin-top: 0 !important; }

@media print, screen and (min-width: 640px) {
.u-title-xl { font-size: 3.2em; }
.u-title-lg { font-size: 2.6em; }
.u-title-md { font-size: 2.0em; }
.u-title-sm { font-size: 1.4em; }

.u-title-pj { font-size: 3.0rem; font-weight: 700; }
.u-title-pj-sub { font-size: 1.6rem; }

}


/* breadcrumb
--------------------------------------------------------------*/
.c-breadcrumb { font-size: 1.2rem; margin-left: auto; text-align: right; }
.c-breadcrumb-item { position: relative; display: inline-block; }
.c-breadcrumb-item:not(:last-child) { padding-right: 1em; }
.c-breadcrumb-item:nth-child(3) { text-align: right; padding: 0; width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.c-breadcrumb-item:not(:last-child):before { content: ""; position: absolute; top: 0.5em; right: 0; display: block; width: 1rem; height: 1rem; mask: url(/assets/images/common/ico_ar.svg) no-repeat center right / contain; background-color: var(--cl-txt); }
.c-breadcrumb-link { }
.c-breadcrumb-item:not(:last-child) .c-breadcrumb-link { text-decoration: underline; }


@media print, screen and (min-width: 640px) {
.c-breadcrumb { font-size: 1.4rem; }
.c-breadcrumb-item:nth-child(3) { width: fit-content; overflow: inherit; }
}





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

/* c-grtb */
.c-grtb { }
.c-grtb-item { display: grid; padding: 1.5rem 0; border-top: var(--cl-border) 1px solid; }
.c-grtb-item:last-child { border-bottom: var(--cl-border) 1px solid; }
.c-grtb-item > * + * { margin-top: 0.5rem; }

@media print, screen and (min-width: 640px) {
.c-grtb-item { padding: 3rem 0; grid-template-columns: 18rem 1fr; }
.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; }
}

















/* 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: 4rem; }
.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; }
}


/* mgbox */
.c-mgbox {}
.c-mgbox > *:not(:first-child) { margin-top: 1rem; }

@media print, screen and (min-width: 640px) {
.c-mgbox._mgp1 > *:not(:first-child) { margin-top: 1rem; }
.c-mgbox._mgp2 > *:not(:first-child) { margin-top: 2rem; }
.c-mgbox._mgp3 > *:not(:first-child) { margin-top: 3rem; }
.c-mgbox._mgp4 > *:not(:first-child) { margin-top: 4rem; }
}




/* news group
--------------------------------------------------------------*/

/* c-newscategory */
.newscategory { letter-spacing: 0.1em; }
.newscategory-title { font-size: 1.6rem; color: var(--cl-txt); }
.newscategory-list { display: flex; flex-wrap: wrap; gap: 1.5rem 1.8rem; font-size: 1.2rem; margin: 1rem 0 3rem; }
.newscategory-item { border: var(--cl-border) 2px solid; border-radius: 10rem; display: grid; place-content: center; min-width: 10rem; height: 4rem; padding: 0 1rem; transition: 0.5s; font-weight: var(--ff-base-bold); }
.newscategory-item._active { border-color: var(--cl-txt); background-color: var(--cl-txt); color: var(--cl-wh); }
@media print, screen and (min-width: 640px) {
.newscategory-title { font-size: 1.8rem; }
.newscategory-list { font-size: 1.6rem; gap: 3rem; margin: 1rem 0 6rem; }
.newscategory-item { min-width: 13rem; height: 5rem; padding: 0 2rem; }
.newscategory-item:hover { border-color: var(--cl-txt); background-color: var(--cl-txt); color: var(--cl-wh); opacity: 1;}
}




/* c-newslist */
.c-newslist { display: grid; grid-template-columns: 6.2em 8.4rem 1fr; grid-template-rows: auto auto; gap: 0.5rem 1em; padding: 2rem 0; border-bottom: var(--cl-border) 1px solid; transition: 0.5s; }
.c-newslist-date { letter-spacing: 0.11em; }
.c-newslist-category { display: grid; place-content: center; font-size: 1.2rem; color: var(--cl-wh); background-color: var(--cl-txt); height: 2.4rem; letter-spacing: 0.1em; line-height: 1; }
.c-newslist-title { grid-area: 2 / 1 / 3 / 4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
@media print, screen and (min-width: 640px) {
.c-newslist { grid-template-rows: auto; padding: 4rem 0; font-size: 1.8rem; }
.c-newslist:hover { background-color: var(--cl-bg-gr); }
.c-newslist-category { margin-top: 0.3rem; font-size: 1.4rem; height: 2.8rem; }
.c-newslist-title { grid-area: 1 / 3 / 2 / 4; }
}


/* c-newsdetail */
.c-newsdetail-titlebox { display: grid; grid-template-columns: 5.2em 8.4rem 1fr; grid-template-rows: auto auto; gap: 0.5rem 1em; padding: 2rem 0; border-bottom: var(--cl-border) 1px solid; }
.c-newsdetail-titlebox-date {}
.c-newsdetail-titlebox-category { display: grid; place-content: center; font-size: 1.2rem; color: var(--cl-wh); background-color: var(--cl-txt); height: 2.4rem; letter-spacing: 0.1em; }
.c-newsdetail-titlebox-title { grid-area: 2 / 1 / 3 / 4; font-size: 2.4rem; font-weight: var(--ff-base-base); line-height: 1.25; font-weight: var(--ff-base-bold); }
@media print, screen and (min-width: 640px) {
.c-newsdetail-titlebox { grid-template-rows: auto; padding: 4rem 0; }
.c-newsdetail-titlebox-date {}
.c-newsdetail-titlebox-category { font-size: 1.4rem; height: 2.8rem; }
.c-newsdetail-titlebox-title { font-size: 4rem; }
}


.c-newsdetail-article { padding: 2rem 0 3rem; }
.c-newsdetail-article > * + * { margin-top: 2rem; }
.c-newsdetail-article a { text-decoration: underline; color: var(--cl-key01); }
.c-newsdetail-article h2 { font-size: 1.6em; font-weight: var(--ff-base-base); margin-top: 6rem; }
.c-newsdetail-article h3 { font-size: 1.4em; font-weight: var(--ff-base-base); margin-top: 4rem; }
.c-newsdetail-article ul { padding-left: 1.5em; }
.c-newsdetail-article ul li { list-style-type: disc; }
@media print, screen and (min-width: 640px) {
.c-newsdetail-article { padding: 4rem 0 8rem; }
.c-newsdetail-article > * + * { margin-top: 4rem; }
.c-newsdetail-article a:hover { text-decoration: none; }
.c-newsdetail-article h2 { margin-top: 8rem; }
.c-newsdetail-article h3 { margin-top: 6rem; }
}



/* faq */
.c-faq-item { }
.c-faq-item + .c-faq-item  { margin-top: 4rem; }
.c-faq-title,
.c-faq-txt { display: grid; grid-template-columns: 5rem 1fr; gap: 2rem; }
.c-faq-title { font-size: 1.8rem; font-weight: var(--ff-base-bold);}
.c-faq-title::before,
.c-faq-txt::before { display: grid; align-items: center; justify-content: center; width: 5rem; height: 5rem; line-height: 5.5rem; font-family: "Josefin Sans", serif; border-radius: 50%; font-size: 2.4rem;}
.c-faq-title::before { content: "Q"; background-color: var(--cl-txt); color: var(--cl-wh); }
.c-faq-title:not(.js-accordion) + .c-faq-txt { margin-top: 1.5rem;}
.c-faq-txt::before { content: "A"; background-color: var(--cl-bg-gr); color: var(--cl-txt); }

.js-accordion { grid-template-columns: 5rem 1fr 1.5rem; align-items: center; }
.js-accordion::after { content: ""; display: block; width: 1.5rem; height: 1.5rem; background: url(/assets/images/common/faq_open.svg) no-repeat center center / contain; transition: 0.3s;  }
.js-accordion._show::after { background-image: url(/assets/images/common/faq_close.svg) ; transform: rotate(-180deg);  }
.js-accordion + * { max-height: 0; overflow: hidden; transition: all 0.5s ease; padding: 0; }
.js-accordion + *._show { max-height: none; padding: 1.5rem 0 0;}

@media print, screen and (min-width: 640px) {
.c-faq-item + .c-faq-item  { margin-top: 6rem; }
.c-faq-title,
.c-faq-txt { grid-template-columns: 10rem 1fr; gap: 4rem; align-items: center; font-size: 1.8rem; }
.c-faq-title { font-size: 2.4rem;}
.c-faq-title::before,
.c-faq-txt::before { width: 10rem; height: 10rem; line-height: 10.5rem; font-size: 4rem;}
.c-faq-title:not(.js-accordion) + .c-faq-txt { margin-top: 2.5rem;}

.js-accordion { grid-template-columns: 10rem 1fr 3rem; cursor: pointer; }
.js-accordion::after { width: 3rem; height: 3rem; }
.js-accordion + *._show { padding: 3rem 0 0;}

}





/* policy group
--------------------------------------------------------------*/

/* c-policybox */
.c-policybox { padding: 1em 0; border-bottom: var(--cl-border) 1px solid; }
.c-policybox-title { font-size: 1.8rem; font-weight: var(--ff-base-bold); }
.c-policybox-txt { margin-top: 0.8em; }
._noborder.c-policybox { border-bottom: none; }
@media print, screen and (min-width: 640px) {
.c-policybox-title { font-size: 2.4rem; }
}


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

/* required - utility */
.u-req { color: var(--cl-error01); margin-left: 0.5em; }



/* 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-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; }
}





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

page unique

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

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

/* secttitle - 上書き */
@media print, screen and (min-width: 640px) {
.page-home .c-secttitle-en { font-size: 2.4rem; }
.page-home .c-secttitle-jp { font-size: 6rem;}

.page-home .gnav-item-link { color: var(--cl-txt); }
.page-home .gnav-item-link._contact { color: var(--cl-wh); background-color: var(--cl-txt); }
.page-home .gnav-item-link._contact:hover { background-color: var(--cl-wh); color: var(--cl-txt);}

}


/* kv */
.page-home .kv { position: relative; height: 100vh; }
.page-home .kv-bg { position: absolute; top: -6rem; left: 0; z-index: -1; }
.page-home .kv-catch { padding-top: 10rem; font-size: 4.2rem; font-weight: var(--ff-base-bold); line-height: 1.4;}
.page-home .kv-catch span { margin: 0 0.5rem; font-size: 2.6rem;}
.page-home .kv-subcatch { margin-top: 1rem; color: #1C8DFF;}

@media print, screen and (min-width: 640px) {
.page-home .kv { padding: 25.4rem 0 0; height: 85rem; }
.page-home .kv-bg { top: 0; left: 50%; margin: 0 auto; transform: translate(-50%, 0); width: 222rem; z-index: -1; }
.page-home .kv-catch { padding-top: 0; font-size: 7.2rem; line-height: 1.2;}
.page-home .kv-catch span { font-size: 4.8rem;}
.page-home .kv-subcatch { font-size: 2.4rem;}

}



/* kv - pickup */
.page-home .pickup { position: absolute; bottom: 2rem; right: 0; width: 95%; background-color: var(--cl-wh); border-radius: 5rem 0 0 5rem; overflow: hidden;}
.page-home .pickup .c-newslist { position: relative; padding: 1.5rem 0 1.5rem 3rem; border-bottom: none;}
.page-home .pickup .c-newslist::after { position: absolute; top: 50%; right: 2rem; transform: translate(0,-50%); content: ""; display: block; width: 0.8em; height: 0.8em; mask: url(/assets/images/common/ico_ar.svg) no-repeat center center / contain; background-color: var(--cl-txt);}
.page-home .pickup .c-newslist-title { -webkit-line-clamp: 1; padding-right: 4rem;}
@media print, screen and (min-width: 640px) {
.page-home .pickup { bottom: 0; width: 50%; background-color: var(--cl-wh); border-radius: 5rem 0 0 5rem;}
.page-home .pickup .c-newslist { max-width: 66rem; padding: 1.5rem 0 1.5rem 3rem; border-bottom: none;}
}



/* greeting */
.page-home .about { position: relative; margin-top: 8rem; }
.page-home .about .u-linkbtn { margin-top: 4rem;  }
@media print, screen and (min-width: 640px) {
.page-home .about { margin-top: 6rem; padding-top: 10rem; }
.page-home .about .u-linkbtn { margin-top: 6rem;  }
}



/* service */
.page-home .service { overflow: hidden;}
.page-home .service-item { position: relative; }
.page-home .service-item + .service-item { margin-top: 4rem;}
.page-home .service-item-pic { margin: 0 -2rem; overflow: hidden;}
.page-home .service-item-bg { position: relative; z-index: 1; margin-top: -5rem; padding: 2rem; background-color: var(--cl-wh); }
.page-home .service-item-title { position: relative; z-index: 1; }
.page-home .service-item-title > * { font-size: 1.2rem; }
.page-home .service-item-title-main { margin-bottom: 1rem; font-size: 2.4rem; font-weight: var(--ff-base-bold); }
.page-home .service-item-title-sub { margin-bottom: 0.5rem; font-size: 1.8rem; font-weight: var(--ff-base-bold); line-height: 1.2; }
.page-home .service-item-bg .u-linkbtn { width: 100%; margin-top: 2rem;}

@media print, screen and (min-width: 640px) {
.page-home .service-item + .service-item { margin-top: 8rem;}
.page-home .service-item-pic { margin: 0 -25rem 0 0;}
.page-home .service-item-pic img { margin: 0 0 0 auto;}
.page-home .service-item-bg { max-width: 91rem; margin: -16rem auto 0 0; padding: 5rem; }
.page-home .service-item-title { }
.page-home .service-item-title > * { font-size: 1.6rem; }
.page-home .service-item-title-main { margin-bottom: 1.5rem; font-size: 4rem; }
.page-home .service-item-title-sub { margin-bottom: 0.5rem; font-size: 2.4rem; font-weight: var(--ff-base-bold); line-height: 1.2; }
.page-home .service-item-bg .u-linkbtn { width: 26rem; margin-top: 3rem;}

}



/* news */
.page-home .news { }
.page-home .news .u-linkbtn { margin-top: 3rem; }

@media print, screen and (min-width: 640px) {
.page-home .news .u-inner { display: grid; grid-template-columns: 44rem 1fr; grid-template-rows: max-content 1fr; margin-top: 3rem; }
.page-home .news .u-linkbtn { margin-top: 0; }
.page-home .news .news-list { grid-column: 2/3; grid-row: 1/3; }
.page-home .news .c-newslist-title { -webkit-line-clamp: 1; }
}




/* recruit */
.page-home .recruit { color: var(--cl-wh); background: url(/assets/images/home/bg_recruit_sp.jpg) no-repeat center top / cover;}
.page-home .recruit .u-linkbtn { margin-top: 5rem;}

@media print, screen and (min-width: 640px) {
.page-home .recruit { background-image: url(/assets/images/home/bg_recruit_pc.jpg) ;}

}



/* aboutus
----------------------------------------------------------------------------------------------------------------------------*/

/* message */
.page-aboutus .message-box { position: relative;}
.page-aboutus .message-box-bg { }
.page-aboutus .message-box-name { margin-top: 1rem; font-size: 1.6rem; font-weight: var(--ff-base-bold); }
.page-aboutus .message-box-pic { margin-top: 4rem; margin-inline: auto; overflow: hidden; max-width: 22rem; }

@media print, screen and (min-width: 640px) {
.page-aboutus .message-box { display: grid; grid-template-columns: 1fr 52rem; gap: 4rem; }
.page-aboutus .message-box-bg { }
.page-aboutus .message-box-bg > * { font-size: 1.8rem;  }
.page-aboutus .message-box-name { margin-top: 5rem; font-size: 2.4rem; }
.page-aboutus .message-box-pic { max-width: none; margin-top: 0;}
}

/* overview */
.page-aboutus .u-iframebox { margin-top: 2rem;}
.page-aboutus .c-grtb-item { }
.page-aboutus .c-grtb-item dt { font-weight: var(--ff-base-bold); }

@media print, screen and (min-width: 640px) {
.page-aboutus .u-iframebox { margin-top: 4rem;}

}


/* group */
.group-box { padding: 2rem 0; border-bottom: var(--cl-border) 1px solid;}
.group-box-info a { text-decoration: underline;}
.group-box-name { margin-bottom: 0.5rem; font-size: 1.6rem; font-weight: var(--ff-base-bold);}
.group-box-pic { }
.group-box-pic a { display: block; max-width: 16rem; margin-top: 2rem; border: var(--cl-border) 1px solid; }

@media print, screen and (min-width: 640px) {
.group-box { display: grid; grid-template-columns: 42rem 1fr; grid-template-rows: max-content 1fr; padding: 3rem 0;}
.group-box-info { grid-column: 2/3; grid-row: 1/3; line-height: 1.7; }
.group-box-name { margin-bottom: 0; font-size: 1.8rem; }
.group-box-pic a { max-width: 23rem; margin-top: 1.5rem; }

}


/* business
----------------------------------------------------------------------------------------------------------------------------*/

.page-business .lead-pic { margin-top: 4rem;}

@media print, screen and (min-width: 640px) {
.page-business .lead-pic { margin-top: 5rem;}
}

.business-item { position: relative; padding: 4rem 2rem; background:  no-repeat center center/ cover;}
.business-item + .business-item { margin-top: 4rem;}
.business-item::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7);}
.business-item._item01 { background-image: url(/assets/images/business/idx/sec02_box01_bg_sp.jpg);}
.business-item._item02 { background-image: url(/assets/images/business/idx/sec02_box02_bg_sp.jpg);}
.business-item._item03 { background-image: url(/assets/images/business/idx/sec02_box03_bg_sp.jpg);}
.business-item > * { position: relative; z-index: 1; color: var(--cl-wh);}
.business-item-main { font-size: 2.4rem; font-weight: var(--ff-base-bold);}
.business-item-sub { margin-top: 0.5rem; font-size: 1.8rem; font-weight: var(--ff-base-bold);}
.business-item-sub + p { margin-top: 0.5rem; font-size: 1.2rem; }
.business-item-btn { width: 100%; margin-top: 4rem;}
.business-item-merit { margin-top: 4rem; padding: 2rem; border: var(--cl-wh) 2px solid;}
.business-item-merit > p { font-size: 1.8rem; font-weight: var(--ff-base-bold); text-align: center;}
.business-item-merit > ul { display: grid; grid-template-columns: 1fr 1fr; justify-content: center; gap: 2rem; margin-top: 2rem;}
.business-item-merit > ul li { text-align: center; font-size: 1.2rem;}
.business-item-merit > ul li img { max-width: 9.2rem; margin: 0 auto 1rem;}

@media print, screen and (min-width: 640px) {
.business-item { padding: 6rem 8rem; }
.business-item + .business-item { margin-top: 8rem;}
.business-item._item01 { background-image: url(/assets/images/business/idx/sec02_box01_bg_pc.jpg);}
.business-item._item02 { background-image: url(/assets/images/business/idx/sec02_box02_bg_pc.jpg);}
.business-item._item03 { background-image: url(/assets/images/business/idx/sec02_box03_bg_pc.jpg);}
.business-item-main { font-size: 4rem; }
.business-item-sub { margin-top: 1rem; font-size: 2.4rem; }
.business-item-sub + p { font-size: 1.6rem; }
.business-item-btn { width: 26rem; margin-top: 5rem;}

.business-item-row { display: grid; grid-template-columns: 1fr 36rem; gap: 6rem;}
.business-item-merit { margin-top: 0; }
.business-item-merit > p { font-size: 2.4rem;}
.business-item-merit > ul { grid-template-columns: 14rem 14rem; }
.business-item-merit > ul li { font-size: 1.4rem; line-height: 1.4;}
}


/* ses */
.ses-merit-item { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem 1.6rem; align-items: center; }
.ses-merit-item + .ses-merit-item { margin-top: 3rem;}
.ses-merit-num { display: grid; align-items: center; justify-content: center; background-color: var(--cl-wh); width: 5rem; height: 5rem; border-radius: 50%; font-size: 2.4rem; font-weight: var(--ff-base-bold);}
.ses-merit-title { font-size: 2.4rem; font-weight: var(--ff-base-bold);}
.ses-merit-title + p { grid-column: 1/3;}

.ses-example { margin-top: 4rem; padding: 3rem 2rem; background-color: var(--cl-wh);}
.ses-example-item { display: grid; align-items: center; grid-template-columns: 9.2rem 1fr; gap: 0 1.6rem; }
.ses-example-item + .ses-example-item { margin-top: 3rem;}
.ses-example-pic { }
.ses-example-title { font-size: 1.8rem; font-weight: var(--ff-base-bold);}
.ses-example-title + p { }

.ses-case-item { margin-top: 4rem; text-align: center;}
.ses-case-title { margin: 1rem 0 0.5rem; font-size: 1.8rem; font-weight: var(--ff-base-bold);}

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

.ses-merit-item { grid-template-columns: 10rem 1fr; gap: 0 3rem;}
.ses-merit-num { grid-row: 1/3; width: 10rem; height: 10rem; font-size: 4rem; }
.ses-merit-title { grid-template-columns: 10rem 1fr; gap: 3rem; font-size: 4rem; }
.ses-merit-title + p { grid-row: 2/3; grid-column: 2/3; }

.ses-example { display: grid; grid-template-columns: repeat(3,25rem); gap: 6rem; justify-content: center; padding: 4rem;}
.ses-example-item { display: block; }
.ses-example-item + .ses-example-item { margin-top: 0;}
.ses-example-pic { max-width: 14.6rem; margin: 0 auto;}
.ses-example-title { margin-top: 1rem; font-size: 2.4rem; text-align: center;}

.ses-case { display: grid; grid-template-columns: repeat(2,1fr); gap: 4rem;}
.ses-case-item { margin-top: 4rem; text-align: center;}
.ses-case-title { margin: 2rem 0 0.5rem; font-size: 2.4rem; }

}




/* contact
----------------------------------------------------------------------------------------------------------------------------*/

/* lead */
.page-contact {}
.page-contact .c-grtb-item {}
.page-contact .c-grtb-item dt { font-weight: var(--ff-base-bold);}
.contact-leadbox { margin-bottom: 2rem;}
.contact-ex01 { margin-top: 0.5rem; color: var(--cl-error01);}
.c-grtb-item:first-of-type { border-top: none; }
.c-grtb-item .address-box { margin-top: 2rem; }
@media print, screen and (min-width: 640px) {
.contact-leadbox { margin-bottom: 4rem;}

}

.form-ex01 { margin-top: 0.5rem; font-size: 1.4rem;}
.contact-submit { position: relative; cursor: pointer; margin: 4rem auto 0; position: relative; }
.contact-submit .wpcf7-submit { font-size: 1.4rem; color: var(--cl-wh); font-weight: var(--ff-base-bold); background-color: transparent; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


.contact-backlink { margin-top: 4rem; text-align: center;}
.contact-backlink .u-linktxt-back { text-decoration: underline; border: none; height: auto; width: auto; background: none;}
@media print, screen and (min-width: 640px) {
.contact-submit { margin-top: 6rem; }
.contact-submit .wpcf7-submit { font-size: 1.6rem;  }
.contact-submit:hover .wpcf7-submit {  color: var(--cl-txt);  }
.contact-submit.u-linkbtn._wh:hover::after { background-color: var(--cl-txt);  }

}









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

wordpress setting

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


/* contact form 7 */
.wpcf7-form-control.wpcf7-radio { display: grid; gap: 1rem;}
.wpcf7-not-valid-tip { margin-top: 0.5rem; color: var(--cl-error01) !important; font-size: 1.4rem; }
.wpcf7-list-item { margin: 0 !important; }
.wpcf7 form .wpcf7-response-output { padding: 3rem !important; text-align: center !important;}
.page-contact .wpcf7 form.invalid .wpcf7-response-output { color: var(--cl-error01) !important; border-color: var(--cl-error01) !important;}
.page-recruit .wpcf7 form.invalid .wpcf7-response-output { color: var(--cl-error02) !important; border-color: var(--cl-error02) !important;}
.wpcf7-spinner { pointer-events: none; position: absolute !important; top: 50%; left: 0; right: 0; margin: 0 auto !important; transform: translate(0,-50%);}

@media screen and (min-width: 640px) {
.wpcf7-form-control.wpcf7-radio { display: flex; align-items: center; gap: 2rem;}

}


/* c-pagination */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.navigation { margin-top: 3rem; }
.navigation .nav-links { display: flex; justify-content: center; gap: 1em; font-size: 1.4rem; }
.navigation .page-numbers { width: 4rem; height: 4rem; display: gird; place-content: center; text-align: center; opacity: 0.4; font-family: var(--ff01f); }
.navigation .page-numbers.current { opacity: 1; }
.navigation .page-numbers .c-pagination-icon { width: 0.8rem; }
.navigation .page-numbers.prev .c-pagination-icon { transform: rotate(180deg); }
.navigation .page-numbers.prev,
.navigation .page-numbers.next { width: auto; display: flex; gap: 0.5em; align-items: center; opacity: 1; }
@media screen and (min-width: 640px) {
.navigation { margin-top: 10rem; }
.navigation .nav-links { gap: 2em; font-size: 1.8rem; }
.navigation a.page-numbers:hover { opacity: 1; }
}




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

recruit

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


/* common
----------------------------------------------------------------------------------------------------------------------------*/

/* common上書き */
.page-recruit { background-color: var(--cl-bg-bk); color: var(--cl-wh);}
.page-recruit .u-wrapsect._bg { background-color: var(--cl-bg-bk); }

@media print, screen and (min-width: 640px) {
.page-recruit ._scrolled { background-color: rgba(0, 0, 0, 0.9); }
.page-recruit ._scrolled .gnav-item-link { color: var(--cl-wh); }
.page-recruit ._scrolled .gnav-item-link._contact { color: var(--cl-txt); background-color: var(--cl-wh); border-color: var(--cl-wh); }
.page-recruit ._scrolled .gnav-item-link._contact:hover { color: var(--cl-wh); background-color: var(--cl-txt); }
}


.page-recruit .pagetitle {}
.page-recruit .pagetitle-en { font-size: 6rem;}
.page-recruit .pagetitle-jp { margin-top: 0; font-size: 1.8rem;}

@media print, screen and (min-width: 640px) {
.page-recruit .pagetitle-en { font-size: 10rem;}
.page-recruit .pagetitle-jp { font-size: 2.4rem;}
}



/* requirement */
.page-recruit .u-wrapsect._bg.requirement { background-color: var(--cl-bg-gr);}
.page-recruit .requirement {}
.page-recruit .requirement .c-secttitle { color: var(--cl-txt);}
.page-recruit .requirement-btn { display: grid; grid-template-columns: auto 1fr; column-gap: 0.5em; align-items: center; padding: 0 1em; color: var(--cl-txt); background-color: var(--cl-wh); height: 8rem; transition: 0.5s; font-weight: var(--ff-base-bold); font-size: 1.8rem;}
.page-recruit .requirement-btn::after { content: ""; display: inline-grid; width: 1em; height: 1em; justify-self: end; mask: url(/assets/images/common/ico_ar.svg) no-repeat center center / contain; background-color: var(--cl-txt); transition: 0.5s; }

@media print, screen and (min-width: 640px) {
.page-recruit .requirement-btn:hover { color: var(--cl-wh); background-color: var(--cl-txt); }
.page-recruit .requirement-btn { height: 12rem; font-size: 2.4rem;}
.page-recruit .requirement-btn:hover {opacity: 1; }
.page-recruit .requirement-btn:hover::after { background-color: var(--cl-wh); }
}




/* idx
----------------------------------------------------------------------------------------------------------------------------*/

/* kv */
.kv-recruit { position: relative; padding: 15rem 0; background: url(/assets/images/recruit/idx/kv_sp.jpg) no-repeat center / cover;}
.kv-recruit .c-secttitle._rev .c-secttitle-en { font-size: 6rem;}
.kv-recruit .c-secttitle + p { font-size: 1.8rem; font-weight: var(--ff-base-bold); color: var(--cl-wh);}
.kv-floating { position: absolute; bottom: 2rem; right: 0; display: block; width: max-content; padding: 1.5rem 3rem 1.5rem 2rem; background-color: var(--cl-wh); border-radius: 1rem 0 0 1rem; font-weight: var(--ff-base-bold); }
.kv-floating::before { position: absolute; bottom: 50%; right: 1rem; transform: translate(0,50%) rotate(90deg) ; content: ""; display: block; width: 0.8em; height: 0.8em; background: url(/assets/images/common/ico_ar_bk.svg) no-repeat center center / contain;}

@media print, screen and (min-width: 640px) {
.kv-recruit { height: 90rem; padding: 31rem 0 0; background-image: url(/assets/images/recruit/idx/kv_pc.jpg) ;}
.kv-recruit .c-secttitle._rev .c-secttitle-en { font-size: 15rem;}
.kv-recruit .c-secttitle + p { font-size: 2.4rem; }

.kv-floating { bottom: 5rem; right: 0; border-radius: 3rem 0 0 3rem; padding: 3rem 4rem 5rem 4rem; font-size: 2.4rem; text-align: center; line-height: 1.4; }
.kv-floating::before { bottom: 2rem; right: 0; left: 0; margin: 0 auto; transform: translate(0,0) rotate(90deg) ; }


}




/* style */
.page-recruit .style { color: var(--cl-wh);  }
.page-recruit .style.u-wrapsect._bg { background-color: #121212; background-image: url(/assets/images/recruit/idx/sec01_bg.svg); background-size: 16.6rem; background-repeat: no-repeat;}
.page-recruit .style-item {}
.page-recruit .style-item + .style-item { margin-top: 4rem;}
.page-recruit .style-item-title { font-size: 2.4rem; font-weight: var(--ff-base-bold); text-align: center;}
.page-recruit .style-item-title span { display: block; font-size: 5rem; line-height: 1;}
.page-recruit .style-item-title + p { margin-top: 1.5rem;}
.page-recruit .style-item-pic { margin-top: 2rem; border-radius: 1.2rem; overflow: hidden; }

@media print, screen and (min-width: 640px) {
.page-recruit .style.u-wrapsect._bg { background-size: 74.6rem;}
.page-recruit .style-item { display: flex; gap: 11.2rem; align-items: center;}
.page-recruit .style-item + .style-item { margin-top: 8rem;}
.page-recruit .style-item._rev { }
.page-recruit .style-item._rev > *:not(.style-item-pic) { order: 2;}
.page-recruit .style-item._rev > *.style-item-pic { order: 1;}
.page-recruit .style-item-title { font-size: 4rem; text-align: left;}
.page-recruit .style-item-title span { font-size: 8rem; }
.page-recruit .style-item > *:not(.style-item-pic) { width: 61.09%;}
.page-recruit .style-item-pic { margin-top: 0; width: 38.91%;  }

}



.info {}
.info .c-grid {}
.info .c-grid + p { margin-top: 1.5rem; font-size: 1.4rem; color: var(--cl-wh); font-weight: var(--ff-base-bold); text-align: right;}




.page-recruit .welfare.u-wrapsect._bg { background-color: #121212;}
.page-recruit .welfare { background-image: url(/assets/images/recruit/idx/sec03_bg.png); background-size: calc(100% - 2rem); background-repeat: no-repeat;}
.page-recruit .welfare-item { display: grid; grid-template-columns: 5rem 1fr; align-items: center; padding: 2rem; background-color: var(--cl-bg-bk); color: var(--cl-wh); border-radius: 1rem;}
.page-recruit .welfare-item + .welfare-item { margin-top: 2rem;}
.page-recruit .welfare-item-num { font-size: 3.2rem; line-height: 1; }
.page-recruit .welfare-item-title { padding-left: 1.5rem; border-left: var(--cl-wh) 1px solid;}
.page-recruit .welfare-item-title span { display: block; font-size: 2.4rem; font-weight: var(--ff-base-bold);}

@media print, screen and (min-width: 640px) {
.page-recruit .welfare { background-size: 60.94%; }
.page-recruit .welfare-item { width: 79.27%; margin: 0 0 0 auto; grid-template-columns: 13rem 1fr; padding: 4rem; }
.page-recruit .welfare-item + .welfare-item { margin-top: 4rem;}
.page-recruit .welfare-item-num { font-size: 8rem; }
.page-recruit .welfare-item-title { padding-left: 5rem; border-left-width: 3px ;}
.page-recruit .welfare-item-title span { font-size: 4rem; }


}



.page-recruit .faq { }
.page-recruit .faq .c-faq-item { padding: 0 0 2rem; border-bottom: var(--cl-wh) 1px solid; }
.page-recruit .faq .c-faq-item + .c-faq-item { margin-top: 0; padding: 2rem 0; }
.page-recruit .faq .c-faq-title { color: var(--cl-wh); }
.page-recruit .faq .c-faq-title::before { background-color: var(--cl-wh); color: var(--cl-txt); }
.page-recruit .faq .c-faq-txt::before { background-color: var(--cl-txt); color: var(--cl-wh); }
.page-recruit .faq .c-faq-txt { color: var(--cl-wh); }

@media print, screen and (min-width: 640px) {
.page-recruit .faq .c-faq-item { padding: 0 0 3rem; }
.page-recruit .faq .c-faq-item + .c-faq-item { padding: 3rem 0; }

}




/* guideline
----------------------------------------------------------------------------------------------------------------------------*/


.page-recruit {}
.page-recruit .guideline-wrap {}
.page-recruit .guideline-wrap tr { display: grid;  padding: 1.5rem 0; border-bottom: var(--cl-border) 1px solid;}
.page-recruit .guideline-wrap tr > * { border: none; padding: 0;}
.page-recruit .guideline-wrap tr:last-child { border-bottom: none; }
.page-recruit .guideline-wrap tr > * + * { margin-top: 0.5rem; }
.page-recruit .guideline-wrap tr th {}
.page-recruit .guideline-wrap tr td {}
.page-recruit .guideline-btn { margin: 4rem auto 0;}

.page-recruit .contact-ex01 { color: #FF9548;}
.page-recruit .u-req { color: #FF9548;}
.page-recruit .wpcf7-not-valid-tip { color: #FF9548 !important;}
.page-recruit .contact-backlink .u-linktxt-back { color: var(--cl-wh) !important;}
.page-recruit .radio-item + .radio-item { margin-top: 1rem; }
.page-recruit .contact-submit { cursor: pointer; margin: 4rem auto 0; }
.page-recruit .contact-submit .wpcf7-submit { color: var(--cl-txt); font-size: 1.4rem; font-weight: var(--ff-base-bold); background-color: transparent;}

@media print, screen and (min-width: 640px) {
.page-recruit .guideline-wrap tr { padding: 3rem 0; grid-template-columns: 1fr 3fr; }
.page-recruit .guideline-wrap tr > * + * { margin: 0; }
.page-recruit .radio-item + .radio-item { margin: 0 0 0 2rem; }
.page-recruit .contact-submit { margin-top: 6rem; }
.page-recruit .contact-submit .wpcf7-submit { font-size: 1.6rem; }
.page-recruit .contact-submit:hover .wpcf7-submit { color: var(--cl-wh);  }
.page-recruit .contact-submit.u-linkbtn._wh:hover .wpcf7-submit { border: var(--cl-wh) 1px solid;  }
.page-recruit .contact-submit.u-linkbtn._wh:hover::after { background-color: var(--cl-wh);  }


.c-grtb._grtb-s0-p1-2 > * {  }
.c-grtb._grtb-s0-p1-3 > * { grid-template-columns: 1fr 3fr; }
}