@charset "UTF-8";

dialog.p-benefit__dialog[open] {
    height: fit-content;
}

dialog.p-benefit__dialog[open] .p-benefit__dialog-inner {
    height: fit-content;
    overflow: visible;
}

/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {
.p-page__ttl {
    background-color: #384A32; /* 背景色を指定 */
    background-image: url(../images/benefit/page_ttl_bg.png); /* 画像を指定 */
    background-position: top center; /* 画像の位置を指定 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    background-size: cover; /* 画像のサイズ調整（必要に応じて変更） */
    margin-inline: auto;
    padding-block: 186px 146px;
    text-align: center;
    width: min(100%, 1920px);
}

.p-page__ttl .en {
    margin-bottom: 25px;
}

.p-page__ttl h2 {
    background: #E94A08;
    color: #ffffff;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 3px;
    line-height: 1;
    margin-inline: auto;
    padding-block: 6px;
    padding-inline: 186px;
    width: -moz-fit-content;
    width: fit-content;
}

.p-benefit {
    background: #EBEBE4;
    background-color: #EBEBE4; /* 背景色を指定 */
    background-image: url(../images/benefit/benefit_bg.png); /* 画像を指定 */
    background-position: top right; /* 画像の位置を指定 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    background-size: cover; /* 画像のサイズ調整（必要に応じて変更） */
    position: relative;
}

.p-benefit .l-inner.l-benefit {
    margin-inline: auto;
    padding-block: 72px 57px;
    position: relative;
    width: min(95%, 1280px);
    z-index: 10;
}

.p-benefit .p-benefit__txt {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 2.64px;
    line-height: 2;
    margin-bottom: 121px;
    text-align: center;
}

.p-benefit .c-benefit__ttl {
    font-size: 34px;
    font-weight: 500;
    letter-spacing: 3.4px;
    line-height: 1.6;
    margin-bottom: 27px;
    padding-inline: 32px 0;
    position: relative;
}

.p-benefit .c-benefit__ttl:before {
    background: #FF6708;
    border-radius: 50%;
    content: "";
    height: 22px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
}

.p-benefit .p-benefit__items {
    display: grid;
    gap: 0 30px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 106px;
}

.p-benefit .p-benefit__items.p-benefit__items--support {
    display: grid;
    gap: 0 33px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-benefit .p-benefit__item {
    background: #ffffff;
    border-radius: 10px;
    padding: 51px 60px;
}

.p-benefit .p-benefit__item-ttl {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0px;
    line-height: 1.4;
    margin-bottom: 13px;
    text-align: center;
}

.p-benefit .p-benefit__item-txt {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.8px;
    line-height: 1.875;
}

.p-benefit .p-benefit__allowance {
    margin-bottom: 120px;
}

.p-benefit .p-benefit__edu-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-benefit .p-benefit__edu-btns.p-benefit__edu-btns--allowance {
    border: 2px solid #E8E8E8;
}

.p-benefit .p-benefit__edu-btns-item:nth-child(odd) .p-benefit__edu-btn {
    border-right: 2px solid #E8E8E8;
    border-left: 2px solid #E8E8E8;
}

.p-benefit .p-benefit__edu-btns-item:nth-child(even) .p-benefit__edu-btn {
    border-right: 2px solid #E8E8E8;
}

.p-benefit .p-benefit__edu-btns-item:nth-child(1) .p-benefit__edu-btn {
    border-top: 2px solid #E8E8E8;
}

.p-benefit .p-benefit__edu-btns-item:nth-child(2) .p-benefit__edu-btn {
    border-top: 2px solid #E8E8E8;
}

.p-benefit .p-benefit__edu-btn {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #ffffff;
    border-bottom: 2px solid #E8E8E8;
    display: flex;
    justify-content: space-between;
    padding: 24px 38px;
    transition: all 0.3s ease-in-out;
    width: 100%;
}

.p-benefit .p-benefit__edu-btn-txt {
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0px;
    line-height: 1.4;
}

.p-benefit :where(dialog) {
    background-color: unset;
    border: unset;
    color: unset;
    max-width: unset;
    overflow: unset;
    padding: unset;
    width: unset;
}

.p-benefit dialog.p-benefit__dialog {
    background: #ffffff;
    border: none;
    border-radius: 16px;
    opacity: 0;
    position: relative;
    transition: opacity 0.3s ease-in-out;
    width: min(95%, 420px);
    height: 240px;
}

.p-benefit dialog.p-benefit__dialog::backdrop {
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.p-benefit dialog.p-benefit__dialog.js-show {
    opacity: 1;
}

.p-benefit dialog.p-benefit__dialog.js-show::backdrop {
    opacity: 1;
}

.p-benefit .p-benefit__dialog-inner {
    height: inherit;
    max-height: inherit;
    overflow-y: auto;
    position: relative;
}

.p-benefit .p-benefit__dialog-body {
    height: -moz-fit-content;
    height: fit-content;
    padding: 60px 60px;
}

.p-benefit .p-benefit__dialog-text {
    max-width: 100%;
    width: 100%;
}

.p-benefit .p-benefit__dialog-ttl {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0px;
    line-height: 1.4;
    margin-bottom: 30px;
    text-align: center;
}

.p-benefit .p-benefit__dialog-txt {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.8px;
    line-height: 1.875;
}

.p-benefit .p-benefit__dialog-close {
    background: transparent;
    border: none;
    cursor: pointer;
    line-height: 0;
    padding: 0;
    position: absolute;
    right: -20px;
    top: -16px;
    z-index: 2;
}

.p-benefit .p-benefit__dialog-close svg {
    display: block;
}

.p-benefit .p-benefit__education {
    margin-bottom: 98px;
}

.p-plan .l-inner.l-plan {
    margin-inline: auto;
    padding-block: 108px 117px;
    width: min(95%, 1280px);
}

.p-plan .p-plan__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-plan .p-plan__item:nth-child(1) {
    border-right: 1px solid #d4d4d4;
    padding-inline: 0 60px;
    padding-block: 0 53px;
}

.p-plan .p-plan__item:nth-child(2) {
    padding-inline: 60px 0;
}

.p-plan .p-plan__ttl {
    align-items: center;
    display: flex;
    gap: 0 20px;
    margin-bottom: 32px;
}

.p-plan .p-plan__ttl span {
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.6;
    padding: 0px 24px;
    width: -moz-fit-content;
    width: fit-content;
}

.p-plan .p-plan__ttl span.new {
    background: #0088D0;
}

.p-plan .p-plan__ttl span.career {
    background: #39B54A;
}

.p-plan .p-plan__ttl h3 {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 1.7px;
    line-height: 1.6;
}

.p-plan .p-plan__img {
    margin-bottom: 32px;
}

.p-plan .p-plan__lists {
    display: grid;
    gap: 26px 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-plan .p-plan__list {
    padding-inline: 11px;
}

.p-plan .p-plan__list h4 {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 1.2px;
    line-height: 1.4;
    margin-bottom: 6px;
}

.p-plan .p-plan__list p {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.16px;
    line-height: 1.875;
}

.p-link {
    background: #EBEBE4;
}

.p-link .l-inner.l-link {
    margin-inline: auto;
    padding-block: 107px;
    width: min(95%, 1280px);
}

.p-link .p-link__ttl {
    font-size: 38px;
    font-weight: 800;
    letter-spacing: 1.9px;
    line-height: 1.6;
    margin-bottom: 34px;
    padding-inline: 50px;
    position: relative;
    text-align: center;
}

.p-link .p-link__ttl:before {
    background: url(../images/benefit/line.svg) no-repeat center center/contain;
    bottom: 6px;
    content: "";
    height: 42px;
    left: 49px;
    position: absolute;
    width: 27px;
}

.p-link .p-link__ttl:after {
    background: url(../images/benefit/line.svg) no-repeat center center/contain;
    bottom: 8px;
    content: "";
    height: 42px;
    position: absolute;
    right: 48px;
    transform: scale(-1, 1);
    width: 27px;
}

.p-link .p-link__items {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-link .p-link__item a {
    display: block;
}

.p-link .p-link__item a img {
    width: 100%;
    height: auto;        
}

}

@media (any-hover: hover) {

.p-benefit .p-benefit__edu-btn:hover {
    background: #FF6708;
}

.p-benefit .p-benefit__edu-btn:hover .p-benefit__edu-btn-txt {
    color: #ffffff;
}

.p-benefit .p-benefit__edu-btn:hover .p-benefit__edu-btn-ico svg path {
    stroke: #ffffff;
}
}

/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.p-page__ttl {
    background-color: #384A32; /* 背景色を指定 */
    background-image: url(../images/benefit/page_ttl_bg_sp.png); /* 画像を指定 */
    background-position: top center; /* 画像の位置を指定 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    background-size: cover; /* 画像のサイズ調整（必要に応じて変更） */
    margin-inline: auto;
    padding-block: 18.155vw;
    text-align: center;
}

.p-page__ttl .en {
    margin-bottom: 2vw;
}

.p-page__ttl .en img {
    height: auto;
    width: 67.391vw;
}

.p-page__ttl h2 {
    background: #E94A08;
    color: #ffffff;
    font-size: 3.865vw;
    font-weight: 600;
    letter-spacing: 0.386vw;
    line-height: 1;
    margin-inline: auto;
    padding-block: 0vw;
    padding-inline: 14.459vw;
    width: -moz-fit-content;
    width: fit-content;
}

.p-benefit {
    background-color: #EBEBE4; /* 背景色を指定 */
    background-image: url(../images/benefit/benefit_bg_sp.png); /* 画像を指定 */
    background-position: top right; /* 画像の位置を指定 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    background-size: contain; /* 画像のサイズ調整（必要に応じて変更） */
    position: relative;
}

.p-benefit .l-inner.l-benefit {
    margin-inline: auto;
    padding-block: 11.493vw 4.493vw;
    position: relative;
    width: min(95%, 90.3381642512vw);
    z-index: 10;
}

.p-benefit .p-benefit__txt {
    font-size: 4.348vw;
    font-weight: 500;
    letter-spacing: 0.478vw;
    line-height: 2;
    margin-bottom: 16.739vw;
    text-align: center;
}

.p-benefit .c-benefit__ttl {
    font-size: 6.28vw;
    font-weight: 500;
    letter-spacing: 0.628vw;
    line-height: 1.6;
    margin-bottom: 2.831vw;
    padding-inline: 6.763vw 0;
    position: relative;
}

.p-benefit .c-benefit__ttl:before {
    background: #FF6708;
    border-radius: 50%;
    content: "";
    height: 4.348vw;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 4.348vw;
}

.p-benefit .p-benefit__items {
    display: grid;
    gap: 2.415vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 12.493vw;
}

.p-benefit .p-benefit__items.p-benefit__items--support {
    display: grid;
    gap: 2.415vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 11.493vw;
}

.p-benefit .p-benefit__item {
    background: #ffffff;
    border-radius: 2.415vw;
    padding: 10.077vw 9.662vw;
}

.p-benefit .p-benefit__item-ttl {
    font-size: 4.831vw;
    font-weight: 500;
    letter-spacing: 0px;
    line-height: 1.4;
    margin-bottom: 3.246vw;
    text-align: center;
}

.p-benefit .p-benefit__item-txt {
    font-size: 3.865vw;
    font-weight: 400;
    letter-spacing: 0.193vw;
    line-height: 1.875;
}

.p-benefit .p-benefit__allowance {
    margin-bottom: 14.493vw;
}

.p-benefit .p-benefit__edu-btns {
    border: 2px solid #E8E8E8;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-benefit .p-benefit__edu-btns-item:nth-child(odd) .p-benefit__edu-btn {
    border-bottom: 2px solid #E8E8E8;
}

.p-benefit .p-benefit__edu-btn {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #ffffff;
    border-bottom: 2px solid #E8E8E8;
    display: flex;
    justify-content: space-between;
    padding: 6.1vw 7vw;
    transition: all 0.3s ease-in-out;
    width: 100%;
}

.p-benefit .p-benefit__edu-btn-txt {
    font-size: 4.348vw;
    font-weight: 400;
    letter-spacing: 0px;
    line-height: 1.4;
}

.p-benefit .p-benefit__edu-btn-ico img {
    height: auto;
    width: 4.348vw;
}

.p-benefit :where(dialog) {
    background-color: unset;
    border: unset;
    color: unset;
    max-width: unset;
    overflow: unset;
    padding: unset;
    width: unset;
}

.p-benefit dialog.p-benefit__dialog {
    background: #ffffff;
    border: none;
    border-radius: 2.415vw;
    margin-inline: auto;
    opacity: 0;
    position: relative;
    width: min(95%, 86.9vw);
}

.p-benefit dialog.p-benefit__dialog::backdrop {
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.p-benefit dialog.p-benefit__dialog.js-show {
    opacity: 1;
}

.p-benefit dialog.p-benefit__dialog.js-show::backdrop {
    opacity: 1;
}

.p-benefit .p-benefit__dialog-inner {
    height: inherit;
    max-height: inherit;
    overflow-y: auto;
    position: relative;
}

.p-benefit .p-benefit__dialog-body {
    height: -moz-fit-content;
    height: fit-content;
    padding: 14.493vw 14.493vw;
}

.p-benefit .p-benefit__dialog-text {
    max-width: 100%;
    width: 100%;
}

.p-benefit .p-benefit__dialog-ttl {
    font-size: 5.314vw;
    font-weight: 600;
    letter-spacing: 0px;
    line-height: 1.4;
    margin-bottom: 7.246vw;
    text-align: center;
}

.p-benefit .p-benefit__dialog-txt {
    font-size: 3.865vw;
    font-weight: 400;
    letter-spacing: 0.193vw;
    line-height: 1.875;
}

.p-benefit .p-benefit__dialog-close {
    background: transparent;
    border: none;
    cursor: pointer;
    line-height: 0;
    padding: 0;
    position: absolute;
    right: -4.831vw;
    top: -3.865vw;
    z-index: 2;
}

.p-benefit .p-benefit__dialog-close svg {
    display: block;
}

.p-benefit .p-benefit__education {
    margin-bottom: 10.493vw;
}

.p-plan .l-inner.l-plan {
    margin-inline: auto;
    padding-block: 17.324vw;
    width: min(95%, 90.3381642512vw);
}

.p-plan .p-plan__items {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-plan .p-plan__item:nth-child(1) {
    border-bottom: 1px solid #d4d4d4;
    border-right: none;
    padding-block: 0 10.077vw;
    padding-inline: 0;
}

.p-plan .p-plan__item:nth-child(2) {
    padding-block: 10.077vw 0;
    padding-inline: 0;
}

.p-plan .p-plan__ttl {
    align-items: center;
    display: flex;
    gap: 0 2.899vw;
    margin-bottom: 4.246vw;
}

.p-plan .p-plan__ttl span {
    color: #ffffff;
    font-size: 3.865vw;
    font-weight: 600;
    letter-spacing: 0.193vw;
    line-height: 1.6;
    padding: 0.5vw 3.2vw;
    width: -moz-fit-content;
    width: fit-content;
}

.p-plan .p-plan__ttl span.new {
    background: #0088D0;
}

.p-plan .p-plan__ttl span.career {
    background: #39B54A;
}

.p-plan .p-plan__ttl h3 {
    font-size: 6.28vw;
    font-weight: 800;
    letter-spacing: 0.314vw;
    line-height: 1.6;
}

.p-plan .p-plan__img {
    margin-bottom: 7.662vw;
}

.p-plan .p-plan__lists {
    display: grid;
    gap: 6.662vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-plan .p-plan__list h4 {
    font-size: 4.831vw;
    font-weight: 600;
    letter-spacing: 0.242vw;
    line-height: 1.4;
    margin-bottom: 1.797vw;
}

.p-plan .p-plan__list p {
    font-size: 3.865vw;
    font-weight: 400;
    letter-spacing: 0.039vw;
    line-height: 1.875;
}

.p-link {
    background: #EBEBE4;
}

.p-link .l-inner.l-link {
    margin-inline: auto;
    padding-block: 12.493vw;
    width: min(95%, 90.3381642512vw);
}

.p-link .p-link__ttl {
    font-size: 5.797vw;
    font-weight: 800;
    letter-spacing: 0.29vw;
    line-height: 1.4;
    margin-bottom: 5.246vw;
    padding-inline: 9.662vw;
    position: relative;
    text-align: center;
}

.p-link .p-link__ttl:before {
    background: url(../images/benefit/line_sp.svg) no-repeat center center/contain;
    bottom: -1vw;
    content: "";
    height: 26.773vw;
    left: 1.314vw;
    position: absolute;
    width: 6.314vw;
}

.p-link .p-link__ttl:after {
    background: url(../images/benefit/line_sp.svg) no-repeat center center/contain;
    bottom: -1vw;
    content: "";
    height: 26.773vw;
    position: absolute;
    right: 1.314vw;
    transform: scale(-1, 1);
    width: 6.314vw;
}

.p-link .p-link__items {
    display: grid;
    gap: 2.415vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-link .p-link__item a {
    display: block;
}

}