:root {
    --color-txt: #FFFFFF;
    --color-main: #D5B17F;
    --color-org: #EB5C47;
    --color-gray: #252525;
    --color-gray1: #959595;
    --color-gray2: #E4E4E4;
    --color-gray3: #F6F6F6;
    --font-base:  "Noto Sans JP", sans-serif;
    --font-en: "Niconne", cursive;
    --font-size-base: 1.6rem;
    --rem-base: 10;
    --viewport-min: 320;
    --breakpoint-sp: 768;
    --content-max-width: 1152; /*1120+32*/
    --breakpoint-pc: 1280;
    --viewport-max: 1640;
    --space-sm: 1.5em;
    --space-md: 2.5em;
    --space-lg: 5em;
    --header-height: 0px;
    --font-s18: 1.125em;
    --font-sp15: 1em;
}
html { font-size: calc(var(--rem-base) / var(--viewport-min) * 100vw); }
@media screen and (min-width: 768px) {
    :root {
        --space-sm: 3em;
        --space-md: 5em;
        --space-lg: 10em;
        --font-s18: 1.75em;
        --font-sp15: 1.5rem;
    }
    html { 
        font-size: calc(var(--rem-base) / var(--content-max-width) * 100vw); 
    }
}
@media screen and (min-width: 1152px) {
    html { 
        font-size: 62.5%;
        /*font-size: calc(var(--rem-base) / var(--breakpoint-pc) * 100vw); */
    }
}
@media screen and (min-width: 1281px) {
    html { 
        font-size: calc(var(--rem-base) / var(--breakpoint-pc) * 100vw); 
    }
}
@media screen and (min-width: 1641px) {
    html { 
        font-size: calc(var(--rem-base) / var(--breakpoint-pc) * 1640px); 
    }
}
*,*::before,*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}
body {
    font-family: var(--font-base);
    font-size: var(--font-size-base);
    font-optical-sizing: auto;
    line-height: 1.75;
    font-weight: 400;
    font-style: normal;
    letter-spacing: .16em;
    color: white;
    background-color:#252525;
}
article, aside, figcaption, figure, footer, header, menu, nav, section, main {
    display: block;
    margin: 0;
}
ul, ol, li {
    list-style: none;
    padding: 0;
}
blockquote, q {
    quotes: none;
}
blockquote::before,blockquote::after,q::before, q::after {
    content: '';
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 0;
}
picture img,figure img {
    width: 100%;
    height: auto;
}
input, textarea, select, button {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    background: none;
    font: inherit;
    color: inherit;
    -webkit-appearance: none;
        -moz-appearance: none;
            appearance: none;
}
input[type="submit"], input[type="button"] {
     cursor: pointer;
}
select::-ms-expand {
     display: none;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
    font-weight: 500;
    font-size: 1em;
    line-height: 1em;
    letter-spacing: .16em;
}
p,p:has(small) {
    line-height: 1.6;
}
p.clear {
      margin-bottom: 1em;
}
small {
    font-size: 0.875em;
}
strong {
	font-size: 1.25em;
	font-weight: 700;
}
b {
	font-weight: 700;
}
a {
    color: inherit;
    text-decoration: none;
    transition: .5s;
    word-break: break-word;
    overflow-wrap: break-word;
}
a.txtlink { text-decoration: underline;}
a.txtlink:hover { text-decoration: none; }
.clear {
  clear: both;
  display: block;
  overflow: hidden;
}
.--en { font-family: var(--font-en); }
.--vertical-txt {
  writing-mode: vertical-rl;
}
.u-textleft { text-align: left; }
.u-textright { text-align: right; }
.u-textcenter { text-align: center; }
.u-ft15 { font-size: 1.5rem; }
.alignright,
.u-img-right {
    float: right;
    margin: .5em 0 1em 1.5em;
    max-width: min(45%, 320px);
}
.u-hover-img {
    overflow: hidden;
    display: block;
}
.u-hover-img img {
    transition: transform 0.8s ease;
}
.u-hover-img:hover img {
    transform: scale(1.05);
}
.space-lg__btm {
    margin-bottom: var(--space-lg) !important;
}
.space-md__btm {
    margin-bottom: var(--space-md) !important;
}
.space-md__top {
    margin-top: var(--space-md) !important;
}
.swiper-pagination {
    display: flex !important;
    justify-content: center !important;
    gap: 2.5em !important;
    bottom: 0 !important;
}
.swiper-pagination-bullet {
    width: .5em !important;
    height: .5em !important;
    margin: 0 !important;
    aspect-ratio: 1/1 !important;
}
.swiper-pagination-bullet-active {
    background-color: var(--color-green2) !important;
}
.swiper-wrapper {
  align-items: stretch !important;
}
.swiper-slide {
    height: auto!important;
}
[id] {
    scroll-margin-top: calc(var(--header-height, 0px) + 2em);
}
@media screen and (max-width: 767px) {
    .pc { display: none !important; }
    .u-sp-texcenter { text-align: center;}
    .u-sp-textleft { text-align: left; }
    .u-sp-textright { text-align: right;}
    .alignright,.u-img-right {
        float: none;
        display: block;
        margin: 0 auto 1em;
        max-width: 100%;
    }
}
@media screen and (min-width: 768px) {
    .sp { display: none !important; }
    .u-hover-op a:hover,a:hover.u-hover-op {
        opacity: .5;
    }
    [id] {
        scroll-margin-top: calc(var(--header-height, 0px) + 4em);
    }
}
#js-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: black;
  opacity: 1;
  transition: opacity .8s ease;
}
#js-loader.is-loaded {
  opacity: 0;
  pointer-events: none;
}
.l-wrapper {
    overflow: hidden;
}
.l-inner {
    padding-left: 1em;
    padding-right: 1em;
}
/** nav **/
.nav-button {
    display: inline-block;
    padding: 1em 1em;
    line-height: 1em;
    border-radius: 2em;
    cursor: pointer;
    background-color: black;
    color: white !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
}
.nav-button span {
    font-size: 0.75em;
}
.nav-button.--search {
    background-color: var(--color-org);
}
.nav-button.--search span {
    padding-left: 2em;
    background-image: url('../images/icon-search.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}
.nav-button.--white {
    background-color: white;
    color: black !important;
}
.nav-button.--org {
    background-color: var(--color-org);
}
/** l-header **/
.l-header {
    display: block;
    width: 100%;
    z-index: 990;
    position: absolute;
    top: 0;
    left: 0;
}
.nav_open .l-header,.l-header.fixed {
    position: fixed;
}
.nav_open .l-header {
    height: 100vh;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.nav_open .l-header::-webkit-scrollbar {
    display: none;
}
.l-header.fixed {
    animation: slideDown .5s ease-in-out;
}
.l-header.hide-up {
    position: fixed;
    animation: slideUp .3s ease-in-out forwards;
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-20%); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideUp {
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(-20%); }
}
.l-header__wrap {
    position: relative;
}
.l-header__wrap::before {
    content: "";
    display: block;
    width: 100%;
    height: 3em;
    background: linear-gradient(to bottom right, #000 50%, transparent 50%);
    position: absolute;
    top: 0;
    left: 0;
}
.l-header__area {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: .5em;
    height: 3em;
    position: absolute;
    top:0;
    left:0;
    z-index: 999;
}
.l-header__logo .logo {
    display: flex;
    align-items: center;
    gap: .5em;
}
.l-header__logo .logo img {
    width: 8.2rem;
}
.l-header__logo .logo img.logo-black {
    display: none;
}
.l-header__logo .logo .logo-txt {
    font-weight: 700;
    font-style: Bold;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .2em;
}
.nav_open .l-header__logo .logo img.logo-black {
    display: block;
}
.nav_open .l-header__logo .logo img.logo-white {
    display: none;
}
.nav_open .l-header__logo .logo .logo-txt {
    color: black;
}
.l-header__nav {
    display: flex;
    align-items: center;
}
.nav_open .l-header__btn {
    display: none;
}
.l-header__hamburger {
    background-color: transparent;
    width: 3em;
    height: 3em;
    cursor: pointer;
    display: block;
    z-index: 999;
    position: relative;
}
.l-header__hamburger > span {
    width: 60%;
    height: 25%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.l-header__hamburger > span::before,
.l-header__hamburger > span::after {
    content: " ";
    display: block;
    background: white;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: .5s;
}
.l-header__hamburger > span::before { top: 0; }
.l-header__hamburger > span::after { bottom: 0; }
.nav_open .l-header__hamburger > span::before,
.nav_open .l-header__hamburger > span::after { top: 50%; }
.nav_open .l-header__hamburger > span::before { transform: translate(-50%,-50%) rotate(15deg); }
.nav_open .l-header__hamburger > span::after { transform: translate(-50%,-50%) rotate(-15deg); }
.nav_open .l-header__hamburger > span::before,
.nav_open .l-header__hamburger > span::after {
    background: black;
}
.l-hamburger__nav {
    width: 100%;
    height: auto;
    z-index: 998;
    transition: top 3s ease;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: all 0.4s ease;
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 3em;
    background-color: rgb(255, 255, 255, .9);
}
.nav_open .l-hamburger__nav {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.l-menu-nav li a {
    color: black;
}
.l-hamburger__nav .l-menu-nav__list a {
    font-size: 1.3rem;
}
.l-hamburger__nav .--en {
    font-family: var(--font-en);
    color: var(--color-main);
    font-size: 2rem;
    letter-spacing: 0;
    display: inline-block;
}
.l-hamburger__nav .l-menu-nav {
    border-top: 1px solid var(--color-gray1);
    margin-top: 1em;
    margin-bottom: 2.5em;
}
.l-hamburger__nav .l-menu-nav__list a {
    display: block;
    border-bottom: 1px solid var(--color-gray1);
    padding: .25em 0;
}
.l-hamburger__nav .l-menu-nav__list a .--en {
    width: 4.25em;
}
.nav-smile-txt span.--en {
    font-size: 2.25em;
    letter-spacing: 0;
    white-space: nowrap;
}
.l-hamburger__nav .l-menu-nav__btn {
    display: grid;
    gap: 1em;
    margin: 1.5em;
}
.l-hamburger__nav .l-menu-nav__btn .nav-smile-txt {
    padding-bottom: 1.5em;
}
.l-hamburger__nav .l-menu-nav__btn .nav-txt-link {
    margin-top: 1.5em;
    text-align: center;
    font-size: 1.3rem;
}
/** l-footer **/
.pageup {
    position: absolute;
}
.pageup.is-fixed {
    position: fixed;
    bottom: 1em;
    right: 1em;
}
.pageup a {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
}
.pageup a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: white;
    border: 1px solid black;
    border-radius: 50%;
    transition: transform 0.3s ease;
    transform: scale(1);
}
.pageup a:hover::before {
    transform: scale(1.2);
}
.pageup a img {
    width: 0.7rem;
    height: auto;
    position: relative;
    z-index: 1;
}
.l-footer {
    background-color: var(--color-main);
    padding-top: 2.5em;
    padding-bottom: 2.5em;
}
.l-footer .l-footer__logo {
    display: block;
    width: 20rem;
    margin: 0 auto;
}
.l-footer__nav .l-menu-nav {
    border-left: 1px solid black;
    padding-left: 1em;
    display: flex;
    flex-direction: column;
    row-gap: .5em;
    margin: 2.5em 0;
}
.l-footer__nav .l-menu-nav ul {
    display: grid;
    row-gap: .5em;
    font-size: 0.75em;
    line-height: 1;
    letter-spacing: .2em;
}
.l-footer__btn ul {
    display: grid;
    row-gap: 1em;
    margin-bottom: 2.5em;
}
.l-footer__copyright {
    font-weight: 400;
    font-size: 0.75em;
    line-height: 1.6;
    letter-spacing: .2em;
    text-align: center;
    color: black;
}
.c-media-cont {
    display: flex;
    flex-direction: column;
    gap: 2em;
}
.c-media-cont__img {
    flex-shrink: 0;
    width: 100%;
}
.c-media-cont__txt {
    flex: 1;
}
/** bg **/
.bg-black {
    background: black;
    position: relative;
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
    z-index: 0;
}
.bg-black::before,.bg-black::after {
    content: "";
    display: block;
    background: black;
    width: 100vw;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.bg-black::after {
    height: 100%;
}
.bg-black::before {
    height: 1em;
    background: linear-gradient(to top right, #000 50%, transparent 50%);
    top: -1em;
}
.bg-black-btm {
    width: 100%;
    height: calc(var(--space-md) + 1em);
    position: relative;
}
.bg-black-btm::before {
    content:"";
    display: block;
    width: 100vw;
    height: 1em;
    background: linear-gradient(to bottom right, #000 50%, transparent 50%);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
}
@media screen and (max-width: 767px) {
    .l-header__btn .nav-button {
        padding: .5em .75em;
    }
    .l-header__btn .nav-button span {
        font-size: 1rem;
        line-height: 1em;
    }
    .nav_open .l-header {
        height: 100vh;
        overflow-y: auto;
        position: fixed;
        top: 0;
        left: 0;
        padding-bottom: 5em;
    }
}
@media screen and (min-width: 768px) {
    .l-inner {
        max-width: calc(var(--content-max-width) * 1px);
        margin: 0 auto;
    }
    .l-inner.--space {
        padding-top: 5em;
        padding-bottom: 5em;
    }
    .l-inner.--w980 {
        width: 98rem;
    }
    .nav-button span {
        font-size: 0.9em;
    }
    /** l-header **/
    .l-header__wrap::before {
        height: 4.25em;
    }
    .l-hamburger__nav {
        padding-top: 4.25em;
    }
    .nav_open .l-header {
        height: auto;
    }
    .l-header__area {
        padding-left: 2em;
        padding-right: .25em;
        height: auto;
    }
    .l-header__logo .logo {
        gap: 1.5em;
    }
    .l-header__logo .logo img {
        width: 10em;
    }
    .l-header__logo .logo .logo-txt {
        font-size: 2rem;
    }
    .l-header__btn .nav-button {
        width: 20rem;
    }
    .l-header__nav {
        column-gap: 1.5em;
    }
    .l-header__hamburger {
        height: 4.25em;
        width: 4.25em;
    }
    .l-hamburger__nav .l-menu-nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: none;
    }
    .l-hamburger__nav .l-menu-nav__btn {
        margin: 0;
        width: 24rem;
    }
    .l-hamburger__nav .l-menu-nav__list a {
        border: none;
    }
    .l-hamburger__nav .l-menu-nav__list a,
    .l-hamburger__nav .l-menu-nav__btn .nav-txt-link {
        font-size: 1em;
    }
    .l-hamburger__nav .l-menu-nav__list a .--en {
        font-size: 1.875em;
    }
    .pageup.is-fixed {
        bottom: 2em;
        right: 2em;
    }
    .l-footer {
        padding-top: 3.5em;
        padding-bottom: 3.5em;
    }
    .l-footer__lay {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 2em;
    }
    .l-footer .l-footer__logo {
        width: 23.5rem;
        margin: 0;
    }
    .l-footer__nav .l-menu-nav {
        width: 41rem;
        flex-direction: row;
        justify-content: space-between;
        padding-left: 0;
        border: none;
    }
    .l-footer__nav .l-menu-nav ul {
        font-size: 0.9em;
    }
    .l-footer__btn {
        width: 23rem;
    }
    .l-footer__btn ul {
        margin-bottom: 0;
    }
    .c-media-cont {
        flex-direction: row;
        align-items: center;
        gap: 5em;
    }
    .c-media-cont__img {
        width: 47.3rem;
    }
    .c-media-cont.--lay-reverse {
        flex-direction: row-reverse;
    }
    /** bg **/
    .bg-black::before {
        height: 2.5em;
        top: -2.5em;
    }
    .bg-black-btm {
        height: calc(var(--space-md) + 2.5em);
    }
    .bg-black-btm::before {
        height: 2.5em;
    }
}
@media screen and (min-width: 1281px) {
    .l-inner {
        max-width: calc(var(--content-max-width) * .1rem);
    }
}

.fade-in,.slide-in {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}
.fade-in.show,.slide-in.show {
  opacity: 1;
  transform: translateY(0);
}
.first-view {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}
.first-view.show {
  opacity: 1;
  transform: translateY(0);
}
.delay-1 { transition-delay: 0.3s; }
.delay-2 { transition-delay: 0.4s; }
.delay-3 { transition-delay: 0.5s; }
.delay-4 { transition-delay: 0.6s; }
.delay-5 { transition-delay: 0.7s; }
.delay-6 { transition-delay: 0.8s; }
/** list **/
.c-list > li {
    font-size: 1.5rem;
    padding-left: 1.25em;
    line-height: 2em;
    position: relative;
}
.c-list > li::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.c-list.--nom > li::before { content: "・"; }
.c-list.--note > li::before { content: "※"; }
/** c-reveal **/
.c-reveal {
    display: inline-block;
    overflow: hidden;
}
.c-reveal > span {
    display: inline-block;
    opacity: 0;
    transform: translateY(1.5em);
    transition: opacity .6s cubic-bezier(0.22, 1, 0.36, 1),
    transform .6s cubic-bezier(0.66, 1, 0.36, 1);
}
.c-reveal:nth-child(2) > span {
  transition-delay: 0.5s;
}
.c-reveal.inview > span {
  opacity: 1;
  transform: translateY(0);
}
/** button **/
.c-button {
    display: inline-block;
    width: 26rem;
    height: 4.8rem;
    max-width: 100%;
    color: black;
    background: white;
    border: 1px solid black;
    text-align: center;
    transition: all 0.3s;
    box-shadow: .6rem .6rem 0 var(--color-org);
    background-repeat: no-repeat;
    margin-bottom: .5em;
    position: relative;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.c-button::after {
    content:"→";
    display: block;
    position: absolute;
    top: 50%;
    right: .5em;
    transform: translateY(-50%);
    font-size: 1.5rem;
}
.c-button:hover {
    box-shadow: unset;
    transform: translate(.6rem,.6rem);
    box-shadow: 0 0 0 var(--color-org);
}
.c-button > span {
    font-size: 1.5rem;
    line-height: 1.2em;
}
.c-btncenter,.c-button__lay2 {
    display: flex;
    flex-direction: column;
    gap: 1em;
    align-items: center;
    justify-content: center;
    margin-top: var(--space-md);
}
.c-button__lay2__ttl + .c-button__lay2 {
    margin-top: 2em;
}
.c-button__lay2 li:has(.nav-button) {
    width: 100%;
}
.c-btncenter {
    text-align: center;
    margin: 1.5em auto;
}
.c-linkbtn {
    display: inline-block;
    background: var(--color-org);
    color: white;
    border-radius: 1.5em;
    line-height: 1.4;
    padding: .25em 0.875em;
}
.map-pin__link {
    font-size: 1.5rem;
    color: var(--color-main);
    font-weight: 700;
    padding-left: 1.5em;
    background-image: url('../images/icon-pin.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 1em auto;
}
/** breadcrumbs **/
.breadcrumbs {
    background-color: #E0D2C2;
    width: 100%;
    padding: .4rem 0;
    color: black;
}
.breadcrumbs__links {
    font-size: 0.875em;
    letter-spacing: .14em;
    line-height: 1.5em;
}
.breadcrumbs__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25em;
}
.breadcrumbs__links span.current-item {
    color: var(--color-org);
}
.breadcrumbs__links a.home {
    display: block;
    background-image: url('../images/icon-home.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
}
/** page heading **/
.c-page-header {
    margin-top: 3em;
    padding-bottom: var(--space-md);
}
.c-page-header__title {
    margin-top: var(--space-md);
    text-align: center;
    display: flex;
    flex-direction: column;
}
.c-page-header__title .--title-en {
    font-size: 2.5em;
    font-family: var(--font-en);
    font-weight: 400;
    line-height: 1;
    color: var(--color-main);
    padding-bottom: .25em;
}
.c-page-header__title .--title-jp {
    font-size: 1.25em;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.6;
}
.c-page-header__lead {
    margin-top: 2.5em;
}
/** title **/
.c-page__title {
    font-size: 1.125em;
    padding: .25em 0;
    line-height: 1.5em;
    color: black;
    background: var(--color-org);
    text-align: center;
    font-weight: 700;
    letter-spacing: .2em;
    position: relative;
    z-index: 0;
}
.c-page__title::after {
    content: '';
    display: block;
    background: var(--color-org);
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.c-sec__title .--title-main {
    text-align: center;
    display: block;
    font-size: var(--font-s18);
    line-height: 1.4em;
    letter-spacing: .2em;
    color: var(--color-main);
    font-weight: 700;
}
.c-sec__title .--title-lead {
    font-size: 1.5rem;
    line-height: 1.4em;
    letter-spacing: .16em;
    text-align: left;
    margin-top: 1em;
}
.c-sec__subtitle {
    padding: 0 1em;
    position: relative;
}
.c-sec__subtitle span {
    display: block;
    background: var(--color-main);
    color: black;
    font-weight: 700;
    line-height: 1.6;
    padding: .25em 1em;
}
.c-sec__subtitle::before,
.c-sec__subtitle::after {
    content: "";
    width: 1em;
    height: 100%;
    display: block;
    position: absolute;
}
.c-sec__subtitle::before {
    background: linear-gradient(to top left, var(--color-main) 50%, transparent 50%);
    top: 0;
    left: 0;
}
.c-sec__subtitle::after {
    background: linear-gradient(to bottom right, var(--color-main) 50%, transparent 50%);
    bottom: 0;
    right: 0;
}
.c-number-ttl {
    display: flex;
    align-items: baseline;
    gap: .5em;
    margin-bottom: 1em;
}
.c-number-ttl .--en {
    font-size: 3rem;
    line-height: 1;
    color: var(--color-main);
}
.c-number-ttl .--en big {
    font-weight: 400;
    font-size: 2.4em;
    margin-left: .05em;
}
.c-number-ttl .--jp {
    line-height: 1.4;
    font-weight: 700;
}
.c-button__lay2__ttl {
    font-size: 1.25em;
    text-align: center;
    font-weight: 700;
}
/** table **/
.c-table {
    width: 100%;
    border-collapse: collapse;
    border-bottom: 1px solid #E4E4E4;
}
.c-table th,.c-table td {
    font-size: 1.5rem;
}
.c-table th {
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #E4E4E4;
    padding: 1em 0 .5em 0;
}
.c-table td {
    padding-bottom: 1em;
}
.c-detail-group__wrap {
    display: grid;
    gap: 2em;
}
.c-detail-group dd {
    margin-top: 1.5em;
}
/** faq **/
.faq__content {
    margin: 1.5em 0;
    border-bottom: 1px solid #ECEBEB;
}
.faq__content p {
    font-size: 1.5rem;
}
.faq__content dt::before,
.faq__content dd::before {
    font-size: 1.75em;
    line-height: 1.6;
    font-weight: 700;
    position: absolute;
    top: .15em;
    left: 0;
}
.faq__content dt::before {
    content: "Q.";
    color: var(--color-main);
}
.faq__content dd::before {
    content: "A.";
    color: var(--color-org);
    left: 0;
}
.faq__content dt {
    position: relative;
    padding: 1em 1.75em 1em 2.25em;
    border-top: 1px solid #ECEBEB;
}
.faq__content dd {
    position: relative;
    border-top: 1px solid #ECEBEB;
    padding: 1em 0 1em 2.25em;
}
.faq__content dd a.c-linkbtn {
    margin-top: .5em;
}
.faq__content .toggle {
    position: relative;
}
.faq__content .toggle + dd {
    display: none;
}
.faq__content .toggle > span {
    cursor: pointer;
    display: block;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    top: 1em;
    right: 0;
}
.faq__content .toggle > span::before,
.faq__content .toggle > span::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: white;
    position: absolute;
    left: 0;
    top: 50%;
}
.faq__content .toggle > span::after {
    transform: rotate(90deg);
    transition: .3s;
}
.faq__content .toggle.active > span::after {
    transform: rotate(0deg);
}
/** page privacy **/
.p-privacy__ttl {
    font-size: 1.5em;
    color: var(--color-main);
    margin-bottom: 1.5em;
    font-weight: 700;
}
.p-privacy__content {
    margin-top: 2.5em;
}
.p-privacy__content dl {
    margin-bottom: 2.5em;
}
.p-privacy__content dt {
    font-weight: 700;
    font-size: 1.25em;
    margin-bottom: 1em;
}
/** nav **/
.wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1em;
    margin-top: 3.5em;
}
.wp-pagenavi span.current,.wp-pagenavi a.page {
    font-size: 1.5rem;
    line-height: 1em;
    letter-spacing: 0;
    width: 3.2rem;
    height: 3.2rem;
    text-align: center;
    color: black;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.wp-pagenavi span.current {
    color: white;
    background-color: var(--color-org);
}
/** about **/
.about-box__item {
    color: black;
    background-color: white;
    border-radius: 1rem;
    padding: 1.75em 0;
    text-align: center;
}
.about-box__item p {
    font-size: 1.05rem;
    letter-spacing: .14em;
}
.about-box__ttl {
    font-size: 0.875em;
    line-height: 1.6;
    font-weight: bold;
    text-align: center;
}
.about-box__item .no-txt {
    font-size: 1.4rem;
    font-weight: 700;
}
.about-box__item .no-txt .no {
    font-size: 7rem;
    font-weight: 400;
    line-height: .5;
    font-family: var(--font-en);
    color: var(--color-org);
    text-shadow: .01em .03em 0px var(--color-main);
    margin: 0 .05em;
}
/** post **/
.post__meta {
    display: flex;
    align-items: center;
    gap: 2em;
}
.post__cat {
    width: 10.8rem;
}
.post__cat .cat {
    font-size: 1.2rem;
    line-height: 1em;
    background: white;
    border: 1px solid #959595;
    color: black;
    display: block;
    border-radius: 1.5em;
    padding: 0;
    line-height: 1.8;
    text-align: center;
}
.post__date {
    font-size: 1.3rem;
    letter-spacing: .2em;
    color: #959595;
}
.p-post-list {
    border-bottom: 1px solid #ECEBEB;
}
.p-post-list article {
    border-top: 1px solid #ECEBEB;
    padding: 1em 0;
}
.p-post-list article a {
    display: flex;
}
@media screen and (max-width: 767px) {
    /** table **/
    .c-table th,.c-table td {
        width: 100%;
        display: block;
    }
    /** post **/
    .p-post-list article a {
        row-gap: 1em;
        flex-direction: column;
    }
}
@media screen and (min-width: 768px) {
    .c-page-header {
        margin-top: 4.25em;
    }
    .c-page-header__title .--title-en {
        font-size: 4.5em;
    }
    .c-page-header__title .--title-jp {
        font-size: 1.75em
    }
    /** button **/
    .c-button__lay2 {
        flex-direction: row;
        gap: 5em;
    }
    .c-button__lay2__ttl + .c-button__lay2 {
        margin-top: 2.5em;
    }
    .c-button__lay2 li:has(.nav-button) {
        width: 23rem;
    }
    /** title **/
    .c-page__title {
        font-size: 1.75em;
    }
    .c-page-header__lead {
        text-align: center;
    }
    .c-sec__subtitle {
        font-size: 1.25em;
    }
    .c-number-ttl .--en {
        font-size: 2.5em;
    }
    .c-number-ttl .--jp {
        font-size: 1.25em;
    }
    .c-button__lay2__ttl {
        font-size: 1.5em;
    }
    .c-sec__title .--title-lead {
        text-align: center;
        margin-top: 1.5em;
    }
    /** table **/
    .c-table th,.c-table td {
        padding: 1.5em 0;
        border-top: 1px solid #E4E4E4;
    }
    .c-table th {
        width: 21.3rem;
    }
    /** space **/
    .c-detail-group__wrap {
        gap: 2.5em;
    }
    .c-detail-group dd {
        margin-top: 2em;
    }
    /** faq **/
    .faq__content {
        margin: 2.5em 0;
    }
    .faq__content dt::before,
    .faq__content dd::before {
        top: .5em;
    }
    .faq__content dd::before {
        left: .5em;
    }
    .faq__content .toggle > span {
        top: 1.5em;
    }
    .faq__content dt {
        padding: 1.5em 2em 1.5em 2.5em;
    }
    .faq__content dd {
        padding: 1.5em 0 1.5em 3.5em;
    }
    /** post **/
    .p-post-list article {
        padding: 1.5em 0;
    }
    .p-post-list article a {
        column-gap: 3em;
    }
    /** about **/
    .about-box__item {
        border-radius: 1em;
    }
    .about-box__item .no-txt {
        font-size: 2rem;
    }
    .about-box__item .no-txt .no {
        font-size: 10rem;
    }
    .about-box__item p {
        font-size: 1.5rem;
    }
    .about-box__ttl {
        font-size: 1.25em;
    }
}

/*
Theme Name: to-ya recruit site 2026
*/

/* お知らせの空行対応 */
.post__body p {
	margin-top: 2em;
	margin-bottom: 2em;
	&:first-child {margin-top: 0;}
	&:last-child {margin-bottom: 0;}
}




