@charset "UTF-8";

/*----------------------全体にかかる要素----------------------*/
* {
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
    padding: 0;
    user-select: none;
}

html {
    max-width: 480px;
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    background: none;
}

.img {
    width: 100%;
}

.pc {
    display: none;
}

.sp {
    display: block;
}

.btn {
    width: 100%;
    max-width: 300px;
    object-fit: scale-down;
    display: block;
    margin: 30px auto 0 auto;
}

/*----------------------sp fv----------------------*/
.fv {
    background: linear-gradient(135deg, #3E3F43 0%, #45464A 15%, #18191B 50%, #060606 75%, #000000 100%);
}

.fv__inner {
    padding: 10px 15px 50px 15px;
    position: relative;
}

.fv__logo {
    width: 100px;
    object-fit: scale-down;
    padding: 0 0 15px 15px;
}

.fv__img {
    width: 100%;
    object-fit: scale-down;
    margin: 0 auto;
}

.fv_alliance {
    font-size: 0.9rem;
    font-weight: bold;
    position: absolute;
    top: 7px;
    right: 15px;
    background-color: #bf9002;
    border-radius: 25px;
    margin: 0;
    padding: 3px 10px;
}

.fv_alliance__link {
    color: white;
    text-decoration: none;
}

.fv_alliance__link:hover {
    text-decoration: none;
    opacity: 0.5;
    transition: 0.2s;
}

/*----------------------sp logo----------------------*/

.logo {
    display: flex;
    overflow: hidden;
    width: 100%;
    background: #FFFFFF;
    /* 画像の背後の背景色 */
}

.logo__inner--img {
	max-height: 50px;
}

.logo__inner1,
.logo__inner2 {
    display: inline-flex;
    flex: none;
    animation: logo__inner 30s 2s linear infinite;
    /* スライド速度と開始遅延時間 */
}

.logo:hover div {
    animation-play-state: paused !important;
    /* ホバー時にスライダー停止 */
}

.logo__inner1 div,
.logo__inner2 div {
    flex: none;
    padding: 10px;
    /* 画像の間の間隔 */
}

@keyframes logo__inner {

    /* logo__inner1とlogo__inner2を移動させる */
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

/*----------------------sp case----------------------*/

.case {
    padding: 50px 0;
}

.case__title {
    color: #333;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
}

.case__title1 {
    font-size: 5vw;
    font-weight: 900;
    position: relative;
}

.case__title1::before {
    position: absolute;
    content: "";
    border-left: 1.5px solid #333;
    width: 1.5px;
    height: 25px;
    bottom: 0;
    left: -10px;
    transform: rotate(-45deg);
}

.case__title1::after {
    position: absolute;
    content: "";
    border-left: 1.5px solid #333;
    width: 1.5px;
    height: 25px;
    bottom: 0;
    right: -10px;
    transform: rotate(45deg);
}

.case__title2 {
    font-size: 4vw;
    text-align: center;
}

.case__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px 0;
    margin: 20px;
}

.sp-slider_02 {
    width: 80%;
    height: fit-content;
    margin: 20px auto;
    display: grid;
    gap: 0 10px;
}

.img-bottom {
    margin: 15px 0 0 0;
}

.prev.slick-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -7%;
    margin: auto;
    width: 4%;
    height: fit-content;
}

.next.slick-arrow {
    position: absolute;
    top: 0;
    right: -7%;
    bottom: 0;
    margin: auto;
    width: 4%;
    height: fit-content;
}

/*----------------------sp reason----------------------*/

.reason {
    padding: 50px 20px;
    background-color: #f3f3f3;
}

.reason__title {
    font-size: 6vw;
    font-weight: 900;
    text-align: center;
    position: relative;
}

.reason__title::before {
    position: absolute;
    content: "";
    border-top: solid 2px black;
    width: 3.5em;
    height: auto;
    right: 0;
    bottom: -10px;
    left: 0;
    margin: auto;
}

.reason__item {
    margin: 50px 0 0 0;
    display: grid;
    gap: 20px 0;
}

.reason__item--inner {
    position: relative;
}

.reason__item--headline {
    font-size: 5vw;
    font-weight: bold;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 90px;
    margin: auto;
    height: fit-content;
}

/*----------------------sp voice----------------------*/

.voice {
    padding: 50px 20px;
}

.voice__title {
    font-size: 6vw;
    font-weight: 900;
    text-align: center;
    position: relative;
}

.voice__title::before {
    position: absolute;
    content: "";
    border-top: solid 2px black;
    width: 3.5em;
    height: auto;
    right: 0;
    bottom: -10px;
    left: 0;
    margin: auto;
}

.voice__inner {
    margin: 50px 0 0 0;
    display: grid;
    gap: 15px 0;
}

/*----------------------sp step----------------------*/


.step__title {
    background-color: #333;
    display: grid;
    place-items: center;
    padding: 20px 0;
}

.step__title--img {
    max-height: 50px;
    object-fit: scale-down;
}

.step {
    padding: 50px 20px;
    display: grid;
    gap: 50px 0;
}

/*----------------------sp form----------------------*/

.form__title {
    font-weight: bold;
    font-size: 6vw;
    text-align: center;
    border-top: solid 4px black;
    border-bottom: solid 1px black;
    padding: 5px 0;
    position: relative;
}

.form__title::before {
    position: absolute;
    content: "必須";
    background-color: #f56f00;
    color: white;
    border-radius: 15px;
    font-size: 4vw;
    padding: 0 7px;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
    height: fit-content;
}

.form__content {
    background-color: #f0f6da;
    padding: 20px;
    position: relative;
    font-size: 4vw;
}

.form__radio-wrapper {
    display: flex;
}

.form__radio-wrapper2 {
    justify-content: flex-start;
    gap: 0 30px;
}

.form__radio {
    display: flex;
    gap: 0 10px;
    cursor: pointer;
}

.form__file-wrapper {
    display: grid;
    gap: 20px 0;
}

.form__name {
    display: grid;
    gap: 20px 0;
}

select,
#input-name,
#input-kana,
#input-tel,
#input-mail {
    border: 4px #1abc9c solid;
    border-radius: 5px;
    padding: 10px;
    width: 100%;
    appearance: none;
}


.form__radio-wrapper span {
    position: relative;
    display: grid;
    place-items: center;
    width: fit-content;
}

.form__radio-wrapper span::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 3.5vw;
    height: 3.5vw;
    background: #fff;
    border: 4px solid #1abc9c;
    border-radius: 50%;
    content: ""
}

.form__radio-wrapper span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 2vw;
    height: 2vw;
    background: #1abc9c;
    border-radius: 50%;
    opacity: 0;
    content: ""
}


.form__radio-wrapper input {
    display: none
}

.form__radio-wrapper input:checked+span::after {
    opacity: 1
}

.form__radio-wrapper input.yet+span::before {
    animation: 1s linear infinite border-flash;
}

.form__angle {
    position: absolute;
    top: 0;
    right: 35px;
    bottom: 0;
    margin: auto;
    width: 5vw;
    object-fit: scale-down;
    pointer-events: none;
}

.text-bold {
    font-weight: bold;
}

.caution-text {
    display: flex;
    align-items: center;
    gap: 0 5px;
    color: #0c744c;
    font-weight: bold;
    margin: 10px 0 0 0;
}



.caution-text__img {
    width: 20px;
    object-fit: scale-down;
}

/*----------------------sp footer----------------------*/

.footer {
    background-color: #031731;
    padding: 20px 0 0 0;
}

.footer__logo {
    width: 50%;
    object-fit: scale-down;
    display: block;
    margin: 0 auto 15px auto;
}

.footer__link {
    display: inline-block;
    font-size: 10px;
    margin: 0 10px;
    color: white;
}


.footer__copy-right {
    color: white;
    text-align: center;
    font-size: 10px;
    margin: 10px 0;
}

/*----------------------ここからPC----------------------*/

@media screen and (min-width: 768px) {


    /*----------------------全体にかかる要素----------------------*/
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    html {
        max-width: none;
    }

    .btn {
        max-width: 700px;
        margin: 50px auto 0 auto;
    }

    .btn:hover {
        transform: translateY(4px);
        box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
    }

    /*----------------------pc fv----------------------*/

    .fv__inner {
        padding: 50px 0 100px 0;
        max-width: 1000px;
        margin: 0 auto;
    }

    .fv__logo {
        width: 200px;
        object-fit: scale-down;
        padding: 0 0 20px 45px;
    }

    .fv_alliance {
        font-size: 1.2rem;
        top: 50px;
        padding: 5px 20px;
    }

    .logo__inner--img{
		max-height: 70px;
	}

    .logo ul li {
        display: inline-block;
        vertical-align: middle;
    }

    .logo ul li img {
        height: 99px;
        width: auto;
    }

    /*----------------------pc case----------------------*/

    .case {
        padding: 100px 0;
        max-width: 1000px;
        margin: 0 auto;
    }

    .case__title1 {
        font-size: 2.5vw;
        font-weight: 900;
        position: relative;
    }

    .case__title1::before {
        border-left: 2px solid #333;
        width: 3px;
        height: 35px;
        left: -15px;
        transform: rotate(-40deg);
    }

    .case__title1::after {
        border-left: 2px solid #333;
        width: 3px;
        height: 35px;
        transform: rotate(40deg);
    }

    .case__title2 {
        font-size: 1.5vw;
        font-weight: bold;
        margin: 0 auto 30px auto;
    }

    .case__wrapper {
        display: none;
    }

    .case__inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /*----------------------pc reason----------------------*/

    .reason {
        padding: 100px 0;
    }

    .reason__inner {
        max-width: 800px;
        margin: 0 auto;
    }

    .reason__title {
        font-size: 2.5vw;
    }

    .reason__title::before {
        border-top: solid 3px black;
    }

    .reason__item {
        margin: 100px 0 0 0;
        display: grid;
        gap: 20px 0;
    }

    .reason__item--headline {
        font-size: 2vw;
        bottom: 15px;
        left: 200px;
    }

    .reason__item--img1 {
        width: 75%;
        margin: 0 auto;
    }

    .reason__item--text {
        font-size: 1.5vw;
    }

    .reason .btn {
        display: block;
        margin: 50px auto 0 auto;
    }

    /*----------------------pc voice----------------------*/

    .voice {
        padding: 100px 0;
    }

    .voice__wrapper {
        max-width: 1000px;
        margin: 0 auto;
    }

    .voice__title {
        font-size: 2.5vw;
        font-weight: 900;
        text-align: center;
        position: relative;
    }

    .voice__title::before {
        border-top: solid 3px black;
    }

    .voice__inner {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    /*----------------------pc step----------------------*/

    .step__title--img {
        max-height: 100px;
        object-fit: scale-down;
    }

    .step {
        padding: 50px 0;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        max-width: 1000px;
        margin: 0 auto;
        gap: 0 20px;
    }

    /*----------------------pc footer----------------------*/

    .footer {
        background-color: #031731;
        padding: 30px 0 !important;
    }

    .footer__logo {
        max-width: 200px;
    }

    .footer__link {
        display: inline-block;
        font-size: 1vw;
        margin: 0 10px;
        color: white;
    }

    .footer__copy-right {
        color: white;
        text-align: center;
        font-size: 10px;
        margin: 10px 0;
    }

}

/*----------------------ここまでPC----------------------*/

.inview--typing span {
    opacity: 0
}

.inview--typing span.is-active {
    opacity: 1
}

.inview--fadein {
    transform: translateY(30px);
    opacity: 0;
    transition: 0.7s ease-in-out
}

.inview--fadein.is-active {
    transform: translateY(0);
    opacity: 1
}

.inview--connect_fadein>* {
    opacity: 0;
    transition: 0.7s ease-in-out
}

.inview--connect_fadein>*.is-active {
    opacity: 1
}

@font-face {
    font-weight: normal;
    font-family: raty;
    font-style: normal;
    src: url(./fonts/raty.eot);
    src: url(./fonts/raty.eot?#iefix) format(embedded-opentype);
    src: url(./fonts/raty.svg#raty) format(svg);
    src: url(./fonts/raty.ttf) format(truetype);
    src: url(./fonts/raty.woff) format(woff)
}

.cancel-on-png,
.cancel-off-png,
.star-on-png,
.star-off-png,
.star-half-png {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-weight: normal;
    font-size: 2em;
    font-family: raty;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    speak: none;
    text-transform: none
}

.cancel-on-png::before {
    content: "\e600"
}

.cancel-off-png::before {
    content: "\e601"
}

.star-on-png::before {
    content: "\f005"
}

.star-off-png::before {
    content: "\f006"
}

.star-half-png::before {
    content: "\f123"
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    overflow: hidden
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-right: auto;
    margin-left: auto
}

.slick-track::before,
.slick-track::after {
    display: table;
    content: ""
}

.slick-track::after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir="rtl"] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-prev,
.slick-next {
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    color: transparent;
    font-size: 0;
    line-height: 0;
    background: transparent;
    border: none;
    outline: none;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    background: transparent;
    outline: none
}

.slick-prev:hover::before,
.slick-prev:focus::before,
.slick-next:hover::before,
.slick-next:focus::before {
    opacity: 1
}

.slick-prev.slick-disabled::before,
.slick-next.slick-disabled::before {
    opacity: .25
}

.slick-prev::before,
.slick-next::before {
    color: #fff;
    font-size: 20px;
    font-family: "slick";
    line-height: 1;
    opacity: .75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir="rtl"] .slick-prev {
    right: -25px;
    left: auto
}

.slick-prev::before {
    content: "←"
}

[dir="rtl"] .slick-prev::before {
    content: "→"
}

.slick-next {
    right: -25px
}

[dir="rtl"] .slick-next {
    right: auto;
    left: -25px
}

.slick-next::before {
    content: "→"
}

[dir="rtl"] .slick-next::before {
    content: "←"
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    list-style: none
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    color: transparent;
    font-size: 0;
    line-height: 0;
    background: transparent;
    border: 0;
    outline: none;
    cursor: pointer
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover::before,
.slick-dots li button:focus::before {
    opacity: 1
}

.slick-dots li button::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    color: #000;
    font-size: 6px;
    font-family: "slick";
    line-height: 2;
    text-align: center;
    opacity: .25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "•"
}

.slick-dots li.slick-active button::before {
    color: #000;
    opacity: .75
}

@keyframes border-flash {
    0% {
        border-color: #f00
    }

    50% {
        border-color: #f00
    }

    51% {
        border-color: #1abc9c;
    }

    100% {
        border-color: #1abc9c;
    }
}

@font-face {
    font-weight: 400;
    font-family: "Noto Sans Japanese";
    font-style: normal;
    src: url("../../assets/font/NotoSansCJKjp-Regular.woff2") format("woff2"), url("../../assets/font/NotoSansCJKjp-Regular.woff") format("woff"), url("../../assets/font/NotoSansCJKjp-Regular.ttf") format("truetype"), url("../../assets/font/NotoSansCJKjp-Regular.eot") format("embedded-opentype");
    font-display: swap
}

@font-face {
    font-weight: 700;
    font-family: "Noto Sans Japanese";
    font-style: normal;
    src: url("../../assets/font/NotoSansCJKjp-Bold.woff2") format("woff2"), url("../../assets/font/NotoSansCJKjp-Bold.woff") format("woff"), url("../../assets/font/NotoSansCJKjp-Bold.ttf") format("truetype"), url("../../assets/font/NotoSansCJKjp-Bold.eot") format("embedded-opentype");
    font-display: swap
}

@font-face {
    font-weight: 400;
    font-family: Futura;
    font-style: normal;
    src: url("../../assets/font/Futura.woff2") format("woff2"), url("../../assets/font/Futura.woff") format("woff"), url("../../assets/font/Futura.ttf") format("truetype"), url("../../assets/font/Futura.eot") format("embedded-opentype");
    font-display: swap
}

* {
    box-sizing: border-box;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased
}

*::before,
*::after {
    box-sizing: border-box
}

html {
    font-size: 62.5%
}

body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    color: #000;
    font-size: 1.6rem;
    font-family: "Noto Sans Japanese";
    line-height: 1.625;
    word-break: break-word;
    overflow-wrap: break-word;
    background: #fafafa
}

body.home,
body.page-template-form {
    background: #ffde35
}

body.page-template-company-list,
body.page-template-company-detail {
    background: #fafafa
}

body.page-template-store {
    font-family: "メイリオ", Meiryo, sans-serif;
    background: #fff
}

body.is-modal-open {
    height: 100vh;
    overflow-y: hidden
}

@media screen and (max-width: 896px) {
    body {
        font-size: 3.7vw
    }
}

@media (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    body {
        font-family: "メイリオ", Meiryo, sans-serif
    }
}

img {
    max-width: 100%;
    height: auto;
    font-size: 0;
    line-height: 0;
    vertical-align: bottom;
    border: none;
    transition: opacity .2s
}

a {
    color: #000;
    text-decoration: none;
    transition: .2s opacity
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0
}

figure {
    margin: 0
}

iframe {
    display: block;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto
}

button {
    padding: 0;
    font-size: inherit;
    font-family: inherit;
    background: none;
    border: none;
    outline: none
}

.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

.text-typing span {
    opacity: 0
}

.box-fadeIn {
    transform: translateY(30px);
    opacity: 0;
    transition: 0.7s ease-in-out
}

.connect-fadeIn>* {
    opacity: 0;
    transition: 0.7s ease-in-out
}

.composite_animation>* {
    opacity: 0
}

.composite_animation__connect {
    opacity: 0
}

.composite_animation__connect.active {
    opacity: 1;
    animation: flash 1s linear 1
}

@keyframes flash {
    0% {
        transform: scale(1);
        opacity: 0
    }

    50% {
        transform: scale(1.3)
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

.overlap {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    margin: auto;
    background: url("../../assets/img//common/loading.gif") center no-repeat, #33485e;
    opacity: 0.7
}



input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"] {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    height: 70px;
    padding: 0 45px 0 10px;
    color: inherit;
    font-size: 2.4rem;
    font-family: inherit;
    line-height: inherit;
    background: url("../../assets/img/common/icon_valid.svg") no-repeat right 0.4em center/0 #fff;
    background-color: #fff;
    border: 4px #4abfd7 solid;
    border-radius: 10px;
    appearance: none
}

#zip_cd {
    padding: 8px 13px 8px 25px;
}

.file-wrap {
    padding: 0 15px 0 0;
}

#zip_cd,
#address,
#user_name,
#user_kana,
#tel,
#mail_address {
    border: 3px #1abc9c solid;
    border-radius: 5px;
}


@media screen and (max-width: 896px) {

    input[type="text"],
    input[type="tel"],
    input[type="number"],
    input[type="email"] {
        height: 13vw;
        padding: 0 8vw 0 2vw;
        font-size: 4.2vw;
        background-position: right 1.2vw center;
        border-width: 3px;
        border-radius: 5px
    }
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="email"]:focus {
    border-color: #1abc9c;
    outline: none
}

input[type="text"].form-valid,
input[type="tel"].form-valid,
input[type="number"].form-valid,
input[type="email"].form-valid {
    background-size: 30px 30px;
    border-color: #1abc9c
}

@media screen and (max-width: 896px) {

    input[type="text"].form-valid,
    input[type="tel"].form-valid,
    input[type="number"].form-valid,
    input[type="email"].form-valid {
        background-size: 6vw 6vw
    }
}

input[type="text"].form-invalid,
input[type="tel"].form-invalid,
input[type="number"].form-invalid,
input[type="email"].form-invalid {
    border-color: #e74c3c
}

input[type="text"][disabled],
input[type="tel"][disabled],
input[type="number"][disabled],
input[type="email"][disabled] {
    background: #eee;
    border-color: #aaa
}

input[type="text"].yet,
input[type="tel"].yet,
input[type="number"].yet,
input[type="email"].yet,
.file-wrap .select-file.yet {
    animation: 1s linear infinite border-flash;
}

select {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    height: 70px;
    padding: 0 45px 0 10px;
    color: inherit;
    font-size: 2.4rem;
    font-family: inherit;
    line-height: inherit;
    background-color: #fff;
    background-image: url("../../assets/img/common/select_bg.svg"), url("../../assets/img/common/icon_valid.svg");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 24px 24px, 0;
    border: 4px #1abc9c solid;
    border-radius: 10px;
    appearance: none
}

@media screen and (max-width: 896px) {
    select {
        height: 13vw;
        padding: 0 8vw 0 2vw;
        font-size: 4.2vw;
        background-position: right 2vw center, right 1.2vw center;
        background-size: 5vw 5vw, 0;
        border-width: 3px;
        border-radius: 5px
    }
}

select::-ms-expand {
    display: none
}

select:focus {
    border-color: #f56f00;
    outline: none
}

select.form-valid {
    background-size: 0, 30px 30px;
    border-color: #1abc9c;
}

@media screen and (max-width: 896px) {
    select.form-valid {
        background-size: 0, 6vw 6vw
    }
}

select.form-invalid {
    border-color: #e74c3c
}

select[disabled] {
    background-color: #eee;
    border-color: #aaa;
    opacity: 1
}

select.yet {
    animation: 1s linear infinite border-flash;
}

textarea {
    width: 100%;
    max-width: 100%;
    padding: 10px 45px 10px 10px;
    color: inherit;
    font-size: 2rem;
    font-family: inherit;
    line-height: inherit;
    background: url("../../assets/img/common/icon_valid.svg") no-repeat right 0.4em center/0 #fff;
    border: 4px #1abc9c solid;
    border-radius: 10px;
    appearance: none
}

@media screen and (max-width: 896px) {
    textarea {
        height: 13vw;
        padding: 0 8vw 0 2vw;
        font-size: 4.2vw;
        background-position: right 2vw center, right 1.2vw center;
        background-size: 5vw 5vw, 0;
        border-width: 3px;
        border-radius: 5px
    }
}

textarea::-ms-expand {
    display: none
}

textarea:focus {
    border-color: #f56f00;
    outline: none
}

textarea.form-valid {
    background-size: 30px 30px;
    border-color: #1abc9c
}

@media screen and (max-width: 896px) {
    textarea.form-valid {
        background-size: 6vw 6vw
    }
}

textarea.form-invalid {
    border-color: #e74c3c
}

textarea[disabled] {
    background-color: #eee;
    border-color: #aaa;
    opacity: 1
}

.form-radio {
    display: block;
    margin: 0 0 0.7em;
    font-weight: bold;
    cursor: pointer
}

.form-radio:last-child {
    margin-bottom: 0
}

.form-radio span {
    position: relative;
    display: block;
    padding-left: 2em
}

.form-radio span::before {
    position: absolute;
    top: -0.1em;
    left: 0;
    width: 1.7em;
    height: 1.7em;
    background: #fff;
    border: 6px solid #1abc9c;
    border-radius: 50%;
    content: ""
}

.form-radio span::after {
    position: absolute;
    top: 0.4em;
    left: 0.5em;
    width: 0.7em;
    height: 0.7em;
    background: #1abc9c;
    border-radius: 50%;
    opacity: 0;
    content: ""
}

.form-radio span small {
    font-weight: normal;
    font-size: inherit
}

@media screen and (max-width: 896px) {
    .form-radio span small {
        display: block;
        line-height: 1.2
    }
}

.form-radio input {
    display: none
}

.form-radio input:checked+span::after {
    opacity: 1
}

.form-radio input.yet+span::before {
    animation: 1s linear infinite border-flash;
}

.form-checkbox {
    display: block;
    margin: 0 0 0.7em;
    font-weight: bold;
    cursor: pointer
}

.form-checkbox span {
    position: relative;
    display: block;
    padding-left: 2em
}

.form-checkbox span::before {
    position: absolute;
    top: 0.1em;
    left: 0;
    width: 1.5em;
    height: 1.5em;
    background: #fff;
    border: 4px solid #1abc9c;
    border-radius: 4px;
    content: ""
}

.form-checkbox span::after {
    position: absolute;
    top: 0.4em;
    left: 0.5em;
    width: 0.5em;
    height: 0.7em;
    border-right: 4px #1abc9c solid;
    border-bottom: 4px #1abc9c solid;
    transform: rotate(45deg);
    opacity: 0;
    content: ""
}

.form-checkbox span small {
    font-weight: normal;
    font-size: inherit
}

.form-checkbox input {
    display: none
}

.form-checkbox input:checked+span::after {
    opacity: 1
}

.form-input-wrap {
    position: relative
}

.form-group {
    font-size: 2.2rem
}

@media screen and (max-width: 896px) {
    .form-group {
        font-size: 4.5vw
    }
}

.form-group--inline .form-radio,
.form-group--inline .form-checkbox {
    display: inline-block;
    margin-right: 2em
}

.form-error {
    position: absolute;
    bottom: calc(100% + 6px);
    margin: 0;
    padding: 0 0.5em;
    color: #fff;
    font-size: 0.9em;
    line-height: 1.2;
    white-space: nowrap;
    background: #e74c3c;
    border: 2px #c0392b solid;
    border-radius: 4px;
    opacity: 0.85
}

@media screen and (max-width: 896px) {
    .form-error {
        font-size: 0.8em
    }
}

.form-error::before {
    position: absolute;
    top: 100%;
    left: 15px;
    width: 0;
    height: 0;
    border-color: #c0392b transparent transparent transparent;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    content: ""
}

.form-error::after {
    position: absolute;
    top: 100%;
    left: 18px;
    width: 0;
    height: 0;
    border-color: #e74c3c transparent transparent transparent;
    border-style: solid;
    border-width: 7px 7px 0 7px;
    content: ""
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    word-wrap: normal !important;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%)
}

.container {
    position: relative;
    max-width: 1030px;
    margin: 0 auto;
    padding: 0 15px
}

@media screen and (max-width: 896px) {
    .container {
        padding: 0 5vw
    }
}

.container--wide {
    max-width: 1090px
}

@media screen and (max-width: 896px) {
    .is-pc {
        display: none !important
    }
}

@media screen and (min-width: 897px) {
    .is-sp {
        display: none !important
    }
}

.container::after,
.container-front::after,
.clearfix::after {
    display: table;
    clear: both;
    content: ""
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px
}

@media screen and (max-width: 896px) {
    .header__inner {
        justify-content: center;
        height: 21vw
    }
}

.header .header-logo {
    margin: 0;
    font-size: 0
}

@media screen and (min-width: 1025px) {
    .header .header-logo__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .header .header-logo__link:hover {
        opacity: .7
    }

    .header .header-logo__link:hover img {
        opacity: 1
    }
}

.header .header-logo img {
    width: 320px
}

@media screen and (max-width: 896px) {
    .header .header-logo img {
        width: 62vw
    }
}

.header .header__ttl {
    font-size: 1.8rem
}

.header .header__enter img {
    max-width: 200px;
    width: 100%
}

.header .header-btn {
    display: flex;
    align-items: center;
    padding: 0.5em 1em;
    color: #333;
    font-weight: bold;
    font-size: 1.6rem;
    background: #fff;
    border: 1px solid;
    border-radius: 3px
}

@media screen and (min-width: 1025px) {
    .header .header-btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .header .header-btn:hover {
        opacity: .7
    }

    .header .header-btn:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .header .header-btn {
        font-size: 3vw
    }
}

.header .header-btn img {
    width: 17px;
    margin-right: 10px
}

@media screen and (max-width: 896px) {
    .header .header-btn img {
        width: 3vw;
        margin-right: 1vw
    }
}

@media screen and (min-width: 897px) {
    .header .header-banner {
        display: none
    }
}

@media screen and (max-width: 896px) {
    .header .header-banner {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
        width: 100%;
        visibility: hidden;
        opacity: 0;
        transition: opacity 0.5s, visibility 0.5s
    }

    .header .header-banner.is-scroll {
        visibility: visible;
        opacity: 1
    }
}

.header .header-banner img {
    width: 100%
}

.header .header-nav {
    background: #ffde35
}

.header .header-nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%
}

.header .header-nav__list {
    display: flex;
    align-items: streach;
    justify-content: center;
    margin: 0;
    padding: 6px 0;
    list-style: none
}

@media screen and (max-width: 896px) {
    .header .header-nav__list {
        margin: 0 -5vw;
        padding: 1vw 0
    }
}

.header .header-nav .menu-item {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    font-size: 1.4rem;
    text-align: center;
    border-right: 1px solid #7d4503
}

@media screen and (max-width: 896px) {
    .header .header-nav .menu-item {
        padding: 0 1.2vw;
        font-size: 4vw
    }
}

.header .header-nav .menu-item:first-child {
    border-left: 1px solid #7d4503
}

@media screen and (max-width: 896px) {
    .header .header-nav .menu-item:first-child {
        border-left: none
    }
}

@media screen and (max-width: 896px) {
    .header .header-nav .menu-item:last-child {
        border-right: none
    }
}

.header .header-nav .menu-item a {
    flex: 1;
    padding: 8px 0;
    color: #7d4503;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: background 0.5s
}

@media screen and (min-width: 1025px) {
    .header .header-nav .menu-item a:hover {
        background: #fff
    }
}

.header .header-nav .menu-item.menu-2line a {
    line-height: 1
}

.header .header-nav .menu-item.conversion a {
    color: #fff;
    background-color: #ff8900
}

@media screen and (min-width: 1025px) {
    .header .header-nav .menu-item.conversion a:hover {
        color: #7d4503;
        background: #fff
    }
}

.header--has-nav {
    background: #fff
}

.header--has-nav .header__inner {
    height: 75px
}

@media screen and (max-width: 896px) {
    .header--has-nav .header__inner {
        justify-content: space-between;
        height: 15vw
    }
}

.header--has-nav .header-logo img {
    width: 220px
}

@media screen and (max-width: 896px) {
    .header--has-nav .header-logo img {
        width: 42vw
    }
}

.footer {
    margin-top: auto;
    padding: 25px 0 40px;
    text-align: center
}

@media screen and (max-width: 896px) {
    .footer {
        padding: 5vw 0 3vw
    }
}

.footer-logo {
    margin-bottom: 25px
}

@media screen and (max-width: 896px) {
    .footer-logo {
        margin-bottom: 5vw
    }
}

@media screen and (min-width: 1025px) {
    .footer-logo__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .footer-logo__link:hover {
        opacity: .7
    }

    .footer-logo__link:hover img {
        opacity: 1
    }
}

.footer-logo__link img {
    width: 320px
}

@media screen and (max-width: 896px) {
    .footer-logo__link img {
        width: 62vw
    }
}

.footer-nav {
    margin-bottom: 25px
}

@media screen and (max-width: 896px) {
    .footer-nav {
        margin: 0 -5vw 3vw
    }
}

.footer-nav__list {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .footer-nav__list {
        flex-wrap: wrap;
        justify-content: space-between;
        font-size: 3vw;
        text-align: left;
        border-top: 1px solid #000
    }
}

.footer-nav__list .menu-item {
    margin: 0 1.5em 0.5em
}

@media screen and (max-width: 896px) {
    .footer-nav__list .menu-item {
        width: 50%;
        margin: 0;
        list-style: none;
        background: #fff;
        border-bottom: 1px solid #000
    }

    .footer-nav__list .menu-item:nth-child(odd) {
        border-right: 1px solid #000
    }
}

@media screen and (max-width: 896px) {
    .footer-nav__list .menu-item a {
        position: relative;
        display: flex;
        align-items: center;
        height: 100%;
        padding: 1em 25px 1em 1em
    }

    .footer-nav__list .menu-item a::after {
        position: absolute;
        top: 50%;
        right: 15px;
        width: 10px;
        height: 10px;
        margin-top: -5px;
        border-top: 1px solid #000;
        border-right: 1px solid #000;
        transform: rotate(45deg);
        content: ""
    }
}

.footer-nav__list a:hover {
    text-decoration: underline
}

.footer-credit {
    margin: 0;
    font-size: 1.2rem
}

@media screen and (max-width: 896px) {
    .footer-credit {
        font-size: 2.6vw
    }
}

.sidebar {
    width: 250px;
    margin-left: 30px
}

@media screen and (max-width: 896px) {
    .sidebar {
        width: 100%;
        margin: 10vw 0 0
    }

    body.page-template-company-list .sidebar {
        margin: 0 0 10vw
    }
}

.sidebar-inner {
    position: -webkit-sticky;
    position: sticky;
    top: 65px;
    z-index: 1;
    margin-bottom: 0;
    padding: 15px;
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 0 3px #ccc
}

.sidebar-widget:not(:last-child) {
    margin-bottom: 30px
}

@media screen and (max-width: 896px) {
    .sidebar-widget:not(:last-child) {
        margin-bottom: 10vw
    }
}

.sidebar-widget__ttl {
    margin: 0 0 1em;
    padding: 0.5em;
    font-size: 1.6rem;
    color: #7d4503;
    background: #ffde35
}

.sidebar-widget>img {
    width: 100%
}

.sidebar-widget .textwidget>*:first-child {
    margin-top: 0 !important
}

.sidebar-widget .textwidget>*:last-child {
    margin-bottom: 0 !important
}

.sidebar-widget .textwidget p {
    margin: 0 0 1em
}

.sidebar-widget>ul {
    padding: 0
}

.sidebar-widget>ul#category-posts-2-internal.category-posts-internal {
    margin-left: 0
}

.sidebar-widget>ul#category-posts-2-internal.category-posts-internal .cat-post-item {
    margin: 0;
    padding: 0.3em 0
}

.sidebar-widget>ul#category-posts-2-internal.category-posts-internal .cat-post-item>div {
    margin: 0
}

.sidebar-widget>ul#category-posts-2-internal.category-posts-internal .cat-post-item:not(:last-child) {
    border-bottom: 1px dashed #ccc
}

.sidebar-widget>ul#category-posts-2-internal.category-posts-internal .category-post__row {
    display: flex
}

.sidebar-widget>ul#category-posts-2-internal.category-posts-internal .category-post__row .cat-post-thumbnail {
    flex: 1
}

.sidebar-widget>ul#category-posts-2-internal.category-posts-internal .category-post__row .cat-post-title {
    flex: 2;
    font-size: 1.3rem
}

.sidebar-widget>ul li {
    font-size: 1.4rem
}

.sidebar-search {
    margin-bottom: 30px
}

.sidebar-search__result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px
}

.sidebar-search__result-ttl {
    margin: 0;
    font-size: 2rem
}

.sidebar-search__result-ttl span {
    margin-right: 0.2em;
    color: #ffde35;
    font-weight: bold;
    font-size: 1.3em
}

.sidebar-search__result-all {
    margin: 0;
    padding: 0.1em 1em;
    font-weight: bold;
    font-size: 1.3rem;
    line-height: 1.4;
    text-align: center;
    border: 1px solid #ffde35;
    border-radius: 8px
}

.sidebar-search__result-all span {
    font-size: 1.2em
}

.sidebar-search__form {
    padding: 30px 15px 15px
}

@media screen and (max-width: 896px) {
    .sidebar-search__form {
        display: none
    }
}

.sidebar-search__inner {
    border: 1px solid #ccc;
    border-radius: 4px
}

.sidebar-search__ttl {
    margin: 0;
    padding: 0.2em 0;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    background: #ffde35
}

@media screen and (min-width: 897px) {
    .sidebar-search__ttl {
        pointer-events: none
    }
}

.sidebar-search__btn {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 0.3em 0;
    color: #616774;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    background: #fafafa;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1)
}

@media screen and (min-width: 1025px) {
    .sidebar-search__btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .sidebar-search__btn:hover {
        opacity: .7
    }

    .sidebar-search__btn:hover img {
        opacity: 1
    }
}

.sidebar-search__pref-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 10px;
    padding: 0.3em 1.5em 0.3em 1em;
    color: #616774;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    background: #fafafa;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1)
}

@media screen and (min-width: 1025px) {
    .sidebar-search__pref-btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .sidebar-search__pref-btn:hover {
        opacity: .7
    }

    .sidebar-search__pref-btn:hover img {
        opacity: 1
    }
}

.sidebar-search__pref-btn::after {
    position: absolute;
    top: 0.7em;
    right: 0.5em;
    width: 0.6em;
    height: 0.6em;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    transform: rotate(45deg);
    content: ""
}

.sidebar-search__pref-btn.is-open::after {
    top: 1em;
    transform: rotate(-135deg)
}

.sidebar-search__pref-btn span {
    font-weight: normal;
    font-size: 0.8em
}

.sidebar-search__subttl {
    margin: 1em 0 0.5em;
    font-size: 1.4rem
}

.sidebar-search__city {
    display: none
}

.sidebar-search__city-list,
.sidebar-search__category,
.sidebar-search__amount {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    font-size: 1.3rem;
    list-style: none
}

.sidebar-search__city-item,
.sidebar-search__category-item,
.sidebar-search__amount-item {
    min-width: 50%;
    margin-bottom: 0.5em;
    cursor: pointer
}

.sidebar-search__category-item {
    width: 100%
}

.sidebar-search__amount-item {
    width: 100%
}

.sidebar-search__city-link,
.sidebar-search__category-link,
.sidebar-search__amount-link {
    color: #0089fc;
    font-weight: bold;
    font-size: 1.3rem
}

@media screen and (min-width: 1025px) {

    .sidebar-search__city-link,
    .sidebar-search__category-link,
    .sidebar-search__amount-link {
        cursor: pointer;
        transition: .2s opacity
    }

    .sidebar-search__city-link:hover,
    .sidebar-search__category-link:hover,
    .sidebar-search__amount-link:hover {
        opacity: .7
    }

    .sidebar-search__city-link:hover img,
    .sidebar-search__category-link:hover img,
    .sidebar-search__amount-link:hover img {
        opacity: 1
    }
}

.sidebar-search__submit {
    display: block;
    width: 80%;
    margin: 20px auto 0;
    padding: 0.3em 0;
    color: #616774;
    font-size: 1.4rem;
    background: transparent;
    border: 1px solid #616774;
    border-radius: 100px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
    appearance: none
}

@media screen and (min-width: 1025px) {
    .sidebar-search__submit {
        cursor: pointer;
        transition: .2s opacity
    }

    .sidebar-search__submit:hover {
        opacity: .7
    }

    .sidebar-search__submit:hover img {
        opacity: 1
    }
}

.sidebar-banner {
    display: block;
    margin-top: 30px
}

@media screen and (min-width: 1025px) {
    .sidebar-banner {
        cursor: pointer;
        transition: .2s opacity
    }

    .sidebar-banner:hover {
        opacity: .7
    }

    .sidebar-banner:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .sidebar-banner {
        display: none
    }
}

.sidebar-thumb-item {
    list-style: none
}

.sidebar-thumb-item:not(:last-child) {
    border-bottom: 1px dashed #ccc
}

.sidebar-thumb-item__link {
    display: flex;
    padding: 10px 0
}

@media screen and (min-width: 1025px) {
    .sidebar-thumb-item__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .sidebar-thumb-item__link:hover {
        opacity: .7
    }

    .sidebar-thumb-item__link:hover img {
        opacity: 1
    }
}

.sidebar-thumb-item__img {
    width: 30%
}

.sidebar-thumb-item__text {
    position: relative;
    width: 68%;
    margin-left: 2%;
    font-size: 1.4rem
}

.sidebar-thumb-item__views {
    position: absolute;
    right: 0;
    bottom: 0;
    color: #666;
    font-size: 1.2rem
}

.contents {
    padding-bottom: 60px
}

.contents.fixed {
    padding-top: 50px
}

@media screen and (max-width: 896px) {
    .contents {
        padding-bottom: 10vw
    }
}

.main {
    flex: 1;
    margin: 0 auto
}

body.single .main {
    padding: 20px 40px;
    background: #fff;
    border: 1px solid #ffde35;
    border-radius: 20px
}

@media screen and (max-width: 896px) {
    body.single .main {
        padding: 5vw
    }
}

body.page-template-company-detail .main {
    max-width: 800px
}

.contents-inner {
    display: flex
}

@media screen and (max-width: 896px) {
    .contents-inner {
        flex-flow: column
    }

    body.page-template-company-list .contents-inner {
        flex-flow: column-reverse
    }
}

.breadcrumb {
    margin: 0 auto;
    padding: 1.5em 0;
    color: #616774;
    font-size: 1.2rem
}

body.page-template-company-detail .breadcrumb {
    max-width: 800px
}

@media screen and (max-width: 896px) {
    .breadcrumb {
        font-size: 3.5vw
    }
}

.breadcrumb a {
    color: inherit;
    font-weight: bold;
    text-decoration: underline
}

@media screen and (min-width: 1025px) {
    .breadcrumb a {
        cursor: pointer;
        transition: .2s opacity
    }

    .breadcrumb a:hover {
        opacity: .7
    }

    .breadcrumb a:hover img {
        opacity: 1
    }
}

.page-ttl {
    margin: 0 0 2em;
    padding-top: 2em;
    font-size: 2.6rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .page-ttl {
        font-size: 6vw
    }
}

.popup {
    position: fixed;
    right: 3vw;
    bottom: 3vh;
    z-index: 9;
    display: none;
    max-width: 320px
}

@media screen and (max-width: 896px) {
    .popup {
        position: fixed;
        z-index: 10;
        right: 0;
        bottom: 0;
        display: none;
        max-width: 100%
    }
}

.popup__close {
    position: absolute;
    top: -20px;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    cursor: pointer
}

.nav-links {
    display: flex;
    justify-content: center;
    margin: 1em 0;
    padding: 0;
    list-style: none
}

.nav-links .page-numbers {
    padding: 0.5em 1em;
    font-size: 1.6rem;
    background: #fff
}

.nav-links .page-numbers:not(:last-child) {
    margin-right: 1em
}

.nav-links .page-numbers.current {
    background: #ffde35
}

.nav-links .page-numbers:hover {
    background: #ffde35
}

@media screen and (max-width: 896px) {
    .nav-links .page-numbers {
        font-size: 3.2vw
    }
}

/*
.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -99;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: all 0.3s linear
}

.modal.is-active {
    z-index: 99;
    opacity: 1
}

.modal__cnt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    max-width: 500px;
    transform: translate(-50%, -50%);
    overflow-y: scroll
}

@media screen and (max-width: 896px) {
    .modal__cnt {
        width: 90%
    }
}

.modal__title {
    margin: 0 0 0.5em;
    padding: 0 0 0.4em;
    color: #265d10;
    font-weight: bold;
    font-size: 2rem;
    border-bottom: 1px solid #265d10
}

@media screen and (max-width: 896px) {
    .modal__title {
        font-size: 4.8vw
    }
}

.modal__close {
    position: absolute;
    top: -15px;
    right: 0;
    padding: 0.5em;
    color: #fff;
    line-height: 1;
    background: #ccc;
    border-radius: 100px;
    cursor: pointer
}

.modal__pic {
    cursor: pointer
}

.modal__row {
    display: flex
}

.modal-add {
    padding: 30px;
    background: #fff;
    border-radius: 10px
}

.modal-add__sentence {
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.modal-add__talker {
    width: 15%
}

@media screen and (max-width: 896px) {
    .modal-add__talker {
        width: 20%
    }
}

.modal-add__talker-txt {
    position: relative;
    width: 80%;
    padding: 0.5em 1em;
    font-size: 1.5rem;
    background: #eee;
    border-radius: 10px
}

.modal-add__talker-txt::after {
    position: absolute;
    top: 15px;
    left: -10px;
    border-top: 10px solid #eee;
    border-right: 10px solid #eee;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    transform: skew(30deg);
    content: ""
}

@media screen and (max-width: 896px) {
    .modal-add__talker-txt {
        width: 72%;
        margin-top: 0;
        font-size: 3.733vw
    }
}

.modal-add__txt {
    margin: 0 0 0.5em;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .modal-add__txt {
        font-size: 3.733vw
    }
}

.modal-add__ankert {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ccc
}

.modal-add__label {
    display: block;
    width: 50%;
    padding: 0.5em 0;
    font-size: 1.4rem;
    border-bottom: 1px solid #ccc
}

.modal-add__label:nth-child(even) {
    border-right: 1px solid #ccc
}

.modal-add__label:last-child {
    border-bottom: 0
}

@media screen and (max-width: 896px) {
    .modal-add__label {
        width: 100%;
        padding: 0.3em 0;
        font-size: 3.733vw
    }

    .modal-add__label:nth-child(even) {
        border-right: 0
    }

    .modal-add__label:nth-last-child(2) {
        border-bottom: 1px solid #ccc
    }
}

.modal-add__error {
    display: none;
    margin-bottom: 5px;
    color: #c0392b;
    font-weight: bold;
    font-size: 1.2rem
}

.modal-add__btn-add {
    width: 50%;
    margin-top: 1em;
    padding: 0.5em 0;
    color: #265d10;
    border: 1px solid #265d10;
    border-radius: 100px;
    cursor: pointer
}

@media screen and (min-width: 1025px) {
    .modal-add__btn-add {
        cursor: pointer;
        transition: .2s opacity
    }

    .modal-add__btn-add:hover {
        opacity: .7
    }

    .modal-add__btn-add:hover img {
        opacity: 1
    }
}

.modal-add__btn-stop {
    width: 49%;
    margin-top: 1em;
    margin-left: 1%;
    padding: 0.5em 0;
    color: #ddd;
    border: 1px solid #ccc;
    border-radius: 100px;
    cursor: pointer
}

@media screen and (min-width: 1025px) {
    .modal-add__btn-stop {
        cursor: pointer;
        transition: .2s opacity
    }

    .modal-add__btn-stop:hover {
        opacity: .7
    }

    .modal-add__btn-stop:hover img {
        opacity: 1
    }
}

.modal-add__att {
    font-size: 85%;
    color: #c0392b
}

.modal-ankert {
    padding: 30px;
    background: #fff;
    border-radius: 10px;
    display: none
}

.modal-ankert__sentence {
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.modal-ankert__talker {
    width: 15%
}

@media screen and (max-width: 896px) {
    .modal-ankert__talker {
        width: 20%
    }
}

.modal-ankert__talker-txt {
    position: relative;
    width: 80%;
    padding: 0.5em 1em;
    font-size: 1.5rem;
    background: #eee;
    border-radius: 10px
}

.modal-ankert__talker-txt::after {
    position: absolute;
    top: 15px;
    left: -10px;
    border-top: 10px solid #eee;
    border-right: 10px solid #eee;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    transform: skew(30deg);
    content: ""
}

@media screen and (max-width: 896px) {
    .modal-ankert__talker-txt {
        width: 72%;
        margin-top: 0;
        font-size: 3.733vw
    }
}

.modal-ankert__txt {
    margin: 0 0 0.5em;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .modal-ankert__txt {
        font-size: 3.733vw
    }
}

.modal-ankert__ankert {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ccc
}

.modal-ankert__label {
    display: block;
    width: 50%;
    padding: 0.5em 0;
    font-size: 1.4rem;
    border-bottom: 1px solid #ccc
}

.modal-ankert__label:nth-child(even) {
    border-right: 1px solid #ccc
}

.modal-ankert__label:last-child {
    border-bottom: 0
}

@media screen and (max-width: 896px) {
    .modal-ankert__label {
        width: 100%;
        padding: 0.3em 0;
        font-size: 3.733vw
    }

    .modal-ankert__label:nth-child(even) {
        border-right: 0
    }

    .modal-ankert__label:nth-last-child(2) {
        border-bottom: 1px solid #ccc
    }
}

.modal-ankert__board {
    margin: 0;
    line-height: 30px;
    height: 30px;
    font-size: 1.3rem
}

@media screen and (max-width: 896px) {
    .modal-ankert__board {
        font-size: 3.2vw
    }
}

.modal-ankert__submit {
    width: 100%;
    padding: 0.5em 0;
    color: #265d10;
    border: 1px solid #265d10;
    border-radius: 100px;
    cursor: pointer
}

@media screen and (min-width: 1025px) {
    .modal-ankert__submit {
        cursor: pointer;
        transition: .2s opacity
    }

    .modal-ankert__submit:hover {
        opacity: .7
    }

    .modal-ankert__submit:hover img {
        opacity: 1
    }
}

.modal-ankert__error {
    display: none;
    margin-bottom: 5px;
    color: #c0392b;
    font-weight: bold;
    font-size: 1.2rem
}*/

.entry-content>:first-child {
    margin-top: 0 !important
}

.entry-content>:last-child {
    margin-bottom: 0 !important
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.4
}

.entry-content h1 {
    font-size: 3rem
}

@media screen and (max-width: 896px) {
    .entry-content h1 {
        font-size: 5.4vw
    }
}

.entry-content h2 {
    font-size: 2.5rem
}

.entry-content h2:not(.is-style-none) {
    padding: 0.6em 0;
    border-top: 2px solid #ffde35;
    border-bottom: 2px solid #ffde35
}

@media screen and (max-width: 896px) {
    .entry-content h2 {
        font-size: 4.8vw
    }
}

.entry-content h3 {
    font-size: 2.4rem
}

.entry-content h3:not(.is-style-none) {
    padding: 0.1em 0 0.1em 0.5em;
    border-left: 0.3em solid #ffde35
}

@media screen and (max-width: 896px) {
    .entry-content h3 {
        font-size: 4.3vw
    }
}

.entry-content h4 {
    font-size: 2rem
}

.entry-content h4:not(.is-style-none) {
    padding-bottom: 0.5em;
    border-bottom: 1px solid #616774
}

@media screen and (max-width: 896px) {
    .entry-content h4 {
        font-size: 4.3vw
    }
}

.entry-content h5,
.entry-content h6 {
    font-size: 1.6rem
}

@media screen and (max-width: 896px) {

    .entry-content h5,
    .entry-content h6 {
        font-size: 3.7vw
    }
}

.entry-content p {
    margin: 0 0 1em
}

.entry-content a {
    color: #4abfd7;
    text-decoration: underline
}

@media screen and (min-width: 1025px) {
    .entry-content a:hover {
        text-decoration: none
    }
}

.entry-content ul,
.entry-content ul ul {
    list-style: disc outside
}

.entry-content ol,
.entry-content ol ol {
    list-style: decimal outside
}

.entry-content ul,
.entry-content ol {
    margin: 0 0 2em;
    padding-left: 1.5em
}

.entry-content ul li:not(:last-child),
.entry-content ol li:not(:last-child) {
    margin-bottom: 0.3em
}

.entry-content ul li ul,
.entry-content ul li ol,
.entry-content ol li ul,
.entry-content ol li ol {
    margin-left: 0
}

.entry-content .has-sm-font-size {
    font-size: 0.8125em
}

.entry-content .has-md-font-size {
    font-size: 1.25em
}

.entry-content .has-lg-font-size {
    font-size: 1.5em
}

.entry-content .has-theme-color {
    color: #ffde35 !important
}

.entry-content .has-link-color {
    color: #4abfd7 !important
}

.entry-content .has-orange-color {
    color: #f56f00 !important
}

.entry-content .has-white-color {
    color: #fff !important
}

.entry-content .has-black-color {
    color: #000 !important
}

.entry-content .has-theme-background-color {
    background-color: #ffde35 !important
}

.entry-content .has-link-background-color {
    background-color: #4abfd7 !important
}

.entry-content .has-orange-background-color {
    background-color: #f56f00 !important
}

.entry-content .has-white-background-color {
    background-color: #fff !important
}

.entry-content .has-black-background-color {
    background-color: #000 !important
}

.wp-block-buttons {
    margin-bottom: 2em
}

.wp-block-buttons .wp-block-button__link {
    position: relative;
    padding: 0.6em 2.5em 0.6em 1em;
    color: #fff;
    font-weight: bold;
    font-size: 2.4rem;
    text-decoration: none;
    background: url("../../assets/img/common/btn_arrow.svg") no-repeat right 1em center/1em #f56f00;
    border: 2px solid;
    box-shadow: 0 4px #000
}

.wp-block-buttons .wp-block-button__link:hover {
    top: 2px;
    box-shadow: 0 2px #000
}

@media screen and (max-width: 896px) {
    .wp-block-buttons .wp-block-button__link {
        font-size: 5.2vw;
        border-width: 2px
    }
}

.wp-block-group {
    margin-bottom: 32px
}

.wp-block-group>.wp-block-group__inner-container>* {
    color: #000
}

.wp-block-group>.wp-block-group__inner-container>*:first-child {
    margin-top: 0
}

.wp-block-group>.wp-block-group__inner-container>*:last-child {
    margin-bottom: 0
}

.wp-block-group.has-background {
    padding: 2em
}

@media screen and (max-width: 896px) {
    .wp-block-group.has-background {
        padding: 1.5em
    }
}

.wp-block-group.is-style-slim {
    max-width: 600px;
    margin-right: auto;
    margin-left: auto
}

.wp-block-spacer {
    margin-bottom: 0 !important
}

.wp-block-table {
    margin-bottom: 2em
}

.wp-block-table th,
.wp-block-table td {
    padding: 0.5em;
    border: 1px solid #000
}

.wp-block-table th {
    background: #f8efbf
}

.cv-form {
    padding: 70px 0 130px;
    background: #0c744c;
}

@media screen and (max-width: 896px) {
    .cv-form {
        padding: 10vw 0 10vw
    }
}

.cv-form__ttl {
    margin: 0 0 1.9em;
    font-size: 4.2rem;
    font-weight: bold;
    text-align: center;
    color: white;
}

@media screen and (max-width: 896px) {
    .cv-form__ttl {
        font-size: 5.4vw
    }
}

.cv-form__ttl span {
    position: relative;
    display: inline-block;
    margin-bottom: 0.3em;
    padding: 0 0.8em;
    font-size: 1.1em
}

.cv-form__ttl span::before,
.cv-form__ttl span::after {
    position: absolute;
    top: 50%;
    width: 0.15em;
    height: 1em;
    background: white;
    border-radius: 10px;
    content: ""
}

.cv-form__ttl span::before {
    left: 0;
    transform: translateY(-50%) rotate(-30deg)
}

.cv-form__ttl span::after {
    right: 0;
    transform: translateY(-50%) rotate(30deg)
}

.cv-form__ttl em {
    display: inline-block;
    width: 4.5em;
    margin-right: 0.3em;
    color: #fff;
    font-size: 1.15em;
    font-style: normal;
    line-height: 1.5;
    background: #f56f00;
}

.cv-form__cnt {
    margin: 0 0 65px;
    background: #f0f6da;
    border-top: 4px solid #000;
    border-bottom: 4px solid #000
}

@media screen and (max-width: 896px) {
    .cv-form__cnt {
        margin: 0 -5vw 10vw
    }
}

.cv-form__row {
    display: flex;
    width: 100%;
    overflow: visible !important;
}

@media screen and (max-width: 896px) {
    .cv-form__row {
        display: block
    }
}

.cv-form__row:not(:last-child) {
    border-bottom: 1px solid #000
}

@media screen and (max-width: 896px) {
    .cv-form__row:not(:last-child) {
        border-bottom-width: 4px
    }
}

.cv-form__row-ttl {
    position: relative;
    width: 320px;
    padding: 25px 90px 25px 30px;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.3;
    background: #fff;
    border-right: 1px solid #000
}

@media screen and (max-width: 896px) {
    .cv-form__row-ttl {
        display: block;
        width: 100%;
        padding: 0.4em 0;
        font-size: 4.8vw;
        text-align: center;
        border-right: none;
        border-bottom: 1px solid #000
    }
}

.cv-form__row-ttl .required,
.cv-form__row-ttl .any {
    position: absolute;
    top: 25px;
    right: 25px;
    padding: 0 0.4em;
    color: #fff;
    font-weight: normal;
    font-size: 0.9em;
    line-height: 1.4;
    border-radius: 100px
}

@media screen and (max-width: 896px) {

    .cv-form__row-ttl .required,
    .cv-form__row-ttl .any {
        position: absolute;
        top: 50%;
        right: 4vw;
        transform: translateY(-50%)
    }
}

.cv-form__row-ttl .required {
    background: #f56f00
}

.cv-form__row-ttl .any {
    background: #666
}

.cv-form__row-cnt {
    position: relative;
    flex: 1;
    align-self: center;
    margin: 0;
    padding: 25px 40px 25px 30px
}

@media screen and (max-width: 896px) {
    .cv-form__row-cnt {
        display: block;
        padding: 4vw
    }
}

@media screen and (max-width: 896px) {
    .lense_disabled {
        display: none;
    }
}

.lense_disabled {
    display: none;
}

@media screen and (max-width: 896px) {
    .other_item_disabled {
        display: none !important;
    }
}

.other_item_disabled {
    display: none !important;
}

@media screen and (max-width: 896px) {
    .other_item_disabled {
        display: none !important;
    }
}

.other_item_disabled {
    display: none !important;
}

.cv-form__caption {
    margin: 0 0 1em;
    font-size: 2.2rem
}

@media screen and (max-width: 896px) {
    .cv-form__caption {
        font-size: 4.4vw
    }
}

.cv-form__caption--has-icon-lock,
.cv-form__caption--has-icon-hand {
    margin: 1em 0 0;
    padding-left: 1.5em;
    font-size: 2rem
}

@media screen and (max-width: 896px) {

    .cv-form__caption--has-icon-lock,
    .cv-form__caption--has-icon-hand {
        font-size: 4.2vw
    }
}

.cv-form__caption--has-icon-lock {
    background: url("../../assets/img/top/form_icon_lock.svg") no-repeat left top 0.1em/1em
}

.cv-form__caption--has-icon-hand {
    background: url("../../assets/img/top/form_icon_hand.svg") no-repeat left top 0.2em/1.3em
}

.row_item_checkbox_wrapper {
    margin: 30px 0 0 0;
    display: flex;
    align-items: center;
    gap: 0 15px;
    font-weight: bold;
}

@media screen and (max-width: 896px) {
    .row_item_checkbox_wrapper {
        margin: 30px 0 0 0;
        display: flex;
        align-items: center;
        gap: 0 15px;
        font-weight: bold;
    }
}

.row_item_checkbox {
    font-size: 18px;
    display: block;
    height: fit-content;
}

@media screen and (max-width: 896px) {
    .row_item_checkbox {
        font-size: 18px;
        display: block;
        height: fit-content;
    }
}

.row_item_checkbox:hover {
    cursor: pointer;
}

@media screen and (max-width: 896px) {
    .row_item_checkbox:hover {
        cursor: pointer;
    }
}

.row_item_checkbox input {
    display: none;
}

@media screen and (max-width: 896px) {
    .row_item_checkbox input {
        display: none;
    }
}

.row_item_checkbox .dummy_checkbox {
    width: 25px;
    height: 25px;
    border: 3px solid #1abc9c;
    border-radius: 15%;
    background-color: white;
    display: inline-flex;
    vertical-align: text-top;
    position: relative;
}

@media screen and (max-width: 896px) {
    .row_item_checkbox .dummy_checkbox {
        width: 25px;
        height: 25px;
        border: 3px solid #1abc9c;
        border-radius: 15%;
        background-color: white;
        display: inline-flex;
        vertical-align: text-top;
        position: relative;
    }
}

.row_item_checkbox input:checked+.dummy_checkbox:after {
    content: '';
    width: 80%;
    height: 50%;
    border-left: 4px solid #1abc9c;
    border-bottom: 4px solid #1abc9c;
    transform: rotate(-45deg);
    position: absolute;
    top: 3px;
    left: 2px;
}

@media screen and (max-width: 896px) {
    .row_item_checkbox input:checked+.dummy_checkbox:after {
        content: '';
        width: 80%;
        height: 50%;
        border-left: 4px solid #1abc9c;
        border-bottom: 4px solid #1abc9c;
        transform: rotate(-45deg);
        position: absolute;
        top: 3px;
        left: 2px;
    }
}

.cv-form-cat .form-radio {
    display: inline-block;
    width: 9.5em
}

.cv-form-cat .form-radio:nth-last-child(2) {
    margin-bottom: 0
}

.cv-form-amount-other {
    position: relative;
    margin-top: 20px
}

.cv-form-amount-other input {
    font-size: 2rem
}

.cv-form-visit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between
}

.cv-form-visit:last-child {
    margin-top: 20px
}

.cv-form-visit__ttl {
    width: 115px;
    font-weight: bold;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .cv-form-visit__ttl {
        width: 100%;
        font-size: 4.8vw
    }
}

.cv-form-visit__day {
    position: relative;
    width: 240px
}

@media screen and (max-width: 896px) {
    .cv-form-visit__day {
        width: 48%
    }
}

.cv-form-visit__time {
    position: relative;
    width: calc(100% - 370px);
    margin-left: auto
}

.cv-form-visit__time select {
    font-size: 1.8rem
}

@media screen and (max-width: 896px) {
    .cv-form-visit__time select {
        font-size: 3.2vw
    }
}

@media screen and (max-width: 896px) {
    .cv-form-visit__time {
        width: 48%
    }
}

.cv-form-visit .form-checkbox {
    margin: 15px 0 14px 115px;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .cv-form-visit .form-checkbox {
        margin: 1em 0;
        font-size: 4.5vw
    }
}

.cv-form-address {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between
}

.cv-form-address:not(:first-child) {
    margin-top: 20px
}

.cv-form-address__ttl {
    width: 150px;
    font-weight: bold;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .cv-form-address__ttl {
        width: 100%;
        font-size: 4.8vw
    }
}

.cv-form-address__mark {
    width: 30px;
    margin-left: -30px;
    font-weight: bold;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .cv-form-address__mark {
        position: relative;
        z-index: 1;
        width: 8vw;
        margin: 0;
        font-size: 4.8vw;
        text-align: center
    }
}

.cv-form-address__zip {
    position: relative;
    width: 220px;
    margin-right: auto
}

@media screen and (max-width: 1024px) {
    .cv-form-address__zip {
        width: calc(100% - 150px);
        margin-right: 0
    }
}

@media screen and (max-width: 896px) {
    .cv-form-address__zip {
        width: 48%;
        margin: 0 auto 0 -8vw
    }

    .cv-form-address__zip input {
        padding-left: 6vw
    }
}

.cv-form-address__address-list {
    position: absolute;
    top: 100%;
    z-index: 1;
    display: none;
    min-width: 100%;
    margin: 3px 0 0;
    padding: 0;
    white-space: nowrap;
    list-style: none;
    background: #fff;
    border: 1px solid #4abfd7
}

.cv-form-address__address-list li {
    padding: 0.5em;
    cursor: pointer
}

.cv-form-address__address-list li:not(:last-child) {
    border-bottom: 1px solid #4abfd7
}

.cv-form-address__address-list li:hover {
    background: #e4f5f9
}

.cv-form-address__label {
    display: none;
    width: 100%;
    margin: 20px 0 0 150px;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .cv-form-address__label {
        margin: 1em 0 0 0;
        font-size: 4.5vw
    }
}

.cv-form-address__find,
.cv-form-address__back {
    font-size: 1.8rem;
    text-decoration: underline
}

@media screen and (max-width: 896px) {

    .cv-form-address__find,
    .cv-form-address__back {
        font-size: 3.6vw
    }
}

@media screen and (max-width: 1024px) {
    .cv-form-address__find {
        margin: 1em 0 0 150px
    }
}

@media screen and (max-width: 896px) {
    .cv-form-address__find {
        margin: 0
    }
}

.cv-form-address__back {
    display: none;
    margin: 1.15em 3em 0 auto
}

@media screen and (max-width: 1024px) {
    .cv-form-address__back {
        margin: 4.9em auto 1em 150px
    }
}

@media screen and (max-width: 896px) {
    .cv-form-address__back {
        margin: 2.95em 3em 0 auto
    }
}

.cv-form-address__cnt {
    position: relative;
    flex: 1
}

@media screen and (max-width: 896px) {
    .cv-form-address__cnt {
        flex: auto
    }
}

.cv-form-username {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px
}

.cv-form-username__ttl {
    width: 115px;
    font-weight: bold;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .cv-form-username__ttl {
        width: 100%;
        font-size: 4.8vw
    }
}

.cv-form-username__sei {
    position: relative;
    flex: 1;
    margin-right: 10px
}

@media screen and (max-width: 896px) {
    .cv-form-username__sei {
        flex: none;
        width: 48%;
        margin: 0
    }
}

.cv-form-username__mei {
    position: relative;
    flex: 1;
    margin-left: 10px
}

@media screen and (max-width: 896px) {
    .cv-form-username__mei {
        flex: none;
        width: 48%;
        margin: 0
    }
}

.cv-form-username__company {
    position: relative;
    flex: 1
}

.cv-form-test {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 1;
    width: calc(100% - 20px);
    max-width: 500px;
    overflow: hidden;
    background: #fff;
    border: 2px solid #c0392b;
    border-radius: 10px
}

.cv-form-test__ttl {
    margin: 0;
    padding: 0.3em;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    background: #c0392b
}

.cv-form-test__body {
    padding: 1em
}

.cv-form-test__company {
    margin: 0 0 0.5em;
    line-height: 1.3;
    text-align: center
}

.cv-form-test__company em {
    font-weight: bold;
    font-size: 1.2em;
    font-style: normal
}

.cv-form-test__list {
    margin: 0
}

.cv-form-test__list-ttl {
    margin: 0 0 0.5em;
    color: #c0392b;
    font-weight: bold;
    text-align: center;
    border-bottom: 2px solid #c0392b
}

.cv-form-test__list-item {
    display: list-item;
    margin: 0 0 0 1.5em;
    list-style: disc outside
}

.cv-form-articles {
    padding-bottom: 85px;
    background: #e4f5f9
}

@media screen and (max-width: 896px) {
    .cv-form-articles {
        padding-bottom: 12vw
    }
}

.cv-form-articles__ttl {
    position: relative;
    top: -2em;
    margin: 0 0 1.3em;
    padding: 0.8em 0.5em;
    font-size: 2.3rem;
    text-align: center;
    background: #fff;
    border: 4px solid
}

@media screen and (max-width: 896px) {
    .cv-form-articles__ttl {
        margin-bottom: 0;
        font-size: 3.4vw
    }
}

.cv-form-articles__ttl::after {
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -20px;
    border-color: #000 transparent transparent transparent;
    border-style: solid;
    border-width: 20px 20px 0 20px;
    content: ""
}

.cv-form-articles__list {
    margin: 0
}

@media screen and (max-width: 896px) {
    .cv-form-articles__list {
        margin: 0 -5vw
    }
}

.cv-form-articles__list:not(:last-child) {
    margin-bottom: 20px
}

@media screen and (max-width: 896px) {
    .cv-form-articles__list:not(:last-child) {
        margin-bottom: 0
    }
}

.cv-form-articles__cat {
    width: 100%;
    color: #fff;
    font-weight: bold;
    font-size: 2.4rem;
    background: #4abfd7
}

@media screen and (max-width: 896px) {
    .cv-form-articles__cat {
        position: relative;
        font-size: 3.6vw;
        border-bottom: 1px solid #fff
    }

    .cv-form-articles__cat::after {
        position: absolute;
        top: 50%;
        right: 5vw;
        width: 8vw;
        height: 8vw;
        margin-top: -4vw;
        background: #fff;
        border-radius: 50%;
        content: ""
    }
}

.cv-form-articles__cat-toggle {
    position: relative;
    z-index: 1;
    display: block;
    padding: 0 0.5em;
    color: #fff;
    pointer-events: none
}

@media screen and (max-width: 896px) {
    .cv-form-articles__cat-toggle {
        padding: 1em 1em;
        pointer-events: all
    }

    .cv-form-articles__cat-toggle::before {
        position: absolute;
        top: 50%;
        right: 7vw;
        width: 4vw;
        height: 0.5vw;
        margin-top: -0.25vw;
        background: #4abfd7;
        content: ""
    }

    .cv-form-articles__cat-toggle::after {
        position: absolute;
        top: 50%;
        right: 8.75vw;
        width: 0.5vw;
        height: 4vw;
        margin-top: -2vw;
        background: #4abfd7;
        content: ""
    }

    .cv-form-articles__cat-toggle.is-open::after {
        opacity: 0
    }
}

.cv-form-articles__items {
    display: flex;
    flex-wrap: wrap
}

@media screen and (max-width: 896px) {
    .cv-form-articles__items {
        display: none
    }
}

.cv-form-articles__item {
    display: flex;
    align-items: center;
    width: 33.3%;
    margin: 0;
    padding: 8px 0;
    background: #fff;
    border-bottom: 1px solid #4abfd7
}

@media screen and (max-width: 896px) {
    .cv-form-articles__item {
        width: 100%;
        padding: 0.6em 5vw
    }
}

.cv-form-articles__item:not(:nth-of-type(3n)) {
    border-right: 1px solid #4abfd7
}

.cv-form-articles__item-icon {
    width: 85px;
    text-align: center
}

@media screen and (max-width: 896px) {
    .cv-form-articles__item-icon {
        width: 15vw;
        margin-right: 2vw
    }
}

.cv-form-articles__item-ttl {
    flex: 1;
    font-size: 1.4rem;
    line-height: 1.3
}

@media screen and (max-width: 896px) {
    .cv-form-articles__item-ttl {
        padding-right: 2vw;
        font-size: 3vw
    }
}

.cv-form-articles__item-num {
    display: flex;
    align-items: center;
    width: 125px;
    padding-right: 10px
}

@media screen and (max-width: 896px) {
    .cv-form-articles__item-num {
        width: 34vw;
        padding-right: 0
    }
}

.cv-form-articles__item-num input {
    flex: 1;
    min-width: 0;
    height: 30px;
    margin: 0 7px;
    padding: 0;
    text-align: center;
    border: 1px solid #4c4c4c;
    border-radius: 4px;
    appearance: none
}

@media screen and (max-width: 896px) {
    .cv-form-articles__item-num input {
        height: 9vw;
        margin: 0 1.5vw;
        border-width: 2px
    }
}

.cv-form-articles__item-btn {
    position: relative;
    top: -1px;
    width: 30px;
    height: 30px;
    font-size: 0;
    background: #dbf2f7;
    border: 1px solid #4abfd7;
    border-radius: 4px;
    box-shadow: 0 3px #4abfd7;
    cursor: pointer
}

@media screen and (max-width: 896px) {
    .cv-form-articles__item-btn {
        width: 8vw;
        height: 8vw;
        border-width: 2px
    }
}

.cv-form-articles__item-btn:active {
    top: 2px;
    box-shadow: 0 1px #4abfd7
}

.cv-form-articles__item-btn::before {
    position: absolute;
    top: 43%;
    left: 25%;
    width: 50%;
    height: 14%;
    background: #4abfd7;
    content: ""
}

.cv-form-articles__item-btn--plus::after {
    position: absolute;
    top: 25%;
    left: 43%;
    width: 14%;
    height: 50%;
    background: #4abfd7;
    content: ""
}

.cv-form-articles__box {
    margin-top: 10vw
}

.cv-form-articles__btn {
    margin-top: 65px
}

@media screen and (max-width: 896px) {
    .cv-form-articles__btn {
        margin-top: 8vw
    }
}

@media screen and (max-width: 896px) {
    .cv-form-articles__memo {
        margin: 0 -5vw
    }
}

.cv-form-articles__memo-ttl {
    width: 100%;
    color: #fff;
    font-weight: bold;
    font-size: 2.4rem;
    background: #4abfd7
}

@media screen and (max-width: 896px) {
    .cv-form-articles__memo-ttl {
        position: relative;
        font-size: 3.6vw;
        border-bottom: 1px solid #fff
    }
}

.cv-form-articles__memo-body {
    padding: 0.5em;
    background: #fff
}

.cv-form-articles__memo-body textarea {
    vertical-align: middle
}

.category-posts__list {
    padding: 0;
    list-style: none
}

.category-posts__item {
    padding: 0.3em 0
}

.category-posts__item:not(:last-child) {
    border-bottom: 1px dashed #ccc
}

.category-posts__link {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1025px) {
    .category-posts__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .category-posts__link:hover {
        opacity: .7
    }

    .category-posts__link:hover img {
        opacity: 1
    }
}

.category-posts__link figure {
    flex: 1;
    margin: 0 5px 0 0
}

.category-posts__link figure img {
    display: block
}

.category-posts__art-ttl {
    flex: 2;
    margin: 0;
    font-size: 1.3rem
}

.company-info__ttl {
    margin-bottom: 1em;
    padding-top: 3.5em;
    font-size: 2.2rem;
    line-height: 1.4;
    text-align: center;
    background: url("../../assets/img/companies/icon_building.svg") no-repeat top/1.5em
}

@media screen and (max-width: 896px) {
    .company-info__ttl {
        font-size: 5.2vw
    }
}

.company-info__list {
    margin: 0
}

.company-info__row {
    display: flex;
    border-bottom: 1px solid #ccc
}

.company-info__row:not(:last-child) {
    margin-bottom: 1em
}

.company-info__subttl {
    width: 10em;
    padding: 0 0 1em 1em;
    font-weight: bold
}

@media screen and (max-width: 896px) {
    .company-info__subttl {
        width: 6em;
        padding-right: 1em;
        padding-left: 0.5em
    }
}

.company-info__cnt {
    flex: 1;
    margin: 0;
    padding-bottom: 1em
}

.company-info__map {
    display: block;
    width: 100%;
    height: 450px;
    margin-top: 1em;
    border: none
}

@media screen and (max-width: 896px) {
    .company-info__map {
        height: 90vw
    }
}

.company-info__cat {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    margin-bottom: -0.5em;
    padding: 0;
    font-size: 1.3rem;
    list-style: none
}

.company-info__cat-item {
    margin: 0 0.5em 0.5em 0;
    padding: 0.1em 0.5em;
    color: #7d4503;
    border: 1px solid #7d4503;
    border-radius: 5px
}

.company-info__area {
    margin: 0
}

.company-info__area-row {
    display: flex
}

@media screen and (max-width: 896px) {
    .company-info__area-row {
        display: block
    }
}

.company-info__area-row:not(:last-child) {
    margin-bottom: 16px
}

@media screen and (max-width: 896px) {
    .company-info__area-row:not(:last-child) {
        margin-bottom: 2vw
    }
}

.company-info__area-ttl {
    width: 5em
}

.company-info__area-cnt {
    flex: 1;
    margin: 0;
    padding-top: 0.3em
}

@media screen and (max-width: 896px) {
    .company-info__area-cnt {
        padding-top: 0.5em;
        padding-left: 1em
    }
}

.company-info__area-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    line-height: 1;
    list-style: none
}

.company-info__area-item {
    margin-bottom: 0.3em
}

.company-info__area-item:not(:last-child) {
    margin-right: 0.3em;
    padding-right: 0.3em;
    border-right: 1px solid #ccc
}

.companies {
    padding-bottom: 200px
}

@media screen and (max-width: 896px) {
    .companies {
        padding-bottom: 20vw
    }
}

.companies__ttl {
    margin: 0 0 1em;
    padding-bottom: 10px;
    font-size: 1.9rem;
    border-bottom: 1px solid #000
}

@media screen and (max-width: 896px) {
    .companies__ttl {
        font-size: 4.4vw
    }
}

.companies__txt-count {
    margin: 0 0 1em;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .companies__txt-count {
        font-size: 3.6vw
    }
}

.companies__result {
    display: flex;
    align-items: center;
    margin-bottom: 24px
}

@media screen and (max-width: 896px) {
    .companies__result {
        justify-content: space-between
    }
}

.companies__result-ttl {
    margin: 0;
    font-size: 2rem
}

@media screen and (max-width: 896px) {
    .companies__result-ttl {
        font-size: 4vw
    }
}

.companies__result-ttl span {
    margin-left: 0.5em;
    color: #ffde35;
    font-weight: bold;
    font-size: 1.3em
}

.companies__result-nav {
    margin: 0.5em 0 0 1em
}

.companies__result-nav span {
    color: #ffde35
}

.companies-box {
    position: relative;
    padding: 15px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2)
}

@media screen and (max-width: 896px) {
    .companies-box {
        padding: 0;
        box-shadow: 0 2px 5px #ccc
    }
}

.companies-box+.companies-box {
    margin-top: 24px
}

@media screen and (max-width: 896px) {
    .companies-box+.companies-box {
        margin-top: 5vw
    }
}

.companies-box__badge {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 100px
}

@media screen and (max-width: 896px) {
    .companies-box__badge {
        top: -3vw;
        right: -3vw;
        width: 20vw
    }
}

.companies-box__inner {
    padding: 32px 28px;
    background-color: #fff;
    border-top: 1px solid #ccc
}

@media screen and (max-width: 896px) {
    .companies-box__inner {
        padding: 5vw
    }
}

.companies-box__row {
    display: flex;
    align-items: flex-start;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px
}

@media screen and (max-width: 896px) {
    .companies-box__row {
        display: block
    }
}

.companies-box__review-row {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.companies-box__rate-name {
    font-weight: bold
}

.companies-box__amount {
    margin-bottom: 24px
}

.companies-box__amount-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    margin-bottom: -0.5em;
    padding: 0;
    font-size: 1.3rem;
    list-style: none
}

.companies-box__amount-item {
    margin: 0 0.5em 0.5em 0;
    padding: 0.1em 0.5em;
    color: #7d4503;
    border: 1px solid #7d4503;
    border-radius: 5px
}

.companies-box__fig {
    width: 220px;
    height: 150px
}

@media screen and (max-width: 896px) {
    .companies-box__fig {
        width: 100%;
        height: auto;
        text-align: center
    }
}

.companies-box__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    font-family: "object-fit: contain;"
}

@media screen and (max-width: 896px) {
    .companies-box__img {
        max-width: 70%;
        max-height: 30vw;
        margin-bottom: 5vw
    }
}

.companies-box__cnt {
    width: calc(100% - 240px);
    min-height: 150px;
    margin-left: auto
}

@media screen and (max-width: 896px) {
    .companies-box__cnt {
        width: 100%;
        min-height: 0;
        margin-bottom: 1em;
        margin-left: 0
    }
}

.companies-box__ttl {
    margin: 0 0 0.5em;
    font-weight: bold;
    font-size: 2.6rem
}

@media screen and (max-width: 896px) {
    .companies-box__ttl {
        margin-bottom: 0
    }
}

.companies-box__ttl a {
    display: inline-block;
    padding: 0 0.5em;
    color: #0089fc
}

@media screen and (min-width: 1025px) {
    .companies-box__ttl a {
        cursor: pointer;
        transition: .2s opacity
    }

    .companies-box__ttl a:hover {
        opacity: .7
    }

    .companies-box__ttl a:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .companies-box__ttl a {
        display: block;
        padding: 0.7em 1em;
        color: #0089fc;
        font-size: 5vw;
        line-height: 1.4
    }
}

.companies-box__excerpt {
    margin: 0;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .companies-box__excerpt {
        font-size: 3.4vw
    }
}

.companies-box__more {
    display: block;
    margin: 0 auto;
    padding: 0.5em 5em;
    color: #fff;
    font-weight: bold;
    border-radius: 100px;
    background: #ffd500;
    cursor: pointer
}

.companies-box__detail {
    display: none;
    padding-top: 24px
}

.companies-box__detail.is-open {
    display: block
}

.companies-box__txt {
    display: none;
    margin: 0;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .companies-box__txt {
        font-size: 3.4vw
    }
}

.companies-box__btns {
    display: flex;
    justify-content: center;
    margin-top: 30px
}

@media screen and (max-width: 896px) {
    .companies-box__btns {
        flex-flow: column;
        align-items: center;
        margin-top: 5vw
    }
}

.companies-box__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    margin: 0 8px;
    padding: 0 1.5em;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
    background: #d1d1d1;
    border-radius: 100px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1)
}

@media screen and (min-width: 1025px) {
    .companies-box__btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .companies-box__btn:hover {
        opacity: .7
    }

    .companies-box__btn:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .companies-box__btn {
        height: 13vw;
        margin: 0;
        font-size: 5vw
    }
}

.companies-box__btn--detail {
    background: #195ca5
}

@media screen and (max-width: 896px) {
    .companies-box__btn--detail {
        margin-bottom: 5vw
    }
}

.companies-box__btn--cv {
    background: #f56f00
}

.companies-cv {
    display: block;
    margin: 24px 0;
    padding: 15px 5px;
    text-align: center;
    background: url("../../assets/img/common/logo.svg") no-repeat left 15px top 15px/120px #ffde35
}

@media screen and (min-width: 1025px) {
    .companies-cv {
        cursor: pointer;
        transition: .2s opacity
    }

    .companies-cv:hover {
        opacity: .7
    }

    .companies-cv:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .companies-cv {
        margin: 5vw 0;
        padding: 12vw 3vw 5vw;
        background-position: left 3vw top 3vw;
        background-size: 35vw
    }
}

.companies-cv__ttl {
    margin: 0 0 0.2em;
    color: #fff;
    font-weight: bold;
    font-size: 2.6rem
}

@media screen and (max-width: 896px) {
    .companies-cv__ttl {
        font-size: 5.4vw
    }
}

.companies-cv__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 400px;
    height: 50px;
    margin: 0 auto;
    color: #fff;
    font-weight: bold;
    font-size: 2.4rem;
    font-family: inherit;
    text-decoration: none;
    background: url("../../assets/img/common/btn_arrow.svg") no-repeat right 0.5em center/1em 1em #f56f00;
    border: 2px solid #fff;
    border-radius: 100px;
    box-shadow: 0 2px #000;
    cursor: pointer
}

@media screen and (max-width: 896px) {
    .companies-cv__btn {
        height: 15vw;
        font-size: 5.4vw
    }
}

.companies-cv__btn span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.6em;
    height: 1.6em;
    color: #000;
    font-size: 0.9em;
    background: #ffde35;
    border-radius: 50%
}

.companies-cv__btn span+span {
    margin: 0 0.5em 0 -0.2em
}

.companies-pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 24px
}

@media screen and (max-width: 896px) {
    .companies-pager {
        margin-top: 5vw
    }
}

.companies-pager .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 5px 10px;
    font-size: 1.2rem;
    background: #fff;
    border-radius: 6px
}

@media screen and (max-width: 896px) {
    .companies-pager .page-numbers {
        width: 9vw;
        height: 9vw;
        margin: 0 1vw 2vw;
        font-size: 3.4vw
    }
}

.companies-pager .page-numbers.current {
    background: #fdefa5
}

.companies-modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -99;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: all 0.3s linear
}

.companies-modal.is-active {
    z-index: 99;
    opacity: 1
}

.companies-modal__cnt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    max-width: 750px;
    padding: 30px;
    background: #fff;
    transform: translate(-50%, -50%)
}

@media screen and (max-width: 896px) {
    .companies-modal__cnt {
        width: 90%;
        padding: 5vw 0
    }
}

.companies-modal__close {
    position: absolute;
    top: -18px;
    right: -18px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #fff;
    background: #ccc;
    border-radius: 50%;
    cursor: pointer
}

@media screen and (max-width: 896px) {
    .companies-modal__close {
        top: -4vw;
        right: -4vw;
        width: 8vw;
        height: 8vw
    }
}

.companies-modal__ttl {
    margin: 0;
    padding-left: 1.5em;
    font-size: 3.8rem;
    background: url("../../assets/img/common/area_map_ttl.svg") no-repeat left/auto 100%
}

@media screen and (max-width: 896px) {
    .companies-modal__ttl {
        margin-bottom: 0.5em;
        font-size: 6vw
    }
}

.companies-modal__ttl span {
    color: #f56f00
}

@media screen and (max-width: 896px) {
    .companies-modal__img {
        display: none
    }
}

.companies-modal__inner {
    position: relative;
    text-align: center
}

@media screen and (max-width: 896px) {
    .companies-modal__inner {
        height: 60vh;
        margin-bottom: 5vw;
        overflow-y: scroll
    }
}

.companies-modal__group {
    position: absolute;
    width: 150px
}

@media screen and (max-width: 896px) {
    .companies-modal__group {
        position: static;
        width: 100%
    }
}

.companies-modal__group--hokkaido {
    top: 20px;
    right: 280px
}

.companies-modal__group--tohoku {
    top: 150px;
    right: 0
}

.companies-modal__group--kanto {
    top: 300px;
    right: 0
}

.companies-modal__group--tokai {
    right: 0;
    bottom: 10px
}

.companies-modal__group--kinki {
    right: 180px;
    bottom: 10px
}

.companies-modal__group--shikoku {
    right: 360px;
    bottom: 10px
}

.companies-modal__group--koshinetsu {
    top: 120px;
    left: 260px
}

.companies-modal__group--chugoku {
    top: 60px;
    left: 75px
}

.companies-modal__group--kyushu {
    top: 220px;
    left: 0
}

.companies-modal__group-ttl {
    margin: 0;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    background: #f56f00
}

@media screen and (max-width: 896px) {
    .companies-modal__group-ttl {
        padding: 0.2em;
        font-size: 4vw
    }
}

.companies-modal__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 5px;
    text-align: left;
    list-style: none;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc
}

@media screen and (max-width: 896px) {
    .companies-modal__list {
        flex-wrap: wrap;
        padding: 2vw;
        border: none
    }
}

.companies-modal__item {
    width: calc(50% - 5px)
}

@media screen and (max-width: 896px) {
    .companies-modal__item {
        width: 33.3%
    }
}

.companies-modal__link {
    color: #0089fc;
    font-weight: bold;
    font-size: 1.3rem
}

@media screen and (min-width: 1025px) {
    .companies-modal__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .companies-modal__link:hover {
        opacity: .7
    }

    .companies-modal__link:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .companies-modal__link {
        font-size: 4vw
    }
}

.companies-modal__submit {
    display: block;
    width: 300px;
    margin: 20px auto 0;
    padding: 0.6em 0;
    background: transparent;
    border: 1px solid;
    border-radius: 100px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
    appearance: none
}

@media screen and (min-width: 1025px) {
    .companies-modal__submit {
        cursor: pointer;
        transition: .2s opacity
    }

    .companies-modal__submit:hover {
        opacity: .7
    }

    .companies-modal__submit:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .companies-modal__submit {
        width: 90%;
        margin-top: 0
    }
}

.company {
    padding-bottom: 100px
}

@media screen and (max-width: 896px) {
    .company {
        padding-bottom: 20vw
    }
}

.company__ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 50px 15px;
    background: #fdefa5
}

@media screen and (max-width: 896px) {
    .company__ttl {
        padding: 5vw
    }
}

.company__ttl-img {
    width: 160px;
    margin-right: 20px
}

@media screen and (max-width: 896px) {
    .company__ttl-img {
        width: 35%;
        margin-right: 5vw
    }
}

.company__ttl-txt {
    flex: 1;
    max-width: 600px;
    font-size: 3.2rem;
    line-height: 1.4
}

@media screen and (max-width: 896px) {
    .company__ttl-txt {
        font-size: 6vw
    }
}

.company__tabs {
    display: flex;
    margin: 0 0 10px;
    padding: 0;
    list-style: none
}

@media screen and (max-width: 896px) {
    .company__tabs {
        margin-bottom: 2vw
    }
}

.company__tab {
    flex: 1
}

.company__tab:not(:last-child) {
    margin-right: 20px
}

@media screen and (max-width: 896px) {
    .company__tab:not(:last-child) {
        margin-right: 3vw
    }
}

.company__tab-btn {
    position: relative;
    display: block;
    width: 100%;
    padding: 1em 0;
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
    background: #ffde35;
    border-top: 1px solid #ffde35;
    border-right: 1px solid #ffde35;
    border-left: 1px solid #ffde35;
    border-radius: 10px;
    box-shadow: 0 0 5px #ccc
}

@media screen and (min-width: 1025px) {
    .company__tab-btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .company__tab-btn:hover {
        opacity: .7
    }

    .company__tab-btn:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .company__tab-btn {
        font-size: 4vw
    }
}

.company__tab-btn[aria-selected="true"],
.company__tab-btn--disabled {
    pointer-events: none
}

.company__tab-btn[aria-selected="true"] {
    color: #ffde35;
    background-color: #fff;
    border-radius: 10px 10px 0 0;
    box-shadow: none
}

.company__tab-btn[aria-selected="true"]::after {
    position: absolute;
    right: -1px;
    bottom: -13px;
    left: -1px;
    height: 13px;
    background: #fff;
    border-right: 1px solid #ffde35;
    border-left: 1px solid #ffde35;
    content: ""
}

@media screen and (max-width: 896px) {
    .company__tab-btn[aria-selected="true"]::after {
        bottom: calc(-2vw - 3px);
        height: calc(2vw + 3px)
    }
}

.company__tab-btn--disabled {
    color: #fff;
    background: #ccc;
    border-color: #ccc
}

.company__tab-panel {
    display: none;
    padding: 40px;
    background: #fff;
    border: 1px solid #ffde35
}

@media screen and (max-width: 896px) {
    .company__tab-panel {
        padding: 10vw 5vw
    }
}

.company__tab-panel.is-active {
    display: block
}

.company__txt {
    margin: 0 0 2em
}

.company__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 430px;
    height: 72px;
    margin: 0 auto 60px;
    color: #fff;
    font-weight: bold;
    font-size: 2.5rem;
    background: #f56f00;
    border-radius: 100px;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3)
}

@media screen and (min-width: 1025px) {
    .company__btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .company__btn:hover {
        opacity: .7
    }

    .company__btn:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .company__btn {
        height: 13vw;
        margin-bottom: 10vw;
        font-size: 5vw
    }
}

.company-review__cont {
    padding: 2em 0
}

.company-review__ttl {
    margin-bottom: 1em;
    padding-top: 2.5em;
    font-size: 2.2rem;
    line-height: 1.4;
    text-align: center;
    background: url("../../assets/img/companies/comments-solid.svg") no-repeat top/1.5em
}

@media screen and (max-width: 896px) {
    .company-review__ttl {
        font-size: 5.2vw
    }
}

.company-review__row {
    display: flex;
    align-items: center
}

@media screen and (max-width: 896px) {
    .company-review__row {
        display: block
    }

    .company-review__row>.company-review__row {
        display: flex
    }
}

.company-review__row>* {
    flex: 1;
    margin-top: 0
}

@media screen and (max-width: 896px) {
    .company-review__row>* {
        width: 100%
    }
}

.company-review__row-half {
    width: 50%
}

@media screen and (max-width: 896px) {
    .company-review__row-half {
        display: flex;
        width: 100%
    }
}

.company-review__row-border-bottom {
    margin-bottom: 1em;
    border-bottom: 2px solid #ccc
}

@media screen and (max-width: 896px) {
    .company-review__row-border-bottom {
        display: flex;
        width: 100%
    }
}

.company-review__row-border-bottom>* {
    margin-bottom: 0
}

.company-review__review-ttl {
    margin-top: 0;
    padding: 0.7em 0 0.7em 0.5em;
    font-size: 2.4rem;
    background: #fff7ce
}

@media screen and (max-width: 896px) {
    .company-review__review-ttl {
        margin-right: -5vw;
        margin-left: -5vw;
        font-size: 5.2vw
    }
}

.company-review__estimate_price {
    font-weight: bold;
    font-size: 2rem
}

@media screen and (max-width: 896px) {
    .company-review__estimate_price {
        font-size: 4.7333vw
    }
}

.company-review__estimate_price em {
    font-style: normal
}

.company-review__name {
    font-weight: bold
}

@media screen and (max-width: 896px) {
    .company-review__name {
        font-size: 4.2vw
    }
}

.company-review__body {
    margin-top: 1em
}

.company-review__total-rank {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .company-review__total-rank {
        font-size: 5.2vw
    }
}

.company-review__rank-number {
    margin-left: 0.5em
}

.entries__ttl {
    margin: 0;
    font-size: 3rem
}

@media screen and (max-width: 896px) {
    .entries__ttl {
        font-size: 6.4vw
    }
}

.entries-post {
    padding: 2em 0
}

.entries-post:not(:last-child) {
    border-bottom: 1px dashed #ccc
}

.entries-post__ttl {
    margin: 0 0 1em;
    font-size: 2.4rem
}

@media screen and (max-width: 896px) {
    .entries-post__ttl {
        margin: 1em 0;
        font-size: 5.3vw
    }
}

.entries-post__link {
    display: flex;
    flex-wrap: wrap
}

@media screen and (min-width: 1025px) {
    .entries-post__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .entries-post__link:hover {
        opacity: .7
    }

    .entries-post__link:hover img {
        opacity: 1
    }
}

.entries-post__thumb {
    position: relative;
    width: 49%;
    margin-right: 2%
}

@media screen and (max-width: 896px) {
    .entries-post__thumb {
        width: 100%;
        margin-right: 0
    }
}

.entries-post__thumb::before {
    display: block;
    padding-top: 66%;
    content: ""
}

.entries-post__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: contain;"
}

.entries-post__box {
    position: relative;
    flex: 1
}

.entries-post__meta {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    font-size: 1.6rem
}

@media screen and (max-width: 896px) {
    .entries-post__meta {
        position: static;
        font-size: 3.2vw
    }
}

.entry__meta {
    margin: 0 0 1em;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .entry__meta {
        font-size: 3.5vw
    }
}

@media screen and (max-width: 896px) {
    .entry__meta-date {
        display: block
    }
}

.entry__meta-date:not(:first-child) {
    margin-left: 2em
}

@media screen and (max-width: 896px) {
    .entry__meta-date:not(:first-child) {
        margin: 0
    }
}

.entry__ttl {
    margin: 0 0 1em;
    font-size: 3rem;
    line-height: 1.3
}

@media screen and (max-width: 896px) {
    .entry__ttl {
        font-size: 5.4vw
    }
}

.entry__thumb {
    width: 100%;
    margin-bottom: 2em
}

.notfound {
    padding: 5em 0;
    text-align: center
}

.notfound__txt {
    margin-bottom: 5em
}

.store-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px
}

@media screen and (max-width: 896px) {
    .store-header__inner {
        height: 18.667vw
    }
}

.store-header__logo {
    width: 50%;
    max-width: 252px
}

@media screen and (max-width: 896px) {
    .store-header__logo {
        margin: 0
    }
}

.store-header__logo img {
    vertical-align: middle
}

.store-header__btn {
    padding: 0.3em 1.5em;
    color: #fff;
    font-weight: bold;
    font-size: 1.7rem;
    background: #3f404f;
    border-radius: 100px
}

@media screen and (min-width: 1025px) {
    .store-header__btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .store-header__btn:hover {
        opacity: .7
    }

    .store-header__btn:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .store-header__btn {
        font-size: 3.733vw
    }
}

.store-mv {
    margin-top: -100px;
    padding-top: 100px;
    background: url("../../assets/img/store/bg_mv_pc.png") no-repeat center top/auto, linear-gradient(#fbec03, #fc7d05)
}

.store-mv__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
    padding-bottom: 50px
}

@media screen and (max-width: 896px) {
    .store-mv__inner {
        display: block;
        padding-top: 0;
        padding-bottom: 10vw
    }
}

@media screen and (max-width: 1024px) {
    .store-mv__img {
        width: 55%
    }
}

.store-mv__img img {
    width: 100%
}

.store-form {
    width: calc(100% - 660px);
    margin-left: 5%;
    padding: 30px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 0 10px #999
}

@media screen and (max-width: 1024px) {
    .store-form {
        flex: 1
    }
}

@media screen and (max-width: 896px) {
    .store-form {
        width: 100%;
        margin-top: 5vw;
        margin-left: 0
    }
}

.store-form__ttl {
    margin: 0;
    font-size: 2rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-form__ttl {
        font-size: 5.333vw
    }
}

.store-form__check {
    display: block;
    margin-top: 1em
}

@media screen and (min-width: 1025px) {
    .store-form__check {
        cursor: pointer;
        transition: .2s opacity
    }

    .store-form__check:hover {
        opacity: .7
    }

    .store-form__check:hover img {
        opacity: 1
    }
}

.store-form__check a {
    color: #3187e8;
    text-decoration: underline
}

.store-form__input-name {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .store-form__input-name {
        font-size: 3.733vw
    }
}

.store-form__require {
    margin-left: 1em;
    padding: 0.1em 0.4em 0;
    color: #fff;
    font-weight: bold;
    background: #e9402a
}

.store-form__option {
    margin-left: 1em;
    padding: 0.1em 0.4em;
    color: #fff;
    font-weight: bold;
    background: #a9a9a9
}

.store-form input[type="text"],
.store-form input[type="tel"],
.store-form input[type="number"],
.store-form input[type="email"] {
    height: 35px;
    padding: 0 0.7em;
    font-weight: bold;
    font-size: 1.4rem;
    background: #e5eaf2;
    border: none;
    border-radius: 5px
}

@media screen and (max-width: 896px) {

    .store-form input[type="text"],
    .store-form input[type="tel"],
    .store-form input[type="number"],
    .store-form input[type="email"] {
        height: 7.4vw;
        font-size: 3.733vw
    }
}

.store-form__btn {
    display: block;
    width: 100%;
    margin-top: 1.2em;
    padding: 0.5em 0;
    color: #fff;
    font-weight: bold;
    font-size: 1.7rem;
    text-align: center;
    background: linear-gradient(to right, #fe6e0e, #f09e00);
    border-radius: 100px
}

@media screen and (min-width: 1025px) {
    .store-form__btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .store-form__btn:hover {
        opacity: .7
    }

    .store-form__btn:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .store-form__btn {
        font-size: 4.533vw
    }
}

.store-form__error {
    margin: 0.5em 0;
    padding: 0 0.5em;
    color: #c0392b;
    font-size: 1.4rem;
    background-color: #f0cdcd
}

.store-no1 {
    padding-top: 70px;
    background: url("../../assets/img/store/bg_no1.png") no-repeat center
}

@media screen and (max-width: 896px) {
    .store-no1 {
        padding-top: 10vw;
        padding-bottom: 10vw
    }
}

.store-no1__ttl {
    font-weight: bold;
    font-size: 3rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-no1__ttl {
        margin-top: 0;
        font-size: 5.333vw
    }
}

.store-no1__logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    list-style: none
}

.store-no1__logo {
    display: flex;
    align-items: center;
    width: 15%;
    height: 120px;
    margin-bottom: 15px;
    padding: 15px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 10px #ccc
}

@media screen and (max-width: 896px) {
    .store-no1__logo {
        width: 48%;
        height: 25vw
    }
}

.store-no1__logo img {
    width: 100%
}

.store-free {
    padding-bottom: 70px
}

.store-free__row {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 896px) {
    .store-free__row {
        display: block
    }
}

.store-free__box {
    max-width: 510px
}

@media screen and (max-width: 896px) {
    .store-free__box {
        max-width: none
    }
}

.store-free__ttl {
    margin: 0.5em 0;
    font-weight: bold;
    font-size: 3.2rem
}

@media screen and (max-width: 896px) {
    .store-free__ttl {
        margin: 0.5em 0;
        font-size: 5.333vw
    }
}

.store-free__ttl em {
    font-size: 150%;
    font-style: normal
}

.store-free__txt {
    margin: 1em 0
}

.store-free__img {
    margin-right: 5%
}

@media screen and (max-width: 896px) {
    .store-free__img {
        margin-right: 0;
        text-align: center
    }
}

.store-free__attention {
    margin: 1em 0;
    color: #aaa;
    font-size: 1.2rem
}

@media screen and (max-width: 896px) {
    .store-free__attention {
        font-size: 3.2vw
    }
}

.store-free__point-img {
    display: block;
    margin-top: 2em
}

@media screen and (max-width: 896px) {
    .store-free__point-img {
        width: 100%
    }
}

.store-cv {
    padding: 45px 0;
    background: linear-gradient(to right, #fe6e0e, #f09e00)
}

@media screen and (max-width: 896px) {
    .store-cv {
        padding: 10vw 0
    }
}

.store-cv__inner {
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media screen and (max-width: 896px) {
    .store-cv__inner {
        display: block
    }
}

.store-cv__box {
    width: 60%
}

@media screen and (max-width: 896px) {
    .store-cv__box {
        width: 100%
    }
}

.store-cv__img {
    width: 35%
}

@media screen and (max-width: 896px) {
    .store-cv__img {
        width: 100%;
        text-align: center
    }
}

.store-cv__ttl {
    margin-top: 0;
    color: #fff;
    font-size: 2.8rem
}

@media screen and (max-width: 896px) {
    .store-cv__ttl {
        font-size: 6.4vw
    }
}

.store-cv__txt {
    margin: 1em 0;
    color: #fff;
    font-size: 1.8rem
}

@media screen and (max-width: 896px) {
    .store-cv__txt {
        font-size: 4.267vw
    }
}

.store-cv__submit {
    display: inline-block;
    text-align: center
}

.store-cv__submit-btn {
    display: inline-block;
    padding: 0.5em 3em;
    color: #fff;
    font-weight: bold;
    font-size: 2.2rem;
    background: linear-gradient(to left, #6e70f3, #9385f5, #56b1f3);
    border-radius: 100px
}

@media screen and (min-width: 1025px) {
    .store-cv__submit-btn {
        cursor: pointer;
        transition: .2s opacity
    }

    .store-cv__submit-btn:hover {
        opacity: .7
    }

    .store-cv__submit-btn:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .store-cv__submit-btn {
        font-size: 5.867vw
    }
}

.store-cv__link {
    display: block;
    margin-top: 1em;
    color: #fff;
    font-weight: bold;
    text-decoration: underline
}

.store-cv__link:hover {
    text-decoration: none
}

@media screen and (max-width: 896px) {
    .store-cv__link {
        margin-bottom: 1em;
        font-size: 4.267vw
    }
}

.store-about {
    padding: 70px 0;
    background: url("../../assets/img/store/bg_no1.png") no-repeat center 100px
}

@media screen and (max-width: 896px) {
    .store-about {
        padding: 10vw 0
    }
}

.store-about__ttl {
    margin-top: 0;
    font-size: 3.2rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-about__ttl {
        font-size: 5.867vw
    }
}

.store-about__subttl {
    margin: 1em 0;
    font-weight: bold;
    font-size: 2.6rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-about__subttl {
        font-size: 3.733vw
    }
}

.store-about__subttl em {
    color: #fd710d;
    font-style: normal
}

.store-about__movie {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    padding-top: 56.25%
}

.store-about__movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important
}

.store-about__img {
    box-shadow: 0 0 10px #ccc
}

.store-about__txt {
    font-weight: bold;
    text-align: center
}

.store-point {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px
}

.store-point:nth-child(even) {
    flex-flow: row-reverse
}

@media screen and (max-width: 896px) {
    .store-point {
        display: block
    }
}

.store-point__box {
    width: 55%
}

@media screen and (max-width: 896px) {
    .store-point__box {
        width: 100%
    }
}

.store-point__img {
    width: 40%
}

@media screen and (max-width: 896px) {
    .store-point__img {
        width: 100%;
        text-align: center
    }
}

.store-point__ttl {
    margin: 1em 0;
    font-size: 3rem
}

@media screen and (max-width: 896px) {
    .store-point__ttl {
        font-size: 5.867vw
    }
}

.store-point__txt {
    margin: 1em 0
}

.store-point__name {
    display: block;
    color: #fd710d;
    font-size: 3.4rem;
    font-family: Futura
}

@media screen and (max-width: 896px) {
    .store-point__name {
        font-size: 9.067vw
    }
}

.store-point__attention {
    color: #ccc;
    font-size: 1.2rem
}

.store-choice {
    padding-bottom: 70px;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-choice {
        padding-bottom: 10vw
    }
}

.store-choice__ttl {
    margin: 0.83em 0;
    font-size: 3rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-choice__ttl {
        font-size: 5.867vw
    }
}

.store-choice__txt {
    margin: 1em 0;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-choice__txt {
        text-align: left
    }
}

.store-choice img {
    margin-top: 30px
}

.store-step {
    padding: 70px 0 40px;
    background: #fd710d
}

@media screen and (max-width: 896px) {
    .store-step {
        padding: 10vw 0
    }
}

.store-step__ttl {
    margin: 0.83em 0;
    color: #fff;
    font-size: 3rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-step__ttl {
        margin-top: 0;
        font-size: 5.867vw
    }
}

.store-step__txt {
    margin: 1em 0;
    color: #fff;
    font-size: 1.8rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-step__txt {
        font-size: 4.2vw;
        text-align: left
    }
}

.store-step__flow {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    padding-left: 0;
    list-style: none
}

@media screen and (max-width: 896px) {
    .store-step__flow {
        display: block;
        margin-top: 5vw
    }
}

.store-step__item {
    flex: 1
}

.store-step__item:not(:last-child) {
    margin-right: 2%
}

@media screen and (max-width: 896px) {
    .store-step__item {
        margin: 10vw auto 0
    }
}

.store-step__img-box {
    position: relative;
    height: 168px;
    text-align: center;
    background: #fff;
    border-radius: 10px
}

.store-step__icon {
    position: absolute;
    top: -23px;
    right: 0;
    left: 0;
    margin: 0 auto
}

.store-step__img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto
}

.store-step__flow-ttl {
    margin: 0.83em 0;
    color: #fff;
    font-weight: bold;
    font-size: 2rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-step__flow-ttl {
        font-size: 5.333vw
    }
}

.store-step__flow-txt {
    margin: 1em 0;
    color: #fff;
    font-size: 1.4rem
}

@media screen and (max-width: 896px) {
    .store-step__flow-txt {
        font-size: 3.733vw
    }
}

.store-support {
    padding: 50px 0
}

@media screen and (max-width: 896px) {
    .store-support {
        padding: 10vw 0
    }
}

.store-support__ttl {
    margin: 0.83em 0;
    font-size: 3rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-support__ttl {
        margin-top: 0;
        font-size: 5.867vw
    }
}

.store-support__row {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 896px) {
    .store-support__row {
        display: block;
        font-size: 5.867vw
    }
}

.store-support__box {
    flex: 1;
    text-align: center
}

.store-support__box:not(:last-child) {
    margin-right: 2%
}

@media screen and (max-width: 896px) {
    .store-support__box {
        width: 100%;
        max-width: none
    }
}

.store-support__box img {
    border-radius: 15px;
    box-shadow: 0 0 10px #aaa
}

.store-support__txt {
    margin: 1em 0;
    font-weight: bold;
    font-size: 2rem
}

.store-epilogue {
    padding: 70px 0 40px;
    background: url("../../assets/img/store/bg_epilogue.jpg") no-repeat center/cover
}

@media screen and (max-width: 896px) {
    .store-epilogue {
        padding: 10vw 0
    }
}

.store-epilogue__ttl {
    margin: 0.83em 0;
    color: #fff;
    font-size: 3rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-epilogue__ttl {
        margin-top: 0;
        font-size: 5.867vw
    }
}

.store-epilogue__txt {
    margin: 1em 0 2em;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .store-epilogue__txt {
        font-size: 3.73vw
    }
}

.thanks__ttl {
    margin-top: 50px;
    padding-top: 100px;
    color: #4abfd7;
    text-align: center;
    background: url("../../assets/img/thanks/thanks-title-icon.png") top center/auto 76px no-repeat
}

@media screen and (max-width: 896px) {
    .thanks__ttl {
        margin-top: 10vw;
        padding-top: 20vw;
        font-size: 5.3vw;
        background: url("../../assets/img/thanks/thanks-title-icon.png") top center/auto 15vw no-repeat
    }
}

.thanks__txt {
    text-align: center
}

.thanks__caution {
    width: 25em;
    margin: 3em auto;
    padding: 0.2em 0;
    font-size: 2rem;
    font-weight: bold;
    color: #c0392b;
    text-align: center;
    background: #fff;
    border: 4px solid #c0392b
}

@media screen and (max-width: 896px) {
    .thanks__caution {
        font-size: 3.6vw
    }
}

.thanks__icon {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    padding: 0.2em;
    line-height: 1;
    background: #c0392b;
    color: #fff;
    border-radius: 100px
}

.thanks-lead {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 2em 0 3em;
    font-size: 2rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .thanks-lead {
        margin-bottom: 5vw;
        font-size: inherit
    }
}

.thanks-lead__txt {
    margin: 0
}

.thanks-lead__link {
    margin-top: 1em;
    color: #0d1bce;
    text-decoration: underline
}

.thanks-lead__attention {
    margin: 1em 0 0;
    padding: 0;
    color: #de0015;
    font-weight: bold;
    font-size: 3.2rem
}

@media screen and (max-width: 896px) {
    .thanks-lead__attention {
        margin: 5vw 0 0;
        font-size: 4.222vw
    }
}

.thanks-lead__attention em {
    font-style: normal
}

@media screen and (max-width: 896px) {
    .thanks-lead__attention em {
        display: block;
        font-size: 150%
    }
}

.thanks-market {
    position: relative
}

.thanks-market__ttl {
    width: 30em;
    margin: 0 auto 1em
}

@media screen and (max-width: 896px) {
    .thanks-market__ttl {
        width: 70%;
        margin: 0
    }
}

.thanks-market__ttl-txt {
    position: relative;
    margin-bottom: 0;
    padding: 5px;
    color: #fff;
    text-align: center;
    background: #000;
    border-radius: 100px
}

@media screen and (max-width: 896px) {
    .thanks-market__ttl-txt {
        font-size: 3.7333vw
    }
}

.thanks-market__ttl-txt::before {
    position: absolute;
    bottom: -20px;
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    border-top: 10px solid #000;
    border-right: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    transform: translateX(-50%);
    content: ""
}

.thanks-market__ttl-sub {
    display: block;
    color: #808080;
    text-align: right
}

@media screen and (max-width: 896px) {
    .thanks-market__ttl-sub {
        margin-top: 5%;
        font-size: 2.8vw;
        text-align: left
    }
}

.thanks-market__attention {
    position: absolute;
    top: -40px;
    right: -20px;
    width: 140px
}

@media screen and (max-width: 896px) {
    .thanks-market__attention {
        width: 20%;
        top: -25px;
        right: 5%
    }
}

.thanks-market__price-box {
    margin-bottom: 1em;
    font-family: Arial
}

.thanks-market__row {
    display: flex;
    align-items: stretch;
    font-size: 2rem
}

@media screen and (max-width: 896px) {
    .thanks-market__row {
        font-size: 2.8vw
    }
}

.thanks-market__row:first-child>:first-child>* {
    background: none
}

.thanks-market__row:first-child>:nth-child(2)>* {
    font-weight: bold;
    background: none
}

@media screen and (max-width: 896px) {
    .thanks-market__row:first-child>:nth-child(2)>* {
        padding-right: 0;
        padding-left: 0
    }
}

.thanks-market__row:first-child>:nth-child(3)>* {
    padding-left: 0;
    color: #fff;
    font-weight: bold;
    background: none
}

@media screen and (max-width: 896px) {
    .thanks-market__row:first-child>:nth-child(3)>* {
        padding-right: 0;
        padding-left: 0;
        text-align: center
    }
}

@media screen and (max-width: 896px) {
    .thanks-market__row:first-child>:nth-child(2) {
        padding-right: 0;
        padding-left: 0
    }
}

@media screen and (max-width: 896px) {
    .thanks-market__row:first-child>:nth-child(3) {
        padding-right: 0;
        padding-left: 0
    }
}

.thanks-market__row:last-child>:first-child,
.thanks-market__row:last-child>:nth-child(2),
.thanks-market__row:last-child>:nth-child(3) {
    padding-bottom: 20px
}

@media screen and (max-width: 896px) {

    .thanks-market__row:last-child>:first-child,
    .thanks-market__row:last-child>:nth-child(2),
    .thanks-market__row:last-child>:nth-child(3) {
        padding-bottom: 0.5em
    }
}

.thanks-market__row>:first-child {
    width: 55%;
    padding: 2px 5px 2px 0
}

@media screen and (max-width: 896px) {
    .thanks-market__row>:first-child {
        padding: 2px 0.2em 2px 0
    }
}

.thanks-market__row>:nth-child(2) {
    width: 20%;
    padding: 2px 5px
}

@media screen and (max-width: 896px) {
    .thanks-market__row>:nth-child(2) {
        padding: 2px 0.2em 2px 0
    }
}

.thanks-market__row>:nth-child(3) {
    width: 30%;
    padding: 2.5px 15px;
    background: #f56f00
}

@media screen and (max-width: 896px) {
    .thanks-market__row>:nth-child(3) {
        padding: 2px 0.5em
    }
}

.thanks-market__row.is-selected .thanks-market__item {
    background: #ffee9a
}

.thanks-market__row.is-selected .thanks-market__global {
    background: #ffee9a
}

.thanks-market__row.is-selected .thanks-market__merchant {
    color: #f56f00;
    background: #ffee9a
}

.thanks-market__item {
    font-weight: bold;
    padding: 0.25em 1em;
    background: #f0f0f0
}

@media screen and (max-width: 896px) {
    .thanks-market__item {
        padding: 0.25em
    }
}

.thanks-market__global {
    padding: 0.25em 1em;
    text-align: center;
    background: #dbf2f7
}

@media screen and (max-width: 896px) {
    .thanks-market__global {
        padding: 0.25em
    }
}

.thanks-market__merchant {
    padding: 0.25em 1em;
    font-weight: bold;
    text-align: center;
    background: #fff
}

@media screen and (max-width: 896px) {
    .thanks-market__merchant {
        padding: 0.25em
    }
}

.thanks-market__caution {
    margin: 0;
    color: #808080
}

@media screen and (max-width: 896px) {
    .thanks-market__caution {
        font-size: 3.2vw
    }
}

.thanks-campaign {
    display: block;
    margin-top: 50px
}

@media screen and (min-width: 1025px) {
    .thanks-campaign {
        cursor: pointer;
        transition: .2s opacity
    }

    .thanks-campaign:hover {
        opacity: .7
    }

    .thanks-campaign:hover img {
        opacity: 1
    }
}

.thanks-upsell {
    width: 100%;
    max-width: 900px;
    margin: 5em auto 0
}

@media screen and (max-width: 896px) {
    .thanks-upsell {
        margin-top: 15vw
    }
}

.thanks-upsell__ttl {
    font-size: 4.2rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .thanks-upsell__ttl {
        font-size: 7.333vw
    }
}

.thanks-upsell__ttl em {
    color: #c0392b;
    font-style: normal
}

.thanks-upsell__txt {
    font-size: 2.4rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .thanks-upsell__txt {
        font-size: 4.267vw
    }
}

.thanks-upsell__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    padding: 0;
    list-style: none
}

.thanks-upsell__item {
    width: 47%;
    max-width: 240px;
    margin-bottom: 45px
}

@media screen and (max-width: 896px) {
    .thanks-upsell__item {
        max-width: none;
        margin-bottom: 5vw
    }
}

.thanks-upsell__link {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    background: #fff;
    border: 2px solid #000;
    border-radius: 10px
}

@media screen and (min-width: 1025px) {
    .thanks-upsell__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .thanks-upsell__link:hover {
        opacity: .7
    }

    .thanks-upsell__link:hover img {
        opacity: 1
    }
}

.thanks-upsell__link::before {
    display: block;
    padding-top: 100%;
    content: ""
}

.thanks-upsell__cnt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%)
}

.thanks-upsell__pic {
    width: 60%
}

.thanks-upsell__name {
    display: block;
    margin-top: 1em;
    font-weight: bold;
    font-size: 2rem
}

@media screen and (max-width: 896px) {
    .thanks-upsell__name {
        margin-top: 0.5em;
        font-size: 5.333vw
    }
}

.thanks-company {
    position: relative;
    margin: 5em 0 0;
    padding: 90px 40px
}

.thanks-company.display-none {
    display: none
}

@media screen and (max-width: 896px) {
    .thanks-company {
        padding: 15vw 0
    }
}

.thanks-company::before,
.thanks-company::after {
    position: absolute;
    right: -10px;
    left: -10px;
    height: 80px;
    border-right: 10px #fff solid;
    border-left: 10px #fff solid;
    content: ""
}

@media screen and (max-width: 1024px) {

    .thanks-company::before,
    .thanks-company::after {
        right: 0;
        left: 0
    }
}

@media screen and (max-width: 896px) {

    .thanks-company::before,
    .thanks-company::after {
        height: 10vw;
        border-width: 5px
    }
}

.thanks-company::before {
    top: 0;
    border-top: 10px #fff solid;
    border-radius: 40px 40px 0 0
}

@media screen and (max-width: 896px) {
    .thanks-company::before {
        border-width: 5px;
        border-radius: 20px 20px 0 0
    }
}

.thanks-company::after {
    bottom: 0;
    border-bottom: 10px #fff solid;
    border-radius: 0 0 40px 40px
}

@media screen and (max-width: 896px) {
    .thanks-company::after {
        border-width: 5px;
        border-radius: 0 0 20px 20px
    }
}

.thanks-company__ttl {
    position: absolute;
    top: -1em;
    right: 0;
    left: 0;
    display: inline-block;
    width: 60%;
    margin: 0 auto;
    padding: 0.5em;
    font-size: 3.2rem;
    text-align: center;
    background: #ffde35
}

@media screen and (max-width: 896px) {
    .thanks-company__ttl {
        width: 80%;
        font-size: 4.333vw
    }
}

.thanks-company__item {
    padding: 0 35px 20px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px #4abfd7
}

@media screen and (max-width: 896px) {
    .thanks-company__item {
        padding: 0 1.5em 1em;
        border-radius: 10px;
        box-shadow: 0 4px #4abfd7
    }
}

.thanks-company__item:not(:last-child) {
    margin-bottom: 40px
}

@media screen and (max-width: 896px) {
    .thanks-company__item:not(:last-child) {
        margin-bottom: 15vw
    }
}

.thanks-company__head {
    display: flex;
    align-items: center;
    padding: 0.3em 0 0.4em;
    font-size: 3.6rem;
    line-height: 1.2;
    background: linear-gradient(-50deg, transparent 35%, #000 45%, #000 55%, rgba(0, 0, 0, 0) 65%) repeat-x bottom;
    background-size: 6px 4px
}

@media screen and (max-width: 896px) {
    .thanks-company__head {
        flex-flow: column;
        padding-bottom: 0.6em;
        font-size: 5vw;
        background-size: 0.3em 0.2em
    }
}

.thanks-company__img {
    width: 160px;
    height: 85px;
    margin-right: 40px;
    padding: 5px;
    background: #fff;
    border: 5px solid #000;
    border-radius: 10px
}

@media screen and (max-width: 896px) {
    .thanks-company__img {
        width: 32vw;
        height: 15vw;
        margin: -9vw 0 2vw;
        padding: 1vw;
        border-width: 3px;
        border-radius: 5px
    }
}

.thanks-company__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    font-family: "object-fit: contain;"
}

.thanks-company__name {
    margin: 0;
    color: #4abfd7
}

.thanks-company__cnt {
    margin: 0;
    padding-top: 1em;
    font-size: 2rem
}

@media screen and (max-width: 896px) {
    .thanks-company__cnt {
        font-size: inherit
    }
}

.thanks-company__info {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 896px) {
    .thanks-company__info {
        display: block
    }
}

.thanks-company__address {
    flex: 1;
    margin: 0
}

.thanks-company__tel {
    width: 14em;
    margin: 0;
    padding-left: 1em
}

@media screen and (max-width: 896px) {
    .thanks-company__tel {
        width: 100%;
        padding: 0
    }
}

.thanks-company__comment {
    margin-top: 1em
}

@font-face {
    font-weight: 400;
    font-family: "Ropa Sans";
    font-style: normal;
    src: url("../../assets/font/RopaSans-Regular.woff2") format("woff2"), url("../../assets/font/RopaSans-Regular.woff") format("woff"), url("../../assets/font/RopaSans-Regular.ttf") format("truetype"), url("../../assets/font/RopaSans-Regular.eot") format("embedded-opentype");
    font-display: swap
}

@keyframes topScaleUp {
    0% {
        transform: scale(1);
        opacity: 0
    }

    50% {
        transform: scale(1.3)
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

.top-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18em;
    height: 2.4em;
    margin: 0 auto;
    color: #fff;
    font-weight: bold;
    font-size: 3.4rem;
    font-family: inherit;
    text-decoration: none;
    background: url("../../assets/img/common/btn_arrow.svg") no-repeat right 0.5em center/1em 1em #f56f00;
    border: 4px solid #fff;
    border-radius: 100px;
    box-shadow: 0 4px #000;
    cursor: pointer
}

@media screen and (max-width: 896px) {
    .top-btn {
        width: 16em;
        height: 3em;
        padding-right: 1em;
        font-size: 5.2vw;
        border-width: 2px
    }
}

.top-btn:hover {
    top: 2px;
    box-shadow: 0 2px #000
}

.top-btn span {
    display: inline-block;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.6em;
    height: 1.6em;
    color: #000;
    font-size: 0.9em;
    background: #ffde35;
    border-radius: 50%
}

.top-btn span+span {
    margin: 0 0.5em 0 -0.2em
}

.top-btn[disabled] {
    background-color: #ccc;
    opacity: 0.7;
    pointer-events: none
}

.top-mv {
    margin-bottom: 40px
}

body.home .top-mv {
    margin-bottom: 0;
    padding: 40px 0;
    background: #4abfd7;
    border-bottom: 10px solid #ffde35
}

@media screen and (max-width: 896px) {
    body.home .top-mv {
        padding: 5vw 0
    }
}

.top-mv__pic {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-bottom: 65px;
    padding: 40px;
    overflow: hidden;
    text-align: center;
    background: #4abfd7;
    border-radius: 40px
}

body.home .top-mv__pic {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    border-radius: 0
}

.top-mv__pic--text {
    width: 40%
}

.top-mv__pic--img {
    position: relative;
    width: 48%;
    transform: translateX(120%)
}

body.home .top-mv__pic--img {
    transform: translateX(105%)
}

body.home .top-mv__pic--img.is-active {
    transform: translateX(0)
}

.top-mv__pic--img.is-active {
    transform: translateX(0);
    animation: topMoveCar 1s linear 1
}

@media screen and (max-width: 896px) {
    .top-mv__pic {
        display: block;
        margin-bottom: 10vw;
        padding: 10vw;
        border-radius: 20px
    }

    body.home .top-mv__pic {
        padding: 5vw
    }

    .top-mv__pic--text {
        width: 100%;
        margin-bottom: 5vw
    }

    .top-mv__pic--img {
        width: 100%
    }
}

@keyframes topMoveCar {
    0% {
        top: 0;
        transform: translateX(120%)
    }

    5%,
    15%,
    25%,
    35%,
    45%,
    55%,
    65%,
    85%,
    95% {
        top: -2px
    }

    10%,
    20%,
    30%,
    40%,
    50%,
    60%,
    70%,
    90% {
        top: 0
    }

    75% {
        top: -10px
    }

    80% {
        top: 0
    }

    100% {
        top: 0;
        transform: translateX(0)
    }
}

.top-movie {
    padding: 50px 0 0;
    background: #fff
}

@media screen and (max-width: 896px) {
    .top-movie {
        padding: 10vw 0
    }
}

.top-movie__ttl {
    font-size: 3.8rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-movie__ttl {
        font-size: 5.867vw
    }
}

.top-movie__txt {
    margin: 1em 0;
    font-weight: bold;
    font-size: 2.6rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-movie__txt {
        font-size: 3.733vw
    }
}

.top-movie__txt em {
    color: #fd710d;
    font-style: normal
}

.top-movie__cover {
    position: relative;
    width: 800px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 15px -3px #999
}

@media screen and (max-width: 896px) {
    .top-movie__cover {
        width: 100%;
        padding: 10px;
        box-shadow: 0 0 10px -3px #999
    }
}

.top-movie__cover iframe {
    width: 760px;
    height: 427px
}

@media screen and (max-width: 896px) {
    .top-movie__cover iframe {
        width: 100%;
        height: 50vw
    }
}

.top-banner {
    padding-bottom: 10vw
}

.top-area {
    padding: 60px 0 65px;
    background: #fff
}

@media screen and (max-width: 896px) {
    .top-area {
        padding: 10vw 0
    }
}

.top-area__ttl {
    margin: 0;
    padding-left: 1.5em;
    font-size: 3.8rem;
    background: url("../../assets/img/common/area_map_ttl.svg") no-repeat left/auto 100%
}

@media screen and (max-width: 896px) {
    .top-area__ttl {
        margin-bottom: 0.5em;
        padding-left: 3em;
        font-size: 6vw
    }
}

.top-area__ttl span {
    color: #f56f00
}

@media screen and (max-width: 896px) {
    .top-area__img {
        display: none
    }
}

.top-area__inner {
    position: relative;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-area__inner {
        margin: 0 -5vw;
        border-top: 1px solid #616774
    }
}

.top-area__group {
    position: absolute;
    width: 200px
}

@media screen and (max-width: 896px) {
    .top-area__group {
        position: static;
        width: 100%
    }
}

.top-area__group--hokkaido {
    top: 0;
    right: 380px;
    width: 100px
}

@media screen and (max-width: 896px) {
    .top-area__group--hokkaido {
        width: 100%
    }
}

.top-area__group--hokkaido .top-area__item {
    width: 100%
}

.top-area__group--tohoku {
    top: 0;
    right: 0
}

.top-area__group--kanto {
    top: 192px;
    right: 0
}

.top-area__group--tokai {
    right: 0;
    bottom: 0
}

.top-area__group--kinki {
    right: 220px;
    bottom: 0
}

.top-area__group--shikoku {
    right: 440px;
    bottom: 0
}

.top-area__group--koshinetsu {
    top: 40px;
    left: 280px
}

.top-area__group--chugoku {
    top: 40px;
    left: 20px
}

.top-area__group--kyushu {
    top: 242px;
    left: 20px
}

.top-area__group-ttl {
    margin: 0;
    color: #fff;
    font-size: 2rem;
    text-align: center;
    background: #f56f00
}

@media screen and (max-width: 896px) {
    .top-area__group-ttl {
        position: relative;
        padding: 0.8em;
        color: #f56f00;
        font-size: 5vw;
        text-align: left;
        background: #fff;
        border-bottom: 1px solid #616774
    }

    .top-area__group-ttl::after {
        position: absolute;
        top: 50%;
        right: 3vw;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 8vw;
        height: 8vw;
        margin-top: -4vw;
        color: #fff;
        font-size: 6vw;
        background: #ccc;
        border-radius: 50%;
        content: "+"
    }
}

.top-area__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none
}

@media screen and (max-width: 896px) {
    .top-area__list.is-open .top-area__item {
        border-bottom: 1px solid #616774
    }

    .top-area__list.is-open .top-area__link {
        padding: 0.8em;
        line-height: 1.625;
        opacity: 1
    }
}

.top-area__item {
    width: calc(50% - 5px);
    margin-top: 5px
}

@media screen and (max-width: 896px) {
    .top-area__item {
        width: 100%;
        margin: 0
    }
}

.top-area__link {
    display: block;
    padding: 0.7rem;
    color: #f56f00;
    font-weight: bold;
    font-size: 1.7rem;
    text-align: center;
    background: #faf3f3;
    border: 1px solid #f56f00;
    border-radius: 5px
}

@media screen and (min-width: 1025px) {
    .top-area__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .top-area__link:hover {
        opacity: .7
    }

    .top-area__link:hover img {
        opacity: 1
    }
}

@media screen and (max-width: 896px) {
    .top-area__link {
        position: relative;
        padding: 0 0.8em;
        color: #000;
        font-size: 4vw;
        line-height: 0;
        text-align: left;
        background: #fff;
        border: none;
        border-left: 20px solid #f56f00;
        border-radius: 0;
        opacity: 0;
        transition: all 0.2s ease-out
    }

    .top-area__link::after {
        position: absolute;
        top: 50%;
        right: 5vw;
        display: block;
        width: 3vw;
        height: 3vw;
        margin-top: -1.5vw;
        border-right: 3px solid #616774;
        border-bottom: 3px solid #616774;
        transform: rotate(-45deg);
        content: ""
    }
}

.top-articles {
    padding-bottom: 75px;
    background: #fff
}

@media screen and (max-width: 896px) {
    .top-articles {
        padding-bottom: 30px
    }
}

.top-articles__ttl {
    position: relative;
    margin: 0 0 1.5em;
    padding-bottom: 0.5em;
    font-size: 3.8rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-articles__ttl {
        margin-bottom: 1.5em;
        font-size: 5.6vw
    }
}

.top-articles__ttl::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1.6em;
    height: 4px;
    margin-left: -0.8em;
    background: #000;
    content: ""
}

.top-articles__list {
    padding: 0
}

.top-articles__item {
    width: calc(25% - 20px);
    padding: 20px;
    overflow: hidden;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px #ccc
}

.top-articles__item:not(:last-child) {
    margin-right: 20px
}

@media screen and (max-width: 896px) {
    .top-articles__item {
        width: 48%
    }
}

.top-articles__item figure {
    margin: -20px -20px 0 -20px
}

.top-articles__link {
    display: block
}

@media screen and (min-width: 1025px) {
    .top-articles__link {
        cursor: pointer;
        transition: .2s opacity
    }

    .top-articles__link:hover {
        opacity: .7
    }

    .top-articles__link:hover img {
        opacity: 1
    }
}

.top-articles__link figure {
    height: 148px;
    overflow: hidden
}

.top-articles__link figure img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.top-articles__art-ttl {
    font-weight: bold;
    font-size: 1.6rem
}

.top-articles__art-txt {
    font-size: 1.2rem
}

.top-articles .slick-prev::before,
.top-articles .slick-next::before {
    display: block;
    width: 30px;
    height: 30px;
    padding: 0.5em;
    color: #fff;
    line-height: 0.3;
    text-align: center;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 50px
}

.top-articles .slick-prev {
    left: -5px;
    z-index: 2
}

.top-articles .slick-prev::before {
    content: "<"
}

.top-articles .slick-next {
    right: -5px;
    z-index: 2
}

.top-articles .slick-next::before {
    content: ">"
}

.top-articles .slick-list {
    padding: 1em
}

@media screen and (max-width: 896px) {
    .top-articles .slick-list {
        padding: 2em
    }
}

.top-reason {
    padding: 85px 0 90px
}

@media screen and (max-width: 896px) {
    .top-reason {
        padding: 10vw 0
    }
}

.top-reason__ttl {
    position: relative;
    margin: 0 0 1.6em;
    font-size: 3.8rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-reason__ttl {
        font-size: 5.6vw
    }
}

.top-reason__ttl::before,
.top-reason__ttl::after {
    position: absolute;
    top: 22px;
    width: calc(50% - 8.5em);
    height: 80px;
    border-width: 10px;
    border-top: 10px #fff solid;
    content: ""
}

@media screen and (max-width: 896px) {

    .top-reason__ttl::before,
    .top-reason__ttl::after {
        top: 0.6em;
        width: calc(50% - 7.5em);
        height: 10vw;
        border-width: 5px
    }
}

.top-reason__ttl::before {
    left: -20px;
    border-left: 10px #fff solid;
    border-top-left-radius: 40px
}

@media screen and (max-width: 1024px) {
    .top-reason__ttl::before {
        left: -2.5vw
    }
}

@media screen and (max-width: 896px) {
    .top-reason__ttl::before {
        border-width: 5px;
        border-top-left-radius: 20px
    }
}

.top-reason__ttl::after {
    right: -20px;
    border-right: 10px #fff solid;
    border-top-right-radius: 40px
}

@media screen and (max-width: 1024px) {
    .top-reason__ttl::after {
        right: -2.5vw
    }
}

@media screen and (max-width: 896px) {
    .top-reason__ttl::after {
        border-width: 5px;
        border-top-right-radius: 20px
    }
}

.top-reason__list {
    position: relative;
    margin: 0 auto 55px;
    padding: 0 30px 100px;
    list-style: none
}

@media screen and (max-width: 896px) {
    .top-reason__list {
        padding: 0 0 15vw
    }
}

.top-reason__list::after {
    position: absolute;
    right: -20px;
    bottom: 0;
    left: -20px;
    height: 80px;
    border-right: 10px #fff solid;
    border-bottom: 10px #fff solid;
    border-left: 10px #fff solid;
    border-radius: 0 0 40px 40px;
    content: ""
}

@media screen and (max-width: 1024px) {
    .top-reason__list::after {
        right: 0;
        left: 0
    }
}

@media screen and (max-width: 896px) {
    .top-reason__list::after {
        height: 10vw;
        border-width: 5px;
        border-radius: 0 0 20px 20px
    }
}

.top-reason__item {
    padding: 5px 30px 30px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px #4abfd7
}

@media screen and (max-width: 896px) {
    .top-reason__item {
        padding: 0 1.3em 2em;
        border-radius: 10px;
        box-shadow: 0 4px #4abfd7
    }

    .top-reason__item:last-child .top-reason__img {
        width: 100%
    }
}

.top-reason__item:not(:last-child) {
    margin-bottom: 33px
}

@media screen and (max-width: 896px) {
    .top-reason__item:not(:last-child) {
        margin-bottom: 13vw
    }
}

.top-reason__subttl {
    display: flex;
    align-items: center;
    margin: 0;
    line-height: 1.2;
    background: linear-gradient(-50deg, transparent 35%, #000 45%, #000 55%, rgba(0, 0, 0, 0) 65%) repeat-x bottom;
    background-size: 6px 4px
}

@media screen and (max-width: 896px) {
    .top-reason__subttl {
        position: relative;
        top: -1.8em;
        flex-flow: column;
        margin-bottom: -1.3em;
        padding-bottom: 0.8em;
        background-size: 0.3em 0.2em
    }
}

.top-reason__subttl-num {
    display: flex;
    align-items: center
}

@media screen and (max-width: 896px) {
    .top-reason__subttl-num {
        margin-bottom: 1em
    }
}

.top-reason__subttl-num em {
    font-weight: normal;
    font-size: 8rem;
    font-family: "Ropa Sans", sans-serif;
    font-style: normal;
    line-height: 1
}

@media screen and (max-width: 896px) {
    .top-reason__subttl-num em {
        font-size: 15vw
    }
}

.top-reason__subttl-num img {
    width: 30px
}

@media screen and (max-width: 896px) {
    .top-reason__subttl-num img {
        width: 5.5vw
    }
}

.top-reason__subttl-inner {
    margin: 0 auto;
    padding-right: 3em;
    color: #4abfd7;
    font-size: 3.6rem
}

@media screen and (max-width: 896px) {
    .top-reason__subttl-inner {
        padding: 0;
        font-size: 5vw
    }
}

.top-reason__cnt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px
}

@media screen and (max-width: 896px) {
    .top-reason__cnt {
        display: block;
        padding: 0
    }
}

.top-reason__txt {
    margin: 0;
    font-size: 2rem
}

@media screen and (max-width: 896px) {
    .top-reason__txt {
        font-size: 3.6vw
    }
}

.top-reason__img {
    width: 300px;
    margin-top: 20px
}

@media screen and (max-width: 896px) {
    .top-reason__img {
        display: block;
        width: 60vw;
        margin: 3vw auto 0;
        margin-top: 20px
    }
}

.top-voice {
    padding: 80px 0 120px;
    background: #fff
}

@media screen and (max-width: 896px) {
    .top-voice {
        padding: 10vw 0
    }
}

.top-voice__ttl {
    position: relative;
    margin: 0 0 115px;
    padding-bottom: 0.5em;
    font-size: 3.8rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-voice__ttl {
        margin-bottom: 5.5em;
        font-size: 5.6vw
    }
}

.top-voice__ttl::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1.6em;
    height: 4px;
    margin-left: -0.8em;
    background: #000;
    content: ""
}

.top-voice__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none
}

@media screen and (max-width: 896px) {
    .top-voice__list {
        display: block
    }
}

.top-voice__item {
    position: relative;
    display: flex;
    flex-flow: column;
    width: calc(50% - 30px);
    min-height: 460px;
    padding: 75px 35px 30px;
    background: #ffde35;
    border-radius: 20px
}

@media screen and (max-width: 896px) {
    .top-voice__item {
        width: 100%;
        min-height: auto;
        padding: 3.5em 1.5em 2em;
        border-radius: 10px
    }
}

.top-voice__item:not(:last-child):not(:nth-last-child(2)) {
    margin-bottom: 140px
}

@media screen and (max-width: 896px) {
    .top-voice__item:not(:last-child):not(:nth-last-child(2)) {
        margin-bottom: 25vw
    }
}

@media screen and (max-width: 896px) {
    .top-voice__item:not(:last-child) {
        margin-bottom: 25vw
    }
}

.top-voice__icon {
    position: absolute;
    bottom: calc(100% - 50px);
    left: 50%;
    text-align: center;
    transform: translateX(-50%)
}

@media screen and (max-width: 896px) {
    .top-voice__icon {
        bottom: calc(100% - 9vw);
        width: 100%
    }
}

.top-voice__talking {
    font-weight: bold
}

.top-voice__talking span {
    opacity: 0
}

.top-voice__img {
    width: 100px
}

@media screen and (max-width: 896px) {
    .top-voice__img {
        width: 20%
    }
}

.top-voice__prof {
    margin: 0 0 0.7em;
    font-weight: bold;
    font-size: 1.25em;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-voice__prof {
        font-size: 4.3vw
    }
}

.top-voice__txt {
    margin: 0
}

@media screen and (max-width: 896px) {
    .top-voice__txt {
        margin-bottom: 2.5em
    }
}

.top-voice__company-list {
    display: flex;
    justify-content: space-between;
    margin: auto 0 15px
}

.top-voice__company-item {
    width: calc(33.3% - 10px);
    text-align: center;
    opacity: 0
}

@media screen and (max-width: 896px) {
    .top-voice__company-item {
        width: calc(33.3% - 2vw)
    }
}

.top-voice__company-item.is-active {
    opacity: 1
}

.top-voice__company-ttl {
    padding: 0;
    color: #fff;
    font-size: 1.5em;
    line-height: 1.3;
    text-align: center;
    background: #000;
    border-radius: 10px 10px 0 0
}

@media screen and (max-width: 896px) {
    .top-voice__company-ttl {
        font-size: 1.2em
    }
}

.top-voice__company-num {
    margin: 0;
    font-weight: bold;
    font-size: 1.2em;
    background: #fff;
    border-radius: 0 0 10px 10px;
    transition: 0.5s linear
}

@media screen and (max-width: 896px) {
    .top-voice__company-num {
        font-size: 1em
    }
}

.top-voice__company-num--active {
    position: relative;
    color: #fff;
    background: #f56f00
}

.top-voice__company-num--active::before {
    position: absolute;
    top: -68px;
    left: 50%;
    width: 35px;
    height: 30px;
    margin-left: -17.5px;
    background: url("../../assets/img/top/voice_icon.svg") no-repeat center/contain;
    content: ""
}

@media screen and (max-width: 896px) {
    .top-voice__company-num--active::before {
        top: -3.5em;
        width: 1.6em;
        height: 1.5em;
        margin-left: -0.8em
    }
}

.top-voice__company-num em {
    font-size: 1.6em;
    font-style: normal
}

.top-voice__difference {
    margin: 0;
    font-weight: bold;
    font-size: 4.6rem;
    line-height: 1;
    text-align: center;
    opacity: 0
}

.top-voice__difference.is-active {
    opacity: 1;
    animation: topScaleUp 1s linear 1
}

@media screen and (max-width: 896px) {
    .top-voice__difference {
        font-size: 8.5vw
    }
}

.top-voice__difference span {
    color: #f56f00;
    font-size: 0.7em
}

.top-voice__difference em {
    font-size: 2em;
    font-size: 1.8em;
    font-style: normal
}

.top-step {
    padding: 70px 0 90px;
    background: #4abfd7
}

@media screen and (max-width: 896px) {
    .top-step {
        padding: 10vw 0
    }
}

.top-step__ttl {
    position: relative;
    margin: 0 0 1.5em;
    padding-bottom: 0.5em;
    color: #fff;
    font-size: 3.8rem;
    text-align: center
}

@media screen and (max-width: 896px) {
    .top-step__ttl {
        font-size: 5.6vw
    }
}

.top-step__ttl::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1.6em;
    height: 4px;
    margin-left: -0.8em;
    background: #fff;
    content: ""
}

.top-step__list {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none
}

@media screen and (max-width: 896px) {
    .top-step__list {
        display: block
    }
}

.top-step__item {
    position: relative;
    width: calc(33.3% - 20px);
    padding: 20px 0 30px;
    text-align: center;
    background: #fff;
    border-radius: 25px
}

@media screen and (max-width: 896px) {
    .top-step__item {
        width: 100%;
        padding: 1.5em 2em;
        text-align: left;
        border-radius: 10px
    }

    .top-step__item:not(:last-child) {
        margin-bottom: 9vw
    }

    .top-step__item:not(:last-child)::after {
        position: absolute;
        top: calc(100% + 3vw);
        left: 50%;
        width: 0;
        height: 0;
        margin-left: -4vw;
        border-color: #000 transparent transparent transparent;
        border-style: solid;
        border-width: 4vw 4vw 0 4vw;
        content: ""
    }
}

.top-step__num {
    display: inline-block;
    margin: 0 0 15px;
    padding: 0 1em;
    color: #fff;
    font-size: 1.8rem;
    background: #f56f00;
    border-radius: 100px
}

@media screen and (max-width: 896px) {
    .top-step__num {
        font-size: 4.5vw
    }
}

.top-step__subttl {
    margin: 0 0 0.6em;
    font-size: 2.5rem;
    line-height: 1.3
}

@media screen and (max-width: 896px) {
    .top-step__subttl {
        font-size: 5vw
    }
}

.top-step__img {
    width: 65%;
    margin-bottom: 20px
}

@media screen and (max-width: 896px) {
    .top-step__img {
        position: absolute;
        top: 50%;
        right: 4vw;
        width: 30vw;
        margin: 0;
        transform: translateY(-50%)
    }
}

.top-step__txt {
    margin: 0;
    font-size: 1.8rem
}

@media screen and (max-width: 896px) {
    .top-step__txt {
        font-size: 3.4vw
    }
}

.file-wrap {
    margin-bottom: 5px;
    display: table;
    width: 100%;
}

.file-wrap .select-file {
    background: #fff;
    border: 2px solid #999;
    border-radius: 4px;
    height: 40px;
    line-height: 40px;
    padding-left: 10px;
    font-weight: normal;
    display: table-cell;
    width: 80%;
    overflow: hidden;
    max-width: 1px;
    white-space: nowrap;
    cursor: pointer;
}

.file-wrap .file-hidden {
    position: absolute;
    left: -5000px;
}

.file-wrap .clear-file {
    width: 20%;
    display: table-cell;
    white-space: nowrap;
    height: 35px;
    line-height: 35px;
    cursor: pointer;
}

.file-wrap .clear-file .btn {
    border-radius: 4px;
    padding: 0 10px;
    font-weight: normal;
    background-color: #b54d4d;
    color: #FFF;
    margin-top: 0;
    margin-left: 15px;
    text-align: center;
}


#modal_overlay {
    z-index: 6;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-color: rgba(0, 0, 0, 0.75);
}

.modal {
    margin: 0;
    position: fixed;
    display: none;
    z-index: 7;
    font-family: Axis;
    width: 400px;
    height: 560px;
}

.modal .modal_title {
    color: #ffffff;
    font-size: 150%;
    padding: 5px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background-color: #888888;
    border-top-right-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
}

.modal .modal_title img {
    vertical-align: middle;
    padding-bottom: 6px;
}

.modal .modal_title span {
    margin-left: 10px;
}

.modal .modal_content {
    margin: 0 auto;
    background-color: #FFFFFF;
    border: 2px #888888 solid;
    border-bottom-right-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    border-bottom-left-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    padding: 10px;
}

.modal .modal_content .camera_photo {
    background-color: white;
    padding: 10px;
    text-align: center;
}

.modal .modal_content .camera_photo img {
    width: auto;
    height: 280px;
    display: none;
}

.modal .modal_content .camera_hint {
    margin: 10px 0;
    text-align: center;
}

.modal .modal_content .camera_btn {
    text-align: center;
    background-color: #F16F2F;
    border-radius: 5px;
    font-size: 130%;
    padding: 10px;
    position: relative;
    top: 0;
    margin-bottom: 10px;
    box-shadow: 0 5px 0 rgba(164, 99, 0, 1);
}

.modal .modal_content .camera_btn:hover {
    cursor: pointer;
}

.modal .modal_content .camera_btn img {
    text-align: center;
    vertical-align: middle;
    width: 50px;
    height: auto;
    margin: 0 auto;
}

.modal .modal_content .camera_btn a {
    display: block;
    width: 100%;
    color: #ffffff;
    text-decoration: none;
}