/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　修正する際はscssファイルを編集するように注意してください。
--------------------------------------------------------------- */
.clearfix:after {
    content: "";
    display: block;
    clear: both
}

li {
    list-style: none
}

img {
    max-width: 100%;
    height: auto
}

a {
    color: inherit;
    text-decoration: none
}

.min {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif
}

table {
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0
}

td input {
    max-width: 100%
}

i,
em {
    font-style: normal
}

.inner {
    width: 100%;
    position: relative
}

@media(min-width: 1200px) {
    .inner {
        max-width: 1120px;
        padding: 0 20px;
        margin: 0 auto
    }
}

@media(min-width: 768px)and (max-width: 1199px) {
    .inner {
        padding: 0 4vw
    }
}

@media(max-width: 767px) {
    .inner {
        padding: 0 8%
    }
}

.pc-only {
    display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
    .pc-only {
        display: none
    }
}

@media(max-width: 767px) {
    .pc-only {
        display: none
    }
}

.tab-only {
    display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
    .tab-only {
        display: inherit
    }
}

@media(max-width: 767px) {
    .tab-only {
        display: none
    }
}

.sp-only {
    display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
    .sp-only {
        display: none
    }
}

@media(max-width: 767px) {
    .sp-only {
        display: inherit
    }
}

.pctab-only {
    display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
    .pctab-only {
        display: inherit
    }
}

@media(max-width: 767px) {
    .pctab-only {
        display: none
    }
}

.tabsp-only {
    display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
    .tabsp-only {
        display: inherit
    }
}

@media(max-width: 767px) {
    .tabsp-only {
        display: inherit
    }
}

a.tellink {
    pointer-events: none
}

@media(max-width: 767px) {
    a.tellink {
        pointer-events: inherit
    }
}

@media(max-width: 767px) {
    :root {
        font-size: 4.26666vw !important
    }
}

html,
body {
    font-size: 1rem;
    line-height: 2;
    color: #333;
    font-family: "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif
}

html {
    overflow: auto
}

body {
    overflow: hidden
}

.tra {
    font-family: "trajan-pro-3", serif
}

header {
    height: 84px;
    /* background-color: rgba(13, 74, 15, 0.4); */
    display: flex;
    flex-wrap: unset;
    justify-content: space-between;
    align-items: center;
    align-content: unset;
    padding: 0 2vw;
    margin-bottom: -84px;
    position: relative;
    z-index: 3
}

@media(min-width: 768px)and (max-width: 1199px) {
    header {
        height: 60px;
        margin-bottom: -60px;
        padding: 0 0 0 5vw
    }
}

@media(max-width: 767px) {
    header {
        height: 16vw;
        margin-bottom: -16vw;
        padding: 0 0 0 5vw
    }
}

header .head_logo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: unset;
    gap: 0 1.5rem
}

@media(max-width: 767px) {
    header .head_logo {
        gap: 0 .8rem
    }
}

@media(min-width: 768px)and (max-width: 1199px) {
    header .head_logo img {
        width: 18vw
    }
}

@media(max-width: 767px) {
    header .head_logo img {
        width: 25.6vw
    }
}

.main_home {
    height: 100vh;
    position: relative
}

@media(min-width: 1200px) {
    .main_home {
        min-height: 800px
    }
}

.main_home .txt {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.main_home .txt .inner {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    flex-direction: column
}

.main_home .ttl_main01 {
    margin-bottom: 2vh
}

.main_home .txt_sub {
    font-size: 1.0625rem;
    color: #fff;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .28em;
    margin-bottom: 4vh
}

@media(min-width: 768px)and (max-width: 1199px) {
    .main_home .txt_sub {
        font-size: 0.8125rem
    }
}

@media(max-width: 767px) {
    .main_home .txt_sub {
        font-size: 0.6875rem
    }
}

.main_home .btn_cmn {
    margin-bottom: 4vh
}

.main_home p.txt01 {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 2vh;
    position: relative
}

@media(max-width: 767px) {
    .main_home p.txt01 {
        letter-spacing: -0.04em
    }
}

.main_home p.txt01::before,
.main_home p.txt01::after {
    content: "";
    width: 4em;
    height: 1px;
    background-color: currentColor;
    position: absolute;
    top: 50%
}

@media(max-width: 767px) {

    .main_home p.txt01::before,
    .main_home p.txt01::after {
        width: 2em
    }
}

.main_home p.txt01::before {
    right: calc(100% + .5em)
}

.main_home p.txt01::after {
    left: calc(100% + .5em)
}

.main_home p.txt01 em {
    font-size: 1.375rem
}

@media(max-width: 767px) {
    .main_home p.txt01 em {
        font-size: 1rem
    }
}

.main_home .triple {
    width: 515px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 4px
}

@media(max-width: 767px) {
    .main_home .triple {
        width: 100%
    }
}

.main_home .triple .lorel {
    aspect-ratio: 168/67;
    display: grid;
    place-content: center;
    background: url(/assets/img/top/lorel.svg) center center/auto 100% no-repeat;
    position: relative
}

@media(max-width: 767px) {
    .main_home .triple .lorel {
        width: 28vw;
        background-position: 100% auto
    }
}

.main_home .triple .lorel p {
    font-size: 0.875rem;
    color: #cfca7e;
    font-weight: 700;
    line-height: 1.5;
    text-align: center
}

@media(max-width: 767px) {
    .main_home .triple .lorel p {
        font-size: 0.625rem
    }
}

.main_home .triple .lorel p em {
    font-size: 1.75rem;
    line-height: 1;
    position: relative;
    top: .1em
}

@media(max-width: 767px) {
    .main_home .triple .lorel p em {
        font-size: 1.0625rem
    }
}

.main_home .triple .lorel p span {
    font-size: 0.8125rem;
    margin-left: .2em
}

@media(max-width: 767px) {
    .main_home .triple .lorel p span {
        font-size: 0.625rem
    }
}

@keyframes zoomUp {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.15)
    }
}

.swiper-slide-active .bg,
.swiper-slide-duplicate-active .bg,
.swiper-slide-prev .bg {
    animation: zoomUp 6s linear 0s;
    animation-fill-mode: both
}

.swiper-wrapper::before {
    content: '';
    position: absolute;
    background: #000000a3;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.swiper-wrapper .swiper-slide {
    overflow: hidden;
    backface-visibility: hidden
}

.swiper-wrapper .swiper-slide .bg {
    background-size: cover;
    background-position: center center;
    height: 100vh;
    min-height: 800px
}

.section_cmn {
    padding: 5rem 0
}

@media(max-width: 767px) {
    .section_cmn {
        padding: 3.5rem 0
    }
}

.section_cmn.t_narrow {
    padding-top: 3.5rem
}

@media(max-width: 767px) {
    .section_cmn.t_narrow {
        padding-top: 2.5rem
    }
}

.section_cmn.b_narrow {
    padding-bottom: 3.5rem
}

@media(max-width: 767px) {
    .section_cmn.b_narrow {
        padding-bottom: 2.5rem
    }
}

.section_cmn.t_wide {
    padding-top: 7.5rem
}

@media(max-width: 767px) {
    .section_cmn.t_wide {
        padding-top: 3.5rem
    }
}

.section_cmn.b_wide {
    padding-bottom: 7.5rem
}

@media(max-width: 767px) {
    .section_cmn.b_wide {
        padding-bottom: 3.5rem
    }
}

.section_cmn.t_none {
    padding-top: 0
}

.section_cmn.b_none {
    padding-bottom: 0
}

.ttl_cmn {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: .8em;
    position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
    .ttl_cmn {
        font-size: 1.5rem
    }
}

@media(max-width: 767px) {
    .ttl_cmn {
        font-size: 1.375rem
    }
}

.ttl_cmn span {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: .08em
}

@media(max-width: 767px) {
    .ttl_cmn span {
        font-size: 0.75rem
    }
}

.ttl_cmn span.color_cb {
    color: #3BC22F
}

.ttl_cmn.large {
    font-size: 2.5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
    .ttl_cmn.large {
        font-size: 1.625rem
    }
}

@media(max-width: 767px) {
    .ttl_cmn.large {
        font-size: 1.5rem
    }
}

.ttl_cmn.small {
    font-size: 1.5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
    .ttl_cmn.small {
        font-size: 1.25rem
    }
}

@media(max-width: 767px) {
    .ttl_cmn.small {
        font-size: 1.125rem
    }
}

.ttl_cmn.tac {
    text-align: center
}

.ttl_cmn.color_w {
    color: #fff
}

.ttl_cmn.color_cb {
    color: #3BC22F
}

.ttl_cmn.mb_w {
    margin-bottom: 1.8em
}

.ttl_cmn.mb0 {
    margin-bottom: 0
}

.ttl_cmn2 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: .8em
}

@media(max-width: 767px) {
    .ttl_cmn2 {
        font-size: 1.125rem
    }
}

.ttl_cmn2.regular {
    font-weight: 400
}

.ttl_cmn2.lh_w {
    line-height: 2.4
}

@media(max-width: 767px) {
    .ttl_cmn2.lh_w {
        line-height: 2.2
    }
}

.ttl_cmn2.lh_n {
    line-height: 1.5
}

.ttl_cmn2.tac {
    text-align: center
}

.ttl_cmn2.color_w {
    color: #fff
}

.ttl_cmn2.color_cb {
    color: #3BC22F
}

.ttl_cmn2.large {
    font-size: 3rem
}

@media(min-width: 768px)and (max-width: 1199px) {
    .ttl_cmn2.large {
        font-size: 1.875rem
    }
}

@media(max-width: 767px) {
    .ttl_cmn2.large {
        font-size: 1.75rem
    }
}

.ttl_cmn2.mdl {
    font-size: 2.25rem
}

@media(min-width: 768px)and (max-width: 1199px) {
    .ttl_cmn2.mdl {
        font-size: 1.5rem
    }
}

@media(max-width: 767px) {
    .ttl_cmn2.mdl {
        font-size: 1.375rem
    }
}

.ttl_cmn2.small {
    font-size: 1.25rem
}

@media(max-width: 767px) {
    .ttl_cmn2.small {
        font-size: 1rem
    }
}

.ttl_cmn2.mb_w {
    margin-bottom: 1.8em
}

.ttl_cmn2.mb0 {
    margin-bottom: 0
}

.txt_cmn {
    font-size: 1rem;
    font-weight: 500;
    line-height: 2
}

@media(max-width: 767px) {
    .txt_cmn {
        font-size: 0.875rem
    }
}

.txt_cmn.lh_w {
    line-height: 2.4
}

@media(max-width: 767px) {
    .txt_cmn.lh_w {
        line-height: 2.2
    }
}

.txt_cmn.lh_n {
    line-height: 1.5
}

.txt_cmn.tac {
    text-align: center
}

.txt_cmn.tar {
    text-align: right
}

.txt_cmn.bold {
    font-weight: 700
}

.txt_cmn.color_cb {
    color: #3BC22F
}

.txt_cmn.color_w {
    color: #fff
}

.txt_cmn.large {
    font-size: 1.125rem
}

@media(max-width: 767px) {
    .txt_cmn.large {
        font-size: 0.9375rem
    }
}

.txt_cmn.mdl {
    font-size: 0.875rem
}

@media(max-width: 767px) {
    .txt_cmn.mdl {
        font-size: 0.75rem
    }
}

.txt_cmn.small {
    font-size: 0.75rem
}

@media(max-width: 767px) {
    .txt_cmn.small {
        font-size: 0.625rem
    }
}

.btn_cmn {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%
}

.btn_cmn a {
    width: 462px;
    height: 88px;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: unset;
    border-radius: 100vmax;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .26);
    position: relative
}

@media(max-width: 767px) {
    .btn_cmn a {
        width: 84vw;
        height: 3rem
    }
}

.btn_cmn a p {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center
}

@media(max-width: 767px) {
    .btn_cmn a p {
        font-size: 1rem
    }
}

.btn_cmn.head a {
    width: 188px;
    height: 46px
}

@media(max-width: 767px) {
    .btn_cmn.head a {
        width: 22.6666666667vw;
        height: 16vw;
        border-radius: 0
    }
}

.btn_cmn.head a p {
    font-size: 1rem
}

@media(max-width: 767px) {
    .btn_cmn.head a p {
        font-size: 0.8125rem
    }
}

.btn_cmn.main a {
    width: 500px;
    height: 80px
}

@media(max-width: 767px) {
    .btn_cmn.main a {
        width: 90vw;
        height: 3rem
    }
}

.btn_cmn.main a p {
    font-size: 1.625rem
}

@media(max-width: 767px) {
    .btn_cmn.main a p {
        font-size: 1.0625rem
    }
}

.btn_cmn.main a p span {
    font-size: 1.25rem
}

@media(max-width: 767px) {
    .btn_cmn.main a p span {
        font-size: 0.75rem
    }
}

.btn_cmn.center {
    margin-inline: auto
}

.btn_cmn.bg_gold a {
    border: 1px solid #efcb00;
    background: linear-gradient(to right, #C2A812 0%, #C9AB11 52%, #A5870C 100%);
    color: #fff
}

.btn_cmn.bg_gold a:hover {
    background: linear-gradient(to right, #A5870C 0%, #C9AB11 48%, #C2A812 100%);
    transition: .3s ease
}

.side_cmn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: unset
}

.side_cmn figure {
    width: 49.5%;
    text-align: center
}

@media(max-width: 767px) {
    .side_cmn figure {
        width: 100%;
        margin-bottom: 1rem
    }
}

.side_cmn .txt {
    width: 47.5%
}

@media(max-width: 767px) {
    .side_cmn .txt {
        width: 100%
    }
}

.side_cmn.reverse {
    flex-direction: row-reverse
}

.side_cmn.a_start {
    align-items: flex-start
}

.side_cmn.aaa figure {
    width: 25.9259259259%
}

@media(max-width: 767px) {
    .side_cmn.aaa figure {
        width: 100%
    }
}

.side_cmn.aaa .txt {
    width: 74.0740740741%
}

@media(max-width: 767px) {
    .side_cmn.aaa .txt {
        width: 100%
    }
}

.over_cmn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: unset;
    padding: 0rem calc(50vw - 50%) 0rem 0;
    margin: 0 calc(50% - 50vw);
    position: relative
}

@media(max-width: 767px) {
    .over_cmn {
        padding: 0
    }
}

.over_cmn figure {
    width: calc(100% - 540px);
    text-align: right
}

@media(min-width: 768px)and (max-width: 1199px) {
    .over_cmn figure {
        width: 49.0740740741%
    }
}

@media(max-width: 767px) {
    .over_cmn figure {
        width: 100%;
        margin-bottom: 1rem
    }
}

.over_cmn .txt {
    width: 490px
}

@media(min-width: 768px)and (max-width: 1199px) {
    .over_cmn .txt {
        width: 47.2222222222%
    }
}

@media(max-width: 767px) {
    .over_cmn .txt {
        width: 100%;
        padding: 0 8%
    }
}

@media(max-width: 767px) {
    .over_cmn:not(.reverse) figure {
        margin-right: 8vw
    }
}

.over_cmn.reverse {
    flex-direction: row-reverse;
    padding: 0rem 0 0rem calc(50vw - 50%)
}

@media(max-width: 767px) {
    .over_cmn.reverse {
        padding: 0
    }
}

.over_cmn.reverse figure {
    text-align: left
}

@media(max-width: 767px) {
    .over_cmn.reverse figure {
        margin-left: 8vw
    }
}

.over_cmn.a_start {
    align-items: flex-start
}

.over_cmn.alt figure {
    width: calc(100% - 590px)
}

@media(min-width: 768px)and (max-width: 1199px) {
    .over_cmn.alt figure {
        width: 47.2222222222%
    }
}

@media(max-width: 767px) {
    .over_cmn.alt figure {
        width: 100%
    }
}

.over_cmn.alt .txt {
    width: 540px
}

@media(min-width: 768px)and (max-width: 1199px) {
    .over_cmn.alt .txt {
        width: 49.0740740741%
    }
}

@media(max-width: 767px) {
    .over_cmn.alt .txt {
        width: 100%
    }
}

.scroll_up {
    transition: .8s ease-in-out;
    transform: translateY(30px);
    opacity: 0
}

.scroll_up.on {
    transform: translateY(0);
    opacity: 1
}

.scroll_left {
    transition: .8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0)
}

.scroll_left.on {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: translateX(0)
}

.scroll_right {
    transition: .8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0)
}

.scroll_right.on {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: translateX(0)
}

.bgtxtwrap {
    width: -moz-fit-content;
    width: fit-content;
    overflow: hidden
}

.bgtxtwrap .bg_txt_cmn {
    font-size: 7.5rem;
    font-weight: 700;
    font-style: italic;
    line-height: .8;
    letter-spacing: .05em;
    white-space: nowrap
}

@media(min-width: 768px)and (max-width: 1199px) {
    .bgtxtwrap .bg_txt_cmn {
        font-size: 4.375rem
    }
}

@media(max-width: 767px) {
    .bgtxtwrap .bg_txt_cmn {
        font-size: 4rem
    }
}

.bgtxtwrap .bg_txt_cmn.large {
    font-size: 13.125rem
}

@media(min-width: 768px)and (max-width: 1199px) {
    .bgtxtwrap .bg_txt_cmn.large {
        font-size: 6.25rem
    }
}

@media(max-width: 767px) {
    .bgtxtwrap .bg_txt_cmn.large {
        font-size: 5.5rem
    }
}

.bgtxtwrap .bg_txt_cmn.color_w {
    color: rgba(255, 255, 255, .1)
}

.bgtxtwrap .bg_txt_cmn.vt {
    writing-mode: vertical-rl
}

.bgtxtwrap.scroll {
    width: 100%
}

.bgtxtwrap.scroll .inn {
    display: inline-block;
    padding-left: 100%;
    white-space: nowrap;
    animation: animate-text 20s linear infinite
}

.bgtxtwrap.scroll.alt .inn {
    animation: animate-text2 20s linear infinite
}

@keyframes animate-text {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

@keyframes animate-text2 {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0%)
    }
}

.home_problem {
    background-color: #022200;
    padding: 2.5rem 0 3rem;
    position: relative
}

.home_problem .boxwrap {
    max-width: 984px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem 3%;
    margin-inline: auto;
    margin-bottom: 6rem;
    position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
    .home_problem .boxwrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width: 767px) {
    .home_problem .boxwrap {
        grid-template-columns: repeat(1, 1fr);
        margin-bottom: 4rem
    }
}

.home_problem .boxwrap::before {
    content: "";
    width: 300px;
    aspect-ratio: 300/48;
    background-color: #e3e3e3;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: calc(100% + 2rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1
}

@media(max-width: 767px) {
    .home_problem .boxwrap::before {
        width: 50vw;
        top: calc(100% + 1rem)
    }
}

.home_problem .boxwrap .box {
    display: grid;
    place-content: center;
    border: 1px solid #fff;
    border-radius: 5px;
    padding: .5rem 3% 1.2rem
}

.home_problem .boxwrap .box figure {
    text-align: center;
    margin-bottom: .5rem
}

.home_problem .boxwrap .box p.txt01 {
    max-width: 202px
}

.home_problem h3.ttl_cmn2 em {
    font-size: 2.5rem;
    line-height: 1
}

@media(min-width: 768px)and (max-width: 1199px) {
    .home_problem h3.ttl_cmn2 em {
        font-size: 1.625rem
    }
}

@media(max-width: 767px) {
    .home_problem h3.ttl_cmn2 em {
        font-size: 1.5rem
    }
}

.home_problem .bgtxtwrap {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1
}

.home_about {
    background: #f5f7fa url(/assets/img/top/bg_about01.png) right top/auto 100% no-repeat
}

.home_about .over_cmn {
    margin-bottom: 2.4rem
}

.home_about .paper {
    background-color: #fff;
    border-radius: 10px;
    padding: 2rem 0
}

.home_about .paper .colwrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 0
}

@media(min-width: 768px)and (max-width: 1199px) {
    .home_about .paper .colwrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width: 767px) {
    .home_about .paper .colwrap {
        grid-template-columns: repeat(1, 1fr)
    }
}

.home_about .paper .colwrap .col {
    padding: 1rem 6% .5rem
}

@media(min-width: 1200px) {
    .home_about .paper .colwrap .col:not(:last-child) {
        border-right: 1px solid #c1c1c1
    }
}

.home_about .paper .colwrap .col .num {
    margin-bottom: .4em
}

.home_about .paper .colwrap .col figure {
    text-align: center;
    margin-bottom: 1rem
}

@media(min-width: 1200px) {
    .home_about .paper .colwrap .col figure img {
        min-height: 130px
    }
}

.home_reason {
    background: url(/assets/img/top/bg_reason01.jpg) center center/cover no-repeat
}

.home_reason .colwrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 2.7777777778%
}

@media(min-width: 768px)and (max-width: 1199px) {
    .home_reason .colwrap {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width: 767px) {
    .home_reason .colwrap {
        grid-template-columns: repeat(1, 1fr)
    }
}

.home_reason .colwrap .col figure {
    margin-bottom: .8rem
}

.home_reason .colwrap .col figure img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.home_regist {
    background: #022200 url(/assets/img/top/bg_regist01.svg) left center/auto 100% no-repeat
}

.home_regist .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 2rem 0
}

.home_regist .inner .left {
    width: 48%
}

@media(max-width: 767px) {
    .home_regist .inner .left {
        width: 100%
    }
}

.home_regist .inner .right {
    width: 50%
}

@media(max-width: 767px) {
    .home_regist .inner .right {
        width: 100%
    }
}

.home_regist .ttl_cmn2 {
    margin-bottom: .5em
}

.home_service {
    position: relative
}

.home_service::before,
.home_service::after {
    content: "";
    background-color: #f5f7fa;
    position: absolute;
    z-index: -1
}

.home_service::before {
    height: 100%;
    aspect-ratio: 404/1348;
    -webkit-clip-path: polygon(0 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    left: 0;
    bottom: 0
}

.home_service::after {
    width: 10%;
    aspect-ratio: 180/600;
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%);
    clip-path: polygon(0 0, 100% 0%, 100% 100%);
    top: 0;
    right: 0
}

.home_service h2.ttl_cmn {
    margin-bottom: 1.2em
}

@media(min-width: 768px)and (max-width: 1199px) {
    .home_service .over_cmn:not(:last-child) {
        margin-bottom: 2rem
    }
}

@media(max-width: 767px) {
    .home_service .over_cmn:not(:last-child) {
        margin-bottom: 2rem
    }
}

.home_service h3.ttl_cmn2 {
    line-height: 1.3;
    margin-bottom: .6em
}

.home_compa figure {
    text-align: center
}

.home_faq {
    background-color: #f5f7fa
}

.home_faq .wrap_faq {
    max-width: 936px;
    margin-inline: auto
}

.home_faq .wrap_faq .unit_faq {
    background-color: #fff;
    border-radius: 10px
}

.home_faq .wrap_faq .unit_faq:not(:last-child) {
    margin-bottom: 1.2rem
}

.home_faq .wrap_faq .unit_faq .q1,
.home_faq .wrap_faq .unit_faq .a1 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 1.6rem 3%
}

@media(max-width: 767px) {

    .home_faq .wrap_faq .unit_faq .q1,
    .home_faq .wrap_faq .unit_faq .a1 {
        padding: .8rem 3%
    }
}

.home_faq .wrap_faq .unit_faq .q1 .mark,
.home_faq .wrap_faq .unit_faq .a1 .mark {
    font-size: 1.5rem;
    color: #3BC22F;
    font-weight: 600;
    line-height: .9;
    margin-right: .7em;
    position: relative;
    top: .1em
}

@media(max-width: 767px) {

    .home_faq .wrap_faq .unit_faq .q1 .mark,
    .home_faq .wrap_faq .unit_faq .a1 .mark {
        font-size: 1.25rem
    }
}

.home_faq .wrap_faq .unit_faq .q1 p,
.home_faq .wrap_faq .unit_faq .a1 p {
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1.8rem
}

@media(max-width: 767px) {

    .home_faq .wrap_faq .unit_faq .q1 p,
    .home_faq .wrap_faq .unit_faq .a1 p {
        line-height: 1.5rem
    }
}

.home_faq .wrap_faq .unit_faq .q1 {
    position: relative
}

.home_faq .wrap_faq .unit_faq .q1::before,
.home_faq .wrap_faq .unit_faq .q1::after {
    content: "";
    width: 26px;
    height: 2px;
    background: #3BC22F;
    position: absolute;
    top: 50%;
    right: 2rem;
    translate: 0 -50%
}

@media(max-width: 767px) {

    .home_faq .wrap_faq .unit_faq .q1::before,
    .home_faq .wrap_faq .unit_faq .q1::after {
        width: 16px;
        height: 1px;
        right: .8rem
    }
}

.home_faq .wrap_faq .unit_faq .q1::after {
    rotate: -90deg;
    transition: .3s ease
}

.home_faq .wrap_faq .unit_faq .q1 p {
    font-size: 1.375rem;
    font-weight: 700
}

@media(max-width: 767px) {
    .home_faq .wrap_faq .unit_faq .q1 p {
        font-size: 1.125rem
    }
}

.home_faq .wrap_faq .unit_faq .a1 {
    border-top: 1px solid #d1d1d1;
    translate: 0 -1em;
    opacity: 0;
    transition: transform 1s, opacity 1s
}

.home_faq .wrap_faq .unit_faq .a1 p {
    font-size: 1rem;
    font-weight: 500
}

@media(max-width: 767px) {
    .home_faq .wrap_faq .unit_faq .a1 p {
        font-size: 0.8125rem
    }
}

.home_faq .wrap_faq .unit_faq[open] .q1::after {
    rotate: 0deg
}

.home_faq .wrap_faq .unit_faq[open] .a1 {
    translate: 0;
    opacity: 1
}

footer .addlink {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    padding: 2rem 0 .8rem
}

footer .addlink a {
    display: block;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    padding: 0 2em
}

@media(max-width: 767px) {
    footer .addlink a {
        font-size: 0.8125rem
    }
}

footer .addlink a:not(:last-child) {
    border-right: 1px solid currentColor
}

footer .copyright {
    background-color: #022200;
    padding: .8rem 0
}

footer .copyright small {
    display: block
}

/*# sourceMappingURL=style.css.map */