/*
Theme Name: スポット栃木
Theme URI: http://example.com
Author: Your name
Description: This theme was created with Theme Converter for WordPress
Version: 1.0.9
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
    --gray100: 248, 248, 248;
    --gray200: 239, 239, 239;
    --gray300: 218, 218, 218;
    --gray400: 165, 165, 165;
    --gray500: 119, 119, 119;
    --gray800: 78, 78, 78;
    --gray900: 51, 51, 51;
    --green100: 240, 250, 231;
    --green300: 61, 227, 106;
    --green500: 95, 204, 56;
    --green600: 24, 188, 69;
    --blue100: 240, 244, 247;
    --blue200: 220, 228, 235;
    --blue300: 220, 245, 255;
    --blue500: 63, 151, 226;
    --blue700: 45, 113, 194;
    --blue900: 25, 87, 162;
    --red100: 255, 232, 232;
    --red300: 255, 102, 62;
    --red500: 245, 87, 85;
    --red700: 236, 76, 35;
    --red900: 214, 43, 0;
    --orange100: 255, 238, 220;
    --orange500: 254, 144, 19;
    --cream100: 255, 251, 232;
    --cream500: 255, 187, 0;
    --yellow100: 255, 210, 0, 0.1;
    --yellow200: 255, 210, 0, 0.15;
    --yellow300: 252, 242, 111;
    --yellow400: 255, 239, 19;
    --yellow500: 255, 210, 0;
    --yellow700: 254, 144, 19;
    --contents_width: 1100px;
    --contents_width_lg: 1360px;
    --contents_width_xl: 1640px;
    --body_padding_side_half: 30px;
    --body_padding_side: 60px;
    --contents_width_with_padding: 1160px;
    --contents_width_lg_with_padding: 1420px;
    --contents_width_xl_with_padding: 1700px;
    --sidebar_width: 160px;
    --line_height_base: 2;
    --line_height_head: 1.5;
    --letter_spacing_base: .06em;
    --letter_spacing_head: .06em;
    --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
    --easeOutQuart: cubic-bezier(0.03, 1, 0.83, 1)
}

.sp {
    display: none;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

html {
    font-size: 62.5%;
    word-break: break-all
}

body {
    -webkit-text-size-adjust: 100%;
    font-family: "Noto Sans JP", sans-serif !important;
}

article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
menu,
nav,
section {
    display: block
}

h1,
h2,
h3,
h4,
h5,
h6 {
    word-break: break-word;
    line-break: strict;
    overflow-wrap: break-word;
    word-wrap: break-word
}

ul:not([class]),
ol:not([class]) {
    padding-left: 1.25em
}

ul[class],
ol[class] {
    list-style: none
}

span {
    font-weight: inherit
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

a {
    color: inherit
}

@media all and (min-width: 768px) {
    a:hover {
        text-decoration: none
    }
}

a[class] {
    text-decoration: none
}

ins {
    background-color: #ff9;
    text-decoration: none
}

mark {
    background-color: #ff9;
    font-weight: bold
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

address {
    font-style: normal
}

sup {
    vertical-align: text-top;
    font-size: .75em
}

sub {
    vertical-align: text-bottom;
    font-size: .75em
}

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

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid rgb(var(--border));
    margin: 1em 0;
    padding: 0
}

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

picture {
    display: block
}

iframe {
    max-width: 100%
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select,
option {
    display: block;
    width: 100%;
    max-width: 100%;
    font-family: inherit;
    outline: none;
    border: 1px solid;
    border-radius: 0;
    background: none
}

@media all and (max-width: 767px) {

    input[type=text],
    input[type=email],
    input[type=tel],
    textarea,
    button,
    select,
    option {
        font-size: 1.6rem
    }
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none
}

input[type=radio],
input[type=checkbox] {
    margin: 0;
    padding: 0;
    vertical-align: middle
}

select {
    color: inherit
}

textarea {
    resize: vertical
}

button {
    color: inherit;
    font-weight: normal;
    cursor: pointer
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    src: local("NotoSansJP-Regular"), url(fonts/NotoSansJp/NotoSansJP-Regular.woff2) format("woff2"), url(fonts/NotoSansJp/NotoSansJP-Regular.woff) format("woff"), url(fonts/NotoSansJp/NotoSansJP-Regular.ttf) format("truetype");
    font-display: swap
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    src: local("NotoSansJP-Bold"), local("NotoSansJP-Bold"), url(fonts/NotoSansJp/NotoSansJP-Bold.woff2) format("woff2"), url(fonts/NotoSansJp/NotoSansJP-Bold.woff) format("woff"), url(fonts/NotoSansJp/NotoSansJP-Bold.ttf) format("truetype");
    font-display: swap
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 900;
    src: local("NotoSansJP-Black"), local("NotoSansJP-Black"), url(fonts/NotoSansJp/NotoSansJP-Black.woff2) format("woff2"), url(fonts/NotoSansJp/NotoSansJP-Black.woff) format("woff"), url(fonts/NotoSansJp/NotoSansJP-Black.ttf) format("truetype");
    font-display: swap
}

body {
    min-width: 320px;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    color: rgb(var(--gray900));
    font-size: 1.4rem;
    line-height: var(--line_height_base);
    letter-spacing: var(--letter_spacing_base)
}

@media all and (min-width: 768px) {
    body {
        min-width: var(--contents_width_with_padding);
        padding-top: 110px;
        font-size: 1.6rem
    }
}

body.no-scroll {
    overflow: hidden
}

.l-wrapper {
    position: relative
}

@media all and (min-width: 768px) {
    .l-container.is-col2 {
        display: grid;
        grid-template-columns: auto var(--sidebar_width);
        gap: 0 30px;
        width: var(--contents_width);
        margin: 0 auto
    }

    .l-container.is-col2 .l-contents {
        flex: 1
    }

    .l-container.is-col2 .l-sidebar {
        order: 1;
        flex-basis: var(--sidebar_width)
    }
}

@media all and (min-width: 1360px) {
    .l-container.is-col2 {
        gap: 0 70px
    }
}

@-webkit-keyframes rightOutLeftIn {
    0% {
        transform: scale(1, 1) translateX(0)
    }

    50% {
        transform: scale(1, 1) translateX(120%);
        -webkit-animation-timing-function: var(--easeOutQuart);
        animation-timing-function: var(--easeOutQuart)
    }

    50.01% {
        transform: scale(1, 0) translateX(-120%)
    }

    50.02% {
        transform: scale(1, 1) translateX(-120%)
    }

    100% {
        -webkit-animation-timing-function: var(--easeOutQuart);
        animation-timing-function: var(--easeOutQuart);
        transform: scale(1, 1) translateX(0)
    }
}

@keyframes rightOutLeftIn {
    0% {
        transform: scale(1, 1) translateX(0)
    }

    50% {
        transform: scale(1, 1) translateX(120%);
        -webkit-animation-timing-function: var(--easeOutQuart);
        animation-timing-function: var(--easeOutQuart)
    }

    50.01% {
        transform: scale(1, 0) translateX(-120%)
    }

    50.02% {
        transform: scale(1, 1) translateX(-120%)
    }

    100% {
        -webkit-animation-timing-function: var(--easeOutQuart);
        animation-timing-function: var(--easeOutQuart);
        transform: scale(1, 1) translateX(0)
    }
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    position: relative;
    visibility: hidden
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    -webkit-animation: splide-loading 1s linear infinite;
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}

.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}

@-webkit-keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__arrow {
    align-items: center;
    background: #ccc;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 2em;
    justify-content: center;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1
}

.splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em
}

.splide__arrow:hover:not(:disabled) {
    opacity: .9
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__pagination {
    bottom: .5em;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1
}

.splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 3px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 8px
}

.splide__pagination__page.is-active {
    background: #fff;
    transform: scale(1.4);
    z-index: 1
}

.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}

.splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__progress__bar {
    background: #ccc;
    height: 3px
}

.splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.splide__slide:focus {
    outline: 0
}

@supports(outline-offset: -3px) {
    .splide__slide:focus-visible {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast: none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }
}

@supports(outline-offset: -3px) {
    .splide.is-focus-in .splide__slide:focus {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast: none) {
    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
        border-color: #0bf
    }
}

.splide__toggle {
    cursor: pointer
}

.splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__track--nav>.splide__list>.splide__slide {
    border: 3px solid transparent;
    cursor: pointer
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em
}

.splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto
}

.splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto
}

.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg)
}

.splide__pagination--ttb {
    bottom: 0;
    display: flex;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: .5em;
    top: 0
}

.flatpickr-calendar {
    background: transparent;
    opacity: 0;
    display: none;
    text-align: center;
    visibility: hidden;
    padding: 0;
    -webkit-animation: none;
    animation: none;
    direction: ltr;
    border: 0;
    font-size: 14px;
    line-height: 24px;
    border-radius: 5px;
    position: absolute;
    width: 307.875px;
    box-sizing: border-box;
    touch-action: manipulation;
    background: #fff;
    box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08)
}

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
    opacity: 1;
    max-height: 640px;
    visibility: visible
}

.flatpickr-calendar.open {
    display: inline-block;
    z-index: 99999
}

.flatpickr-calendar.animate.open {
    -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
    animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1)
}

.flatpickr-calendar.inline {
    display: block;
    position: relative;
    top: 2px
}

.flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + 2px)
}

.flatpickr-calendar.static.open {
    z-index: 999;
    display: block
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
    box-shadow: none !important
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
    box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.flatpickr-calendar .hasWeeks .dayContainer {
    border-left: 0
}

.flatpickr-calendar.hasTime .flatpickr-time {
    height: 40px;
    border-top: 1px solid #e6e6e6
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    height: auto
}

.flatpickr-calendar:before,
.flatpickr-calendar:after {
    position: absolute;
    display: block;
    pointer-events: none;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    left: 22px
}

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
    left: auto;
    right: 22px
}

.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
    left: 50%;
    right: 50%
}

.flatpickr-calendar:before {
    border-width: 5px;
    margin: 0 -5px
}

.flatpickr-calendar:after {
    border-width: 4px;
    margin: 0 -4px
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
    bottom: 100%
}

.flatpickr-calendar.arrowTop:before {
    border-bottom-color: #e6e6e6
}

.flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
    top: 100%
}

.flatpickr-calendar.arrowBottom:before {
    border-top-color: #e6e6e6
}

.flatpickr-calendar.arrowBottom:after {
    border-top-color: #fff
}

.flatpickr-calendar:focus {
    outline: 0
}

.flatpickr-wrapper {
    position: relative;
    display: inline-block
}

.flatpickr-months {
    display: flex
}

.flatpickr-months .flatpickr-month {
    background: transparent;
    color: rgba(0, 0, 0, 0.9);
    fill: rgba(0, 0, 0, 0.9);
    height: 34px;
    line-height: 1;
    text-align: center;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    overflow: hidden;
    flex: 1
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    cursor: pointer;
    position: absolute;
    top: 0;
    height: 34px;
    padding: 10px;
    z-index: 3;
    color: rgba(0, 0, 0, 0.9);
    fill: rgba(0, 0, 0, 0.9)
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
    display: none
}

.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
    position: relative
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
    left: 0
}

.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
    right: 0
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    color: #959ea9
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #f64747
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
    width: 14px;
    height: 14px
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
    transition: fill .1s;
    fill: inherit
}

.numInputWrapper {
    position: relative;
    height: auto
}

.numInputWrapper input,
.numInputWrapper span {
    display: inline-block
}

.numInputWrapper input {
    width: 100%
}

.numInputWrapper input::-ms-clear {
    display: none
}

.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none
}

.numInputWrapper span {
    position: absolute;
    right: 0;
    width: 14px;
    padding: 0 4px 0 2px;
    height: 50%;
    line-height: 50%;
    opacity: 0;
    cursor: pointer;
    border: 1px solid rgba(57, 57, 57, 0.15);
    box-sizing: border-box
}

.numInputWrapper span:hover {
    background: rgba(0, 0, 0, 0.1)
}

.numInputWrapper span:active {
    background: rgba(0, 0, 0, 0.2)
}

.numInputWrapper span:after {
    display: block;
    content: "";
    position: absolute
}

.numInputWrapper span.arrowUp {
    top: 0;
    border-bottom: 0
}

.numInputWrapper span.arrowUp:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 4px solid rgba(57, 57, 57, 0.6);
    top: 26%
}

.numInputWrapper span.arrowDown {
    top: 50%
}

.numInputWrapper span.arrowDown:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(57, 57, 57, 0.6);
    top: 40%
}

.numInputWrapper span svg {
    width: inherit;
    height: auto
}

.numInputWrapper span svg path {
    fill: rgba(0, 0, 0, 0.5)
}

.numInputWrapper:hover {
    background: rgba(0, 0, 0, 0.05)
}

.numInputWrapper:hover span {
    opacity: 1
}

.flatpickr-current-month {
    font-size: 135%;
    line-height: inherit;
    font-weight: 300;
    color: inherit;
    position: absolute;
    width: 75%;
    left: 12.5%;
    padding: 7.48px 0 0 0;
    line-height: 1;
    height: 34px;
    display: inline-block;
    text-align: center;
    transform: translate3d(0px, 0px, 0px)
}

.flatpickr-current-month span.cur-month {
    font-family: inherit;
    font-weight: 700;
    color: inherit;
    display: inline-block;
    margin-left: .5ch;
    padding: 0
}

.flatpickr-current-month span.cur-month:hover {
    background: rgba(0, 0, 0, 0.05)
}

.flatpickr-current-month .numInputWrapper {
    width: 6ch;
    width: 7ch\0;
    display: inline-block
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: rgba(0, 0, 0, 0.9)
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: rgba(0, 0, 0, 0.9)
}

.flatpickr-current-month input.cur-year {
    background: transparent;
    box-sizing: border-box;
    color: inherit;
    cursor: text;
    padding: 0 0 0 .5ch;
    margin: 0;
    display: inline-block;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    line-height: inherit;
    height: auto;
    border: 0;
    border-radius: 0;
    vertical-align: initial;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

.flatpickr-current-month input.cur-year:focus {
    outline: 0
}

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
    font-size: 100%;
    color: rgba(0, 0, 0, 0.5);
    background: transparent;
    pointer-events: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: menulist;
    background: transparent;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    height: auto;
    line-height: inherit;
    margin: -1px 0 0 0;
    outline: none;
    padding: 0 0 0 .5ch;
    position: relative;
    vertical-align: initial;
    -webkit-box-sizing: border-box;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    width: auto
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
    outline: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: rgba(0, 0, 0, 0.05)
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: transparent;
    outline: none;
    padding: 0
}

.flatpickr-weekdays {
    background: transparent;
    text-align: center;
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
    height: 28px
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
    display: flex;
    flex: 1
}

span.flatpickr-weekday {
    cursor: default;
    font-size: 90%;
    background: transparent;
    color: rgba(0, 0, 0, 0.54);
    line-height: 1;
    margin: 0;
    text-align: center;
    display: block;
    flex: 1;
    font-weight: bolder
}

.dayContainer,
.flatpickr-weeks {
    padding: 1px 0 0 0
}

.flatpickr-days {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    width: 307.875px
}

.flatpickr-days:focus {
    outline: 0
}

.dayContainer {
    padding: 0;
    outline: 0;
    text-align: left;
    width: 307.875px;
    min-width: 307.875px;
    max-width: 307.875px;
    box-sizing: border-box;
    display: inline-block;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: space-around;
    transform: translate3d(0px, 0px, 0px);
    opacity: 1
}

.dayContainer+.dayContainer {
    box-shadow: -1px 0 0 #e6e6e6
}

.flatpickr-day {
    background: none;
    border: 1px solid transparent;
    border-radius: 150px;
    box-sizing: border-box;
    color: #393939;
    cursor: pointer;
    font-weight: 400;
    width: 14.2857143%;
    flex-basis: 14.2857143%;
    max-width: 39px;
    height: 39px;
    line-height: 39px;
    margin: 0;
    display: inline-block;
    position: relative;
    justify-content: center;
    text-align: center
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
    cursor: pointer;
    outline: 0;
    background: #e6e6e6;
    border-color: #e6e6e6
}

.flatpickr-day.today {
    border-color: #959ea9
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
    border-color: #959ea9;
    background: #959ea9;
    color: #fff
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
    background: #569ff7;
    box-shadow: none;
    color: #fff;
    border-color: #569ff7
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
    border-radius: 50px 0 0 50px
}

.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
    border-radius: 0 50px 50px 0
}

.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)) {
    box-shadow: -10px 0 0 #569ff7
}

.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
    border-radius: 50px
}

.flatpickr-day.inRange {
    border-radius: 0;
    box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
    color: rgba(57, 57, 57, 0.3);
    background: transparent;
    border-color: transparent;
    cursor: default
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    cursor: not-allowed;
    color: rgba(57, 57, 57, 0.1)
}

.flatpickr-day.week.selected {
    border-radius: 0;
    box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7
}

.flatpickr-day.hidden {
    visibility: hidden
}

.rangeMode .flatpickr-day {
    margin-top: 1px
}

.flatpickr-weekwrapper {
    float: left
}

.flatpickr-weekwrapper .flatpickr-weeks {
    padding: 0 12px;
    box-shadow: 1px 0 0 #e6e6e6
}

.flatpickr-weekwrapper .flatpickr-weekday {
    float: none;
    width: 100%;
    line-height: 28px
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
    display: block;
    width: 100%;
    max-width: none;
    color: rgba(57, 57, 57, 0.3);
    background: transparent;
    cursor: default;
    border: none
}

.flatpickr-innerContainer {
    display: block;
    display: flex;
    box-sizing: border-box;
    overflow: hidden
}

.flatpickr-rContainer {
    display: inline-block;
    padding: 0;
    box-sizing: border-box
}

.flatpickr-time {
    text-align: center;
    outline: 0;
    display: block;
    height: 0;
    line-height: 40px;
    max-height: 40px;
    box-sizing: border-box;
    overflow: hidden;
    display: flex
}

.flatpickr-time:after {
    content: "";
    display: table;
    clear: both
}

.flatpickr-time .numInputWrapper {
    flex: 1;
    width: 40%;
    height: 40px;
    float: left
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #393939
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #393939
}

.flatpickr-time.hasSeconds .numInputWrapper {
    width: 26%
}

.flatpickr-time.time24hr .numInputWrapper {
    width: 49%
}

.flatpickr-time input {
    background: transparent;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    text-align: center;
    margin: 0;
    padding: 0;
    height: inherit;
    line-height: inherit;
    color: #393939;
    font-size: 14px;
    position: relative;
    box-sizing: border-box;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

.flatpickr-time input.flatpickr-hour {
    font-weight: bold
}

.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
    font-weight: 400
}

.flatpickr-time input:focus {
    outline: 0;
    border: 0
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
    height: inherit;
    float: left;
    line-height: inherit;
    color: #393939;
    font-weight: bold;
    width: 2%;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    align-self: center
}

.flatpickr-time .flatpickr-am-pm {
    outline: 0;
    width: 18%;
    cursor: pointer;
    text-align: center;
    font-weight: 400
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
    background: #eee
}

.flatpickr-input[readonly] {
    cursor: pointer
}

@-webkit-keyframes fpFadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fpFadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -20px, 0)
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}

.u-media-query {
    display: none;
    font-family: "sp"
}

@media all and (min-width: 768px) {
    .u-media-query {
        font-family: "tb"
    }
}

@media all and (min-width: 1160px) {
    .u-media-query {
        font-family: "pc"
    }
}

@media all and (max-width: 1159px) {
    .u-view-pc {
        display: none !important
    }
}

@media all and (max-width: 767px) {
    .u-view-tb {
        display: none !important
    }
}

@media all and (min-width: 1160px) {
    .u-view-tb {
        display: none !important
    }
}

@media all and (min-width: 768px) {
    .u-view-sp {
        display: none !important
    }
}

@media all and (min-width: 1160px) {
    .u-view-under-tb {
        display: none !important
    }
}

@media all and (max-width: 767px) {
    .u-view-upper-tb {
        display: none !important
    }
}

.u-overflow-wrap {
    overflow: auto
}

.u-overflow-wrap .u-overflow-sec {
    overflow: hidden
}

@media all and (min-width: 768px) {
    .u-overflow-wrap .u-overflow-sec {
        min-width: var(--contents_width_with_padding)
    }
}

.u-uppercase {
    text-transform: uppercase
}

.u-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

@media all and (max-width: 767px) {
    .u-txt-left-sp {
        text-align: left
    }
}

.u-txt-center {
    text-align: center
}

@media all and (min-width: 768px) {
    .u-txt-center-pc {
        text-align: center
    }
}

.u-txt-right {
    text-align: right
}

.u-txt-notes {
    text-indent: -1em;
    padding-left: 1em;
    color: rgb(var(--gray500));
    line-height: var(--line_height_head);
    font-size: 1.2rem
}

.u-txt-notes::before {
    content: "※"
}

@media all and (max-width: 767px) {
    .u-txt-notes {
        -moz-column-gap: 3px;
        column-gap: 3px
    }
}

@media all and (min-width: 768px) {
    .u-txt-notes {
        font-size: 1.3rem
    }
}

.u-txt-notes-list {
    display: grid;
    row-gap: 10px
}

a.u-txt-link[class] {
    text-decoration: underline
}

@media all and (min-width: 768px) {
    a.u-txt-link[class]:hover {
        text-decoration: none
    }
}

.no1underline {
    padding-right: 10px;
    display: inline-block;
    font-size: 80px;
    height: 91px;
    background-image: linear-gradient(rgba(var(--yellow500), 0) 66%, rgb(var(--yellow500)) 64%);
}

.u-txt-notfound {
    margin-top: 20px;
    text-align: center
}

@media all and (min-width: 768px) {
    .u-txt-notfound {
        margin-top: 40px
    }
}

.u-txt-head {
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

button.u-alpha,
a.u-alpha {
    text-decoration: none
}

@media all and (min-width: 768px) {

    button.u-alpha,
    a.u-alpha {
        transition: all .3s ease
    }

    button.u-alpha:hover,
    a.u-alpha:hover {
        opacity: .6
    }
}

a.u-zoom {
    display: block;
    text-decoration: none
}

a.u-zoom .u-zoom__img {
    display: block
}

a.u-zoom .u-zoom__img-wrap {
    display: block;
    overflow: hidden
}

@media all and (min-width: 768px) {
    a.u-zoom .u-zoom__img {
        transition: all .3s ease
    }

    a.u-zoom:hover .u-zoom__img {
        transform: scale(1.1)
    }
}

@media all and (min-width: 1160px) {
    .u-link-line {
        position: relative
    }

    .u-link-line::before {
        content: "";
        position: absolute;
        width: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        transform: translateX(0);
        display: block;
        background-color: #fff;
        transition: all .6s ease
    }

    .u-link-line:hover::before {
        width: 100%;
        left: 0
    }
}

.u-inner,
.u-inner-xl,
.u-inner-lg {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px
}

@media all and (min-width: 768px) {

    .u-inner,
    .u-inner-xl,
    .u-inner-lg {
        width: 100%;
        max-width: var(--contents_width);
        margin-right: auto;
        margin-left: auto;
        padding-left: 0;
        padding-right: 0
    }
}

@media all and (min-width: 1160px) {
    .u-inner-lg {
        width: 100%;
        max-width: var(--contents_width_lg_with_padding);
        margin-right: auto;
        margin-left: auto;
        padding-left: var(--body_padding_side_half);
        padding-right: var(--body_padding_side_half)
    }
}

@media all and (min-width: 1160px) {
    .u-inner-xl {
        width: 100%;
        max-width: var(--contents_width_xl_with_padding);
        margin-right: auto;
        margin-left: auto;
        padding-left: var(--body_padding_side_half);
        padding-right: var(--body_padding_side_half)
    }
}

.u-inner-auto {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px
}

.u-font-en {
    font-family: "oswald", sans-serif;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1
}

.u-font-bold {
    font-weight: 700
}

.u-font-black {
    font-weight: 900
}

.u-radius {
    border-radius: 10px
}

.u-radius4 {
    border-radius: 4px
}

.u-radius30 {
    border-radius: 30px
}

@media all and (max-width: 767px) {
    .u-radius5-sp {
        border-radius: 5px
    }

    .u-radius30-sp {
        border-radius: 30px
    }
}

@media all and (min-width: 768px) {
    .u-radius10-pc {
        border-radius: 10px
    }

    .u-radius30-pc {
        border-radius: 30px
    }

    .u-radius80-pc {
        border-radius: 80px
    }
}

.u-overflow {
    overflow: hidden
}

.u-drop-shadow {
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16))
}

@media(hover) {
    a.u-drop-shadow {
        transition: all .3s ease
    }

    a.u-drop-shadow:hover {
        filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2))
    }
}

.u-object-fit,
.u-object-fit-movie,
.u-object-fit-vertical,
.u-object-fit-case {
    position: relative;
    overflow: hidden
}

.u-object-fit::after,
.u-object-fit-movie::after,
.u-object-fit-vertical::after,
.u-object-fit-case::after {
    display: block;
    content: "";
    padding-top: 66%
}

.u-object-fit img,
.u-object-fit-movie img,
.u-object-fit-vertical img,
.u-object-fit-case img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.u-object-fit.is-contain img,
.is-contain.u-object-fit-movie img,
.is-contain.u-object-fit-vertical img,
.is-contain.u-object-fit-case img {
    -o-object-fit: contain;
    object-fit: contain
}

@media all and (max-width: 767px) {
    .u-object-fit-sp {
        position: relative;
        overflow: hidden
    }

    .u-object-fit-sp::after {
        display: block;
        content: "";
        padding-top: 66%
    }

    .u-object-fit-sp img {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.u-object-fit-case::after {
    padding-top: 123%
}

.u-object-fit-case img {
    -o-object-fit: contain;
    object-fit: contain
}

.u-object-fit-vertical::after {
    padding-top: 150%
}

.u-object-fit-movie::after {
    padding-top: 56.2%
}

.u-object-fit-movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.u-object-cover {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left top;
    object-position: left top;
    width: 100%;
    height: 100%
}

.u-object-contain {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left top;
    object-position: left top;
    width: 100%;
    height: 100%
}

.c-anchor01 {
    position: relative
}

.c-anchor01__link {
    position: relative;
    display: block
}

.c-anchor01__num {
    margin-bottom: -3px;
    line-height: 1;
    font-weight: 900;
    font-size: 3rem;
    text-align: center
}

.c-anchor01__area-txt {
    padding: 5px 5px 13px
}

.c-anchor01__txt {
    margin-top: 6px;
    text-align: center;
    font-weight: 900;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    color: #fff
}

.c-anchor01__arrow {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 0;
    transform: translate(-50%, 13px);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010.7%205.91%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%20.9A.9.9%200%200%201%201.5.24l3.85%203.54L9.19.24a.9.9%200%201%201%201.22%201.32l-4.45%204.1a.9.9%200%200%201-1.22%200L.29%201.57A.9.9%200%200%201-.01.9Z%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%201528%22%2F%3E%3C%2Fsvg%3E");
    background-size: 10px;
    background-position: 50% 13px;
    background-repeat: no-repeat
}

@media all and (min-width: 768px) {
    .c-anchor01__num {
        margin-bottom: -5px;
        text-align: left;
        font-size: 5.4rem
    }

    .c-anchor01__area-txt {
        position: relative;
        padding: 15px
    }

    .c-anchor01__img {
        position: relative;
        z-index: 1
    }

    .c-anchor01__txt {
        position: absolute;
        z-index: 1;
        right: 15px;
        bottom: 12px;
        padding: 5px 5px 0 18px;
        border-top-left-radius: 10px;
        font-size: 2.8rem
    }

    .c-anchor01__arrow {
        width: 50px;
        height: 50px;
        transform: translate(-50%, 25px);
        background-size: 17px;
        background-position: 50% 25px
    }
}

.c-anchor01-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 7px;
    column-gap: 7px
}

@media all and (min-width: 768px) {
    .c-anchor01-list {
        -moz-column-gap: 20px;
        column-gap: 20px
    }
}

.c-anchor02 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: relative;
    border-top: 1px solid rgba(var(--gray300))
}

.c-anchor02__item {
    border-bottom: 1px solid rgba(var(--gray300))
}

.c-anchor02__item:nth-of-type(even) {
    border-left: 1px solid rgba(var(--gray300))
}

.c-anchor02__link {
    padding: 13px 30px 13px 11px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    box-sizing: border-box;
    font-size: 1.6rem
}

.c-anchor02__link::after {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(90deg)
}

@media all and (min-width: 768px) {
    .c-anchor02 {
        grid-template-columns: repeat(3, 1fr);
        border-top: 0;
        gap: 25px
    }

    .c-anchor02__item {
        height: 80px;
        border-bottom: 0
    }

    .c-anchor02__item:nth-of-type(even) {
        border-left: 0
    }

    .c-anchor02__link {
        justify-content: center;
        font-weight: 900;
        height: 100%;
        box-sizing: border-box;
        padding: 25px;
        font-size: 2rem;
        text-align: center;
        border-radius: 999px;
        color: rgba(var(--blue700));
        border: 2px solid rgba(var(--blue700))
    }

    .c-anchor02__link::after {
        right: 20px;
        width: 16px !important;
        height: 16px !important;
        background-color: rgba(var(--blue700)) !important
    }
}

.c-anchor01-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 7px;
    column-gap: 7px
}

@media all and (min-width: 768px) {
    .c-anchor01-list {
        -moz-column-gap: 20px;
        column-gap: 20px
    }
}

.c-anchor03 {
    position: relative;
    max-width: 295px;
    margin: 0 auto;
    width: 100%;
    height: 55px
}

.c-anchor03__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    padding: 10px;
    line-height: 1.3;
    text-align: center;
    border-radius: 999px;
    color: rgba(var(--blue700));
    background-color: #fff;
    font-weight: 900
}

.c-anchor03__link::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: 15px;
    width: 12px !important;
    height: 12px !important;
    background-color: rgba(var(--blue700)) !important
}

.c-anchor03__num {
    font-size: 1.2rem
}

@media all and (min-width: 768px) {
    .c-anchor03 {
        height: 70px
    }

    .c-anchor03__link {
        padding: 15px
    }

    .c-anchor03__link::after {
        right: 20px;
        width: 16px !important;
        height: 16px !important
    }

    .c-anchor03__num {
        font-size: 1.4rem
    }

    .c-anchor03__txt {
        font-size: 1.7rem
    }
}

.c-anchor03-list {
    display: grid;
    row-gap: 10px
}

@media all and (min-width: 768px) {
    .c-anchor03-list {
        max-width: 920px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0 20px
    }
}

.c-anchor04 {
    position: relative;
    max-width: 295px;
    margin: 0 auto;
    width: 100%;
    height: 55px
}

.c-anchor04__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    padding: 10px;
    line-height: 1.3;
    text-align: center;
    border-radius: 999px;
    font-weight: 900
}

.c-anchor04__link::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: 15px;
    width: 12px !important;
    height: 12px !important
}

.c-anchor04__num {
    font-size: 1.2rem
}

@media all and (min-width: 768px) {
    .c-anchor04 {
        height: 70px
    }

    .c-anchor04__link {
        padding: 15px;
        transition: all .3s ease
    }

    .c-anchor04__link::after {
        right: 20px;
        width: 16px !important;
        height: 16px !important
    }

    .c-anchor04__link:hover {
        background-color: rgba(var(--blue700))
    }

    .c-anchor04__num {
        font-size: 1.4rem
    }

    .c-anchor04__txt {
        font-size: 1.7rem
    }
}

.c-anchor04-list {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr)
}

@media all and (min-width: 768px) {
    .c-anchor04-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 -10px;
        gap: 0
    }

    .c-anchor04-list .c-anchor04 {
        width: calc(25% - 20px);
        margin: 0 10px
    }
}

@media all and (max-width: 767px) {
    .c-archive01.is-archive .c-archive01__item:first-of-type .c-archive01__item-in {
        display: block !important;
        padding: 0 0 20px
    }

    .c-archive01.is-archive .c-archive01__item:first-of-type .c-archive01__item-date {
        margin-top: 10px
    }

    .c-archive01.is-archive .c-archive01__item:first-of-type .c-archive01__item-head {
        margin-top: 5px;
        -webkit-line-clamp: 2
    }
}

@media all and (min-width: 768px) {
    .c-archive01.is-archive .c-archive01__item:first-of-type {
        grid-column: 1/3;
        grid-row: 1/3;
        padding-right: 50px
    }

    .c-archive01.is-archive .c-archive01__item:nth-of-type(3) {
        margin-top: -20px;
        padding-top: 0
    }

    .c-archive01.is-archive .c-archive01__item:first-of-type .c-archive01__item-head {
        font-size: 2rem;
        -webkit-line-clamp: 1
    }

    .c-archive01.is-archive .c-archive01__item:first-of-type .c-archive01__item-date {
        margin-top: 25px
    }

    .c-archive01.is-archive .c-archive01__item:nth-of-type(2),
    .c-archive01.is-archive .c-archive01__item:nth-of-type(3) {
        margin-left: -35px
    }

    .c-archive01.is-archive .c-archive01__item:nth-of-type(2) .c-archive01__item-head,
    .c-archive01.is-archive .c-archive01__item:nth-of-type(3) .c-archive01__item-head {
        -webkit-line-clamp: 1
    }
}

@media all and (min-width: 768px) {
    .c-archive01 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 50px 25px
    }
}

.c-archive01__item-thumb {
    position: relative;
    z-index: 0;
    grid-row: 1/3;
    border-radius: 10px;
    overflow: hidden;
    background: rgb(var(--blue100))
}

.c-archive01__item-date {
    font-size: 1.3rem
}

.c-archive01__item-head {
    font-size: 1.8rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
}

.c-archive01__item-txt {
    margin-top: 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
}

.c-archive01__item-cats {
    grid-column: 1/3;
    margin-top: 10px
}

@media all and (max-width: 767px) {
    .c-archive01__item+.c-archive01__item {
        border-top: 1px solid rgb(var(--gray300))
    }

    .c-archive01__item:last-of-type {
        border-bottom: 1px solid rgb(var(--gray300))
    }

    .c-archive01__item-in {
        display: grid !important;
        grid-template-columns: 112px auto;
        gap: 0 11px;
        align-items: start;
        padding: 15px 0
    }
}

@media all and (min-width: 768px) {

    .c-archive01__item:nth-of-type(4),
    .c-archive01__item:nth-of-type(5),
    .c-archive01__item:nth-of-type(6) {
        margin-top: 10px
    }

    .c-archive01__item-in {
        transition: all .3s ease
    }

    .c-archive01__item-in:hover .c-archive01__item-head {
        color: rgba(var(--blue500))
    }

    .c-archive01__item-date {
        margin-top: 12px;
        font-size: 1.3rem
    }

    .c-archive01__item-head {
        transition: all .3s ease;
        margin-top: 2px;
        font-size: 1.6rem;
        -webkit-line-clamp: 2
    }

    .c-archive01__item-cats {
        margin-top: 15px
    }
}

.c-archive01__notfound {
    padding: 30px 0;
    text-align: center
}

@media all and (min-width: 768px) {
    .c-archive01__notfound {
        padding: 50px 0
    }
}

@media all and (min-width: 768px) {
    .c-case-archive01 {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 80px 30px
    }
}

.c-case-archive01__item-head {
    padding-bottom: 10px;
    font-size: 1.6rem
}

.c-case-archive01__item-info {
    display: flex;
    font-size: 1.4rem
}

.c-case-archive01__item-info+.c-case-archive01__item-info {
    margin-top: 2px
}

.c-case-archive01__item-info.is-price {
    align-items: flex-end
}

.c-case-archive01__item-info-label::after {
    content: "："
}

.c-case-archive01__item-info-price {
    font-size: 1.6rem
}

.c-case-archive01__item-info-txt {
    flex: 2 0 50%
}

.c-case-archive01__item-info-txt-num {
    letter-spacing: .05em;
    line-height: 1;
    font-size: 2.6rem
}

.c-case-archive01__item-txt {
    grid-column: 1/3;
    margin-top: 3px
}

.c-case-archive01__item-date {
    grid-column: 1/3;
    margin-top: 5px;
    font-size: 1.2rem;
    text-align: right
}

@media all and (max-width: 767px) {
    .c-case-archive01__item {
        padding: 20px 0
    }

    .c-case-archive01__item+.c-case-archive01__item {
        border-top: 1px solid rgb(var(--gray300))
    }

    .c-case-archive01__item-wrap {
        display: grid !important;
        grid-template-columns: 120px auto;
        gap: 0 12px;
        align-items: start
    }
}

@media all and (min-width: 768px) {
    .c-case-archive01__item-area-txt {
        margin-top: 15px
    }

    .c-case-archive01__item-head {
        padding-bottom: 10px;
        margin-bottom: 10px;
        font-size: 2rem;
        border-bottom: 1px solid rgba(var(--gray300))
    }

    .c-case-archive01__item-info {
        margin-top: 15px;
        font-size: 1.6rem
    }

    .c-case-archive01__item-info+.c-case-archive01__item-info {
        margin-top: 0
    }

    .c-case-archive01__item-info-price {
        font-size: 2rem;
        line-height: 1.5
    }

    .c-case-archive01__item-info-txt-num {
        font-size: 3.4rem
    }

    .c-case-archive01__item-txt {
        margin-top: 5px
    }

    .c-case-archive01__item-date {
        margin-top: 12px;
        font-size: 1.6rem
    }
}

.c-example-archive01 {
    background: #fff;
    display: grid;
    gap: 20px 0
}

.c-example-archive01__wrap {
    display: grid;
    grid-template-columns: 55% 1fr;
    grid-template-rows: repeat(3, auto);
    grid-template-areas: "img cat" "img price" "discount discount";
    gap: 0 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(var(--gray300))
}

.c-example-archive01__imgs {
    grid-area: img
}

.c-example-archive01__cat {
    grid-area: cat
}

.c-example-archive01__cat-item {
    display: inline-block;
    padding: 3px 6px;
    text-align: center;
    border: 1px solid;
    border-radius: 9999px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: var(--line_height_head)
}

.c-example-archive01__item-price {
    grid-area: price;
    margin-top: 10px
}

.c-example-archive01__item-price__label {
    font-weight: bold;
    line-height: var(--line_height_head)
}

.c-example-archive01__item-price__detail {
    text-align: right;
    font-weight: 900;
    color: rgb(var(--red700));
    line-height: 1.2;
    font-size: 1.6rem
}

.c-example-archive01__item-price__detail-num {
    position: relative;
    top: -2px;
    margin-right: 3px;
    font-weight: 700;
    font-size: 2.8rem;
    letter-spacing: 0
}

.c-example-archive01__item-price__detail-label {
    font-size: 1.2rem
}

.c-example-archive01__item-discount {
    margin-top: 5px;
    grid-area: discount
}

.c-example-archive01__item-discount__txt {
    font-weight: bold
}

.c-example-archive01__item-discount__detail {
    margin-top: 5px;
    color: rgba(var(--gray300))
}

.c-example-archive01__item-discount__detail-txt {
    display: inline-block
}

.c-example-archive01__item-discount__detail-txt+.c-example-archive01__item-discount__detail-txt {
    margin-left: 10px
}

.c-example-archive01__item-discount__detail-txt.is-active {
    font-weight: bold;
    color: rgba(var(--gray900))
}

.c-example-archive01__item-btn {
    text-align: right
}

.c-example-archive01__item-btn-link {
    display: inline-block;
    padding: 8px 0;
    text-decoration: underline !important;
    font-size: 1.3rem
}

@media all and (min-width: 768px) {
    .c-example-archive01 {
        gap: 50px 65px;
        grid-template-columns: repeat(2, 1fr)
    }

    .c-example-archive01__wrap {
        display: grid;
        grid-template-columns: 230px 1fr;
        grid-template-rows: repeat(2, auto);
        grid-template-areas: "img cat" "img price" "img discount";
        gap: 0 30px
    }

    .c-example-archive01__imgs {
        max-height: 162px
    }

    .c-example-archive01__cat-item {
        padding: 3px 10px;
        margin: 0 3px 3px 0
    }

    .c-example-archive01__label-photo {
        width: 50% !important;
        height: auto !important;
        font-size: 1.1rem !important
    }

    .c-example-archive01__item-price {
        display: flex;
        justify-content: space-between;
        margin-top: 5px;
        padding-right: 30px
    }

    .c-example-archive01__item-price__detail {
        position: relative;
        top: -4px;
        font-size: 2rem
    }

    .c-example-archive01__item-price__detail-num {
        top: 0;
        font-size: 3rem
    }

    .c-example-archive01__item-price__detail-label {
        font-size: 1.4rem
    }

    .c-example-archive01__item-discount {
        margin-top: 0;
        padding-right: 30px;
        font-size: 1.4rem
    }

    .c-example-archive01__item-discount__detail {
        margin-top: 0
    }

    .c-example-archive01__item-discount__detail-txt+.c-example-archive01__item-discount__detail-txt {
        margin-left: 4px
    }

    .c-example-archive01__item-btn-link {
        font-size: 1.6rem;
        transition: all .3s ease
    }

    .c-example-archive01__item-btn-link:hover {
        color: rgba(var(--blue500));
        text-decoration: none !important
    }
}

.c-bg-before::before {
    position: absolute;
    content: "";
    z-index: -5;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.c-bg-after::after {
    position: absolute;
    content: "";
    z-index: -4;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.c-bg-white {
    background: #fff
}

.c-bg-gray100 {
    background-color: rgb(var(--gray100))
}

.c-bg-gray300 {
    background-color: rgb(var(--gray300))
}

.c-bg-gray400 {
    background-color: rgb(var(--gray400))
}

.c-bg-gray500 {
    background-color: rgb(var(--gray500))
}

.c-bg-gray900 {
    background-color: rgb(var(--gray900))
}

.c-bg-green100 {
    background-color: rgb(var(--green100))
}

.c-bg-green500 {
    background-color: rgb(var(--green500))
}

.c-bg-green600 {
    background-color: rgb(var(--green600))
}

.c-bg-blue100 {
    background-color: rgb(var(--blue100))
}

.c-bg-blue300 {
    background-color: rgb(var(--blue300))
}

.c-bg-blue500 {
    background-color: rgb(var(--blue500))
}

.c-bg-blue700 {
    background-color: rgb(var(--blue700))
}

.c-bg-blue900 {
    background-color: rgb(var(--blue900))
}

.c-bg-red100 {
    background-color: rgb(var(--red100))
}

.c-bg-red500 {
    background-color: rgb(var(--red500))
}

.c-bg-red700 {
    background-color: rgb(var(--red700))
}

.c-bg-red900 {
    background-color: rgb(var(--red900))
}

.c-bg-orange100 {
    background-color: rgb(var(--orange100))
}

.c-bg-orange500 {
    background-color: rgb(var(--orange500))
}

.c-bg-cream100 {
    background-color: rgb(var(--cream100))
}

.c-bg-cream500 {
    background-color: rgb(var(--cream500))
}

.c-bg-yellow100 {
    background-color: rgb(var(--yellow100))
}

.c-bg-yellow200 {
    background-color: rgb(var(--yellow200))
}

.c-bg-yellow300 {
    background-color: rgb(var(--yellow300))
}

.c-bg-yellow400 {
    background-color: rgb(var(--yellow400))
}

.c-bg-yellow500 {
    background-color: rgb(var(--yellow500))
}

.c-bg-yellow700 {
    background-color: rgb(var(--yellow700))
}

.c-bg-copy {
    font-weight: 900;
    border-radius: 4px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone
}

.c-bg-copy-start {
    margin-left: -0.5em
}

.c-bg-copy-end {
    margin-right: -0.5em
}

@-webkit-keyframes bgLoop {
    from {
        background-position: 0 0
    }

    to {
        background-position: -500px -2000px
    }
}

@keyframes bgLoop {
    from {
        background-position: 0 0
    }

    to {
        background-position: -500px -2000px
    }
}

.c-bg-loop01 {
    -webkit-animation: bgLoop 90s linear infinite;
    animation: bgLoop 90s linear infinite;
    background-size: 354px
}

.no-webp .c-bg-loop01,
.no-js .c-bg-loop01 {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/blue-background.png);
}

.webp .c-bg-loop01 {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/blue-background.png);
}

.c-bg-loop02 {
    -webkit-animation: bgLoop 90s linear infinite;
    animation: bgLoop 90s linear infinite;
    background-size: 354px
}

.no-webp .c-bg-loop02,
.no-js .c-bg-loop02 {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/blue-background.png)
}

.webp .c-bg-loop02 {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/blue-background.png)
}

@media all and (min-width: 768px) {
    .c-bg-loop02 {
        background-size: 749px
    }
}

.c-bg-loop03 {
    -webkit-animation: bgLoop 90s linear infinite;
    animation: bgLoop 90s linear infinite;
    background-size: 354px
}

.no-webp .c-bg-loop03,
.no-js .c-bg-loop03 {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern03.png)
}

.webp .c-bg-loop03 {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern03.png.webp)
}

@media all and (min-width: 768px) {
    .c-bg-loop03 {
        background-size: 749px
    }
}

.c-bg-pattern01 {
    background-repeat: repeat;
    background-position: 0 0;
    background-size: 354px
}

.no-webp .c-bg-pattern01,
.no-js .c-bg-pattern01 {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern01.png)
}

.webp .c-bg-pattern01 {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern01.png.webp)
}

@media all and (min-width: 768px) {
    .c-bg-pattern01 {
        background-size: 749px
    }
}

.no-webp .c-bg-pattern02,
.no-js .c-bg-pattern02 {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/bg_pattern02.png.png)
}

.webp .c-bg-pattern02 {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/bg_pattern02.png.webp)
}

@media all and (min-width: 768px) {
    .c-bg-pattern02 {
        background-size: 749px
    }
}

.c-bg-pattern03 {
    background-repeat: repeat;
    background-position: 0 0;
    background-size: 354px
}

.no-webp .c-bg-pattern03,
.no-js .c-bg-pattern03 {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern03.png)
}

.webp .c-bg-pattern03 {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern03.png.webp)
}

@media all and (min-width: 768px) {
    .c-bg-pattern03 {
        background-size: 749px
    }
}

.c-bg-cv-top {
    position: relative
}

.c-bg-cv-top::before {
    position: absolute;
    content: "";
    z-index: -5;
    top: -183px;
    left: 0;
    width: 100%;
    height: 183px;
    background-color: rgb(var(--blue100))
}

.c-bg-cv-bottom {
    position: relative
}

.c-bg-cv-bottom::before {
    position: absolute;
    content: "";
    z-index: -5;
    bottom: -330px;
    left: 0;
    width: 100%;
    height: 330px;
    background-color: rgb(var(--blue100))
}

.c-bnrs-footer {
    padding-top: 30px
}

.c-bnrs-footer-list {
    display: grid;
    row-gap: 10px;
    margin-top: 20px
}

.c-bnrs-footer-list__item-link {
    display: block
}

@media all and (min-width: 768px) {
    .c-bnrs-footer {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .c-bnrs-footer-list {
        margin-top: 40px;
        grid-template-columns: repeat(3, 1fr);
        gap: 0 26px
    }
}

.c-bnrs-high {
    display: grid;
    row-gap: 10px
}

@media all and (min-width: 768px) {
    .c-bnrs-high {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0 25px
    }
}

.c-bnrs-low.has-border {
    padding-top: 40px;
    border-top: 1px solid rgba(var(--blue500), 0.5)
}

@media all and (min-width: 768px) {
    .c-bnrs-low.has-border {
        padding-top: 60px
    }
}

.c-bnrs-low {
    display: grid;
    row-gap: 10px
}

.c-bnrs-low__item-link {
    display: block
}

.c-bnrs-low__item-link img {
    box-sizing: border-box
}

.c-bnrs-low__item-txt {
    margin-top: 10px;
    line-height: 1.6
}

.c-bnrs-low__item.has-bg {
    margin: 0 -20px;
    padding: 20px;
    background: rgb(var(--blue500), 0.1)
}

@media all and (min-width: 768px) {
    .c-bnrs-low {
        display: flex;
        justify-content: center;
        max-width: var(--contents_width);
        margin-right: auto;
        margin-left: auto
    }

    .c-bnrs-low.is-col2-pc .c-bnrs-low__item:not(:first-of-type) {
        margin-left: 26px
    }

    .c-bnrs-low__item.has-bg {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 40px
    }

    .c-bnrs-low__item.has-bg .c-bnrs-low__item-link {
        width: 468px;
        margin: auto
    }
}

.c-bnrs-low__item-link .bnr-flow {
    border: 5px solid rgb(var(--blue500))
}

.c-btn-cv01__link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 64px;
    border-radius: 9999px;
    box-sizing: border-box;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .1)
}

.c-btn-cv01__link::before {
    position: absolute;
    content: "";
    display: block;
    top: 5px;
    left: 5px;
    width: 40px;
    height: 35px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20x%3D%220%22%20y%3D%220%22%20style%3D%22enable-background%3Anew%200%200%2040%2035%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2035%22%3E%3Cstyle%3E.st0%7Bfill%3A%23fff%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22%E7%B7%9A_1489%22%20d%3D%22M39%202h-1c-.6%200-1-.4-1-1s.4-1%201-1h1c.6%200%201%20.4%201%201s-.4%201-1%201z%22%20class%3D%22st0%22%2F%3E%3Cpath%20d%3D%22M2%2028C2%2013.7%2013.7%202%2028%202h7V0h-7C12.6%200%200%2012.6%200%2028c0%202.4.3%204.8.9%207H3c-.7-2.2-1-4.6-1-7z%22%20class%3D%22st0%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/cover
}

.c-btn-cv01__link::after {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%)
}

.c-btn-cv01__link-line {
    background-color: rgb(var(--green600))
}

.c-btn-cv01__link-mail {
    background-color: rgb(var(--red700))
}

.c-btn-cv01__link-txt {
    font-weight: 900;
    font-size: 1.5rem;
    color: #fff
}

@media all and (min-width: 768px) {
    .c-btn-cv01__link {
        flex-direction: column;
        padding-bottom: 8px;
        height: 100px;
        transition: all .3s ease
    }

    .c-btn-cv01__link-line:hover {
        background-color: rgb(var(--green300))
    }

    .c-btn-cv01__link-mail:hover {
        background-color: rgb(var(--red300))
    }

    .c-btn-cv01__link::before {
        width: 65px;
        height: 56px;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20x%3D%220%22%20y%3D%220%22%20style%3D%22enable-background%3Anew%200%200%2065%2055%22%20version%3D%221.1%22%20viewBox%3D%220%200%2065%2055%22%3E%3Cstyle%3E.st0%7Bfill%3A%23fff%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22%E7%B7%9A_1489_00000121255407044376945640000003379702016707933338_%22%20d%3D%22M64%202h-4c-.6%200-1-.4-1-1s.4-1%201-1h4c.6%200%201%20.4%201%201s-.4%201-1%201z%22%20class%3D%22st0%22%2F%3E%3Cpath%20d%3D%22M2%2045C2%2021.3%2021.3%202%2045%202h10V0H45c-.8%200-1.7%200-2.5.1A45.04%2045.04%200%200%200%200%2044.2v1.4C0%2048.8.4%2052%201.1%2055h2.1C2.4%2051.8%202%2048.4%202%2045z%22%20class%3D%22st0%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/cover
    }

    .c-btn-cv01__link::after {
        right: 15px
    }

    .c-btn-cv01__link-txt {
        font-size: 2.2rem;
        line-height: 1.1
    }

    .c-btn-cv01__link-txt.is-line {
        font-size: 3rem
    }

    .c-btn-cv01__link-txt.is-line span {
        font-size: 2.2rem
    }

    .c-btn-cv01__link-txt.is-mail {
        margin-bottom: 5px;
        padding: 4px 15px;
        font-size: 1.6rem;
        border-radius: 9999px;
        background: rgb(var(--red900))
    }
}

@media all and (min-width: 1160px) {
    .c-btn-cv01__link::after {
        right: 24px
    }
}

@media all and (max-width: 767px) {
    .c-btn-cv02__link {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 57px;
        border-radius: 10px;
        box-shadow: 0 -3px 6px rgba(81, 140, 174, .17)
    }

    .c-btn-cv02__link::before {
        position: absolute;
        content: "";
        display: block;
        top: 3px;
        left: 3px;
        width: 15px;
        height: 10px;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20x%3D%220%22%20y%3D%220%22%20style%3D%22enable-background%3Anew%200%200%2014.9%2011.4%22%20version%3D%221.1%22%20viewBox%3D%220%200%2014.9%2011.4%22%3E%3Cstyle%3E.st0%7Bfill%3A%23fff%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22%E7%B7%9A_1526%22%20d%3D%22M14.2%201.9h-2c-.4%200-.8-.3-.8-.8s.3-.8.8-.8h2c.4%200%20.8.3.8.8s-.4.8-.8.8z%22%20class%3D%22st0%22%2F%3E%3Cpath%20d%3D%22M1.5%207C1.5%204%204%201.5%207%201.5h2.2V0H6.3C3.1.3.5%202.8.1%206c-.1.4-.1.7-.1%201v4.4h1.5V7z%22%20class%3D%22st0%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/cover
    }

    .c-btn-cv02__link-line {
        background-color: rgb(var(--green600))
    }

    .c-btn-cv02__link-mail {
        background-color: rgb(var(--red700))
    }

    .c-btn-cv02__link-txt {
        font-weight: 700;
        font-size: 1.1rem;
        line-height: 1.1;
        color: #fff
    }

    .c-btn-cv02__link-txt.is-line {
        font-size: 1.6rem
    }

    .c-btn-cv02__link-txt.is-mail {
        font-size: 1.4rem
    }

    .c-btn-cv02__link-txt:first-of-type {
        margin-bottom: 2px;
        font-weight: 900
    }
}

.c-btn-tel01.is-contact .c-btn-tel01__link {
    position: relative;
    padding-top: 15px;
    background-color: #fff
}

.c-btn-tel01.is-contact .c-btn-tel01__link::before {
    z-index: 2;
    top: 50%;
    right: 2px;
    transform: translateY(-50%);
    margin-right: 0 !important;
    width: 8px;
    height: 15px;
    background-color: #fff !important
}

.c-btn-tel01.is-contact .c-btn-tel01__link::after {
    position: absolute;
    content: "";
    bottom: 0;
    right: 0;
    width: 15px;
    height: 100px;
    border-radius: 0 8px 8px 0;
    background: rgba(var(--blue700))
}

.c-btn-tel01.is-contact .c-btn-tel01__link-num {
    grid-template-columns: 39px 1fr;
    font-size: 3.1rem
}

@media all and (min-width: 768px) {
    .c-btn-tel01.is-contact .c-btn-tel01__link {
        height: auto;
        pointer-events: none;
        border: 0;
        padding: 0
    }

    .c-btn-tel01.is-contact .c-btn-tel01__link::after,
    .c-btn-tel01.is-contact .c-btn-tel01__link::before {
        content: none
    }

    .c-btn-tel01.is-contact .c-btn-tel01__link-num {
        grid-template-columns: 70px 1fr;
        margin: 5px -15px 0 auto;
        font-size: 6.3rem
    }

    .c-btn-tel01.is-contact .c-btn-tel01__link-open {
        margin-top: 10px;
        font-size: 1.7rem
    }
}

.c-btn-tel01__link {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100px;
    padding-top: 4px;
    padding-right: 16px;
    border-radius: 10px;
    border: 3px solid rgb(var(--blue700));
    background-color: rgb(var(--blue300));
    box-sizing: border-box
}

.c-btn-tel01__link-txt {
    position: absolute;
    display: inline-block;
    z-index: 0;
    top: 0;
    left: 50%;
    padding: 0 20px 1px;
    transform: translate(-50%, -50%);
    color: #fff;
    border-radius: 9999px;
    font-size: 1.2rem;
    background: rgb(var(--blue700));
    white-space: nowrap
}

.c-btn-tel01__link-num {
    display: grid;
    grid-template-columns: 39px 1fr;
    align-items: flex-end;
    -moz-column-gap: 2px;
    column-gap: 2px;
    font-size: 3.4rem
}

.c-btn-tel01__link-open {
    font-size: 1.1rem;
    text-indent: 1.5em
}

@media all and (max-width: 767px) {
    .c-btn-tel01__link::before {
        position: absolute;
        z-index: 0;
        content: "";
        display: block;
        top: 0;
        right: 0;
        bottom: 0;
        width: 12px;
        background: rgb(var(--blue700));
        border-radius: 0 6px 6px 0
    }

    .c-btn-tel01__link::after {
        position: absolute;
        display: block;
        z-index: 0;
        top: 50%;
        right: 2px;
        width: 5px;
        transform: translateY(-50%)
    }
}

@media all and (min-width: 768px) {
    .c-btn-tel01__link {
        height: 110px;
        padding: 0;
        border-radius: 9999px;
        pointer-events: none
    }

    .c-btn-tel01__link.c-ico-line-arrow01::after {
        display: none
    }

    .c-btn-tel01__link-txt {
        top: -4px;
        font-size: 1.6rem;
        transform: translate(-50%, -10px)
    }

    .c-btn-tel01__link-num {
        grid-template-columns: 50px 1fr;
        margin: 20px auto 0;
        font-size: 4rem
    }

    .c-btn-tel01__link-open {
        font-size: 1.5rem
    }
}

@media all and (min-width: 1160px) {
    .c-btn-tel01__link-txt {
        top: -7px
    }

    .c-btn-tel01__link-num {
        margin: 15px auto 0;
        font-size: 4.6rem
    }
}

@media all and (max-width: 767px) {
    .c-btn-tel02__link {
        position: relative;
        display: grid;
        place-content: center;
        height: 57px;
        padding-right: 12px;
        border-radius: 10px;
        border: 2px solid rgb(var(--blue700));
        background-color: #fff;
        box-shadow: 0 -2px 0 rgba(0, 0, 0, .1) inset, 0 -3px 6px rgba(81, 140, 174, .17);
        box-sizing: border-box
    }

    .c-btn-tel02__link.has-chara {
        padding-left: 43px
    }

    .c-btn-tel02__link-chara {
        position: absolute;
        display: block;
        bottom: -2px;
        left: -6px;
        width: 47px;
        height: 66px;
        overflow: hidden
    }

    .c-btn-tel02__link::before {
        position: absolute;
        z-index: 0;
        content: "";
        display: block;
        top: 0;
        right: 0;
        bottom: 0;
        width: 11px;
        background: rgb(var(--blue700));
        border-top-right-radius: 6px;
        border-bottom-right-radius: 6px
    }

    .c-btn-tel02__link::after {
        position: absolute;
        display: block;
        z-index: 0;
        top: 50%;
        right: 1px;
        width: 5px;
        transform: translateY(-50%)
    }

    .c-btn-tel02__link-num {
        display: grid;
        grid-template-columns: 26px 1fr;
        align-items: flex-end;
        -moz-column-gap: 2px;
        column-gap: 2px;
        font-size: 2.2rem
    }

    .c-btn-tel02__link-open {
        font-size: 1rem;
        line-height: 1.2;
        text-align: center
    }
}

.c-btn01.is-back .c-btn01__link::after {
    right: auto;
    left: 16px;
    transform: scale(-1, 1) translateY(-50%)
}

.c-btn01.is-bg-white .c-btn01__link {
    color: rgb(var(--blue700));
    background: #fff
}

.c-btn01.is-bg-white .c-btn01__link-arrow {
    color: rgb(var(--blue700))
}

@media all and (min-width: 768px) {
    .c-btn01.is-bg-white .c-btn01__link:hover {
        background: rgb(var(--blue300))
    }
}

@media all and (min-width: 768px) {
    .c-btn01.is-wide-pc {
        max-width: 500px
    }
}

.c-btn01 {
    margin-right: auto;
    margin-left: auto
}

.c-btn01__link {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 55px;
    line-height: var(--line_height_head);
    color: #fff;
    font-weight: 900;
    background: rgb(var(--blue500));
    border-radius: 9999px;
    text-align: center
}

.c-btn01__link::after {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%)
}

.c-btn01__link[href^="#"]::after {
    transform: translateY(-50%) rotate(90deg)
}

.c-btn01__link[target=_blank]::after {
    background-color: #fff !important
}

@media all and (max-width: 767px) {
    .c-btn01 {
        width: 295px
    }
}

@media all and (min-width: 768px) {
    .c-btn01 {
        width: 100%;
        max-width: 300px
    }

    .c-btn01__link {
        height: auto;
        font-size: 1.7rem;
        transition: all .3s ease
    }
    a.c-btn01__link.c-ico-arrow01 {
            width: 100%;
    padding: 20px;
    }

    .c-btn01__link::after {
        right: 24px
    }

    .c-btn01__link:hover {
        background: rgb(var(--blue700))
    }
}

.c-btn01-list {
    display: grid;
    row-gap: 10px;
    padding: 20px
}

@media all and (min-width: 768px) {
    .c-btn01-list {
        padding: 40px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center
    }

    .c-btn01-list .c-btn01 {
        margin: 0 0 0 30px
    }
}

.c-btn02__link {
    display: flex;
    align-items: center;
    line-height: 1;
    font-size: 1.5rem;
    font-weight: 900
}

.c-btn02__link::after {
    content: "";
    width: 20px;
    height: 20px;
    margin-left: 6px
}

@media all and (min-width: 768px) {
    .c-btn02__link {
        font-size: 1.8rem;
        transition: color .3s ease
    }

    .c-btn02__link:hover {
        color: rgb(var(--blue500))
    }

    .c-btn02__link::after {
        position: relative;
        top: 1px
    }
}

.c-btn02-list {
    display: flex
}

.c-btn02-list .c-btn02:not(:first-of-type) {
    margin-left: 20px
}

@media all and (min-width: 768px) {
    .c-btn02-list .c-btn02:not(:first-of-type) {
        margin-left: 20px
    }

    .c-btn02-list.is-flex-end {
        justify-content: flex-end
    }
}

.c-btn03__link {
    position: relative;
    display: grid;
    grid-template-columns: 80px 1fr;
    align-items: center;
    -moz-column-gap: 8px;
    column-gap: 8px;
    padding: 8px;
    background: #fff;
    border-radius: 10px;
    border: 2px solid rgb(var(--blue500))
}

.c-btn03__link::after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 19px;
    height: 19px;
    transform: translateY(-50%)
}

.c-btn03__link-txt {
    font-size: 1.8rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

@media all and (min-width: 768px) {
    .c-btn03__link {
        grid-template-columns: 100px 1fr;
        -moz-column-gap: 20px;
        column-gap: 20px
    }

    .c-btn03__link::after {
        top: auto;
        bottom: 0
    }

    .c-btn03__link-txt {
        font-size: 2rem
    }
}

.c-btn03-list {
    display: grid;
    row-gap: 10px
}

@media all and (min-width: 768px) {
    .c-btn03-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 0 25px
    }
}

.c-btn04__link {
    display: grid;
    grid-template-columns: 1fr 16px;
    -moz-column-gap: 10px;
    column-gap: 10px;
    align-items: center;
    padding: 13px 11px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: var(--line_height_head)
}

.c-btn04__link[href^="#"]::after {
    transform: rotate(90deg)
}

@media all and (max-width: 767px) {
    .c-btn04 {
        border: solid rgb(var(--gray300));
        border-width: 0;
        border-bottom-width: 1px
    }

    .c-btn04:nth-of-type(odd) {
        border-right-width: 1px
    }

    .c-btn04:nth-of-type(1),
    .c-btn04:nth-of-type(2) {
        border-top-width: 1px
    }
}

@media all and (min-width: 768px) {
    .c-btn04__link {
        grid-template: "arrow ." /20px 1fr;
        font-size: 1.8rem;
        padding: 20px;
        border-radius: 100px;
        border: 1px solid;
        background: #fff;
    }

    .c-btn04__link[href^="#"]::after {
        grid-area: arrow
    }

    .c-btn04__link[class]:hover {
        text-decoration: underline
    }
}

.c-btn04-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

@media all and (min-width: 768px) {
    .c-btn04-list {
        grid-template-columns: repeat(4, 1fr);
        gap: 40px 10px
    }

    .c-btn04-list.is-col5-pc {
        grid-template-columns: repeat(5, auto)
    }
}

.c-calendar01 .wrap {
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    padding: 0 26px 20px;
    box-shadow: 0 3px 20px rgba(0, 0, 0, .1)
}

.c-calendar01 .head {
    margin: 0 -26px;
    padding: 4px;
    background: rgb(var(--gray800));
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 900
}

.c-calendar01 table {
    text-align: center;
    vertical-align: middle
}

.c-calendar01 table thead th {
    padding: 10px 0 5px;
    font-size: 1.7rem;
    font-weight: 900
}

.c-calendar01 table td {
    padding: 1px 0
}

.c-calendar01 table .off {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    margin: auto;
    font-size: 1.5rem;
    border-radius: 9999px;
    line-height: 1
}

.c-calendar01 table .off.bigDiscount {
    color: #fff;
    background: rgb(var(--red700))
}

.c-calendar01 table .off.discount {
    background: rgb(var(--red100))
}

.c-calendar01 .label {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px -5px 0;
    padding: 5px 0;
    border-radius: 4px;
    background: rgb(var(--blue100));
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: .03em
}

.c-calendar01 .label .txt,
.c-calendar01 .label .bigDiscount,
.c-calendar01 .label .discount {
    display: flex;
    align-items: center;
    margin-left: 5px
}

.c-calendar01 .label .txt::before,
.c-calendar01 .label .bigDiscount::before,
.c-calendar01 .label .discount::before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 9999px;
    margin-right: 3px
}

.c-calendar01 .label .txt::before {
    background: #fff;
    border: 1px solid #ccc;
    box-sizing: border-box
}

.c-calendar01 .label .bigDiscount::before {
    background: rgb(var(--red700))
}

.c-calendar01 .label .discount::before {
    background: rgb(var(--red100));
    border: 1px solid #ccc;
    box-sizing: border-box
}

@media all and (min-width: 768px) {
    .c-calendar01 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        -moz-column-gap: 25px;
        column-gap: 25px
    }

    .c-calendar01 .wrap {
        display: grid;
        grid-template-rows: auto 1fr auto;
        align-items: start;
        padding: 0 30px 20px
    }

    .c-calendar01 .head {
        margin: 0 -30px;
        padding: 9px 0;
        font-size: 2.1rem
    }

    .c-calendar01 table thead th {
        padding: 20px 0 0;
        font-size: 1.8rem
    }

    .c-calendar01 table td {
        padding: 1px 0
    }

    .c-calendar01 table .off {
        font-size: 1.6rem
    }

    .c-calendar01 .label {
        margin: 13px -8px 0;
        padding: 6px 0;
        font-size: 1.3rem
    }
}

@media all and (max-width: 767px) {
    .c-calendar01 .wrap {
        display: none
    }

    .c-calendar01 .wrap.is-current {
        display: block
    }

    .c-calendar01 .switchBtnWrap {
        margin-top: 10px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        -moz-column-gap: 10px;
        column-gap: 10px
    }

    .c-calendar01 .switchBtn {
        padding: 5px 0;
        border-radius: 4px;
        font-size: 1.3rem;
        font-family: inherit;
        font-weight: 700;
        letter-spacing: var(--letter_spacing_base);
        border: 2px solid rgb(var(--blue500));
        color: rgb(var(--blue500))
    }

    .c-calendar01 .switchBtn.is-current {
        background: rgb(var(--blue500));
        color: #fff
    }
}

@media all and (min-width: 768px) {
    .c-calendar01 .switchBtnWrap {
        display: none
    }
}

.c-card-example {
    padding: 0 20px 30px;
    background: #fff;
    box-shadow: 0 3px 30px rgba(81, 140, 174, .17)
}

.c-card-example__cat {
    margin: 0 -20px;
    padding: 8px 0;
    border-radius: 10px 10px 0 0;
    text-align: center;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: var(--line_height_head);
    background: rgb(var(--blue500))
}

.c-card-example__imgs {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-card-example {
        position: relative;
        display: grid;
        align-items: start;
        grid-template-columns: 426px 1fr;
        grid-template-rows: auto 1fr;
        gap: 43px 30px;
        padding: 40px 45px;
        max-width: 1040px
    }

    .c-card-example__cat {
        display: inline-block;
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 10px 22px;
        border-radius: 0 10px 0 4px;
        font-size: 2rem;
        font-weight: 900
    }

    .c-card-example__imgs {
        margin-top: 0
    }
}

.c-card-example-price {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 5px;
    column-gap: 5px;
    align-items: center;
    margin-top: 10px
}

.c-card-example-price__label {
    position: relative;
    top: 5px;
    font-weight: 900;
    font-size: 1.3rem;
    line-height: var(--line_height_head)
}

.c-card-example-price__detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-end;
    font-weight: 900;
    color: rgb(var(--red700));
    line-height: 1
}

.c-card-example-price__detail-num {
    position: relative;
    top: 3px;
    margin-right: 3px;
    font-weight: 700;
    font-size: 3.4rem;
    letter-spacing: 0
}

@media all and (min-width: 768px) {
    .c-card-example-price {
        padding-top: 40px
    }

    .c-card-example-price__label {
        font-size: 2.6rem
    }

    .c-card-example-price__detail {
        justify-content: flex-start;
        font-size: 2.6rem;
        margin-left: 10px
    }

    .c-card-example-price__detail-num {
        font-size: 7rem
    }
}

.c-card-example-discount {
    overflow: hidden;
    margin-top: 15px;
    background-color: rgb(var(--red100));
    padding: 0 15px 13px;
    border-radius: 4px
}

.c-card-example-discount__label {
    text-align: center;
    margin: 0 -15px 10px
}

.c-card-example-discount__detail {
    display: flex;
    flex-wrap: wrap;
    margin-top: -2px
}

.c-card-example-discount__detail-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between
}

.c-card-example-discount__detail-txt {
    position: relative;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: var(--line_height_head)
}

.c-card-example-discount__detail-txt+.c-card-example-discount__detail-txt {
    position: relative;
    padding-left: 11px
}

.c-card-example-discount__detail-txt+.c-card-example-discount__detail-txt::before {
    position: absolute;
    content: "・";
    top: 0;
    left: 0
}

.c-card-example-discount__num {
    line-height: 1.1;
    font-size: 1.8rem
}

@media all and (min-width: 768px) {
    .c-card-example-discount {
        margin-top: 30px;
        padding: 10px;
        display: grid;
        align-items: center;
        grid-template-columns: 100px 1fr;
        grid-template-rows: auto 1fr;
        gap: 0 10px
    }

    .c-card-example-discount__label {
        margin: 0;
        border-radius: 4px;
        font-size: 1.5rem
    }

    .c-card-example-discount__detail-wrap {
        align-items: center;
        justify-content: flex-start
    }

    .c-card-example-discount__detail-txt {
        font-size: 1.5rem
    }

    .c-card-example-discount__num {
        margin-left: 10px;
        font-size: 3rem;
        line-height: 1.3
    }
}

.c-card-example-info {
    display: grid;
    row-gap: 3px;
    align-items: start;
    line-height: var(--line_height_head);
    margin-top: 14px
}

.c-card-example-info__item {
    display: grid;
    grid-template-columns: 62px 1fr;
    align-items: start;
    -moz-column-gap: 8px;
    column-gap: 8px
}

.c-card-example-info__label {
    padding: 2px 0;
    background: rgb(var(--blue100));
    font-weight: 700;
    font-size: 1.1rem;
    border-radius: 2px;
    text-align: center
}

.c-card-example-info__detail {
    font-size: 1.3rem;
    font-weight: 900
}

@media all and (min-width: 768px) {
    .c-card-example-info {
        display: flex;
        flex-wrap: wrap;
        gap: 0
    }

    .c-card-example-info__item {
        display: flex;
        align-items: flex-start;
        gap: 0;
        margin-right: 30px
    }

    .c-card-example-info__label,
    .c-card-example-info__detail {
        margin-top: 8px
    }

    .c-card-example-info__label {
        margin-right: 8px;
        padding: 4px 10px;
        font-size: 1.4rem;
        white-space: nowrap
    }

    .c-card-example-info__detail {
        font-size: 1.8rem;
        flex: 2 1 50%
    }
}

.c-card-example__area-txt {
    display: grid;
    row-gap: 10px;
    margin-top: 17px
}

@media all and (min-width: 768px) {
    .c-card-example__area-txt {
        grid-column: 1/3;
        row-gap: 15px;
        margin-top: 0
    }
}

.c-card-example__head {
    display: grid;
    grid-template-columns: 16px 1fr;
    -moz-column-gap: 6px;
    column-gap: 6px;
    font-size: 1.7rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-card-example__head::before {
    content: "";
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2017%2013.05%22%3E%3Cpath%20fill%3D%22%23dce4eb%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20d%3D%22M9.07%208.84a3.7%203.7%200%200%201%20.3-1.44%203.54%203.54%200%200%201%20.2-.4L12.78.5h1.79a8.4%208.4%200%200%200-.6%204.82%203.71%203.71%200%201%201-4.91%203.52Zm-8.57%200A3.7%203.7%200%200%201%20.79%207.4a3.54%203.54%200%200%201%20.2-.4L4.2.5h1.8a8.4%208.4%200%200%200-.6%204.82A3.71%203.71%200%201%201%20.5%208.84Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20775%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 8px/100% auto
}

@media all and (max-width: 767px) {
    .c-card-example__txt {
        font-size: 1.3rem
    }
}

@media all and (min-width: 768px) {
    .c-card-example__head {
        grid-template-columns: 34px 1fr;
        -moz-column-gap: 12px;
        column-gap: 12px;
        font-size: 2.4rem
    }
}

.c-card-staff-list {
    display: grid;
    gap: 30px 0
}

@media all and (min-width: 768px) {
    .c-card-staff-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 60px 37px
    }
}

.c-card-staff__lead {
    position: relative;
    z-index: 2;
    margin-top: -45px
}

.c-card-staff__lead-in {
    border-radius: 4px;
    border-style: solid;
    font-size: 1.9rem;
    padding: 10px;
    line-height: 1.8;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone
}

.c-card-staff__head {
    margin-top: 15px;
    font-size: 2rem;
    line-height: var(--line_height_head)
}

.c-card-staff__head-area {
    margin: 15px 0 -15px;
    font-size: 2rem
}

.c-card-staff__txt {
    margin-top: 20px
}

.c-card-staff__btn {
    margin-top: 10px
}

.c-card-staff__btn-link {
    display: block;
    text-decoration: underline !important;
    text-align: center;
    font-size: 1.3rem
}

@media all and (min-width: 768px) {
    .c-card-staff__lead {
        margin-top: -55px
    }

    .c-card-staff__lead-in {
        font-size: 2rem
    }

    .c-card-staff__head {
        text-align: left
    }

    .c-card-staff__head-area {
        font-size: 2.8rem
    }

    .c-card-staff__btn {
        margin-top: 5px
    }

    .c-card-staff__btn-link {
        text-align: left;
        font-size: 1.6rem
    }

    .c-card-staff__btn-link:hover {
        text-decoration: none !important
    }
}

.c-card-voice__link {
    display: grid;
    padding: 20px;
    background: #fff
}

.c-card-voice__header {
    display: grid;
    grid-template-columns: 80px 1fr;
    align-items: start;
    gap: 10px
}

.c-card-voice__thumb {
    max-height: 80px;
    -o-object-position: center;
    object-position: center
}

.c-card-voice__head {
    font-weight: 700;
    font-size: 1.6rem;
    line-height: var(--line_height_head)
}

.c-card-voice__area {
    font-weight: 400;
    font-size: 1.2rem;
    color: rgb(var(--gray500))
}

.c-card-voice__cats {
    grid-column: 1/3;
    margin-top: 10px
}

.c-card-voice__imgs {
    grid-column: 1/3;
    margin-top: 15px
}

.c-card-voice__more {
    grid-column: 1/3;
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 20px;
    line-height: 1;
    font-size: 1.5rem;
    font-weight: 900
}

.c-card-voice__more::after {
    content: "";
    width: 20px;
    height: 20px;
    margin-left: 6px
}

.c-card-voice.has-bg-blue100 .c-card-voice__link {
    background-color: rgba(var(--blue100))
}

.c-card-voice.is-archive {
    max-width: 100%
}

@media all and (min-width: 768px) {
    .c-card-voice {
        max-width: 427px
    }

    .c-card-voice__link {
        padding: 30px
    }

    .c-card-voice__header {
        grid-template-columns: 117px 1fr;
        gap: 15px 20px
    }

    .c-card-voice__thumb {
        max-height: 117px
    }

    .c-card-voice__head {
        font-size: 1.8rem
    }

    .c-card-voice__more {
        margin-top: 20px;
        font-size: 1.8rem
    }

    .c-card-voice__more::after {
        position: relative;
        top: 1px
    }
}

.c-checkbox01 {
    display: block
}

.c-checkbox01 input[type=checkbox] {
    display: none
}

input[type=checkbox]:checked+.c-checkbox01-txt::after {
    opacity: 1
}

.c-checkbox01-txt {
    position: relative;
    display: block;
    padding-left: 38px
}

.c-checkbox01-txt::before,
.c-checkbox01-txt::after {
    position: absolute;
    content: "";
    display: block
}

.c-checkbox01-txt::before {
    top: 0;
    left: 0;
    width: 28px;
    height: 28px;
    border: 1px solid #dadada;
    background: #fff
}

.c-checkbox01-txt::after {
    opacity: 0;
    top: 8px;
    left: 5px;
    width: 20px;
    height: 15px;
    background: no-repeat 50% 50%/cover;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220.741%22%20height%3D%2216.332%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M0%209.381a1.984%201.984%200%200%200%20.563%201.4l4.759%204.984a1.858%201.858%200%200%200%202.68%200l12.176-12.4a2.012%202.012%200%200%200%20.01-2.779%201.859%201.859%200%200%200-2.691-.01L6.664%2011.601%203.245%207.992a1.861%201.861%200%200%200-2.692.01A1.981%201.981%200%200%200%200%209.381Z%22%20data-name%3D%22ico_%E2%86%92%22%2F%3E%3C%2Fsvg%3E")
}

@media all and (min-width: 768px) {
    input[type=checkbox]:checked+.c-checkbox01-txt {
        border-color: rgb(var(--gray900))
    }

    .c-checkbox01-txt {
        cursor: pointer;
        padding-left: 33px;
        font-size: 1.6rem
    }

    .c-checkbox01-txt::before {
        top: 5px;
        width: 21px;
        height: 21px
    }

    .c-checkbox01-txt::after {
        top: 10px;
        left: 4px;
        width: 17px;
        height: 13px
    }
}

@media all and (max-width: 767px) {
    .c-checkbox01-list {
        margin-bottom: -5px
    }

    .c-checkbox01-list .c-checkbox01 {
        margin-bottom: 5px
    }

    .c-checkbox01-list.is-col2-sp {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 0
    }

    .c-checkbox01-list.is-col2-sp .c-checkbox01 {
        margin-bottom: 0
    }
}

@media all and (min-width: 768px) {
    .c-checkbox01-list {
        display: flex;
        flex-wrap: wrap
    }

    .c-checkbox01-list .c-checkbox01 {
        margin-right: 30px;
        margin-bottom: 10px
    }
}

.c-color-white {
    color: #fff
}

.c-color-gray100 {
    color: rgb(var(--gray100))
}

.c-color-gray300 {
    color: rgb(var(--gray300))
}

.c-color-gray400 {
    color: rgb(var(--gray400))
}

.c-color-gray500 {
    color: rgb(var(--gray500))
}

.c-color-gray900 {
    color: rgb(var(--gray900))
}

.c-color-green100 {
    color: rgb(var(--green100))
}

.c-color-green500 {
    color: rgb(var(--green500)) !important
}

.c-color-green600 {
    color: rgb(var(--green600))
}

.c-color-blue100 {
    color: rgb(var(--blue100))
}

.c-color-blue300 {
    color: rgb(var(--blue300))
}

.c-color-blue500 {
    color: rgb(var(--blue500))
}

.c-color-blue700 {
    color: rgb(var(--blue700))
}

.c-color-red100 {
    color: rgb(var(--red100))
}

.c-color-red500 {
    color: rgb(var(--red500)) !important
}

.c-color-red700 {
    color: rgb(var(--red700))
}

.c-color-cream500 {
    color: rgb(var(--cream500)) !important
}

.c-color-orange500 {
    color: rgb(var(--orange500)) !important
}

.c-color-yellow300 {
    color: rgb(var(--yellow300))
}

.c-color-yellow400 {
    color: rgb(var(--yellow400))
}

.c-color-yellow500 {
    color: rgb(var(--yellow500))
}

.c-color-yellow700 {
    color: rgb(var(--yellow700))
}

@media all and (min-width: 768px) {

    .c-index-calendar.c-bg-blue100+.c-cv01::before,
    .c-index-news.c-bg-blue100+.c-cv01::before,
    .c-index-price.c-bg-blue100+.c-cv01::before {
        position: absolute;
        content: "";
        z-index: -2;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        height: 330px;
        background: rgb(var(--blue100))
    }
}

@media all and (min-width: 768px) {
    .c-index-service+.c-cv01 {
        margin-top: 100px
    }
}

.c-cv01 {
    position: relative;
    margin-bottom: 30px;
}

.c-cv01__inner {
    position: relative;
    padding: 32px 20px 36px;
    max-width: 1000px;
    margin: 0 auto;
}

.c-cv01__inner::before {
    position: absolute;
    content: "";
    box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 8px 0px;
    z-index: -2;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background-size: cover;
    background-position: center;
    background-image: url(/wp-content/themes/spot-tochigi/img/top/cta-background.png);
}

.no-webp .c-cv01__inner::before,
.no-js .c-cv01__inner::before {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/cta-background.png);
    background-size: cover;
}

.c-cv01__area-txt {
    position: relative;
    text-align: center;
    z-index: 2
}

.c-cv01__main {
    font-size: 2.6rem
}

.c-cv01__sub {
    margin-top: 5px;
    font-size: 1.3rem
}

.c-cv01__chara {
    position: absolute;
    z-index: 0;
    display: block;
    top: 100px;
    left: 50%;
    width: 98px;
    transform: translateX(-150px);
    pointer-events: none;
    z-index: 1
}

.c-cv01__btns {
    position: relative;
    display: grid;
    row-gap: 10px;
    padding: 26px 20px 20px;
    background: #fff;
    z-index: 2
}

.c-cv01__btns-img {
    width: 108px
}

.c-cv01__points {
    margin: 26px 10px 19px auto;
    padding-left: 115px
}

.c-cv01__points-img {
    width: 90px
}

@media all and (max-width: 767px) {
    .c-cv01__inner::after {
        position: absolute;
        content: "";
        z-index: -1;
        display: block;
        left: 0;
        right: 0;
        bottom: 0;
        height: 61vw;
        background-color: rgb(var(--blue500))
    }
}

@media all and (min-width: 768px) {
    .c-cv01 {
        padding-right: 30px;
        padding-left: 30px
    }

    .c-cv01__inner {
        padding: 30px 150px 10px;
        text-align: center
    }

    .c-cv01__inner::before {
        border-radius: 10px
    }

    .no-webp .c-cv01__inner::before,
    .no-js .c-cv01__inner::before {
        background-image: url(/wp-content/themes/spot-tochigi/img/top/cta-background.png)
    }

    .webp .c-cv01__inner::before {
        background-size: cover;
        background-image: url(/wp-content/themes/spot-tochigi/img/top/cta-background.png)
    }

    .c-cv01__area-txt {
        position: relative;
        display: inline-flex;
        flex-direction: column
    }

    .c-cv01__main {
        font-size: 5rem
    }

    .c-cv01__sub {
        font-size: 2.2rem
    }

    .c-cv01__points {
        position: absolute;
        z-index: 5;
        top: 8px;
        right: 0;
        margin: 0;
        white-space: nowrap;
        transform: translateX(245px)
    }

    .c-cv01__points-img {
        width: 110px
    }

    .c-cv01__chara {
        top: auto;
        bottom: 0px;
        width: 229px;
        left: 50%;
        transform: translateX(-630px);
        z-index: 3;
    }

    .c-cv01__btns {
        display: flex;
        align-items: center;
        max-width: 890px;
        -moz-column-gap: 8px;
        column-gap: 8px;
        margin: 45px auto 0;
        padding: 20px;
        border-radius: 9999px;
        box-sizing: border-box
    }

    p.c-btn-cv01 {
        width: 50%;
    }

    .c-cv01.has-bg-blue100::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(var(--blue100));
        z-index: -6
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-cv01__chara {
        transform: translateX(-560px)
    }
}

@media all and (max-width: 767px) {
    .c-cv02 {
        padding: 10px 5px;
        background: rgb(var(--blue500))
    }

    .c-cv02__btns-sp {
        display: grid;
        grid-template-columns: 54.93vw repeat(2, 1fr);
        -moz-column-gap: 4px;
        column-gap: 4px
    }

    .c-cv02__btns-pc {
        display: none
    }
}

@media all and (min-width: 768px) {
    .c-cv02 {
        max-width: 1200px;
        margin-right: auto;
        margin-left: auto
    }

    .c-cv02__btns {
        position: relative;
        padding: 22px 50px;
        background: #fff;
        align-items: center;
        border-radius: 9999px
    }

    .c-cv02__btns-sp {
        display: none
    }

    .c-cv02__btns-pc {
        display: grid;
        grid-template-columns: 1fr repeat(2, 280px);
        -moz-column-gap: 8px;
        column-gap: 8px
    }
}

.c-cv04 {
    position: relative;
    margin-top: -60px
}

.c-cv04__chara {
    position: relative;
    top: 40px;
    left: 50%;
    width: 105px;
    transform: translateX(-50%)
}

.c-cv04__box {
    padding: 30px;
    position: relative;
    z-index: 2
}

.c-cv04__lead {
    text-align: center;
    font-size: 1.6rem;
    line-height: var(--line_height_head);
    margin-bottom: 10px
}

@media all and (min-width: 768px) {
    .c-cv04 {
        margin-top: -60px
    }

    .c-cv04__chara {
        top: 30px;
        width: 105px;
        left: 58%
    }

    .c-cv04__box {
        padding: 30px 0 10px
    }

    .c-cv04__lead {
        margin: 0;
        font-size: 1.8rem
    }

    .c-cv04__tel {
        margin-top: -15px
    }
}

.c-faq01.is-bg-white .c-faq01__item {
    border-radius: 5px;
    background: #fff
}

.c-faq01.is-bg-white .c-faq01__head.is-active {
    color: rgb(var(--blue700))
}

.c-faq01.is-bg-white .c-faq01__ico {
    color: #fff;
    background: rgb(var(--blue700))
}

.c-faq01.is-bg-white .c-faq01__txt {
    padding: 0 20px 20px
}

@media all and (min-width: 768px) {
    .c-faq01.is-bg-white .c-faq01__item {
        border-radius: 10px
    }
}

.c-faq01__ico {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    justify-content: center;
    width: 27px;
    height: 27px;
    padding-top: 5px;
    text-align: center;
    background: #fff;
    color: rgb(var(--blue500));
    border-radius: 9999px;
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1;
    box-sizing: border-box;
    transition: all .3s ease
}

.c-faq01:not(.is-bg-white) .c-faq01__head {
    background: rgb(var(--blue100))
}

.c-faq01:not(.is-bg-white) .c-faq01__head.is-active {
    background: rgb(var(--blue500));
    color: #fff
}

.c-faq01:not(.is-bg-white) .c-faq01__head.is-active .js-c-toggle-ico::before,
.c-faq01:not(.is-bg-white) .c-faq01__head.is-active .js-c-toggle-ico::after {
    background-color: #fff
}

.c-faq01__head {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 16px;
    align-items: center;
    padding: 12px 15px 12px 46px;
    border-radius: 5px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: var(--line_height_head)
}

.c-faq01__head:not(:first-of-type) {
    margin-top: 4px
}

.c-faq01__txt {
    padding: 15px 0 25px
}

@media all and (min-width: 768px) {
    .c-faq01__ico {
        top: 17px;
        left: 30px;
        width: 36px;
        height: 36px;
        padding-top: 8px;
        font-size: 1.8rem
    }

    .c-faq01__head {
        grid-template-columns: 1fr 20px;
        padding: 21px 30px 22px 80px;
        border-radius: 10px;
        font-size: 1.8rem
    }

    .c-faq01__head:not(:first-of-type) {
        margin-top: 8px
    }
}

.c-filter01__head {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    font-size: 1.8rem
}

.c-filter01__head::after {
    width: 20px !important;
    height: 20px !important;
    margin-right: 7px
}

.c-filter01__wrap {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 65px;
    gap: 0 10px;
    margin-top: 10px
}

.c-filter01__select {
    position: relative;
    display: flex;
    align-items: center
}

.c-filter01__select::before {
    position: absolute;
    right: 10px;
    width: 7px !important;
    height: 13px !important;
    transform: rotate(90deg)
}

.c-filter01__select select {
    height: 50px;
    padding: 0 30px 0 15px;
    font-size: 1.4rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border: 1px solid rgb(var(--gray300))
}

.c-filter01__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 40px;
    font-size: 1.3rem;
    color: #fff;
    font-weight: 700;
    background: rgb(var(--blue500));
    border-radius: 9999px;
    border: 0;
    letter-spacing: inherit
}

@media all and (min-width: 768px) {
    .c-filter01 {
        display: grid;
        grid-template-columns: 190px 1fr;
        grid-template-rows: auto 1fr;
        gap: 0 30px;
        align-items: center;
        background-color: rgb(var(--blue100));
        padding: 50px 120px 50px 110px
    }

    .c-filter01__head {
        font-size: 1.6rem
    }

    .c-filter01__head::after {
        width: 25px !important;
        height: 25px !important;
        margin-right: 10px
    }

    .c-filter01__wrap {
        grid-template-columns: 1fr 130px;
        gap: 0 20px
    }

    .c-filter01__select select {
        font-size: 1.6rem;
        padding: 0 30px
    }

    .c-filter01__select option:hover {
        box-shadow: 0 0 100px 100px #000 inset
    }

    .c-filter01__btn {
        width: 120px;
        height: 45px;
        margin: 0;
        font-size: 1.6rem;
        transition: all .3s ease
    }

    .c-filter01__btn:hover {
        background: rgb(var(--blue700))
    }
}

.c-filter02 {
    position: relative
}

.c-filter02__head {
    display: grid;
    grid-template-columns: 25px 1fr;
    -moz-column-gap: 8px;
    column-gap: 8px;
    font-size: 2rem
}

.c-filter02__head::after {
    order: -1;
    position: relative;
    top: 6px
}

.c-filter02__frame {
    margin-top: 25px;
    padding-bottom: 30px;
    border-top: 1px solid rgb(var(--gray300))
}

.c-filter02-item {
    padding: 15px 0 25px;
    border-bottom: 1px solid rgb(var(--gray300))
}

.c-filter02-item__detail {
    margin-top: 10px
}

.c-filter02__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 295px;
    height: 55px;
    color: #fff;
    letter-spacing: inherit;
    border-radius: 9999px;
    border: 0
}

.c-filter02__btn.is-search {
    flex-direction: row-reverse
}

.c-filter02__btn.is-search::after {
    width: 17px;
    height: 17px;
    margin-right: 10px;
    background-color: #fff
}

.c-filter02__btn.is-reset {
    position: relative;
    color: rgb(var(--gray900));
    background: transparent
}

.c-filter02__btn-cross {
    position: relative;
    width: 14px;
    height: 14px;
    margin-right: 2px
}

.c-filter02__btn-cross::before,
.c-filter02__btn-cross::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 2px;
    height: 16px;
    background: rgb(var(--blue500))
}

.c-filter02__btn-cross::before {
    transform: rotate(-45deg)
}

.c-filter02__btn-cross::after {
    transform: rotate(45deg)
}

@media all and (max-width: 767px) {
    .c-filter02__btn {
        margin-right: auto;
        margin-left: auto
    }
}

@media all and (min-width: 768px) {
    .c-filter02 {
        display: flex;
        justify-content: center;
        align-items: center
    }

    .c-filter02__head {
        font-size: 2.4rem;
        -moz-column-gap: 15px;
        column-gap: 15px
    }

    .c-filter02__head::after {
        top: 12px
    }

    .c-filter02__frame {
        padding: 0
    }

    .c-filter02 form {
        width: 100%
    }

    .c-filter02-item {
        display: grid;
        grid-template-columns: 200px auto;
        padding: 20px 0 11px
    }

    .c-filter02-item__label {
        font-size: 1.6rem
    }

    .c-filter02-item__detail {
        margin-top: 0
    }

    .c-filter02__btns {
        margin-top: 40px;
        flex-direction: row-reverse
    }

    .c-filter02__btn {
        width: 300px;
        height: 70px;
        margin: 0 auto;
        font-size: 1.7rem;
        transition: all .3s ease;
        font-size: inherit
    }

    .c-filter02__btn:hover {
        background: rgb(var(--blue700))
    }

    .c-filter02__btn-ico {
        position: relative;
        top: 1px
    }

    .c-filter02__btn-cross {
        position: relative;
        top: -2px;
        margin-right: 8px
    }

    .c-filter02__btn-cross::before,
    .c-filter02__btn-cross::after {
        width: 3px;
        height: 20px
    }

    .c-filter02__btn.is-reset {
        font-size: 1.8rem
    }

    .c-filter02__btn.is-reset:hover {
        background: transparent;
        color: rgb(var(--blue500))
    }
}

.c-flow01__item {
    padding: 10px 10px 17px;
    background: #fff
}

.c-flow01__item-area-txt {
    padding: 13px 10px 0
}

.c-flow01__item-step {
    font-weight: 900;
    font-size: 1rem;
    color: rgb(var(--blue500))
}

.c-flow01__item-head {
    font-weight: 900;
    font-size: 1.7rem;
    color: rgb(var(--blue700));
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-flow01__item-txt {
    margin-top: 10px;
    font-size: 1.3rem
}

@media all and (min-width: 768px) {
    .c-flow01__item {
        display: grid;
        grid-template-columns: 470px 1fr;
        align-items: start;
        -moz-column-gap: 40px;
        column-gap: 40px;
        padding: 60px 40px 60px 50px
    }

    .c-flow01__item-area-txt {
        padding: 5px 0 0
    }

    .c-flow01__item-step {
        font-size: 1.6rem
    }

    .c-flow01__item-head {
        margin-top: 8px;
        font-size: 3.6rem
    }

    .c-flow01__item-txt {
        margin-top: 20px;
        font-size: 1.6rem
    }
}

input.c-form-parts,
select.c-form-parts,
textarea.c-form-parts,
button.c-form-parts {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    height: 50px;
    padding: 5px 10px;
    font-size: 1.6rem;
    border: 0;
    background: #fff;
    border: 1px solid rgb(var(--gray300));
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
    letter-spacing: inherit
}

@media all and (min-width: 768px) {

    input.c-form-parts,
    select.c-form-parts,
    textarea.c-form-parts,
    button.c-form-parts {
        font-size: 1.7rem
    }
}

input[type=file] {
    display: block;
    width: 100%
}

input[type=file]+input[type=file] {
    margin-top: 10px
}

textarea.c-form-parts {
    padding: 15px;
    height: 200px;
    resize: vertical
}

@media all and (min-width: 768px) {
    textarea.c-form-parts {
        font-size: 1.7rem;
        height: 150px
    }
}

textarea.c-form-parts:disabled {
    border: 0;
    resize: none;
    background: rgb(var(--gray100))
}

select.c-form-parts {
    max-width: 100%;
    padding-right: 26px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%226%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M0%201A1%201%200%200%201%201.737.324l2.977%203.248c1.333-1.268%203.3-3.12%203.731-3.4a1%201%200%200%201%201.113%201.662c-.328.235-2.391%202.162-4.2%203.893a1%201%200%200%201-1.429-.047l-3.667-4A1%201%200%200%201%200%201Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20181507%22%2F%3E%3C%2Fsvg%3E") no-repeat right 10px top 50%/11px
}

::-moz-placeholder {
    color: rgb(var(--gray500))
}

::placeholder {
    color: rgb(var(--gray500))
}

.c-form-parts-list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -20px
}

.c-form-parts-list .c-form-parts {
    margin-right: 20px
}

.c-form-parts-list.is-flex-end {
    justify-content: flex-end
}

.c-form-step {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.c-form-step::before {
    position: absolute;
    z-index: 0;
    content: "";
    display: block;
    top: 5px;
    left: 40px;
    right: 30px;
    height: 1px;
    background: rgb(var(--blue700))
}

.c-form-step__item {
    position: relative;
    padding-top: 15px
}

.c-form-step__item::before {
    position: absolute;
    z-index: 1;
    content: "";
    display: block;
    top: 0;
    left: 50%;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 1px solid rgb(var(--blue700));
    background: #fff;
    transform: translateX(-50%);
    box-sizing: border-box
}

@media all and (min-width: 768px) {
    .c-form-step {
        width: 502px;
        margin-right: auto;
        margin-left: auto
    }

    .c-form-step::before {
        top: 8px;
        left: 50px;
        right: 40px;
        height: 2px
    }

    .c-form-step__item {
        padding-top: 20px;
        font-size: 1.8rem
    }

    .c-form-step__item::before {
        width: 18px;
        height: 18px;
        border-width: 2px
    }
}

.mw_wp_form_input .c-form-step__item:first-of-type,
.mw_wp_form_confirm .c-form-step__item:nth-of-type(2),
.mw_wp_form_complete .c-form-step__item:nth-of-type(3) {
    color: rgb(var(--blue700))
}

.mw_wp_form_input .c-form-step__item:first-of-type::before,
.mw_wp_form_confirm .c-form-step__item:nth-of-type(2)::before,
.mw_wp_form_complete .c-form-step__item:nth-of-type(3)::before {
    background: rgb(var(--blue700))
}

.c-form__notes {
    margin-top: 10px;
    line-height: var(--line_height_head)
}

.c-form__notes .c-form-label {
    margin-right: 2px;
    margin-left: 2px
}

@media all and (max-width: 767px) {
    .c-form__notes {
        font-size: 1.2rem
    }
}

@media all and (min-width: 768px) {
    .c-form__notes .c-form-label {
        position: relative;
        top: -2px
    }
}

.c-form__list {
    margin-top: 30px
}

.c-form__head {
    display: grid;
    grid-template-columns: 1fr 40px;
    padding-top: 15px;
    padding-bottom: 12px;
    border-top: 1px solid rgb(var(--gray300));
    line-height: var(--line_height_head);
    font-size: 1.6rem
}

.c-form__detail {
    padding-bottom: 20px
}

@media all and (min-width: 768px) {
    .c-form__list {
        display: grid;
        grid-template-columns: 230px 1fr;
        align-items: start
    }

    .c-form__head {
        grid-template-columns: 1fr 40px;
        place-content: center;
        padding: 42px 30px 0 0
    }

    .c-form__head.has-not-border-pc {
        border: none
    }

    .c-form__head.has-radio {
        padding-top: 35px
    }

    .c-form__detail {
        padding: 30px 0;
        border-top: 1px solid rgb(var(--gray300))
    }

    .c-form__detail.has-not-border-pc {
        border: none
    }
}

.c-form-textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 5px 10px;
    font-size: 1.6rem;
    border: 0;
    background: #fff;
    border: 1px solid rgb(var(--gray300));
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
    letter-spacing: inherit;
}

.c-form-label {
    display: inline-grid;
    place-content: center;
    min-width: 40px;
    height: 20px;
    border-radius: 9999px;
    color: #fff;
    font-size: 1.1rem;
    background: rgb(var(--gray400))
}

.c-form-label.is-required {
    background: rgb(var(--blue500))
}

@media all and (min-width: 768px) {
    .c-form-label {
        height: 23px;
        font-size: 1.2rem
    }
}

.c-form-address {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 10px;
    align-items: center
}

.c-form-address__prefix {
    font-size: 1.6rem
}

.c-form-address__input {
    margin-top: 5px;
    grid-column: 1/3
}

@media all and (min-width: 768px) {
    .c-form-address {
        display: flex;
        flex-wrap: wrap;
        gap: 0
    }

    .c-form-address__zip {
        flex-basis: 220px;
        max-width: 220px;
        margin-left: 4px
    }

    .c-form-address__input {
        margin-top: 10px;
        flex-basis: 100%
    }
}

.c-form-visit {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 10px 0;
    align-items: center
}

.c-form-visit+.c-form-visit {
    margin-top: 16px
}

.c-form-visit__date {
    position: relative;
    grid-column: 2/4
}

.c-form-visit__date input {
    padding-left: 50px;
    background: no-repeat 10px 50%/21px 20px
}

.no-webp .c-form-visit__date input,
.no-js .c-form-visit__date input {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/ico_calender01%402x.png)
}

.webp .c-form-visit__date input {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/ico_calender01%402x.png.webp)
}

.c-form-visit__date-clear {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    overflow: hidden;
    text-indent: 500%;
    white-space: nowrap;
    border: 0
}

.c-form-visit__date-clear::before,
.c-form-visit__date-clear::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    display: block;
    width: 2px;
    height: 15px;
    background: rgb(var(--gray500))
}

.c-form-visit__date-clear::before {
    margin-left: -5px;
    transform: rotate(45deg) translateY(-50%)
}

.c-form-visit__date-clear::after {
    margin-left: 5px;
    transform: rotate(-45deg) translateY(-50%)
}

.c-form-visit__suffix {
    margin: 0 10px;
    min-width: 30px
}

.c-form-visit__suffix.is-small {
    margin-right: 0;
    min-width: 20px
}

@media all and (max-width: 767px) {
    .c-form-visit__time-wrap {
        grid-column: 2/3;
        display: grid;
        gap: 5px;
        grid-template-columns: 1fr 40px;
        align-items: center
    }
}

@media all and (min-width: 768px) {
    .c-form-visit {
        display: flex;
        margin-top: 15px
    }

    .c-form-visit__label {
        font-size: 1.7rem;
        margin-right: 15px
    }

    .c-form-visit__date {
        width: 215px;
        margin-right: 10px
    }

    .c-form-visit__time {
        width: 215px;
        margin-right: 10px
    }

    .c-form-visit__time-wrap {
        display: flex;
        align-items: center
    }

    .c-form-visit__suffix {
        text-align: left;
        font-size: 1.6rem;
        margin: 0
    }
}

.c-form-info {
    display: grid;
    grid-template-columns: 74px auto;
    gap: 20px 0;
    font-size: 1.6rem
}

.c-form-info__notes {
    grid-column: 1/3
}

.c-form-info__head {
    line-height: 1.6
}

.c-form-info__txt {
    margin-top: 10px;
    line-height: 1.6
}

.c-form-info__txt+.c-form-info__txt {
    margin-top: 4px
}

.c-form-info__txt-small {
    font-size: 1.4rem
}

.c-form-info__txt .c-form-label {
    position: relative;
    top: -3px
}

.c-form-info__txt+.c-form-parts {
    margin-top: 10px
}

.c-form-info__note {
    margin-top: 10px
}

@media all and (max-width: 767px) {
    .c-form-info__txt.is-small-sp {
        font-size: 1.4rem
    }
}

@media all and (min-width: 768px) {
    .c-form-info {
        gap: 0;
        grid-template-columns: 110px auto;
        font-size: 1.7rem
    }

    .c-form-info__head,
    .c-form-info__detail {
        padding: 25px 0
    }

    .c-form-info__head:not(:first-of-type),
    .c-form-info__detail:not(:first-of-type) {
        border-top: 1px solid rgb(var(--gray300))
    }

    .c-form-info__head:first-of-type,
    .c-form-info__detail:first-of-type {
        padding-top: 0
    }

    .c-form-info__notes {
        grid-column: 2/3
    }

    .c-form-info__txt+.c-form-info__txt {
        margin-top: 12px
    }
}

.c-form-file {
    display: grid;
    row-gap: 10px
}

@media all and (min-width: 768px) {
    .c-form-file__item input[type=file] {
        width: auto
    }
}

.mw_wp_form_confirm .c-form-postcode .c-form-postcode__prefix {
    max-width: none;
    flex-basis: 0;
    padding-top: 0
}

.mw_wp_form_confirm .c-form-postcode .c-form-postcode__input {
    max-width: none;
    flex-basis: 0
}

.mw_wp_form_confirm .c-form-visit__date-clear,
.mw_wp_form_confirm .c-form-privacy {
    display: none
}

.mw_wp_form_confirm .c-form-visit {
    display: flex
}

.mw_wp_form_confirm .c-form-visit__label,
.mw_wp_form_confirm .c-form-visit__date,
.mw_wp_form_confirm .c-form-visit__time {
    margin-right: 5px
}

.mw_wp_form_confirm .c-form-visit+.c-form-visit {
    margin-top: 0
}

@media all and (min-width: 768px) {
    .mw_wp_form_confirm .c-form__head {
        padding-top: 30px
    }

    .mw_wp_form_confirm .c-form-visit__date,
    .mw_wp_form_confirm .c-form-visit__time {
        width: auto
    }
}

.mw_wp_form_confirm .c-form__txt.is-intro,
.is-confirm .c-form__txt.is-intro {
    display: none
}

.mw_wp_form_confirm .c-form-address,
.is-confirm .c-form-address {
    display: inline-block
}

.mw_wp_form_confirm .c-form-address__prefix,
.is-confirm .c-form-address__prefix {
    display: inline-block
}

.mw_wp_form_confirm .c-form-visit,
.is-confirm .c-form-visit {
    display: block
}

.mw_wp_form_confirm .c-form-visit__label,
.is-confirm .c-form-visit__label {
    display: block
}

.mw_wp_form_confirm .c-form-visit__date,
.mw_wp_form_confirm .c-form-visit__time-wrap,
.mw_wp_form_confirm .c-form-visit__time,
.mw_wp_form_confirm .c-form-visit__suffix,
.is-confirm .c-form-visit__date,
.is-confirm .c-form-visit__time-wrap,
.is-confirm .c-form-visit__time,
.is-confirm .c-form-visit__suffix {
    display: inline;
    min-width: 0;
    margin: 0
}

.mw_wp_form_confirm .c-form-visit__date,
.is-confirm .c-form-visit__date {
    margin-right: 10px
}

@media all and (min-width: 768px) {

    .mw_wp_form_confirm .c-form-visit,
    .is-confirm .c-form-visit {
        display: flex
    }

    .mw_wp_form_confirm .c-form-visit__label,
    .is-confirm .c-form-visit__label {
        margin-right: 20px
    }
}

.mw_wp_form_confirm .c-form-item .c-form-item__prefix,
.mw_wp_form_confirm .c-form-item .c-form-item__suffix,
.is-confirm .c-form-item .c-form-item__prefix,
.is-confirm .c-form-item .c-form-item__suffix {
    min-width: 0;
    padding-top: 0
}

.mw_wp_form_confirm .c-form-item .c-form-item__input,
.is-confirm .c-form-item .c-form-item__input {
    width: auto
}

.c-form-privacy {
    margin-top: 20px;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-form-privacy__link {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-form-privacy__link::after {
    margin: 0 5px
}

@media all and (min-width: 768px) {
    .c-form-privacy {
        font-size: 1.6rem;
        margin-top: 30px
    }
}

.c-form-agreement {
    display: flex;
    flex-wrap: wrap;
    place-content: center;
    margin-top: 20px;
    font-weight: 700;
    font-size: 1.6rem
}

@media all and (min-width: 768px) {
    .c-form-agreement {
        font-size: 1.7rem
    }
}

.mw_wp_form_confirm .c-form-agreement {
    display: none
}

.c-form-area-btn {
    display: grid;
    place-content: center;
    padding: 20px
}


/* @media all and (min-width: 768px) {
    .c-form-area-btn {
        margin-top: 30px;
        padding: 50px
    }
} */

input.c-form-btn {
    font-weight: 900;
    font-size: 1.4rem;
    font-family: inherit;
    letter-spacing: inherit
}

@media all and (min-width: 768px) {
    input.c-form-btn {
        font-size: 1.7rem
    }
}

.c-form-btn {
    position: relative;
    display: grid;
    align-items: center;
    width: 295px;
    height: 55px;
    padding: 0 15px;
    border: 0;
    border-radius: 9999px;
    cursor: pointer
}

.c-form-btn__txt {
    display: grid;
    grid-template-columns: 12px 1fr 12px;
    align-items: center;
    letter-spacing: var(--letter_spacing_head);
    font-weight: 900;
    font-size: 1.4rem
}

.c-form-btn__txt::before {
    content: ""
}

.c-form-btn-back {
    display: block;
    margin-top: 5px;
    padding: 10px;
    border: 0;
    font-size: 1.3rem;
    text-decoration: underline
}

@media all and (min-width: 768px) {
    .c-form-btn {
        width: 500px;
        height: 70px;
        padding: 0 24px;
        transition: background-color .3s ease
    }

    .c-form-btn__txt {
        font-size: 1.7rem
    }

    .c-form-btn:hover {
        background: rgb(var(--blue700))
    }

    .c-form-btn-back {
        margin-bottom: -25px;
        font-size: 1.6rem
    }
}

.c-form .mwform-radio-field {
    display: block
}

.c-form .mwform-radio-field+.mwform-radio-field {
    margin-top: 10px
}

.c-form .mwform-radio-field label {
    display: block;
    cursor: pointer;
    font-size: 1.6rem
}

.c-form .mwform-radio-field input {
    display: none
}

.c-form .mwform-radio-field .mwform-radio-field-text {
    position: relative;
    display: inline-block;
    padding-left: 36px;
    vertical-align: top
}

.c-form .mwform-radio-field .mwform-radio-field-text::before {
    box-sizing: border-box;
    position: absolute;
    top: 4px;
    left: 0;
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    border: 1px solid rgb(var(--gray300));
    border-radius: 50%
}

.c-form .mwform-radio-field input:checked+.mwform-radio-field-text::after {
    box-sizing: border-box;
    position: absolute;
    top: 5px;
    left: 1px;
    content: "";
    display: block;
    width: 23px;
    height: 23px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: rgb(var(--blue500))
}

@media all and (min-width: 768px) {
    .c-form .mwform-radio-field .mwform-radio-field-text {
        padding-left: 28px
    }

    .c-form .mwform-radio-field .mwform-radio-field-text::before {
        top: 7px;
        width: 20px;
        height: 20px
    }

    .c-form .mwform-radio-field input:checked+.mwform-radio-field-text::after {
        top: 8px;
        width: 18px;
        height: 18px
    }
}

.c-radio-list {
    display: flex;
    flex-wrap: wrap
}

.c-radio-list .mwform-radio-field {
    display: inline-block;
    margin-right: 20px
}

.c-radio-list .mwform-radio-field+.mwform-radio-field {
    margin-top: 0
}

.c-radio-list.is-vertical {
    display: block
}

.c-radio-list.is-vertical .mwform-radio-field {
    display: block;
    margin-right: 0
}

.c-radio-list.is-vertical .mwform-radio-field+.mwform-radio-field {
    margin-top: 4px
}

@media all and (max-width: 767px) {
    .c-radio-list.is-vertical-sp {
        display: block
    }

    .c-radio-list.is-vertical-sp .mwform-radio-field {
        display: block;
        margin-right: 0
    }

    .c-radio-list.is-vertical-sp .mwform-radio-field+.mwform-radio-field {
        margin-top: 4px
    }
}

@media all and (min-width: 768px) {
    .c-radio-list .mwform-radio-field {
        margin-right: 30px
    }

    .c-radio-list.is-vertical .mwform-radio-field+.mwform-radio-field {
        margin-top: 8px
    }

    .c-radio-list.is-grid-pc {
        width: 465px;
        display: grid;
        grid-template-columns: repeat(4, auto);
        gap: 10px 0
    }
}

.c-form .mwform-checkbox-field {
    display: block
}

.c-form .mwform-checkbox-field+.mwform-checkbox-field {
    margin-top: 10px
}

.c-form .mwform-checkbox-field label {
    display: block;
    cursor: pointer
}

.c-form .mwform-checkbox-field input {
    display: none
}

.c-form .mwform-checkbox-field .mwform-checkbox-field-text {
    position: relative;
    display: inline-block;
    padding-left: 42px;
    vertical-align: top
}

.c-form .mwform-checkbox-field .mwform-checkbox-field-text::before {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border: 1px solid rgb(var(--gray300));
    background: #fff
}

.c-form .mwform-checkbox-field input:checked+.mwform-checkbox-field-text::after {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020.74%2016.33%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M0%209.38a1.98%201.98%200%200%200%20.56%201.4l4.76%204.98a1.86%201.86%200%200%200%202.68%200l12.18-12.4a2.01%202.01%200%200%200%200-2.77A1.86%201.86%200%200%200%2017.5.58L6.66%2011.6%203.25%208a1.86%201.86%200%200%200-2.7%200A1.98%201.98%200%200%200%200%209.38Z%22%20data-name%3D%22ico_%E2%86%92%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/20px 16px
}

@media all and (min-width: 768px) {
    .c-form .mwform-checkbox-field .mwform-checkbox-field-text {
        padding-left: 30px
    }

    .c-form .mwform-checkbox-field .mwform-checkbox-field-text::before {
        top: 5px;
        width: 23px;
        height: 23px
    }

    .c-form .mwform-checkbox-field input:checked+.mwform-checkbox-field-text::after {
        top: 5px;
        width: 23px;
        height: 23px;
        background-size: 15px 12px
    }
}

.c-checkbox-list {
    display: flex;
    flex-wrap: wrap
}

.c-checkbox-list .mwform-checkbox-field {
    display: inline-block;
    margin-right: 20px
}

.c-checkbox-list .mwform-checkbox-field+.mwform-checkbox-field {
    margin-top: 0
}

@media all and (max-width: 767px) {
    .c-checkbox-list.is-vertical-sp {
        display: block
    }

    .c-checkbox-list.is-vertical-sp .mwform-checkbox-field {
        display: block
    }

    .c-checkbox-list.is-vertical-sp .mwform-checkbox-field+.mwform-checkbox-field {
        margin-top: 4px
    }
}

.mw_wp_form .c-form .horizontal-item+.horizontal-item {
    margin-left: 0
}

.c-form-thanks__txt {
    margin-bottom: 10px
}

.c-fukidashi01.is-bg-yellow span::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.07%207.26%22%3E%3Cpath%20fill%3D%22%23FFD200%22%20d%3D%22M.46%207.1A1%201%200%200%201%200%206.22L.22.96a1%201%200%200%201%201-.96h9.74a1%201%200%200%201%20.55.17%201.29%201.29%200%200%201%20.55%201.2c-.1.92-1.04%201.64-3.24%202.5a105.91%20105.91%200%200%200-7.38%203.28%201%201%200%200%201-.98-.05Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20773%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 100%/cover
}

.c-fukidashi01.is-bg-yellow .c-fukidashi01__in {
    color: rgba(var(--gray900));
    background-color: rgb(var(--yellow500))
}

[class*=c-fukidashi] span::after {
    position: absolute;
    content: "";
    display: block;
    top: calc(100% - 3px);
    left: 50%;
    width: 22px;
    height: 12px;
    transform: translateX(-50%);
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.07%207.26%22%3E%3Cpath%20fill%3D%22%233F97E2%22%20d%3D%22M.46%207.1A1%201%200%200%201%200%206.22L.22.96a1%201%200%200%201%201-.96h9.74a1%201%200%200%201%20.55.17%201.29%201.29%200%200%201%20.55%201.2c-.1.92-1.04%201.64-3.24%202.5a105.91%20105.91%200%200%200-7.38%203.28%201%201%200%200%201-.98-.05Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20773%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 100%/cover
}

.c-fukidashi01__in {
    position: relative;
    display: inline-block;
    padding: 10px 20px;
    border-radius: 9999px;
    background-color: rgb(var(--blue500));
    color: #fff;
    font-weight: 900;
    line-height: var(--line_height_head)
}

@media all and (min-width: 768px) {
    .c-fukidashi01__in {
        padding: 10px 30px;
        font-size: 1.8rem
    }

    .c-fukidashi01-big .c-fukidashi01__in {
        font-size: 2.2rem
    }
}

.c-fukidashi02.is-bg-red span::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.07%207.26%22%3E%3Cpath%20fill%3D%22%23EC4C23%22%20d%3D%22M.46%207.1A1%201%200%200%201%200%206.22L.22.96a1%201%200%200%201%201-.96h9.74a1%201%200%200%201%20.55.17%201.29%201.29%200%200%201%20.55%201.2c-.1.92-1.04%201.64-3.24%202.5a105.91%20105.91%200%200%200-7.38%203.28%201%201%200%200%201-.98-.05Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20773%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 100%/cover
}

.c-fukidashi02.is-bg-red .c-fukidashi02__in {
    background-color: rgb(var(--red700))
}

.c-fukidashi02__in {
    position: relative;
    display: inline-block;
    padding: 10px 20px;
    border-radius: 9999px;
    background-color: rgb(var(--blue500));
    color: #fff;
    font-weight: 900;
    line-height: var(--line_height_head)
}

@media all and (min-width: 768px) {
    .c-fukidashi02__in {
        padding: 14px 37px;
        font-size: 3.2rem
    }
}

.c-head01.is-txt-white {
    color: #fff
}

.c-head01.is-txt-white .c-head01__sub {
    color: #fff
}

.c-head01 {
    text-align: center;
    line-height: var(--line_height_head)
}

.c-head01__main {
    font-weight: 900;
    font-size: 2.6rem;
    letter-spacing: var(--letter_spacing_head)
}

.c-head01__main-sub {
    display: block;
    font-size: 1.2rem
}

.c-head01__sub {
    font-weight: 900;
    font-size: 1rem;
    color: rgb(var(--blue700));
    letter-spacing: var(--letter_spacing_head)
}

@media all and (min-width: 768px) {
    .c-head01__main {
        font-size: 5rem
    }

    .c-head01__main-sub {
        font-size: 2.2rem
    }

    .c-head01__sub {
        font-size: 1.6rem
    }
}

.c-head02.is-txt-white {
    color: #fff
}

.c-head02.is-txt-white .c-head02__sub {
    color: #fff;
    margin-top: 3%;
}

.c-head02 {
    text-align: center
}

.c-head02__sub,
.c-head02__main {
    display: block;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    font-weight: 900;
}

.c-head02__sub {
    font-size: 1.2rem;
    color: rgb(var(--blue700));
}

.c-head02__main {
    margin-top: 10%;
    font-size: 2.8rem
}

@media all and (max-width: 767px) {
    .c-head02.is-sp-sub-big .c-head02__sub {
        font-size: 1.6rem
    }

    .c-head02.is-sp-small .c-head02__sub {
        font-size: 1.4rem
    }

    .c-head02.is-sp-small .c-head02__main {
        font-size: 2.4rem
    }
}

@media all and (min-width: 768px) {
    .c-head02__sub {
        font-size: 2.2rem;
    }

    .c-head02__main {
        margin-top: 9px;
        font-size: 5rem
    }
}

.c-head03 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-weight: 700;
    font-size: 2.2rem;
    text-align: center;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-head03::before,
.c-head03::after {
    position: relative;
    top: -4px;
    content: "";
    width: 2px;
    height: 23px;
    border-radius: 9999px;
    background: rgb(var(--blue700))
}

.c-head03::before {
    transform: rotate(-38deg);
    margin-right: 13px
}

.c-head03::after {
    transform: rotate(38deg);
    margin-left: 13px
}

.c-head03__sub {
    display: block;
    text-align: center;
    font-size: 1.2rem;
    color: rgb(var(--blue700))
}

@media all and (min-width: 768px) {
    .c-head03 {
        font-size: 3.4rem
    }

    .c-head03::before,
    .c-head03::after {
        height: 30px
    }

    .c-head03::before {
        margin-right: 20px
    }

    .c-head03::after {
        margin-left: 15px
    }

    .c-head03__sub {
        font-size: 1.9rem
    }
}

.c-head03.border-red500::before,
.c-head03.border-red500::after {
    background-color: rgb(var(--red500))
}

.c-head03.border-white::before,
.c-head03.border-white::after {
    background-color: #fff
}

.c-head04 {
    position: relative;
    padding-left: 12px;
    font-weight: 900;
    font-size: 2rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-head04::before {
    position: absolute;
    content: "";
    display: block;
    top: 4px;
    bottom: 4px;
    left: 0;
    width: 4px;
    border-radius: 9999px;
    background-image: linear-gradient(180deg, rgb(var(--blue500)) 0%, rgb(var(--blue500)) 50%, rgb(var(--blue700)) 50.01%, rgb(var(--blue700)) 100%)
}

@media all and (min-width: 768px) {
    .c-head04 {
        padding-left: 24px;
        font-size: 2.8rem
    }

    .c-head04::before {
        width: 6px;
        top: 6px;
        bottom: 6px
    }
}

.c-head05__sub {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    font-weight: 900;
    font-size: 1.6rem;
    text-align: center;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-head05__sub::before,
.c-head05__sub::after {
    position: relative;
    bottom: -3px;
    content: "";
    width: 2px;
    height: 23px;
    border-radius: 9999px;
    background: rgb(var(--blue500))
}

.c-head05__sub::before {
    transform: rotate(-38deg);
    margin-right: 13px
}

.c-head05__sub::after {
    transform: rotate(38deg);
    margin-left: 8px
}

.c-head05__main {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: var(--line_height_head);
    transform: translateX(-22px)
}

@media all and (min-width: 768px) {
    .c-head05__sub {
        font-size: 3rem
    }

    .c-head05__sub::before,
    .c-head05__sub::after {
        bottom: 0;
        height: 30px
    }

    .c-head05__sub::before {
        margin-right: 20px
    }

    .c-head05__sub::after {
        margin-left: 15px
    }

    .c-head05__main {
        font-size: 7rem;
        transform: translateX(-47px)
    }
}

.c-head06 {
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    font-weight: 900;
    font-size: 2rem;
    color: rgba(var(--blue700));
    text-align: center
}

.c-head06.is-left {
    text-align: left
}

.c-head06.is-black {
    color: rgba(var(--gray900))
}

.c-head06.is-big {
    font-size: 2.4rem
}

@media all and (min-width: 768px) {
    .c-head06 {
        font-size: 2.4rem
    }

    .c-head06.is-big {
        font-size: 4rem
    }
}

.c-head07 {
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    font-weight: 900;
    font-size: 2.4rem;
    text-align: center
}

.c-head07.is-big {
    font-size: 2.6rem
}

@media all and (max-width: 767px) {
    .c-head07.is-sp-small {
        font-size: 2rem
    }
}

@media all and (min-width: 768px) {
    .c-head07 {
        font-size: 3.2rem
    }

    .c-head07.is-pc-small {
        font-size: 2.4rem
    }

    .c-head07.is-pc-big {
        font-size: 3.6rem
    }
}

.c-head08 {
    text-align: center
}

.c-head08__ico {
    width: 43px;
    position: absolute;
    top: 0;
    left: -28px;
    z-index: 2
}

.c-head08__fukidashi {
    display: inline-block;
    position: relative;
    margin: 0 0 10px 0
}

.c-head08__main {
    font-size: 2.8rem;
    position: relative;
    z-index: 2
}

@media all and (min-width: 768px) {
    .c-head08__ico {
        left: -45px;
        top: -5px;
        width: 67px
    }

    .c-head08__fukidashi {
        margin: 0 0 10px 0
    }

    .c-head08__fukidashi .c-fukidashi01__in {
        font-size: 2.4rem
    }

    .c-head08__main {
        font-size: 5rem
    }
}

.c-head09__sub {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    font-weight: 900;
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 10px;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-head09__sub::before,
.c-head09__sub::after {
    position: relative;
    bottom: -3px;
    content: "";
    width: 2px;
    height: 23px;
    border-radius: 9999px;
    background: rgb(var(--blue500))
}

.c-head09__sub::before {
    transform: rotate(-38deg);
    margin-right: 13px
}

.c-head09__sub::after {
    transform: rotate(38deg);
    margin-left: 8px
}

.c-head09__main {
    text-align: center;
    font-size: 2rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-head09.is-big .c-head09__main {
    font-size: 2.4rem
}

@media all and (min-width: 768px) {
    .c-head09__sub {
        font-size: 2rem
    }

    .c-head09__sub::before,
    .c-head09__sub::after {
        bottom: 0;
        height: 25px
    }

    .c-head09__sub::before {
        margin-right: 20px
    }

    .c-head09__sub::after {
        margin-left: 20px
    }

    .c-head09__main {
        font-size: 2.8rem
    }

    .c-head09.is-big .c-head09__main {
        font-size: 3.6rem
    }
}

.c-head09.border-white .c-head09__sub::before,
.c-head09.border-white .c-head09__sub::after {
    background-color: #fff
}

.c-ico {
    vertical-align: middle;
    display: inline-block
}

.c-ico svg {
    display: block;
    width: inherit;
    height: inherit
}

.c-ico svg {
    transition: color .2s ease
}

.c-ico-border-arrow01::after {
    background-color: #fff;
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20fill%3D%22%232d71c2%22%20d%3D%22M3.22%2018.78A11%2011%200%201%201%2018.78%203.22%2011%2011%200%200%201%203.22%2018.78ZM2%2011a9%209%200%201%200%209-9%209.01%209.01%200%200%200-9%209Zm9.56%202.2a.5.5%200%200%201%200-.6l1.25-1.51H8.35a.43.43%200%200%201%200-.85h4.46l-1.25-1.52a.5.5%200%200%201%200-.6.3.3%200%200%201%20.5%200l1.84%202.25a.5.5%200%200%201%200%20.6l-1.84%202.24a.3.3%200%200%201-.5%200Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20772%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20fill%3D%22%232d71c2%22%20d%3D%22M3.22%2018.78A11%2011%200%201%201%2018.78%203.22%2011%2011%200%200%201%203.22%2018.78ZM2%2011a9%209%200%201%200%209-9%209.01%209.01%200%200%200-9%209Zm9.56%202.2a.5.5%200%200%201%200-.6l1.25-1.51H8.35a.43.43%200%200%201%200-.85h4.46l-1.25-1.52a.5.5%200%200%201%200-.6.3.3%200%200%201%20.5%200l1.84%202.25a.5.5%200%200%201%200%20.6l-1.84%202.24a.3.3%200%200%201-.5%200Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20772%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 20px;
    height: 20px
}

@media all and (min-width: 768px) {
    .c-ico-border-arrow01::after {
        width: 30px;
        height: 30px
    }
}

.c-ico-check01::after {
    background-color: rgb(var(--blue500));
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2219.826%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M10.139%200A9.968%209.968%200%200%200-.001%2010.05a10.001%2010.001%200%200%200%2020-.277A9.981%209.981%200%200%200%2010.139%200m4.889%208.288-5.646%205.6a1.124%201.124%200%200%201-1.58%200l-2.831-2.809a1.1%201.1%200%200%201%200-1.566%201.124%201.124%200%200%201%201.58%200l2.041%202.023%204.856-4.814a1.124%201.124%200%200%201%201.58%200%201.1%201.1%200%200%201%200%201.566%22%20data-name%3D%22%E3%83%91%E3%82%B9%20157014%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2219.826%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M10.139%200A9.968%209.968%200%200%200-.001%2010.05a10.001%2010.001%200%200%200%2020-.277A9.981%209.981%200%200%200%2010.139%200m4.889%208.288-5.646%205.6a1.124%201.124%200%200%201-1.58%200l-2.831-2.809a1.1%201.1%200%200%201%200-1.566%201.124%201.124%200%200%201%201.58%200l2.041%202.023%204.856-4.814a1.124%201.124%200%200%201%201.58%200%201.1%201.1%200%200%201%200%201.566%22%20data-name%3D%22%E3%83%91%E3%82%B9%20157014%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 20px;
    height: 20px
}

@media all and (min-width: 768px) {
    .c-ico-check01::after {
        width: 30px;
        height: 30px
    }
}

.c-ico-bg-arrow01::after {
    background-color: rgb(var(--blue500));
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2217%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20d%3D%22M8.5%2016.5a8%208%200%201%201%208-8%208.009%208.009%200%200%201-8%208ZM7.713%205.388a.7.7%200%200%200-.488.2.659.659%200%200%200%200%20.951l1.792%201.729L7.222%2010a.659.659%200%200%200%200%20.951.705.705%200%200%200%20.98%200l2.28-2.206a.659.659%200%200%200%200-.948L8.2%205.587a.7.7%200%200%200-.487-.199Z%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%201%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2217%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20d%3D%22M8.5%2016.5a8%208%200%201%201%208-8%208.009%208.009%200%200%201-8%208ZM7.713%205.388a.7.7%200%200%200-.488.2.659.659%200%200%200%200%20.951l1.792%201.729L7.222%2010a.659.659%200%200%200%200%20.951.705.705%200%200%200%20.98%200l2.28-2.206a.659.659%200%200%200%200-.948L8.2%205.587a.7.7%200%200%200-.487-.199Z%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%201%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 20px;
    height: 20px
}

.c-ico-bg-arrow02::after {
    background-color: rgb(var(--blue700));
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%3E%3Cpath%20fill%3D%22%232d71c2%22%20d%3D%22M11%2022A11%2011%200%200%201%203.222%203.222a11%2011%200%201%201%2015.556%2015.556A10.928%2010.928%200%200%201%2011%2022ZM8.348%2010.243a.432.432%200%200%200%200%20.847h4.465l-1.247%201.52a.492.492%200%200%200%200%20.6.306.306%200%200%200%20.491%200l1.843-2.243a.492.492%200%200%200%200-.6l-1.844-2.243a.305.305%200%200%200-.491%200%20.491.491%200%200%200%200%20.6l1.247%201.52Z%22%20data-name%3D%22%E4%B8%AD%E3%83%9E%E3%83%89%201%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%3E%3Cpath%20fill%3D%22%232d71c2%22%20d%3D%22M11%2022A11%2011%200%200%201%203.222%203.222a11%2011%200%201%201%2015.556%2015.556A10.928%2010.928%200%200%201%2011%2022ZM8.348%2010.243a.432.432%200%200%200%200%20.847h4.465l-1.247%201.52a.492.492%200%200%200%200%20.6.306.306%200%200%200%20.491%200l1.843-2.243a.492.492%200%200%200%200-.6l-1.844-2.243a.305.305%200%200%200-.491%200%20.491.491%200%200%200%200%20.6l1.247%201.52Z%22%20data-name%3D%22%E4%B8%AD%E3%83%9E%E3%83%89%201%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 20px;
    height: 20px
}

.c-ico-line-arrow01::after {
    display: block;
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227%22%20height%3D%2212%22%20viewBox%3D%220%200%207%2012%22%3E%3Cpath%20d%3D%22M961.5%2C7030.75a1%2C1%2C0%2C0%2C1-.676-1.737l4.248-3.894c-1.467-1.542-4.043-4.272-4.4-4.815a1%2C1%2C0%2C0%2C1%2C1.663-1.111c.269.386%2C2.7%2C2.988%2C4.892%2C5.282a1%2C1%2C0%2C0%2C1-.047%2C1.429l-5%2C4.583A1%2C1%2C0%2C0%2C1%2C961.5%2C7030.75Z%22%20transform%3D%22translate(-960.5%20-7018.75)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227%22%20height%3D%2212%22%20viewBox%3D%220%200%207%2012%22%3E%3Cpath%20d%3D%22M961.5%2C7030.75a1%2C1%2C0%2C0%2C1-.676-1.737l4.248-3.894c-1.467-1.542-4.043-4.272-4.4-4.815a1%2C1%2C0%2C0%2C1%2C1.663-1.111c.269.386%2C2.7%2C2.988%2C4.892%2C5.282a1%2C1%2C0%2C0%2C1-.047%2C1.429l-5%2C4.583A1%2C1%2C0%2C0%2C1%2C961.5%2C7030.75Z%22%20transform%3D%22translate(-960.5%20-7018.75)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 7px;
    height: 12px
}

.c-ico-arrow01::after {
    background-color: #fff;
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.34%22%20height%3D%2214.502%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.219%2014.14a1.243%201.243%200%200%201-.01-1.768l3.825-3.873H1.249a1.25%201.25%200%200%201%200-2.5h8.867l-3.9-3.863A1.249%201.249%200%201%201%207.975.363l5.992%205.934a1.253%201.253%200%200%201%20.01%201.768l-5.992%206.066a1.275%201.275%200%200%201-.889.371%201.258%201.258%200%200%201-.877-.362Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20773%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.34%22%20height%3D%2214.502%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.219%2014.14a1.243%201.243%200%200%201-.01-1.768l3.825-3.873H1.249a1.25%201.25%200%200%201%200-2.5h8.867l-3.9-3.863A1.249%201.249%200%201%201%207.975.363l5.992%205.934a1.253%201.253%200%200%201%20.01%201.768l-5.992%206.066a1.275%201.275%200%200%201-.889.371%201.258%201.258%200%200%201-.877-.362Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20773%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 12px;
    height: 12px
}

@media all and (min-width: 768px) {
    .c-ico-arrow01::after {
        width: 14px;
        height: 14px
    }
}

.c-ico-arrow02::before {
    background-color: rgba(var(--blue500));
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226.414%22%20height%3D%2211.784%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%233f97e2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1.414%201.37c.333.562%204%204.875%204%204.875l-4%204.125%22%20data-name%3D%22%E3%83%91%E3%82%B9%20157998%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226.414%22%20height%3D%2211.784%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%233f97e2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1.414%201.37c.333.562%204%204.875%204%204.875l-4%204.125%22%20data-name%3D%22%E3%83%91%E3%82%B9%20157998%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 6px;
    height: 10px;
    margin-right: 7px
}

@media all and (min-width: 768px) {
    .c-ico-arrow02::before {
        width: 7px;
        height: 13px
    }
}

.c-ico-blank01::after {
    background-color: rgba(var(--blue500));
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%3Cg%20fill%3D%22none%22%20data-name%3D%22%E5%90%88%E4%BD%93%20775%22%3E%3Cpath%20d%3D%22M3%2011V8H0V0h8v3h3v8Zm0-4V3h4V1H1v6Z%22%2F%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M10%2010V4.001H4V10h6m1%201H3V8H0V0h8V3h3V11ZM1%201v6h2V3h4V1H1Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%3Cg%20fill%3D%22none%22%20data-name%3D%22%E5%90%88%E4%BD%93%20775%22%3E%3Cpath%20d%3D%22M3%2011V8H0V0h8v3h3v8Zm0-4V3h4V1H1v6Z%22%2F%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M10%2010V4.001H4V10h6m1%201H3V8H0V0h8V3h3V11ZM1%201v6h2V3h4V1H1Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 15px;
    height: 15px
}

@media all and (min-width: 768px) {
    .c-ico-blank01::after {
        width: 14px;
        height: 14px
    }
}

.c-ico-search01::after {
    background-color: rgba(var(--blue500));
    content: "";
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221.96%22%20height%3D%2221.96%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2044226%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%234ca1d9%22%20d%3D%22M0%200h21.96v21.96H0z%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2030387%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22%234ca1d9%22%20clip-path%3D%22url(%23a)%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2044220%22%3E%3Cpath%20d%3D%22M15.048%202.578a8.818%208.818%200%201%200%200%2012.47%208.828%208.828%200%200%200%200-12.47M3.881%2013.746a6.975%206.975%200%201%201%209.864%200%206.983%206.983%200%200%201-9.864%200%22%20data-name%3D%22%E3%83%91%E3%82%B9%20117723%22%2F%3E%3Cpath%20d%3D%22M16.632%2014.645a8.839%208.839%200%200%201-1.987%201.987l4.915%204.915a1.405%201.405%200%201%200%201.987-1.987Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20117724%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221.96%22%20height%3D%2221.96%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2044226%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%234ca1d9%22%20d%3D%22M0%200h21.96v21.96H0z%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2030387%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22%234ca1d9%22%20clip-path%3D%22url(%23a)%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2044220%22%3E%3Cpath%20d%3D%22M15.048%202.578a8.818%208.818%200%201%200%200%2012.47%208.828%208.828%200%200%200%200-12.47M3.881%2013.746a6.975%206.975%200%201%201%209.864%200%206.983%206.983%200%200%201-9.864%200%22%20data-name%3D%22%E3%83%91%E3%82%B9%20117723%22%2F%3E%3Cpath%20d%3D%22M16.632%2014.645a8.839%208.839%200%200%201-1.987%201.987l4.915%204.915a1.405%201.405%200%201%200%201.987-1.987Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20117724%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    width: 25px;
    height: 25px
}

@media all and (min-width: 768px) {

    button:hover .c-ico-arrow01::after,
    button.c-ico-arrow01:hover::after,
    a.c-ico-arrow01:hover::after {
        -webkit-animation: icoRightOutLeftIn .6s var(--easeInOutQuart);
        animation: icoRightOutLeftIn .6s var(--easeInOutQuart)
    }
}

.c-ico-white::after {
    background-color: #fff
}

.c-ico-blue500::after {
    background-color: rgb(var(--blue500))
}

.c-ico-blue700::after {
    background-color: rgb(var(--blue700))
}

.c-ico-gray300::after {
    background-color: rgb(var(--gray300))
}

.c-ico-gray500::after {
    background-color: rgb(var(--gray500))
}

.c-ico-red700::after {
    background-color: rgb(var(--red700))
}

.c-ico-green500::after {
    background-color: rgb(var(--green500))
}

.c-ico-cream500::after {
    background-color: rgb(var(--cream500))
}

.c-ico-orange500::after {
    background-color: rgb(var(--orange500))
}

.c-ico-attention01 {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2013.97%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M15.82%2012.62%208.79.56a.83.83%200%200%200-1.58%200L.18%2012.62c-.43.74-.07%201.35.8%201.35h14.05c.86%200%201.22-.6.79-1.35ZM7.22%205.2c.03-.1.46-.17.78-.17a2.43%202.43%200%200%201%20.72.07%202.72%202.72%200%200%201%20.13.97v.85c0%20.08-.07.73-.15%201.3a10.79%2010.79%200%200%201-.2%201.2c-.03.09-.33.16-.5.16a1.2%201.2%200%200%201-.46-.07%204.98%204.98%200%200%201-.25-1.3l-.12-1.18v-.96a4.94%204.94%200%200%201%20.04-.87Zm1.63%206.48-.15.18a.88.88%200%200%201-.69.29.93.93%200%200%201-.7-.32.85.85%200%200%201-.2-.56.96.96%200%200%201%20.18-.58l.17-.21.54-.13h.02a.84.84%200%200%201%20.6.26l.18.18a3.41%203.41%200%200%201%20.05.89Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%2017953%22%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2013.97%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M15.82%2012.62%208.79.56a.83.83%200%200%200-1.58%200L.18%2012.62c-.43.74-.07%201.35.8%201.35h14.05c.86%200%201.22-.6.79-1.35ZM7.22%205.2c.03-.1.46-.17.78-.17a2.43%202.43%200%200%201%20.72.07%202.72%202.72%200%200%201%20.13.97v.85c0%20.08-.07.73-.15%201.3a10.79%2010.79%200%200%201-.2%201.2c-.03.09-.33.16-.5.16a1.2%201.2%200%200%201-.46-.07%204.98%204.98%200%200%201-.25-1.3l-.12-1.18v-.96a4.94%204.94%200%200%201%20.04-.87Zm1.63%206.48-.15.18a.88.88%200%200%201-.69.29.93.93%200%200%201-.7-.32.85.85%200%200%201-.2-.56.96.96%200%200%201%20.18-.58l.17-.21.54-.13h.02a.84.84%200%200%201%20.6.26l.18.18a3.41%203.41%200%200%201%20.05.89Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%2017953%22%2F%3E%3C%2Fsvg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

@-webkit-keyframes icoRightOutLeftIn {
    0% {
        -webkit-mask-position: 0 50%;
        -webkit-mask-origin: left center
    }

    50% {
        -webkit-mask-position: 30px 50%;
        -webkit-mask-origin: left center
    }

    51% {
        -webkit-mask-position: -30px 50%;
        -webkit-mask-origin: right center
    }

    100% {
        -webkit-mask-position: 0 50%;
        -webkit-mask-origin: left center
    }
}

@keyframes icoRightOutLeftIn {
    0% {
        -webkit-mask-position: 0 50%;
        -webkit-mask-origin: left center
    }

    50% {
        -webkit-mask-position: 30px 50%;
        -webkit-mask-origin: left center
    }

    51% {
        -webkit-mask-position: -30px 50%;
        -webkit-mask-origin: right center
    }

    100% {
        -webkit-mask-position: 0 50%;
        -webkit-mask-origin: left center
    }
}

.c-index-area-archive__inner {
    padding-top: 50px
}

.c-index-area-archive:last-of-type .c-index-area-archive__inner {
    padding-bottom: 55px
}

.c-index-area-archive__head {
    position: relative;
    z-index: 1;
    text-align: left;
    margin-bottom: 20px
}

.c-index-area-archive__head-ico {
    width: 25px;
    display: inline-block;
    margin-right: 10px
}

.c-index-area-archive__content {
    margin-top: 20px
}

.c-index-area-archive-info {
    margin-top: 20px
}

.c-index-area-archive-info__head {
    font-size: 1.8rem
}

.c-index-area-archive-info__address {
    margin-top: 20px;
    padding: 30px
}

.c-index-area-archive-info__address-label {
    line-height: 1.6;
    margin-bottom: 15px;
    font-size: 1.6rem
}

.c-index-area-archive__btn {
    margin-top: 20px
}

.c-index-area-archive-search {
    margin-top: 35px
}

.c-index-area-archive-search__head {
    margin-bottom: 20px
}

.c-index-area-archive__notes {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-top: 15px
}

@media all and (max-width: 767px) {
    .c-index-area-archive-header {
        position: relative
    }

    .c-index-area-archive-header__point {
        position: absolute;
        z-index: 0;
        width: 64px;
        top: -40px;
        left: 50%;
        margin-left: 80px
    }

    .c-index-area-archive__map {
        max-width: 335px;
        margin: auto
    }
}

@media all and (min-width: 768px) {
    .c-index-area-archive__inner {
        padding-top: 100px
    }

    .c-index-area-archive:last-of-type .c-index-area-archive__inner {
        padding-bottom: 120px
    }

    .c-index-area-archive__head {
        position: relative;
        margin-bottom: 30px
    }

    .c-index-area-archive__head-ico {
        width: 35px;
        margin-right: 15px
    }

    .c-index-area-archive__content {
        display: grid;
        grid-template-areas: "info map" "detail detail";
        grid-template-columns: 505px auto;
        grid-template-rows: auto;
        gap: 0 45px
    }

    .c-index-area-archive__map {
        grid-area: map
    }

    .c-index-area-archive-info {
        grid-area: info;
        margin-top: 0
    }

    .c-index-area-archive-info__head {
        font-size: 2.4rem
    }

    .c-index-area-archive-info__address {
        margin-top: 40px;
        padding: 40px
    }

    .c-index-area-archive-info__address-label {
        margin-bottom: 10px;
        font-size: 2rem
    }

    .c-index-area-archive__btn {
        margin-top: 30px
    }

    .c-index-area-archive-search {
        margin-top: 80px
    }

    .c-index-area-archive-search__head {
        margin-bottom: 30px
    }

    .c-index-area-archive__notes {
        margin-top: 30px;
        font-size: 1.4rem
    }
}

.c-index-area-message {
    overflow: hidden;
    position: relative
}

.c-index-area-message::after {
    position: absolute;
    content: "";
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(../img/area/city/bg_message01%402x.png) no-repeat right bottom;
    background-size: contain
}

.c-index-area-message__inner {
    padding-top: 50px;
    padding-bottom: 50px;
    z-index: 2;
    position: relative
}

.c-index-area-message__img {
    margin: -15px -20px -20px
}

.c-index-area-message__lead {
    margin-bottom: 15px
}

.c-index-area-message__lead-in {
    padding: 8px 14px;
    font-size: 1.5rem
}

@media all and (min-width: 768px) {
    .c-index-area-message::after {
        width: 55%;
        background-size: cover
    }

    .c-index-area-message__inner {
        padding-top: 130px;
        padding-bottom: 150px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto 1fr
    }

    .c-index-area-message__head {
        font-size: 2.5rem;
        justify-content: flex-start;
        margin-bottom: 40px
    }

    .c-index-area-message__img {
        margin: -20px 0 0 -90px;
        grid-area: 1/1/4/2
    }

    .c-index-area-message__lead {
        margin-bottom: 40px
    }

    .c-index-area-message__lead-in {
        padding: 12px 18px;
        font-size: 3rem
    }
}

@media all and (min-width: 1360px) {
    .c-index-area-message::after {
        width: 45%
    }
}

.c-index-area {
    position: relative;
    overflow: hidden
}

.c-index-area__inner {
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: #4185d5
}

.c-index-area__header {
    color: #fff
}

.c-index-area__header-sub {
    font-size: 1.3rem
}

.c-index-area__header-main {
    display: grid;
    grid-template-columns: 24px 1fr;
    align-items: center;
    -moz-column-gap: 8px;
    column-gap: 8px;
    margin-top: 4px;
    font-size: 3rem
}

.c-index-area__content {
    position: relative;
    z-index: 1
}

.c-index-area__txt {
    margin: 24px 0 45px;
    color: #fff
}

.c-index-area__bg {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0
}

.c-index-area__bg-pref {
    top: 31px;
    right: 20px;
    left: auto;
    width: 65px
}

@media all and (max-width: 767px) {
    .c-index-area__content {
        padding: 0
    }
}

@media all and (min-width: 768px) {
    .c-index-area {
        padding: 0 30px;
        position: relative
    }

    .c-index-area::after {
        position: absolute;
        content: "";
        bottom: 0;
        left: 0;
        width: 100%;
        height: 25%;
        background: rgba(var(--blue100));
        z-index: 1
    }

    .c-index-area__inner {
        position: relative;
        z-index: 2;
        padding-top: 104px;
        padding-bottom: 110px;
        overflow: hidden
    }

    .c-index-area__header-sub {
        font-size: 2.2rem
    }

    .c-index-area__header-main {
        grid-template-columns: 39px 1fr;
        -moz-column-gap: 22px;
        column-gap: 22px;
        margin-top: 8px;
        font-size: 5rem
    }

    .c-index-area__txt {
        width: 685px;
        margin-top: 35px
    }

    .c-index-area__bg-pref {
        top: 50px;
        right: auto;
        left: 50%;
        width: 235px;
        transform: translateX(150px)
    }
}

.c-index-base-area {
    position: relative
}

.c-index-base-area__inner {
    position: relative;
    z-index: 0;
    padding-top: 60px;
    padding-bottom: 50px
}

.c-index-base-area__header-sub {
    font-weight: 900;
    font-size: 1.2rem;
    line-height: var(--line_height_head)
}

.c-index-base-area__header-main {
    grid-template-columns: 24px 1fr;
    -moz-column-gap: 8px;
    column-gap: 8px;
    align-items: center;
    font-weight: 900;
    font-size: 3rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-index-base-area__header-main-ico {
    position: relative;
    top: 2px;
    height: 29px
}

.c-index-base-area__header-main-ico img {
    display: block
}

.c-index-base-area__txt {
    margin: 24px 0 45px
}

.c-index-base-area__btn {
    margin-top: 20px
}

.c-index-base-area__bg {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 100%
}

@media(min-width: 600px)and (max-width: 767px) {
    .c-index-base-area__txt {
        width: 68%
    }
}

@media all and (min-width: 768px) {
    .c-index-base-area__inner {
        padding-top: 134px;
        padding-bottom: 120px
    }

    .c-index-base-area__header-sub {
        font-size: 2.2rem
    }

    .c-index-base-area__header-main {
        grid-template-columns: 39px 1fr;
        -moz-column-gap: 22px;
        column-gap: 22px;
        font-size: 5rem
    }

    .c-index-base-area__header-main-ico {
        top: 4px;
        height: 48px
    }

    .c-index-base-area__txt {
        width: 50%;
        margin: 35px 0 85px
    }

    .c-index-base-area__btn {
        margin-top: 40px
    }

    .c-index-base-area__bg {
        width: 78.64%
    }
}

.c-index-bnrs {
    overflow: hidden;
    padding-top: 30px;
    padding-bottom: 30px
}

.c-index-bnrs__item-link {
    display: block
}

@media all and (min-width: 768px) {
    .c-index-bnrs {
        padding-top: 2.6vw;
        padding-bottom: 2.6vw
    }

    .c-index-bnrs__slider {
        margin: auto;
        width: 56.61vw
    }
}

.c-index-bnrs-area {
    margin-top: -45px;
    padding-top: 55px
}

@media all and (min-width: 768px) {
    .c-index-bnrs-area {
        margin-top: -58px;
        padding-top: 80px
    }
}

.c-index-collect--city+.c-index-calendar {
    margin-top: -30px;
    padding-top: 30px
}

@media all and (min-width: 768px) {
    .c-index-collect--city+.c-index-calendar {
        margin-top: -80px;
        padding-top: 80px
    }
}

.c-index-calendar {
    position: relative
}

.c-index-calendar__inner {
    position: relative;
    z-index: 1;
    padding-top: 22px;
    padding-bottom: 50px
}

.c-index-calendar-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 29px;
    line-height: var(--line_height_head)
}

.customer-chara {
    display: inline-block;
    width: 100px;
    height: 100px;
    overflow: hidden;
    transform: translateX(5px)
}

.customer-manzoku {
    color: rgb(var(--blue700));
    font-size: 3.3rem;
    white-space: nowrap;
    line-height: 1.2;
}

.c-index-calendar-header__main-sub {
    font-size: 1.6rem
}

.c-index-calendar__fukidashi-in {
    position: relative;
    display: inline-block;
    padding: 5px 23px;
    border-radius: 9999px;
    color: #fff;
    background: rgb(var(--blue700))
}

.c-index-calendar__fukidashi-in::after {
    position: absolute;
    content: "";
    display: block;
    top: calc(100% - 2px);
    left: 50%;
    width: 12px;
    height: 7px;
    transform: translateX(-50%);
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.07%207.26%22%3E%3Cpath%20fill%3D%22%232D71C2%22%20d%3D%22M.46%207.1A1%201%200%200%201%200%206.22L.22.96a1%201%200%200%201%201-.96h9.74a1%201%200%200%201%20.55.17%201.29%201.29%200%200%201%20.55%201.2c-.1.92-1.04%201.64-3.24%202.5a105.91%20105.91%200%200%200-7.38%203.28%201%201%200%200%201-.98-.05Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20773%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 100%/cover
}

.c-index-calendar__txt {
    margin-top: 20px;
    font-size: 2rem;
    text-align: center;
    line-height: 1.5
}

@media all and (min-width: 768px) {
    .c-index-calendar__inner {
        padding-bottom: 40px
    }

    .c-index-calendar-header {
        position: relative;
        padding-bottom: 20px;
    }

    .customer-chara {
        position: absolute;
        left: 50%;
        bottom: -16px;
        width: 188px;
        height: 268px;
        transform: translateX(-520px);
    }

    .customer-manzoku {
        margin-top: 32px;
        font-size: 40px;
        width: 100%;
        text-align: center;
    }
}

.c-index-calendar-header__main-sub {
    font-size: 3.5rem
}

.c-index-calendar__fukidashi-in {
    padding: 10px 50px;
    font-size: 2.8rem
}

.c-index-calendar__fukidashi-in::after {
    top: calc(100% - 4px);
    width: 22px;
    height: 12px
}

.c-index-calendar__cracker {
    position: relative;
    top: 120px
}

.c-index-calendar__txt {
    margin-top: 60px;
    font-size: 3rem
}

.c-index-case-ng {
    display: grid;
    row-gap: 25px;
    margin-top: 40px;
    padding: 30px 20px
}

.c-index-case-ng__head {
    display: grid;
    grid-template-columns: 14px 1fr;
    align-items: center;
    -moz-column-gap: 7px;
    column-gap: 7px;
    font-weight: 900;
    font-size: 1.8rem;
    line-height: var(--line_height_head)
}

.c-index-case-ng__head::before {
    content: "";
    height: 14px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016.07%2016.07%22%3E%3Cpath%20fill%3D%22%23333%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20d%3D%22m8.03%209.9-5.45%205.46L.7%2013.5l5.45-5.46L.71%202.58%202.58.7l5.45%205.45L13.5.71l1.87%201.87L9.9%208.03l5.46%205.46-1.87%201.87Z%22%20data-name%3D%22%E4%BA%A4%E5%B7%AE%202%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/cover
}

.c-index-case-ng__txt {
    margin-top: 10px;
    font-size: 1.3rem
}

.c-index-case-ng__notes {
    margin-top: 10px;
    font-size: 1.2rem;
    line-height: var(--line_height_head)
}

.c-index-case-ng__img {
    position: relative;
    margin: 0 auto;
    width: 85%
}

.c-index-case-ng__img-chara {
    position: absolute;
    bottom: -10px;
    left: -25px;
    width: 66px
}

.c-index-case-ng__img-txt {
    position: absolute;
    top: -15px;
    right: -10px;
    width: 63px
}

@media all and (min-width: 768px) {
    .c-index-case-ng {
        grid-template-columns: 1fr 350px;
        gap: 0 30px;
        align-items: center;
        margin-top: 74px;
        padding: 60px;
        box-sizing: border-box
    }

    .c-index-case-ng__head {
        grid-template-columns: 19px 1fr;
        font-size: 3rem;
        -moz-column-gap: 13px;
        column-gap: 13px
    }

    .c-index-case-ng__head::before {
        height: 19px
    }

    .c-index-case-ng__txt {
        font-size: 1.6rem;
        margin-top: 20px
    }

    .c-index-case-ng__notes {
        margin-top: 23px;
        font-size: 1.4rem
    }

    .c-index-case-ng__img {
        width: auto
    }

    .c-index-case-ng__img-chara {
        left: -30px;
        bottom: -6px;
        width: 94px
    }

    .c-index-case-ng__img-txt {
        top: -25px;
        right: -15px;
        width: 90px
    }
}

.c-index-case-result {
    margin-top: 40px
}

.c-index-case-result__slider {
    margin-top: 20px
}

.c-index-case-result__item {
    text-align: center
}

.c-index-case-result__item-txt {
    margin-top: 15px;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-index-case-result__item-price .num {
    color: rgb(var(--red700));
    font-size: 2.7rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0
}

.c-index-case-result__item-price .yen {
    position: relative;
    top: -2px;
    margin-left: 2px;
    font-size: 1.7rem;
    font-weight: 900
}

.c-index-case-result__btn {
    margin-top: 20px
}

@media all and (max-width: 767px) {
    .c-index-case-result {
        padding-top: 40px;
        border-top: 1px solid rgb(var(--gray300))
    }

    .c-index-case-result__slider {
        margin-right: -20px;
        margin-left: -20px
    }

    .c-index-case-result__slider:not(.is-active) .splide__slide {
        width: 49.08%;
        margin-right: auto;
        margin-left: auto
    }
}

@media all and (min-width: 768px) {
    .c-index-case-result {
        margin-top: 115px
    }

    .c-index-case-result__slider {
        margin-top: 40px
    }

    .c-index-case-result__list {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        -moz-column-gap: 34px;
        column-gap: 34px
    }

    .c-index-case-result__item-txt {
        font-size: 2rem
    }

    .c-index-case-result__item-price {
        margin-top: 3px
    }

    .c-index-case-result__item-price .num {
        font-size: 4rem
    }

    .c-index-case-result__item-price .yen {
        font-size: 2rem
    }

    .c-index-case-result__btn {
        margin-top: 44px
    }
}

@media all and (min-width: 768px) {
    .c-index-case-result-purchase {
        padding-top: 0;
        margin-top: 0;
        border-top: 0
    }

    .c-index-case-result-purchase__head {
        font-size: 3rem;
        position: absolute;
        top: -32px;
        left: 50%;
        padding-right: 20px;
        padding-left: 20px;
        background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0) 30px, #fff 30.1px, #fff 100%);
        transform: translateX(-50%)
    }
}

.c-index-case-result-term {
    padding-top: 0;
    margin-top: 0;
    border-top: 0
}

.c-index-collect__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.c-index-collect__head-wrap {
    max-width: 400px;
    margin: 0 auto;
    position: relative
}

.c-index-collect__head-ico-item {
    position: absolute;
    z-index: 1
}

.c-index-collect__head-ico-item.is-item01 {
    top: 19%;
    left: -15px;
    width: 50px
}

.c-index-collect__head-ico-item.is-item02 {
    bottom: 0;
    left: 3%;
    width: 35px
}

.c-index-collect__head-ico-item.is-item03 {
    top: 6%;
    right: 5%;
    width: 35px;
    transform: scale(-1, 1) rotate(15deg)
}

.c-index-collect__head-ico-item.is-item04 {
    bottom: 7px;
    right: -15px;
    width: 40px
}

.c-index-collect__txt {
    margin-top: 30px
}

.c-index-collect__list {
    margin: 30px -20px 0
}

.c-index-collect__tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 4px;
    column-gap: 4px;
    align-items: end
}

.c-index-collect__tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
    height: 40px;
    background-color: rgb(var(--gray200));
    border-radius: 4px 4px 0 0
}

.c-index-collect__tab.is-active {
    height: 50px;
    color: #fff;
    background-color: rgb(var(--gray800));
    font-weight: 900;
}

.c-index-collect__contents {
    background: #fff;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 3px 20px rgba(0, 0, 0, .1)
}

.c-index-collect__content {
    padding: 12px 20px 30px
}

.c-index-collect__content-btn {
    display: flex;
    justify-content: flex-end;
    margin-top: 15px
}

.c-index-collect__btn {
    margin-top: 20px
}

@media all and (max-width: 374px) {
    .c-index-collect__head-ico-item.is-item01 {
        top: 10%;
        left: -25px;
        width: 40px
    }

    .c-index-collect__head-ico-item.is-item02 {
        left: 0;
        width: 30px
    }

    .c-index-collect__head-ico-item.is-item03 {
        right: 3%;
        width: 30px
    }
}

@media all and (min-width: 768px) {
    .c-index-collect__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .c-index-collect__head-wrap {
        max-width: 100%
    }

    .c-index-collect__head-ico-item.is-item01 {
        top: 20%;
        left: 30px;
        width: 130px
    }

    .c-index-collect__head-ico-item.is-item02 {
        left: 19%;
        width: 90px
    }

    .c-index-collect__head-ico-item.is-item03 {
        top: 0;
        right: 18%;
        width: 90px;
        transform: scale(-1, 1) rotate(8deg)
    }

    .c-index-collect__head-ico-item.is-item04 {
        top: auto;
        bottom: 3%;
        right: 5%;
        width: 90px
    }

    .c-index-collect__list {
        margin: 30px 0 0
    }

    .c-index-collect__tabs {
        -moz-column-gap: 11px;
        column-gap: 11px
    }

    .c-index-collect__tab {
        font-size: 1.8rem;
        height: 60px
    }

    .c-index-collect__tab.is-active {
        height: 70px
    }

    .c-index-collect__content {
        padding: 21px 40px 70px
    }

    .c-index-collect__txt {
        text-align: center
    }

    .c-index-collect__btn {
        margin-top: 60px
    }
}

.c-index-collect--city {
    position: relative;
    z-index: 1;
    border-radius: 0 0 30px 30px
}

@media all and (min-width: 768px) {
    .c-index-collect--city {
        border-radius: 0 0 80px 80px
    }
}

.c-index-collect--strengths {
    margin: 15px -20px 0
}

.c-index-collect--strengths .c-index-collect__list {
    margin-top: 15px
}

.c-index-collect--strengths .c-index-collect__tab {
    background-color: #fdd6d6
}

.c-index-collect--strengths .c-index-collect__tab.is-active {
    background-color: rgba(var(--red500))
}

.c-index-collect--strengths .c-index-collect__content-btn .c-ico-bg-arrow01::after {
    background-color: rgba(var(--red500))
}

@media all and (min-width: 768px) {
    .c-index-collect--strengths {
        margin: 50px 0 0
    }

    .c-index-collect--strengths .c-index-collect__content-btn .c-btn02__link:hover {
        color: rgba(var(--red500))
    }
}

.c-index-example__head {
    position: relative;
    padding-top: 80px
}

.c-index-example__head-chara {
    position: absolute;
    z-index: 1;
    display: block;
    top: 15px;
    left: 50%;
    width: 77px;
    transform: translate(-50%, -37px)
}

.c-index-example__inner {
    padding-bottom: 50px;
    overflow: hidden
}

.c-index-example__slider {
    margin: 35px -20px 0
}

.c-index-example__slider:not(.is-active) {
    margin-left: 0;
    margin-right: 0
}

.c-index-example__btn {
    margin-top: 20px
}

.c-index-example__bnrs {
    margin-top: 35px
}

@media all and (max-width: 767px) {
    .c-index-example__inner {
        padding-right: 20px;
        padding-left: 20px
    }

    .c-index-example__slider .splide__arrow--next,
    .c-index-example__slider .splide__arrow--prev {
        top: 34.13vw;
        transform: translateY(0)
    }
}

@media all and (min-width: 768px) {
    .c-index-example__head {
        padding-top: 195px;
        padding-bottom: 30px
    }

    .c-index-example__head-chara {
        top: 70px;
        width: 190px;
        transform: translate(-420px, 50px)
    }

    .c-index-example__inner {
        padding-bottom: 120px
    }

    .c-index-example__slider {
        z-index: 1;
        margin: 0 auto;
        width: 1040px
    }

    .c-index-example__slider:not(.is-active) {
        margin-right: auto;
        margin-left: auto
    }

    .c-index-example__slider:not(.is-active) .splide__list {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center
    }

    .c-index-example__btn {
        margin-top: 60px
    }

    .c-index-example__bnrs {
        margin-top: 60px
    }
}

@media all and (min-width: 768px) {
    .c-index-example-hikkoshigo__head-chara {
        left: 48%
    }
}

.c-index-faq {
    background-color: #fff;
}

.c-index-faq__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.c-index-faq__list {
    margin-top: 30px
}

.c-index-faq__notfound {
    margin-top: 20px
}

.c-index-faq__btn {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .c-index-faq__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .c-index-faq__list {
        margin-top: 40px
    }

    .c-index-faq__btn {
        margin-top: 40px
    }
}

.c-index-flow-schedule {
    position: relative;
    margin-top: 55px;
    padding: 33px 20px 25px;
    border: 2px solid rgb(var(--blue700))
}

.c-index-flow-schedule::before {
    position: absolute;
    content: "";
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 145px;
    height: 132px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgb(var(--blue700))
}

.c-index-flow-schedule::after {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
    height: 132px;
    background: #fff
}

.c-index-flow-schedule__head {
    position: relative;
    z-index: 2;
    margin-top: -40px
}

.c-index-flow-schedule__head-img {
    width: 35px;
    height: 35px;
    display: block;
    margin: 0 auto 10px
}

.c-index-flow-schedule__head-txt {
    text-align: center;
    position: relative;
    z-index: 1;
    font-size: 2rem
}

.c-index-flow-schedule__chara {
    position: absolute;
    bottom: -93px;
    left: 50%;
    width: 170px;
    transform: translateX(-50%)
}

.c-index-flow-schedule__list {
    position: relative;
    margin-top: 42px
}

.c-index-flow-schedule__list::before {
    position: absolute;
    z-index: 0;
    content: "";
    display: block;
    top: 28px;
    left: 50%;
    bottom: 0;
    width: 43px;
    background: no-repeat left top/100% auto;
    transform: translateX(-50%)
}

.no-webp .c-index-flow-schedule__list::before,
.no-js .c-index-flow-schedule__list::before {
    background-image: url(../img/flow/bg_schedule01%402x.png)
}

.webp .c-index-flow-schedule__list::before {
    background-image: url(../img/flow/bg_schedule01%402x.png.webp)
}

.c-index-flow-schedule__item {
    position: relative;
    z-index: 1
}

.c-index-flow-schedule__item-note {
    position: absolute;
    left: 0;
    top: -25px;
    font-size: 1.2rem
}

.c-index-flow-schedule__item-note::before,
.c-index-flow-schedule__item-note::after {
    position: relative;
    display: inline-block;
    top: 3px;
    content: "";
    width: 2px;
    height: 13px;
    background: rgb(var(--blue700))
}

.c-index-flow-schedule__item-note::before {
    margin-right: 5px;
    transform: rotate(-20deg)
}

.c-index-flow-schedule__item-note::after {
    margin-left: 5px;
    transform: rotate(20deg)
}

.c-index-flow-schedule__item-time {
    position: absolute;
    left: 0;
    top: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 58px;
    height: 50px;
    color: #fff;
    font-weight: 700;
    border-radius: 5px 0 0 5px;
    transform: translateY(-50%)
}

.c-index-flow-schedule__item-time::after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 100%;
    width: 0;
    height: 0;
    border: 7px solid transparent;
    transform: translateY(-50%)
}

.c-index-flow-schedule__item-txt {
    padding: 9px 0 9px 40px;
    color: rgb(var(--blue700));
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 1.5rem;
    margin-left: 35px
}

.c-index-flow-schedule__item.is-sameday .c-index-flow-schedule__item-time::after,
.c-index-flow-schedule__item.is-after .c-index-flow-schedule__item-time::after {
    border-left-color: rgb(var(--blue700))
}

.c-index-flow-schedule__item.is-sameday .c-index-flow-schedule__item-time,
.c-index-flow-schedule__item.is-after .c-index-flow-schedule__item-time {
    background: rgb(var(--blue700))
}

.c-index-flow-schedule__item.is-sameday .c-index-flow-schedule__item-txt,
.c-index-flow-schedule__item.is-after .c-index-flow-schedule__item-txt {
    background: rgb(var(--gray100))
}

.c-index-flow-schedule__item.is-today .c-index-flow-schedule__item-time::after {
    border-left-color: rgb(var(--blue500))
}

.c-index-flow-schedule__item.is-today .c-index-flow-schedule__item-time {
    background: rgb(var(--blue500))
}

.c-index-flow-schedule__item.is-today .c-index-flow-schedule__item-txt {
    background: rgb(var(--blue300))
}

.c-index-flow-schedule__notes {
    margin-top: 10px;
    text-align: right
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule__item+.c-index-flow-schedule__item {
        margin-top: 25px
    }

    .c-index-flow-schedule__item.is-sameday+.c-index-flow-schedule__item.is-today {
        margin-top: 55px
    }

    .c-index-flow-schedule__item.is-today+.c-index-flow-schedule__item.is-after {
        margin-top: 40px
    }
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule {
        margin: 100px 0 60px;
        padding: 38px 0 60px
    }

    .c-index-flow-schedule::before {
        top: -40px;
        width: 176px;
        height: 164px
    }

    .c-index-flow-schedule::after {
        width: 95%;
        height: 132px
    }

    .c-index-flow-schedule__head {
        margin-top: -45px
    }

    .c-index-flow-schedule__head-img {
        width: 48px;
        height: 48px;
        margin-bottom: 15px
    }

    .c-index-flow-schedule__head-txt {
        font-size: 2.8rem
    }

    .c-index-flow-schedule__chara {
        bottom: auto;
        top: -11%;
        right: 5%;
        left: auto;
        width: 250px;
        transform: translateX(0);
        z-index: 2
    }

    .c-index-flow-schedule__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 1000px;
        margin: 55px auto 0
    }

    .c-index-flow-schedule__list::before {
        top: 185px;
        left: 20px;
        bottom: auto;
        width: 56px;
        height: 901px;
        transform-origin: left top;
        transform: rotate(-90deg)
    }

    .c-index-flow-schedule__item {
        display: flex;
        flex-wrap: wrap;
        flex-basis: 65px
    }

    .c-index-flow-schedule__item-note {
        top: -32px;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        width: 100px;
        font-size: 1.5rem
    }

    .c-index-flow-schedule__item-note::before,
    .c-index-flow-schedule__item-note::after {
        width: 2px;
        height: 17px
    }

    .c-index-flow-schedule__item-time {
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 74px;
        height: 40px;
        border-radius: 10px 10px 0 0
    }

    .c-index-flow-schedule__item-time::after {
        position: absolute;
        content: "";
        display: block;
        top: 100%;
        left: 50%;
        width: 0;
        height: 0;
        border-left-color: transparent !important;
        transform: translate(-50%, 0)
    }

    .c-index-flow-schedule__item-txt {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: 75px;
        margin: 40px 0 0;
        padding: 22px 0;
        letter-spacing: .1em;
        writing-mode: vertical-rl;
        font-size: 1.8rem;
        box-sizing: border-box;
        border-radius: 0 0 5px 5px
    }

    .c-index-flow-schedule__item.is-sameday .c-index-flow-schedule__item-time::after,
    .c-index-flow-schedule__item.is-after .c-index-flow-schedule__item-time::after {
        border-top-color: rgb(var(--blue700))
    }

    .c-index-flow-schedule__item.is-sameday+.c-index-flow-schedule__item.is-today,
    .c-index-flow-schedule__item.is-today+.c-index-flow-schedule__item.is-after {
        margin-left: 20px
    }

    .c-index-flow-schedule__item.is-today .c-index-flow-schedule__item-time::after {
        border-top-color: rgb(var(--blue500))
    }

    .c-index-flow-schedule__notes {
        width: 1000px;
        margin: 15px auto 0
    }
}

@media all and (min-width: 1360px) {
    .c-index-flow-schedule {
        margin: 100px -130px 60px
    }

    .c-index-flow-schedule__chara {
        top: -12%;
        right: 12.5%;
        width: 283px
    }
}

.c-index-flow-schedule-sec {
    position: relative;
    padding: 60px 17px 30px;
    background: #fff;
    overflow: visible
}

.c-index-flow-schedule-sec__wrap {
    margin-top: 120px;
    counter-reset: num
}

.c-index-flow-schedule-sec:not(:last-of-type)::before,
.c-index-flow-schedule-sec:not(:last-of-type)::after {
    position: absolute;
    content: "";
    display: block;
    top: 100%;
    left: 50%;
    width: 0;
    height: 0;
    border: solid transparent;
    border-width: 25px 30px;
    transform: translateX(-50%)
}

.c-index-flow-schedule-sec:not(:last-of-type)::after {
    margin-top: -4px;
    border-top-color: #fff
}

.c-index-flow-schedule-sec+.c-index-flow-schedule-sec {
    margin-top: 40px
}

.c-index-flow-schedule-sec__time {
    position: absolute;
    top: -1px;
    left: -1px;
    width: 90px;
    padding: 5px 0;
    font-size: 1.6rem;
    border-top-left-radius: inherit
}

.c-index-flow-schedule-sec__area-txt {
    margin-top: 20px
}

.c-index-flow-schedule-sec__head {
    position: relative;
    padding-left: 26px;
    counter-increment: num;
    font-size: 2rem
}

.c-index-flow-schedule-sec__head::before {
    position: absolute;
    top: 5px;
    left: 0;
    content: counter(num);
    display: inline-block;
    width: 20px;
    height: 20px;
    padding-top: 1px;
    font-size: 1.6rem;
    background: rgb(var(--blue700));
    border-radius: 50%;
    color: #fff;
    text-align: center;
    line-height: 1;
    box-sizing: border-box
}

.c-index-flow-schedule-sec__head.has-no-before .c-index-flow-schedule-sec__head-num {
    position: absolute;
    top: 5px;
    left: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    padding-top: 1px;
    font-size: 1.4rem;
    letter-spacing: 0;
    background: rgb(var(--blue700));
    border-radius: 50%;
    color: #fff;
    text-align: center;
    line-height: 1;
    box-sizing: border-box
}

.c-index-flow-schedule-sec__head.has-no-before::before {
    content: none
}

.c-index-flow-schedule-sec__sub {
    position: relative;
    margin: 43px 0 20px;
    padding: 14px 0;
    font-size: 2rem;
    border-radius: 999px
}

.c-index-flow-schedule-sec__sub-chara {
    width: 77px;
    position: absolute;
    bottom: 0;
    right: 15px
}

.c-index-flow-schedule-sec__lead {
    margin: 0 0 20px
}

.c-index-flow-schedule-sec__lead-ico {
    display: inline-block;
    width: 20px;
    margin: 0 9px 3px 0
}

.c-index-flow-schedule-sec__txt {
    margin-top: 10px
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule-sec.is-reverse .c-index-flow-schedule-sec__area-txt {
        margin-top: 0
    }

    .c-index-flow-schedule-sec.has-box {
        padding-bottom: 0
    }

    .c-index-flow-schedule-sec.has-box::after {
        border-top-color: rgb(var(--blue300)) !important
    }
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec {
        display: grid;
        grid-template-columns: 515px auto;
        grid-template-areas: "txt img" "other other";
        gap: 0 45px;
        padding: 50px
    }

    .c-index-flow-schedule-sec__wrap {
        margin-top: 110px;
    }

    .c-index-flow-schedule-sec+.c-index-flow-schedule-sec {
        margin-top: 55px
    }

    .c-index-flow-schedule-sec__time {
        width: 139px;
        border-radius: 20px 0 5px 0;
        padding: 7px 0;
        font-size: 2.1rem
    }

    .c-index-flow-schedule-sec__head {
        padding-left: 45px;
        font-size: 3.2rem
    }

    .c-index-flow-schedule-sec__head::before {
        top: 9px;
        width: 35px;
        height: 35px;
        padding: 3px 0 0 3px;
        font-size: 2.5rem
    }

    .c-index-flow-schedule-sec__head.has-no-before .c-index-flow-schedule-sec__head-num {
        top: 9px;
        width: 35px;
        height: 35px;
        padding: 3px;
        font-size: 2.2rem
    }

    .c-index-flow-schedule-sec__sub {
        margin: 80px 0;
        padding: 22px 0;
        font-size: 3.6rem
    }

    .c-index-flow-schedule-sec__sub-chara {
        width: 126px;
        position: absolute;
        bottom: 0;
        left: 50%;
        right: auto;
        transform: translateX(175px)
    }

    .c-index-flow-schedule-sec__area-txt {
        grid-area: txt;
        margin-top: 40px
    }

    .c-index-flow-schedule-sec__area-img {
        grid-area: img
    }

    .c-index-flow-schedule-sec__txt {
        margin-top: 20px
    }

    .c-index-flow-schedule-sec__box,
    .c-index-flow-schedule-sec__thing {
        grid-area: other
    }
}

.c-index-flow-schedule-sec__box {
    margin-top: 30px;
    margin-right: -17px;
    margin-left: -17px;
    padding: 20px 50px 40px;
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule-sec__box.has-fukidashi {
        margin-top: 48px
    }
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__box {
        margin: 40px 0 0;
        border-radius: 10px;
        padding: 35px 50px 50px
    }

    .c-index-flow-schedule-sec__box-head-sub.is-small {
        margin-bottom: 0;
        font-size: 1.4rem
    }

    .c-index-flow-schedule-sec__box-head-main {
        font-size: 2.8rem
    }
}

.c-index-flow-schedule-sec__imgs {
    margin-top: 15px
}

.c-index-flow-schedule-sec__img {
    position: relative
}

.c-index-flow-schedule-sec__img-caption {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 5px 25px;
    line-height: 1.5;
    border-radius: 8px 0 8px 0;
    font-size: 1.6rem
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule-sec__img+.c-index-flow-schedule-sec__img {
        margin-top: 20px
    }
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__imgs {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0 22px;
        margin-top: 20px
    }

    .c-index-flow-schedule-sec__img-caption {
        min-width: 140px;
        box-sizing: border-box;
        font-size: 1.8rem
    }
}

.c-index-flow-schedule-sec__requester {
    display: grid;
    align-items: center;
    grid-template-columns: 58px auto;
    gap: 15px 12px;
    padding: 20px
}

.c-index-flow-schedule-sec__requester-img,
.c-index-flow-schedule-sec__requester-img img {
    border-top-right-radius: inherit;
    border-top-left-radius: inherit
}

.c-index-flow-schedule-sec__requester-role {
    position: relative;
    top: -3px;
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 1.6
}

.c-index-flow-schedule-sec__requester-txt {
    grid-column: 1/3;
    font-size: 1.3rem
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__requester {
        position: relative;
        display: block
    }

    .c-index-flow-schedule-sec__requester-ico {
        position: absolute;
        top: -85px;
        left: 20px;
        width: 100px
    }

    .c-index-flow-schedule-sec__requester-role {
        margin-top: -5px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        font-size: 1.7rem
    }

    .c-index-flow-schedule-sec__requester-role span {
        flex-basis: 100px;
        font-size: 1.5rem;
        text-align: center
    }

    .c-index-flow-schedule-sec__requester-txt {
        margin-top: -5px;
        font-size: 1.5rem
    }
}

.c-index-flow-schedule-sec__thing {
    margin-top: 20px;
    overflow: hidden
}

.c-index-flow-schedule-sec__thing-label {
    padding: 13px 0;
    font-size: 1.6rem
}

.c-index-flow-schedule-sec__thing-txt {
    padding: 20px 25px
}

.c-index-flow-schedule-sec__thing-list.is-sp-flex {
    display: flex;
    flex-wrap: wrap
}

.c-index-flow-schedule-sec__thing-list.is-sp-flex .c-index-flow-schedule-sec__thing-item+.c-index-flow-schedule-sec__thing-item {
    margin-left: 20px
}

.c-index-flow-schedule-sec__thing-item {
    position: relative;
    padding-left: 18px;
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: left
}

.c-index-flow-schedule-sec__thing-item::before {
    position: absolute;
    content: "";
    display: block;
    top: 9px;
    left: 5px;
    width: 5px;
    height: 5px;
    border-radius: 50px;
    background: rgb(var(--blue500))
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__thing {
        grid-column: 1/3;
        display: grid;
        grid-template-columns: 250px auto;
        gap: 0;
        align-items: center
    }

    .c-index-flow-schedule-sec__thing-label {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        height: 100%;
        height: 100%;
        padding: 25px;
        font-size: 2rem
    }

    .c-index-flow-schedule-sec__thing-txt {
        height: 100%;
        box-sizing: border-box;
        padding: 25px 60px
    }

    .c-index-flow-schedule-sec__thing-list {
        display: grid;
        grid-template-columns: repeat(3, auto);
        grid-template-rows: auto;
        justify-content: start;
        gap: 5px 40px
    }

    .c-index-flow-schedule-sec__thing-item {
        font-size: 1.8rem
    }

    .c-index-flow-schedule-sec__thing-item::before {
        top: 16px
    }
}

.c-index-flow-schedule-sec__point {
    margin-top: 12px
}

.c-index-flow-schedule-sec__point .c-list-point01__item-img {
    margin: 0
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__point {
        margin-top: 20px
    }

    .c-index-flow-schedule-sec__point .c-list-point01__item:not(:nth-of-type(3n-2)) {
        margin-left: 15px
    }
}

.c-index-flow-schedule-sec__custody {
    margin: 25px -50px -40px;
    padding: 30px 30px 0
}

.c-index-flow-schedule-sec__custody-head {
    font-size: 1.6rem
}

.c-index-flow-schedule-sec__custody-txt {
    margin-top: 11px
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule-sec__custody-img {
        margin: 15px auto;
        width: 86%
    }
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__custody {
        display: grid;
        grid-template-columns: 1fr 280px;
        margin: 44px 0 0;
        padding: 50px;
        gap: 20px 30px
    }

    .c-index-flow-schedule-sec__custody-head {
        font-size: 2.4rem
    }

    .c-index-flow-schedule-sec__custody-txt {
        margin-top: 10px
    }
}

.c-index-flow-schedule-sec__comp {
    padding: 28px 15px 32px
}

.c-index-flow-schedule-sec__comp-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    font-weight: 700;
    position: relative;
    text-align: center;
    margin: 0 0 -20px 25px
}

.c-index-flow-schedule-sec__comp-ico {
    display: inline-block;
    margin-left: 5px;
    width: 30px;
    height: 35px;
    transform: scale(-1, 1)
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule-sec__comp-item:nth-of-type(n+2) {
        margin: 15px 10px 0
    }
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__comp {
        padding: 50px 60px 60px
    }

    .c-index-flow-schedule-sec__comp-head {
        font-size: 2.8rem
    }

    .c-index-flow-schedule-sec__comp-head::before,
    .c-index-flow-schedule-sec__comp-head::after {
        width: 10px;
        height: 40px;
        background-size: 10px 10px
    }

    .c-index-flow-schedule-sec__comp-head::before {
        margin-right: 17px
    }

    .c-index-flow-schedule-sec__comp-head::after {
        margin-left: 17px
    }

    .c-index-flow-schedule-sec__comp-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 28px;
        margin-top: -75px
    }

    .c-index-flow-schedule-sec__comp-item:first-of-type {
        margin-bottom: 30px;
        grid-column: 1/3
    }
}

.c-index-flow-schedule-sec__info {
    display: grid;
    grid-template-columns: 130px auto
}

.c-index-flow-schedule-sec__info-label {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 11px 0;
    border-top: 2px solid #fff;
    font-size: 1.6rem
}

.c-index-flow-schedule-sec__info-label:first-of-type {
    border-top-color: rgb(var(--blue500))
}

.c-index-flow-schedule-sec__info-label:last-of-type {
    border-bottom: 2px solid rgb(var(--blue500))
}

.c-index-flow-schedule-sec__info-txt {
    padding: 11px;
    font-size: 1.6rem;
    border: 2px solid rgb(var(--blue500));
    border-bottom: 0;
    border-left: 0
}

.c-index-flow-schedule-sec__info-txt:last-of-type {
    border-bottom: 2px solid rgb(var(--blue500))
}

.c-index-flow-schedule-sec__info-note {
    margin-top: 10px
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule-sec__info {
        margin-top: 15px
    }
}

@media all and (min-width: 768px) {
    .c-index-flow-schedule-sec__info {
        font-size: 2.1rem;
        grid-template-columns: 150px auto
    }

    .c-index-flow-schedule-sec__info-label {
        padding: 4px 0;
        font-size: 2.1rem
    }

    .c-index-flow-schedule-sec__info-txt {
        font-size: 2.1rem;
        padding: 4px 28px
    }

    .c-index-flow-schedule-sec__info-note {
        text-align: left
    }
}

@media all and (max-width: 767px) {
    .c-index-flow-schedule-sec__area-img {
        margin-top: 15px
    }
}

.c-index-media {
    position: relative
}

.c-index-media::before {
    position: absolute;
    content: "";
    z-index: 0;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(90deg, rgb(var(--blue700)) 0%, rgb(var(--blue700)) 50%, rgb(var(--blue500)) 50.05%, rgb(var(--blue500)) 100%)
}

.c-index-media__inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 50px
}

.c-index-media__content {
    position: relative;
    padding-top: 15px;
    padding-bottom: 30px
}

.c-index-media__content::before {
    position: absolute;
    content: "";
    z-index: -1;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-radius: 10px
}

.c-index-media__header {
    position: relative;
    z-index: 1
}

.c-index-media__header-main {
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    font-size: 2.1rem;
    font-weight: 900;
    text-align: center
}

.c-index-media__header-main-tv {
    font-size: 100px;
}

.c-index-media__header-main-dot {
    position: relative;
    -webkit-text-emphasis: '•' rgb(var(--blue500));
    text-emphasis: '•' rgb(var(--blue500));
    -webkit-text-emphasis-position: over right;
    text-emphasis-position: over right
}

.c-index-media__header-chara {
    position: absolute;
    top: -55px;
    right: 83px;
    width: 61px;
    pointer-events: none
}

.c-index-media__slider {
    margin: 10px -20px 0
}

.c-index-media-logos {
    display: grid;
    grid-template-columns: 66px 52px 71px;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 17px;
    column-gap: 17px;
    margin-top: 30px
}

.c-index-media-bnr {
    position: absolute;
    top: -60px;
    right: -20px;
    width: 110px
}

.c-index-media-bnr__link {
    display: block;
    width: inherit;
    height: 110px;
    filter: drop-shadow()
}

@media all and (min-width: 768px) {
    .c-index-media__inner {
        max-width: none;
        padding-top: 80px;
        padding-bottom: 80px
    }

    .c-index-media__header {
        z-index: 0
    }

    .c-index-media__header-main {
        padding-right: 55px;
        font-size: 3.5rem
    }

    .c-index-media__header-main-tv {
        font-size: 6rem
    }


    .c-index-media__header-chara {
        width: 206px;
        top: -182px;
        right: 50%;
        transform: translateX(470px)
    }

    .c-index-media__content {
        padding-top: 70px;
        padding-bottom: 30px;
    }

    .c-index-media__content::before {
        max-width: calc(100% - var(--body_padding_side));
        margin: auto;
        border-radius: 80px
    }

    .c-index-media__slider {
        margin: 25px 0 0
    }

    .c-index-media-logos {
        grid-template-columns: 155px 122px 166px;
        -moz-column-gap: 36px;
        column-gap: 36px;
        margin-top: 40px
    }

    .c-index-media-bnr {
        top: 435px;
        right: 50%;
        width: 210px;
        transform: translateX(540px)
    }

    .c-index-media-bnr__link {
        height: 210px
    }
}

.c-index-message {
    position: relative;
    overflow: hidden;
    padding-top: 5%;
}

.c-index-message__inner {
    position: relative;
    /*padding-top: 0%;
    padding-bottom: 80px*/
}

.c-index-message__img-wrap {
    position: relative;
    z-index: 1;
    padding-bottom: 40px
}

.c-index-message__item {
    position: relative;
    height: 50vh
}

.c-index-message__area-txt {
    position: relative;
    z-index: 1;
    display: grid;
    row-gap: 15px
}

.c-index-message__txt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    margin-left: 20px
}

.c-index-message__txt-in {
    color: rgb(var(--blue700));
    font-weight: 900;
    font-size: 1.5rem;
    border-radius: 4px;
    letter-spacing: .1em
}

.c-index-message__txt-in.has-indent {
    text-indent: -0.5em
}

.c-index-message__img {
    position: absolute;
    top: 8vw;
    z-index: 0;
    opacity: 0;
    width: 100vw;
    height: 100vw;
    transition: all .6s var(--easeOutQuart)
}

.c-index-message__img img {
    display: block;
    width: 58.5vw;
    box-shadow: 0 20px 20px 40px rgba(63, 151, 226, .1);
    opacity: 0;
    transition: all .6s var(--easeInOutQuart)
}

.c-index-message__ico {
    position: absolute;
    z-index: 2;
    top: 40vw;
    right: 0;
    width: 140px
}

.c-index-message__img-wrap.is-animated .c-index-message__img {
    opacity: 1
}

.c-index-message__img-wrap.is-animated .c-index-message__img img {
    opacity: 1
}

.c-index-message [data-img="01"] {
    top: 10vw;
    left: 5vw;
    transform: rotate(-8deg)
}

.c-index-message [data-img="02"] {
    top: 35vw;
    left: -4%;
    transform: rotate(-15deg)
}

.c-index-message [data-img=main] {
    position: relative;
    top: 1vw;
    left: 9vw;
    width: 85vw;
    height: 53vw;
    transform: rotate(2deg)
}

.c-index-message [data-img=main] img {
    width: 100%;
    height: 100%;
    -webkit-clip-path: inset(1px);
    clip-path: inset(1px);
    border-radius: 12px;
    -o-object-fit: cover;
    object-fit: cover
}

.c-index-message [data-img="01"] img,
.c-index-message [data-img="02"] img {
    transform: translateX(-100%);
    -webkit-animation: slideArcLeftReverse 2s cubic-bezier(0.08, 0.87, 0.63, 1) forwards;
    animation: slideArcLeftReverse 2s cubic-bezier(0.08, 0.87, 0.63, 1) forwards
}

.c-index-message__img-wrap.is-animated [data-img="01"] img,
.c-index-message__img-wrap.is-animated [data-img="02"] img {
    -webkit-animation: slideArcLeft 2s cubic-bezier(0.08, 0.87, 0.63, 1) forwards;
    animation: slideArcLeft 2s cubic-bezier(0.08, 0.87, 0.63, 1) forwards
}

.c-index-message__img-wrap.is-animated [data-img="03"] img {
    -webkit-animation: slideArcRight 2s cubic-bezier(0.08, 0.87, 0.63, 1) forwards;
    animation: slideArcRight 2s cubic-bezier(0.08, 0.87, 0.63, 1) forwards
}

.c-index-message-chara {
    position: absolute;
    z-index: 0;
    bottom: 0;
    right: 0;
    width: 320px;
    height: 470px;
    text-align: right;
    overflow: hidden
}

.c-index-message-chara__img {
    display: block;
    margin-right: 0;
    margin-left: auto
}

.c-index-message-chara__img-head {
    width: 260px;
    margin-right: -30px
}

.c-index-message-chara__img-body {
    margin-top: -30px;
    margin-right: -30px;
    width: 208px
}

.c-index-message-chara__img-arm {
    position: absolute;
    top: 270px;
    left: 30px;
    width: 125px;
    transform-origin: right bottom
}

.c-index-message.is-animated .c-index-message-chara__img-head {
    transition: all .3s ease;
    -webkit-animation: charaAnim 9s ease infinite;
    animation: charaAnim 9s ease infinite
}

.c-index-message.is-animated .c-index-message-chara__img-arm {
    transition: all .3s ease;
    -webkit-animation: charaAnim 7.5s cubic-bezier(0.55, 1.2, 0.68, 0.53) .3s infinite;
    animation: charaAnim 7.5s cubic-bezier(0.55, 1.2, 0.68, 0.53) .3s infinite
}

@media all and (min-width: 768px) {
    .c-index-message__inner {
        padding-top: 70px;
        padding-bottom: 140px;
        max-width: 1630px;
        margin: 0 auto;
    }

    .c-index-message__area-txt {
        row-gap: 2vw
    }

    .c-index-message__txt {
        padding-left: calc(50% + 6vw)
    }

    .c-index-message__txt-in {
        font-size: clamp(2rem, 1.19vw, 2.3rem)
    }

    .c-index-message__img-wrap {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%
    }

    .c-index-message__img {
        width: 1000px;
        height: 1000px;
        top: 50%;
        width: 31vw
    }

    .c-index-message__ico {
        right: auto;
        top: 50%;
        left: 40vw;
        width: 15vw
    }

    .c-index-message [data-img="01"] {
        top: calc(50% + 40px);
        left: 11vw;
        width: 21.9vw
    }

    .c-index-message [data-img="01"] img {
        -webkit-animation-delay: .3s;
        animation-delay: .3s
    }

    .c-index-message [data-img="02"] {
        top: calc(50% - 180px);
        left: 8vw;
        width: 24vw
    }

    .c-index-message [data-img=main] {
        position: absolute;
        z-index: 2;
        top: calc(50% - 220px);
        right: auto;
        left: 22vw;
        width: 31vw;
        height: 280px
    }

    .c-index-message-chara {
        top: -11.7vw;
        width: 51vw;
        height: 82.91vw
    }

    .c-index-message-chara__img-head {
        width: 41.6vw
    }

    .c-index-message-chara__img-body {
        margin-top: -4.16vw;
        width: 33.4vw
    }

    .c-index-message-chara__img-arm {
        top: 43.22vw;
        width: 20.1vw
    }
}

@media all and (min-width: 1420px) {
    .c-index-message__img img {
        width: 23.5vw
    }
}

@media all and (min-width: 1600px) {
    .c-index-message [data-img="01"] {
        left: 176px;
        width: 350px
    }

    .c-index-message [data-img="02"] {
        left: 128px;
        width: 384px
    }

    .c-index-message [data-img=main] {
        left: 352px;
        width: 496px;
        height: 280px
    }

    .c-index-message__ico {
        left: 640px;
        width: 240px
    }

    .c-index-message__img img {
        width: 376px
    }

    .c-index-message__txt {
        padding-left: calc(50% + 96px)
    }
}

@-webkit-keyframes slideArcLeft {
    0% {
        transform: rotate(0deg) translateX(-100px) rotate(0deg)
    }

    100% {
        transform: rotate(110deg) translateX(-100px) rotate(-110deg)
    }
}

@keyframes slideArcLeft {
    0% {
        transform: rotate(0deg) translateX(-100px) rotate(0deg)
    }

    100% {
        transform: rotate(110deg) translateX(-100px) rotate(-110deg)
    }
}

@-webkit-keyframes slideArcLeftReverse {
    0% {
        transform: rotate(110deg) translateX(-100px) rotate(-110deg)
    }

    100% {
        transform: rotate(0deg) translateX(-100px) rotate(0deg)
    }
}

@keyframes slideArcLeftReverse {
    0% {
        transform: rotate(110deg) translateX(-100px) rotate(-110deg)
    }

    100% {
        transform: rotate(0deg) translateX(-100px) rotate(0deg)
    }
}

@-webkit-keyframes slideArcRight {
    0% {
        transform: rotate(0deg) translateX(100px) rotate(0deg)
    }

    100% {
        transform: rotate(-110deg) translateX(100px) rotate(110deg)
    }
}

@keyframes slideArcRight {
    0% {
        transform: rotate(0deg) translateX(100px) rotate(0deg)
    }

    100% {
        transform: rotate(-110deg) translateX(100px) rotate(110deg)
    }
}

@-webkit-keyframes slideArcRightReverse {
    0% {
        transform: rotate(-110deg) translateX(100px) rotate(110deg)
    }

    100% {
        transform: rotate(0deg) translateX(100px) rotate(0deg)
    }
}

@keyframes slideArcRightReverse {
    0% {
        transform: rotate(-110deg) translateX(100px) rotate(110deg)
    }

    100% {
        transform: rotate(0deg) translateX(100px) rotate(0deg)
    }
}

@-webkit-keyframes charaAnim {
    0% {
        transform: rotate(0deg)
    }

    65% {
        transform: rotate(0deg)
    }

    70% {
        transform: rotate(5deg)
    }

    72% {
        transform: rotate(3deg)
    }

    75% {
        transform: rotate(5deg)
    }

    80% {
        transform: rotate(5deg)
    }

    83% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(0deg)
    }
}

@keyframes charaAnim {
    0% {
        transform: rotate(0deg)
    }

    65% {
        transform: rotate(0deg)
    }

    70% {
        transform: rotate(5deg)
    }

    72% {
        transform: rotate(3deg)
    }

    75% {
        transform: rotate(5deg)
    }

    80% {
        transform: rotate(5deg)
    }

    83% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(0deg)
    }
}

.c-index-news {
    position: relative
}

.c-index-news__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.c-index-news__list {
    display: grid;
    row-gap: 8px;
    margin-top: 30px
}

.c-index-news__item-link {
    display: grid;
    grid-template-columns: 110px 1fr;
    -moz-column-gap: 15px;
    column-gap: 15px;
    align-items: center;
    padding: 20px;
    background: #fff;
    box-shadow: 0 3px 20px rgba(136, 172, 199, .1)
}

.c-index-news__item-thumb {
    grid-row: 1/3
}

.c-index-news__item-time {
    font-size: 1.1rem;
    font-weight: 900;
    color: rgb(var(--blue500))
}

.c-index-news__item-head {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-weight: 900;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-index-news__item-cats {
    margin-top: 10px;
    grid-column: 1/3
}

.c-index-news__btn {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-index-news__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .c-index-news__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-top: 50px
    }

    .c-index-news__item-link {
        grid-template-columns: 140px 1fr;
        -moz-column-gap: 20px;
        column-gap: 20px;
        padding: 30px
    }

    .c-index-news__item-time {
        font-size: 1.3rem
    }

    .c-index-news__item-head {
        font-size: 2rem
    }

    .c-index-news__item-cats {
        margin-top: 12px
    }

    .c-index-news__btn {
        margin-top: 40px
    }
}

.c-index-single-price {
    position: relative;
    z-index: 1;
    margin-bottom: -30px;
    border-radius: 0 0 30px 30px
}

.c-index-single-price__inner {
    padding-top: 50px;
    padding-bottom: 38px
}

.c-index-single-price__content {
    margin-top: 44px;
    padding: 38px 20px 30px
}

.c-index-single-price__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px
}

.c-index-single-price__item {
    padding: 2px 0 19px;
    text-align: center
}

.c-index-single-price__item-img {
    width: 80px
}

.c-index-single-price__item-txt {
    margin-top: -5px;
    font-size: 1.1rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-index-single-price__item-price {
    font-size: 1.8rem;
    font-weight: 900;
    line-height: var(--line_height_head);
    color: rgb(var(--red500))
}

.c-index-single-price__btn {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-index-single-price {
        margin-bottom: -80px;
        border-radius: 0 0 80px 80px
    }

    .c-index-single-price__inner {
        padding-top: 106px;
        padding-bottom: 115px
    }

    .c-index-single-price__content {
        margin-top: 80px;
        padding: 63px 3.125vw 60px
    }

    .c-index-single-price__list {
        grid-template-columns: repeat(5, 1fr);
        gap: 30px
    }

    .c-index-single-price__item {
        padding: 10px 0 17px
    }

    .c-index-single-price__item-img {
        width: 100px
    }

    .c-index-single-price__item-txt {
        margin-top: 0;
        font-size: 1.8rem
    }

    .c-index-single-price__item-txt-sub {
        font-size: 1.4rem
    }

    .c-index-single-price__item-price {
        font-size: 2.6rem
    }

    .c-index-single-price__btn {
        margin-top: 40px
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-index-single-price__content {
        padding-right: 20px;
        padding-left: 20px
    }
}

.c-index-price__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.c-index-price__content {
    margin-top: 29px
}

.c-index-price__txt {
    margin-top: 20px
}

.c-index-price__list {
    margin-top: 20px
}

.c-index-price__btn {
    margin-top: 20px
}

.c-index-price__btn-wrap {
    margin-top: 20px;
    display: grid;
    gap: 10px 0
}

.c-index-price__btn-wrap .c-index-price__btn {
    margin-top: 0
}

.c-index-price__table {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-index-price__inner {
        position: relative;
        padding-top: 120px;
        padding-bottom: 120px
    }

    .c-index-price__content {
        position: relative;
        margin-top: 80px;
        padding: 60px 6.77vw
    }

    .c-index-price__chara {
        position: absolute;
        display: block;
        top: 146px;
        left: 50%;
        width: 184px;
        transform: translateX(200px)
    }

    .c-index-price__txt {
        margin: 0 0 30px;
        text-align: center
    }

    .c-index-price__list {
        margin: 0 auto;
        max-width: var(--content_width)
    }

    .c-index-price__btn {
        margin-top: 40px
    }

    .c-index-price__btn-wrap {
        margin: 40px 40px 0;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 20px
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-index-price__content {
        padding-right: 20px;
        padding-left: 20px
    }
}

@media all and (min-width: 768px) {
    .c-index-price__content-hikkoshigo {
        margin-top: 40px
    }
}

@media all and (min-width: 768px) {
    .c-index-price__chara-hikkoshigo {
        top: 105px;
        left: 49%
    }

    .c-index-price__chara-beginner {
        top: 260px;
        transform: translateX(373px)
    }
}

.c-index-purchase__head {
    position: relative;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: var(--line_height_head)
}

.c-index-purchase__head-sub {
    position: absolute;
    top: -20px;
    left: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 9999px;
    color: #fff;
    font-weight: 900;
    font-size: 1rem;
    line-height: 1.3;
    text-align: center;
    background: rgb(var(--red500));
    transform: translate(105px, 0)
}

.c-index-purchase__head-sub::before {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    right: 100%;
    width: 0;
    height: 0;
    border: solid transparent;
    border-width: 5px 7px;
    border-right-color: rgb(var(--red500));
    transform: translate(9px, 13px) rotate(-35deg)
}

.c-index-purchase__content {
    padding: 47px 20px 20px
}

@media all and (min-width: 768px) {
    .c-index-purchase__inner {
        padding-right: 6.77vw;
        padding-left: 6.77vw;
        border-width: 3px !important
    }

    .c-index-purchase__head {
        font-size: 4.4rem;
        font-weight: 900;
        transform: translate(-50%, 32px) !important
    }

    .c-index-purchase__head-sub {
        font-size: 2.4rem;
        width: 120px;
        height: 120px;
        transform: translate(220px, -30px)
    }

    .c-index-purchase__head-sub::before {
        border-width: 10px 14px;
        transform: translate(12px, 25px) rotate(-35deg)
    }

    .c-index-purchase__content {
        margin: auto;
        max-width: var(--contents_width);
        padding-top: 109px;
        padding-bottom: 120px
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-index-purchase__inner {
        padding-right: 20px;
        padding-left: 20px
    }
}

.c-index-purchase-intro {
    display: grid;
    row-gap: 20px
}

.c-index-purchase-intro__area-txt {
    position: relative
}

.c-index-purchase-intro__ico {
    position: absolute;
    z-index: 0;
    top: -5px;
    right: 0;
    width: 90px
}

.c-index-purchase-intro__sub {
    font-weight: 900;
    font-size: 1.2rem;
    line-height: var(--line_height_head)
}

.c-index-purchase-intro__head {
    position: relative;
    z-index: 1;
    margin-top: 6px;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    font-size: 2.2rem;
    font-weight: 900
}

.c-index-purchase-intro__txt {
    margin-top: 20px;
    font-size: 1.6rem
}

.c-index-purchase-intro__btn {
    margin-top: 15px
}

@media all and (min-width: 768px) {
    .c-index-purchase-intro {
        display: grid;
        grid-template-columns: 53.63% 1fr;
        gap: 0 60px;
        align-items: start
    }

    .c-index-purchase-intro__ico {
        width: 123px;
        right: -10px
    }

    .c-index-purchase-intro__img {
        position: relative
    }

    .c-index-purchase-intro__img-chara {
        position: absolute;
        right: -15px;
        bottom: -35px;
        width: 183px
    }

    .c-index-purchase-intro__sub {
        margin-top: 5px;
        font-size: 1.8rem
    }

    .c-index-purchase-intro__head {
        margin-top: 8px;
        font-size: 3.6rem
    }

    .c-index-purchase-intro__txt {
        margin-top: 25px
    }

    .c-index-purchase-intro__btn {
        margin: 28px auto 0 0
    }
}

.c-index-purchase-ng {
    display: grid;
    row-gap: 25px;
    margin-top: 40px;
    padding: 30px 20px
}

.c-index-purchase-ng__head {
    display: grid;
    grid-template-columns: 14px 1fr;
    align-items: center;
    -moz-column-gap: 7px;
    column-gap: 7px;
    font-weight: 900;
    font-size: 1.8rem;
    line-height: var(--line_height_head)
}

.c-index-purchase-ng__head::before {
    content: "";
    height: 14px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016.07%2016.07%22%3E%3Cpath%20fill%3D%22%23333%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20d%3D%22m8.03%209.9-5.45%205.46L.7%2013.5l5.45-5.46L.71%202.58%202.58.7l5.45%205.45L13.5.71l1.87%201.87L9.9%208.03l5.46%205.46-1.87%201.87Z%22%20data-name%3D%22%E4%BA%A4%E5%B7%AE%202%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/cover
}

.c-index-purchase-ng__txt {
    margin-top: 10px;
    font-size: 1.3rem
}

.c-index-purchase-ng__notes {
    margin-top: 10px;
    font-size: 1.2rem;
    line-height: var(--line_height_head)
}

.c-index-purchase-ng__img {
    position: relative;
    margin: 0 auto;
    width: 85%
}

.c-index-purchase-ng__img-chara {
    position: absolute;
    bottom: -10px;
    left: -25px;
    width: 66px
}

.c-index-purchase-ng__img-txt {
    position: absolute;
    top: -15px;
    right: -10px;
    width: 63px
}

@media all and (min-width: 768px) {
    .c-index-purchase-ng {
        grid-template-columns: 1fr 350px;
        gap: 0 30px;
        align-items: center;
        margin-top: 74px;
        padding: 60px;
        box-sizing: border-box
    }

    .c-index-purchase-ng__head {
        grid-template-columns: 19px 1fr;
        font-size: 3rem;
        -moz-column-gap: 13px;
        column-gap: 13px
    }

    .c-index-purchase-ng__head::before {
        height: 19px
    }

    .c-index-purchase-ng__txt {
        font-size: 1.6rem;
        margin-top: 20px
    }

    .c-index-purchase-ng__notes {
        margin-top: 23px;
        font-size: 1.4rem
    }

    .c-index-purchase-ng__img {
        width: auto
    }

    .c-index-purchase-ng__img-chara {
        left: -30px;
        bottom: -6px;
        width: 94px
    }

    .c-index-purchase-ng__img-txt {
        top: -25px;
        right: -15px;
        width: 90px
    }

    .c-index-purchase-ng.is-purchase {
        margin-top: 40px
    }

    .c-index-purchase-ng.is-purchase .c-index-purchase-ng__img {
        width: 85%;
        margin: -25px -60px 0 60px
    }

    .c-index-purchase-ng.is-purchase .c-index-purchase-ng__img-chara {
        bottom: -40px
    }
}

.c-index-reason-hero {
    position: relative;
    height: 61.3vw;
    /* background-image: url(/wp-content/themes/spot-tochigi/img/top/team.png); */
    /* background-size:cover; */
}

.c-index-reason-hero__head {
    position: absolute;
    display: grid;
    grid-template-columns: 50.4% 26.6%;
    place-content: center;
    align-items: center;
    -moz-column-gap: 2.4%;
    column-gap: 2.4%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 8vw;
    box-sizing: border-box
}

.c-index-reason-hero__deco {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none
}

.c-index-reason-hero__bg {
    position: relative;
    display: block;
    z-index: -2
}

@media all and (min-width: 768px) {
    .c-index-reason-hero {
        height: 33.45vw;
        min-height: 500px
    }

    .c-index-reason-hero__head {
        grid-template-columns: 24.89vw 13.38vw;
        -moz-column-gap: 1.8vw;
        column-gap: 1.8vw
    }

    .c-index-reason-hero__deco {
        width: 54vw;
        transform: translate(-50%, -30%)
    }

    .c-index-reason-hero__bg {
        min-height: 500px
    }
}

.c-index-reason {
    position: relative
}

.c-index-reason__inner {
    position: relative;
    z-index: 0
}

.c-index-reason__inner--service {
    padding-top: 70px;
}

.c-index-reason__anchors {
    position: relative;
    z-index: 1;
    margin-top: -35px;
    padding-top: 15px;
    border-radius: 30px 30px 0 0
}

.c-index-reason__point {
    margin-top: 20px;
    display: grid;
    gap: 15px 0
}

.c-index-reason__box {
    padding: 15px
}

.c-index-reason__box-lead {
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(var(--gray300))
}

.c-index-reason__note-ihin {
    margin-top: 5px
}

@media all and (max-width: 767px) {
    .c-index-reason__anchors-list {
        padding-right: 10px;
        padding-left: 10px
    }
}

@media all and (min-width: 768px) {
    .c-index-reason__inner {
        max-width: 100%
    }


    .c-index-reason__anchors {
        margin-top: -135px;
        padding-top: 60px;
        border-radius: 60px 60px 0 0;
    }

    .c-index-reason__point {
        margin-top: 40px;
        gap: 0
    }

    .c-index-reason__box {
        margin-top: 20px;
        display: grid;
        align-items: center;
        grid-template-columns: 220px 1fr;
        padding: 30px 60px
    }

    .c-index-reason__box-lead {
        padding: 0;
        margin: 0 50px 0 0;
        border-bottom: 0;
        border-right: 1px solid rgba(var(--gray300))
    }

    .c-index-reason__box-list {
        display: flex
    }

    .c-index-reason__box-item+.c-index-reason__box-item {
        margin: 0 0 0 30px
    }

    .c-index-reason__note-ihin {
        margin: 15px auto 0;
        max-width: var(--contents_width)
    }
}

.c-index-reason-sec {
    position: relative
}

.c-index-reason-sec[data-no="03"] {
    padding-bottom: 70px
}

.c-index-reason-sec::before {
    position: absolute;
    content: "";
    z-index: 0;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    height: 140px
}

.c-index-reason-sec__header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    height: 140px;
    padding-bottom: 22px;
    line-height: var(--line_height_head);
    box-sizing: border-box
}

.c-index-reason-sec__header-num {
    font-size: 4rem;
    font-weight: 900;
    line-height: 1.2
}

.c-index-reason-sec__header-main {
    margin-left: 6px;
    font-size: 2.4rem;
    font-weight: 900;
    z-index: 2
}

.c-index-reason-sec__header-chara {
    position: absolute;
    z-index: 1
}

.c-index-reason-sec__imgs {
    position: relative;
    z-index: 1
}

.c-index-reason-sec__content {
    margin-top: -60px
}

.c-index-reason-sec__lead {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #fff;
    font-weight: 900;
    font-size: 1.9rem
}

.c-index-reason-sec__lead-txt {
    padding: 5px 15px;
    border-radius: 4px
}

.kome {
    font-size: 10px;
}

.strong {
    font-weight: bold;
}

.c-index-reason-sec__lead-txt:not(:first-of-type) {
    margin-top: -10px
}

.c-index-reason-sec__txt {
    margin-top: 15px
}

.c-index-reason-sec__list {
    margin-top: 35px
}

@media all and (max-width: 767px) {
    .c-index-reason-sec__imgs picture:last-of-type {
        display: none
    }
}

@media all and (min-width: 768px) {
    .c-index-reason-sec[data-no="03"] {
        padding-bottom: 124px
    }

    .c-index-reason-sec::before {
        height: 330px
    }

    .c-index-reason-sec__header {
        height: 330px;
        padding-bottom: 40px
    }

    .c-index-reason-sec__header::after {
        font-size: 30rem;
        right: 4.37vw;
        bottom: -50px
    }

    .c-index-reason-sec__header-num {
        position: relative;
        top: 18px;
        font-size: 13rem
    }

    .c-index-reason-sec__header-main {
        margin-left: 24px;
        font-size: 7.4rem
    }

    .c-index-reason-sec__header[data-no="01"] .c-index-reason-sec__header-chara {
        width: 290px;
        right: 240px;
        bottom: -4px;
    }

    .c-index-reason-sec__header[data-no="02"] .c-index-reason-sec__header-chara {
        width: 277px;
        right: 150px;
        bottom: 0px;
    }

    .c-index-reason-sec__header[data-no="03"] .c-index-reason-sec__header-chara {
        width: 269px;
        bottom: -3px;
        right: 230px;
    }

    .c-index-reason-sec__imgs {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .c-index-reason-sec__content {
        margin-top: -120px;
        padding-bottom: 100px;
    }

    .c-index-reason-sec__lead-txt {
        padding: 2px 15px 2px 25px;
        font-size: 5rem;
        letter-spacing: .08em
    }

    .c-index-reason-sec__lead-txt:not(:first-of-type) {
        margin-top: -25px
    }

    .c-index-reason-sec__txt {
        margin-top: 25px
    }

    .c-index-reason-sec__list {
        margin-top: 88px
    }
}

.c-index-reason-flow {
    padding-top: 70px;
    overflow: hidden
}

.c-index-reason-flow__inner {
    position: relative;
    z-index: 0;
    padding-top: 40px;
    padding-bottom: 40px
}

.c-index-reason-flow__head {
    position: relative;
    padding-bottom: 30px;
    text-align: center;
    font-weight: 900;
    font-size: 2.2rem;
    color: #fff;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-index-reason-flow__chara {
    position: absolute;
    display: block;
    top: -98px;
    left: 42%;
    width: 81px;
    transform: translate(-50%, -50px)
}

.c-index-reason-flow__bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0px;
    right: 0;
    bottom: 0
}

@media all and (max-width: 767px) {
    .c-index-reason-flow__inner {
        max-width: 100%;
    }

    .c-index-reason-flow__slider {
        margin-right: -20px
    }

    .c-index-reason-flow__slider .splide-bar-wrap {
        width: calc(100% - 20px);
        transform: translateX(-10px)
    }

    .c-index-reason-flow__slider .splide__arrow--prev {
        left: -20px
    }

    .c-index-reason-flow__slider .splide__arrow--next {
        right: -10px
    }

    .c-index-reason-flow__bg {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        z-index: 10;
    }
}

@media all and (min-width: 768px) {
    .c-index-reason-flow {
        padding-top: 140px;
        overflow: visible;
    }

    .c-index-reason-flow__inner {
        padding-top: 40px;
        padding-bottom: 110px;
        max-width: 100%;
    }

    .c-index-reason-flow__head {
        padding-bottom: 50px;
        font-size: 4.5rem
    }

    .c-index-reason-flow__chara {
        width: 198px;
        transform: translate(-400px, 64px)
    }

    .c-index-reason-flow__chara-area {
        transform: translate(-440px, 64px)
    }

    .c-index-reason-flow__slider {
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    .c-index-reason-flow__slider .splide__track {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .c-index-reason-flow__slider .splide-bar-wrap {
        width: 600px;
        margin: 40px auto 0;
        left: auto;
        position: relative;
    }

    .c-index-reason-flow__slider .splide__arrow--prev {
        left: 20px;
    }

    .c-index-reason-flow__slider .splide__arrow--next {
        right: 20px;
    }
}

@media all and (max-width: 767px) {
    .c-index-reason-bnrs {
        margin: 30px 20px 0
    }
}

@media all and (min-width: 768px) {
    .c-index-reason-bnrs {
        margin-top: 60px
    }
}

.c-index-reason-case {
    margin-top: 60px
}

@media all and (min-width: 768px) {
    .c-index-reason-case {
        margin-top: 157px
    }
}

.c-index-reason-service__bnrs {
    padding-top: 40px;
    border-top: 1px solid rgb(var(--blue500), 0.5)
}

@media all and (min-width: 768px) {
    .c-index-reason-service__bnrs {
        padding-top: 60px;
        margin: 0 auto;
        max-width: var(--contents_width)
    }
}

.c-index-reason-strengths-sec {
    padding-bottom: 70px
}

.c-index-reason-strengths-sec__header {
    height: auto;
    align-items: flex-start;
    margin-top: 15px;
    padding-bottom: 20px;
    padding-left: 0
}

.c-index-reason-strengths-sec__header::after {
    content: none
}

.c-index-reason-strengths-sec__header-num {
    position: absolute;
    top: -180px;
    left: 0;
    font-size: 6rem
}

.c-index-reason-strengths-sec__header[data-no="01"] .c-index-reason-strengths-sec__header-chara {
    right: -20px;
    width: 115px;
    bottom: 15px
}

.c-index-reason-strengths-sec__header[data-no="02"] .c-index-reason-strengths-sec__header-chara {
    right: -20px;
    width: 130px;
    bottom: 12px
}

.c-index-reason-strengths-sec__header[data-no="03"] .c-index-reason-strengths-sec__header-chara {
    width: 67px;
    bottom: 12px;
    right: 9px
}

.c-index-reason-strengths-sec__header[data-no="04"] .c-index-reason-strengths-sec__header-chara {
    width: 110px;
    bottom: 12px;
    right: -10px
}

.c-index-reason-strengths-sec__header[data-no="05"] .c-index-reason-strengths-sec__header-chara {
    width: 90px;
    bottom: 12px;
    right: 9px
}

.c-index-reason-strengths-sec__lead-txt {
    padding: 8px 10px
}

@media all and (min-width: 768px) {
    .c-index-reason-strengths-sec {
        padding-bottom: 120px
    }

    .c-index-reason-strengths-sec[data-no="01"] {
        padding-bottom: 120px
    }

    .c-index-reason-strengths-sec[data-no="02"]::before,
    .c-index-reason-strengths-sec[data-no="03"]::before {
        content: none
    }

    .c-index-reason-strengths-sec[data-no="05"]::before {
        top: auto;
        bottom: -330px;
        background-color: rgba(var(--orange100))
    }

    .c-index-reason-strengths-sec[data-no="03"] .c-btn02__link:hover {
        color: rgba(var(--green500))
    }

    .c-index-reason-strengths-sec[data-no="04"] .c-btn02__link:hover {
        color: rgba(var(--cream500))
    }

    .c-index-reason-strengths-sec[data-no="04"] .c-index-reason-strengths-sec-chara {
        width: 110px;
        bottom: 12px;
        right: -10px
    }

    .c-index-reason-strengths-sec[data-no="05"] .c-index-reason-strengths-sec-chara {
        width: 90px;
        bottom: 12px;
        right: 9px
    }

    .c-index-reason-strengths-sec__header {
        position: relative;
        display: grid;
        align-items: center;
        grid-template-columns: 210px 1fr;
        gap: 0 30px;
        margin-top: 0;
        padding-bottom: 90px
    }

    .c-index-reason-strengths-sec__header::before {
        position: absolute;
        content: "";
        top: -5%;
        left: -8%;
        width: 130px;
        height: 100%;
        background: url(/wp-content/themes/spot-tochigi/img/common/img_confetti01_left%402x.png) no-repeat;
        background-size: contain
    }

    .c-index-reason-strengths-sec__header-num {
        position: static;
        font-size: 17rem
    }

    .c-index-reason-strengths-sec__header[data-no="01"] .c-index-reason-strengths-sec__header-chara {
        right: -2%;
        width: 290px;
        bottom: 30%
    }

    .c-index-reason-strengths-sec__header[data-no="02"] .c-index-reason-strengths-sec__header-chara {
        right: -2%;
        width: 350px;
        bottom: 35%
    }

    .c-index-reason-strengths-sec__header[data-no="03"] .c-index-reason-strengths-sec__header-chara {
        width: 160px;
        bottom: 35%;
        right: 5%
    }

    .c-index-reason-strengths-sec__header[data-no="04"] .c-index-reason-strengths-sec__header-chara {
        width: 260px;
        bottom: 35%;
        right: 3%
    }

    .c-index-reason-strengths-sec__header[data-no="05"] .c-index-reason-strengths-sec__header-chara {
        width: 240px;
        bottom: 35%;
        right: 5%
    }

    .c-index-reason-strengths-sec__lead-txt {
        padding: 8px 20px
    }

    .c-index-reason-strengths-sec__lead-txt:not(:first-of-type) {
        margin-top: -5px
    }
}

@media all and (min-width: 1360px) {
    .c-index-reason-strengths__header[data-no="01"] .c-index-reason-strengths__header-chara {
        right: 6%;
        width: 316px;
        bottom: 30%
    }

    .c-index-reason-strengths__header[data-no="02"] .c-index-reason-strengths__header-chara {
        right: 7%;
        width: 386px;
        bottom: 35%
    }

    .c-index-reason-strengths__header[data-no="03"] .c-index-reason-strengths__header-chara {
        width: 180px;
        bottom: 35%;
        right: 11%
    }

    .c-index-reason-strengths__header[data-no="04"] .c-index-reason-strengths__header-chara {
        width: 280px;
        bottom: 35%;
        right: 7.5%
    }

    .c-index-reason-strengths__header[data-no="05"] .c-index-reason-strengths__header-chara {
        width: 265px;
        bottom: 35%;
        right: 11%
    }
}

.c-index-message+.c-index-service {
    position: relative;
    z-index: 1;
    margin-top: -30px;
    margin-bottom: -30px
}

@media all and (min-width: 768px) {
    .c-index-message+.c-index-service {
        margin-top: -80px;
        margin-bottom: -80px
    }
}

.c-index-service__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.c-index-service__content {
    margin-top: 30px
}

.c-index-service-option {
    margin-top: 54px
}

.c-index-service-option__list {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-index-service__inner {
        padding-top: 110px;
        padding-bottom: 105px
    }

    .c-index-service__content {
        margin-top: 70px
    }

    .c-index-service-option {
        margin-top: 110px;
        padding: 60px 6.77vw
    }

    .c-index-service-option.has-head-sub {
        padding-top: 40px
    }

    .c-index-service-option__head-sub {
        margin-top: -30px
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-index-service-option {
        padding-right: 20px;
        padding-left: 20px
    }
}

.c-index-staff+.c-index-solution {
    background-color: rgb(var(--blue100))
}

.c-index-solution__inner {
    padding-bottom: 50px
}

.c-index-solution__content {
    padding: 40px 20px 25px
}

.c-index-solution__txt {
    margin-bottom: 35px
}

.c-index-solution.is-item-child {
    margin-top: 50px;
    padding-top: 50px
}

@media all and (min-width: 768px) {
    .c-index-solution__inner {
        padding-bottom: 120px
    }

    .c-index-solution__content {
        padding: 45px 6.77vw 60px
    }

    .c-index-solution__bnrs {
        max-width: var(--contents_width);
        margin: auto
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-index-solution__content {
        padding-right: 20px;
        padding-left: 20px
    }
}

.c-index-staff {
    position: relative
}

.c-index-staff__inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 88px
}

.c-index-staff__header {
    position: relative
}

.c-index-staff__header-ico {
    position: absolute;
    top: 0;
    left: 50%;
    width: 30px;
    transform: translateX(-115px)
}

.c-index-staff__chara {
    position: absolute;
    top: 30px;
    left: 50%;
    width: 80px;
    transform: translateX(75px)
}

.c-index-staff__list {
    margin: 30px 15px 0
}

.c-index-staff__btn {
    margin-top: 40px
}

.c-index-staff__bg {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    height: 62.66vw
}

@media all and (min-width: 768px) {
    .c-index-staff__inner {
        padding-top: 120px;
        padding-bottom: 130px
    }

    .c-index-staff__header-ico {
        top: 10px;
        width: 66px;
        transform: translateX(-380px)
    }

    .c-index-staff__chara {
        top: 78px;
        width: 167px;
        transform: translateX(308px)
    }

    .c-index-staff__list {
        margin-top: 60px
    }

    .c-index-staff__btn {
        margin-top: 60px
    }

    .c-index-staff__bg {
        height: 420px
    }
}

.c-index-unlimited {
    position: relative
}

.c-index-unlimited::before {
    position: absolute;
    content: "";
    z-index: -1;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: no-repeat 0 0/cover
}

.no-webp .c-index-unlimited::before,
.no-js .c-index-unlimited::before {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/index/bg_unlimited01_sp%402x.jpg)
}

.webp .c-index-unlimited::before {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/index/bg_unlimited01_sp%402x.jpg.webp)
}

.c-index-unlimited__inner {
    position: relative;
    padding-top: 86px;
    padding-bottom: 70px;
    color: #fff
}

.c-index-unlimited__head {
    position: relative;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .14)
}

.c-index-unlimited__head::after {
    position: absolute;
    content: "";
    display: block;
    top: -20px;
    left: 190px;
    width: 70px;
    height: 59px;
    background: no-repeat 0 0/cover
}

.no-webp .c-index-unlimited__head::after,
.no-js .c-index-unlimited__head::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/index/txt_unlimited_no01%402x.png)
}

.webp .c-index-unlimited__head::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/index/txt_unlimited_no01%402x.png.webp)
}

.c-index-unlimited__chara {
    position: absolute;
    top: 42vw;
    right: -20px;
    width: 170px
}

@media all and (min-width: 768px) {
    .c-index-unlimited::before {
        right: 50%
    }

    .no-webp .c-index-unlimited::before,
    .no-js .c-index-unlimited::before {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/index/bg_unlimited01_pc.jpg)
    }

    .webp .c-index-unlimited::before {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/index/bg_unlimited01_pc.jpg.webp)
    }

    .c-index-unlimited__inner {
        padding-top: 270px;
        padding-bottom: 180px
    }

    .c-index-unlimited__head {
        padding-bottom: 30px;
        border-bottom-width: 2px
    }

    .c-index-unlimited__head::after {
        top: -53px;
        left: 320px;
        width: 120px;
        height: 100px
    }

    .c-index-unlimited__chara {
        top: -166px;
        z-index: 0;
        right: 0;
        width: 363px
    }

    .c-index-unlimited__bg {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 50%;
        right: 0;
        bottom: 0
    }
}

@media all and (min-width: 1620px) {
    .c-index-unlimited__inner {
        padding-left: 8.854vw
    }
}

.c-index-voice {
    position: relative;
    overflow: hidden
}

.c-index-voice__inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 88px
}

.c-index-voice__header {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: start;
    -moz-column-gap: 11px;
    column-gap: 11px;
    color: #fff
}

.c-index-voice__header::before {
    position: relative;
    top: 5px;
    grid-row: 1/3;
    content: "";
    height: 27px;
}

.c-index-voice__header-main {
    font-weight: 900;
    font-size: 2.6rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-index-voice__header-sub {
    font-size: 1rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-index-voice__slider .splide__arrow {
    transform: translateY(0);
    top: 18.66vw
}

.c-index-voice__item-ratings {
    margin-top: -2px;
    padding: 10px 12px;
    background: #f8f9fb;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.c-index-voice__item-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1.2rem;
    line-height: 1.4;
}

.c-index-voice__item-rating-label {
    min-width: 50px;
    font-weight: 700;
    color: #555;
    font-size: 1.1rem;
}

.c-index-voice__item-rating-stars {
    color: #f5a623;
    font-size: 1.2rem;
    display: flex;
    gap: 1px;
}

.c-index-voice__item-rating-stars .far {
    color: #d4d4d4;
}

.c-index-voice__item-rating-num {
    font-weight: 700;
    color: #333;
    font-size: 1.2rem;
    min-width: 22px;
    text-align: right;
}

.c-index-voice__item-title {
    margin-top: 12px;
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(var(--blue700));
    line-height: 1.5
}

.c-index-voice__item-head {
    margin-top: 8px;
    font-size: 1.4rem;
}

.c-index-voice__item-cats {
    margin-top: 12px
}

.c-index-voice__item-name {
    margin-top: 3px;
    font-size: 1.3rem;
    color: rgb(var(--gray500))
}

.c-index-voice__btn {
    margin-top: 30px
}

.c-index-voice__bg {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    height: 62.66vw
}

@media all and (max-width: 767px) {
    .c-index-voice__slider {
        margin: 30px -20px 0
    }
}

@media all and (min-width: 768px) {
    .c-index-voice__inner {
        padding-top: 140px;
        padding-bottom: 130px
    }

    .c-index-voice__header {
        grid-template-columns: 56px 1fr;
        -moz-column-gap: 18px;
        column-gap: 18px
    }

    .c-index-voice__header::before {
        top: 15px;
        height: 44px
    }

    .c-index-voice__header-main {
        font-size: 5rem
    }

    .c-index-voice__header-sub {
        font-size: 1.6rem
    }

    .c-index-voice__slider {
        margin: 60px 0 0
    }

    .c-index-voice__slider .splide__arrow {
        top: 80px
    }

    .c-index-voice__slider .splide__arrow--prev {
        left: 0
    }

    .c-index-voice__slider .splide__arrow--next {
        right: 0
    }

    .c-index-voice__item-link:hover .c-index-voice__item-head {
        color: rgb(var(--blue500))
    }

    .c-index-voice__item-head {
        margin-top: 17px;
        font-size: 14px;
        transition: color .3s ease
    }

    .c-index-voice__item-cats {
        margin-top: 13px
    }

    .c-index-voice__item-name {
        font-size: 1.4rem
    }

    .c-index-voice__btn {
        margin-top: 40px
    }

    .c-index-voice__bg {
        height: 410px
    }
}

.c-index-voice-beginner .splide-bar-wrap {
    background-color: rgba(var(--gray100))
}

.c-index-voice-beginner__inner {
    padding-bottom: 50px
}

.c-index-voice-beginner__bg {
    display: none
}

.c-index-voice-beginner__header {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: start;
    -moz-column-gap: 11px;
    column-gap: 11px;
    color: #fff
}

.c-index-voice-beginner__header::before {
    position: relative;
    top: 5px;
    grid-row: 1/3;
    content: "";
    height: 27px;
    background: url(/wp-content/themes/spot-tochigi/img/common/index/ico_voice01.png) no-repeat 0 0;
    background-size: contain
}

.c-index-voice-beginner__header-main {
    color: rgba(var(--gray900))
}

.c-index-voice-beginner__header-sub {
    color: rgba(var(--blue700))
}

@media all and (min-width: 768px) {
    .c-index-voice-beginner__inner {
        padding-bottom: 100px
    }

    .c-index-voice-beginner__header {
        grid-template-columns: 60px 1fr;
        -moz-column-gap: 17px;
        column-gap: 17px
    }

    .c-index-voice-beginner__header::before {
        top: 15px;
        height: 58px
    }
}

.c-item-child-careful__content {
    position: relative;
    padding: 20px;
    background: rgba(var(--yellow100))
}

.c-item-child-careful__head {
    padding: 10px 10px 10px 65px;
    margin-bottom: 15px;
    background: rgba(var(--yellow500));
    position: relative;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: 0
}

.c-item-child-careful__head:before {
    position: absolute;
    content: "";
    top: 15px;
    left: 20px;
    width: 12%;
    height: 40%;
    background: url(../img/item/ico_careful01%402x.png) no-repeat;
    background-size: contain
}

.c-item-child-careful__box {
    padding: 0 10px
}

.c-item-child-careful__img {
    margin-bottom: 15px
}

.c-item-child-careful__sub {
    margin-bottom: 10px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: 0
}

@media(min-width: 599px)and (max-width: 768px) {
    .c-item-child-careful__head {
        padding-left: 50px
    }
}

@media all and (min-width: 768px) {
    .c-item-child-careful__content {
        position: relative;
        padding: 50px
    }

    .c-item-child-careful__head {
        padding: 12px;
        margin-bottom: 40px;
        font-size: 3.2rem;
        text-align: center;
        letter-spacing: .08em
    }

    .c-item-child-careful__head:before {
        position: static;
        display: inline-block;
        width: 45px;
        height: 58px;
        margin: -40px 20px -25px 0
    }

    .c-item-child-careful__box {
        padding: 0;
        display: flex;
        align-items: flex-start;
        position: relative
    }

    .c-item-child-careful__img {
        width: 290px;
        margin: 0 30px 0 0
    }

    .c-item-child-careful__area-txt {
        width: calc(100% - 320px)
    }

    .c-item-child-careful__sub {
        margin: 0 0 20px;
        font-size: 2.4rem
    }
}

.c-item-child-how {
    position: relative
}

.c-item-child-how::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 250px);
    background: rgba(var(--blue100));
    z-index: -1
}

.c-item-child-how__inner {
    padding-top: 40px;
    padding-bottom: 50px
}

.c-item-child-how__head {
    display: grid;
    margin-bottom: 20px;
    text-align: center
}

.c-item-child-how__head-main {
    margin-top: 6px;
    font-size: 3.1rem
}

.c-item-child-how__box {
    display: grid;
    gap: 20px 0;
    position: relative;
    z-index: 1;
    padding: 26px;
    background-color: #fff;
    border: 4px solid rgba(var(--blue700))
}

.c-item-child-how__ico {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 112px
}

.c-item-child-how__list {
    margin-top: 50px
}

@media all and (min-width: 768px) {
    .c-item-child-how::before {
        height: calc(100% - 580px)
    }

    .c-item-child-how__inner {
        padding-top: 75px;
        padding-bottom: 100px
    }

    .c-item-child-how__head {
        margin-bottom: 40px
    }

    .c-item-child-how__head-main {
        font-size: 5rem
    }

    .c-item-child-how__box {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
        padding: 0;
        border-radius: 30px;
        border: 0;
        background: transparent
    }

    .c-item-child-how__sub {
        margin-bottom: 48px;
        font-size: 3.5rem
    }

    .c-item-child-how__set {
        display: flex
    }

    .c-item-child-how__img {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin: 0;
        padding: 65px 65px 65px 35px;
        border: 4px solid rgba(var(--blue700));
        border-left: 0;
        border-radius: 25px;
        box-sizing: border-box;
        background-color: #fff
    }

    .c-item-child-how__txt {
        padding: 65px 35px 65px 65px;
        border-radius: 25px;
        border: 4px solid rgba(var(--blue700));
        border-right: 0;
        box-sizing: border-box;
        background-color: #fff
    }

    .c-item-child-how__ico {
        bottom: -32px;
        right: 27px;
        width: 126px
    }

    .c-item-child-how__list {
        margin-top: 100px
    }

    .c-item-child-how__item-head {
        -moz-text-align-last: left;
        text-align-last: left
    }
}

.c-item-child-trouble {
    overflow: hidden;
    position: relative
}

.c-item-child-trouble::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 110%;
    background: no-repeat center top/cover;
    z-index: -1
}

.no-webp .c-item-child-trouble::before,
.no-js .c-item-child-trouble::before {
    background-image: url(../img/item/bg_worry01%402x.png)
}

.webp .c-item-child-trouble::before {
    background-image: url(../img/item/bg_worry01%402x.png.webp)
}

.c-item-child-trouble__inner {
    position: relative;
    padding-top: 50px;
    padding-bottom: 50px
}

.c-item-child-trouble__head {
    text-align: center;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    color: #fff;
    font-weight: 900;
    padding-bottom: 107px;
    font-size: 2.4rem
}

.c-item-child-trouble__ico {
    position: absolute;
    top: 139px;
    left: 50%;
    transform: translate(-50%);
    width: 83px;
    z-index: 2
}

.c-item-child-trouble__list {
    position: relative;
    z-index: 1;
    display: grid;
    row-gap: 5px
}

.c-item-child-trouble__item {
    display: grid;
    grid-template-columns: 20px 1fr;
    -moz-column-gap: 6px;
    column-gap: 6px;
    padding: 13px 15px;
    background: #fff;
    line-height: var(--line_height_head);
    font-size: 1.8rem;
    font-weight: 900
}

.c-item-child-trouble__item::after {
    order: -1;
    position: relative;
    top: 4px
}

.c-item-child-trouble__lead {
    margin-top: 20px;
    color: #fff;
    font-size: 2.6rem
}

.c-item-child-trouble__lead::before,
.c-item-child-trouble__lead::after {
    height: 27px;
    background-color: #fff
}

@media all and (min-width: 768px) {
    .c-item-child-trouble::before {
        height: 110%
    }

    .no-webp .c-item-child-trouble::before,
    .no-js .c-item-child-trouble::before {
        background-image: url(../img/item/bg_worry01_pc.png)
    }

    .webp .c-item-child-trouble::before {
        background-image: url(../img/item/bg_worry01_pc.png.webp)
    }

    .c-item-child-trouble__inner {
        padding-top: 85px;
        padding-bottom: 100px
    }

    .c-item-child-trouble__inner::after {
        width: 135px;
        height: 145px;
        transform: translateX(calc(-50% - 20px))
    }

    .c-item-child-trouble__box {
        position: relative;
        padding: 80px 60px 110px;
        margin: 0 20px;
        background-color: #fff
    }

    .c-item-child-trouble__box::after {
        position: absolute;
        content: "";
        bottom: -25px;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 25px 0 25px;
        border-color: #fff transparent transparent transparent
    }

    .c-item-child-trouble__head {
        font-size: 3.6rem;
        padding-bottom: 0;
        color: rgba(var(--gray900))
    }

    .c-item-child-trouble__ico {
        position: absolute;
        bottom: -1px;
        top: auto;
        width: 130px;
        left: 50%;
        transform: translateX(-50%)
    }

    .c-item-child-trouble__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 22px;
        margin-top: 30px
    }

    .c-item-child-trouble__item {
        grid-template-columns: 30px 1fr;
        -moz-column-gap: 12px;
        column-gap: 12px;
        padding: 22px 30px;
        font-size: 2.4rem;
        background-color: rgba(var(--blue100))
    }

    .c-item-child-trouble__lead {
        margin-top: 70px;
        font-size: 4.8rem
    }

    .c-item-child-trouble__lead::before,
    .c-item-child-trouble__lead::after {
        height: 50px
    }

    .c-item-child-trouble__lead::after {
        margin-left: 35px
    }

    .c-item-child-trouble__lead::before {
        margin-right: 35px
    }
}

@media all and (min-width: 1360px) {
    .c-item-child-trouble__box {
        padding: 80px 130px 110px;
        margin: 0 -130px
    }
}

@media all and (min-width: 768px) {
    .c-item-child-trouble-hikkoshigo .c-item-child-trouble__inner__ico {
        top: 30px;
        width: 130px;
        transform: translateX(240px)
    }
}

.item-parent-detail__inner {
    padding-top: 115px;
    padding-bottom: 50px;
    position: relative
}

.item-parent-detail__ico {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 125px
}

.item-parent-detail__list {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
}

.item-parent-detail__item {
    position: relative
}

.item-parent-detail__item-txt {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 1.3rem;
    font-weight: 900;
    color: #fff;
    pointer-events: none
}

.item-parent-detail__item-txt::after {
    margin-left: 5px
}

@media all and (max-width: 767px) {
    .item-parent-detail__list {
        max-width: 550px;
        margin: 20px auto 0
    }
}

@media all and (min-width: 768px) {
    .item-parent-detail__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .item-parent-detail__ico {
        top: 40px;
        left: auto;
        right: 4%;
        transform: translateX(0);
        width: 240px
    }

    .item-parent-detail__list {
        margin-top: 48px;
        grid-template-columns: repeat(4, 1fr);
        gap: 40px
    }

    .item-parent-detail__item-txt {
        bottom: 25px;
        font-size: 1.8rem
    }

    .item-parent-detail__item-txt::after {
        transition: all .3s ease
    }

    .item-parent-detail__link {
        display: block
    }

    .item-parent-detail__link:hover .item-parent-detail__item-txt::after {
        background-color: #ec4c23
    }
}

@media all and (min-width: 768px) {
    .item-parent-detail-furniture__ico {
        top: 75px;
        right: 2.5%
    }
}

.item-parent-intro {
    position: relative
}

.item-parent-intro::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 100px);
    background: rgba(var(--blue100));
    z-index: -1
}

.item-parent-intro__inner {
    padding-top: 40px
}

.item-parent-intro__set {
    padding: 40px 30px 35px !important;
    position: relative
}

.item-parent-intro__ico {
    position: absolute;
    top: 16px;
    right: 8px;
    width: 95px;
    opacity: .15
}

@media all and (min-width: 768px) {
    .item-parent-intro::before {
        height: calc(100% - 240px)
    }

    .item-parent-intro__inner {
        padding-top: 100px
    }

    .item-parent-intro__set {
        padding: 75px 12.5vw 85px !important
    }

    .item-parent-intro__head {
        margin-bottom: 29px
    }

    .item-parent-intro__head-main {
        font-size: 4rem
    }

    .item-parent-intro__ico {
        top: 10%;
        right: 25%;
        width: 145px
    }
}

.c-label-photo01.is-small {
    width: 53px;
    height: 18px;
    font-size: 1rem
}

@media all and (min-width: 768px) {
    .c-label-photo01.is-small {
        width: 78px;
        height: 27px;
        font-size: 1.2rem
    }
}

.c-label-photo01 {
    position: absolute;
    z-index: 1;
    left: 0;
    top: -2px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 58px;
    height: 20px;
    text-align: center;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    border-bottom-right-radius: 5px;
    pointer-events: none
}

.c-label-photo01.is-before {
    background: #fff
}

.c-label-photo01.is-after {
    background: rgb(var(--blue500));
    color: #fff
}

@media all and (min-width: 768px) {
    .c-label-photo01 {
        width: 106px;
        height: 37px;
        font-size: 1.6rem
    }
}

.c-label01 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-weight: 700;
    color: rgba(var(--blue700));
    text-align: center;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-label01::before,
.c-label01::after {
    position: relative;
    top: -2px;
    content: "";
    width: 2px;
    height: 15px;
    border-radius: 9999px;
    background: rgb(var(--blue700))
}

.c-label01::before {
    transform: rotate(-38deg);
    margin-right: 15px
}

.c-label01::after {
    transform: rotate(38deg);
    margin-left: 15px
}

@media all and (min-width: 768px) {

    .c-label01::before,
    .c-label01::after {
        height: 20px
    }

    .c-label01::before {
        margin-right: 20px
    }

    .c-label01::after {
        margin-left: 20px
    }
}

.c-list-area-pref {
    display: flex;
    flex-wrap: wrap
}

.c-list-area-pref__item+.c-list-area-pref__item {
    margin-bottom: 5px
}

.c-list-area-pref__item-in {
    font-size: 1.3rem
}

.c-list-area-pref__item-in[href] {
    text-decoration: underline
}

.c-list-area-pref__item:not(:last-of-type) .c-list-area-pref__item-in::after {
    position: relative;
    top: 2px;
    display: inline-block;
    content: "";
    margin: 0 7px;
    width: 1px;
    height: 16px;
    background: rgb(var(--gray300))
}

@media all and (max-width: 767px) {
    .c-list-area-pref {
        margin-bottom: -3px
    }

    .c-list-area-pref__item {
        margin-bottom: 3px
    }
}

@media all and (min-width: 768px) {
    .c-list-area-pref__item+.c-list-area-pref__item {
        margin-bottom: 8px
    }

    .c-list-area-pref__item-in {
        font-size: 1.6rem
    }

    .c-list-area-pref__item-in[href]:hover {
        text-decoration: none
    }
}

.c-list-area {
    position: relative
}

.c-list-area__chara {
    position: absolute;
    top: -164px;
    right: 40px;
    z-index: 5;
    width: 136px;
}

.c-list-area__content {
    display: grid;
    align-items: start;
    row-gap: 20px;
    padding: 18px 20px 30px;
    box-sizing: border-box
}

.c-list-area__item {
    display: grid;
    align-items: start;
    row-gap: 9px
}

.c-list-area__pref {
    padding: 4px;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: var(--line_height_head)
}

.c-list-area__cities {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start
}

.c-list-area__cities-txt,
.c-list-area__cities-link {
    margin: 6px 8px 0 0;
    padding-right: 8px;
    line-height: var(--line_height_head);
    border-right: 1px solid #e3e3e3
}

@media all and (max-width: 767px) {
    .c-list-area__pref {
        background: rgb(var(--blue100));
        text-align: center
    }

    .c-list-area__cities-link {
        font-size: 1.3rem
    }
}

@media all and (min-width: 768px) {
    .c-list-area__chara {
        top: -268px;
        right: 40px;
        width: 186px;
    }

    .c-list-area__content {
        gap: 30px 0;
        padding: 50px;
        z-index: 10;
        position: relative;
    }

    .c-list-area__item {
        grid-template-columns: 137px 1fr
    }

    .c-list-area__item:not(:first-of-type) {
        padding-top: 30px;
        border-top: 1px solid rgb(var(--gray300))
    }

    .c-list-area__pref {
        padding: 0;
        font-size: 2.2rem
    }

    .c-list-area__cities {
        margin-top: -8px
    }

    .c-list-area__cities-txt,
    .c-list-area__cities-link {
        margin: 8px 12px 0 0;
        padding-right: 12px
    }

    .c-list-area__cities-link[class]:hover {
        text-decoration: none
    }
}

.c-list-area {
    position: relative
}

.c-list-area__btn {
    width: 295px !important
}

.c-list-area__btn::before {
    content: ""
}

.c-list-area__btn .c-btn01__link::after {
    right: 0 !important
}

.c-list-area__btn-ico {
    position: relative;
    height: 30px;
    border-radius: 50%;
    background: rgb(var(--blue700))
}

.c-list-area__btn-ico::before,
.c-list-area__btn-ico::after {
    position: absolute;
    top: 14px;
    left: 8px;
    content: "";
    display: block;
    width: 13px;
    height: 2px;
    border-radius: 9999px;
    background-color: #fff;
    transition: all .3s ease
}

.c-list-area__btn-ico::before {
    transform: rotate(-90deg)
}

.c-list-area__btn[aria-expanded=true] .c-list-area__btn-ico::before {
    transform: rotate(0)
}

.c-list-area__content[aria-hidden=false] {
    height: auto;
    padding-bottom: 95px
}

.c-list-area__content[aria-hidden=true] {
    height: 205px;
    overflow: hidden
}

.c-list-area__content[aria-hidden=true]::after {
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background-image: linear-gradient(0deg, white 75%, rgba(255, 255, 255, 0) 100%);
    border-radius: 0 0 10px 10px;
    pointer-events: none
}

@media all and (min-width: 768px) {
    .c-list-area__btn {
        left: 50%;
        right: auto;
        bottom: 58px;
        grid-template-columns: 42px 1fr 42px;
        width: 600px;
        height: 90px;
        padding: 0 25px;
        font-size: 1.9rem;
        transform: translateX(-50%)
    }

    .c-list-area__btn-ico {
        height: 42px
    }

    .c-list-area__btn-ico::before,
    .c-list-area__btn-ico::after {
        top: 20px;
        left: 11px;
        width: 19px;
        height: 3px
    }

    .c-list-area__content[aria-hidden=false] {
        height: auto;
        padding-bottom: 198px
    }

    .c-list-area__content[aria-hidden=true] {
        height: 250px
    }

    .c-list-area__content[aria-hidden=true]::after {
        height: 200px;
        background-image: linear-gradient(0deg, white 50%, rgba(255, 255, 255, 0) 100%)
    }
}

.c-list-cat {
    display: flex;
    flex-wrap: wrap
}

.c-list-cat__item {
    margin: 2px 5px 0 0;
    padding: 3px 8px;
    border-radius: 9999px;
    font-size: 1.1rem;
    font-weight: 900;
    box-sizing: border-box;
    border: 1px solid rgb(var(--gray900));
    line-height: var(--line_height_head);
    background: #fff
}

@media all and (min-width: 768px) {
    .c-list-cat__item {
        padding: 5px 12px
    }
}

.c-check-list {
    display: grid;
    row-gap: 5px;
    margin-top: 14px
}

.c-check-list__item {
    display: grid;
    grid-template-columns: 20px 1fr;
    -moz-column-gap: 6px;
    column-gap: 6px;
    padding: 13px 15px;
    background-color: #fff;
    line-height: var(--line_height_head);
    font-size: 1.8rem;
    font-weight: 900
}

.c-check-list__item::after {
    order: -1;
    position: relative;
    top: 4px
}

.c-check-list.is-blue {
    background: rgb(var(--blue100))
}

@media all and (min-width: 768px) {
    .c-check-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 22px;
        margin-top: 30px
    }

    .c-check-list__item {
        grid-template-columns: 30px 1fr;
        -moz-column-gap: 12px;
        column-gap: 12px;
        padding: 22px 30px;
        font-size: 2.4rem
    }
}

.c-list-collect {
    display: flex;
    flex-wrap: wrap
}

.c-list-collect__item {
    margin: 8px 4px 0 0
}

.c-list-collect__item-in {
    display: block;
    padding: 8px 10px;
    border-radius: 4px;
    font-size: 1.2rem;
    font-weight: 700;
    box-sizing: border-box;
    line-height: var(--line_height_head);
    background: rgb(var(--blue100))
}

.c-list-collect__item-in[href] {
    text-decoration: underline
}

@media all and (min-width: 768px) {
    .c-list-collect__item {
        margin: 11px 5px 0 0
    }

    .c-list-collect__item-in {
        padding: 10px 18px;
        font-size: 1.5rem
    }
}

.c-option-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px
}

.c-option-list-wrap {
    margin-top: 50px;
    padding: 40px 20px 20px
}

.c-option-list__item {
    display: grid;
    place-content: center;
    background: rgb(var(--blue100));
    padding: 22px 0
}

.c-option-list__item-ico {
    width: 70px;
    margin: 0 auto
}

.c-option-list__item-txt {
    margin-top: 7px;
    font-weight: 700;
    text-align: center;
    line-height: var(--line_height_head)
}

.c-option-list__txt {
    margin-top: 15px
}

@media all and (min-width: 768px) {
    .c-option-list {
        grid-template-columns: repeat(6, 1fr);
        gap: 10px
    }

    .c-option-list-wrap {
        margin-top: 80px;
        padding: 50px
    }

    .c-option-list__item {
        padding: 22px 0 18px
    }

    .c-option-list__item-ico {
        width: 80px;
        margin: auto
    }

    .c-option-list__txt {
        margin-top: 25px
    }
}

.c-list-point04 {
    display: grid;
    row-gap: 40px
}

.c-list-point04__item {
    position: relative;
    display: grid;
    grid-template-columns: 120px auto;
    gap: 0 15px;
    align-items: start
}

.c-list-point04__item-img {
    grid-row: 1/3
}

.c-list-point04__item-sub {
    font-size: 2rem;
    font-weight: 900;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-list-point04__item-txt {
    margin-top: 10px
}

.c-list-point04__item-btns {
    row-gap: 15px;
    grid-column: 2/3;
    margin-top: 20px
}

.c-list-point04-black .c-list-point04__item-sub {
    color: rgba(var(--gray900))
}

@media all and (max-width: 767px) {
    .c-list-point04__item-sub {
        color: rgb(var(--blue700))
    }

    .c-list-point04__item-sub.is-sp-small {
        font-size: 1.6rem
    }

    .c-list-point04__item-btns {
        display: grid
    }

    .c-list-point04__item-btns .c-btn02:not(:first-of-type) {
        margin-left: 0
    }
}

@media all and (min-width: 768px) {
    .c-list-point04 {
        grid-template-columns: repeat(2, 1fr);
        gap: 60px;
        align-items: start
    }

    .c-list-point04__item {
        grid-template-columns: 210px auto;
        gap: 0 30px
    }

    .c-list-point04__item-sub {
        font-size: 2.4rem
    }

    .c-list-point04__item-btns {
        grid-column: 1/3;
        justify-content: flex-end
    }

    .c-list-point04__item-btns.is-start {
        justify-content: flex-start
    }
}

.c-list-price {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    line-height: var(--line_height_head);
    font-weight: 900;
    border-top: 1px solid rgb(var(--blue700));
    border-left: 1px solid rgb(var(--blue700))
}

.c-list-price__label,
.c-list-price__detail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 5px 10px;
    min-height: 50px;
    border-right: 1px solid rgb(var(--blue700));
    border-bottom: 1px solid rgb(var(--blue700));
    box-sizing: border-box
}

.c-list-price__label {
    background: rgb(var(--blue300))
}

.c-list-price__detail {
    justify-content: flex-end;
    font-size: 1.8rem;
    color: rgb(var(--red700));
    background: #fff
}

.c-list-price__detail .is-small {
    font-size: 1.3rem;
    text-align: right
}

@media all and (min-width: 768px) {
    .c-list-price {
        grid-template-columns: 240px 1fr 240px 1fr
    }

    .c-list-price__label,
    .c-list-price__detail {
        padding: 10px 10px 10px 30px;
        min-height: 60px
    }

    .c-list-price__label {
        font-size: 1.8rem
    }

    .c-list-price__detail {
        font-size: 2.6rem
    }

    .c-list-price__detail .is-small {
        font-size: 1.8rem
    }
}

.c-list01__item {
    position: relative;
    padding-left: 1em;
    line-height: var(--line_height_head)
}

.c-list01__item+li {
    margin-top: 9px
}

.c-list01__item::before {
    position: absolute;
    content: "";
    display: block;
    top: 7px;
    left: 3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgb(var(--blue500))
}

@media all and (min-width: 768px) {
    .c-list01__item::before {
        top: 9px
    }
}

.c-movies01 {
    height: 42.93vw
}

.c-movies01__item:not(.is-active) .c-movies01__item-img {
    transform: scale(0.75)
}

.c-movies01__item.is-active .c-movies01__item-img {
    border: 4px solid #fff
}

.c-movies01__item-img {
    border-radius: 10px;
    transition: all .3s ease
}

.c-movies01__item-iframe {
    position: absolute !important;
    display: block;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px
}

.c-movies01__item-iframe::before,
.c-movies01__item-iframe::after {
    position: absolute;
    content: "";
    z-index: 1;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    background: rgb(var(--blue500), 0.38);
    bottom: 0
}

.c-movies01__item-iframe::after {
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    pointer-events: none;
    background: no-repeat 50% 50%/cover;
    transform: translate(-50%, -50%)
}

.no-webp .c-movies01__item-iframe::after,
.no-js .c-movies01__item-iframe::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/ico_play01%402x.png)
}

.webp .c-movies01__item-iframe::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/ico_play01%402x.png.webp)
}

@media all and (max-width: 767px) {
    .c-movies01 .splide__arrow {
        display: none
    }
}

@media all and (min-width: 768px) {
    .c-movies01 {
        width: 770px;
        height: 440px;
        margin-right: auto;
        margin-left: auto
    }

    .c-movies01 .splide__arrow--prev {
        left: -30px
    }

    .c-movies01 .splide__arrow--next {
        right: -30px
    }

    .c-movies01__item:not(.is-active) .c-movies01__item-img {
        transform: scale(0.7)
    }

    .c-movies01__item.is-active {
        cursor: pointer
    }

    .c-movies01__item.is-active .c-movies01__item-img {
        border-width: 8px
    }

    .c-movies01__item-img {
        border-radius: 30px
    }

    .c-movies01__item-iframe::after {
        width: 100px;
        height: 100px
    }
}

.c-movies01-single {
    height: 54.93vw
}

.c-movies01-single-img {
    border: 4px solid #fff;
    border-radius: 10px;
    transition: all .3s ease
}

.c-movies01-single-iframe {
    position: absolute !important;
    display: block;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px
}

.c-movies01-single-iframe::before,
.c-movies01-single-iframe::after {
    position: absolute;
    content: "";
    z-index: 1;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    background: rgb(var(--blue500), 0.38);
    bottom: 0
}

.c-movies01-single-iframe::after {
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    pointer-events: none;
    background: no-repeat 50% 50%/cover;
    transform: translate(-50%, -50%)
}

.no-webp .c-movies01-single-iframe::after,
.no-js .c-movies01-single-iframe::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/ico_play01%402x.png)
}

.webp .c-movies01-single-iframe::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/ico_play01%402x.png.webp)
}

@media all and (min-width: 768px) {
    .c-movies01-single {
        width: 770px;
        height: 440px;
        margin-right: auto;
        margin-left: auto
    }

    .c-movies01-single-img {
        border-radius: 30px
    }

    .c-movies01-single-iframe::after {
        width: 100px;
        height: 100px
    }
}

.c-mv01 {
    position: relative;
    overflow: hidden
}

.c-mv01::before,
.c-mv01::after {
    position: absolute;
    content: "";
    z-index: -3;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.c-mv01::after {
    z-index: -2;
    left: 50%;
    background: no-repeat 0 0/cover
}

.no-webp .c-mv01::after,
.no-js .c-mv01::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_sp%402x.jpg)
}

.l-main-img__wrap {
    background-image: url(/wp-content/themes/spot-tochigi/img/top/background-image.png)
}

.webp .c-mv01::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_sp%402x.jpg.webp)
}

.c-mv01__inner {
    position: relative
}

.c-mv01__slider {
    height: 100%
}

.c-mv01__slider .splide__track {
    height: 100%
}

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

.c-mv01__bg picture {
    display: block;
    height: 100%
}

.c-mv01__bg picture img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%
}

.c-mv01__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90%;
    margin: auto
}

.c-mv01__copy-main {
    position: relative;
    z-index: 1;
    display: block;
    margin: 35px 0 -15px;
    padding: 3px 16px;
    border-radius: 9999px;
    background: #fff;
    color: rgb(var(--blue700))
}

.c-mv01__txt01 {
    position: absolute;
    z-index: 0;
    width: 136px;
    left: 5px;
    bottom: 5px
}

.c-mv01__chara {
    position: absolute;
    z-index: 0;
    bottom: -25px;
    right: 0;
    width: 95px;
    height: 129px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 100px 0;
    object-position: 100px 0;
    transition: object-position .2s var(--easeInOutQuart) .3s;
    transition: object-position .2s var(--easeInOutQuart) .3s, -o-object-position .2s var(--easeInOutQuart) .3s
}

.c-mv01__cv {
    margin-top: 18px
}

.c-mv01__img {
    height: 100%;
    overflow: hidden
}

@media all and (max-width: 767px) {
    .c-mv01__inner {
        aspect-ratio: 375/478
    }
}

@media all and (min-width: 768px) {
    .c-mv01 {
        padding: 30px 30px 40px
    }

    .no-webp .c-mv01::after,
    .no-js .c-mv01::after {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_pc.jpg)
    }

    .webp .c-mv01::after {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_pc.jpg.webp)
    }

    .c-mv01__inner {
        height: calc(100vh - 110px - 60px);
        min-height: clamp(700px, 50vh, 46.25vw)
    }

    .c-mv01__slider {
        height: 100%
    }

    .c-mv01__bg {
        border-radius: 20px;
        overflow: hidden
    }

    .c-mv01__bg picture {
        border-radius: 20px;
        overflow: hidden
    }

    .c-mv01 .splide__track {
        height: 100%
    }

    .c-mv01 .splide__slide {
        height: 100%
    }

    .c-mv01__img {
        width: 100%;
        height: 100%;
        border-radius: 30px;
        overflow: hidden
    }

    .c-mv01__img picture {
        height: 100%
    }

    .c-mv01__img img {
        -o-object-fit: cover;
        object-fit: cover;
        display: block;
        width: 100%;
        max-width: 100%;
        max-height: 100%;
        height: 100%
    }

    .c-mv01__copy {
        display: grid;
        align-items: center;
        width: clamp(550px, 50%, 45.1vw);
        height: 100%;
        margin-left: 5.6vw;
        margin-right: auto
    }

    .c-mv01__copy-main {
        margin: 0 auto -3.9vw;
        font-size: clamp(2rem, 1.3vw, 3rem);
        padding: 8px 37px;
        transform: translateX(-4vw)
    }

    .c-mv01__copy img {
        -o-object-fit: contain;
        object-fit: contain;
        width: auto
    }

    .c-mv01__txt02 {
        position: absolute;
        right: 14.42vw;
        bottom: -20px;
        width: 11.4vw
    }

    .c-mv01__chara {
        width: 16.4vw;
        height: 19.8vw;
        -o-object-position: 330px 0;
        object-position: 330px 0
    }

    .c-mv01__cv {
        margin-top: 40px
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-mv01__inner {
        height: 525px;
        min-height: 525px
    }
}

.js-c-anime-elem.is-animated .splide__slide.is-active .c-mv01__chara {
    -o-object-position: 0 0;
    object-position: 0 0
}

@media all and (min-width: 768px) {
    .c-mv01__copy--city {
        display: flex;
        justify-content: center;
        margin-right: auto;
        margin-left: auto
    }
}

.c-pager01 {
    overflow: hidden;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    align-items: center;
    margin: 40px 0 0
}

.c-pager01 .pages,
.c-pager01 .first,
.c-pager01 .last {
    display: none
}

.c-pager01 li {
    margin: 0 3px
}

.c-pager01 li a,
.c-pager01 li span {
    padding: 13px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    line-height: 1;
    font-weight: 700;
    text-decoration: none
}

.c-pager01 li.current span {
    color: rgb(var(--blue500))
}

.c-pager01 li.previous,
.c-pager01 li.next {
    width: 48px;
    height: 48px;
    margin: 0
}

.c-pager01 li.previous a,
.c-pager01 li.next a {
    color: rgb(var(--blue500));
    position: relative;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border-radius: 50%;
    text-indent: 500%;
    white-space: nowrap;
    border: 0;
    border: 2px solid rgb(var(--blue500));
    font-size: 0;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.337%22%20height%3D%2214.5%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2084995%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M10.981%208.5H1.25a1.25%201.25%200%200%201%200-2.5h9.731a1.25%201.25%200%200%201%200%202.5Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20110980%22%2F%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M7.094%2014.5a1.25%201.25%200%200%201-.889-2.129l5.115-5.177-5.106-5.056A1.25%201.25%200%200%201%207.973.362l5.993%205.935a1.25%201.25%200%200%201%20.01%201.767l-5.993%206.065a1.246%201.246%200%200%201-.889.371Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20110981%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/14px 14px
}

.c-pager01 li.previous a span,
.c-pager01 li.next a span {
    border: 0
}

.c-pager01 li.previous a {
    transform: scale(-1, 1)
}

.c-pager01 li.previous {
    margin-right: 15px
}

.c-pager01 li.next {
    margin-left: 15px
}

.c-pager01 li.extend span {
    display: block;
    width: 20px;
    height: auto;
    margin-top: -8px;
    border: 0
}

@media all and (min-width: 768px) {
    .c-pager01 {
        margin-top: 60px
    }

    .c-pager01 li {
        margin: 0 5px
    }

    .c-pager01 li a,
    .c-pager01 li span {
        padding: 15px 14px
    }

    .c-pager01 li a {
        transition: all .3s ease
    }

    .c-pager01 li a:hover {
        text-decoration: none;
        color: rgb(var(--blue500))
    }

    .c-pager01 li.previous {
        margin-right: 30px
    }

    .c-pager01 li.next {
        margin-left: 30px
    }

    .c-pager01 li.previous,
    .c-pager01 li.next {
        overflow: hidden
    }

    .c-pager01 li.previous a,
    .c-pager01 li.next a {
        transition: all .3s ease
    }

    .c-pager01 li.previous a:hover,
    .c-pager01 li.next a:hover {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.337%22%20height%3D%2214.5%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2084995%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M10.981%208.5H1.25a1.25%201.25%200%200%201%200-2.5h9.731a1.25%201.25%200%200%201%200%202.5Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20110980%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M7.094%2014.5a1.25%201.25%200%200%201-.889-2.129l5.115-5.177-5.106-5.056A1.25%201.25%200%200%201%207.973.362l5.993%205.935a1.25%201.25%200%200%201%20.01%201.767l-5.993%206.065a1.246%201.246%200%200%201-.889.371Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20110981%22%2F%3E%3C%2Fsvg%3E");
        background-color: rgb(var(--blue500))
    }

    .c-pager01 li.extend span {
        width: 35px
    }
}

.c-pager01.is-case {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid rgb(var(--border))
}

@media all and (min-width: 768px) {
    .c-pager01.is-case {
        margin-top: 80px;
        padding-top: 60px
    }
}

.c-pager02 {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    margin-top: 40px;
    padding: 10px 0;
    line-height: 1;
    border-top: 1px solid rgba(var(--gray300));
    border-bottom: 1px solid rgba(var(--gray300))
}

.c-pager02 a {
    text-decoration: none
}

.c-pager02__ico {
    position: relative;
    display: block;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    border: 2px solid rgb(var(--blue500))
}

.c-pager02__ico::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px
}

.c-pager02__previous,
.c-pager02__next {
    display: flex;
    align-items: center
}

.c-pager02__previous a,
.c-pager02__next a {
    display: inline-flex;
    padding: 10px 0;
    align-items: center
}

.c-pager02__previous {
    justify-content: flex-start
}

.c-pager02__previous .c-pager02__ico {
    margin: 0 10px 0 0;
    transform: scale(-1, 1)
}

.c-pager02__next {
    justify-content: flex-end
}

.c-pager02__next .c-pager02__ico {
    margin: 0 0 0 10px
}

.c-pager02__all a {
    padding: 20px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    box-sizing: border-box
}

.c-pager02__all-arrow {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 20px;
    color: rgb(var(--blue700));
    transform: translateY(-50%) scale(-1, 1)
}

@media all and (min-width: 768px) {
    .c-pager02 {
        margin-top: 65px;
        border-bottom: 1px solid rgba(var(--gray300))
    }

    .c-pager02__ico {
        width: 48px;
        height: 48px;
        transition: all .3s ease
    }

    .c-pager02__ico::after {
        width: 15px;
        height: 15px
    }

    .c-pager02__all {
        margin: 0 60px
    }

    .c-pager02__all a {
        width: 340px;
        max-width: 100%;
        height: 70px;
        font-size: 1.7rem
    }

    .c-pager02__all a:hover {
        color: rgb(var(--blue500))
    }

    .c-pager02__all-arrow {
        left: 18px;
        width: 30px;
        height: 30px
    }

    .c-pager02__previous,
    .c-pager02__next {
        padding: 0
    }

    .c-pager02__previous a,
    .c-pager02__next a {
        padding: 0;
        transition: all .3s ease
    }

    .c-pager02__previous a:hover,
    .c-pager02__next a:hover {
        color: rgb(var(--blue500))
    }

    .c-pager02__previous a:hover .c-pager02__ico,
    .c-pager02__next a:hover .c-pager02__ico {
        background-color: rgb(var(--blue500))
    }

    .c-pager02__previous a:hover .c-pager02__ico::after,
    .c-pager02__next a:hover .c-pager02__ico::after {
        background-color: #fff
    }

    .c-pager02__previous .c-pager02__ico {
        margin-right: 15px
    }

    .c-pager02__next .c-pager02__ico {
        margin-left: 15px
    }

    .c-pager02 a {
        transition: all .3s ease
    }
}

.c-service-about {
    margin-bottom: -30px;
    padding-bottom: 30px
}

.c-service-about__inner {
    padding-top: 50px;
    padding-bottom: 90px
}

.c-service-about__head {
    text-align: center;
    color: #fff;
    font-weight: 900;
    font-size: 2.8rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-service-about__content {
    display: grid;
    margin-top: 17px
}

.c-service-about__lead {
    font-weight: 900;
    font-size: 2rem;
    line-height: var(--line_height_head)
}

.c-service-about__lead-sub {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 1.4rem
}

@media all and (max-width: 767px) {
    .c-service-about__content {
        background: transparent
    }

    .c-service-about__lead,
    .c-service-about__txt {
        background: #fff
    }

    .c-service-about__lead {
        margin-bottom: -2px;
        padding: 32px 30px 2px;
        border-radius: 10px 10px 0 0
    }

    .c-service-about__txt {
        padding: 15px 30px 32px;
        border-radius: 0 0 10px 10px
    }

    .c-service-about__imgs {
        margin-top: 15px
    }
}

@media all and (min-width: 768px) {
    .c-service-about {
        margin-bottom: -80px;
        padding-bottom: 80px
    }

    .c-service-about__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .c-service-about__head {
        font-size: 40px
    }

    .c-service-about__content {
        grid-template-columns: 1fr 490px;
        align-items: start;
        gap: 29px 60px;
        margin-top: 50px;
        padding: 40px 110px
    }

    .c-service-about__lead {
        grid-column: 1/3;
        font-size: 2.8rem;
        text-align: center
    }

    .c-service-about__lead-sub {
        margin-bottom: 15px;
        font-size: 2rem
    }

    .c-service-about__imgs {
        margin-top: 5px
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .c-service-about__content {
        padding-right: 20px;
        padding-left: 20px
    }
}

.c-service-about__inner-ihin {
    padding-bottom: 50px
}

.c-service-about__inner-gomiyashiki {
    padding-bottom: 50px
}

@media all and (min-width: 768px) {
    .c-service-about__inner-ihin {
        padding-bottom: 120px
    }

    .c-service-about__inner-gomiyashiki {
        padding-bottom: 110px
    }
}

.c-service-example {
    overflow: hidden
}

.c-service-example__inner {
    padding-top: 40px;
    padding-bottom: 60px
}

.c-service-example__header {
    position: relative;
    margin-bottom: 30px
}

.c-service-example__header-ico {
    position: absolute;
    top: 0;
    left: 0;
    width: 75px;
    height: 75px;
    border-radius: 50%;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-service-example__wrap {
    margin: 0 -20px
}

.c-service-example__tab {
    width: calc(25% - 6px);
    margin: 0 3px;
    display: block;
    padding: 7px;
    box-sizing: border-box;
    background: #e2e2e2;
    font-weight: bold;
    text-align: center;
    border-radius: 5px 5px 0 0;
    font-size: 1.6rem;
    border-bottom: 0
}

.c-service-example__tab.is-active {
    position: relative;
    background: rgb(var(--gray800));
    color: #fff;
    position: relative;
    z-index: 2
}

.c-service-example__tab.is-active::before {
    position: absolute;
    z-index: 1;
    content: "";
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff
}

.c-service-example__tab-wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -3px
}

.c-service-example__content {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: none;
    width: 100%;
    margin-bottom: 10px;
    padding: 20px 20px 30px;
    border-radius: 0 0 10px 10px;
    box-sizing: border-box;
    background: #fff;
    box-sizing: border-box
}

.c-service-example__content-item+.c-service-example__content-item {
    margin-top: 10px
}

.c-service-example__content-item-lead {
    line-height: 1.6;
    font-size: 1.6rem;
    margin-bottom: 5px
}

.c-service-example__content-img {
    float: left;
    width: 90px;
    margin: 0 10px 10px 0
}

.c-service-example__note {
    margin: 20px 20px 0
}

@media all and (max-width: 374px) {
    .c-service-example__tab {
        font-size: 1.2rem
    }
}

@media all and (min-width: 768px) {
    .c-service-example__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .c-service-example__wrap {
        margin: 0
    }

    .c-service-example__header {
        margin-bottom: 40px
    }

    .c-service-example__header-ico {
        top: -18px;
        left: 18%;
        width: 110px;
        height: 110px;
        font-size: 2rem
    }

    .c-service-example__header::after {
        bottom: -55px;
        right: 68px;
        width: 212px;
        height: 159px
    }

    .c-service-example__tab {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px;
        border-radius: 10px 10px 0 0;
        font-size: 1.8rem
    }

    .c-service-example__tab.is-active {
        margin-top: -15px
    }

    .c-service-example__tab.is-active .c-service-example__tab-ico img {
        bottom: auto
    }

    .c-service-example__tab-ico {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 20px;
        width: 32px;
        height: 32px;
        overflow: hidden
    }

    .c-service-example__tab-ico img {
        position: absolute;
        display: block;
        bottom: 0
    }

    .c-service-example__content {
        margin-bottom: 10px;
        padding: 35px 40px 50px;
        border-radius: 0 0 15px 15px
    }

    .c-service-example__content-set {
        display: flex
    }

    .c-service-example__content-item+.c-service-example__content-item {
        margin-top: 10px
    }

    .c-service-example__content-item-lead {
        font-size: 1.9rem
    }

    .c-service-example__content-img {
        float: none;
        width: 185px;
        margin: 0 30px 0 0
    }

    .c-service-example__content-area-txt {
        width: calc(100% - 220px)
    }

    .c-service-example__note {
        margin: 30px 0 0;
        font-size: 1.6rem
    }
}

.c-service-example-sec {
    margin-top: 30px
}

.c-service-example-sec__img {
    width: 90%;
    margin: 0 auto 15px
}

.c-service-example-sec__head {
    margin-bottom: 15px;
    font-size: 1.8rem
}

.c-service-example-sec__box {
    margin-top: 15px;
    padding: 15px 20px;
    background-color: #fff
}

.c-service-example-sec__box-txt {
    font-size: 1.3rem
}

@media all and (min-width: 768px) {
    .c-service-example-sec {
        margin-top: 40px;
        display: grid;
        grid-template-columns: 410px 1fr;
        gap: 0 40px;
        grid-template-areas: "img head" "img txt" "img box"
    }

    .c-service-example-sec__img {
        grid-area: img;
        width: auto;
        margin: 0
    }

    .c-service-example-sec__head {
        grid-area: head;
        margin-bottom: 20px;
        font-size: 2.4rem
    }

    .c-service-example-sec__txt {
        grid-area: txt
    }

    .c-service-example-sec__box {
        grid-area: box;
        margin-top: 20px;
        padding: 30px
    }

    .c-service-example-sec__box-txt {
        font-size: 1.4rem
    }
}

.c-service-flow {
    position: relative;
    overflow: hidden
}

.c-service-flow::before {
    background-color: rgb(var(--blue300))
}

.c-service-flow__bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    height: 61.3vw
}

.c-service-flow__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.c-service-flow__slider {
    margin: 40px -20px 0
}

.c-service-flow__set {
    margin-top: 20px
}

.c-service-flow__label {
    margin-bottom: 5px
}

@media all and (min-width: 768px) {
    .c-service-flow__bg {
        height: 400px
    }

    .c-service-flow__inner {
        padding-top: 90px;
        padding-bottom: 120px
    }

    .c-service-flow__chara {
        position: absolute;
        top: 63px;
        left: 50%;
        width: 198px;
        transform: translateX(-440px)
    }

    .c-service-flow__slider {
        position: relative;
        margin: 45px 0 0
    }

    .c-service-flow__slider .splide__arrow--prev {
        left: -35px
    }

    .c-service-flow__slider .splide__arrow--next {
        right: -35px
    }

    .c-service-flow__set {
        margin-top: 40px
    }

    .c-service-flow__label {
        margin-bottom: 9px
    }
}

.c-service-flow__item {
    position: relative;
    padding: 30px 20px 20px;
    background: #fff
}

.c-service-flow__item-step {
    position: absolute;
    top: -10px;
    left: 50%;
    padding: 0 25px;
    white-space: nowrap;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 9999px;
    background: rgb(var(--blue700));
    transform: translateX(-50%)
}

.c-service-flow__item-head {
    margin-top: 15px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: var(--line_height_head)
}

.c-service-flow__item-txt {
    margin-top: 5px
}

@media all and (min-width: 768px) {
    .c-service-flow__item-head {
        padding: 0 10px;
        font-size: 2rem
    }

    .c-service-flow__item-txt {
        padding: 0 10px;
        font-size: 1.5rem
    }
}

.c-service-flow__tel {
    margin-top: 15px
}

.c-service-flow__tel-link {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 70px;
    padding-right: 16px;
    border-radius: 3px;
    border: 1px solid rgb(var(--blue300))
}

.c-service-flow__tel-num {
    display: grid;
    grid-template-columns: 29px 1fr;
    align-items: end;
    font-size: 2.8rem
}

.c-service-flow__tel-open {
    font-weight: 700;
    font-size: 1.1rem
}

@media all and (max-width: 767px) {
    .c-service-flow__tel__link::after {
        position: absolute;
        display: block;
        z-index: 0;
        top: 0;
        right: 0;
        bottom: 0;
        width: 16px;
        background: no-repeat 50% 50% rgb(var(--blue700))
    }
}

@media all and (min-width: 768px) {
    .c-service-flow__tel {
        margin-top: 10px
    }

    .c-service-flow__tel__link {
        height: 110px;
        padding-right: 0;
        border-radius: 9999px;
        pointer-events: none
    }

    .c-service-flow__tel__link-txt {
        font-size: 1.6rem;
        transform: translate(-50%, -10px)
    }

    .c-service-flow__tel__link-num {
        margin-top: 15px;
        font-size: 4.6rem
    }

    .c-service-flow__tel__link-num::before {
        width: 50px;
        height: 27px
    }

    .c-service-flow__tel__link-open {
        font-size: 1.5rem
    }
}

.c-service-flow__btns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 6px;
    column-gap: 6px;
    margin-top: 10px
}

@media all and (min-width: 768px) {
    .c-service-flow__btns {
        margin-top: 15px
    }
}

.c-service-flow-btn__link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 45px;
    border-radius: 9999px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .2)
}

.c-service-flow-btn__link::before {
    position: absolute;
    content: "";
    display: block;
    top: 4px;
    left: 5px;
    width: 25px;
    height: 22px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20x%3D%220%22%20y%3D%220%22%20style%3D%22enable-background%3Anew%200%200%2040%2035%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2035%22%3E%3Cstyle%3E.st0%7Bfill%3A%23fff%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22%E7%B7%9A_1489%22%20d%3D%22M39%202h-1c-.6%200-1-.4-1-1s.4-1%201-1h1c.6%200%201%20.4%201%201s-.4%201-1%201z%22%20class%3D%22st0%22%2F%3E%3Cpath%20d%3D%22M2%2028C2%2013.7%2013.7%202%2028%202h7V0h-7C12.6%200%200%2012.6%200%2028c0%202.4.3%204.8.9%207H3c-.7-2.2-1-4.6-1-7z%22%20class%3D%22st0%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/cover
}

.c-service-flow-btn__link-line {
    background-color: rgb(var(--green600))
}

.c-service-flow-btn__link-mail {
    background-color: rgb(var(--red700))
}

.c-service-flow-btn__link-arrow {
    position: absolute;
    top: 50%;
    right: 4px;
    width: 10px;
    height: 10px;
    color: #fff;
    transform: translateY(-50%)
}

.c-service-flow-btn__link-txt {
    font-weight: 900;
    font-size: 1.1rem;
    color: #fff
}

@media all and (min-width: 768px) {
    .c-service-flow-btn__link {
        height: 48px;
        transition: background-color .3s ease
    }

    .c-service-flow-btn__link-txt {
        font-size: 1.3rem
    }

    .c-service-flow-btn__link-arrow {
        overflow: hidden
    }

    .c-service-flow-btn__link-line:hover {
        background-color: rgb(var(--green300))
    }

    .c-service-flow-btn__link-mail:hover {
        background-color: rgb(var(--red300))
    }

    .c-service-flow-btn__link:hover .c-service-flow-btn__link-arrow svg {
        -webkit-animation: rightOutLeftIn .6s var(--easeInOutQuart);
        animation: rightOutLeftIn .6s var(--easeInOutQuart)
    }
}

@media all and (min-width: 768px) {
    .c-service-flow__chara-hikkoshigo {
        width: 180px;
        left: 49%
    }

    .c-service-flow__chara-house-cleaning {
        left: 47.5%;
        width: 157px
    }

    .c-service-flow__chara-sodaigomi {
        left: 45.5%;
        width: 224px
    }

    .c-service-flow__chara-dismantling {
        left: 53%;
        top: 40px;
        width: 142px
    }

    .c-service-flow__chara-corporate {
        left: 49%;
        top: 40px;
        width: 107px
    }

    .c-service-flow__chara-fudousan {
        left: 52%;
        top: 45px;
        width: 137px
    }

    .c-service-flow__chara-gomiyashiki {
        left: 49.5%;
        top: 66px;
        width: 160px
    }

    .c-service-flow__chara-unlimited {
        left: 49%;
        top: 66px;
        width: 123px
    }

    .c-service-flow__chara-purchase {
        left: 52.5%;
        top: 38px;
        width: 146px
    }
}

.c-service-intro {
    position: relative;
    z-index: 2
}

.c-service-intro__inner {
    padding-top: 60px;
    padding-bottom: 50px
}

.c-service-intro-list {
    overflow: hidden;
    display: grid;
    row-gap: 40px;
    align-items: start
}

.c-service-intro__head {
    margin-bottom: -12px
}

.c-service-intro__head-main {
    display: flex;
    justify-content: center
}

.c-service-intro__head-main img {
    order: -1;
    width: 36px;
    margin-right: 8px;
    transform: translateY(10px)
}

.c-service-intro__head-main-ihin {
    transform: translateX(0)
}

.c-service-intro__head-ico-ihin {
    display: none
}

@media all and (min-width: 768px) {
    .c-service-intro__inner {
        padding-top: 113px;
        padding-bottom: 120px
    }

    .c-service-intro-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 80px 60px
    }

    .c-service-intro-list [data-col-pc="2"] {
        grid-column: 1/3
    }

    .c-service-intro__head {
        margin-bottom: -32px
    }

    .c-service-intro__head-main img {
        margin-right: 29px;
        width: 66px
    }
}

.c-service-intro__ico-house-cleaning {
    top: 27px
}

.c-service-intro__chara {
    position: absolute;
    left: 50%;
    top: -60px
}

.c-service-intro__chara-syoryogomi {
    top: -69px;
    width: 94px
}

.c-service-intro__chara-hikkoshigo {
    width: 140px;
    top: -55px
}

.c-service-intro__chara-house-cleaning {
    width: 70px
}

.c-service-intro__chara-sodaigomi {
    width: 127px;
    top: -65px
}

.c-service-intro__chara-dismantling {
    width: 92px;
    top: -75px;
}

.c-service-intro__chara-corporate {
    width: 95px
}

.c-service-intro__chara-fudousan {
    width: 55px;
    top: -65px
}

.c-service-intro__chara-gomiyashiki {
    width: 95px
}

.c-service-intro__chara-ihin {
    width: 66px;
    top: -70px
}

.c-service-intro__chara-unlimited {
    width: 204px
}

.c-service-intro__chara-purchase {
    width: 54px
}

@media all and (max-width: 767px) {
    .c-service-intro__chara {
        transform: translateX(-50%)
    }
}

@media all and (min-width: 768px) {
    .c-service-intro__chara-syoryogomi {
        top: 52px;
        width: 186px;
        transform: translateX(254px)
    }

    .c-service-intro__chara-hikkoshigo {
        top: 78px;
        width: 257px;
        transform: translateX(254px)
    }

    .c-service-intro__chara-house-cleaning {
        width: 138px;
        top: 53px;
        transform: translateX(280px)
    }

    .c-service-intro__chara-sodaigomi {
        width: 203px;
        top: 100px;
        transform: translateX(260px)
    }

    .c-service-intro__chara-dismantling {
        width: 174px;
        top: 60px;
        transform: translateX(250px)
    }

    .c-service-intro__chara-corporate {
        top: 70px;
        width: 186px;
        transform: translateX(260px)
    }

    .c-service-intro__chara-fudousan {
        top: 60px;
        width: 107px;
        transform: translateX(260px)
    }

    .c-service-intro__chara-gomiyashiki {
        top: 75px;
        width: 183px;
        transform: translateX(270px)
    }

    .c-service-intro__chara-ihin {
        top: 65px;
        width: 126px;
        transform: translateX(260px)
    }

    .c-service-intro__chara-unlimited {
        top: 100px;
        width: 337px;
        transform: translateX(250px)
    }

    .c-service-intro__chara-item {
        top: 80px;
        width: 257px;
        transform: translateX(286px)
    }

    .c-service-intro__chara-purchase {
        top: 61px;
        width: 107px;
        transform: translateX(252px)
    }
}

.c-service-intro-point {
    margin-top: 45px;
    padding-bottom: 35px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(var(--gray300))
}

@media all and (min-width: 768px) {
    .c-service-intro-point {
        margin-top: 60px;
        padding-bottom: 60px;
        margin-bottom: 40px
    }
}

.c-service-intro-case {
    margin-top: 45px
}

.c-service-intro-case__wrap {
    margin-top: 20px;
    padding: 30px
}

@media all and (min-width: 768px) {
    .c-service-intro-case {
        margin-top: 60px
    }

    .c-service-intro-case__wrap {
        margin-top: 30px;
        padding: 60px 80px
    }
}

.c-service-intro-sec-reform {
    margin: 30px 0 0
}

.c-service-intro-sec-reform__box {
    padding: 30px 10px
}

.c-service-intro-sec-reform__list {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 8px
}

.c-service-intro-sec-reform__item {
    display: flex;
    align-items: center;
    padding: 5px;
    background-color: #fff;
    border-radius: 5px
}

.c-service-intro-sec-reform__ico {
    width: 40px;
    margin-right: 7px
}

.c-service-intro-sec-reform__name {
    font-size: 1.2rem;
    font-weight: bold
}

.c-service-intro-sec-reform__btn {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-service-intro-sec-reform {
        margin: 70px 0 0;
        width: 100%
    }

    .c-service-intro-sec-reform__box {
        padding: 40px 50px 50px
    }

    .c-service-intro-sec-reform__head {
        font-size: 2.4rem
    }

    .c-service-intro-sec-reform__list {
        margin-top: 30px;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px
    }

    .c-service-intro-sec-reform__item {
        padding: 5px
    }

    .c-service-intro-sec-reform__ico {
        width: 70px;
        margin-right: 15px
    }

    .c-service-intro-sec-reform__name {
        font-size: 1.6rem
    }

    .c-service-intro-sec-reform__btn {
        margin-top: 40px
    }
}

.c-service-intro-option-ihin {
    margin-top: 10px
}

.c-service-intro-case__inner {
    padding-bottom: 50px
}

@media all and (min-width: 768px) {
    .c-service-intro-case__inner {
        padding-bottom: 100px
    }
}

.c-cv01+.c-service-links {
    position: relative
}

@media all and (min-width: 768px) {
    .c-cv01+.c-service-links::before {
        position: absolute;
        content: "";
        z-index: -5;
        display: block;
        bottom: 99.9%;
        left: 0;
        right: 0;
        height: 185px;
        background: rgb(var(--blue300))
    }
}

.c-service-links__inner {
    padding-top: 30px;
    padding-bottom: 30px
}

.c-service-links__btns {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-service-links {
        position: relative
    }

    .c-service-links__inner {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .c-service-links__btns {
        margin-top: 40px
    }
}

.c-service-movie {
    margin-bottom: -30px;
    padding-bottom: 30px;
    overflow: hidden
}

.c-service-movie__inner {
    padding-top: 50px;
    padding-bottom: 90px
}

.c-service-movie__header {
    text-align: center
}

.c-service-movie__header-sub {
    margin-bottom: 8px;
    line-height: var(--line_height_head);
    font-weight: 700;
    color: rgb(var(--blue700))
}

.c-service-movie__bnr {
    position: relative;
    padding: 20px;
    background: rgb(var(--blue500), 0.1)
}

.c-service-movie__bnr-link {
    display: block
}

.c-service-movie__bnr-ico {
    width: 95px;
    position: absolute;
    top: -20px;
    right: -40px;
    z-index: 2
}

@media all and (max-width: 767px) {
    .c-service-movie__slider {
        margin: 20px -20px 0
    }

    .c-service-movie__bnr {
        margin: 40px -20px 0
    }
}

@media all and (min-width: 768px) {
    .c-service-movie {
        padding-bottom: 80px;
        margin-bottom: -80px
    }

    .c-service-movie__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .c-service-movie__header-sub {
        margin-bottom: 10px;
        font-size: 2rem
    }

    .c-service-movie__slider {
        margin-top: 34px
    }

    .c-service-movie__bnr {
        margin-top: 80px;
        padding: 40px
    }

    .c-service-movie__bnr-link {
        width: 468px;
        margin: auto
    }

    .c-service-movie__bnr-ico {
        width: 157px;
        top: -30px;
        right: -75px
    }
}

.c-service-movie-sec {
    margin: 0 -20px
}

.c-service-movie-sec__inner {
    padding-top: 30px;
    padding-bottom: 20px
}

.c-service-movie-sec__header {
    text-align: center;
    z-index: 9;
    top: 20px;
    position: relative
}

@media all and (min-width: 768px) {
    .c-service-movie-sec {
        margin: 0
    }

    .c-service-movie-sec__inner {
        padding-top: 20px;
        padding-bottom: 60px
    }

    .c-service-movie-sec__header .c-fukidashi02__in {
        top: 15px;
        font-size: 2.2rem
    }
}

.c-service-trouble {
    position: relative
}

.c-service-trouble::before {
    position: absolute;
    content: "";
    display: block;
    z-index: 0;
    bottom: 0;
    left: 50%;
    width: 30px;
    height: 30px;
    background: #fff;
    transform: translate(-50%, 50%) rotate(45deg)
}

.c-service-trouble__inner {
    position: relative;
    padding-top: 48px;
    padding-bottom: 109px
}

.c-service-trouble__inner::after {
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    left: 50%;
    width: 82px;
    height: 89px;
    background: no-repeat 0 0/cover;
    transform: translateX(-50%)
}

.no-webp .c-service-trouble__inner::after,
.no-js .c-service-trouble__inner::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/service/ico_service_trouble01@2x.png)
}

.webp .c-service-trouble__inner::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/zaiseki/zaiseki-nayami.png)
}

.c-service-trouble__head {
    text-align: center;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    font-weight: 900;
    font-size: 2.4rem
}

.c-service-trouble__head-dot {
    position: relative;
    color: rgb(var(--blue700))
}

.c-service-trouble__head-dot::before {
    position: absolute;
    content: "";
    display: block;
    top: -15px;
    left: 0;
    right: 0;
    height: 25px;
    pointer-events: none;
    background: radial-gradient(rgb(var(--blue700), 1) 13%, rgb(var(--blue700), 0) 16.2%) repeat-x 0 0/25.5px 25.5px
}

.c-service-trouble__ico {
    position: absolute;
    z-index: -1;
    top: 15px;
    right: 20px;
    width: 80px;
    opacity: .15
}

.c-service-trouble__list {
    display: grid;
    row-gap: 5px;
    margin-top: 14px
}

.c-service-trouble__item {
    display: grid;
    grid-template-columns: 20px 1fr;
    -moz-column-gap: 6px;
    column-gap: 6px;
    padding: 13px 15px;
    background: rgb(var(--blue100));
    line-height: var(--line_height_head);
    font-size: 1.8rem;
    font-weight: 900
}

.c-service-trouble__item::after {
    order: -1;
    position: relative;
    top: 4px
}

@media all and (min-width: 768px) {
    .c-service-trouble::after {
        width: 40px;
        height: 40px
    }

    .c-service-trouble__inner {
        padding-top: 85px;
        padding-bottom: 100px
    }

    .c-service-trouble__inner::after {
        width: 135px;
        height: 145px;
        transform: translateX(calc(-50% - 20px))
    }

    .c-service-trouble__head {
        font-size: 3.6rem
    }

    .c-service-trouble__head-dot::before {
        top: -20px;
        height: 38px;
        background-size: 38px 38px
    }

    .c-service-trouble__ico {
        width: 160px;
        left: 50%;
        right: auto;
        transform: translateX(230px)
    }

    .c-service-trouble__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 22px;
        margin-top: 30px
    }

    .c-service-trouble__item {
        grid-template-columns: 30px 1fr;
        -moz-column-gap: 12px;
        column-gap: 12px;
        padding: 22px 30px;
        font-size: 2.4rem
    }
}

@media all and (min-width: 768px) {
    .c-service-trouble-hikkoshigo .c-service-trouble__inner__ico {
        top: 30px;
        width: 130px;
        transform: translateX(240px)
    }
}

@media all and (min-width: 768px) {
    .c-service-trouble-gomiyashiki__ico {
        top: 35px;
        width: 130px;
        transform: translateX(200px)
    }
}

.c-service-trouble-corporate .c-service-trouble__inner::after {
    width: 82px;
    height: 89px
}

.no-webp .c-service-trouble-corporate .c-service-trouble__inner::after,
.no-js .c-service-trouble-corporate .c-service-trouble__inner::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/service/ico_service_trouble02%402x.png)
}

.webp .c-service-trouble-corporate .c-service-trouble__inner::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/service/ico_service_trouble02%402x.png.webp)
}

@media all and (min-width: 768px) {
    .c-service-trouble-corporate .c-service-trouble__inner::after {
        width: 135px;
        height: 130px;
        bottom: 0;
        left: 51%
    }
}

.c-service-trouble-ihin .c-service-trouble__inner {
    padding-bottom: 50px
}

.c-service-trouble-ihin .c-service-trouble__inner::after {
    content: none
}

@media all and (min-width: 768px) {
    .c-service-trouble-ihin {
        padding-bottom: 30px
    }
}

.c-service-unlimited__header {
    position: relative;
    padding: 40px 20px 105px
}

.c-service-unlimited__header::before,
.c-service-unlimited__header::after {
    position: absolute;
    content: "";
    z-index: 0;
    display: block;
    bottom: 0;
    background: no-repeat 0 0/cover
}

.c-service-unlimited__header::before {
    z-index: 1;
    left: 50%;
    width: 203px;
    height: 144px;
    margin-left: -190px
}

.no-webp .c-service-unlimited__header::before,
.no-js .c-service-unlimited__header::before {
    background-image: url(../img/unlimited/bg_service01.html)
}

.webp .c-service-unlimited__header::before {
    background-image: url(../img/unlimited/bg_service01.png.html)
}

.c-service-unlimited__header::after {
    width: 141px;
    height: 92px;
    left: 50%;
    margin-left: 22px
}

.no-webp .c-service-unlimited__header::after,
.no-js .c-service-unlimited__header::after {
    background-image: url(../img/unlimited/bg_service02.html)
}

.webp .c-service-unlimited__header::after {
    background-image: url(../img/unlimited/bg_service02.png.html)
}

.c-service-unlimited__header-bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-service-unlimited__header-bg::before,
.c-service-unlimited__header-bg::after {
    position: absolute;
    content: "";
    z-index: -1;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.c-service-unlimited__header-bg::before {
    opacity: .15
}

.no-webp .c-service-unlimited__header-bg::before,
.no-js .c-service-unlimited__header-bg::before {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern01.png)
}

.webp .c-service-unlimited__header-bg::before {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/bg_pattern01.png.webp)
}

.c-service-unlimited__header-bg::after {
    z-index: -2;
    background-color: rgb(var(--blue100))
}

.c-service-unlimited__header-main {
    position: relative;
    z-index: 1
}

@media all and (min-width: 768px) {
    .c-service-unlimited__header {
        padding: 80px 0 220px;
        margin-bottom: -180px
    }

    .c-service-unlimited__header::before {
        z-index: 0;
        bottom: 135px;
        width: 519px;
        height: 368px;
        margin-left: -770px
    }

    .c-service-unlimited__header::after {
        bottom: 170px;
        width: 298px;
        height: 195px;
        margin-left: 305px
    }

    .c-service-unlimited__header-bg02 {
        position: absolute;
        z-index: 0;
        left: 50%;
        bottom: -1px;
        width: var(--contents_width_wide);
        height: 170px;
        border-radius: 30px 30px 0 0;
        transform: translateX(-50%)
    }
}

.c-service-unlimited-plan {
    position: relative;
    margin-top: 50px
}

@media all and (min-width: 768px) {
    .c-service-unlimited-plan {
        margin: 85px 0 0
    }
}

.c-service-unlimited-plan-ex {
    display: grid;
    gap: 35px
}

@media all and (min-width: 768px) {
    .c-service-unlimited-plan-ex {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px
    }
}

.c-service-unlimited-plan-ex-sec {
    border-radius: 10px;
    border: 5px solid;
    padding: 0 30px 30px
}

.c-service-unlimited-plan-ex-sec__head {
    position: relative;
    margin: 0 -30px;
    padding: 10px 40px;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px
}

.c-service-unlimited-plan-ex-sec__head-img {
    width: 80%;
    display: block;
    max-width: 230px;
    margin: -25px auto 0
}

.c-service-unlimited-plan-ex-sec__img {
    width: 75%;
    margin: 20px auto 0
}

.c-service-unlimited-plan-ex-sec__price {
    max-width: 260px;
    display: block;
    margin: 8px auto 0
}

.c-service-unlimited-plan-ex-sec__txt {
    text-align: left;
    font-weight: bold
}

.c-service-unlimited-plan-ex-sec.is-green .c-service-unlimited-plan-ex-sec__head-img {
    width: 80%;
    max-width: 220px
}

.c-service-unlimited-plan-ex-sec.is-red .c-service-unlimited-plan-ex-sec__head-img {
    width: 85%;
    max-width: 230px
}

.c-service-unlimited-plan-ex-sec.is-blue .c-service-unlimited-plan-ex-sec__head-img {
    width: 89%;
    max-width: 235px
}

.c-service-unlimited-plan-ex-sec.is-orange .c-service-unlimited-plan-ex-sec__head-img {
    width: 100%;
    max-width: 250px
}

.c-service-unlimited-plan-ex-sec.is-green {
    border-color: #5fcc38
}

.c-service-unlimited-plan-ex-sec.is-green .c-service-unlimited-plan-ex-sec__head {
    background-color: #5fcc38
}

.c-service-unlimited-plan-ex-sec.is-green .c-service-unlimited-plan-ex-sec__head::after {
    border-top-color: #5fcc38
}

.c-service-unlimited-plan-ex-sec.is-red {
    border-color: #f55755
}

.c-service-unlimited-plan-ex-sec.is-red .c-service-unlimited-plan-ex-sec__head {
    background-color: #f55755
}

.c-service-unlimited-plan-ex-sec.is-red .c-service-unlimited-plan-ex-sec__head::after {
    border-top-color: #f55755
}

.c-service-unlimited-plan-ex-sec.is-orange {
    border-color: #fe9013
}

.c-service-unlimited-plan-ex-sec.is-orange .c-service-unlimited-plan-ex-sec__head {
    background-color: #fe9013
}

.c-service-unlimited-plan-ex-sec.is-orange .c-service-unlimited-plan-ex-sec__head::after {
    border-top-color: #fe9013
}

.c-service-unlimited-plan-ex-sec.is-blue {
    border-color: #2d71c2
}

.c-service-unlimited-plan-ex-sec.is-blue .c-service-unlimited-plan-ex-sec__head {
    background-color: #2d71c2
}

.c-service-unlimited-plan-ex-sec.is-blue .c-service-unlimited-plan-ex-sec__head::after {
    border-top-color: #2d71c2
}

@media all and (min-width: 768px) {
    .c-service-unlimited-plan-ex-sec {
        border-width: 3px;
        border-radius: 10px;
        padding-bottom: 30px
    }

    .c-service-unlimited-plan-ex-sec__head {
        padding: 25px 55px;
        border-top-right-radius: 7px;
        border-top-left-radius: 7px
    }

    .c-service-unlimited-plan-ex-sec__head-img {
        width: 88%;
        margin: -40px auto 0
    }

    .c-service-unlimited-plan-ex-sec.is-green .c-service-unlimited-plan-ex-sec__head-img {
        width: 88%;
        max-width: 370px
    }

    .c-service-unlimited-plan-ex-sec.is-red .c-service-unlimited-plan-ex-sec__head-img {
        width: 91%;
        max-width: 373px
    }

    .c-service-unlimited-plan-ex-sec.is-blue .c-service-unlimited-plan-ex-sec__head-img {
        width: 89%;
        max-width: 414px
    }

    .c-service-unlimited-plan-ex-sec.is-orange .c-service-unlimited-plan-ex-sec__head-img {
        width: 100%;
        max-width: 373px
    }

    .c-service-unlimited-plan-ex-sec__wrap {
        margin-top: 30px;
        display: flex;
        align-items: center
    }

    .c-service-unlimited-plan-ex-sec__img {
        margin: 0 20px 0 0;
        width: 145px
    }

    .c-service-unlimited-plan-ex-sec__price {
        max-width: 310px;
        margin: 0 0 0 auto
    }
}

.c-service-unlimited-plan-promise {
    position: relative;
    margin-top: 23px
}

.c-service-unlimited-plan-promise__head {
    position: relative;
    font-size: 2rem;
    padding-left: 35px
}

.c-service-unlimited-plan-promise__head::before {
    position: absolute;
    content: "";
    display: block;
    top: 6px;
    left: 0;
    width: 25px;
    height: 22px;
    background: no-repeat 0 0/cover
}

.no-webp .c-service-unlimited-plan-promise__head::before,
.no-js .c-service-unlimited-plan-promise__head::before {
    background-image: url(../img/service/unlimited/ico_promise01.png)
}

.webp .c-service-unlimited-plan-promise__head::before {
    background-image: url(../img/service/unlimited/ico_promise01.png.webp)
}

.c-service-unlimited-plan-promise__list {
    margin-top: 15px
}

.c-service-unlimited-plan-promise__item {
    padding-left: 1em;
    text-indent: -1em
}

.c-service-unlimited-plan-promise__item+.c-service-unlimited-plan-promise__item {
    margin-top: 10px
}

@media all and (max-width: 767px) {
    .c-service-unlimited-plan-promise__item {
        line-height: 1.7857142857
    }
}

@media all and (min-width: 768px) {
    .c-service-unlimited-plan-promise {
        margin-top: 40px;
        position: relative
    }

    .c-service-unlimited-plan-promise__head {
        padding-left: 35px;
        font-size: 2.4rem
    }

    .c-service-unlimited-plan-promise__head::before {
        top: 15px
    }

    .c-service-unlimited-plan-promise__list {
        margin-top: 10px
    }

    .c-service-unlimited-plan-promise__item+.c-service-unlimited-plan-promise__item {
        margin-top: 0px
    }
}

.c-service-unlimited-plan-pack {
    padding: 80px 20px 40px;
    position: relative
}

.c-service-unlimited-plan-pack::before {
    position: absolute;
    content: "";
    top: -30px;
    left: 0;
    width: 100%;
    height: calc(100% + 40px);
    background: no-repeat center top/cover
}

.no-webp .c-service-unlimited-plan-pack::before,
.no-js .c-service-unlimited-plan-pack::before {
    background-image: url(../img/service/unlimited/bg_plan01%402x.jpg)
}

.webp .c-service-unlimited-plan-pack::before {
    background-image: url(../img/service/unlimited/bg_plan01%402x.jpg.webp)
}

.c-service-unlimited-plan-pack__inner {
    margin: 0 -20px
}

.c-service-unlimited-plan-pack-header {
    position: relative
}

.c-service-unlimited-plan-pack-header__ico {
    position: absolute;
    top: -30px;
    left: -5px;
    width: 65px
}

.c-service-unlimited-plan-pack-header__txt {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.4
}

.c-service-unlimited-plan-pack-header__txt-num {
    font-size: 4rem
}

.c-service-unlimited-plan-pack-header__txt-yen {
    font-size: 2rem
}

.c-service-unlimited-plan-pack-header__img {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -115px;
    width: 130px;
    z-index: 9
}

.c-service-unlimited-plan-pack__box {
    z-index: 2;
    position: relative;
    margin-top: 35px;
    background-color: #fff;
    padding: 25px
}

.c-service-unlimited-plan-pack__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 14px
}

.c-service-unlimited-plan-pack__item-img {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    min-height: 140px;
    text-align: center
}

.c-service-unlimited-plan-pack__item-img img {
    width: 104px;
    margin: auto auto 0 auto
}

.c-service-unlimited-plan-pack__item-caption {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    margin: 15px auto 20px;
    line-height: 1.4
}

@media all and (min-width: 768px) {
    .c-service-unlimited-plan-pack {
        padding: 0 50px 100px
    }

    .c-service-unlimited-plan-pack::before {
        top: -80px;
        height: calc(100% + 80px);
        background: no-repeat center top/cover
    }

    .no-webp .c-service-unlimited-plan-pack::before,
    .no-js .c-service-unlimited-plan-pack::before {
        background-image: url(../img/service/unlimited/bg_plan01_pc.jpg)
    }

    .webp .c-service-unlimited-plan-pack::before {
        background-image: url(../img/service/unlimited/bg_plan01_pc.jpg.webp)
    }

    .c-service-unlimited-plan-pack__inner {
        margin: 0 auto
    }

    .c-service-unlimited-plan-pack-header {
        margin: 0;
        padding: 85px 0 0;
        border-radius: 30px 30px 0 0;
        text-align: center
    }

    .c-service-unlimited-plan-pack-header__ico {
        width: 90px;
        top: 115px;
        left: 50%;
        transform: translateX(-390px)
    }

    .c-service-unlimited-plan-pack-header__txt {
        display: inline-block;
        font-size: 3.4rem
    }

    .c-service-unlimited-plan-pack-header__txt-num {
        font-size: 6rem
    }

    .c-service-unlimited-plan-pack-header__txt-yen {
        font-size: 2.6rem
    }

    .c-service-unlimited-plan-pack-header__img {
        top: 110px;
        left: 50%;
        transform: translateX(320px);
        bottom: auto;
        width: 175px;
        height: 140px
    }

    .c-service-unlimited-plan-pack__box {
        padding: 80px
    }

    .c-service-unlimited-plan-pack__list {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px
    }

    .c-service-unlimited-plan-pack__item {
        display: flex;
        justify-content: center;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
        padding: 25px 25px 30px
    }

    .c-service-unlimited-plan-pack__item-img img {
        width: 200px
    }

    .c-service-unlimited-plan-pack__item-caption {
        margin-bottom: 0
    }
}

.c-service-unlimited-plan-case {
    margin-top: 20px
}

.c-service-unlimited-plan-case__imgs {
    gap: 20px 0
}

@media all and (min-width: 768px) {
    .c-service-unlimited-plan-case {
        display: grid;
        gap: 30px 0;
        margin-top: 45px
    }

    .c-service-unlimited-plan-case__head::before {
        width: 78px;
        height: 67px;
        margin: -35px 0 0 105px
    }

    .c-service-unlimited-plan-case__imgs {
        gap: 0 36px
    }
}

.c-service-unlimited-plan__bg {
    position: absolute;
    z-index: -1;
    display: block;
    top: 0;
    bottom: 0
}

@media all and (max-width: 767px) {
    .c-service-unlimited-plan__bg {
        left: -20px;
        right: -20px
    }
}

@media all and (min-width: 768px) {
    .c-service-unlimited-plan__bg {
        left: 50%;
        width: var(--contents_width_wide);
        transform: translateX(-50%)
    }
}

.c-index-reason.c-index-reason--service+.c-service-voice {
    padding-top: 30px
}

@media all and (min-width: 768px) {
    .c-index-reason.c-index-reason--service+.c-service-voice {
        padding-top: 80px
    }
}

.c-service-voice__inner {
    padding-top: 56px;
    padding-bottom: 60px
}

.c-service-voice__slider {
    margin: 29px -20px 0
}

.c-service-voice__slider:not(.is-active) {
    margin-left: 0;
    margin-right: 0
}

.c-service-voice__btn {
    margin-top: 28px
}

@media all and (min-width: 768px) {
    .c-service-voice {
        overflow: hidden
    }

    .c-service-voice__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .c-service-voice__slider {
        margin: 40px auto 0;
        width: 894px
    }

    .c-service-voice__slider:not(.is-active) {
        margin-right: auto;
        margin-left: auto
    }

    .c-service-voice__slider:not(.is-active) .splide__list {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center
    }

    .c-service-voice__slider:not(.is-active) .c-card-voice:not(:first-of-type) {
        margin-left: 40px
    }

    .c-service-voice__btn {
        margin-top: 40px
    }
}

.c-set-base {
    position: relative;
    display: grid;
    row-gap: 15px;
    padding: 30px;
    border: 2px solid rgb(var(--blue700));
    background-color: #fff
}

.c-set-base__head {
    font-weight: 900;
    font-size: 1.6rem;
    line-height: var(--line_height_head)
}

.c-set-base__txt {
    margin-top: 10px
}

@media all and (min-width: 768px) {
    .c-set-base {
        display: grid;
        grid-template-columns: 443px 1fr;
        gap: 0 30px;
        align-items: start;
        padding: 50px
    }

    .c-set-base__head {
        font-size: 2.4rem
    }

    .c-set-base__txt {
        margin-top: 19px
    }

    .c-set-base.is-block {
        display: block
    }
}

.c-set-photo {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 0 13px
}

.c-set-photo::after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 10px;
    background: rgb(var(--blue500));
    transform: translate(-50%, -50%)
}

.c-set-photo__img {
    position: relative
}

.c-set-photo__img:last-of-type {
    border: 2px solid rgb(var(--blue500))
}

@media all and (min-width: 768px) {
    .c-set-photo {
        gap: 0 20px;
        align-items: start
    }

    .c-set-photo::after {
        width: 8px;
        height: 15px
    }
}

@media all and (min-width: 768px) {
    .c-set-photo-large {
        -moz-column-gap: 30px;
        column-gap: 30px
    }

    .c-set-photo-large::after {
        width: 11px;
        height: 20px
    }

    .c-set-photo-large .c-set-photo__img:last-of-type {
        border-width: 3px
    }
}

.c-set-photo-list {
    display: grid;
    gap: 20px 0
}

@media all and (min-width: 768px) {
    .c-set-photo-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 30px
    }
}

@media all and (min-width: 768px) {
    .c-set01.is-reverse {
        grid-template-areas: "area img"
    }

    .c-set01.is-reverse .c-set01__img {
        grid-area: img
    }

    .c-set01.is-reverse .c-set01__area-txt {
        grid-area: area
    }
}

.c-set01 {
    display: grid;
    row-gap: 15px
}

.c-set01__img {
    position: relative;
    overflow: hidden
}

.c-set01__img-num {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    color: rgb(var(--blue700));
    background: #fff;
    font-weight: 900;
    font-size: 2.4rem;
    border-bottom-right-radius: 10px
}

.c-set01__head {
    font-size: 2.6rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-set01__lead {
    margin-top: 5px;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-set01__txt {
    margin-top: 15px
}

.c-set01__btns {
    margin-top: 20px
}

.c-set01.is-black .c-set01__head {
    color: rgba(var(--gray900))
}

@media all and (min-width: 768px) {
    .c-set01 {
        grid-template-columns: repeat(2, 1fr);
        gap: 0 60px;
        align-items: flex-start
    }

    .c-set01__img-num {
        width: 70px;
        height: 70px;
        font-size: 3rem
    }

    .c-set01__head {
        font-size: 4rem
    }

    .c-set01__lead {
        margin-top: 14px;
        font-size: 2.4rem
    }

    .c-set01__txt {
        margin-top: 40px
    }

    .c-set01__btns {
        margin-top: 30px
    }
}

.c-set02.is-num-blue500 .c-set02__img-num {
    background: rgb(var(--blue500));
    color: #fff
}

.c-set02 {
    display: grid;
    align-items: start;
    row-gap: 15px
}

.c-set02__img {
    position: relative;
    overflow: hidden
}

.c-set02__img-num {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    color: rgb(var(--blue700));
    background: #fff;
    font-weight: 900;
    font-size: 2.4rem;
    border-bottom-right-radius: 10px
}

.c-set02__head {
    font-size: 2.6rem;
    font-weight: 900;
    color: rgb(var(--blue700));
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-set02__head+.c-set02__txt {
    margin-top: 10px
}

.c-set02__lead {
    margin-top: 5px;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.c-set02__txt {
    margin-top: 15px
}

.c-set02__btns {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .c-set02 {
        row-gap: 25px
    }

    .c-set02__img-num {
        width: 70px;
        height: 70px;
        font-size: 3rem
    }

    .c-set02__head {
        font-size: 4rem
    }

    .c-set02__lead {
        margin-top: 14px;
        font-size: 2.4rem
    }

    .c-set02__txt {
        margin-top: 30px
    }

    .c-set02__btns {
        margin-top: 20px;
        justify-content: flex-end
    }
}

.c-set03 {
    position: relative;
    display: grid;
    row-gap: 15px;
    padding: 36px 25px 30px;
    border: 2px solid rgb(var(--blue700))
}

.c-set03__fukidashi {
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    text-align: center
}

.c-set03__head {
    font-weight: 900;
    font-size: 1.6rem;
    line-height: var(--line_height_head);
    color: rgb(var(--blue700))
}

.c-set03__txt {
    margin-top: 10px
}

@media all and (min-width: 768px) {
    .c-set03 {
        display: grid;
        grid-template-columns: 293px 1fr;
        gap: 0 30px;
        align-items: start;
        padding: 50px
    }

    .c-set03__fukidashi {
        top: -24px
    }

    .c-set03__head {
        font-size: 2.4rem
    }

    .c-set03__txt {
        margin-top: 19px
    }
}

.c-set04 {
    display: grid;
    row-gap: 15px
}

.c-set04__img {
    margin: auto;
    width: 280px
}

.c-set04__head {
    text-align: center
}

.c-set04__head-label {
    display: inline-block;
    padding: 7px 18px;
    background: rgb(var(--blue500));
    color: #fff;
    font-size: 1.2rem;
    font-weight: 900;
    border-radius: 9999px;
    line-height: var(--line_height_head)
}

.c-set04__head-main {
    margin-top: 4px;
    font-weight: 900;
    font-size: 2.6rem;
    color: rgb(var(--blue700));
    line-height: var(--line_height_head)
}

@media all and (min-width: 768px) {
    .c-set04 {
        grid-template-columns: 520px 1fr;
        grid-template-rows: auto auto 1fr;
        grid-template-areas: "img head" "img txt" "img btn";
        gap: 25px 60px;
        align-items: start;
        max-width: var(--contents_width);
        margin-left: auto;
        margin-right: auto
    }

    .c-set04__img {
        grid-area: img;
        width: auto;
        margin: 0 0 auto
    }

    .c-set04__head {
        grid-area: head;
        text-align: left
    }

    .c-set04__head-label {
        font-size: 1.8rem
    }

    .c-set04__head-main {
        margin-top: 9px;
        font-size: 4rem
    }

    .c-set04__txt {
        grid-area: txt
    }

    .c-set04__btn {
        grid-area: btn
    }

    .c-set04 [data-col-pc="2"] {
        grid-column: 1/3
    }
}

.c-set04-list .c-set04 {
    padding-bottom: 25px
}

.c-set04-list .c-set04:not(:last-of-type) {
    border-bottom: 1px solid rgb(var(--blue500), 0.5)
}

.c-set04-list .c-set04:not(:first-of-type) {
    padding-top: 30px
}

@media all and (min-width: 768px) {
    .c-set04-list .c-set04 {
        padding-bottom: 60px
    }

    .c-set04-list .c-set04:not(:first-of-type) {
        padding-top: 60px
    }
}

.c-set04-list .c-set04.has-no-border {
    border-bottom: 0;
    padding-bottom: 0
}

.c-set05 {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.c-set05__head {
    position: relative;
    z-index: 0;
    margin-top: -20px;
    padding: 10px 15px 0 0;
    background: #fff;
    font-weight: 900;
    font-size: 2.2rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    border-top-right-radius: 10px
}

.c-set05__img {
    width: 100%
}

.c-set05__area-txt {
    position: relative
}

.c-set05__ico {
    position: absolute;
    top: -20px;
    right: 0;
    z-index: 0;
    width: 80px;
    pointer-events: none;
    opacity: .07
}

.c-set05__txt {
    margin-top: 15px
}

.c-set05__btns {
    display: grid;
    justify-content: center;
    row-gap: 13px;
    width: 100%;
    margin-top: 18px
}

.c-set05__btns-set {
    margin: auto
}

@media all and (min-width: 768px) {
    .c-set05__head {
        margin-top: -42px;
        padding: 15px 30px 0 0;
        font-size: 3.6rem
    }

    .c-set05__area-txt {

        width: 100%;
        margin-top: 19px
    }

    .c-set05__ico {
        top: -20px;
        right: 200px;
        width: 130px
    }

    .c-set05__txt {
        margin-top: 0
    }

    .c-set05__btns {
        margin-top: 0;
        row-gap: 22px
    }
}

.c-set05-list {
    display: grid;
    row-gap: 40px
}

@media all and (min-width: 768px) {
    .c-set05-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 116px 60px
    }
}

.c-set06__in {
    display: block
}

.c-set06__head {
    display: grid;
    grid-template-columns: 1fr 20px;
    align-items: center;
    margin-top: 16px;
    font-size: 1.6rem;
    color: rgb(var(--blue700))
}

.c-set06__txt {
    margin-top: 9px
}

@media all and (min-width: 768px) {
    .c-set06__head {
        display: grid;
        grid-template-columns: 1fr 30px;
        margin-top: 20px;
        font-size: 2.6rem
    }

    .c-set06__head.is-line-two {
        margin-top: 10px;
        min-height: 3.5em
    }

    .c-set06__head::after {
        height: 30px
    }

    .c-set06__txt {
        margin-top: 12px;
        font-size: 1.8rem
    }
}

.c-set06-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 20px
}

@media all and (min-width: 768px) {
    .c-set06-list {
        align-items: start;
        grid-template-columns: repeat(3, 1fr);
        gap: 45px 40px
    }
}

.c-set07__img {
    margin: 0 38px;
    text-align: center
}

.c-set07__head {
    margin-top: 15px;
    text-align: center;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    font-size: 2rem;
    font-weight: 900
}

.c-set07__txt {
    margin-top: 10px
}

@media all and (min-width: 768px) {
    .c-set07__img {
        margin: 0
    }

    .c-set07__head {
        margin-top: 20px;
        font-size: 2.4rem
    }

    .c-set07__txt {
        margin-top: 15px
    }
}

.c-set07-list {
    display: grid;
    row-gap: 35px
}

@media all and (min-width: 768px) {
    .c-set07-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 0 40px
    }

    .c-set07-list.is-col04 {
        grid-template-columns: repeat(4, 1fr);
        gap: 0 23px
    }

    .c-set07-list.is-col04 .c-set07__head {
        font-size: 2rem
    }
}

.c-set08 {
    position: relative;
    border: 2px solid rgb(var(--blue700));
    background: #fff
}

.c-set08__head {
    position: absolute;
    bottom: 100%;
    left: 50%;
    padding-right: 20px;
    padding-left: 20px;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0) 16px, #fff 16.1px, #fff 100%);
    transform: translate(-50%, 15px);
    white-space: nowrap
}

.c-set08__fukidashi {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translate(-50%, 15px);
    white-space: nowrap
}

@media all and (max-width: 767px) {
    .c-set08__head.is-line-two-sp {
        background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0) 49px, #fff 49.1px, #fff 100%)
    }
}

@media all and (min-width: 768px) {
    .c-set08__head {
        background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0) 31px, #fff 31.1px, #fff 100%);
        transform: translate(-50%, 18px)
    }
}

@media all and (min-width: 768px) {
    .c-set08-pc {
        position: relative;
        background: #fff;
        border: 2px solid rgb(var(--blue700))
    }

    .c-set08-pc__head {
        font-size: 3rem;
        position: absolute;
        top: -32px;
        left: 50%;
        padding-right: 20px;
        padding-left: 20px;
        background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0) 30px, #fff 30.1px, #fff 100%);
        transform: translateX(-50%)
    }
}

@media all and (min-width: 1360px) {
    .c-set08-pc__head {
        font-size: 3.4rem
    }
}

.c-set08.border-red500 {
    border-color: rgb(var(--red500))
}

.c-set09 {
    position: relative
}

.c-set09__img {
    position: relative;
    z-index: 2;
    margin: 0 30px;
    padding: 30px 0;
    background-color: #fffbe8
}

.c-set09__area-txt {
    margin-top: -110px;
    padding: 135px 30px 30px;
    background: #fff
}

.c-set09__head {
    margin-bottom: 10px;
    text-align: center;
    line-height: 1.5
}

.c-set09__head-label {
    font-size: 1.6rem
}

.c-set09__head-label-num {
    font-size: 2.2rem
}

.c-set09__head-main {
    font-size: 3rem
}

@media all and (min-width: 768px) {
    .c-set09 {
        display: flex;
        align-items: flex-start
    }

    .c-set09__img {
        width: 50%;
        min-height: 530px;
        box-sizing: border-box;
        margin: -15px 0 0;
        padding: 60px 0
    }

    .c-set09__area-txt {
        width: 55%;
        margin: 0 0 0 -20px;
        padding: 75px 60px 70px 80px;
        box-sizing: border-box
    }

    .c-set09__head {
        margin-bottom: 35px;
        text-align: left
    }

    .c-set09__head-label {
        display: flex;
        font-size: 1.8rem;
        align-items: center
    }

    .c-set09__head-label-num {
        margin-left: 8px;
        font-size: 3.2rem
    }

    .c-set09__head-main {
        font-size: 6rem;
        letter-spacing: .05em
    }

    .c-set09.is-reverse {
        flex-direction: row-reverse
    }

    .c-set09.is-reverse .c-set09__area-txt {
        margin: 0 -20px 0 0;
        padding: 75px 80px 70px 80px
    }
}

.c-set09-list {
    display: grid;
    gap: 30px 0
}

@media all and (min-width: 768px) {
    .c-set09-list {
        gap: 80px 0
    }
}

.c-single-voice-header h1 {
    margin-bottom: 12px;
    line-height: var(--line_height_head);
    font-size: 2.2rem
}

.c-single-voice-header__cats {
    margin-top: 10px
}

.c-single-voice-header__area {
    font-size: 1.2rem;
    color: rgba(var(--gray500))
}

.c-single-voice-data {
    display: flex;
    flex-wrap: wrap;
    margin-top: 17px
}

.c-single-voice-data__item {
    font-size: 1.2rem
}

.c-single-voice-data__item+.c-single-voice-data__item {
    margin-left: 8px;
    padding-left: 8px;
    border-left: 1px solid rgba(var(--gray300))
}

.c-single-voice-data__label {
    display: inline-block
}

.c-single-voice-data__label::after {
    content: "："
}

.c-single-voice-data__detail {
    display: inline-block
}

@media all and (min-width: 768px) {
    .c-single-voice {
        margin: auto;
        padding: 0;
        box-sizing: border-box
    }

    .c-single-voice-header__meta {
        display: grid;
        grid-template-columns: 120px 1fr;
        gap: 0 30px;
        grid-area: img;
        grid-template-areas: "img head" "img name"
    }

    .c-single-voice-header__img {
        width: 120px;
        grid-area: img
    }

    .c-single-voice-header h1 {
        grid-area: head;
        font-size: 2.8rem;
        margin-bottom: 10px
    }

    .c-single-voice-header__name {
        grid-area: name
    }

    .c-single-voice-header__cats {
        margin-top: 20px
    }

    .c-single-voice-data {
        margin-top: 15px
    }

    .c-single-voice-data__item {
        font-size: 1.4rem;
        line-height: 1.3
    }

    .c-single-voice-data__item+.c-single-voice-data__item {
        border-width: 2px;
        margin-left: 9px;
        padding-left: 9px
    }
}

.c-single-voice-imgs {
    gap: 15px 0;
    margin-top: 15px
}

.c-single-voice-imgs .c-card-voice__imgs {
    gap: 0 22px
}

.c-single-voice-imgs__zoom {
    -o-object-fit: inherit !important;
    object-fit: inherit !important;
    position: absolute;
    top: auto !important;
    left: auto !important;
    right: 5px;
    bottom: 5px;
    z-index: 1;
    width: 24px !important;
    height: 24px !important;
    pointer-events: none
}

.c-single-voice-imgs__txt {
    grid-column: 1/3;
    margin-top: 5px;
    line-height: var(--line_height_head)
}

.c-single-voice-imgs__label {
    width: 105px;
    height: 39px;
    font-size: 1.6rem
}

@media all and (min-width: 768px) {
    .c-single-voice-imgs {
        margin-top: 50px;
        padding: 35px 100px 55px;
        background-color: rgba(var(--blue100))
    }

    .c-single-voice-imgs .c-card-voice__imgs {
        gap: 0 45px
    }

    .c-single-voice-imgs__zoom {
        right: 10px;
        bottom: 10px;
        width: 37px !important;
        height: 37px !important
    }

    .c-single-voice-imgs__txt {
        margin-top: 10px
    }
}

.c-single-voice-interview {
    margin-top: 30px
}

.c-single-voice-interview__head {
    text-align: left;
    font-size: 2rem
}

.c-single-voice-interview__list {
    margin-top: 20px
}

.c-single-voice-interview-item__ico {
    position: absolute;
    top: -3px;
    left: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 2px;
    margin-right: 7px;
    width: 27px;
    height: 27px;
    text-align: center;
    border: 1px solid rgb(var(--blue700));
    background-color: rgb(var(--blue700));
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 50%;
    color: #fff
}

.c-single-voice-interview-item__ico.is-answer {
    top: 3px;
    background: #fff;
    color: rgb(var(--blue700))
}

.c-single-voice-interview-item__head {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 35px;
    width: calc(100% - 35px);
    position: relative;
    font-size: 1.5rem;
    line-height: var(--line_height_head)
}

.c-single-voice-interview-item__head:not(:first-of-type) {
    margin-top: 20px
}

.c-single-voice-interview-item__txt {
    position: relative;
    margin-top: 10px;
    padding-left: 35px;
    display: flex;
    width: calc(100% - 35px);
    font-size: 1.5rem;
    font-weight: 400
}

@media all and (max-width: 767px) {
    .c-single-voice-interview__img {
        margin: 40px 0 0;
        padding: 20px
    }

    .c-single-voice-interview__img img {
        -o-object-fit: contain;
        object-fit: contain
    }
}

@media all and (min-width: 768px) {
    .c-single-voice-interview {
        margin-top: 40px
    }

    .c-single-voice-interview__wrap {
        display: grid;
        grid-template-columns: 1fr 185px;
        gap: 0 40px
    }

    .c-single-voice-interview__head {
        font-size: 2.4rem
    }

    .c-single-voice-interview__list {
        width: 85%;
        margin-top: 30px
    }

    .c-single-voice-interview-item__head {
        font-size: 1.8rem;
        padding-left: 50px
    }

    .c-single-voice-interview-item__head:not(:first-of-type) {
        margin-top: 40px
    }

    .c-single-voice-interview-item__ico {
        top: -8px;
        width: 36px;
        height: 36px;
        font-size: 2.2rem
    }

    .c-single-voice-interview-item__ico.is-answer {
        top: -3px
    }

    .c-single-voice-interview-item__txt {
        margin-top: 15px;
        padding-left: 50px;
        font-size: 1.6rem
    }

    .c-single-voice-interview__img {
        width: 185px;
        background: transparent
    }
}

.c-single-voice-staff {
    margin: 60px -20px 0;
    padding: 0 20px;
    text-align: center;
    border-top: 5px solid rgb(var(--blue300));
    border-bottom: 5px solid rgb(var(--blue300))
}

.c-single-voice-staff__head {
    transform: translateY(-18px)
}

.c-single-voice-staff__head-sub {
    padding: 10px 35px;
    border-radius: 999px
}

.c-single-voice-staff__txt {
    position: relative;
    padding-bottom: 40px
}

.c-single-voice-staff__txt-img {
    margin: 50px auto 30px
}

.c-single-voice-staff__txt-box {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    line-height: 1.3;
    text-align: left;
    padding: 15px;
    border-radius: 10px 0 0 0
}

.c-single-voice-staff__txt-box-label {
    font-size: 1.2rem
}

.c-single-voice-staff__txt-box-name {
    margin-top: 5px;
    font-size: 1.6rem
}

.c-single-voice-staff__content {
    text-align: left
}

@media all and (min-width: 768px) {
    .c-single-voice-staff {
        position: relative;
        border: 5px solid rgb(var(--blue300));
        margin: 85px auto 0;
        padding: 45px 100px 80px;
        box-sizing: border-box
    }

    .c-single-voice-staff::after {
        position: absolute;
        content: "";
        display: block;
        bottom: -18px;
        left: 50%;
        width: 30px;
        height: 18px;
        transform: translateX(-50%) scale(-1, 1);
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.07%207.26%22%3E%3Cpath%20fill%3D%22%23DCF5FF%22%20d%3D%22M.46%207.1A1%201%200%200%201%200%206.22L.22.96a1%201%200%200%201%201-.96h9.74a1%201%200%200%201%20.55.17%201.29%201.29%200%200%201%20.55%201.2c-.1.92-1.04%201.64-3.24%202.5a105.91%20105.91%200%200%200-7.38%203.28%201%201%200%200%201-.98-.05Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20773%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 100%/cover
    }

    .c-single-voice-staff__head {
        margin: -40px 0 16px;
        transform: translateY(-30px)
    }

    .c-single-voice-staff__head-sub {
        font-size: 2.4rem
    }

    .c-single-voice-staff__content {
        text-align: left;
        border-bottom: 0 !important
    }

    .c-single-voice-staff__txt {
        padding-bottom: 0
    }

    .c-single-voice-staff__txt-img {
        width: 350px;
        margin: 0 auto 40px
    }

    .c-single-voice-staff__txt-box {
        padding: 15px 30px 15px 15px
    }

    .c-single-voice-staff__txt-box-label {
        font-size: 1.4rem
    }

    .c-single-voice-staff__txt-box-name {
        font-size: 1.8rem
    }
}

.c-single01-head {
    margin-bottom: 30px
}

.c-single01-head__meta {
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.c-single01-head__date {
    margin-right: 10px;
    font-size: 1.3rem
}

.c-single01-head h1 {
    font-size: 2.2rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-single01__eyecatch {
    text-align: center
}

.c-single01__eyecatch img {
    -o-object-fit: contain;
    object-fit: contain;
    max-width: 100%;
    max-height: 66.5vw
}

.c-single01__content {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .c-single01-head {
        padding-bottom: 40px;
        margin-bottom: 40px;
        border-bottom: 1px solid rgba(var(--gray300))
    }

    .c-single01-head__meta {
        margin-bottom: 20px
    }

    .c-single01-head__date {
        margin-right: 15px
    }

    .c-single01-head h1 {
        font-size: 2.8rem
    }

    .c-single01__eyecatch {
        max-width: 870px;
        margin: 0 auto;
        text-align: center
    }

    .c-single01__eyecatch img {
        max-height: 580px
    }

    .c-single01__content {
        padding: 80px 8vw
    }
}

.c-single01-relation {
    margin-top: 40px;
    margin-bottom: 20px
}

@media all and (min-width: 768px) {
    .c-single01-relation {
        margin-bottom: 0
    }
}

.c-single-content *:first-child {
    margin-top: 0
}

.c-single-content *:last-child {
    margin-bottom: 0
}

.c-single-content h2 {
    position: relative;
    padding-left: 12px;
    font-weight: bold;
    font-size: 2rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.c-single-content h2::before {
    position: absolute;
    content: "";
    display: block;
    top: 4px;
    bottom: 4px;
    left: 0;
    width: 4px;
    border-radius: 9999px;
    background-image: linear-gradient(180deg, rgb(var(--blue500)) 0%, rgb(var(--blue500)) 50%, rgb(var(--blue700)) 50.01%, rgb(var(--blue700)) 100%)
}

.c-single-content h3 {
    margin-top: 30px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: var(--line_height_head);
    border-bottom: 1px solid rgb(var(--gray300))
}

.c-single-content h4 {
    position: relative;
    margin-top: 30px;
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 1.6rem;
    color: rgba(var(--blue700));
    line-height: var(--line_height_head)
}

.c-single-content p {
    margin: 1em 0
}

.c-single-content a {
    text-decoration: underline;
    color: rgb(var(--blue700))
}

.c-single-content b,
.c-single-content strong {
    color: rgb(var(--blue700))
}

.c-single-content ul,
.c-single-content ol {
    margin: 1em 0;
    padding: 0;
    list-style: none
}

.c-single-content ul li,
.c-single-content ol li {
    position: relative;
    padding-left: 1em;
    line-height: var(--line_height_head)
}

.c-single-content ul li+li,
.c-single-content ol li+li {
    margin-top: 9px
}

.c-single-content ul li::before,
.c-single-content ol li::before {
    position: absolute;
    content: "";
    display: block;
    top: 7px;
    left: 3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgb(var(--blue500))
}

.c-single-content ol {
    counter-reset: ol_num
}

.c-single-content ol li {
    padding-left: 27px;
    counter-increment: ol_num
}

.c-single-content ol li::before {
    content: counter(ol_num, decimal-leading-zero);
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    font-weight: 700;
    color: rgb(var(--blue700));
    background: transparent
}

.c-single-content img {
    border-radius: 10px;
    width: auto
}

.c-single-content .aligncenter {
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

@media all and (min-width: 768px) {
    .c-single-content {
        overflow: hidden
    }

    .c-single-content h2 {
        margin-top: 60px;
        margin-bottom: 30px;
        padding-left: 24px;
        font-size: 2.8rem
    }

    .c-single-content h2::before {
        width: 6px;
        top: 6px;
        bottom: 6px
    }

    .c-single-content h3 {
        margin-top: 50px;
        margin-bottom: 30px;
        padding-bottom: 15px;
        font-size: 2rem
    }

    .c-single-content h4 {
        margin-top: 40px;
        margin-bottom: 20px;
        font-size: 1.8rem
    }

    .c-single-content p {
        margin: 2em 0;
        line-height: 1.8
    }

    .c-single-content a:hover {
        text-decoration: none
    }

    .c-single-content ul,
    .c-single-content ol {
        margin: 2em 0
    }

    .c-single-content ul li+li,
    .c-single-content ol li+li {
        margin-top: 7px
    }

    .c-single-content ul li::before {
        top: 10px
    }

    .c-single-content ol li {
        padding-left: 30px
    }

    .c-single-content .alignleft {
        float: left;
        margin-right: 40px
    }

    .c-single-content .alignright {
        float: right;
        margin-left: 40px;
        text-align: right
    }
}

.c-sns-footer {
    display: grid;
    row-gap: 20px
}

@media all and (max-width: 767px) {
    .c-sns-footer {
        padding-top: 20px;
        padding-bottom: 20px;
        background: rgb(var(--blue100))
    }
}

@media all and (min-width: 768px) {
    .c-sns-footer {
        grid-template-columns: 550px 1fr;
        align-items: center;
        justify-content: space-between
    }
}

.c-sns-footer-line {
    display: grid;
    grid-template-columns: 60px auto;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 12px;
    column-gap: 12px;
    padding: 19px 0
}

.c-sns-footer-line__img {
    grid-row: 1/3
}

.c-sns-footer-line__head {
    margin-top: -3px;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1
}

.c-sns-footer-line__head-line {
    font-size: 2.8rem
}

.c-sns-footer-line__txt {
    font-size: 1.2rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

@media all and (max-width: 767px) {
    .c-sns-footer-line {
        background: #fff;
        border: 1px solid rgb(var(--gray300))
    }
}

@media all and (min-width: 768px) {
    .c-sns-footer-line {
        justify-content: start;
        grid-template-columns: 96px 1fr;
        -moz-column-gap: 34px;
        column-gap: 34px
    }

    .c-sns-footer-line__head {
        font-size: 2.5rem
    }

    .c-sns-footer-line__head-line {
        font-size: 5rem
    }

    .c-sns-footer-line__txt {
        font-size: 1.6rem
    }
}

.c-sns-footer-official {
    display: grid;
    grid-template-columns: auto repeat(2, 40px);
    -moz-column-gap: 10px;
    column-gap: 10px;
    align-items: center;
    justify-content: center
}

.c-sns-footer-official__txt {
    margin-right: 4px;
    font-weight: 900;
    font-size: 1.3rem
}

@media all and (min-width: 768px) {
    .c-sns-footer-official {
        height: 227px;
        grid-template-columns: auto repeat(2, 60px);
        -moz-column-gap: 20px;
        column-gap: 20px;
        justify-content: end;
        border-left: 1px solid rgb(var(--blue200))
    }

    .c-sns-footer-official__txt {
        margin-right: 18px;
        font-size: 2rem
    }
}

.c-table01.is-blue thead th {
    border: 0
}

.c-table01.is-blue thead th+th {
    border-left: 1px solid #fff
}

.c-table01.is-blue tbody td {
    border: 1px solid rgb(var(--blue700))
}

.c-table01 {
    background: #fff;
    table-layout: auto
}

.c-table01-fixed {
    table-layout: fixed
}

.c-table01__label {
    font-weight: 700;
    text-align: center
}

.c-table01__price {
    padding-right: 15px;
    text-align: right;
    font-weight: 900;
    font-size: 1.8rem;
    color: rgb(var(--red700))
}

.c-table01__txt {
    margin-top: 15px
}

.c-table01 thead th {
    padding: 15px 5px;
    font-weight: 900;
    color: #fff;
    line-height: var(--line_height_head);
    background: rgb(var(--blue500));
    border: 1px solid #fff
}

.c-table01 tbody td {
    padding: 15px 5px;
    border: 1px solid rgb(var(--gray300));
    line-height: var(--line_height_head);
    vertical-align: middle
}

@media all and (max-width: 767px) {
    .c-table01__label-left-sp {
        text-align: left
    }

    .c-table01__label-right-sp {
        text-align: right
    }

    .c-table01__price--small {
        font-size: 1.4rem
    }

    .c-table01__price--big {
        font-size: 1.6rem
    }
}

@media all and (min-width: 768px) {
    .c-table01__price {
        text-align: center
    }

    .c-table01__price--big {
        font-size: 2.6rem
    }

    .c-table01__txt {
        margin-top: 30px
    }

    .c-table01 thead th {
        height: 70px;
        box-sizing: border-box;
        vertical-align: middle;
        padding: 16px 5px
    }

    .c-table01 tbody td {
        padding: 16px 5px
    }
}

.c-table02 {
    background: #fff;
    table-layout: auto;
    border: 1px solid rgb(var(--blue700))
}

.c-table02-fixed {
    table-layout: fixed
}

.c-table02 tbody th {
    font-weight: 700;
    text-align: center;
    font-size: 1.6rem;
    background-color: rgb(var(--blue300));
    padding: 13px
}

.c-table02 tbody td {
    padding: 20px
}

.c-table02 tbody tr+tr {
    border-top: 1px solid rgb(var(--blue700))
}

.c-table02 tbody th,
.c-table02 tbody td {
    box-sizing: border-box;
    line-height: var(--line_height_head);
    vertical-align: middle
}

@media all and (max-width: 767px) {

    .c-table02 table,
    .c-table02 thead,
    .c-table02 tbody,
    .c-table02 tr,
    .c-table02 th,
    .c-table02 td {
        display: block
    }

    .c-table02 th {
        border-bottom: 0;
        border-bottom: 1px solid rgb(var(--blue700))
    }

    .c-table02 tr+tr th {
        border-top: 0
    }
}

@media all and (min-width: 768px) {
    .c-table02 tbody th {
        vertical-align: top;
        width: 200px;
        padding: 30px;
        text-align: left;
        font-size: 1.8rem;
        border-right: 1px solid rgb(var(--blue700))
    }

    .c-table02 tbody td {
        padding: 30px
    }
}

.c-table03 {
    table-layout: auto
}

.c-table03-fixed {
    table-layout: fixed
}

.c-table03 tbody th,
.c-table03 tbody td {
    box-sizing: border-box;
    padding: 17px;
    vertical-align: top
}

.c-table03 tbody th {
    width: 27%;
    font-weight: 700;
    text-align: left;
    color: rgb(var(--blue700));
    padding-right: 0;
    line-height: var(--line_height_head)
}

.c-table03 tbody td {
    width: 73%
}

.c-table03 tbody tr {
    background: #fff
}

.c-table03 tbody tr:nth-of-type(even) {
    background-color: rgb(var(--blue100))
}

@media all and (min-width: 768px) {

    .c-table03 tbody th,
    .c-table03 tbody td {
        padding: 26px
    }

    .c-table03 tbody th {
        width: 23%
    }

    .c-table03 tbody td {
        width: 77%
    }
}

.c-tel01__link {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box
}

.c-tel01__link-txt {
    position: absolute;
    display: inline-block;
    z-index: 0;
    top: 0;
    left: 50%;
    padding: 0 20px 1px;
    transform: translate(-50%, -50%);
    font-size: 1.2rem;
    white-space: nowrap
}

.c-tel01__link-num {
    display: grid;
    grid-template-columns: 41px 1fr;
    align-items: flex-end;
    -moz-column-gap: 5px;
    column-gap: 5px;
    font-size: 3.8rem
}

.c-tel01__link-open {
    font-size: 1.4rem;
    text-indent: 1.5em
}

@media all and (min-width: 768px) {
    .c-tel01__link {
        height: 110px;
        padding: 0;
        border-radius: 9999px;
        pointer-events: none
    }

    .c-tel01__link.c-ico-line-arrow01::after {
        display: none
    }

    .c-tel01__link-txt {
        font-size: 1.6rem;
        transform: translate(-50%, -10px)
    }

    .c-tel01__link-num {
        grid-template-columns: 50px 1fr;
        margin: 15px auto 0;
        font-size: 4.6rem
    }

    .c-tel01__link-open {
        font-size: 1.5rem
    }
}

.c-unlimited01__header {
    margin-bottom: 20px
}

.c-unlimited01__header-sub {
    font-weight: 900;
    font-size: 1.3rem;
    letter-spacing: var(--letter_spacing_head)
}

.c-unlimited01__header-main {
    margin-top: 3px;
    width: 220px
}

.c-unlimited01-plans {
    position: relative;
    margin-top: 24px
}

.c-unlimited01-plans__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px
}

.c-unlimited01__btn {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .c-unlimited01__inner {
        display: grid;
        grid-template-columns: 460px 1fr;
        grid-template-rows: auto auto 1fr;
        grid-template-areas: "head plans" "txt plans" "btn plans";
        align-items: start;
        -moz-column-gap: 44px;
        column-gap: 44px
    }

    .c-unlimited01__header {
        grid-area: head;
        margin-bottom: 28px
    }

    .c-unlimited01__header-sub {
        font-size: 2.4rem
    }

    .c-unlimited01__header-main {
        margin-top: 11px;
        width: 422px
    }

    .c-unlimited01__txt {
        grid-area: txt;
        font-size: 1.8rem;
        margin: 0
    }

    .c-unlimited01-plans {
        grid-area: plans;
        margin-top: 35px
    }

    .c-unlimited01-plans__list {
        position: relative;
        z-index: 1;
        grid-template-columns: repeat(3, 1fr);
        align-items: end
    }

    .c-unlimited01__btn {
        grid-area: btn;
        margin: 55px 0 0
    }
}

.c-unlimited01-notes {
    margin-top: 13px
}

.c-unlimited01-notes__head {
    display: grid;
    grid-template-columns: 16px 1fr;
    -moz-column-gap: 5px;
    column-gap: 5px;
    align-items: center;
    font-weight: 900;
    font-size: 1.5rem;
    line-height: var(--line_height_head)
}

.c-unlimited01-notes__head-ico {
    height: 13px
}

.c-unlimited01-notes__detail {
    margin-top: 6px
}

.c-unlimited01-notes__detail-item {
    text-indent: -1.25em;
    padding-left: 1.25em;
    font-size: 1.2rem;
    line-height: var(--line_height_head)
}

@media all and (min-width: 768px) {
    .c-unlimited01-notes {
        margin-top: 10px
    }

    .c-unlimited01-notes__head {
        grid-template-columns: 19px 1fr;
        font-size: 2rem;
        -moz-column-gap: 9px;
        column-gap: 9px
    }

    .c-unlimited01-notes__head-ico {
        height: 17px
    }

    .c-unlimited01-notes__detail-item {
        text-indent: -1.07em;
        padding-left: 1.07em;
        font-size: 1.3rem
    }
}

.l-breadcrumb-list {
    position: relative;
    z-index: 9;
    display: flex;
    flex-wrap: wrap;
    padding-top: 20px
}

.l-breadcrumb-list__item {
    display: inline-block;
    vertical-align: top;
    font-size: 1.1rem
}

.l-breadcrumb-list__item+.l-breadcrumb-list__item {
    margin-left: 5px
}

.l-breadcrumb-list__item+.l-breadcrumb-list__item:before {
    content: "-";
    margin-right: 5px
}

.l-breadcrumb-list__txt:not([href]) {
    color: rgb(var(--gray500))
}

@media all and (max-width: 767px) {
    .l-breadcrumb-list {
        white-space: nowrap;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        overflow: auto
    }

    .l-breadcrumb-list::-webkit-scrollbar {
        display: none
    }
}

@media all and (min-width: 768px) {
    .l-breadcrumb-list {
        justify-content: flex-end;
        max-width: calc(100% - var(--body_padding_side));
        padding-top: 30px
    }

    .l-breadcrumb-list__item {
        font-size: 1.3rem
    }

    .l-breadcrumb-list__item a {
        transition: all .3s ease
    }

    .l-breadcrumb-list__item a:hover {
        color: rgb(var(--blue700))
    }
}

#beginner .l-breadcrumb,
#strengths .l-breadcrumb {
    color: #fff
}

@media all and (min-width: 768px) {

    #beginner .l-breadcrumb,
    #strengths .l-breadcrumb {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        z-index: 9
    }
}

#message .l-breadcrumb {
    color: #fff
}

@media all and (min-width: 768px) {
    #message .l-breadcrumb {
        position: absolute;
        top: 0;
        right: 40px;
        width: 100%;
        z-index: 9;
        padding-top: 30px
    }
}

#beginner .l-breadcrumb-list__txt:not([href]),
#strengths .l-breadcrumb-list__txt:not([href]),
#message .l-breadcrumb-list__txt:not([href]) {
    color: #fff
}

.l-footer__inner {
    padding-bottom: 100px
}

@media all and (min-width: 768px) {
    .l-footer__inner {
        padding-top: 105px;
        padding-bottom: 116px
    }
}

@media all and (max-width: 767px) {
    .l-footer-nav {
        margin: 0 -20px;
        background: #fff;
        color: rgb(var(--gray900));
        padding: 10px 40px 30px
    }

    .l-footer-nav__item:not(:first-of-type) {
        border-top: 1px solid rgb(var(--gray300))
    }

    .l-footer-nav__item-parent,
    .l-footer-nav__item-link {
        display: grid;
        grid-template-columns: 1fr 12px;
        -moz-column-gap: 10px;
        column-gap: 10px;
        align-items: center;
        padding: 20px 0;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: var(--line_height_head)
    }

    .l-footer-nav__item-parent.js-c-toggle-trigger {
        position: relative
    }

    .l-footer-nav__item-parent.js-c-toggle-trigger::before,
    .l-footer-nav__item-parent.js-c-toggle-trigger::after {
        position: absolute;
        top: 50%;
        right: 0;
        content: "";
        display: block;
        width: 12px;
        height: 2px;
        margin-top: -1px;
        background-color: rgb(var(--gray900));
        transition: all .3s ease
    }

    .l-footer-nav__item-parent.js-c-toggle-trigger::before {
        transform: rotate(-90deg)
    }

    .l-footer-nav__item-parent.js-c-toggle-trigger.is-active::before {
        transform: rotate(0)
    }

    .l-footer-nav-child {
        display: grid;
        row-gap: 1px
    }

    .l-footer-nav-child__item-link {
        display: grid;
        grid-template-columns: 1fr 12px;
        -moz-column-gap: 10px;
        column-gap: 10px;
        align-items: center;
        padding: 21px 15px 21px 20px;
        background: rgb(var(--blue100));
        line-height: var(--line_height_head);
        font-size: 1.5rem;
        font-weight: 700
    }
}

@media all and (min-width: 768px) {
    .l-footer-nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .l-footer-nav__item.is-nav-home {
        flex-basis: 100%;
        margin-bottom: 40px
    }

    .l-footer-nav__item.is-nav-home .l-footer-nav__item-link {
        display: inline-grid;
        grid-template-columns: 34px auto;
        -moz-column-gap: 7px;
        column-gap: 7px;
        align-items: center
    }

    .l-footer-nav__item.is-nav-home .l-footer-nav__item-link::before {
        content: "";
        height: 34px;
        border-radius: 50%;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.18%2016.06%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M7.02%200%200%206.03v10.03h4.8V10.9h4.58v5.15h4.8v-10Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20113540%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/14px 16px #3182c8
    }

    .l-footer-nav__item-link {
        font-weight: 900;
        font-size: 1.8rem;
        line-height: var(--line_height_head)
    }

    .l-footer-nav__item-link:hover[class] {
        text-decoration: underline
    }

    .l-footer-nav__item-parent {
        font-weight: 900;
        font-size: 1.8rem;
        line-height: var(--line_height_head)
    }

    .l-footer-nav__item-parent.js-c-toggle-trigger {
        cursor: auto;
        pointer-events: none
    }

    .l-footer-nav__item:not(.is-nav-home) {
        flex-basis: 48%;
    }

    .l-footer-nav-content {
        display: block !important
    }

    .l-footer-nav-child {
        display: grid;
        row-gap: 7px;
        margin-top: 10px;
        padding-top: 17px;
        border-top: 1px solid rgba(255, 255, 255, .3)
    }

    .l-footer-nav-child__item-link {
        display: grid;
        grid-template: "ico ." /5px 1fr;
        align-items: start;
        -moz-column-gap: 9px;
        column-gap: 9px;
        font-size: 1.3rem;
        line-height: var(--line_height_head)
    }

    .l-footer-nav-child__item-link:hover[class] {
        text-decoration: underline
    }

    .l-footer-nav-child__item-link::after {
        grid-area: ico;
        content: "";
        -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227%22%20height%3D%2212%22%20viewBox%3D%220%200%207%2012%22%3E%3Cpath%20d%3D%22M961.5%2C7030.75a1%2C1%2C0%2C0%2C1-.676-1.737l4.248-3.894c-1.467-1.542-4.043-4.272-4.4-4.815a1%2C1%2C0%2C0%2C1%2C1.663-1.111c.269.386%2C2.7%2C2.988%2C4.892%2C5.282a1%2C1%2C0%2C0%2C1-.047%2C1.429l-5%2C4.583A1%2C1%2C0%2C0%2C1%2C961.5%2C7030.75Z%22%20transform%3D%22translate(-960.5%20-7018.75)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
        mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227%22%20height%3D%2212%22%20viewBox%3D%220%200%207%2012%22%3E%3Cpath%20d%3D%22M961.5%2C7030.75a1%2C1%2C0%2C0%2C1-.676-1.737l4.248-3.894c-1.467-1.542-4.043-4.272-4.4-4.815a1%2C1%2C0%2C0%2C1%2C1.663-1.111c.269.386%2C2.7%2C2.988%2C4.892%2C5.282a1%2C1%2C0%2C0%2C1-.047%2C1.429l-5%2C4.583A1%2C1%2C0%2C0%2C1%2C961.5%2C7030.75Z%22%20transform%3D%22translate(-960.5%20-7018.75)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
        background-color: #fff;
        padding-top: 10px;
        width: 5px;
        height: 9px;
        -webkit-animation: none !important;
        animation: none !important
    }
}

.l-footer-group {
    margin-top: 30px;
    padding: 30px;
    background-color: rgba(255, 255, 255, .1)
}

.l-footer-group__company {
    font-size: 1.6rem
}

.l-footer-group__info {
    margin-top: 12px;
    font-size: 1.3rem
}

.l-footer-group__bnrs {
    display: grid;
    row-gap: 5px
}

@media all and (min-width: 768px) {
    .l-footer-group {
        margin-top: 55px;
        padding: 25px
    }

    .l-footer-group__company {
        font-size: 1.8rem
    }

    .l-footer-group__info {
        margin-top: 0;
        font-size: 1.4rem
    }

    .l-footer-group__bnrs {
        grid-template-columns: repeat(6, 1fr);
        -moz-column-gap: 10px;
        column-gap: 10px;
        margin: 0
    }
}

.l-footer-info {
    margin-top: 20px
}

.l-footer-info__txt {
    font-size: 1.2rem;
    line-height: var(--line_height_head)
}

.l-footer-info__list {
    display: grid;
    row-gap: 13px;
    margin-bottom: 20px
}

.l-footer-info__item-detail {
    font-size: 1.2rem
}

.l-footer-info__cr {
    color: rgba(255, 255, 255, .7);
    font-size: 1.1rem
}

@media all and (max-width: 767px) {
    .l-footer-info__cr {
        margin-top: 30px;
        text-align: center
    }

    .l-footer-info__wrap {
        display: flex;
        flex-direction: column-reverse
    }
}

@media all and (min-width: 768px) {
    .l-footer-info__wrap {
        display: grid;
        grid-template: "txt list" "cr list" /1fr 495px;
        -moz-column-gap: 3vw;
        column-gap: 3vw;
        margin-top: 50px
    }

    .l-footer-info__txt {
        grid-area: txt;
        font-size: 1.4rem;
        max-width: 710px
    }

    .l-footer-info__list {
        grid-area: list;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 30px;
        margin-bottom: 0
    }

    .l-footer-info__item:first-child {
        grid-area: 1/1/2/3
    }

    .l-footer-info__item:nth-child(2) {
        grid-area: 2/1/3/2
    }

    .l-footer-info__item:nth-child(3) {
        grid-area: 2/2/3/3
    }

    .l-footer-info__item:last-child {
        grid-area: 3/1/4/3
    }

    .l-footer-info__item-label {
        font-size: 1.4rem
    }

    .l-footer-info__item-detail {
        font-size: 1.4rem
    }

    .l-footer-info__cr {
        display: grid;
        grid-area: cr;
        align-items: end
    }
}

@media all and (max-width: 767px) {
    .l-footer-fix-cv {
        display: none;
        position: fixed;
        z-index: 9999;
        left: 0;
        bottom: 0;
        right: 0;
        -moz-column-gap: 5px;
        column-gap: 5px;
        padding: 0 5px;
        box-shadow: 0 -3px 6px rgba(0, 0, 0, .1)
    }

    .l-footer-fix-cv.is-shown {
        display: flex;
    }

    .l-footer-fix-cv__tel {
        margin-top: 2px
    }

    .l-footer-fix-cv__tel .c-btn-tel02__link {
        height: 63px;
        padding-bottom: 10px
    }

    .l-footer-fix-cv__btn {
        width: 50%;
        padding: 10px 8px;
    }

    .l-footer-fix-cv-page-top {
        position: absolute;
        right: 0;
        bottom: 100%
    }

    .l-footer-fix-cv-page-top__link {
        position: relative;
        display: block;
        width: 40px;
        height: 35px;
        border-top-left-radius: 4px;
        background: rgba(0, 0, 0, .48);
        overflow: hidden;
        text-indent: 500%;
        white-space: nowrap
    }

    .l-footer-fix-cv-page-top__link::after {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 8px;
        transform: translate(-50%, -50%) rotate(-90deg)
    }
}

@media all and (min-width: 768px) {
    .l-footer-fix-cv {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        z-index: 9;
        right: 0;
        bottom: 0;
        margin-bottom: 120px;
        pointer-events: none;
        box-sizing: border-box;
        transition: all .3s ease
    }

    .l-footer-fix-cv.is-shown {
        opacity: 1;
        visibility: visible;
        pointer-events: auto
    }

    .l-footer-fix-cv__close {
        position: absolute;
        top: -12px;
        left: -12px;
        overflow: hidden;
        text-indent: 500%;
        white-space: nowrap;
        width: 38px;
        height: 38px;
        border-radius: 9999px;
        border: 0;
        pointer-events: auto;
        background: #fff;
        transition: background-color .3s ease
    }

    .l-footer-fix-cv__close::before,
    .l-footer-fix-cv__close::after {
        display: block;
        position: absolute;
        content: "";
        top: 50%;
        left: 10px;
        width: 17px;
        height: 2px;
        background: rgb(var(--blue700))
    }

    .l-footer-fix-cv__close::before {
        transform: translateY(-50%) rotate(45deg)
    }

    .l-footer-fix-cv__close::after {
        transform: translateY(-50%) rotate(-45deg)
    }

    .l-footer-fix-cv-main {
        width: 263px;
        height: 326px;
        padding: 30px 15px 0 20px;
        border-radius: 10px 0 0 10px;
        box-sizing: border-box;
        box-shadow: 0 3px 20px rgba(0, 0, 0, .2)
    }

    .l-footer-fix-cv-main.is-hide {
        display: none
    }

    .l-footer-fix-cv__txt {
        width: 144px;
        margin-left: 14px
    }

    .l-footer-fix-cv-tel {
        position: relative;
        z-index: 1;
        display: grid;
        place-content: center;
        background: #fff;
        height: 70px;
        border-radius: 4px;
        margin-top: 15px
    }

    .l-footer-fix-cv-tel__num {
        display: inline-grid;
        grid-template-columns: 29px auto;
        place-content: center;
        align-items: end;
        font-size: 2.8rem
    }

    .l-footer-fix-cv-tel__open {
        text-align: center;
        font-size: 1.1rem;
        font-weight: 700;
        line-height: var(--line_height_head)
    }

    .l-footer-fix-cv-tel__open-holiday {
        margin-right: 3px
    }

    .l-footer-fix-cv-btn {
        margin-top: 6px
    }

    .l-footer-fix-cv-btn__link {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 14px;
        place-content: center;
        align-items: center;
        border-radius: 9999px;
        text-align: center;
        height: 60px;
        color: #fff;
        font-weight: 900;
        font-size: 1.8rem;
        padding: 0 19px 0 33px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
        transition: background-color .3s ease
    }

    .l-footer-fix-cv-btn__link::before {
        position: absolute;
        content: "";
        display: block;
        top: 3px;
        left: 5px;
        width: 38px;
        height: 35px;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20x%3D%220%22%20y%3D%220%22%20style%3D%22enable-background%3Anew%200%200%2040%2035%22%20version%3D%221.1%22%20viewBox%3D%220%200%2040%2035%22%3E%3Cstyle%3E.st0%7Bfill%3A%23fff%7D%3C%2Fstyle%3E%3Cpath%20id%3D%22%E7%B7%9A_1489%22%20d%3D%22M39%202h-1c-.6%200-1-.4-1-1s.4-1%201-1h1c.6%200%201%20.4%201%201s-.4%201-1%201z%22%20class%3D%22st0%22%2F%3E%3Cpath%20d%3D%22M2%2028C2%2013.7%2013.7%202%2028%202h7V0h-7C12.6%200%200%2012.6%200%2028c0%202.4.3%204.8.9%207H3c-.7-2.2-1-4.6-1-7z%22%20class%3D%22st0%22%2F%3E%3C%2Fsvg%3E") no-repeat 0 0/cover
    }

    .l-footer-fix-cv-btn__link-arrow::after {
        display: block;
        width: 100%
    }

    .l-footer-fix-cv-btn__link:hover .l-footer-fix-cv-btn__link-arrow {
        overflow: hidden
    }

    .l-footer-fix-cv-btn__link:hover .l-footer-fix-cv-btn__link-arrow::after {
        -webkit-animation: rightOutLeftIn .6s var(--easeInOutQuart);
        animation: rightOutLeftIn .6s var(--easeInOutQuart)
    }

    .l-footer-fix-cv-btn__link-line {
        background-color: rgb(var(--green600))
    }

    .l-footer-fix-cv-btn__link-line:hover {
        background-color: rgb(var(--green300))
    }

    .l-footer-fix-cv-btn__link-mail {
        background-color: rgb(var(--red700))
    }

    .l-footer-fix-cv-btn__link-mail:hover {
        background-color: rgb(var(--red300))
    }

    .l-footer-fix-cv-sub-btn__link {
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 64px;
        height: 230px;
        padding-left: 7px;
        writing-mode: vertical-rl;
        font-weight: 700;
        font-size: 1.8rem;
        color: #fff;
        box-sizing: border-box;
        border-radius: 40px 0 0 40px;
        transition: background-color .3s ease;
        box-shadow: 0 3px 20px rgba(0, 0, 0, .2)
    }

    .l-footer-fix-cv-sub-btn__link:hover {
        background-color: rgb(var(--blue700))
    }

    .l-footer-fix-cv-sub-btn__link-ico {
        width: 19px;
        margin-bottom: 6px
    }

    .l-footer-fix-cv__chara {
        display: block;
        position: absolute;
        top: -19px;
        right: 0;
        width: 82px;
        height: 128px;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: 0 0;
        object-position: 0 0
    }
}

@media all and (max-width: 767px) {
    .l-footer-page-top {
        display: none !important
    }
}

@media all and (min-width: 768px) {
    .l-footer-page-top {
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 10;
        width: 65px;
        height: 65px;
        border-radius: 100%;
        margin: 0 20px 30px 0;
        transition: all .3s ease;
        mix-blend-mode: multiply
    }

    .l-footer-page-top__link {
        display: block;
        overflow: hidden;
        text-indent: 500%;
        white-space: nowrap;
        width: 65px;
        height: 65px;
        border-radius: 9999px;
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.02%207.99%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6.51%200%206.51%207.99H0%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%20868%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/13px 8px rgb(var(--blue500), 0.3)
    }

    .l-footer-page-top.is-shown {
        opacity: 1;
        visibility: visible
    }
}

.l-header {
    position: relative;
    width: 100%;
    min-width: 320px;
    max-width: 100vw;
    z-index: 1001;
    background: #fff;
    transition: transform .3s ease
}

@media all and (max-width: 767px) {
    .l-header {
        margin-bottom: -10px
    }

    .l-header.is-fixed .l-header-info__txt,
    .l-header.is-fixed .l-nav-sp-sub {
        display: none
    }

    .l-header.is-fixed .l-nav__content {
        top: 0
    }

    .l-header.is-fixed .c-nav01 {
        border-top: 1px solid rgb(var(--border))
    }

    .l-header.is-fixed.is-open .l-nav__logo {
        display: block
    }

    .l-header.is-fixed .l-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        margin: 0
    }

    .l-header.is-fixed .l-nav-btn {
        position: fixed;
        z-index: 9999;
        top: 0;
        right: 0
    }
}

@media all and (min-width: 768px) {
    .l-header {
        position: fixed;
        top: 0;
        left: 0;
        max-width: 100%
    }

    .l-header.is-hide {
        transform: translateY(-100%)
    }
}

.l-header-info {
    position: relative;
    z-index: 99
}

.l-header-info__txt {
    display: grid;
    align-items: center;
    height: 20px;
    padding: 0 6px;
    color: rgb(var(--gray500));
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: var(--letter_spacing_head);
    background-color: rgb(var(--gray100))
}

.l-header-info__set {
    display: grid;
    grid-template: 56px auto/152px auto 1fr 60px 62px;
    grid-template-areas: "logo media . area ." "nav nav nav nav nav";
    align-items: center
}

.l-header-info__logo {
    grid-area: logo;
    margin-left: 8px
}

.l-header-info__logo-link {
    display: block
}

.l-header-info__media {
    grid-area: media;
    display: grid;
    place-content: center;
    align-items: center;
    padding: 0 10px;
    height: 32px;
    margin-left: 5px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .03em;
    text-align: center;
    background: no-repeat 50% 50%/cover;
    transform-origin: left center;
    transform: scale(0.8)
}

.no-webp .l-header-info__media,
.no-js .l-header-info__media {
    background-image: none
}

.webp .l-header-info__media {
    background-image: none
}

.l-header-info__area {
    grid-area: area
}

.l-header-info__area-link {
    display: grid;
    place-content: center;
    height: 45px;
    border-radius: 5px;
    border: 2px solid rgb(var(--blue700));
    background: rgb(var(--gray100));
    box-sizing: border-box;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.05em
}

.l-header-info__area-link::before {
    content: "";
    width: 11px;
    height: 15px;
    margin: 0 auto 2px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011.03%2015.47%22%3E%3Cpath%20fill%3D%22%232d71c2%22%20d%3D%22M5.51%200A5.51%205.51%200%200%200%200%205.5c0%203.34%205.51%209.96%205.51%209.96s5.52-6.62%205.52-9.96A5.51%205.51%200%200%200%205.52%200m0%208.1A2.58%202.58%200%201%201%208.1%205.5%202.58%202.58%200%200%201%205.52%208.1%22%20data-name%3D%22%E3%83%91%E3%82%B9%20105586%22%2F%3E%3C%2Fsvg%3E")
}

@media all and (min-width: 768px) {
    .l-header-info__txt {
        position: absolute;
        top: 10px;
        left: 30px;
        background-color: transparent;
        font-size: 1.2rem;
        padding: 0
    }

    .l-header-info__media {
        height: 48px;
        margin: 0px;
        padding: 0;
        font-size: 1.2rem;
        transform: scale(1)
    }

    .l-header-info__area {
        display: none
    }

    .l-header-info__set {
        grid-template: 1fr/clamp(200px, 14vw, 270px) auto 1fr auto 110px 110px;
        grid-template-areas: "logo media nav tel estimate btn"
    }

    .l-header-info__logo {
        margin: 0;
        width: 81%;
        margin-left: 20px;
    }
}

@media all and (min-width: 1700px) {
    .l-header-info__media {
        height: 53px;
        font-size: 1.4rem
    }
}

@media(max-width: 959.9px) {
    .l-nav-tel-pc {
        display: none
    }
}

@media(min-width: 960px) {
    .l-nav-tel-pc {
        grid-area: tel;
        margin-right: 1.4vw;
        margin-left: .8vw
    }

    .l-nav-tel-pc__num {
        display: grid;
        grid-template-columns: 35px auto;
        -moz-column-gap: 3px;
        column-gap: 3px;
        align-items: end;
        font-size: clamp(2.8rem, 1.82vw, 3.5rem)
    }

    .l-nav-tel-pc__open {
        font-size: 1.3rem;
        text-align: center;
        text-indent: 18px
    }
}

@media all and (max-width: 767px) {
    .l-nav-estimate-btn {
        display: none
    }
}

@media all and (min-width: 768px) {
    .l-nav-estimate-btn {
        grid-area: estimate
    }

    .l-nav-estimate-btn__link {
        display: grid;
        place-content: center;
        width: 110px;
        height: 110px;
        font-size: 1.7rem;
        font-weight: 900;
        line-height: var(--line_height_head);
        color: #fff;
        transition: background-color .3s ease
    }

    .l-nav-estimate-btn__link-sub {
        margin: auto;
        padding: 3px 10px;
        font-weight: 900;
        font-size: 1.4rem;
        border-radius: 9999px
    }
}

.l-nav-btn {
    position: absolute;
    z-index: 1001;
    top: 0;
    right: 0;
    display: block;
    width: 55px;
    height: 56px;
    background: rgb(var(--blue700));
    border: 0;
    cursor: pointer;
    text-align: center;
    overflow: hidden
}

.l-nav-btn__line {
    display: block;
    position: absolute;
    left: 17px;
    width: 22px;
    height: 2px;
    content: "";
    background: #fff;
    transition: all .3s ease
}

.l-nav-btn__line:nth-child(1) {
    top: 15px
}

.l-nav-btn__line:nth-child(2) {
    top: 21px
}

.l-nav-btn__line:nth-child(3) {
    top: 27px
}

.l-nav-btn[aria-expanded=true] {
    top: 0;
    background: #1158ab
}

.l-nav-btn[aria-expanded=true] .l-nav-btn__line {
    width: 15px;
    left: 20px;
    border-width: 3px
}

.l-nav-btn[aria-expanded=true] .l-nav-btn__line:nth-child(1) {
    top: 27px;
    transform: rotate(-45deg)
}

.l-nav-btn[aria-expanded=true] .l-nav-btn__line:nth-child(2) {
    opacity: 0
}

.l-nav-btn[aria-expanded=true] .l-nav-btn__line:nth-child(3) {
    top: 27px;
    transform: rotate(45deg)
}

.l-nav-btn[aria-expanded=true] .l-nav-btn__txt {
    opacity: 0
}

.l-nav-btn__txt {
    display: block;
    position: absolute;
    left: 0;
    bottom: 10px;
    width: 100%;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    transform: scale(0.8);
    transition: opacity .3s ease
}

@media all and (max-width: 767px) {
    .l-nav-btn-pc {
        display: none
    }
}

@media all and (min-width: 768px) {
    .l-nav-btn {
        grid-area: btn;
        position: relative;
        top: 0;
        right: 0;
        width: 110px;
        height: 110px;
        transition: background-color .3s ease
    }

    .l-nav-btn-sp {
        display: none
    }

    .l-nav-btn__line {
        left: 38px;
        width: 35px
    }

    .l-nav-btn__line:nth-child(1) {
        top: 35px
    }

    .l-nav-btn__line:nth-child(2) {
        top: 43px
    }

    .l-nav-btn__line:nth-child(3) {
        top: 51px
    }

    .l-nav-btn__txt {
        bottom: 34px;
        font-size: 1.2rem;
        transform: scale(1)
    }

    .l-nav-btn[aria-expanded=true] .l-nav-btn__line {
        width: 20px;
        left: 45px;
        border-width: 4px
    }

    .l-nav-btn[aria-expanded=true] .l-nav-btn__line:nth-child(1) {
        top: 51px;
        transform: rotate(-45deg)
    }

    .l-nav-btn[aria-expanded=true] .l-nav-btn__line:nth-child(3) {
        top: 51px;
        transform: rotate(45deg)
    }

    .l-nav-btn:hover {
        background-color: #4e9fff
    }

    .l-nav-btn[aria-expanded=true],
    .l-nav-btn[aria-expanded=true]:hover {
        background-color: #1158ab
    }
}

.l-nav {
    grid-area: nav
}

@media all and (min-width: 768px) {

    .l-nav__logo,
    .l-nav__cv {
        display: none
    }

    .l-nav-list {
        display: flex
    }

    .l-nav__item:first-of-type {
        z-index: 999
    }

    .l-nav__item:hover .l-nav-child {
        opacity: 1;
        visibility: visible;
        transition: all .3s ease
    }
}

.l-nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
    opacity: 0;
    visibility: hidden;
    background: rgba(36, 87, 125, .5);
    transition: all .3s ease
}

.l-nav-overlay.is-active {
    opacity: 1;
    visibility: visible
}

.l-ie-attention {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999;
    font-weight: 700;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    box-sizing: border-box
}

.l-ie-attention__txt {
    font-size: 3rem;
    margin-bottom: 18px
}

.l-ie-attention__note {
    color: #989898
}

.l-ie-attention__note .l-ie-attention__note-link {
    display: inline-block
}

.l-ie-attention__note-link {
    font-size: 1.8rem;
    border-bottom: 1px solid;
    position: relative;
    margin-right: 25px;
    display: inline-block
}

.l-ie-attention__note-link::after {
    content: "";
    position: absolute;
    right: -18px;
    top: 13px;
    width: 11px;
    height: 11px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%20%3Cg%20id%3D%22link%22%20transform%3D%22translate(0.5%200.5)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_23829%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2023829%22%20width%3D%228%22%20height%3D%228%22%20transform%3D%22translate(3)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_4323%22%20data-name%3D%22%E3%83%91%E3%82%B9%204323%22%20d%3D%22M688%2C718.025h-6v-6%22%20transform%3D%22translate(-682%20-707.025)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/100%
}

.l-main-img-discount {
    display: flex;
    overflow: hidden;
    white-space: nowrap;
    padding: 12px 0 2px
}

.l-main-img-discount__txt {
    display: grid;
    grid-template-columns: 18px auto;
    -moz-column-gap: 9px;
    column-gap: 9px;
    align-items: end;
    padding-right: 1.2em;
    color: rgb(var(--red700));
    font-size: 1.6rem;
    line-height: var(--line_height_head);
    -webkit-animation: discountLoop 8s linear infinite;
    animation: discountLoop 8s linear infinite
}

@media all and (min-width: 768px) {
    .l-main-img-discount {
        padding: 10px 0
    }

    .l-main-img-discount__txt {
        grid-template-columns: 25px auto;
        -moz-column-gap: 18px;
        column-gap: 18px;
        font-size: 2.1rem
    }
}

@-webkit-keyframes discountLoop {
    0% {
        transform: translateX(0)
    }

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

@keyframes discountLoop {
    0% {
        transform: translateX(0)
    }

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

@-webkit-keyframes navBgOpenAnim {
    0% {
        transform: translateY(-50%) scale(0, 1);
        border-radius: 0%
    }

    40% {
        transform: translateY(-50%) scale(1.01, 1)
    }

    45% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 45%
    }

    100% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 50%
    }
}

@keyframes navBgOpenAnim {
    0% {
        transform: translateY(-50%) scale(0, 1);
        border-radius: 0%
    }

    40% {
        transform: translateY(-50%) scale(1.01, 1)
    }

    45% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 45%
    }

    100% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 50%
    }
}

@-webkit-keyframes navBgCloseAnim {
    0% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 50%
    }

    25% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 45%
    }

    35% {
        transform: translateY(-50%) scale(1.01, 1)
    }

    85% {
        transform: translateY(-50%) scale(0, 1);
        border-radius: 0%
    }

    100% {
        transform: translateY(-50%) scale(0, 1);
        border-radius: 0%
    }
}

@keyframes navBgCloseAnim {
    0% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 50%
    }

    25% {
        transform: translateY(-50%) scale(1, 1);
        border-radius: 45%
    }

    35% {
        transform: translateY(-50%) scale(1.01, 1)
    }

    85% {
        transform: translateY(-50%) scale(0, 1);
        border-radius: 0%
    }

    100% {
        transform: translateY(-50%) scale(0, 1);
        border-radius: 0%
    }
}

@media all and (max-width: 767px) {
    .l-nav-pc-main {
        display: none
    }
}

@media all and (min-width: 768px) {
    .l-nav-pc-main {
        position: absolute;
        z-index: 1;
        display: grid;
        place-content: center;
        top: 0;
        right: 0;
        height: 100vh;
        padding: 0 8% 0 12%
    }

    html.is-load .l-nav-pc-main[aria-hidden=false]::before {
        -webkit-animation: navBgOpenAnim .8s var(--easeOutQuart) forwards;
        animation: navBgOpenAnim .8s var(--easeOutQuart) forwards;
        transition: all .3s ease
    }

    html.is-load .l-nav-pc-main[aria-hidden=true] {
        transition-delay: .2s !important
    }

    html.is-load .l-nav-pc-main[aria-hidden=true]::before {
        -webkit-animation: navBgCloseAnim .65s var(--easeInOutQuart) forwards;
        animation: navBgCloseAnim .65s var(--easeInOutQuart) forwards
    }

    .l-nav-pc-main::before {
        position: absolute;
        content: "";
        z-index: -1;
        display: block;
        top: 50%;
        left: 0;
        width: 1850px;
        height: 1850px;
        background: rgb(var(--blue700));
        border-radius: 0;
        transform-origin: right center
    }

    .l-nav-pc-main__list {
        display: grid;
        grid-template: auto auto auto 1fr/repeat(4, auto);
        grid-template-areas: "home service beginner about" "purchase service beginner about" "price service beginner about" "price service voice about";
        gap: 3.77vh 5.72vw;
        align-items: start;
        padding-bottom: 6.6vh;
        border-bottom: 1px solid rgba(255, 255, 255, .2)
    }

    .l-nav-pc-main__item-home {
        grid-area: home
    }

    .l-nav-pc-main__item-purchase {
        grid-area: purchase
    }

    .l-nav-pc-main__item-price {
        grid-area: price
    }

    .l-nav-pc-main__item-service {
        grid-area: service
    }

    .l-nav-pc-main__item-beginner {
        grid-area: beginner
    }

    .l-nav-pc-main__item-voice {
        grid-area: voice
    }

    .l-nav-pc-main__item-about {
        grid-area: about
    }

    .l-nav-pc-main__parent-txt,
    .l-nav-pc-main__parent-link {
        color: #fff;
        font-weight: 900;
        font-size: clamp(2rem, 1.4vw, 2.7rem);
        line-height: var(--line_height_head)
    }

    .l-nav-pc-main-child {
        display: grid;
        row-gap: 15px;
        margin-top: 10px
    }

    .l-nav-pc-main-child__item-link {
        display: block;
        color: rgba(255, 255, 255, .6);
        font-size: 1.4rem;
        line-height: var(--line_height_head);
        transition: color .3s ease;
        overflow-wrap: break-word;
        word-break: keep-all
    }

    .l-nav-pc-main-child__item-link:hover[class] {
        color: #fff;
        text-decoration: underline
    }

    .l-nav-pc-main-tel {
        display: grid;
        grid-template-columns: 126px auto;
        grid-template-rows: 1fr auto auto;
        justify-content: center;
        align-items: end;
        gap: 5% 10px
    }

    .l-nav-pc-main-tel__txt {
        width: 290px;
        margin: auto auto 0;
        border-radius: 9999px;
        background: #fff;
        color: rgb(var(--blue700));
        font-size: 1.8rem;
        font-weight: 900;
        text-align: center
    }

    .l-nav-pc-main-tel__num {
        display: grid;
        grid-template-columns: clamp(40px, 3.3vw, 88px) auto;
        -moz-column-gap: 4px;
        column-gap: 4px;
        align-items: end;
        margin: auto auto 0;
        font-size: clamp(5.5rem, 4.16vw, 8rem);
        color: #fff
    }

    .l-nav-pc-main-tel__open {
        margin: auto auto 2%;
        text-align: center;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: var(--line_height_head)
    }

    .l-nav-pc-main-tel__chara {
        grid-row: 1/4
    }
}

@media(max-height: 800px) {
    .l-nav-pc-main__list {
        border-bottom: 0;
        padding-bottom: 0
    }

    .l-nav-pc-main-tel {
        display: none
    }
}

@media all and (min-width: 768px)and (max-device-width: 1024px)and (orientation: portrait) {
    .l-nav-pc-main {
        height: 150vh
    }
}

@media all and (max-width: 1359px) {
    .l-nav-pc-sub {
        display: none
    }
}

@media all and (min-width: 1360px) {
    .l-nav-pc-sub {
        display: flex;
        justify-content: flex-end;
        height: 100%;
    }

    .l-nav-pc-sub__link .l-nav-pc-sub__btn-txt {
        grid-template-columns: 1fr;
    }

    .l-nav-pc-sub__btn {
        display: grid;
        place-content: center;
        align-items: center;
        row-gap: 3px;
        font-weight: 700;
        height: 100%;
        border: 0;
        padding: 7px 14px 0;
        font-size: 1.6rem;
        line-height: 1.5;
        box-sizing: border-box;
        letter-spacing: var(--letter_spacing_head);
        transition: color .3s ease
    }

    .l-nav-pc-sub__btn::after {
        content: "";
        opacity: 0;
        border-bottom: 3px solid rgb(var(--blue700));
        transition: opacity .3s ease
    }

    .l-nav-pc-sub__btn-txt {
        display: grid;
        grid-template-columns: auto 6px;
        align-items: center;
        -moz-column-gap: 8px;
        column-gap: 8px
    }

    .l-nav-pc-sub__btn-txt::after {
        position: relative;
        top: 2px;
        transform: rotate(90deg)
    }

    .l-nav-pc-sub__btn:hover,
    .l-nav-pc-sub__btn[aria-expanded=true] {
        color: rgb(var(--blue700))
    }

    .l-nav-pc-sub__btn:hover::after,
    .l-nav-pc-sub__btn[aria-expanded=true]::after {
        opacity: 1
    }

    .l-nav-pc-sub__btn[aria-expanded=true] .l-nav-pc-sub__btn-txt::after {
        transform: rotate(-90deg)
    }

    .l-nav-pc-sub__content {
        position: absolute;
        z-index: 1002;
        left: 3.6vw;
        right: 3.6vw;
        display: grid;
        grid-template-columns: 15% 1fr;
        align-items: stretch;
        /* この行を変更 */
        align-items: start;
        padding: 5.2vw 6.3vw;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
        transform: translateY(-10px)
    }

    .l-nav-pc-sub__parent-link,
    .l-nav-pc-sub__parent-txt {
        color: #fff;
        font-weight: 900;
        font-size: clamp(2rem, 1.4vw, 3.4rem);
        line-height: var(--line_height_head);
        letter-spacing: var(--letter_spacing_head)
    }

    .l-nav-pc-sub__parent-link {
        display: inline-grid;
        grid-template-columns: 1fr 1.3vw;
        -moz-column-gap: .7vw;
        column-gap: .7vw;
        align-items: center
    }

    .l-nav-pc-sub-service {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 3vh .83vw
    }

    .l-nav-pc-sub-service__item-link {
        display: grid;
        row-gap: 15px;
        color: #fff;
        font-weight: 700;
        line-height: var(--line_height_head)
    }

    .l-nav-pc-sub-child {
        display: grid;
        align-items: stretch;
        /* この行を追加 */
        grid-template-columns: repeat(3, 1fr);
        -moz-column-gap: 2.6vw;
        column-gap: 2.6vw;
        margin-top: -20px
    }

    .l-nav-pc-sub-child.is-flow-column {
        grid-template-rows: repeat(3, 1fr);
        grid-auto-flow: column
    }

    .l-nav-pc-sub-child__item-link {
        display: grid;
        grid-template-columns: 1fr 12px;
        align-items: center;
        -moz-column-gap: 5px;
        column-gap: 5px;
        padding: 20px 0;
        color: #fff;
        font-weight: 700;
        border-bottom: 1px solid rgba(255, 255, 255, .3);
        justify-content: center;
        /* この行を追加 */
    }

    .l-nav-pc-sub-close {
        position: absolute;
        top: 15px;
        right: 18px;
        width: 40px;
        height: 40px;
        border-radius: 9999px;
        cursor: pointer;
        border: 1px solid #fff;
        opacity: .4
    }

    .l-nav-pc-sub-close::before,
    .l-nav-pc-sub-close::after {
        position: absolute;
        content: "";
        display: block;
        top: 50%;
        left: 50%;
        width: 12px;
        height: 3px;
        background: #fff
    }

    .l-nav-pc-sub-close::before {
        transform: translate(-50%, -50%) rotate(45deg)
    }

    .l-nav-pc-sub-close::after {
        transform: translate(-50%, -50%) rotate(-45deg)
    }

    .l-nav-pc-sub-close__txt {
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 1px;
        -webkit-clip-path: inset(100%);
        clip-path: inset(100%);
        overflow: hidden
    }
}

@media all and (min-width: 1700px) {
    .l-nav-pc-sub__btn {
        font-size: 1.8rem
    }
}

@media all and (min-width: 768px) {
    .l-nav-sp-main {
        display: none
    }
}

@media all and (max-width: 767px) {
    .l-nav-sp-main {
        position: fixed;
        left: 0;
        z-index: 2;
        width: 100%;
        max-height: 100vh;
        padding: 15px 15px 18vh;
        min-width: 320px;
        box-sizing: border-box;
        -webkit-overflow-scrolling: touch;
        opacity: 0;
        visibility: hidden;
        overflow: auto
    }

    .l-nav-sp-main::-webkit-scrollbar {
        display: none
    }

    .l-nav-sp-main.is-open {
        transition: all .3s ease;
        opacity: 1;
        visibility: visible
    }

    .l-nav-sp-main__inner {
        padding: 47px 25px 50px;
        margin-bottom: 50px;
    }

    .l-nav-sp-main__logo {
        width: 80%;
        margin: 0 auto;
    }

    .l-nav-sp-main__logo-link {
        display: block
    }

    .l-nav-sp-main__list {
        margin-top: 24px;
        border-top: 1px solid rgb(var(--gray300))
    }

    .l-nav-sp-main__item-parent,
    .l-nav-sp-main__item-btn {
        position: relative;
        display: block;
        border: 0;
        text-align: left;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: var(--line_height_head);
        letter-spacing: var(--letter_spacing_head)
    }

    .l-nav-sp-main__item-parent-link,
    .l-nav-sp-main__item-btn {
        display: block;
        padding: 13px 0
    }

    .l-nav-sp-main__item-btn[aria-expanded] {
        padding-right: 40px;
        cursor: pointer;
        overflow: hidden;
        transition: all .3s ease
    }

    .l-nav-sp-main__item-btn[aria-expanded]::before,
    .l-nav-sp-main__item-btn[aria-expanded]::after {
        position: absolute;
        top: 50%;
        right: 0;
        content: "";
        display: block;
        width: 12px;
        height: 2px;
        margin-top: -1px;
        background-color: rgb(var(--gray900));
        transition: all .3s ease
    }

    .l-nav-sp-main__item-btn[aria-expanded]::before {
        transform: rotate(-90deg)
    }

    .l-nav-sp-main__item-btn[aria-expanded=true]::before {
        transform: rotate(0)
    }

    .l-nav-sp-main-child {
        position: relative;
        z-index: 1;
        padding: 5px 0 10px
    }

    .l-nav-sp-main-child__item-link {
        display: block;
        padding: 5px 10px;
        font-size: 1.5rem;
        color: rgb(var(--gray500));
        overflow-wrap: break-word;
        word-break: keep-all
    }

    .l-nav-sp-main__chara {
        display: block;
        width: 198px;
        margin: -190px -15px -80px auto;
        pointer-events: none
    }

    .l-nav-sp-main__cv {
        display: grid;
        row-gap: 10px
    }

    .l-nav-sp-main__cv .c-btn-tel01__link {
        background: #fff
    }

    .l-nav-sp-main__estimate {
        margin: 30px 0 25px
    }

    .l-nav-sp-main__estimate-link {
        display: block
    }

    .l-nav-sp-main__calendar {
        margin-top: 15px
    }

    .l-nav-sp-main .c-calendar01 .label {
        font-size: 1.2rem
    }

    .l-nav-sp-main-close {
        display: grid;
        place-content: center;
        align-items: center;
        border: 0;
        height: 45px
    }

    .l-nav-sp-main-close__txt {
        position: relative;
        padding-left: 22px;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700
    }

    .l-nav-sp-main-close__txt::before,
    .l-nav-sp-main-close__txt::after {
        position: absolute;
        content: "";
        top: 50%;
        left: 0;
        transform: translateY(-50%) rotate(45deg);
        width: 17px;
        height: 3px;
        margin-top: 2px;
        background: #fff
    }

    .l-nav-sp-main-close__txt::after {
        transform: translateY(-50%) rotate(-45deg)
    }
}

@media all and (min-width: 768px) {
    .l-nav-sp-sub {
        display: none
    }
}

body.no-scroll .l-nav-sp-sub {
    background: rgb(var(--blue700))
}

@media all and (max-width: 767px) {
    .l-nav-sp-sub {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        border-top: 1px solid #f0f0f0;
        transition: background-color .3s ease
    }

    .l-nav-sp-sub__item:not(:first-of-type) {
        border-left: 1px solid #f0f0f0
    }

    .l-nav-sp-sub__item:first-of-type {
        border-bottom-left-radius: 10px
    }

    .l-nav-sp-sub__item:last-of-type {
        border-bottom-right-radius: 10px
    }

    .l-nav-sp-sub__btn {
        display: grid;
        place-content: center;
        height: 50px;
        padding: 0;
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1;
        border: 0;
        letter-spacing: 0;
        border-radius: inherit;
        background: #fff
    }

    .l-nav-sp-sub__btn-ico {
        width: 17px;
        margin: 0 auto 2px
    }

    .l-nav-sp-sub__btn[aria-expanded=true] {
        background: rgb(var(--blue300));
        color: rgb(var(--blue700))
    }

    .l-nav-sp-sub-child {
        position: absolute;
        top: 127px;
        height: calc(100vh - 127px);
        z-index: 0;
        left: 0;
        width: 100%;
        padding-bottom: 15vh;
        box-sizing: border-box;
        overflow-x: hidden;
        overflow-y: auto;
        transition: all .3s ease
    }

    .l-nav-sp-sub-child__list {
        margin: 20px 15px 0;
        padding: 23px 25px 25px
    }

    .l-nav-sp-sub-child__parent {
        padding: 10px 0;
        font-size: 2rem;
        font-weight: 900;
        line-height: var(--line_height_head)
    }

    .l-nav-sp-sub-child__item {
        border-bottom: 1px solid rgb(var(--gray300))
    }

    .l-nav-sp-sub-child__item-link {
        display: grid;
        grid-template-columns: 1fr 12px;
        align-items: center;
        padding: 20px 0;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: var(--line_height_head)
    }

    .l-nav-sp-sub-close {
        display: grid;
        place-content: center;
        align-items: center;
        border: 0;
        height: 45px
    }

    .l-nav-sp-sub-close__txt {
        position: relative;
        padding-left: 22px;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700
    }

    .l-nav-sp-sub-close__txt::before,
    .l-nav-sp-sub-close__txt::after {
        position: absolute;
        content: "";
        top: 50%;
        left: 0;
        transform: translateY(-50%) rotate(45deg);
        width: 17px;
        height: 3px;
        margin-top: 2px;
        background: #fff
    }

    .l-nav-sp-sub-close__txt::after {
        transform: translateY(-50%) rotate(-45deg)
    }
}

@media all and (min-width: 768px) {
    .l-sidebar {
        margin-top: 80px
    }

    .l-sidebar-sec__list {
        display: grid;
        row-gap: 14px
    }

    .l-sidebar-sec__list-item.is-current .l-sidebar-sec__list-link {
        color: rgba(var(--blue500))
    }

    .l-sidebar-sec__list-item.is-current .l-sidebar-sec__list-link::after {
        background-color: rgba(var(--blue500)) !important
    }

    .l-sidebar-sec__list-link {
        position: relative;
        padding-left: 15px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-direction: row-reverse;
        letter-spacing: 0;
        line-height: 1.6;
        transition: all .3s ease
    }

    .l-sidebar-sec__list-link:hover {
        color: rgba(var(--blue500))
    }

    .l-sidebar-sec__list-link:hover::after {
        background-color: rgba(var(--blue500))
    }

    .l-sidebar-sec__list-link::after {
        position: absolute;
        top: 7px;
        left: 0;
        width: 6px;
        height: 10px;
        display: inline-block;
        margin-right: 8px;
        transition: all .3s ease;
        background-color: rgba(var(--gray300))
    }
}

.l-sub-img-beginner {
    position: relative;
    overflow: hidden;
    height: 440px;
    box-sizing: border-box;
    background: url(../img/beginner/bg_mv01%402x.png) no-repeat 0 0;
    background-size: cover
}

.l-sub-img-beginner::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 65px;
    border-radius: 30px 30px 0 0;
    background: #fff
}

.l-sub-img-beginner__head {
    width: 87%;
    max-width: 404px;
    margin: 0 auto 30px;
    padding-top: 30px
}

.l-sub-img-beginner__ico-item {
    position: absolute
}

.l-sub-img-beginner__ico-item.is-item01 {
    width: 38px;
    bottom: 36%;
    right: 15%
}

.l-sub-img-beginner__ico-item.is-item02 {
    width: 85px;
    bottom: 17%;
    right: -3px
}

.l-sub-img-beginner__ico-item.is-item04 {
    bottom: 37%;
    left: 14%;
    width: 55px
}

.l-sub-img-beginner__ico-item.is-item05 {
    width: 54px;
    bottom: 17%;
    left: 5%
}

.l-sub-img-beginner__img {
    margin: 0 auto;
    max-width: 185px;
    width: 50%
}

@media all and (min-width: 768px) {
    .l-sub-img-beginner {
        flex-direction: column;
        justify-content: flex-start;
        height: 655px;
        background-image: url(../img/beginner/bg_mv01_pc.png)
    }

    .l-sub-img-beginner::before {
        border-radius: 150px 150px 0 0;
        z-index: 1
    }

    .l-sub-img-beginner__head {
        max-width: 796px;
        width: 43%;
        margin: 0 auto;
        padding-top: 160px
    }

    .l-sub-img-beginner__ico-item.is-item01 {
        width: 74px;
        bottom: auto;
        top: 14%;
        right: 22%
    }

    .l-sub-img-beginner__ico-item.is-item02 {
        width: 150px;
        bottom: auto;
        top: 27%;
        right: 4%
    }

    .l-sub-img-beginner__ico-item.is-item03 {
        width: 120px;
        bottom: 19%;
        right: 38%
    }

    .l-sub-img-beginner__ico-item.is-item04 {
        width: 105px;
        bottom: auto;
        top: 8%;
        left: 24%
    }

    .l-sub-img-beginner__ico-item.is-item05 {
        width: 113px;
        bottom: auto;
        top: 18%;
        left: 9%
    }

    .l-sub-img-beginner__ico-item.is-item06 {
        width: 177px;
        bottom: 26%;
        left: 2%
    }

    .l-sub-img-beginner__img {
        position: absolute;
        bottom: 8%;
        left: 50%;
        max-width: 350px;
        width: 25%;
        transform: translateX(-400px)
    }

    .l-sub-img-beginner__chara {
        position: absolute;
        bottom: 9%;
        left: 29%;
        width: 25%;
        transform: translateX(400px)
    }
}

@media all and (min-width: 1420px) {
    .l-sub-img-beginner__ico-item.is-item01 {
        width: 74px;
        top: 14%;
        right: 22%
    }

    .l-sub-img-beginner__ico-item.is-item02 {
        width: 150px;
        top: 27%;
        right: 4%
    }

    .l-sub-img-beginner__ico-item.is-item03 {
        width: 120px;
        bottom: 19%;
        right: 38%
    }

    .l-sub-img-beginner__ico-item.is-item04 {
        width: 105px;
        bottom: auto;
        top: 8%;
        left: 24%
    }

    .l-sub-img-beginner__ico-item.is-item05 {
        width: 113px;
        bottom: auto;
        top: 18%;
        left: 9%
    }

    .l-sub-img-beginner__ico-item.is-item06 {
        width: 177px;
        bottom: 26%;
        left: 2%
    }

    .l-sub-img-beginner__img {
        width: 20%;
        transform: translateX(-500px)
    }

    .l-sub-img-beginner__chara {
        width: 20%;
        transform: translateX(550px)
    }
}

@media all and (min-width: 1700px) {
    .l-sub-img-beginner__head {
        max-width: 796px;
        width: 43%;
        margin: 0 auto;
        padding-top: 160px
    }

    .l-sub-img-beginner__ico-item.is-item01 {
        width: 74px;
        bottom: auto;
        top: 19%;
        right: 22%
    }

    .l-sub-img-beginner__ico-item.is-item02 {
        width: 150px;
        bottom: auto;
        top: 21%;
        right: 4%
    }

    .l-sub-img-beginner__ico-item.is-item03 {
        width: 140px;
        bottom: 14%;
        right: 29%
    }

    .l-sub-img-beginner__ico-item.is-item04 {
        width: 105px;
        bottom: auto;
        top: 15%;
        left: 24%
    }

    .l-sub-img-beginner__ico-item.is-item05 {
        width: 113px;
        bottom: auto;
        top: 18%;
        left: 9%
    }

    .l-sub-img-beginner__ico-item.is-item06 {
        width: 177px;
        bottom: 32%;
        left: 2%
    }

    .l-sub-img-beginner__img {
        position: absolute;
        bottom: 8%;
        left: 49%;
        max-width: 350px;
        width: 20%;
        transform: translateX(-700px)
    }

    .l-sub-img-beginner__chara {
        position: absolute;
        bottom: 9%;
        left: 52%;
        width: 414px;
        transform: translateX(400px)
    }
}

.l-sub-img-estimate {
    position: relative
}

.l-sub-img-estimate__inner {
    position: relative;
    z-index: 1;
    padding-top: 82px;
    height: 390px;
    box-sizing: border-box
}

.l-sub-img-estimate__head {
    width: 260px;
    margin: auto
}

.l-sub-img-estimate__txt {
    margin-top: 10px;
    text-align: center;
    font-size: 2rem;
    font-weight: 900;
    line-height: var(--line_height_head)
}

.l-sub-img-estimate__anchor {
    margin-top: 20px
}

.l-sub-img-estimate__anchor-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: auto;
    width: 100px;
    height: 100px;
    padding-top: 8px;
    border: 3px solid #2a2a2a;
    border-radius: 9999px;
    box-shadow: 0 0 0 3px #fff inset, 0 3px 6px rgba(0, 0, 0, .16);
    box-sizing: border-box
}

.l-sub-img-estimate__anchor-link::after {
    width: 8px;
    height: 8px;
    margin-top: 3px;
    transform: rotate(90deg)
}

.l-sub-img-estimate__anchor-sub {
    position: relative;
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 900;
    text-align: center;
    padding: 0 10px 1px;
    line-height: 1.5;
    border-radius: 9999px
}

.l-sub-img-estimate__anchor-sub::after {
    position: absolute;
    content: "";
    display: block;
    top: 100%;
    left: 50%;
    width: 0;
    height: 0;
    border: 3px solid transparent;
    border-top-color: rgb(var(--red900));
    transform: translateX(-50%)
}

.l-sub-img-estimate__anchor-txt {
    font-weight: 900
}

.l-sub-img-estimate__img {
    position: absolute;
    left: 50%;
    bottom: 55px
}

.l-sub-img-estimate__img01 {
    width: 117px;
    transform: translateX(-46vw)
}

.l-sub-img-estimate__img02 {
    width: 125px;
    transform: translate(calc(50vw - 130px), 30px)
}

.l-sub-img-estimate__bg {
    position: absolute;
    z-index: 0;
    display: block;
    bottom: 53px;
    left: 50%;
    width: 335px;
    transform: translateX(-50%)
}

@media all and (min-width: 768px) {
    .l-sub-img-estimate {
        overflow: hidden
    }

    .l-sub-img-estimate__inner {
        height: 610px;
        padding-top: 120px
    }

    .l-sub-img-estimate__head {
        width: 532px
    }

    .l-sub-img-estimate__txt {
        margin-top: 20px;
        font-size: 3rem
    }

    .l-sub-img-estimate__anchor {
        margin-top: 35px
    }

    .l-sub-img-estimate__anchor-link {
        width: 185px;
        height: 185px;
        padding-top: 15px;
        border-width: 5px;
        transition: background-color .3s ease
    }

    .l-sub-img-estimate__anchor-link:hover {
        background-color: rgb(var(--red300))
    }

    .l-sub-img-estimate__anchor-link::after {
        width: 14px;
        height: 14px
    }

    .l-sub-img-estimate__anchor-sub {
        font-size: 2.2rem
    }

    .l-sub-img-estimate__anchor-sub::after {
        border-width: 7px 5px
    }

    .l-sub-img-estimate__anchor-txt {
        font-size: 2.6rem
    }

    .l-sub-img-estimate__img {
        bottom: 70px
    }

    .l-sub-img-estimate__img01 {
        width: 280px;
        transform: translateX(-503px)
    }

    .l-sub-img-estimate__img02 {
        width: 285px;
        transform: translate(194px, 80px)
    }

    .l-sub-img-estimate__deco {
        position: absolute;
        left: 50%
    }

    .l-sub-img-estimate__deco01 {
        width: 395px;
        bottom: -30px;
        transform: translateX(-960px)
    }

    .l-sub-img-estimate__deco02 {
        bottom: 10px;
        width: 362px;
        transform: translateX(526px)
    }

    .l-sub-img-estimate__bg {
        width: 862px;
        bottom: 67px
    }
}

.l-sub-img-item-worry {
    position: relative;
    overflow: hidden;
    padding: 35px 0 0
}

.l-sub-img-item-worry__header {
    text-align: center;
    color: #fff;
    display: flex;
    flex-direction: column
}

.l-sub-img-item-worry__header-sub {
    position: relative;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.l-sub-img-item-worry__header-sub::before,
.l-sub-img-item-worry__header-sub::after {
    position: relative;
    bottom: -3px;
    content: "";
    width: 2px;
    height: 23px;
    border-radius: 9999px;
    background: #fff
}

.l-sub-img-item-worry__header-sub::before {
    transform: rotate(-38deg);
    margin-right: 15px
}

.l-sub-img-item-worry__header-sub::after {
    transform: rotate(38deg);
    margin-left: 15px
}

.l-sub-img-item-worry__header-main {
    font-size: 4rem;
    line-height: 1.3
}

.l-sub-img-item-worry__header-main-small {
    font-size: 2.8rem
}

.l-sub-img-item-worry__header-main-medium {
    font-size: 3.4rem
}

.l-sub-img-item-worry__img {
    display: block;
    position: relative;
    margin: -40px -20px 0
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry {
        overflow: hidden;
        height: 400px;
        margin: 30px 30px 0;
        padding: 0 30px;
        border-radius: 30px;
        box-sizing: border-box
    }

    .l-sub-img-item-worry__inner {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%
    }

    .l-sub-img-item-worry__header {
        width: 55%
    }

    .l-sub-img-item-worry__header-wrap {
        margin-top: 20px;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .l-sub-img-item-worry__header-sub {
        font-size: 2.6rem;
        margin-left: 15px
    }

    .l-sub-img-item-worry__header-sub::before,
    .l-sub-img-item-worry__header-sub::after {
        bottom: -5px;
        height: 27px
    }

    .l-sub-img-item-worry__header-sub::before {
        margin-right: 23px
    }

    .l-sub-img-item-worry__header-sub::after {
        margin-left: 23px
    }

    .l-sub-img-item-worry__header-main {
        font-size: clamp(5rem, 7.5vw, 7rem)
    }

    .l-sub-img-item-worry__header-main-small {
        font-size: clamp(3.5rem, 7.5vw, 5rem)
    }

    .l-sub-img-item-worry__header-main-medium {
        font-size: clamp(4rem, 7.5vw, 6rem)
    }

    .l-sub-img-item-worry__img {
        width: 57%;
        margin: 0 -130px -85px auto
    }
}

.no-webp .l-sub-img-item-worry-home-appliance,
.no-js .l-sub-img-item-worry-home-appliance,
.no-webp .l-sub-img-item-worry-furniture,
.no-js .l-sub-img-item-worry-furniture {
    background-image: url(../img/item/home-appliance/bg_mv01%402x.png)
}

.webp .l-sub-img-item-worry-home-appliance,
.webp .l-sub-img-item-worry-furniture {
    background-image: url(../img/item/home-appliance/bg_mv01%402x.png.webp)
}

.l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub,
.l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub {
    font-size: 1.8rem;
    margin-left: -25px
}

.l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub::before,
.l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub::before {
    display: block;
    content: "";
    bottom: 0;
    width: 40px;
    height: 45px;
    margin: 0 10px 0 0;
    transform: rotate(0);
    background: no-repeat 0 0/contain
}

.no-webp .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub::before,
.no-js .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub::before,
.no-webp .l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub::before,
.no-js .l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub::before {
    background-image: url(../img/item/home-appliance/ico_head_chara01%402x.png)
}

.webp .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub::before,
.webp .l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub::before {
    background-image: url(../img/item/home-appliance/ico_head_chara01%402x.png.webp)
}

.l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub::after,
.l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub::after {
    content: none
}

.l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__img,
.l-sub-img-item-worry-furniture .l-sub-img-item-worry__img {
    margin: 40px 0 0
}

@media all and (min-width: 768px) {

    .no-webp .l-sub-img-item-worry-home-appliance,
    .no-js .l-sub-img-item-worry-home-appliance,
    .no-webp .l-sub-img-item-worry-furniture,
    .no-js .l-sub-img-item-worry-furniture {
        background-image: url(../img/item/home-appliance/bg_mv01_pc.png)
    }

    .webp .l-sub-img-item-worry-home-appliance,
    .webp .l-sub-img-item-worry-furniture {
        background-image: url(../img/item/home-appliance/bg_mv01_pc.png.webp)
    }

    .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__img,
    .l-sub-img-item-worry-furniture .l-sub-img-item-worry__img {
        margin: 40px auto 0
    }

    .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__inner,
    .l-sub-img-item-worry-furniture .l-sub-img-item-worry__inner {
        flex-direction: column;
        justify-content: flex-end
    }

    .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header,
    .l-sub-img-item-worry-furniture .l-sub-img-item-worry__header {
        width: 100%
    }

    .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub,
    .l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub {
        font-size: 2rem;
        margin-left: 15px
    }

    .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-sub::before,
    .l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-sub::before {
        width: 60px;
        height: 75px
    }

    .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__header-main,
    .l-sub-img-item-worry-furniture .l-sub-img-item-worry__header-main {
        font-size: clamp(5rem, 7.5vw, 7.6rem)
    }

    .l-sub-img-item-worry-home-appliance .l-sub-img-item-worry__img,
    .l-sub-img-item-worry-furniture .l-sub-img-item-worry__img {
        width: 100%
    }
}

.l-sub-img-item-worry-home-appliance__header-main {
    font-size: 5rem
}

@media all and (min-width: 768px) {

    .no-webp .l-sub-img-item-worry-home-appliance,
    .no-js .l-sub-img-item-worry-home-appliance {
        background-image: url(../img/item/home-appliance/bg_mv01_pc.png)
    }

    .webp .l-sub-img-item-worry-home-appliance {
        background-image: url(../img/item/home-appliance/bg_mv01_pc.png.webp)
    }

    .l-sub-img-item-worry-home-appliance__img {
        max-width: 900px
    }
}

.l-sub-img-item-worry-furniture__header-main {
    font-size: 4rem
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-furniture__header-main {
        font-size: clamp(5rem, 7.5vw, 7.6rem)
    }

    .l-sub-img-item-worry-furniture__img {
        max-width: 640px;
        margin: 50px auto 0
    }
}

.l-sub-img-item-worry-air-conditioner__header-main {
    font-size: 5rem;
    line-height: 1.1
}

.l-sub-img-item-worry-air-conditioner__img {
    margin: 10px -20px 0
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-air-conditioner__header-main {
        font-size: clamp(9rem, 7.5vw, 11rem)
    }

    .l-sub-img-item-worry-air-conditioner__img {
        width: 65%;
        margin: 0 -130px -100px auto
    }
}

.l-sub-img-item-worry-refrigerator__img {
    margin: -60px -120px 0 -20px
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-refrigerator__img {
        width: 75%;
        margin: 0 -190px -65px auto
    }
}

.l-sub-img-item-worry-washing__header-main {
    font-size: 3rem
}

.l-sub-img-item-worry-washing__header-small {
    font-size: 2.4rem
}

.l-sub-img-item-worry-washing__header-medium {
    font-size: 2.8rem
}

.l-sub-img-item-worry-washing__img {
    margin: 10px -100px 0 -20px
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-washing__header {
        width: 62%
    }

    .l-sub-img-item-worry-washing__header-main {
        margin-top: 15px;
        line-height: 1.1;
        font-size: clamp(4rem, 7.5vw, 6.2rem)
    }

    .l-sub-img-item-worry-washing__header-small {
        font-size: 5rem
    }

    .l-sub-img-item-worry-washing__header-medium {
        font-size: 6rem
    }

    .l-sub-img-item-worry-washing__img {
        width: 76%;
        margin: 0 -23% -95px auto
    }
}

.l-sub-img-item-worry-pc__header-main {
    font-size: 5rem;
    line-height: 1.1
}

.l-sub-img-item-worry-pc__img {
    margin: -55px -66% -30px 0
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-pc__header-main {
        font-size: clamp(9rem, 7.5vw, 11rem)
    }

    .l-sub-img-item-worry-pc__img {
        width: 74%;
        margin: 0 -16% -80px auto
    }
}

.l-sub-img-item-worry-microwave__header-main {
    font-size: 5rem;
    line-height: 1.1
}

.l-sub-img-item-worry-microwave__img {
    margin: -12px -6% 0 -25px
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-microwave__header-main {
        font-size: clamp(5.5rem, 7.5vw, 7.6rem)
    }

    .l-sub-img-item-worry-microwave__img {
        width: 80%;
        margin: 0 -11% -70px auto
    }
}

.l-sub-img-item-worry-sofa__img {
    margin: 16px -12% 0 -40px
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-sofa__img {
        width: 73%;
        margin: 0 -11% -90px auto
    }
}

.l-sub-img-item-worry-table__img {
    margin: -80px -55px 0
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-table__header {
        width: 65%
    }

    .l-sub-img-item-worry-table__img {
        width: 89%;
        margin: 0 -12% -80px -11%
    }
}

.l-sub-img-item-worry-bed__header-main {
    font-size: 5rem;
    line-height: 1.1
}

.l-sub-img-item-worry-bed__img {
    margin: -63px -7% 0 -25px
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-bed__header-main {
        font-size: clamp(9rem, 7.5vw, 11rem)
    }

    .l-sub-img-item-worry-bed__img {
        width: 74%;
        margin: 0 -11% -65px auto
    }
}

.l-sub-img-item-worry-chest__header-main {
    font-size: 5rem;
    line-height: 1.1
}

.l-sub-img-item-worry-chest__img {
    margin: -55px -30% 0 -35px
}

@media all and (min-width: 768px) {
    .l-sub-img-item-worry-chest__header-main {
        font-size: clamp(9rem, 7.5vw, 11rem)
    }

    .l-sub-img-item-worry-chest__img {
        width: 86%;
        margin: 0 -12% -72px auto
    }
}

.l-sub-img-item {
    position: relative;
    padding: 32px 20px 0
}

.l-sub-img-item__head {
    width: 91.64%;
    margin: auto
}

.l-sub-img-item__chara {
    display: block;
    position: relative;
    margin-top: 29px
}

.l-sub-img-item__bg {
    position: absolute;
    left: 2.6%;
    right: 2.6%;
    bottom: -5px
}

@media all and (min-width: 768px) {
    .l-sub-img-item {
        padding: 109px 0 0
    }

    .l-sub-img-item__head {
        width: 887px
    }

    .l-sub-img-item__chara {
        width: 648px;
        margin: 70px auto 0
    }

    .l-sub-img-item__bg {
        display: block;
        width: auto
    }

    .l-sub-img-item__bg01 {
        right: 3vw;
        left: auto
    }

    .l-sub-img-item__bg02 {
        left: 3vw;
        right: auto
    }
}

.l-sub-img-message {
    overflow: hidden;
    min-height: 430px;
    box-sizing: border-box
}

.l-sub-img-message__inner {
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 20px 20px 40px
}

.l-sub-img-message__head {
    position: absolute;
    bottom: 25px;
    left: 35px;
    width: 82%;
    max-width: 350px;
    margin: 0 auto 30px
}

.l-sub-img-message__bg {
    width: 100%;
    height: 40px;
    margin-top: -20px;
    border-radius: 30px 30px 0 0
}

@media all and (min-width: 768px) {
    .l-sub-img-message {
        min-height: inherit
    }

    .l-sub-img-message__inner {
        padding: 30px 40px 60px
    }

    .l-sub-img-message__head {
        max-width: 1506px;
        width: 88%;
        margin: 0 auto;
        bottom: 60px;
        left: 50%;
        transform: translateX(-50%)
    }

    .l-sub-img-message__bg {
        height: 130px;
        border-radius: 80px 80px 0 0
    }
}

@media all and (min-width: 1360px) {
    .l-sub-img-message__head {
        max-width: 1706px
    }
}

.l-sub-img-service-special {
    position: relative;
    overflow: hidden
}

.l-sub-img-service-special__inner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.l-sub-img-service-special__header {
    padding-top: 25px;
    text-align: center
}

.l-sub-img-service-special__header>* {
    position: relative;
    z-index: 1
}

.l-sub-img-service-special__header-main {
    font-weight: 900;
    line-height: 1;
    color: rgba(var(--blue700));
    letter-spacing: var(--letter_spacing_head)
}

.l-sub-img-service-special__header-sub {
    width: 135px;
    margin: 0 auto
}

.l-sub-img-service-special__header-main {
    margin-top: 10px;
    font-size: 3.7rem
}

.l-sub-img-service-special__header-price {
    width: 60%;
    margin: 0 auto
}

.l-sub-img-service-special__point {
    position: relative;
    z-index: 2;
    margin: 0 auto -30px;
    width: 229px
}

.l-sub-img-service-special__chara01 {
    position: absolute;
    display: block;
    z-index: 2;
    bottom: 0;
    left: 50%;
    transform: translateX(10px)
}

.l-sub-img-service-special__imgs {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

@media all and (max-width: 767px) {
    .l-sub-img-service-special::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: no-repeat 0 0;
        background-size: cover;
        z-index: -1
    }

    .no-webp .l-sub-img-service-special::before,
    .no-js .l-sub-img-service-special::before {
        background-image: url(../img/service/gomiyashiki/bg_catch01%402x.png)
    }

    .webp .l-sub-img-service-special::before {
        background-image: url(../img/service/gomiyashiki/bg_catch01%402x.png.webp)
    }
}

@media all and (min-width: 768px) {
    .l-sub-img-service-special {
        padding-top: 30px;
        padding-bottom: 40px;
        background: none
    }

    .l-sub-img-service-special::before,
    .l-sub-img-service-special::after {
        position: absolute;
        content: "";
        z-index: -2;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }

    .l-sub-img-service-special::before {
        background: rgb(var(--blue700))
    }

    .l-sub-img-service-special::after {
        z-index: -1;
        left: 50%;
        background: no-repeat 0 0/cover
    }

    .no-webp .l-sub-img-service-special::after,
    .no-js .l-sub-img-service-special::after {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_pc.jpg)
    }

    .webp .l-sub-img-service-special::after {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_pc.jpg.webp)
    }

    .l-sub-img-service-special__inner {
        padding: 0 30px 30px;
        display: grid;
        grid-template-columns: 1fr 42% 1fr
    }

    .l-sub-img-service-special__header {
        order: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        position: relative;
        z-index: 1;
        height: 100%;
        box-sizing: border-box;
        margin-bottom: 0;
        padding-top: 0;
        overflow: visible
    }

    .l-sub-img-service-special__header::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: no-repeat 0 0;
        background-size: cover;
        z-index: -1
    }

    .no-webp .l-sub-img-service-special__header::before,
    .no-js .l-sub-img-service-special__header::before {
        background-image: url(../img/service/gomiyashiki/bg_catch01%402x.png)
    }

    .webp .l-sub-img-service-special__header::before {
        background-image: url(../img/service/gomiyashiki/bg_catch01%402x.png.webp)
    }

    .l-sub-img-service-special__header-sub {
        max-width: 250px;
        width: 36%
    }

    .l-sub-img-service-special__header-main {
        margin-top: 25px;
        font-size: clamp(7rem, 2.5vw, 10rem)
    }

    .l-sub-img-service-special__header-price {
        width: 70%;
        margin-top: 30px;
        max-width: 490px
    }

    .l-sub-img-service-special__point {
        position: absolute;
        right: 50px;
        bottom: 30px;
        margin: 0;
        max-width: 418px;
        width: 23%
    }

    .l-sub-img-service-special__chara01 {
        left: 0;
        transform: translateX(-170px);
        max-width: 379px;
        width: 48%
    }

    .l-sub-img-service-special__img {
        overflow: hidden;
        order: 1;
        border-radius: 30px 0 0 30px
    }

    .l-sub-img-service-special__img.is-second02 {
        order: 3;
        border-radius: 0 30px 30px 0
    }
}

@media all and (min-width: 1360px) {
    .l-sub-img-service-special__inner {
        grid-template-columns: 1fr 42% 1fr
    }

    .l-sub-img-service-special__header-main {
        font-size: 10rem
    }

    .l-sub-img-service-special__chara01 {
        transform: translateX(-260px)
    }
}

.l-sub-img-service-special-ihin__header-main {
    letter-spacing: 0
}

.l-sub-img-service-special-ihin__header-sub {
    width: 145px
}

.l-sub-img-service-special-ihin__chara01 {
    max-width: 90px;
    left: auto;
    right: 0;
    transform: translateX(5px)
}

@media all and (max-width: 767px) {

    .no-webp .l-sub-img-service-special-ihin::before,
    .no-js .l-sub-img-service-special-ihin::before {
        background-image: url(../img/service/ihin/bg_catch01%402x.png)
    }

    .webp .l-sub-img-service-special-ihin::before {
        background-image: url(../img/service/ihin/bg_catch01%402x.png.webp)
    }
}

@media all and (min-width: 768px) {
    .l-sub-img-service-special-ihin__header::before {
        background-color: #fff
    }

    .no-webp .l-sub-img-service-special-ihin__header::before,
    .no-js .l-sub-img-service-special-ihin__header::before {
        background-image: url(../img/service/ihin/bg_catch01%402x.png)
    }

    .webp .l-sub-img-service-special-ihin__header::before {
        background-image: url(../img/service/ihin/bg_catch01%402x.png.webp)
    }

    .l-sub-img-service-special-ihin__header-main {
        margin-top: 15px;
        line-height: 1.1;
        letter-spacing: 0
    }

    .l-sub-img-service-special-ihin__header-sub {
        max-width: 350px;
        width: 45%
    }

    .l-sub-img-service-special-ihin__header-price {
        width: 64%;
        margin-top: 15px
    }

    .l-sub-img-service-special-ihin__chara01 {
        max-width: 204px;
        left: 0;
        width: 27%;
        transform: translateX(-100px)
    }

    .l-sub-img-service-special-ihin__point {
        width: 21%
    }
}

@media all and (min-width: 1360px) {
    .l-sub-img-service-special-ihin__chara01 {
        transform: translateX(-130px)
    }
}

.l-sub-img-service {
    position: relative;
    overflow: hidden
}

.l-sub-img-service::before,
.l-sub-img-service::after {
    position: absolute;
    content: "";
    z-index: -2;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(var(--blue700))
}

.l-sub-img-service__header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 68.53vw
}

.l-sub-img-service__header>* {
    position: relative;
    z-index: 1
}

.l-sub-img-service__header-sub,
.l-sub-img-service__header-main {
    color: #fff;
    font-weight: 900;
    line-height: 1;
    letter-spacing: var(--letter_spacing_head)
}

.l-sub-img-service__header-sub {
    padding-top: 20px;
    font-size: 1.8rem
}

.l-sub-img-service__header-main {
    margin-top: 10px;
    font-size: 6.4rem
}

.l-sub-img-service__header-point {
    margin-top: 15px;
    width: 175px
}

.l-sub-img-service__chara01 {
    position: absolute;
    display: block;
    z-index: -1;
    bottom: 0;
    left: 50%
}

@media all and (max-width: 767px) {
    .l-sub-img-service__imgs {
        display: none
    }
}

@media all and (min-width: 768px) {
    .l-sub-img-service {
        padding-top: 30px;
        padding-bottom: 40px
    }

    .l-sub-img-service::after {
        z-index: -1;
        left: 50%;
        background: no-repeat 0 0/cover
    }

    .no-webp .l-sub-img-service::after,
    .no-js .l-sub-img-service::after {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_pc.jpg)
    }

    .webp .l-sub-img-service::after {
        background-image: url(/wp-content/themes/spot-tochigi/img/common/mv/bg_mv01_pc.jpg.webp)
    }

    .l-sub-img-service__header {
        position: relative;
        z-index: 1;
        height: 530px;
        margin-bottom: 40px;
        overflow: hidden
    }

    .l-sub-img-service__header-sub {
        padding-top: 30px;
        font-size: 3rem
    }

    .l-sub-img-service__header-main {
        margin-top: 25px;
        font-size: 13rem;
        font-size: clamp(8rem, 7.5vw, 13rem)
    }

    .l-sub-img-service__header-point {
        margin-top: 30px;
        width: 372px
    }

    .l-sub-img-service__imgs {
        position: absolute;
        top: 30px;
        right: 30px;
        left: 30px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        overflow: hidden
    }

    .l-sub-img-service__imgs::before {
        position: absolute;
        content: "";
        display: block;
        z-index: 0;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 88, 145, .65)
    }

    .l-sub-img-service__imgs img {
        height: 530px;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.l-sub-img-service-syoryogomi__chara01 {
    width: 200px;
    transform: translate(-210px, 40px)
}

@media all and (min-width: 768px) {
    .l-sub-img-service-syoryogomi__chara01 {
        width: 424px;
        transform: translate(-563px, 80px)
    }
}

.l-sub-img-service-hikkoshigo__header-main {
    font-size: 5.4rem
}

.l-sub-img-service-hikkoshigo__chara01 {
    transform: translateX(10px)
}

@media all and (min-width: 768px) {
    .l-sub-img-service-hikkoshigo__header-main {
        font-size: clamp(8rem, 7.5vw, 13rem)
    }

    .l-sub-img-service-hikkoshigo__chara01 {
        transform: translateX(120px)
    }
}

.l-sub-img-service-house-cleaning__header-main {
    font-size: 3.3rem;
    text-align: center;
    line-height: 1.3
}

.l-sub-img-service-house-cleaning__chara01 {
    width: 127px;
    transform: translateX(60px)
}

@media all and (min-width: 768px) {
    .l-sub-img-service-house-cleaning__header-main {
        margin-top: 15px;
        font-size: clamp(7.5rem, 5.5vw, 9rem);
        line-height: 1.1
    }

    .l-sub-img-service-house-cleaning__chara01 {
        width: 294px;
        transform: translateX(170px)
    }
}

.l-sub-img-service-sodaigomi__header-main {
    font-size: 5.4rem;
    text-align: center
}

.l-sub-img-service-sodaigomi__chara01 {
    width: 247px;
    transform: translateX(67px)
}

@media all and (min-width: 768px) {
    .l-sub-img-service-sodaigomi__header-main {
        margin-top: 15px;
        font-size: clamp(8rem, 7.5vw, 13rem)
    }

    .l-sub-img-service-sodaigomi__chara01 {
        width: 490px;
        transform: translateX(150px)
    }
}

@media all and (min-width: 768px) {
    .l-sub-img-service-dismantling__header-main {
        font-size: clamp(8rem, 7.5vw, 13rem)
    }

    .l-sub-img-service-dismantling__chara01 {
        width: 408px;
        transform: translateX(85px)
    }
}

.l-sub-img-service-fudousan__header-main {
    font-size: 6rem
}

.l-sub-img-service-fudousan__header-point {
    width: 85%;
    max-width: 450px
}

.l-sub-img-service-fudousan__chara01 {
    width: 98px;
    transform: translateX(105px);
    z-index: 2
}

@media all and (min-width: 768px) {
    .l-sub-img-service-fudousan__header-main {
        margin-top: 20px;
        font-size: clamp(8rem, 7.5vw, 13rem)
    }

    .l-sub-img-service-fudousan__header-point {
        width: 460px;
        max-width: 528px
    }

    .l-sub-img-service-fudousan__chara01 {
        width: 244px;
        left: 50%;
        transform: translateX(280px)
    }
}

.l-sub-img-service-corporate__header-main {
    font-size: 5rem;
    letter-spacing: 0
}

.l-sub-img-service-corporate__chara01 {
    width: 177px;
    transform: translateX(0);
    left: 0
}

@media all and (min-width: 768px) {
    .l-sub-img-service-corporate__header-main {
        margin-top: 15px;
        font-size: clamp(8rem, 7.5vw, 13rem)
    }

    .l-sub-img-service-corporate__chara01 {
        width: 400px;
        left: 50%;
        transform: translateX(180px)
    }
}

.l-sub-img-service-unlimited__header {
    position: relative
}

.l-sub-img-service-unlimited__header::after {
    position: absolute;
    content: "";
    bottom: 0;
    right: 0;
    width: 80px;
    height: 100px;
    background: 0 0 no-repeat;
    background-size: contain;
    z-index: 9
}

.no-webp .l-sub-img-service-unlimited__header::after,
.no-js .l-sub-img-service-unlimited__header::after {
    background-image: url(../img/service/unlimited/mv_chara02%402x.png)
}

.webp .l-sub-img-service-unlimited__header::after {
    background-image: url(../img/service/unlimited/mv_chara02%402x.png.webp)
}

.l-sub-img-service-unlimited__header-main {
    font-size: 4.4rem;
    letter-spacing: 0
}

.l-sub-img-service-unlimited__header-point {
    width: 71%;
    max-width: 250px
}

.l-sub-img-service-unlimited__chara01 {
    width: 230px;
    transform: translateX(30px);
    left: auto;
    right: 0
}

@media all and (min-width: 768px) {
    .l-sub-img-service-unlimited__header::after {
        right: auto;
        left: 5%;
        width: 300px;
        height: 170px
    }

    .no-webp .l-sub-img-service-unlimited__header::after,
    .no-js .l-sub-img-service-unlimited__header::after {
        background-image: url(../img/service/unlimited/mv_chara02_pc.png)
    }

    .webp .l-sub-img-service-unlimited__header::after {
        background-image: url(../img/service/unlimited/mv_chara02_pc.png.webp)
    }

    .l-sub-img-service-unlimited__header-main {
        margin-top: 15px;
        font-size: clamp(8rem, 7.5vw, 13rem)
    }

    .l-sub-img-service-unlimited__header-point {
        width: 50%;
        margin-top: 50px;
        max-width: 670px
    }

    .l-sub-img-service-unlimited__chara01 {
        width: 350px;
        left: 0
    }
}

@media all and (min-width: 1160px) {
    .l-sub-img-service-unlimited__header::after {
        left: 6%;
        width: 330px;
        height: 188px
    }

    .l-sub-img-service-unlimited__chara01 {
        width: 380px;
        left: 2%;
        transform: translateX(0)
    }
}

@media all and (min-width: 1360px) {
    .l-sub-img-service-unlimited__header::after {
        left: 26%;
        transform: translateX(-50%);
        width: 380px;
        height: 217px
    }

    .l-sub-img-service-unlimited__header-point {
        width: 71%
    }

    .l-sub-img-service-unlimited__chara01 {
        width: 414px;
        left: 10%;
        transform: translateX(0)
    }
}

@media(min-width: 1360px)and (max-width: 1800px) {
    .l-sub-img-service-unlimited__header::after {
        left: 22%;
        transform: translateX(-50%);
        width: 350px;
        height: 199px
    }

    .l-sub-img-service-unlimited__header-point {
        width: 65%
    }

    .l-sub-img-service-unlimited__chara01 {
        width: 414px;
        left: 5%;
        transform: translateX(0)
    }
}

.l-sub-img-service-purchase__header-sub {
    padding-top: 0
}

.l-sub-img-service-purchase__header-main {
    font-size: 3.6rem;
    letter-spacing: 0
}

.l-sub-img-service-purchase__chara01 {
    width: 110px;
    transform: translateX(80px)
}

@media all and (min-width: 768px) {
    .l-sub-img-service-purchase__header-sub {
        padding-top: 0
    }

    .l-sub-img-service-purchase__header-main {
        margin-bottom: 25px;
        font-size: clamp(8rem, 7.5vw, 10rem)
    }

    .l-sub-img-service-purchase__chara01 {
        width: 248px;
        transform: translateX(220px)
    }
}

.l-sub-img-strengths {
    position: relative;
    overflow: hidden;
    height: auto;
    box-sizing: border-box
}

.l-sub-img-strengths::before {
    position: absolute;
    content: "";
    top: 160px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: #fff;
    z-index: -1
}

.l-sub-img-strengths::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    content: "";
    width: 100%;
    height: 100%;
    background-image: linear-gradient(180deg, rgb(var(--blue500)) 0%, rgb(var(--blue500)) 300px, #fff 300.1px, #fff 100%)
}

.l-sub-img-strengths__inner {
    position: relative;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 250px;
    z-index: 2
}

.l-sub-img-strengths__inner::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: url(../img/strengths/bg_confettie01%402x.png) 0 0 no-repeat;
    background-size: cover;
    z-index: -1
}

.l-sub-img-strengths__head {
    width: 102%;
    max-width: 400px;
    margin: 0 auto 30px;
    padding-top: 30px
}

.l-sub-img-strengths__chara {
    width: 95%;
    max-width: 400px;
    padding-top: 50px;
    margin: 0 auto 25px
}

.l-sub-img-strengths__pic-item {
    position: absolute;
    z-index: 2
}

.l-sub-img-strengths__pic-item.is-item01 {
    max-width: 235px;
    width: 63%;
    bottom: 77px;
    right: -20px
}

.l-sub-img-strengths__pic-item.is-item02 {
    max-width: 170px;
    width: 43%;
    bottom: 44px;
    left: -20px
}

.l-sub-img-strengths__lead {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 15px;
    line-height: var(--line_height_head)
}

.l-sub-img-strengths__txt {
    font-size: 1.6rem
}

@media(min-width: 600px)and (max-width: 767px) {
    .l-sub-img-strengths::before {
        top: 160px;
        width: 850px;
        height: 600px
    }
}

@media all and (min-width: 768px) {
    .l-sub-img-strengths::before {
        top: 330px;
        width: 2012px;
        height: 2012px
    }

    .l-sub-img-strengths::after {
        background: rgb(var(--blue500))
    }

    .l-sub-img-strengths__inner {
        padding-right: 0;
        padding-left: 0;
        padding-bottom: 120px
    }

    .l-sub-img-strengths__inner::before {
        height: 90%;
        background-size: contain;
        background-repeat: repeat-x
    }

    .l-sub-img-strengths__head {
        width: 100%;
        max-width: 800px;
        margin: 0 auto 145px;
        padding-top: 120px
    }

    .l-sub-img-strengths__chara {
        width: 85%;
        max-width: 635px;
        padding-top: 0;
        margin: 0 auto 40px
    }

    .l-sub-img-strengths__pic-item.is-item01 {
        max-width: 350px;
        width: 28%;
        bottom: 21%;
        right: -4%
    }

    .l-sub-img-strengths__pic-item.is-item02 {
        max-width: 350px;
        width: 30%;
        bottom: 26%;
        left: -7%
    }

    .l-sub-img-strengths__pic-item.is-item03 {
        max-width: 170px;
        width: 10%;
        top: 110px;
        left: 2%
    }

    .l-sub-img-strengths__pic-item.is-item04 {
        max-width: 220px;
        width: 13%;
        top: 26%;
        left: 5%
    }

    .l-sub-img-strengths__pic-item.is-item05 {
        max-width: 350px;
        width: 12%;
        top: 25%;
        right: 8%
    }

    .l-sub-img-strengths__pic-item.is-item06 {
        max-width: 220px;
        width: 15%;
        top: 12%;
        right: -4%
    }

    .l-sub-img-strengths__lead {
        font-size: 5rem;
        margin-bottom: 45px
    }

    .l-sub-img-strengths__txt {
        text-align: center;
        font-size: 1.8rem
    }
}

@media all and (min-width: 1360px) {
    .l-sub-img-strengths__head {
        max-width: 900px
    }

    .l-sub-img-strengths__pic-item.is-item01 {
        max-width: 490px;
        width: 33%;
        bottom: 21%;
        right: 2%
    }

    .l-sub-img-strengths__pic-item.is-item02 {
        max-width: 490px;
        width: 25%;
        bottom: 26%;
        left: 4%
    }

    .l-sub-img-strengths__pic-item.is-item03 {
        max-width: 170px;
        width: 10%;
        top: 110px;
        left: 4%
    }

    .l-sub-img-strengths__pic-item.is-item04 {
        max-width: 220px;
        width: 15%;
        top: 26%;
        left: 17%
    }

    .l-sub-img-strengths__pic-item.is-item05 {
        max-width: 350px;
        width: 15%;
        top: 25%;
        right: 12%
    }

    .l-sub-img-strengths__pic-item.is-item06 {
        max-width: 220px;
        width: 15%;
        top: 12%;
        right: -4%
    }

    .l-sub-img-strengths__txt {
        font-size: 2rem
    }
}

@media(min-width: 1350px)and (max-width: 1700px) {
    .l-sub-img-strengths__pic-item.is-item01 {
        max-width: 400px;
        width: 25%;
        bottom: 23%;
        right: 0
    }

    .l-sub-img-strengths__pic-item.is-item02 {
        max-width: 400px;
        width: 25%;
        bottom: 27%;
        left: 0
    }

    .l-sub-img-strengths__pic-item.is-item04 {
        width: 11%;
        left: 6%
    }

    .l-sub-img-strengths__pic-item.is-item05 {
        width: 11%
    }

    .l-sub-img-strengths__pic-item.is-item06 {
        width: 13%;
        top: 10%
    }
}

.l-sub-img {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 130px
}

.l-sub-img__head {
    line-height: 1.5;
    font-weight: 900;
    font-size: 2.8rem;
    color: #fff;
    text-align: center
}

@media all and (min-width: 768px) {
    .l-sub-img {
        height: 180px;
        margin-top: 0px;
        padding: 30px 0;

    }

    .l-sub-img__head {
        font-size: 4.4rem
    }
}

.js-c-anime-confetti {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 100%;
    pointer-events: none;
    z-index: 0;
    -webkit-mask-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, white 50%, white 100%);
    mask-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, white 50%, white 100%);
    overflow: hidden
}

.js-c-anime-confetti canvas {
    position: relative;
    left: 50%;
    width: 1200px;
    transform: translateX(-50%)
}

@media all and (min-width: 768px) {
    .js-c-anime-confetti canvas {
        width: 1920px
    }
}

.js-c-anime-elem[data-anime=fadein] {
    opacity: 0;
    transition: all .3s ease
}

.js-c-anime-elem[data-anime=fadein].is-animated {
    opacity: 1
}

.js-c-modal-wrapper {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgb(var(--gray900), 0.85);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

.js-c-modal-wrapper.is-active {
    opacity: 1;
    visibility: visible
}

.js-c-modal-inner {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    max-width: 100vw;
    max-height: 100vh;
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: auto 1fr;
    grid-template-areas: "close close close" "prev content next";
    gap: 0 10px;
    align-items: center;
    justify-content: center;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    transform: translateY(-50%)
}

.js-c-modal-close {
    position: relative;
    grid-area: close;
    width: 60px;
    height: 60px;
    border: 0;
    margin: 0 0 0 auto
}

.js-c-modal-close::before,
.js-c-modal-close::after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    width: 3px;
    height: 25px;
    background: #fff
}

.js-c-modal-close::before {
    transform: translate(-50%, -50%) rotate(45deg)
}

.js-c-modal-close::after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

.js-c-modal-content {
    grid-area: content
}

.js-c-modal-nav {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgb(var(--blue500));
    opacity: 0;
    visibility: hidden
}

.js-c-modal-nav::before {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 6px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.238%22%20height%3D%227.694%22%20viewBox%3D%220%200%2010.238%207.694%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_101566%22%20data-name%3D%22%E3%83%91%E3%82%B9%20101566%22%20d%3D%22M121.063%2C13.816h6.874l-1.92-1.873a.513.513%2C0%2C0%2C1%2C0-.739h0a.545.545%2C0%2C0%2C1%2C.757%2C0l2.835%2C2.765a.513.513%2C0%2C0%2C1%2C0%2C.739l-2.835%2C2.765a.545.545%2C0%2C0%2C1-.757%2C0h0a.513.513%2C0%2C0%2C1%2C0-.739l1.92-1.873h-6.874a.529.529%2C0%2C0%2C1-.535-.522h0A.529.529%2C0%2C0%2C1%2C121.063%2C13.816Z%22%20transform%3D%22translate(-120.027%20-10.491)%22%20fill%3D%22%230083cf%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/cover;
    transform: translate(-50%, -50%)
}

.js-c-modal-nav.is-active {
    opacity: 1;
    visibility: visible
}

.js-c-modal-nav.is-prev {
    grid-area: prev;
    transform: scale(-1, 1)
}

.js-c-modal-nav.is-next {
    grid-area: next
}

@media all and (min-width: 768px) {
    .js-c-modal {
        cursor: pointer;
        transition: opacity .3s ease
    }

    .js-c-modal:hover {
        opacity: .7
    }

    .js-c-modal-inner {
        gap: 0 15px
    }

    .js-c-modal-close::before,
    .js-c-modal-close::after {
        height: 30px
    }

    .js-c-modal-content img {
        max-height: 80vh
    }

    .js-c-modal-nav {
        width: 60px;
        height: 60px;
        transition: background .3s ease
    }

    .js-c-modal-nav::before {
        width: 13px;
        height: 9px;
        transition: background .3s ease
    }

    .js-c-modal-nav:hover {
        background: rgb(var(--blue500))
    }

    .js-c-modal-nav:hover::before {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.238%22%20height%3D%227.694%22%20viewBox%3D%220%200%2010.238%207.694%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_101566%22%20data-name%3D%22%E3%83%91%E3%82%B9%20101566%22%20d%3D%22M121.063%2C13.816h6.874l-1.92-1.873a.513.513%2C0%2C0%2C1%2C0-.739h0a.545.545%2C0%2C0%2C1%2C.757%2C0l2.835%2C2.765a.513.513%2C0%2C0%2C1%2C0%2C.739l-2.835%2C2.765a.545.545%2C0%2C0%2C1-.757%2C0h0a.513.513%2C0%2C0%2C1%2C0-.739l1.92-1.873h-6.874a.529.529%2C0%2C0%2C1-.535-.522h0A.529.529%2C0%2C0%2C1%2C121.063%2C13.816Z%22%20transform%3D%22translate(-120.027%20-10.491)%22%20fill%3D%22%23ffffff%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E")
    }
}

.js-nav-trigger {
    cursor: pointer
}

.js-nav-content[aria-hidden=true] {
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s ease, visibility .3s linear
}

.js-nav-content[aria-hidden=false] {
    visibility: visible;
    opacity: 1;
    transition: opacity .3s ease, visibility 0s linear
}

.js-c-switch-tab {
    cursor: pointer
}

.js-c-switch-content {
    display: none
}

.js-c-switch-content.is-active {
    display: block
}

.js-c-toggle-trigger {
    cursor: pointer
}

.js-c-toggle-content {
    display: none
}

.js-c-toggle-ico {
    position: relative;
    width: 16px;
    height: 16px
}

.js-c-toggle-ico::before,
.js-c-toggle-ico::after {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    margin-top: -1px;
    background-color: rgb(var(--blue500));
    transition: all .3s ease
}

.js-c-toggle-ico.is-gray400::before,
.js-c-toggle-ico.is-gray400::after {
    background-color: rgb(var(--gray400))
}

.js-c-toggle-ico::before {
    transform: rotate(-90deg)
}

.js-c-toggle-trigger.is-active .js-c-toggle-ico::before {
    transform: rotate(0)
}

@media all and (min-width: 768px) {
    .js-c-toggle-ico {
        width: 20px;
        height: 20px
    }

    .js-c-toggle-ico::before,
    .js-c-toggle-ico::after {
        width: 20px;
        height: 2px
    }
}

.splide-visible .splide__track {
    overflow: visible
}

@media all and (min-width: 768px) {
    .splide-visible-pc .splide__track {
        overflow: visible
    }
}

.splide__arrows {
    pointer-events: none
}

.has-slide-bar .splide__arrow {
    top: calc(50% - 10px)
}

@media all and (min-width: 768px) {
    .has-slide-bar .splide__arrow {
        top: calc(50% - 20px)
    }
}

.splide__arrow {
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    top: 50%;
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    opacity: 1;
    pointer-events: auto;
    border-radius: 9999px;
    background: #fff;
    border: 2px solid rgb(var(--blue700));
    transform: translateY(-50%);
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16)
}

.splide__arrow svg {
    width: 9px;
    height: 9px;
    fill: rgb(var(--blue700))
}

.splide__arrow--prev {
    left: 10px
}

.splide__arrow--next {
    right: 10px
}

.splide__arrow:disabled {
    opacity: 0
}

@media all and (min-width: 768px) {
    .splide__arrow {
        width: 60px;
        height: 60px;
        border-width: 3px;
        transition: opacity .3s ease
    }

    .splide__arrow svg {
        width: 13px;
        height: 13px
    }

    .splide__arrow:hover:not(:disabled) {
        opacity: .9
    }

    .splide__arrow--prev {
        left: -35px
    }

    .splide__arrow--next {
        right: -35px
    }
}

.splide-bar-wrap {
    width: 100%;
    max-width: 335px;
    height: 4px;
    margin: 20px auto 0;
    overflow: hidden;
    background: #fff;
    border-radius: 9999px
}

@media all and (min-width: 768px) {
    .splide-bar-wrap {
        position: relative;
        left: 50%;
        max-width: none;
        width: 1040px;
        height: 6px;
        margin: 40px 0 0;
    }
}

.splide-bar {
    height: 100%;
    background: rgb(var(--blue200));
    transition: margin .3s ease
}

[data-theme-splide=dark] .splide-number__current {
    color: #fff
}

[data-theme-splide=dark] .splide-bar-wrap {
    background-color: rgba(255, 255, 255, .2)
}

[data-theme-splide=dark] .splide-bar {
    background: #fff
}

.splide.is-initialized:not(.is-active) .splide-number,
.splide.is-initialized:not(.is-active) .splide-bar-wrap {
    display: none
}

.about-philosophy__inner {
    padding-top: 40px
}

.about-philosophy__item {
    padding: 17px 0 20px;
    position: relative;
    border-bottom: 1px solid rgba(var(--gray300))
}

.about-philosophy__item-lead {
    line-height: var(--line_height_head);
    font-size: 1.8rem
}

.about-philosophy__item::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 20%;
    height: 1px;
    background: rgba(var(--blue700))
}

.about-philosophy__item dt {
    margin-bottom: 10px
}

.about-philosophy__item dt img {
    width: 100px
}

.about-philosophy__item.is-vision img {
    width: 93px
}

.about-philosophy__child {
    margin-top: 15px;
    display: grid;
    gap: 25px 0
}

.about-philosophy__child-item {
    display: grid;
    grid-template-columns: 102px 1fr;
    align-items: center;
    gap: 0 20px
}

.about-philosophy__child-item-lead {
    margin-bottom: 10px;
    line-height: var(--line_height_head);
    font-size: 1.6rem
}

@media all and (min-width: 768px) {
    .about-philosophy__inner {
        padding-top: 80px
    }

    .about-philosophy__item {
        padding: 50px 0
    }

    .about-philosophy__item-lead {
        font-size: 2rem
    }

    .about-philosophy__item::after {
        width: 20%
    }

    .about-philosophy__item dl {
        display: flex;
        align-items: center
    }

    .about-philosophy__item dt {
        width: 275px;
        margin-bottom: 0
    }

    .about-philosophy__item dt img {
        width: 200px
    }

    .about-philosophy__item dd {
        width: calc(100% - 275px)
    }

    .about-philosophy__item.is-vision img {
        width: 158px
    }

    .about-philosophy__child {
        margin-top: 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0 40px
    }

    .about-philosophy__child-item {
        grid-template-columns: none;
        gap: 15px 0
    }

    .about-philosophy__child-item-ico {
        max-width: 140px;
        margin: 0 auto
    }

    .about-philosophy__child-item-lead {
        margin-bottom: 7px;
        font-size: 1.8rem;
        text-align: center
    }

    .about-philosophy__child-item-txt {
        text-align: center
    }
}

.about-overview__inner {
    padding-top: 50px
}

.about-overview__head {
    margin-bottom: 10px
}

.about-overview__txt {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .about-overview__inner {
        padding-top: 120px
    }

    .about-overview__head {
        margin-bottom: 10px
    }

    .about-overview__txt {
        margin-top: 20px
    }
}

.about-safety__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.about-safety__head {
    margin-bottom: 30px
}

@media all and (min-width: 768px) {
    .about-safety__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .about-safety__head {
        margin-bottom: 45px
    }
}

.antisocial-declaration__inner {
    padding-top: 40px;
    padding-bottom: 50px
}

.antisocial-declaration__head {
    margin-bottom: 30px
}

.antisocial-declaration-list {
    margin-top: 40px
}

.antisocial-declaration-list__head {
    margin-bottom: 15px
}

.antisocial-declaration-list__item+.antisocial-declaration-list__item {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .antisocial-declaration__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .antisocial-declaration__head {
        margin-bottom: 45px
    }

    .antisocial-declaration__lead {
        text-align: center
    }

    .antisocial-declaration-list {
        margin-top: 80px
    }

    .antisocial-declaration-list__item+.antisocial-declaration-list__item {
        margin-top: 80px
    }
}

.area-intro {
    position: relative
}

.area-intro::before {
    position: absolute;
    content: "";
    top: -100px;
    left: 0;
    width: 100%;
    height: 100%;
    background: no-repeat 50% 55px/410px auto;
    z-index: -1
}

.no-webp .area-intro::before,
.no-js .area-intro::before {
    background-image: url(../img/area/bg_area_map01%402x.png)
}

.webp .area-intro::before {
    background-image: url(../img/area/bg_area_map01%402x.png.webp)
}

.area-intro__inner {
    padding-top: 40px
}

.area-intro__anchor {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .area-intro::before {
        top: -115px;
        left: auto;
        right: 0;
        width: 100%;
        height: 810px;
        background: no-repeat 70% 55px/70% auto
    }

    .area-intro__inner {
        padding-top: 80px
    }

    .area-intro__anchor {
        margin-top: 48px
    }

    .area-intro__head {
        position: relative
    }

    .area-intro__head-chara {
        position: absolute;
        top: -40px;
        right: 12%;
        width: 119px
    }
}

.beginner-anchor__header {
    position: relative;
    margin-bottom: 15px
}

.beginner-anchor__header-ico {
    position: absolute;
    top: -25px;
    left: 10px;
    width: 40px
}

.beginner-anchor__header-txt {
    display: block
}

.beginner-anchor__head {
    position: relative
}

.beginner-anchor__lead {
    font-size: 1.6rem
}

.beginner-anchor__list {
    margin: 30px -20px 0
}

@media all and (min-width: 768px) {
    .beginner-anchor__inner {
        padding-top: 50px;
        padding-bottom: 100px
    }

    .beginner-anchor__header {
        text-align: center;
        margin-bottom: 45px
    }

    .beginner-anchor__header-ico {
        top: -15px;
        left: 80px;
        width: 69px
    }

    .beginner-anchor__head {
        font-size: 5rem !important;
        display: inline-block
    }

    .beginner-anchor__lead {
        font-size: 2rem;
        text-align: center
    }

    .beginner-anchor__list {
        margin: 60px 0 0
    }
}

.beginner-merit__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.beginner-merit__head {
    margin-bottom: 25px
}

.beginner-merit__set-img img {
    margin-left: -30px
}

.beginner-merit__set+.beginner-merit__set .beginner-merit__set-img img {
    margin: 0 -10px 0 10px
}

@media all and (min-width: 768px) {
    .beginner-merit__inner {
        padding-top: 120px;
        padding-bottom: 110px
    }

    .beginner-merit__head {
        margin-bottom: 55px;
        position: relative
    }

    .beginner-merit__head-chara {
        position: absolute;
        top: -16px;
        left: 68px;
        width: 181px
    }

    .beginner-merit__set+.beginner-merit__set .beginner-merit__set-img {
        padding: 50px 0
    }
}

.beginner-reason {
    position: relative;
    padding-top: 50px
}

.beginner-reason__head .c-head08__main {
    color: #fff;
    font-size: 5rem;
    line-height: 1.2
}

.beginner-reason__head-chara {
    display: block;
    margin: 20px auto 0;
    width: 180px
}

.beginner-reason__contents {
    border-radius: 30px 30px 0 0;
    padding-top: 40px
}

.beginner-reason__inner {
    display: grid;
    row-gap: 30px;
    align-items: start
}

@media all and (min-width: 768px) {
    .beginner-reason {
        padding-top: 0
    }

    .beginner-reason__wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .beginner-reason__head {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-bottom: 70px;
        flex-direction: column
    }

    .beginner-reason__head .c-head08__main {
        font-size: 5.5rem
    }

    .beginner-reason__head-chara {
        margin: 20px auto 0;
        width: 250px
    }

    .beginner-reason__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 60px 60px;
        display: grid
    }

    .beginner-reason__contents {
        position: relative;
        z-index: 2;
        margin-top: -70px;
        border-radius: 80px 80px 0 0;
        padding-top: 123px
    }
}

@media all and (min-width: 1160px) {
    .beginner-reason__head .c-head08__main {
        font-size: 5.5rem
    }

    .beginner-reason__head-chara {
        margin: 25px auto 0;
        width: 300px
    }
}

@media all and (min-width: 1360px) {
    .beginner-reason__head .c-head08__main {
        font-size: clamp(6rem, 5vw, 10.2rem)
    }

    .beginner-reason__head-chara {
        margin: 35px auto 0;
        width: 420px
    }
}

.beginner-flow {
    overflow: hidden;
    position: relative
}

.beginner-flow__bg {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    height: 62.66vw
}

.beginner-flow__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.beginner-flow__head {
    position: relative;
    z-index: 2
}

.beginner-flow__slider {
    position: relative;
    z-index: 2;
    margin-top: 30px
}

.beginner-flow__btn {
    margin-top: 20px
}

.beginner-flow__box {
    row-gap: 20px;
    margin: 40px 0 0
}

.beginner-flow__box-img {
    margin: -30px -30px 0
}

.beginner-flow__box-img img {
    border-radius: 10px 10px 0 0
}

.beginner-flow__box-head {
    font-size: 2.2rem
}

@media all and (min-width: 768px) {
    .beginner-flow__bg {
        height: 410px
    }

    .beginner-flow__inner {
        padding-top: 120px;
        padding-bottom: 140px
    }

    .beginner-flow__head {
        margin-bottom: 50px
    }

    .beginner-flow__btn {
        margin-top: 50px
    }

    .beginner-flow__box {
        margin: 60px 0 0;
        padding: 50px;
        width: auto;
        gap: 0 40px;
        grid-template-columns: 50% 1fr
    }

    .beginner-flow__box-head {
        font-size: 3.2rem;
        margin-bottom: 30px
    }

    .beginner-flow__box-img {
        margin: -50px 0 -50px -50px
    }

    .beginner-flow__box-img img {
        border-radius: 30px 0 0 30px
    }
}

@media all and (min-width: 1360px) {
    .beginner-flow__box {
        gap: 0 95px;
        padding: 85px;
        margin: 60px -120px 0
    }

    .beginner-flow__box-img {
        margin: -85px 0 -85px -85px
    }
}

.beginner-flow__item {
    position: relative;
    padding: 30px 20px 20px;
    background: #fff
}

.beginner-flow__item::after {
    position: absolute;
    top: 50%;
    left: -20px;
    width: 13px;
    height: 23px;
    background-color: rgb(var(--blue500))
}

.beginner-flow__item-step {
    position: absolute;
    top: -10px;
    left: 50%;
    padding: 0 25px;
    white-space: nowrap;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 9999px;
    background: rgb(var(--blue700));
    transform: translateX(-50%)
}

.beginner-flow__item-head {
    margin-top: 15px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: var(--line_height_head)
}

.beginner-flow__item-txt {
    margin-top: 5px
}

@media all and (min-width: 768px) {
    .beginner-flow__item-head {
        padding: 0 10px;
        font-size: 2rem
    }

    .beginner-flow__item-txt {
        padding: 0 10px;
        font-size: 1.5rem
    }
}

.beginner-flow-unlimited {
    margin-top: 30px
}

.beginner-flow-unlimited__head {
    max-width: 220px;
    width: 64%;
    margin-bottom: 15px
}

.beginner-flow-unlimited__chara {
    top: 48vw
}

@media all and (min-width: 768px) {
    .beginner-flow-unlimited__inner {
        padding-top: 30px;
        padding-bottom: 0;
        padding-right: 0;
        padding-left: 0
    }

    .beginner-flow-unlimited__head {
        max-width: 422px;
        width: 90%;
        margin-bottom: 40px
    }
}

.beginner-price__head {
    margin-bottom: 15px
}

@media all and (min-width: 768px) {
    .beginner-price__head {
        margin-bottom: 30px
    }
}

.beginner-entrust {
    overflow: hidden;
    position: relative
}

.beginner-entrust::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 70px);
    background: no-repeat 0 0/cover
}

.no-webp .beginner-entrust::before,
.no-js .beginner-entrust::before {
    background-image: url(../img/beginner/bg_entrust01%402x.png)
}

.webp .beginner-entrust::before {
    background-image: url(../img/beginner/bg_entrust01%402x.png.webp)
}

.beginner-entrust__inner {
    position: relative;
    padding-top: 50px;
    padding-bottom: 50px
}

.beginner-entrust__head {
    max-width: 300px;
    margin: 0 auto;
    position: relative;
    text-align: center
}

.beginner-entrust__head::before,
.beginner-entrust__head::after {
    position: absolute;
    content: "";
    top: -15px;
    width: 65px;
    height: 80px;
    background: 0 0 no-repeat;
    background-size: contain;
    z-index: 1
}

.beginner-entrust__head::before {
    left: -45px
}

.no-webp .beginner-entrust__head::before,
.no-js .beginner-entrust__head::before {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/img_confetti01_left%402x.png)
}

.webp .beginner-entrust__head::before {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/img_confetti01_left%402x.png.webp)
}

.beginner-entrust__head::after {
    right: -45px
}

.no-webp .beginner-entrust__head::after,
.no-js .beginner-entrust__head::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/img_confetti01_right%402x.png)
}

.webp .beginner-entrust__head::after {
    background-image: url(/wp-content/themes/spot-tochigi/img/common/img_confetti01_right%402x.png.webp)
}

.beginner-entrust__head-txt {
    display: inline-block;
    position: relative;
    margin-bottom: 15px;
    z-index: 2
}

.beginner-entrust__content {
    padding: 40px 30px 13vh
}

.beginner-entrust__img-list {
    position: absolute;
    bottom: -10px;
    width: 100%;
    left: 50%;
    transform: translateX(-50%)
}

.beginner-entrust__img.is-item01 {
    max-width: 190px;
    width: 50%;
    margin: 0 auto
}

.beginner-entrust__slider {
    margin: 10px -20px 0
}

@media all and (min-width: 768px) {
    .beginner-entrust::before {
        height: calc(100% - 70px)
    }

    .no-webp .beginner-entrust::before,
    .no-js .beginner-entrust::before {
        background-image: url(../img/beginner/bg_entrust01_pc.png)
    }

    .webp .beginner-entrust::before {
        background-image: url(../img/beginner/bg_entrust01_pc.png.webp)
    }

    .beginner-entrust__inner {
        padding-top: 120px;
        padding-bottom: 40px
    }

    .beginner-entrust__head {
        max-width: 400px;
        text-align: center;
        margin-bottom: 15px
    }

    .beginner-entrust__head::before,
    .beginner-entrust__head::after {
        top: 0;
        width: 100px;
        height: 160px
    }

    .beginner-entrust__head::before {
        left: -30%
    }

    .beginner-entrust__head::after {
        right: -30%
    }

    .beginner-entrust__head-txt {
        display: inline-block;
        font-size: 4rem !important
    }

    .beginner-entrust__txt {
        text-align: center
    }

    .beginner-entrust__content {
        padding: 80px 120px 16vh
    }

    .beginner-entrust__img-list {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        bottom: -25px;
        width: 90%
    }

    .beginner-entrust__img.is-item01 {
        order: 2;
        max-width: 460px;
        width: 85%;
        margin: 0 0 0 57px
    }

    .beginner-entrust__img.is-item02 {
        order: 1;
        width: 100%;
        max-width: 380px
    }

    .beginner-entrust__img.is-item03 {
        margin-left: 57px;
        order: 3;
        max-width: 430px;
        width: 100%
    }

    .beginner-entrust__slider {
        margin: 25px 0 0
    }
}

@media all and (min-width: 1360px) {
    .beginner-entrust__content {
        padding: 80px 120px 22vh
    }

    .beginner-entrust__img-list {
        bottom: -15px;
        width: 120%
    }

    .beginner-entrust__img.is-item01 {
        order: 2;
        max-width: 460px;
        width: 29%;
        margin: 0 0 -30px 57px
    }

    .beginner-entrust__img.is-item02 {
        order: 1;
        width: 100%;
        max-width: 380px
    }

    .beginner-entrust__img.is-item03 {
        margin-left: 57px;
        order: 3;
        max-width: 430px;
        width: 100%
    }
}

.case-filter__inner {
    padding-top: 40px
}

@media all and (min-width: 768px) {
    .case-filter__inner {
        padding-top: 90px
    }
}

.case-archive__inner {
    padding-top: 40px
}

.case-archive:last-of-type .case-archive__inner {
    padding-bottom: 60px
}

.case-archive+.case-archive .case-archive__inner {
    padding-top: 50px
}

.case-archive__head:not(:first-of-type) {
    margin-top: 54px
}

.case-archive__list {
    margin-top: 20px
}

.case-archive__btn-wrap {
    margin-top: 10px
}

@media all and (min-width: 768px) {
    .case-archive__inner {
        padding-top: 80px
    }

    .case-archive:last-of-type .case-archive__inner {
        padding-bottom: 120px
    }

    .case-archive+.case-archive .case-archive__inner {
        padding-top: 120px
    }

    .case-archive__list {
        margin-top: 45px
    }

    .case-archive__btn-wrap {
        margin-top: 60px;
        padding: 30px;
        background-color: rgba(var(--blue100))
    }
}

.column-filter__inner {
    padding-top: 30px
}

@media all and (min-width: 768px) {
    .column-filter__inner {
        padding-top: 90px
    }
}

.column-archive {
    margin-top: 55px
}

.column-archive__inner {
    padding-bottom: 50px
}

.column-archive__list {
    margin-top: 25px
}

@media all and (min-width: 768px) {
    .column-archive {
        margin-top: 80px
    }

    .column-archive__inner {
        padding-bottom: 120px
    }

    .column-archive__list {
        margin-top: 40px
    }
}

.column-single {
    padding-top: 55px;
    padding-bottom: 60px
}

@media all and (min-width: 768px) {
    .column-single {
        padding-top: 90px;
        padding-bottom: 100px
    }
}

.column-related__inner {
    padding-bottom: 60px
}

.column-related__list {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .column-related__inner {
        padding-bottom: 120px
    }

    .column-related__list {
        margin-top: 40px
    }
}

.contact-cv__inner {
    position: relative;
    padding-top: 92px;
    padding-bottom: 50px
}

.contact-cv__box {
    padding: 35px 30px 30px;
    border: 4px solid rgba(var(--blue300))
}

.contact-cv__box-item+.contact-cv__box-item {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgb(var(--gray300))
}

.contact-cv__box-item+.contact-cv__box-item .contact-cv__btn {
    margin: 20px -15px 0
}

.contact-cv__chara {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 91px
}

.contact-cv__head {
    margin-bottom: 13px
}

.contact-cv__btn {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .contact-cv__inner {
        padding-top: 75px;
        padding-bottom: 85px
    }

    .contact-cv__box {
        padding: 65px 50px 60px;
        display: grid;
        border-width: 6px;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto 1fr;
        gap: 0 120px
    }

    .contact-cv__box-item+.contact-cv__box-item {
        position: relative;
        margin-top: 0;
        padding-top: 0;
        border-top: 0
    }

    .contact-cv__box-item+.contact-cv__box-item::before {
        position: absolute;
        content: "";
        top: 0;
        left: -60px;
        width: 1px;
        height: 100%;
        background: rgb(var(--gray300))
    }

    .contact-cv__box-item+.contact-cv__box-item .contact-cv__btn {
        margin: 25px 20px 0
    }

    .contact-cv__box-item+.contact-cv__box-item .contact-cv__btn .c-btn-cv01__link {
        flex-direction: row
    }

    .contact-cv__chara {
        top: auto;
        bottom: 50px;
        width: 138px;
        z-index: 2
    }

    .contact-cv__head {
        position: relative;
        margin-bottom: 15px
    }

    .contact-cv__head-ico {
        position: absolute;
        top: -60px;
        left: -60px;
        width: 100px
    }

    .contact-cv__txt {
        font-size: 1.4rem
    }
}

.contact-form__inner {
    padding-bottom: 50px
}

.contact-form__head {
    margin-bottom: 20px;
    font-size: 2.4rem
}

.contact-form__step {
    margin-top: 30px
}

.contact-form-main {
    margin-top: 40px;
    padding: 26px;
    border: 4px solid rgb(var(--blue300))
}

.contact-form__guide {
    padding: 15px 20px;
    font-size: 1.6rem;
    border: 1px solid rgb(var(--blue500))
}

@media all and (min-width: 768px) {
    .contact-form__inner {
        padding-bottom: 120px
    }

    .contact-form__head {
        font-size: 3.6rem
    }

    .contact-form__txt {
        margin-top: 45px
    }

    .contact-form__step {
        margin-top: 40px
    }

    .contact-form-main {
        margin-top: 50px;
        border-width: 8px;
        padding: 82px 72px 50px
    }

    .contact-form__guide {
        margin-bottom: -30px;
        padding: 25px;
        font-size: 1.7rem;
        line-height: 1.8
    }
}

.contact-message__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.contact-message__step {
    margin-top: 0
}

.contact-message__head {
    margin-top: 30px
}

.contact-message__txt {
    margin-top: 30px
}

.contact-message__txt:not(:first-of-type) {
    margin-top: 10px
}

.contact-message__btn {
    margin-top: 30px
}

@media all and (max-width: 767px) {
    .contact-message {
        border-bottom: 1px solid rgb(var(--gray300))
    }
}

@media all and (min-width: 768px) {
    .contact-message__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .contact-message__head {
        margin-top: 80px
    }

    .contact-message__txt {
        width: 800px;
        margin: 40px auto 0
    }

    .contact-message__txt:not(:first-of-type) {
        margin-top: 10px
    }

    .contact-message__btn {
        margin-top: 40px
    }
}

#error .l-sub-img {
    display: none
}

.error-page404__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.error-page404__head {
    margin-bottom: 30px
}

.error-page404__ico {
    display: block;
    width: 75px;
    margin: 30px auto 0
}

.error-page404__btn {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .error-page404__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .error-page404__head {
        margin-bottom: 45px
    }

    .error-page404__ico {
        width: 95px;
        margin: 40px auto 0
    }

    .error-page404__btn {
        margin-top: 50px
    }
}

#estimate .l-breadcrumb {
    position: absolute;
    top: 115px;
    left: 0;
    right: 0;
    z-index: 1
}

@media all and (min-width: 768px) {
    #estimate .l-breadcrumb {
        top: 0
    }
}

#estimate .estimate-step02 {
    display: none
}

#estimate .mw_wp_form_confirm .l-sub-img-estimate,
#estimate .mw_wp_form_confirm .estimate-step01,
#estimate .mw_wp_form_confirm .c-bnrs-footer,
[data-estimate=result] #estimate .l-sub-img-estimate,
[data-estimate=result] #estimate .estimate-step01,
[data-estimate=result] #estimate .c-bnrs-footer {
    display: none
}

#estimate .mw_wp_form_confirm .estimate-step02,
[data-estimate=result] #estimate .estimate-step02 {
    display: block
}

.estimate-dialog {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 999;
    padding: 30px 15px;
    transform: translate(-50%, -50%);
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .2), 0 0 20px rgba(0, 0, 0, .1)
}

.estimate-dialog__ico {
    width: 30px
}

.estimate-dialog__txt {
    margin-top: 5px;
    text-align: center;
    line-height: var(--line_height_head);
    font-weight: 900
}

.estimate-dialog__btns {
    display: grid;
    grid-template-columns: repeat(2, 150px);
    -moz-column-gap: 10px;
    column-gap: 10px;
    margin-top: 10px
}

.estimate-dialog__btn {
    border-radius: 9999px;
    border: 0;
    font-weight: 900;
    height: 40px;
    font-size: 1.6rem
}

@media all and (min-width: 768px) {
    .estimate-dialog {
        padding: 30px 50px
    }

    .estimate-dialog__txt {
        margin-top: 10px;
        font-size: 1.8rem
    }

    .estimate-dialog__btns {
        grid-template-columns: repeat(2, 180px);
        margin-top: 20px
    }

    .estimate-dialog__btn {
        height: 50px;
        font-size: 1.8rem
    }
}

.estimate-data {
    position: relative;
    z-index: 1;
    margin-top: -55px;
    border-radius: 30px 30px 0 0
}

.estimate-data__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.estimate-data__txt {
    margin-bottom: 20px;
    line-height: var(--line_height_head);
    font-weight: 900;
    font-size: 2.4rem
}

.estimate-data__head {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 16px;
    align-items: center;
    padding: 12px 15px 9px;
    font-size: 1.8rem
}

.estimate-data__head:not(:first-of-type) {
    margin-top: 10px
}

.estimate-data__content {
    display: grid;
    row-gap: 30px;
    margin-top: 25px;
    padding-bottom: 30px
}

.estimate-data__cat-head {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    padding: 3px 10px;
    -moz-column-gap: 3px;
    column-gap: 3px;
    border-radius: 10px 10px 0 0;
    background: rgb(var(--blue500));
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    line-height: var(--line_height_head)
}

.estimate-data__cat-content {
    display: grid;
    grid-template-columns: 1fr 28px 37px 28px;
    align-items: center;
    -moz-column-gap: 10px;
    column-gap: 10px;
    line-height: var(--line_height_head);
    padding: 18px 10px;
    border: 1px solid rgb(var(--gray300));
    border-top: 0
}

.estimate-data__cat-content [data-count] {
    position: relative;
    height: 28px;
    padding: 0;
    border-radius: 4px;
    border: 1px solid rgb(var(--blue500));
    box-shadow: 0 3px 0 0 rgb(var(--blue500))
}

.estimate-data__cat-content [data-count]::before,
.estimate-data__cat-content [data-count]::after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    transform: translate(-50%, -50%);
    background: rgb(var(--blue500))
}

.estimate-data__cat-content [data-count=down]::after {
    display: none
}

.estimate-data__cat-content [data-count=up]::after {
    transform: translate(-50%, -50%) rotate(90deg)
}

.estimate-data__cat-content label {
    font-weight: 700
}

.estimate-data__cat-content input {
    height: 30px;
    padding: 0;
    border: 1px solid rgb(var(--gray300));
    border-radius: 4px;
    text-align: center;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    font-family: inherit;
    text-align: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.estimate-data__cat-content input:disabled {
    opacity: 1
}

.estimate-data__cat-content input::-webkit-outer-spin-button,
.estimate-data__cat-content input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.estimate-data__errors {
    display: none;
    padding: 15px;
    line-height: var(--line_height_head)
}

.estimate-data__btns {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center
}

@media all and (min-width: 768px) {
    .estimate-data {
        margin-top: -81px;
        border-radius: 80px 80px 0 0
    }

    .estimate-data__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .estimate-data__txt {
        margin-bottom: 55px;
        font-size: 3.6rem
    }

    .estimate-data__head {
        grid-template-columns: 1fr 20px;
        padding: 19px 30px 19px 40px;
        font-size: 2.2rem
    }

    .estimate-data__head:not(:first-of-type) {
        margin-top: 20px
    }

    .estimate-data__content {
        row-gap: 60px;
        margin-top: 40px
    }

    .estimate-data__cat {
        display: grid;
        grid-template-columns: repeat(3, 1fr)
    }

    .estimate-data__cat-head {
        grid-column: 1/4;
        grid-template-columns: 46px 1fr;
        -moz-column-gap: 15px;
        column-gap: 15px;
        padding: 12px 20px;
        font-size: 2rem
    }

    .estimate-data__cat-content {
        padding: 20px
    }

    .estimate-data__cat-content:not(:nth-of-type(3n-2)) {
        border-left: 0
    }

    .estimate-data__cat-content input {
        height: 30px;
        font-size: 1.6rem
    }

    .estimate-data__cat-content [data-count] {
        transition: background-color .3s ease
    }

    .estimate-data__cat-content [data-count]:hover {
        background-color: rgb(var(--blue500))
    }

    .estimate-data__cat-content [data-count]:hover::before,
    .estimate-data__cat-content [data-count]:hover::after {
        background: #fff
    }

    .estimate-data__cat-content [data-count]:active {
        margin-top: 2px;
        height: 26px;
        box-shadow: 0
    }
}

.estimate-data__start {
    display: grid;
    place-content: center;
    row-gap: 5px;
    width: 120px;
    height: 120px;
    margin: 30px auto 0;
    padding: 0;
    border: 3px solid #2a2a2a;
    border-radius: 9999px;
    font-size: 1.6rem;
    box-shadow: 0 0 0 3px #fff inset, 0 3px 6px rgba(0, 0, 0, .16)
}

.estimate-data__start::after {
    margin: auto
}

@media all and (min-width: 768px) {
    .estimate-data__start {
        position: relative;
        width: 508px;
        height: 88px;
        font-size: 2.2rem;
        border-width: 4px;
        transition: background-color .3s ease
    }

    .estimate-data__start:hover {
        background-color: rgb(var(--red300))
    }

    .estimate-data__start::after {
        position: absolute;
        top: 50%;
        right: 25px;
        transform: translateY(-50%)
    }
}

.estimate-data__reset {
    display: inline-grid;
    place-content: center;
    width: auto;
    height: 45px;
    padding: 0;
    border: 0;
    text-decoration: underline
}

.estimate-data__reset-txt {
    display: grid;
    grid-template-columns: auto 15px;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 5px;
    column-gap: 5px;
    font-size: 1.3rem
}

.estimate-data__reset-txt::after {
    content: "";
    height: 15px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215.463%22%20height%3D%2215.899%22%3E%3Cpath%20fill%3D%22%233f97e2%22%20d%3D%22M4.821%2015.337a7.711%207.711%200%200%201-2.557-1.683%207.658%207.658%200%200%201%204.333-13%207.8%207.8%200%200%201%204.007.462l.781-1.114.852%201.8%201.011%202.135-4.362-.366.642-.918a5.546%205.546%200%200%200-.835-.2%206.03%206.03%200%200%200-1.829-.017%205.9%205.9%200%200%200-3.312%201.656%205.828%205.828%200%200%200%200%208.287%205.948%205.948%200%200%200%208.359%200%205.789%205.789%200%200%200%201.733-4.143.909.909%200%200%201%201.818%200%207.608%207.608%200%200%201-2.265%205.42%207.791%207.791%200%200%201-8.377%201.683Z%22%20data-name%3D%22%E5%90%88%E4%BD%93%20772%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/cover
}

@media all and (min-width: 768px) {
    .estimate-data__reset {
        margin-top: 20px
    }

    .estimate-data__reset-txt {
        grid-template-columns: auto 18px;
        font-weight: 700;
        font-size: 1.8rem
    }

    .estimate-data__reset-txt::after {
        height: 18px
    }
}

.estimate-data-processing {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 20px 50px;
    transform: translate(-50%, -50%);
    background: rgb(var(--gray900), 0.9);
    white-space: nowrap
}

.estimate-data-processing__txt {
    font-weight: 700;
    font-size: 1.8rem
}

.estimate-data-processing__dot {
    display: grid;
    grid-template-columns: repeat(3, 2px);
    justify-content: center;
    -moz-column-gap: 15px;
    column-gap: 15px;
    margin-top: 8px
}

.estimate-data-processing__dot span {
    display: block;
    width: 2px;
    height: 2px;
    background: #fff;
    border-radius: 50%;
    -webkit-animation: dotScale 1.2s ease infinite;
    animation: dotScale 1.2s ease infinite
}

.estimate-data-processing__dot span:nth-of-type(2) {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

.estimate-data-processing__dot span:nth-of-type(3) {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

@media all and (min-width: 768px) {
    .estimate-data-processing {
        padding: 50px 100px
    }

    .estimate-data-processing__txt {
        font-size: 2.4rem
    }
}

@-webkit-keyframes dotScale {
    0% {
        transform: scale(1)
    }

    40% {
        transform: scale(4)
    }

    100% {
        transform: scale(1)
    }
}

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

    40% {
        transform: scale(4)
    }

    100% {
        transform: scale(1)
    }
}

.estimate-data-notes {
    display: grid;
    row-gap: 15px;
    margin-top: 30px;
    padding: 30px;
    background: rgb(var(--yellow500), 0.1)
}

.estimate-data-notes__head {
    display: grid;
    grid-template-columns: 32px 1fr;
    -moz-column-gap: 8px;
    column-gap: 8px;
    align-items: center;
    font-size: 1.6rem
}

.estimate-data-notes__list {
    display: grid;
    row-gap: 10px
}

.estimate-data-notes__item::before {
    content: "※"
}

@media all and (min-width: 768px) {
    .estimate-data-notes {
        position: relative;
        margin-top: 40px;
        padding: 50px
    }

    .estimate-data-notes__head {
        grid-template-columns: 40px 1fr;
        -moz-column-gap: 15px;
        column-gap: 15px;
        font-size: 2.4rem
    }

    .estimate-data-notes__list {
        row-gap: 0
    }

    .estimate-data-notes__chara {
        position: absolute;
        right: 50px;
        bottom: -22px;
        width: 130px
    }
}

.estimate-result {
    position: relative;
    z-index: 0
}

.estimate-result__inner {
    position: relative;
    z-index: 1;
    padding-top: 145px;
    height: 410px;
    box-sizing: border-box
}

.estimate-result__total {
    position: relative;
    width: 275px;
    margin: 30px auto 0;
    border-radius: 9999px
}

.estimate-result__total-label {
    position: absolute;
    top: 0;
    left: 50%;
    display: inline-block;
    padding: 7px 20px;
    border-radius: 9999px;
    transform: translate(-50%, -50%);
    white-space: nowrap
}

.estimate-result__total-price {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 90px;
    padding-top: 8px;
    box-sizing: border-box
}

.estimate-result__total-price-yen {
    position: relative;
    top: 5px;
    font-size: 2.6rem;
    font-weight: 900
}

.estimate-result__total-price-num {
    font-size: 4rem
}

.estimate-result__btn {
    display: grid;
    place-content: center
}

.estimate-result__bg {
    position: absolute;
    z-index: 0;
    display: block;
    bottom: 30px;
    left: 50%;
    width: 335px;
    transform: translateX(-50%)
}

@media all and (min-width: 768px) {
    .estimate-result__inner {
        height: 660px;
        padding-top: 207px
    }

    .estimate-result__total {
        width: 656px;
        margin-top: 55px
    }

    .estimate-result__total-label {
        padding: 5px 30px;
        font-size: 2.4rem
    }

    .estimate-result__total-price {
        padding-top: 10px;
        height: 157px
    }

    .estimate-result__total-price-yen {
        top: 12px;
        font-size: 4.4rem
    }

    .estimate-result__total-price-num {
        font-size: 7rem
    }

    .estimate-result__bg {
        width: 862px;
        bottom: 70px
    }
}

.estimate-promote {
    position: relative;
    z-index: 1;
    margin-top: -31px;
    border-radius: 30px 30px 0 0;
    background-image: linear-gradient(0deg, rgb(var(--yellow100)) 0%, rgb(var(--yellow100)) 80px, #fff 80.1px, #fff 100%)
}

.estimate-promote::before {
    position: absolute;
    content: "";
    display: block;
    bottom: 100%;
    left: 50%;
    width: 0;
    height: 0;
    border: solid transparent;
    border-top-color: rgb(var(--yellow700));
    border-width: 25px 48px;
    transform: translate(-50%, 37px)
}

.estimate-promote__inner {
    position: relative;
    z-index: 1;
    padding-top: 40px
}

.estimate-promote__chara {
    position: absolute;
    top: -87px;
    left: 50%;
    transform: translateX(calc(50vw - 100px));
    width: 100px;
    height: 149px
}

.estimate-promote__chara img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left top;
    object-position: left top
}

.estimate-promote__header {
    display: grid;
    row-gap: 5px;
    text-align: center
}

.estimate-promote__header-main {
    font-size: 2.6rem
}

.estimate-promote-point {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 19px auto 0;
    max-width: 220px;
    gap: 0 10px
}

.estimate-promote-point__item {
    width: 50%;
    display: grid;
    place-content: center;
    height: 107px;
    padding-top: 10px;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.3;
    background: no-repeat 0 0/cover
}

.no-webp .estimate-promote-point__item,
.no-js .estimate-promote-point__item {
    background-image: url(../img/estimate/bg_point01%402x.png)
}

.webp .estimate-promote-point__item {
    background-image: url(../img/estimate/bg_point01%402x.png.webp)
}

@media all and (min-width: 768px) {
    .estimate-promote {
        margin-top: -81px;
        border-radius: 80px 80px 0 0;
        background-image: linear-gradient(0deg, rgb(var(--yellow100)) 0%, rgb(var(--yellow100)) 105px, #fff 105.1px, #fff 100%)
    }

    .estimate-promote::before {
        border-width: 40px 76px;
        transform: translate(-50%, 50px)
    }

    .estimate-promote__inner {
        padding-top: 65px
    }

    .estimate-promote__header-sub {
        font-size: 2.2rem
    }

    .estimate-promote__header-main {
        font-size: 4rem
    }

    .estimate-promote-point {
        max-width: 360px;
        margin: auto;
        margin-top: 40px
    }

    .estimate-promote-point__item {
        height: 172px;
        padding-top: 35px;
        font-size: 2.4rem
    }

    .estimate-promote__chara {
        width: 197px;
        height: auto;
        top: -187px;
        transform: translateX(267px)
    }
}

.estimate-promote-cv {
    margin-top: 40px
}

.estimate-promote-cv__head {
    text-align: center;
    font-size: 2.4rem
}

.estimate-promote-cv__tel {
    margin-top: 20px
}

.estimate-promote-cv__tel-link {
    display: block;
    padding-bottom: 10px;
    border-radius: 10px;
    border: 3px solid rgb(var(--blue500));
    background: #fff
}

.estimate-promote-cv__tel-txt {
    padding: 7px 0;
    color: #fff;
    text-align: center;
    background: rgb(var(--blue500))
}

.estimate-promote-cv__tel-num {
    display: grid;
    grid-template-columns: 39px auto;
    justify-content: center;
    align-items: end;
    margin-top: 10px;
    font-size: 3.4rem
}

.estimate-promote-cv__tel-open {
    font-size: 1.1rem;
    font-weight: 900;
    text-align: center
}

@media all and (min-width: 768px) {
    .estimate-promote-cv {
        max-width: 900px;
        margin: 80px auto 0
    }

    .estimate-promote-cv__head {
        font-size: 3.6rem
    }

    .estimate-promote-cv__tel {
        margin-top: 45px
    }

    .estimate-promote-cv__tel-link {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        pointer-events: none
    }

    .estimate-promote-cv__tel-txt {
        padding: 10px 0 15px;
        flex-basis: 100%;
        font-size: 1.8rem
    }

    .estimate-promote-cv__tel-num {
        margin: 40px 0;
        grid-template-columns: 54px auto;
        -moz-column-gap: 6px;
        column-gap: 6px;
        font-size: 5rem
    }

    .estimate-promote-cv__tel-open {
        margin: 0 0 0 24px;
        text-align: left;
        font-size: 1.4rem;
        line-height: var(--line_height_head)
    }
}

.estimate-form__inner {
    padding-top: 50px;
    padding-bottom: 40px
}

.estimate-form__head {
    text-align: center;
    font-size: 2.4rem
}

.estimate-form__txt {
    margin-top: 25px;
    text-align: center
}

.estimate-form__imgs {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-top: 20px
}

.estimate-form__imgs-item {
    width: 102px
}

.estimate-form__imgs-item:first-of-type {
    width: 97px;
    margin-right: -5px
}

.estimate-form-main {
    padding: 30px
}

@media all and (min-width: 768px) {
    .estimate-form__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .estimate-form__head {
        font-size: 3.6rem
    }

    .estimate-form__imgs {
        justify-content: space-between;
        margin-top: -100px;
        padding: 0 100px
    }

    .estimate-form__imgs-item {
        width: 177px
    }

    .estimate-form__imgs-item:first-of-type {
        width: 169px
    }

    .estimate-form-main {
        padding: 90px 90px 60px
    }
}

.example-intro__inner {
    padding-top: 40px
}

.example-intro.has-bottom .example-intro__inner {
    padding-top: 0;
    padding-bottom: 50px
}

@media all and (min-width: 768px) {
    .example-intro__inner {
        padding-top: 90px
    }

    .example-intro.has-bottom .example-intro__inner {
        padding-top: 0;
        padding-bottom: 100px
    }
}

.example-archive {
    padding-bottom: 50px
}

.example-archive__inner {
    padding-top: 30px
}

.example-archive__head {
    margin-bottom: 20px
}

.example-archive-result {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    line-height: 1
}

.example-archive-result__txt {
    position: relative;
    top: 3px;
    margin-left: 15px;
    font-size: 2.4rem
}

.example-archive-result__txt-suffix {
    font-size: 1.7rem
}

.example-archive__list {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .example-archive {
        padding-bottom: 120px
    }

    .example-archive__inner {
        padding-top: 40px
    }

    .example-archive__head {
        margin-bottom: 25px
    }

    .example-archive-result {
        margin: 0;
        padding-left: 40px
    }

    .example-archive-result__txt {
        font-size: 3.2rem
    }

    .example-archive__list {
        margin-top: 30px
    }
}

.faq-archive__inner {
    display: grid;
    row-gap: 10px;
    padding-top: 40px;
    padding-bottom: 50px
}

.faq-archive-sec {
    padding: 0 20px
}

.faq-archive-sec__head {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 16px;
    align-items: center;
    margin: 0 -20px;
    padding: 12px 15px;
    font-size: 1.8rem
}

.faq-archive-sec__head__content.is-active {
    padding-bottom: 20px
}

.faq-archive-sec__list {
    display: grid;
    row-gap: 5px
}

.faq-archive-sec__content {
    margin-bottom: 20px
}

@media all and (min-width: 768px) {
    .faq-archive__inner {
        padding-top: 85px;
        padding-bottom: 120px;
        row-gap: 20px
    }

    .faq-archive-sec {
        padding: 0 30px
    }

    .faq-archive-sec__head {
        margin: 0 -30px;
        padding: 19px 40px;
        font-size: 2.2rem
    }

    .faq-archive-sec__head[class*=toggle]::before,
    .faq-archive-sec__head[class*=toggle]::after {
        right: 40px;
        width: 20px
    }

    .faq-archive-sec__content.is-active {
        padding-bottom: 30px
    }
}

.flow-intro {
    overflow: hidden;
    position: relative
}

.flow-intro::before {
    position: absolute;
    content: "";
    z-index: -2;
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(100% - 310px);
    background-image: linear-gradient(90deg, rgb(var(--blue700)) 0%, rgb(var(--blue700)) 50%, rgb(var(--blue500)) 50.05%, rgb(var(--blue500)) 100%)
}

.flow-intro__inner {
    padding-top: 60px;
    padding-bottom: 60px
}

.flow-intro__lead {
    margin-top: 25px
}

@media all and (min-width: 768px) {
    .flow-intro::before {
        top: 290px
    }

    .flow-intro__inner {
        padding-top: 70px;
        padding-bottom: 120px
    }

    .flow-intro__lead {
        margin-top: 40px
    }
}

.flow-entrust {
    position: relative
}

.flow-entrust__inner {
    padding-top: 60px;
    padding-bottom: 60px
}

.flow-entrust__content {
    border: 1px solid rgba(var(--blue500));
    padding: 30px 20px 100px
}

.flow-entrust__head {
    margin-bottom: 20px
}

.flow-entrust__img {
    width: 175px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)
}

@media all and (min-width: 768px) {
    .flow-entrust {
        position: relative;
        margin-top: -20px;
    }

    .flow-entrust::before {
        position: absolute;
        content: "";
        bottom: -330px;
        left: 0;
        width: 100%;
        height: 330px;
        background-color: rgba(var(--blue300));
        z-index: 1
    }

    .flow-entrust__inner {
        padding-top: 115px;
        padding-bottom: 80px
    }

    .flow-entrust__head-main {
        font-size: 4rem
    }

    .flow-entrust__content {
        padding: 80px 120px 160px
    }

    .flow-entrust__txt {
        text-align: center
    }

    .flow-entrust__img {
        width: 270px
    }
}

@media all and (min-width: 1360px) {
    .flow-entrust__content {
        padding: 80px 120px 210px
    }

    .flow-entrust__img {
        width: 320px
    }
}

.guide-intro__inner {
    position: relative;
    padding-top: 50px;
    padding-bottom: 85px
}

.guide-intro__set {
    row-gap: 30px
}

.guide-intro__head {
    font-size: 2rem
}

.guide-intro__chara {
    position: absolute;
    bottom: 35px;
    left: 0;
    width: 222px
}

@media all and (min-width: 768px) {
    .guide-intro__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .guide-intro__head {
        font-size: 2.8rem
    }

    .guide-intro__chara {
        bottom: 35px;
        left: 50%;
        width: 345px
    }
}

.guide-trouble__inner {
    position: relative;
    padding-top: 50px;
    padding-bottom: 80px
}

.guide-trouble__head {
    max-width: 250px;
    margin: 0 auto;
    position: relative
}

.guide-trouble__head-ico {
    position: absolute;
    bottom: 0;
    right: -13%;
    width: 60px
}

@media all and (min-width: 768px) {
    .guide-trouble__inner {
        padding-top: 120px;
        padding-bottom: 150px
    }

    .guide-trouble__inner::after {
        position: absolute;
        content: "";
        display: block;
        bottom: 28px;
        left: 50%;
        width: 133px;
        height: 147px;
        background: no-repeat 0 0/cover;
        transform: translateX(-50%)
    }

    .no-webp .guide-trouble__inner::after,
    .no-js .guide-trouble__inner::after {
        background-image: url(../img/guide/ico_trouble01%402x.png)
    }

    .webp .guide-trouble__inner::after {
        background-image: url(../img/guide/ico_trouble01%402x.png.webp)
    }

    .guide-trouble__head {
        max-width: 500px
    }

    .guide-trouble__head-ico {
        right: -13%;
        width: 80px
    }
}

.guide-feature {
    margin-top: -30px
}

.guide-feature__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.guide-feature__head {
    text-align: center
}

.guide-feature__head-main {
    display: block;
    margin-top: 8px;
    font-size: 2.4rem;
    transform: translateX(0)
}

@media all and (min-width: 768px) {
    .guide-feature__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .guide-feature__head-sub {
        font-size: 2rem
    }

    .guide-feature__head-main {
        font-size: 3.6rem
    }
}

@media all and (min-width: 768px) {
    .guide-feature-box {
        padding: 50px;
        border: 2px solid rgb(var(--blue700));
        background-color: #fff;
        grid-template-columns: 300px 1fr
    }

    .guide-feature-box__item {
        grid-template-columns: 160px auto;
        gap: 0 20px
    }
}

.guide-message__inner {
    padding-bottom: 50px
}

.guide-message__head {
    margin-bottom: 35px
}

.guide-message__txt {
    margin: 40px 0 0;
    padding: 0 20px
}

@media all and (min-width: 768px) {
    .guide-message__inner {
        padding-bottom: 120px
    }

    .guide-message__head {
        margin-bottom: 70px
    }

    .guide-message__txt {
        max-width: 700px;
        margin: 80px auto 0;
        padding: 0 20px
    }
}

.home-appliance-intro {
    position: relative
}

.home-appliance-intro::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 100px);
    background: rgba(var(--blue100));
    z-index: -1
}

.home-appliance-intro__inner {
    padding-top: 40px
}

.home-appliance-intro__set {
    position: relative
}

.home-appliance-intro__ico {
    position: absolute;
    top: 16px;
    right: 8px;
    width: 95px;
    opacity: .15
}

@media all and (min-width: 768px) {
    .home-appliance-intro::before {
        height: calc(100% - 240px)
    }

    .home-appliance-intro__inner {
        padding-top: 100px
    }

    .home-appliance-intro__set {
        padding: 80px 240px 90px
    }

    .home-appliance-intro__head {
        margin-bottom: 29px
    }

    .home-appliance-intro__head-main {
        font-size: 4rem
    }

    .home-appliance-intro__ico {
        top: 10%;
        right: 25%;
        width: 145px
    }
}

.home-appliance-item__inner {
    padding-top: 115px;
    padding-bottom: 50px;
    position: relative
}

.home-appliance-item__ico {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 125px
}

.home-appliance-item__list {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
}

.home-appliance-item__item {
    position: relative
}

.home-appliance-item__item-txt {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 1.3rem;
    font-weight: 900;
    color: #fff
}

.home-appliance-item__item-txt::after {
    margin-left: 5px
}

@media all and (max-width: 767px) {
    .home-appliance-item__list {
        max-width: 550px;
        margin: 20px auto 0
    }
}

@media all and (min-width: 768px) {
    .home-appliance-item__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .home-appliance-item__ico {
        top: 40px;
        left: auto;
        right: 4%;
        transform: translateX(0);
        width: 240px
    }

    .home-appliance-item__list {
        margin-top: 48px;
        grid-template-columns: repeat(4, 1fr);
        gap: 40px
    }

    .home-appliance-item__item-txt {
        bottom: 25px;
        font-size: 1.8rem
    }

    .home-appliance-item__item-txt-in {
        position: relative
    }

    .home-appliance-item__item-txt-in::before {
        content: "";
        position: absolute;
        width: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        transform: translateX(0);
        display: block;
        background-color: #fff;
        transition: all .6s ease
    }

    .home-appliance-item__link {
        display: block
    }

    .home-appliance-item__link:hover .home-appliance-item__item-txt-in::before {
        width: 100%;
        left: 0
    }
}

.home-keywords__content {
    position: relative;
    padding: 40px 10px 0;
}

.home-keywords__header {
    color: #fff;
    text-align: center
}

.home-keywords__header-sub {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-weight: 700;
    font-size: 1.2rem;
    text-align: center
}

.home-keywords__header-sub::before,
.home-keywords__header-sub::after {
    position: relative;
    top: 0;
    content: "";
    width: 2px;
    height: 15px;
    border-radius: 9999px;
    background: #fff
}

.home-keywords__header-sub::before {
    transform: rotate(-30deg);
    margin-right: 8px
}

.home-keywords__header-sub::after {
    transform: rotate(30deg);
    margin-left: 6px
}

.home-keywords__header-main {
    margin-top: 4px;
    font-size: 2.4rem;
    font-weight: 900
}

.home-keywords__header-en {
    font-size: 1rem;
    font-weight: 700;
    color: rgba(255, 255, 255, .5)
}

.home-keywords__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px 5px;
    margin-top: 22px;
    padding: 20px 10px;
    background: #195dae;
    justify-content: center;
    /* 水平方向の中央揃え */
}

.home-keywords__list::after {
    position: absolute;
    content: "";
    display: block;
    top: 100%;
    right: 30px;
    width: 0;
    height: 0;
    border: solid transparent;
    border-width: 16px 40px 16px 0;
    border-top-color: #195dae
}

.home-keywords__item-link[class] {
    display: grid;
    grid-template-columns: 14px 1fr;
    place-content: center;
    min-height: 50px;
    padding: 0 17px;
    background: #fff;
    border-radius: 9999px;
    line-height: 1.3;
    font-size: 1.2rem;
    font-weight: 700
}

.home-keywords__item-link[class] span {
    text-decoration: underline
}

.home-keywords__item-link[class]::before {
    position: relative;
    top: -2px;
    content: "#";
    color: rgb(var(--blue700));
    font-size: 1.5rem
}

.home-keywords__img {
    position: relative;
    z-index: 9999;
    margin: -35px 96px 0 auto;
    width: 45px;
    -webkit-clip-path: inset(0px -50px);
    clip-path: inset(0px -50px)
}

.home-keywords__img::before {
    position: absolute;
    content: "";
    z-index: -1;
    top: 50px;
    left: 50%;
    width: 118px;
    height: 118px;
    border-radius: 9999px;
    background: #195dae;
    transform: translateX(-50%)
}

@media all and (min-width: 768px) {
    .home-keywords__inner {
        padding: 20px 20px 0
    }

    .home-keywords__content {
        padding: 110px 20px 0
    }

    .home-keywords__header-sub {
        font-size: 2.4rem
    }

    .home-keywords__header-sub::before,
    .home-keywords__header-sub::after {
        height: 25px
    }

    .home-keywords__header-sub::before {
        margin-right: 15px
    }

    .home-keywords__header-sub::after {
        margin-left: 10px
    }

    .home-keywords__header-main {
        font-size: 5rem
    }

    .home-keywords__header-en {
        font-size: 1.4rem
    }

    .home-keywords__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0;
        margin: 25px auto 0;
        padding: 30px 0;
        max-width: var(--contents_width);
        box-sizing: border-box
    }

    .home-keywords__list::after {
        margin-right: 140px;
        border-width: 30px 75px 30px 0
    }

    .home-keywords__item {
        gap: 0;
        margin-right: 3px;
        margin-left: 3px
    }

    .home-keywords__item:nth-of-type(n+4) {
        margin-top: 12px
    }

    .home-keywords__item:first-of-type {
        margin-left: 10%;
    }

    .home-keywords__item:nth-of-type(3) {
        margin-right: 0%;
        margin-top: 1%;
        margin-right: 1%;
    }

    .home-keywords__item-link[class] {
        grid-template-columns: 18px 1fr;
        padding: 5px 25px 0 28px;
        font-size: 1.7rem;
        box-sizing: border-box
    }

    .home-keywords__item-link[class]::before {
        top: -4px;
        font-size: 2.2rem
    }

    .home-keywords__item-link[class]:hover {
        color: rgb(var(--blue700))
    }

    .home-keywords__img {
        margin: -13px auto 0;
        padding-bottom: 0px;
        width: 87px;
        transform: translateX(257px);
    }

    .home-keywords__img::before {
        top: 65px;
        width: 150px;
        height: 150px
    }
}

.home-service+.c-index-calendar {
    padding-top: 30px
}

@media all and (min-width: 768px) {
    .home-service+.c-index-calendar {
        padding-top: 80px
    }
}

.home-example {
    background: rgb(var(--blue100))
}

.item-mainimg {
    margin-top: -42px
}

@media all and (min-width: 768px) {
    .item-mainimg {
        margin-top: -56px
    }
}

.item-anchors {
    margin-top: 15px
}

@media all and (max-width: 767px) {
    .item-anchors-list {
        margin: 0 -20px 0;
        background: #fff;
        border-bottom: 1px solid rgb(var(--gray300))
    }

    .item-anchors-list .c-btn04:last-of-type {
        border-bottom: 0
    }
}

@media all and (min-width: 768px) {
    .item-anchors {
        margin-top: 100px
    }

    .item-anchors-list {
        grid-template-columns: repeat(3, 1fr) 300px
    }
}

.item-archive__inner {
    padding-top: 50px
}

#other .item-archive__inner {
    padding-bottom: 50px
}

.item-archive__header {
    display: grid;
    grid-template-columns: 30px 1fr;
    align-items: center;
    -moz-column-gap: 10px;
    column-gap: 10px;
    padding: 10px;
    background: rgb(var(--blue700))
}

.item-archive__header-main {
    color: #fff;
    font-weight: 900;
    font-size: 1.8rem;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head)
}

.item-archive__content {
    display: grid;
    row-gap: 40px;
    margin-top: 15px
}

.item-archive-cat__head {
    padding-bottom: 10px;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: var(--line_height_head);
    letter-spacing: var(--letter_spacing_head);
    border-bottom: 1px solid rgb(var(--blue500))
}

.item-archive-cat__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 15px;
    margin-top: 20px
}

.item-archive-cat__item {
    position: relative;
    padding-left: 15px;
    line-height: var(--line_height_head)
}

.item-archive-cat__item::before {
    position: absolute;
    content: "";
    display: block;
    top: 8px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 9999px;
    background: rgb(var(--blue500))
}

.item-archive__btns {
    display: grid;
    row-gap: 10px;
    margin: 40px -20px 0;
    padding: 20px 0
}

@media all and (min-width: 768px) {
    .item-archive__inner {
        padding-top: 120px
    }

    #other .item-archive__inner {
        padding-bottom: 120px
    }

    .item-archive__header {
        grid-template-columns: 45px 1fr;
        -moz-column-gap: 20px;
        column-gap: 20px;
        padding: 13px 17px
    }

    .item-archive__header-main {
        font-size: 2.2rem
    }

    .item-archive__content {
        margin-top: 33px;
        row-gap: 80px
    }

    .item-archive-cat__head {
        padding: 0 0 25px 5px;
        font-size: 2rem
    }

    .item-archive-cat__list {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin-top: 30px
    }

    .item-archive-cat__item {
        padding-left: 12px
    }

    .item-archive-cat__item::before {
        top: 10px
    }

    .item-archive__btns {
        display: flex;
        justify-content: center;
        margin: 80px 0 0;
        padding: 40px
    }
}

.message-sec {
    margin-top: 40px
}

.message-sec-wrap {
    position: relative
}

.message-sec-wrap::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 250px);
    background: rgba(var(--blue100));
    z-index: -1
}

.message-sec__img {
    margin: 0 -20px
}

.message-sec__img.is-last {
    margin-top: 40px
}

.message-sec__head {
    position: relative;
    z-index: 1;
    margin: -70px 0 15px
}

.message-sec__head-txt {
    font-size: 1.9rem;
    padding: 8px 10px
}

.message-sec__txt:not(:first-of-type) {
    margin-top: 20px
}

.message-sec__name {
    margin-top: 15px;
    text-align: right
}

.message-sec__name-big {
    font-size: 2rem;
    display: inline-block;
    margin-left: 10px
}

@media all and (min-width: 768px) {
    .message-sec {
        margin-top: 80px
    }

    .message-sec-wrap::after {
        height: calc(100% - 500px)
    }

    .message-sec__inner {
        padding-bottom: 100px
    }

    .message-sec__area-txt {
        max-width: 800px;
        margin: 0 auto
    }

    .message-sec__img {
        margin: 100px 0 80px
    }

    .message-sec__img.is-last {
        margin: 90px 0 0
    }

    .message-sec__lead {
        font-size: 1.8rem
    }

    .message-sec__head {
        margin: 80px 0 50px
    }

    .message-sec__head-txt {
        font-size: 4.4rem;
        padding: 15px 25px
    }

    .message-sec__txt {
        font-size: 1.8rem
    }

    .message-sec__txt:not(:first-of-type) {
        margin-top: 35px
    }

    .message-sec__name {
        margin-top: 50px
    }

    .message-sec__name-big {
        font-size: 3.2rem
    }
}

.message-video {
    position: relative
}

.message-video::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(90deg, rgb(var(--blue700)) 0%, rgb(var(--blue700)) 50%, rgb(var(--blue500)) 50.05%, rgb(var(--blue500)) 100%);
    z-index: -1
}

.message-video__inner {
    padding-top: 40px;
    padding-bottom: 40px
}

.message-video__box {
    padding: 40px 30px
}

.message-video__box+.message-video__box {
    margin-top: 20px
}

.message-video__head {
    letter-spacing: .05em;
    margin-bottom: 15px
}

.message-video__movie {
    margin-top: 20px
}

.message-video__movie-img {
    border: 0
}

@media all and (min-width: 768px) {
    .message-video::before {
        bottom: -330px;
        height: calc(100% + 330px)
    }

    .message-video__inner {
        padding-top: 100px;
        padding-bottom: 100px
    }

    .message-video__box {
        display: flex;
        align-items: center;
        padding: 60px 50px
    }

    .message-video__box+.message-video__box {
        margin-top: 60px
    }

    .message-video__head {
        letter-spacing: .05em;
        margin-bottom: 30px;
        font-size: 3.2rem
    }

    .message-video__txt {
        font-size: 1.8rem
    }

    .message-video__area-txt {
        width: 55%;
        padding-right: 40px;
        box-sizing: border-box
    }

    .message-video__movie {
        width: 45%;
        height: auto;
        margin-top: 0
    }

    .message-video__movie-img {
        border-radius: 10px;
        border: 0
    }
}

@media all and (min-width: 1360px) {
    .message-video__box {
        padding: 80px 130px 90px
    }
}

.news-filter__inner {
    padding-top: 30px
}

@media all and (min-width: 768px) {
    .news-filter__inner {
        padding-top: 90px
    }
}

.news-archive {
    margin-top: 55px
}

.news-archive__inner {
    padding-bottom: 50px
}

.news-archive__list {
    margin-top: 25px
}

@media all and (min-width: 768px) {
    .news-archive {
        margin-top: 80px
    }

    .news-archive__inner {
        padding-bottom: 120px
    }

    .news-archive__list {
        margin-top: 40px
    }
}

.news-related__inner {
    padding-bottom: 60px
}

.news-related__list {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .news-related__inner {
        padding-bottom: 120px
    }

    .news-related__list {
        margin-top: 40px
    }
}

.news-single__inner {
    padding-top: 40px;
    padding-bottom: 50px
}

@media all and (min-width: 768px) {
    .news-single__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }
}

.partner-intro__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.partner-intro__head {
    font-size: 2rem
}

@media all and (min-width: 768px) {
    .partner-intro__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .partner-intro__head {
        font-size: 2.8rem
    }
}

.partner-trouble__inner {
    padding-top: 50px;
    padding-bottom: 80px
}

@media all and (min-width: 768px) {
    .partner-trouble__inner {
        padding-top: 120px;
        padding-bottom: 160px
    }
}

.partner-merit {
    margin-top: -30px
}

.partner-merit__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.partner-merit__head {
    text-align: center
}

.partner-merit__head-main {
    display: block;
    margin-top: 8px;
    font-size: 2.4rem;
    transform: translateX(0)
}

@media all and (min-width: 768px) {
    .partner-merit {
        margin-top: -50px;
        margin-bottom: -70px
    }

    .partner-merit__inner {
        padding-top: 120px;
        padding-bottom: 200px
    }

    .partner-merit__head-sub {
        font-size: 2rem
    }

    .partner-merit__head-main {
        font-size: 3.6rem
    }
}

.partner-merit-detail__head {
    margin-bottom: 30px
}

@media all and (min-width: 768px) {
    .partner-merit-detail {
        margin-top: 60px
    }
}

.partner-reason {
    overflow: hidden
}

.partner-reason__inner {
    margin-top: -30px;
    padding-top: 40px;
    padding-bottom: 50px;
    padding-right: 20px;
    padding-left: 20px
}

@media all and (min-width: 768px) {
    .partner-reason__inner {
        margin-top: -198px;
        padding-top: 140px;
        padding-bottom: 120px;
        padding-right: 0;
        padding-left: 0
    }
}

.partner-reason-detail__head {
    margin-bottom: 30px
}

@media all and (min-width: 768px) {
    .partner-reason-detail {
        margin: 110px auto 0;
        padding: 60px 6.77vw;
        box-sizing: border-box;
        max-width: var(--contents_width_lg)
    }
}

@media all and (max-width: 767px) {
    .price-anchors-list {
        margin: 0 -20px 0;
        background: #fff;
        border-bottom: 1px solid rgb(var(--gray300))
    }

    .price-anchors-list .c-btn04:last-of-type {
        border-bottom: 0
    }
}

@media all and (min-width: 768px) {

    .price-anchors-list {
        grid-template-columns: repeat(3, 1fr) 300px
    }
}

.price-archive__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.price-archive__head {
    font-size: 2.4rem;
    text-align: center
}

.price-archive__head-ico {
    display: block;
    width: 40px;
    margin: 0 auto 10px
}

.price-archive__txt {
    margin-top: 29px
}

.price-archive__table {
    margin-top: 30px
}

.price-archive__notes {
    margin-top: 15px
}

.price-archive__btns {
    display: grid;
    row-gap: 10px;
    margin-top: 30px
}

.price-archive__bnr {
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .price-archive__inner {
        padding-top: 100px;
        padding-bottom: 120px
    }

    .price-archive__head {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 3.6rem
    }

    .price-archive__head-ico {
        display: inline-block;
        width: 80px;
        margin: 5px 12px 5px 0
    }

    .price-archive__txt {
        margin-top: 35px
    }

    .price-archive__table {
        margin-top: 50px;
        table-layout: fixed
    }

    .price-archive__notes {
        margin-top: 20px
    }

    .price-archive__btns {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 1020px;
        margin: 50px auto 0
    }

    .price-archive__bnr {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 60px;
        padding: 40px;
        background-color: #fff5c3
    }

    .price-archive__bnr img {
        max-width: 468px
    }
}

.price-archive-option {
    margin-top: 50px;
    padding: 40px 20px 20px
}

.price-archive-option__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px
}

.price-archive-option__item {
    display: grid;
    place-content: center;
    background: rgb(var(--blue100));
    padding: 22px 0
}

.price-archive-option__item-ico {
    width: 70px
}

.price-archive-option__item-txt {
    margin-top: 7px;
    text-align: center;
    line-height: var(--line_height_head)
}

@media all and (min-width: 768px) {
    .price-archive-option {
        margin-top: 80px;
        padding: 50px
    }

    .price-archive-option__list {
        grid-template-columns: repeat(6, 1fr);
        gap: 10px
    }

    .price-archive-option__item {
        padding: 22px 0 18px
    }

    .price-archive-option__item-ico {
        width: 80px;
        margin: auto
    }
}

.price-archive-sec:first-of-type {
    margin-top: 30px
}

.price-archive-sec:not(:first-of-type) {
    margin-top: 40px
}

.price-archive-sec__head {
    position: relative;
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: 0 20px;
    align-items: center;
    padding: 12px 14px;
    font-size: 1.8rem;
    line-height: var(--line_height_head);
    background: rgb(var(--red500));
    color: #fff;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    transition: all .3s ease
}

.price-archive-sec__head-ico {
    width: 30px
}

.price-archive-sec__child {
    margin: 0 10px 8px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.price-archive-sec__child-head {
    font-size: 1.6rem;
    font-weight: bold
}

.price-archive-sec__child-price-num {
    font-size: 2rem
}

.price-archive-sec__child-txt {
    padding: 15px 20px
}

.price-archive-sec__content {
    padding: 10px;
    display: grid;
    row-gap: 40px;
    background-color: #fff;
    border-radius: 0 0 10px 10px;
    padding-bottom: 30px
}

.price-archive-sec__content-item+.price-archive-sec__content-item {
    margin-top: 12px
}

@media all and (min-width: 768px) {
    .price-archive-sec:first-of-type {
        margin-top: 45px
    }

    .price-archive-sec:not(:first-of-type) {
        margin-top: 60px
    }

    .price-archive-sec__head {
        padding: 15px 23px;
        font-size: 2.2rem;
        gap: 0 35px;
        grid-template-rows: 45px 1fr;
        border-radius: 10px 10px 0 0
    }

    .price-archive-sec__head-ico {
        width: 45px
    }

    .price-archive-sec__child {
        margin: 0 0 10px 20px
    }

    .price-archive-sec__child-item+.price-archive-sec__child-item {
        margin-top: 10px
    }

    .price-archive-sec__child-head {
        font-size: 2rem
    }

    .price-archive-sec__child-price {
        font-size: 1.6rem
    }

    .price-archive-sec__child-price-num {
        font-size: 2.8rem
    }

    .price-archive-sec__content {
        padding: 20px 30px 40px;
        border-radius: 0 0 10px 10px
    }
}

.price-archive-items__head {
    padding: 15px 0;
    border-radius: 10px 10px 0 0;
    background: rgb(var(--blue500));
    color: #fff;
    text-align: center
}

.price-archive-items__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.price-archive-items__list::before {
    position: absolute;
    z-index: 0;
    content: "";
    display: block;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    border-left: 1px solid rgb(var(--gray300))
}

.price-archive-items__list.has-btn {
    max-height: 80vw;
    overflow: hidden
}

.price-archive-items__list.has-btn::after {
    position: absolute;
    content: "";
    z-index: 0;
    display: block;
    left: -1px;
    right: -1px;
    bottom: 0;
    height: 20vw;
    background-image: linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 100%)
}

.price-archive-items__label,
.price-archive-items__price,
.price-archive-items__txt {
    display: grid;
    align-items: center;
    padding: 10px 5%;
    border: solid rgb(var(--gray300));
    border-width: 0 1px 1px 0;
    line-height: var(--line_height_head)
}

.price-archive-items__price {
    justify-content: end;
    color: rgb(var(--red700));
    font-size: 1.8rem
}

.price-archive-items__more {
    position: relative;
    z-index: 0;
    display: grid;
    justify-content: end;
    text-decoration: underline;
    margin-top: 20px;
    padding: 0;
    border: 0
}

.price-archive-items__more-txt {
    display: grid;
    grid-template-columns: auto 20px;
    justify-content: end;
    align-items: center;
    -moz-column-gap: 5px;
    column-gap: 5px;
    font-size: 1.3rem
}

.price-archive-items__more-txt::after {
    transform: rotate(90deg)
}

.price-archive-items__more.is-open::after {
    transform: rotate(-90deg)
}

@media all and (min-width: 768px) {
    .price-archive-items__head {
        padding: 13px 0
    }

    .price-archive-items__list.has-btn {
        max-height: 340px
    }

    .price-archive-items__list.has-btn::after {
        height: 74px
    }

    .price-archive-items__label,
    .price-archive-items__price,
    .price-archive-items__txt {
        padding: 13px
    }

    .price-archive-items__more {
        cursor: pointer
    }

    .price-archive-items__more-txt {
        font-size: 1.6rem
    }
}

.privacy-policy__inner {
    padding-top: 65px;
    padding-bottom: 55px
}

.privacy-policy-sec+.privacy-policy-sec {
    margin-top: 30px
}

.privacy-policy-sec__head {
    margin-bottom: 15px
}

.privacy-policy-sec__txt+.privacy-policy-sec__txt {
    margin-top: 15px
}

.privacy-policy-sec__txt a {
    color: rgb(var(--blue700));
    text-decoration: underline !important
}

.privacy-policy-sec__box {
    margin-top: 20px;
    padding: 15px
}

.privacy-policy-sec__box-head {
    margin-bottom: 15px
}

@media all and (min-width: 768px) {
    .privacy-policy__inner {
        padding-top: 90px;
        padding-bottom: 120px
    }

    .privacy-policy-sec+.privacy-policy-sec {
        margin-top: 60px
    }

    .privacy-policy-sec__head {
        margin-bottom: 30px
    }

    .privacy-policy-sec__txt a {
        transition: all .3s ease
    }

    .privacy-policy-sec__txt a:hover {
        text-decoration: none !important
    }

    .privacy-policy-sec__box {
        max-width: 50%;
        padding: 25px
    }
}

.purchase-intro-result {
    padding-bottom: 50px
}

@media all and (min-width: 768px) {
    .purchase-intro-result {
        padding-bottom: 100px
    }

    .purchase-intro-result__inner {
        padding: 20px 2.8vw 60px
    }
}

.purchase-reason {
    overflow: hidden
}

.purchase-reason__inner {
    margin-top: -30px;
    padding-top: 40px;
    padding-bottom: 50px;
    padding-right: 20px;
    padding-left: 20px
}

@media all and (min-width: 768px) {
    .purchase-reason__inner {
        padding-top: 140px;
        padding-bottom: 80px;
        margin: -198px auto 0
    }
}

@media all and (min-width: 1160px) {
    .purchase-reason__inner {
        padding-right: 0;
        padding-left: 0
    }
}

.sitemap-list__inner {
    padding-top: 25px;
    padding-bottom: 60px
}

.sitemap-list__home {
    margin-bottom: 45px;
    font-size: 1.6rem
}

.sitemap-list__home-link {
    display: inline-grid;
    grid-template-columns: 30px auto;
    -moz-column-gap: 7px;
    column-gap: 7px;
    align-items: center;
    position: relative
}

.sitemap-list__home-link::before {
    content: "";
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.18%2016.06%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M7.02%200%200%206.03v10.03h4.8V10.9h4.58v5.15h4.8v-10Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%20113540%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/10px 11px rgba(var(--blue500))
}

.sitemap-list__block-item+.sitemap-list__block-item {
    margin-top: 50px
}

.sitemap-list__block-head {
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-size: 1.8rem;
    border-bottom: 1px solid rgb(var(--gray300))
}

.sitemap-list__child-list+.sitemap-list__child-list {
    margin-top: 15px
}

.sitemap-list__child-item {
    display: flex;
    align-items: center;
    line-height: 1
}

.sitemap-list__child-item+.sitemap-list__child-item {
    margin-top: 15px
}

.sitemap-list__grandchild-list {
    margin-top: 10px;
    display: flex;
    align-items: center
}

.sitemap-list__grandchild-item {
    display: inline-block;
    color: rgba(var(--gray500));
    position: relative;
    padding-left: 8px
}

.sitemap-list__grandchild-item+.sitemap-list__grandchild-item {
    margin: 0 0 0 20px
}

.sitemap-list__grandchild-item:nth-child(n+3) {
    margin-top: 10px
}

.sitemap-list__grandchild-item::after {
    position: absolute;
    content: "";
    top: 13px;
    left: 0;
    width: 5px;
    height: 1px;
    background: rgba(var(--gray500))
}

@media all and (min-width: 768px) {
    .sitemap-list__inner {
        padding-top: 90px;
        padding-bottom: 120px
    }

    .sitemap-list__home {
        margin-bottom: 50px;
        font-size: 2rem
    }

    .sitemap-list__home-link {
        transition: all .3s ease
    }

    .sitemap-list__home-link:hover {
        color: rgb(var(--blue500))
    }

    .sitemap-list__block-item+.sitemap-list__block-item {
        margin-top: 80px
    }

    .sitemap-list__block-head {
        margin-bottom: 30px;
        padding-bottom: 15px;
        font-size: 2rem
    }

    .sitemap-list__block-head-link {
        transition: all .3s ease
    }

    .sitemap-list__block-head-link:hover {
        color: rgb(var(--blue500))
    }

    .sitemap-list__child-list {
        width: 90%;
        display: flex;
        flex-wrap: wrap
    }

    .sitemap-list__child-list+.sitemap-list__child-list {
        margin-top: 30px
    }

    .sitemap-list__child-item {
        width: 33.3333%
    }

    .sitemap-list__child-item+.sitemap-list__child-item {
        margin-top: 0
    }

    .sitemap-list__child-item:nth-child(n+4) {
        margin-top: 30px
    }

    .sitemap-list__child-link {
        transition: all .3s ease
    }

    .sitemap-list__child-link:hover {
        color: rgb(var(--blue500))
    }

    .sitemap-list__grandchild-list {
        margin-top: 20px
    }

    .sitemap-list__grandchild-item+.sitemap-list__grandchild-item {
        margin: 0 0 0 40px
    }

    .sitemap-list__grandchild-item:nth-child(n+3) {
        margin-top: 0
    }

    .sitemap-list__grandchild-item::after {
        top: 16px;
        width: 7px
    }

    .sitemap-list__grandchild-link {
        transition: all .3s ease
    }

    .sitemap-list__grandchild-link:hover {
        opacity: .7
    }
}

.staff-intro {
    position: relative
}

.staff-intro::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: center bottom no-repeat;
    background-size: cover;
    z-index: -1
}

.no-webp .staff-intro::before,
.no-js .staff-intro::before {
    background-image: url(../img/staff/bg_intro01%402x.jpg)
}

.webp .staff-intro::before {
    background-image: url(../img/staff/bg_intro01%402x.jpg.webp)
}

.staff-intro__inner {
    padding-top: 40px;
    padding-bottom: 80px
}

.staff-intro__head {
    max-width: 252px;
    width: 71%;
    margin: 0 auto 20px
}

.staff-intro__lead {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 30px
}

.staff-intro__imgs {
    display: flex;
    align-items: flex-start;
    width: 2544px;
    height: 150px;
    margin: 54px -20px 0
}

.staff-intro__imgs-in {
    display: flex;
    align-items: flex-start;
    flex-basis: 1272px;
    -webkit-animation: loopImg 50s -25s linear infinite;
    animation: loopImg 50s -25s linear infinite
}

.staff-intro__imgs-in:last-of-type {
    -webkit-animation: loopImg02 50s linear infinite;
    animation: loopImg02 50s linear infinite
}

.staff-intro__imgs img {
    width: 234px;
    margin-right: 20px
}

.staff-intro__imgs img:nth-of-type(odd) {
    width: 150px;
    transform: translateY(25px)
}

@media all and (max-width: 767px) {
    .staff-intro__img {
        max-width: none;
        width: calc(100% + 40px);
        margin: 0 -20px
    }
}

@media all and (min-width: 768px) {
    .staff-intro::before {
        bottom: -70px;
        max-height: 960px;
        height: 80%;
        background-position: center top
    }

    .no-webp .staff-intro::before,
    .no-js .staff-intro::before {
        background-image: url(../img/staff/bg_intro01_pc.jpg)
    }

    .webp .staff-intro::before {
        background-image: url(../img/staff/bg_intro01_pc.jpg.webp)
    }

    .staff-intro__inner {
        padding-top: 80px;
        padding-bottom: 120px
    }

    .staff-intro__img {
        margin: auto
    }

    .staff-intro__head {
        max-width: 1100px;
        width: 100%;
        margin: 0 auto 60px
    }

    .staff-intro__lead {
        font-size: 2rem;
        margin: 60px auto 0;
        max-width: 800px
    }

    .staff-intro__imgs {
        display: flex;
        align-items: flex-start;
        width: 2544px;
        height: 150px;
        margin: 54px -20px 0
    }

    .staff-intro__imgs-in {
        display: flex;
        align-items: flex-start;
        flex-basis: 1272px;
        -webkit-animation: loopImg 50s -25s linear infinite;
        animation: loopImg 50s -25s linear infinite
    }

    .staff-intro__imgs-in:last-of-type {
        -webkit-animation: loopImg02 50s linear infinite;
        animation: loopImg02 50s linear infinite
    }

    .staff-intro__imgs img {
        width: 234px;
        margin-right: 20px
    }

    .staff-intro__imgs img:nth-of-type(odd) {
        width: 150px;
        transform: translateY(25px)
    }
}

.staff-archive {
    margin-top: -30px;
    padding-bottom: 50px
}

.staff-archive__inner {
    padding-top: 50px;
    padding-bottom: 50px
}

.staff-archive__head {
    margin-bottom: 30px
}

.staff-archive__list {
    margin: 0 20px
}

.staff-archive__lead {
    max-width: 210px;
    width: 56%;
    margin: 30px auto 0
}

@media all and (min-width: 768px) {
    .staff-archive {
        margin-top: -60px;
        padding-bottom: 100px
    }

    .staff-archive__inner {
        padding-top: 140px;
        padding-bottom: 120px
    }

    .staff-archive__head {
        margin-bottom: 45px
    }

    .staff-archive__list {
        margin: 0
    }

    .staff-archive__lead {
        max-width: 898px;
        width: 63%;
        margin: 100px auto 0
    }
}

.strengths-reason-sec-list {
    display: grid;
    row-gap: 40px;
    align-items: start
}

.strengths-reason-sec__bnr {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .strengths-reason-sec-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 80px 60px
    }

    .strengths-reason-sec-list [data-col-pc="2"] {
        grid-column: 1/3
    }

    .strengths-reason-sec__bnr {
        max-width: 440px;
        margin-top: 30px
    }
}

@media all and (min-width: 1360px) {
    .strengths-reason-sec-list .c-set01 .c-set01__area-txt {
        padding-right: 120px
    }

    .strengths-reason-sec-list .c-set01.is-reverse .c-set01__area-txt {
        padding: 0 0 0 120px
    }
}

.strengths-reason-collect {
    margin-top: 30px
}

.strengths-reason-collect__head::before,
.strengths-reason-collect__head::after {
    background-color: rgba(var(--red700))
}

@media all and (min-width: 768px) {
    .strengths-reason-collect {
        margin-top: 90px;
        padding: 0 6.8vw 60px;
        position: relative;
        background: #fff;
        border: 2px solid rgb(var(--red700))
    }

    .strengths-reason-collect__head {
        position: absolute;
        top: -32px;
        left: 50%;
        padding-right: 20px;
        padding-left: 20px;
        background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0) 30px, #fff 30.1px, #fff 100%);
        transform: translateX(-50%)
    }

    .strengths-reason-collect-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 80px 60px
    }

    .strengths-reason-collect-list [data-col-pc="2"] {
        grid-column: 1/3
    }
}

.voice-filter__inner {
    padding-top: 55px
}

@media all and (min-width: 768px) {
    .voice-filter__inner {
        padding-top: 90px
    }
}

.voice-archive {
    margin-top: 30px
}

.voice-archive__inner {
    padding-bottom: 60px
}

.voice-archive__list {
    display: grid;
    gap: 20px 0;
    margin-top: 30px
}

@media all and (min-width: 768px) {
    .voice-archive {
        margin-top: 80px
    }

    .voice-archive__inner {
        padding-bottom: 120px
    }

    .voice-archive__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px
    }
}

.voice-single {
    position: relative
}

.voice-single__inner {
    margin-top: 40px;
    padding-bottom: 50px
}

@media all and (min-width: 768px) {
    .voice-single__inner {
        padding-top: 80px;
        padding-bottom: 100px
    }
}

.voice-related__inner {
    padding-bottom: 60px
}

.voice-related__list {
    margin-top: 20px
}

@media all and (min-width: 768px) {
    .voice-related__inner {
        padding-bottom: 125px
    }

    .voice-related__list {
        margin-top: 40px
    }
}

.voice-search__inner {
    padding-bottom: 60px
}

.whereabouts-intro {
    overflow: hidden
}

.whereabouts-intro__inner {
    padding-top: 40px;
    padding-bottom: 50px
}

.whereabouts-intro__head {
    margin-bottom: 30px
}

.whereabouts-intro__set {
    row-gap: 30px
}

.whereabouts-intro__set-head {
    font-size: 2rem
}

.whereabouts-intro__set-img {
    margin: 0 -10px 0
}

@media all and (min-width: 768px) {
    .whereabouts-intro__inner {
        position: relative;
        padding-top: 80px;
        padding-bottom: 100px
    }

    .whereabouts-intro__head {
        margin-bottom: 48px
    }

    .whereabouts-intro__set {
        grid-template-areas: "txt img"
    }

    .whereabouts-intro__set-head {
        font-size: 2.8rem
    }

    .whereabouts-intro__set-img {
        grid-area: img;
        margin: 0 -20px 0 0
    }

    .whereabouts-intro__area-txt {
        grid-area: txt
    }

    .whereabouts-intro__txt {
        margin-top: 25px
    }

    .whereabouts-intro__chara {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 165px
    }
}

@media all and (min-width: 1360px) {
    .whereabouts-intro__set-img {
        margin: 0 -50px 0 0
    }

    .whereabouts-intro__chara {
        right: -6%
    }
}

.whereabouts-anchor__inner {
    padding-top: 50px;
    padding-bottom: 120px
}

.whereabouts-anchor__head {
    margin-bottom: 20px
}

.whereabouts-anchor__head-txt {
    font-size: 1.6rem
}

.whereabouts-anchor__head-txt::before,
.whereabouts-anchor__head-txt::after {
    top: 5px
}

@media all and (min-width: 768px) {
    .whereabouts-anchor__inner {
        padding-top: 80px;
        padding-bottom: 160px
    }

    .whereabouts-anchor__head {
        margin-bottom: 30px
    }

    .whereabouts-anchor__head-txt {
        font-size: 2rem
    }

    .whereabouts-anchor__head-txt::before,
    .whereabouts-anchor__head-txt::after {
        top: 5px
    }
}

.whereabouts-sec:first-of-type {
    margin-top: -75px;
    padding-top: 50px
}

.whereabouts-sec-wrap {
    padding-bottom: 50px
}

.whereabouts-sec+.whereabouts-sec {
    margin-top: 50px
}

.whereabouts-sec-header-num {
    display: inline-block;
    margin-left: 5px;
    font-size: 2rem
}

.whereabouts-sec-header-main {
    font-size: 2.4rem
}

.whereabouts-sec__btn-wrap {
    margin: 30px -20px 0
}

@media all and (min-width: 768px) {
    .whereabouts-sec:first-of-type {
        padding-top: 120px;
        margin-top: -80px
    }

    .whereabouts-sec+.whereabouts-sec {
        margin-top: 120px
    }

    .whereabouts-sec-wrap {
        padding-bottom: 120px
    }

    .whereabouts-sec-header .c-head02__sub {
        font-size: 1.4rem;
    }

    .whereabouts-sec-header-num {
        font-size: 2.4rem
    }

    .whereabouts-sec-header-main {
        font-size: 3.6rem
    }

    .whereabouts-sec-box {
        grid-template-columns: 295px 1fr
    }

    .whereabouts-sec__btn-wrap {
        margin: 50px 0 0
    }

    .whereabouts-sec__point {
        margin: 75px 0 0
    }
}

.whereabouts-sec-method__list {
    margin-top: 25px
}

@media all and (min-width: 768px) {
    .whereabouts-sec-method__list {
        margin-top: 25px
    }
}


/* tiger-add-css */

.align-center {
    text-align: center;
    display: block;
    margin: 0 auto;
}


/*Added 20240410*/

.c-box-row {
    display: flex;
    justify-content: space-between;
    /* ①横並びにし、②間に余白を設ける */
    gap: 20px;
    /* ボックス間の余白 */
}

.c-box {
    flex-grow: 1;
    /* 各ボックスが均等にスペースを埋めるように */
    border-radius: 10px;
    /* ③丸みを帯びさせる */
}

.c-box__head,
.c-box__body {
    padding: 10px;
    /* 内容とボーダーの間に余白を設ける */
}

.c-box__head {
    border-radius: 10px 10px 0 0;
    margin-bottom: 0;
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 2px;
}

.c-box__body img {
    margin-bottom: 20px;
}

.c-box__body {
    border-radius: 0 0 10px 10px;
    /* 下部に丸みを帯びさせる */
    min-height: 200px;
    display: flex;
    align-items: center;
}

@media all and (max-width: 767px) {
    .c-box-row {
        flex-direction: column;
        /* 縦並びに変更 */
        gap: 10px;
        /* SP表示ではボックス間の余白を少し狭くする */
    }
}

.profile-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#price-base {
    max-width: 1240px;
    margin: 0 auto;
    padding-top: 20px;
}

.profile {
    flex: 1 1 45%;
    /* 2列レイアウトのために各プロファイルを45%の幅に設定 */
    margin: 10px;
    background: #fff;
}

.profile img {
    width: 100%;
    height: auto;
}

.profile-info {
    padding: 10px;
}

.profile h3 {
    font-weight: 500;
    font-size: 22px;
    line-height: 100%;
    display: block;
    text-align: center;
    color: #fff;
    padding: 15px;
    font-weight: bold;
    letter-spacing: 3px;
}

.boy-price {
    background: #2D71C2;
}

.boy-profile {
    border: solid 1px #2D71C2;
    border-radius: 5px;
}

.girl-price {
    background: #EC4C23;
}

.girl-profile {
    border: solid 1px #EC4C23;
    border-radius: 5px;
}

.profile-info h3,
.price {
    text-align: center;
}

.price-content {
    margin-top: 5px;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    display: block;
    color: #222222;
}

.hosyounin-price-content {
    font-size: 16px;
    text-align: center;
    display: block;
    color: #222222;
    margin-bottom: 10px;
}

.price-list {
    padding-top: 32px;
}

.price {
    color: #222222;
    font-weight: bold;
    font-size: 38px;
    font-family: "Noto Sans JP", sans-serif;
}

.price-tax {
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
}

.service,
.skills {
    font-style: italic;
    color: #555;
}

.price-boy-btn {
    background: #2D71C2 !important;
}

.price-girl-btn {
    background: #EC4C23 !important;
}

.price-service {
    display: block;
    text-align: center;
    font-weight: bold;
}

.document-price-table {
    width: 95%;
    margin: 0 auto;
    margin-top: 10px;
}

.document-price-table,
.document-price-table tr,
.document-price-table td,
.document-price-table th {
    border: 1px solid #000;
    text-align: center;
    font-size: 20px;
}

.document-price-table th {
    background-color: #2D71C2;
    color: #fff;
    padding: 6px 0;
}

.document-price-contents {
    border: 1px solid rgb(var(--gray300));
    border-radius: 5px;
}

.document-price {
    background-color: rgb(var(--gray800));
}

.kinmu-info {
    position: relative;
}

.kinkyu-call::before,
.kinkyu-check::before,
.kinkyu-info::before,
.people-icon::before,
.document-pdf::before,
.contact-info::before,
.document-issue::before,
.send-paper::before,
.kinmu-info::before,
.zaiseki-check::before,
.zaiseki-call::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
    padding-right: 7px;
}

.people-icon::before {
    content: "\f007";
}

.contact-info::before,
.kinkyu-info::before {
    content: "\f2c2";
}

.document-pdf::before {
    content: "\f1c1";
}

.document-issue::before {
    content: "\f0ea";
}

.send-paper::before {
    content: "\f249";
}

.kinmu-info::before {
    content: "\f1ad";
}

.zaiseki-check::before,
.kinkyu-check::before {
    content: "\f590";
}

.zaiseki-call::before,
.kinkyu-call::before {
    content: "\f87b";
    /* font-size: 24px; */
}

.top-service-list {
    list-style: none;
    text-align: left;
    /* リストアイテムを左揃え */
    padding: 0;
    /* デフォルトのパディングを削除 */
    display: flex;
}

.kinkyu-list {
    text-align: left;
    /* リストアイテムを左揃え */
}

.document-pdf,
.document-issue,
.send-paper {
    padding: 0 10px;
}

.price-list {
    display: flex;
    flex-direction: column;
    /* コンテナ内のアイテムを縦並びにする */
    align-items: center;
    /* アイテムを中央寄せ */
    width: 100%;
    /* 必要に応じて調整 */
}

.outline-emergency {
    margin: 10px auto;
    margin-left: 10px;
}

.emergency-list {
    list-style: none;
    text-align: left;
    /* リストアイテムを左揃え */
    padding: 0;
    /* デフォルトのパディングを削除 */
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.emergency-attention {
    padding: 10px;
}

.list-9 {
    list-style-type: disc !important;
    list-style-position: inside;
    padding: 0 40px 10px 40px;
}

.list-9 li {
    padding: .5em;
}

.list-9 li:not(:last-child) {
    border-bottom: 1px dashed #2589d0;
}

.list-9 li::marker {
    color: #2589d0;
    font-size: 1.1em;
}

.box-007 {
    border: 2px solid #2589d0;
    border-radius: 5px;
    color: #333333;
    margin: 0 15px;
    margin-top: 20px;
}

.box-007 div {
    display: inline-flex;
    align-items: center;
    column-gap: 4px;
    position: relative;
    top: -13px;
    left: 10px;
    margin: 0 7px;
    padding: 0 8px;
    background: #fff;
    color: #2589d0;
    font-weight: 600;
    vertical-align: top;
}

.box-007 div::before {
    content: '\f303';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.box-007 p {
    margin: 0;
    padding: 0 1.5em 1em;
}

.hosyou-sub-price {
    position: relative;
    padding: 0 65px;
    text-align: center;
}

.hosyou-sub-price:before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 2px;
    content: '';
    background: #000;
}

.hosyou-sub-price span {
    position: relative;
    padding: 0 1em;
    background: #fff;
}

.outline-hosyouhin-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 10px;
}

.hosyouhin-list {
    width: 48%;
}

li.zaiseki-check {
    padding: 0 21px;
}

.hosyou-service {
    display: block;
    text-align: center;
    font-weight: bold;
    margin-top: 20px;
}

#hosyou-price {
    max-width: 1500px;
    margin: 0 auto;
}

#hosyou-price h2 {
    text-align: center;
    margin-bottom: 20px;
}

#price-base-section {
    padding-top: 20px;
}

.bg-green {
    background-color: rgb(6 199 85);
    text-align: center;
    justify-content: center;
}

.bg-more-green {
    background-color: #004e21;
    text-align: center;
    margin-bottom: 10px;
}

.l-footer-info,
.copylight {
    text-align: center;
}

@media (max-width: 768px) {
    .profile-container {
        flex-direction: column;
    }

    .c-index-collect__content {
        padding: 12px 0px 30px;
    }

    .profile {
        flex: 1 1 100%;
        /* スマホビューでは100%の幅 */
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .c-head02__main {
        margin-top: 0;
        padding: 10px;
    }

    #about-spot {
        padding-bottom: 170px;
    }

    .c-index-message [data-img="02"] {
        display: none;
    }

    .c-btn01__link {
        margin-top: 20px;
        height: auto;
                padding: 20px;
    }

    .customer-chara {
        width: 130px;
        height: 154px;
    }

    .c-index-calendar__inner {
        padding-top: 0;
    }

    .c-set06-list {
        display: block;
    }

    .c-index-message__inner {
        padding-bottom: 30px;
    }

    .c-index-service__inner {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .u-radius30 {
        border-radius: 0;
    }

    .c-index-message__ico {
        top: 30vw;
        width: 160px;
    }

    .c-set06__img {
        margin-top: 20px;
    }

    .customer-manzoku {
        white-space: normal;
    }

    .customer-manzoku {
        font-size: 25px;
        white-space: normal;
        text-align: center;
        margin-top: 20px;
        line-height: 1;
        margin-bottom: 40px;

    }

    .no1underline {
        height: auto;
        padding-right: 0;
        margin-bottom: 20px;
        padding-top: 10px;
font-size: 52px;
    }
.c-index-calendar__inner {
    padding-bottom: 90px;
}
    .c-btn03__link-txt {
        font-size: 13px;
        max-width: 212px;
    }

    .c-cv01__inner {
        margin-bottom: 40px;
        background: #4A78AE;
        padding: 36px 10px 33px;
        overflow: visible;
    }

    .c-cv01__inner::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-image: url(/wp-content/themes/spot-tochigi/img/top/cta-background.png);
        border-radius: 10px;
    }

    .c-cv01__chara {
        top: auto;
        bottom: 120px;
        left: 5px;
        transform: none;
        width: 95px;
        z-index: 3;
    }

    .top-service-list {
        display: block;
    }

    li.zaiseki-check {
        padding: 0;
    }

    .document-price-table th,
    .document-price-table th {
        font-size: 16px;
    }

    .c-index-reason-sec__header-chara {
        top: 24px;
        width: 140px;
        right: 6px;
    }

    #top_point3cat {
        top: -45px;
        width: 140px;
        right: 26px;
        position: absolute;
    }

    .c-set07__img {
        margin: 0;
    }

    .c-index-media__header-main-tv {
        font-size: 30px;
    }

    .c-index-media__header-chara {
        position: absolute;
        top: -96px;
        z-index: 2;
        right: -17px;
        width: 121px;
        pointer-events: none;
    }

    .c-index-voice__item-head {
        font-size: 13px;
    }

    .c-index-media-logos {
        display: flex;
        column-gap: 6px;
        padding: 0 10px;
    }

    .price {
        font-size: 28px;
    }

    .outline-hosyouhin-list {
        display: block;
    }

    .hosyouhin-list {
        width: 100%;
    }

    .emergency-list {
        font-size: 16px;
    }

    .splide__track {
        z-index: 30;
    }

    #top_point2cat {
        position: absolute;
        top: -17px;
        width: 120px;
    }

    #top_point1cat {
        position: absolute;
        width: 130px;
        top: -10px;
    }

    .c-index-base-area__txt {
        margin-bottom: 130px;
    }

    .c-list-area__content {
        z-index: 100;
        position: relative;
    }

    .c-list-area__chara {
        position: absolute;
        top: -124px;
        right: -10px;
        z-index: 5;
        width: 106px;
    }

    .c-faq01__head {
        margin-bottom: 20px;
    }

    .c-index-reason-flow__chara {
        position: absolute;
        display: block;
        top: -67px;
        left: 50%;
        width: 121px;
        z-index: 10;
        transform: translate(-50%, -50px);
    }

    .c-index-reason-flow {
        padding-top: 130px;
        overflow: hidden;
    }

    .js-c-anime-elem[data-anime=fadein].is-animated {
        opacity: 1;
        z-index: 20;
        padding-bottom: 0;
    }
#trouble{
            padding-bottom:100px;
}
    .c-service-trouble__inner::after {
        bottom: -100px;
        left: 47%;
        width: 102px;
        height: 109px;
    }
.c-service-about__head{
    font-size: 24px;
}
.c-service-about__txt{
padding-bottom: 20px !important;
}
    .c-service-intro__chara-fudousan {
        width: 85px;
        top: -95px;
    }

    li.l-nav-sp-main__item {
        border-bottom: 1px solid rgb(var(--gray300));
    }

    .c-set04__img {
        width: 100%;
    }

    .l-sub-img-service__header-main {
        margin-top: 10px;
        font-size: 49px;
    }

    .l-sub-img-service__chara01 {
        position: absolute;
        display: block;
        z-index: -1;
        bottom: 0;
        right: -60px !important;
        width: 240px;
    }

    .l-footer__inner {
        padding-bottom: 0;
    }

    .l-footer-info p {
        padding: 20px;
        padding-bottom: 80px;
    }

}

#contents-section {
    margin-bottom: 30px;
}

#contents-section img {
    margin: 10px auto;
}

#contents-section a {
    color: #0075ff;
}

#contents-section h2 {
    text-align: left;
    background: rgb(var(--blue700));
    padding: 10px 15px;
    color: #fff;
    position: relative;
    margin: 30px auto;
    font-size: 27px;
    letter-spacing: 1px;
}

#contents-section h2::before {
    position: absolute;
    display: block;
    pointer-events: none;
    content: "";
    top: -4px;
    left: 0;
    width: 100%;
    height: calc(100% + 4px);
    box-sizing: content-box;
    border-top: solid 2px rgb(var(--blue700));
    border-bottom: solid 2px rgb(var(--blue700));
}

#contents-section h3 {
    border-bottom: solid 3px #cce4ff;
    position: relative;
    margin: 30px auto;
    font-size: 20px;
}

#contents-section h3:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px rgb(var(--blue700));
    bottom: -3px;
    width: 20%;
}

.li-chevron ul,
.li-mainbdr ol {
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    border: solid 2px rgb(var(--blue700));
    border-radius: 5px;
    width: 100%;
    margin-top: 10px;
}

.li-chevron li,
.li-check li,
.li-yubi li,
.li-niku li {
    list-style-type: none !important;
    padding: 0.5em 0;
    line-height: 1.5;
    padding-left: 6px;
    font-size: 18px;
}

.li-chevron li:before {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
    position: absolute;
    left: 1em;
    content: "\f14a";
    color: rgb(var(--blue700));
    ;
}

box29 {
    margin: 2em 0;
    border: solid 3px #3969A6;
}

.box29 .box-title {
    display: inline-block;
    position: relative;
    top: -2px;
    padding: 12px 0px;
    background: rgb(var(--blue700));
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
    width: 100%;
    text-align: center;
}

.box29 .box-title:before {
    padding-right: 8px;
    content: "\f15c";
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
}

.box29 .box-content {
    padding: 10px 20px 20px 20px;
}

.sng-box ul {
    margin: 5px 0;
    padding: 0;
    border: none;
    box-shadow: none;
    background: transparent;
}

.li-chevron ul {
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    border: solid 2px skyblue;
    border-radius: 5px;
}

.box29 {
    border: 1px solid rgb(var(--blue700));
    margin-top: 20px;
}

.red {
    color: #e44141;
}

.li-chevron li,
.li-check li,
.li-yubi li,
.li-niku li {
    list-style-type: none !important;
    padding: 0.7em 0;
    line-height: 1.5;
    font-size: 18px;
    border-bottom: 1px dashed hsla(0, 0%, 78%, .5);
}

.li-check li {
    position: relative;
    padding-left: 20px;
}

.li-check li:before {
    position: absolute;
    color: rgb(var(--blue700));
    ;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
    left: -3px;
    content: "\f14a";
}

.box29 li:before {
    color: #3969A6 !important;
}

.memo {
    margin-bottom: 1.5em;
    padding: 1em;
    background: #fff9e5;
    color: #545454;
    margin-top: 20px;
}

.memo_ttl:before {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 3px 0 0;
    border-radius: 50%;
    background: #ffb36b;
    color: #fff;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
    text-align: center;
    vertical-align: middle;
    content: "\f303";
}

.memo p {
    text-align: left !important;
    font-size: 16px;
    margin-bottom: 5px;
}

.memo.alert .memo_ttl:before {
    background: #ff8376;
    content: "\f12a";
}

.memo_ttl {
    margin-bottom: 5px;
    color: #ffb36b;
    font-size: 1.2em;
    font-weight: bold;
}

.memo.alert {
    background: #ffebeb;
    margin-top: 20px;
}

.memo.alert .memo_ttl {
    color: #ff8376;
}

#contents-section table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.6;
    max-width: 100%;
    text-align: left;
    width: 100%;
    margin-top: 20px;
}

#contents-section th {
    background: rgb(var(--blue700));
    color: #fff;
    vertical-align: middle;
}

#contents-section th,
#contents-section td {
    border: 1px solid hsla(0, 0%, 78%, .5);
    padding: .5em;
}

#contents-section h4 {
    border-bottom: 3px double #2589d0;
    background-color: #ffffff;
    color: #333333;
    margin-top: 20px;
    font-size: 20px;
    margin-bottom: 20px;
}

/***ステップバーデザイン3***/
.step-wrap3 {
    counter-reset: count;
    margin: 2em 0;
    position: relative;
}

.step-content3 {
    padding: 1.3em 0 .3em 1em;
    margin: 0 0 1em 1em;
    position: relative;
    border-top: solid 2px #ddd;
}

.step-content3::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: -10px;
    border-style: solid;
    border-width: 17px 8px 0 8px;
    border-color: #ddd transparent transparent transparent;
}

.step-content3::after {
    content: "";
    display: block;
    height: calc(100% - 36px);
    border-left: dashed 4px #ddd;
    position: absolute;
    top: 16px;
    left: -4px;
}

.step-label3 {
    padding: 3px 20px 3px 15px;
    color: #fff;
    font-weight: bold;
    position: absolute;
    top: -18px;
    left: -20px;
    background: rgb(var(--blue700));
    border-radius: 20px;
    z-index: 1;
}

.step-label3::after {
    counter-increment: count;
    content: counter(count);
    position: relative;
    left: .3em;
}

.step-title3 {
    font-weight: bold;
    font-size: 120%;
}

.step-body3 {
    margin-top: .5em;
    padding: 0 0 1em;
}

.step-wrap3> :last-child {
    box-shadow: 5px 7px 0 -5px #ddd;
}

.step-wrap3> :last-child::before,
.step-wrap3> :last-of-type::after {
    display: none;
}

/*吹き出し（会話形式）[say]*/
.say {
    display: table;
    overflow: hidden;
    width: 100%;
    margin: 1.5em 0;
}

.faceicon {
    display: table-cell;
    width: 110px;
    padding-right: 20px;
    text-align: center;
    vertical-align: top;
}

.faceicon img {
    width: 94%;
    background: #fff;
    height: auto;
    border: solid 3px #eaedf2;
    border-radius: 50%;
}

.faceicon span {
    font-size: 11px;
    font-weight: bold;
    margin-top: 0;
    line-height: 1;
    display: block;
    text-align: center;
}

.chatting {
    display: table-cell;
    position: relative;
    width: calc(100% - 100px);
    font-size: 0.95em;
    vertical-align: middle;
}

.sc {
    display: inline-block;
    text-align: left;
    padding: 13px;
    font-size: 16px;
    border: solid 2px #d5d5d5;
    border-radius: 12px;
    background: #fff;
    word-break: break-word;
}

.sc:before {
    display: inline-block;
    position: absolute;
    left: -23px;
    border: 12px solid transparent;
    border-right: 12px solid #d5d5d5;
    content: "";
    top: 58px !important;
}

.sc:after {
    display: inline-block;
    position: absolute;
    top: 58px;
    left: -20px;
    border: 12px solid transparent;
    border-right: 12px solid #fff;
    content: "";
}

.sc p {
    margin: 5px 0;
    padding: 0;
}

/*吹き出し（右）*/
.right {
    text-align: right;
}

.right .faceicon {
    padding: 0 0 0 20px;
}

.right .sc:before,
.right .sc:after {
    right: -23px;
    left: auto;
    border: 12px solid transparent;
    border-left: 12px solid #d5d5d5;
}

.right .sc:after {
    right: -20px;
    border-left-color: #fff;
}

.merit-table {
    background: #175491 !important;
    text-align: center;
}

.demerit-table {
    background: #cf2e2e !important;
    text-align: center;

}

.merideme-table {
    border: 1px solid hsla(0, 0%, 78%, .5) !important;
    border-collapse: separate !important;
    border-spacing: 2px !important;
}

.merit-list li,
.demerit-list li {
    padding-left: 26px;
    line-height: 2em;
    position: relative;
}

.merit-list li:before {
    font-family: "Font Awesome 5 Free" !important;
    content: "\f111";
    color: #175491 !important;
    position: absolute;
    left: 4px;
}

.demerit-list li:before {
    font-family: "Font Awesome 5 Free" !important;
    content: "\f00d";
    font-weight: 900;
    color: #cf2e2e !important;
    position: absolute;
    left: 4px;
}

.boxmi15 {
    position: relative;
    margin: 2em 0;
    padding: 1em 2em;
    border-top: solid 2px rgb(var(--blue700));
    border-bottom: solid 2px rgb(var(--blue700));
    background-color: #fff;
    color: rgb(var(--blue700));
    font-weight: bold;
}

.boxmi15:before,
.boxmi15:after {
    position: absolute;
    top: -12px;
    width: 2px;
    height: -webkit-calc(100% + 24px);
    height: calc(100% + 24px);
    background-color: rgb(var(--blue700));
    content: "";
}

.boxmi15:before {
    left: 12px;
}

.boxmi15:after {
    right: 12px;
}

.boxmi15-title {
    font-size: 1.15em;
    padding: 4px 0 10px 12px;
    color: rgb(var(--blue700));
    font-weight: bold;
    text-align: center;
    margin: -14px -24px 5px -24px;
}

.boxmi15 p {
    margin: 0;
    padding: 0;
}

.sen15 {
    background-color: #fff;
    background-image:
        linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, rgb(var(--blue700)) 100%);
    background-size: 8px 100%, 100% 2em;
    line-height: 2;
    padding: 4px 10px 22px 10px;
}

.list-9 {
    list-style-type: disc;
    list-style-position: inside;
    border: 2px solid #2589d0;
    padding-top: 10px;
    margin-top: 20px;
}

.list-9 li {
    padding: .5em;
}

.list-9 li:not(:last-child) {
    border-bottom: 1px dashed #2589d0;
}

.list-9 li::marker {
    color: #2589d0;
    font-size: 1.1em;
}

.list-2 {
    list-style-type: none;
    padding: 1em;
    border: 2px solid #2589d0;
    counter-reset: li;
    margin-top: 20px;

}

.list-2 li {
    display: flex;
    align-items: center;
    padding: .3em;
}

.list-2 li::before {
    display: inline-block;
    min-width: 1.7em;
    margin-right: 5px;
    border-radius: 50%;
    background-color: #2589d0;
    color: #fff;
    font-weight: bold;
    font-size: .75em;
    line-height: 1.7em;
    text-align: center;
    content: counter(li);
    counter-increment: li;
}

/**************************
 タブ切り替え
***************************/
.tab-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 5px 0;
}

.tab-label {
    color: #000;
    font-weight: bold;
    background-color: lightgray;
    text-align: center;
    padding: .5em 1em;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    flex: 1;
    border-radius: 2px;
    position: relative;
}

.tab-label:not(:last-of-type) {
    margin-right: 5px;
}

.align-center {
    text-align: center;
    display: block;
    margin: 0 auto;
}

.tab-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
}

/* アクティブなタブ */
.tab-switch:checked+.tab-label {
    color: #fff !important;
    background-color: #002c70;
}

.tab-switch:checked+.tab-label:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent;
    border-top: 10px solid #002c70;
    width: 0;
    height: 0;
}

.tab-switch:checked+.tab-label+.tab-content {
    height: auto;
    overflow: auto;
    padding: 15px 0 0 0;
    opacity: 1;
    transition: .5s opacity;
}

/* ラジオボタン非表示 */
.tab-switch {
    display: none;
}

.tab-content td {
    text-align: center;
}

.tab-content .button_solid004 a {
    max-width: 100%;
}


.width50 {
    width: 22%;
}

.small {
    text-align: center;
    margin: 0 auto;
    font-size: 11px !important;
    font-weight: 900 !important;
    display: block;
    width: 100%;
    padding: 0 !important;
}

/************************************
** スライダー
************************************/
.slide-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding: 0 0 1em;
    margin: 0 0 2em 0;
    scroll-behavior: smooth;
}

.slide-wrap .slide-content {
    flex: 0 0 90%;
    margin: 0 10px;
    height: 100%;
}

.voice-outline-container {
    max-width: 100%;
    /* 変更 */
    position: relative;
    /* ボタンの位置を調整するために追加 */
}

.voice-scroll-container {
    width: 100%;
    overflow-x: hidden;
    /* 変更 */

    background-color: #f0f2f5;
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
    /* ボタンの位置を調整するために追加 */
}

.voice-grid-container {
    display: flex;
    padding: 0 20px;
    gap: 20px;
    width: max-content;
    /* 元に戻す */
}

.voice-card {
    background-color: white;
    border-radius: 10px;
    padding: 20px;
    width: calc(25% - 15px);
    min-width: 250px;
    max-width: 300px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 6px 6px rgba(0, 0, 0, 0.1);
    flex: 0 0 auto;
}

.voice-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.1);
}

.user-info {
    margin-bottom: 15px;
}

.user-avatar {
    width: 50%;
    margin: 0 auto;
    display: block;
}

.user-details {
    text-align: center;
}

.age-gender {
    display: inline-block;
    background-color: #e8f5e9;
    color: #2e7d32;
    text-align: center;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 12px;
}

.voice-category {
    color: #4caf50;
    font-size: 14px;
    text-align: center;
    margin-bottom: 10px;
}

.voice-title {
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
}

.voice-description {
    font-size: 14px;
    color: #666;
    line-height: 1.4;
}

/* Scrollbar styling */
.voice-scroll-container::-webkit-scrollbar {
    height: 8px;
}

.voice-scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.voice-scroll-container::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.voice-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.nav-button {
    position: absolute;
    background-color: rgb(var(--blue700));
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
    transition: background-color 0.3s ease, opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    color: #fff;
}

.nav-button:hover {
    background-color: rgb(var(--blue500));
    /* 変更 */
}

.nav-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.nav-button.prev {
    left: 10px;
    /* ボタンの位置を調整 */
    top: 50%;
    /* ボタンの位置を調整 */
    transform: translateY(-50%);
    /* ボタンの位置を調整 */
}

.nav-button.next {
    right: 10px;
    /* ボタンの位置を調整 */
    top: 50%;
    /* ボタンの位置を調整 */
    transform: translateY(-50%);
    /* ボタンの位置を調整 */
}

.onepoint {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.65em;
    border-radius: 6px;
    background-color: #ffebeb;
    color: #ff8376;
    margin-bottom: 1.5em;
    padding: 1em;
}

.onepoint_ttl {
    border-right-style: solid;
    border-width: 1px;
    font-size: 1em;
    border-right-style: solid;
    border-width: 1px;
    font-size: 1em;
}

.onepoint_ttl .sng-box-msg__icon i {
    color: inherit;
}

.onepoint_ttl .sng-box-msg__icon {
    font-size: 30px;
    background: transparent !important;
    border-radius: 50%;
    display: inline-block;
    height: 30px;
    line-height: 30px;
    margin: 0 10px 0 0;
    text-align: center;
    vertical-align: middle;
    width: 35px;
}

.onepoint .sng-box-msg__contents p {
    color: #545454;
    margin: 0;
}

@media screen and (max-width: 480px) {
    .slide-wrap .slide-content {
        flex: 0 0 88%;
        margin: 0px 5px;
        scroll-snap-align: center;
    }
}

@media(max-width: 768px) {
    .tab-label {
        font-size: 12px;
        line-height: 1.4;
    }

    .kaigyo-sp {
        display: none;
    }

    .width50 {
        width: 50%;
    }

    .tab-content th,
    .tab-content td {
        font-size: 14px;
    }
}

/***ステップバーデザイン3***/
@media(max-width:768px) {
    #contents-section h2 {
        font-size: 19px;
    }

    .box29 .box-title {
        font-size: 16px;
    }
}

#contents-section p {
    margin-top: 15px;
}

#toc_container {
    border: 1px solid rgb(var(--blue700));
    overflow: hidden;
    margin: 20px auto;
    width: 100% !important;
}

#toc_container ul.toc_list a,
#toc_container ul.toc_list a:visited {
    font-size: 90%;
    text-decoration: none;
    color: #555;
}

#toc_container .toc_list li,
.ez-toc-list li {
    font-weight: bold;
}

#toc_container .toc_list li ul li,
.ez-toc-list li ul li {
    margin: 0;
    font-size: 0.95em;
    font-weight: normal;
}

.toc_title {
    background-color: rgb(var(--blue700));
    color: #fff;
    margin: 0 -1.5em 1.25em !important;
    padding: 0.5em;
    display: block;
    font-size: 1.2em;
    line-height: 1;
    position: relative;
    text-align: center;
}

.toc_title:before {
    content: "\f03a";
    display: inline-block;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    margin-right: 0.5em;
    padding-bottom: 2px;
    vertical-align: middle;
}

.toc_list li {
    line-height: 1.6;
    margin: 17px 0;
    list-style: disc;
}

.toc_list {
    width: 93%;
    margin: 0 auto;
    display: block;
    margin-bottom: 20px;
    font-size: 18px;
}

.toc_list ul li {
    position: relative;
    list-style: none;
}

.toc_list ul li::before {
    background: none;
    border-bottom: 2px solid;
    border-left: 2px solid;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
    content: "" !important;
    height: calc(1em - 2px);
    left: -13px;
    opacity: .75;
    position: absolute;
    top: 3px;
    -webkit-transform: none;
    transform: none;
    -webkit-transform: scale(.75);
    transform: scale(.75);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    width: 9px;
}

.quote-3 {
    max-width: 100%;
    position: relative;
    padding: 3em 2.5em 2em 3.5em;
    color: #333333;
    background-color: #f2f2f2;
    margin: 15px auto;
}

.quote-3::before {
    display: inline-block;
    position: absolute;
    top: 1em;
    left: 1.5em;
    width: 2em;
    height: 2em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z' fill='%232589d0'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

.quote-3 p {
    margin-top: 0;
}

.quote-3 cite {
    display: block;
    color: #737373;
    font-size: .8em;
    text-align: right;
}

.red-box {
    border: 1px solid #e44141 !important;
}

.box29 .red-title {
    background: #e44141;
}

.red-box li:before {
    color: #e44141 !important;
}

.red-box .red-title:before {
    padding-right: 8px;
    content: "\f071" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
}

.category-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.category-header {
    background-color: #fff;
    padding: 10px;
    text-align: center;
    font-size: 0.9em;
    color: #333;
    margin-bottom: 20px;
}

.category-slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 20px;
}

.category-slider {
    display: flex;
    justify-content: center;
    transition: transform 0.5s ease;
}

.category-slide {
    height: auto;
    position: relative;
}

.category-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 20px;
}

.category-slider-nav {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.category-slider-nav button {
    width: 10px !important;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: #fff;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.category-slider-nav button.category-active {
    background: #333;
}

.category-slider-prev,
.category-slider-next {
    position: absolute;
    width: 4% !important;
    top: 50%;
    border-radius: 100px;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 18px;
}

.category-slider-prev {
    left: 190px;
}

.category-slider-next {
    right: 190px;
}

.category-article-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.category-card {
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    width: calc(33.333% - 14px);
}

.category-card-header {
    position: relative;
    overflow: hidden;
}

.category-card-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-card-body {
    padding: 15px;
}

.category-episode {
    font-size: 0.8em;
    color: #666;
}

.category-title {
    font-weight: bold;
    margin: 10px 0;
}

.category-date,
.category-tags {
    font-size: 0.8em;
    color: #666;
}

.category-tags {
    margin-top: 10px;
}

.category-tag {
    background-color: #f0f0f0;
    padding: 2px 5px;
    border-radius: 5px;
    margin-right: 5px;
}

@media(max-width:768px) {

    #toc_container .toc_list li ul li,
    .ez-toc-list li ul li {
        margin-top: 13px;
    }

    .category-slide-content {
        padding: 3px 10px;
    }

    .category-slider-prev,
    .category-slider-next {
        width: 12% !important;
    }

    .category-slider-next {
        right: 10px;
    }

    .category-slider-prev {
        left: 10px;
    }

    .category-article-grid {
        display: block;
    }

    .toc_list {
        width: 77%;
        font-size: 19px;
        margin: 0 auto;
    }
}

/* ===================================
   CTAラベルバー
   =================================== */
.c-cv01__labels {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 16px;
}

.c-cv01__label-item {
    padding: 8px 10px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    background: rgba(255, 255, 255, 0.15);
    border: 1.5px solid rgba(255, 255, 255, 0.5);
    border-radius: 6px;
    letter-spacing: 0.05em;
    text-align: center;
}

@media all and (min-width: 768px) {
    .c-cv01__labels {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 24px;
        gap: 23px;
        margin-left: 10px;
    }

    .c-cv01__label-item {
        padding: 10px 26px;
        font-size: 20px;
        white-space: nowrap;
    }
}

/* ==============================================
   Plan Price Section
   ============================================== */
.plan-price-section {
    padding-bottom: 60px;
    background-color: #fff;
    background-image:
        linear-gradient(to right, #eee 1px, transparent 1px),
        linear-gradient(to bottom, #eee 1px, transparent 1px);
    background-size: 20px 20px;
}

/* ---- Header (blue) ---- */
.plan-price-header {
    background: #2d71c2;
    padding: 40px 0 30px;
}

.plan-price-header__sub {
    font-size: 12px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 2px;
    margin: 0 0 6px;
}

.plan-price-header__main {
    font-size: 26px;
    font-weight: 900;
    color: #fff;
    margin: 0;
    line-height: 1.3;
}

/* ---- Body ---- */
.plan-price-body {
    padding-top: 30px;
}

.plan-price-body__lead {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    text-align: center;
    line-height: 2;
    margin: 0 0 30px;
}

/* ---- Card rows ---- */
.plan-cards-row {
    display: grid;
    gap: 20px;
}

.plan-cards-row--3col {
    grid-template-columns: repeat(2, 1fr);
}

.plan-cards-row--2col {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 24px;
}

/* ---- Card ---- */
.plan-card {
    position: relative;
    text-align: center;
    padding-top: 18px;
}

.plan-card__badge {
    display: inline-block;
    padding: 6px 20px;
    border-radius: 10px;
    border: 3px solid #000;
    font-size: 13px;
    font-weight: 900;
    color: #fff;
    position: relative;
    z-index: 1;
    line-height: 1.4;
}

.plan-card__badge strong {
    font-size: 18px;
}

.plan-card__badge--blue {
    background: #2d71c2;
}

.plan-card__badge--green {
    background: #4caf50;
}

.plan-card__badge--orange {
    background: #f7941d;
}

.plan-card__inner {
    background: #fff;
    border: 3px solid #000;
    border-radius: 16px;
    padding: 28px 14px 20px;
    margin-top: -14px;
    position: relative;
}

.plan-card__title {
    font-size: 18px;
    font-weight: 900;
    color: #333;
    margin: 0 0 4px;
    display: inline-block;
    padding-bottom: 2px;
}

.plan-card__sub {
    font-size: 11px;
    color: #000;
    margin: 0 0 10px;
    line-height: 1.5;
    background-color: #f0f4f8;
    margin-left: -14px;
    margin-right: -14px;
    padding: 4px 14px;
}

.plan-card__img {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
    min-height: 70px;
}

.plan-card__img img {
    width: auto;
    height: 55px;
    object-fit: contain;
}

.plan-card__bags {
    font-size: 14px;
    font-weight: 700;
    color: #555;
}

/* specs table */
.plan-card__specs {
    text-align: left;
    margin: 0 0 10px;
    font-size: 11px;
    line-height: 1.6;
}

.plan-card__specs div {
    display: flex;
    gap: 6px;
    border-bottom: 1px dotted #ddd;
    padding: 10px 0;
}

.plan-card__specs dt {
    font-weight: 700;
    color: #555;
    min-width: 62px;
    flex-shrink: 0;
}

.plan-card__specs dd {
    margin: 0;
    color: #333;
    margin-left: auto;
}

/* price */
.plan-card__label {
    font-size: 12px;
    font-weight: 900;
    color: #f7941d;
    margin: 0 0 2px;
}

.plan-card__price-original {
    font-size: 14px;
    color: #999;
    margin: 0 0 0;
    line-height: 1;
}

.plan-card__price-original s {
    text-decoration: line-through;
}

.plan-card__price {
    font-size: 16px;
    font-weight: 900;
    color: #f7941d;
    margin: 0;
    line-height: 1.2;
}

.plan-card__price-num {
    font-size: 36px;
    font-weight: 900;
    letter-spacing: -1px;
}

.plan-card__price-tax {
    font-size: 12px;
    font-weight: 700;
    color: #999;
}

/* Button */
.plan-price-btn {
    margin-top: 30px;
}

/* ============ PC ============ */
@media all and (min-width: 768px) {
    .plan-price-section {
        padding-bottom: 80px;
    }

    .plan-price-header {
        padding: 50px 0 40px;
    }

    .plan-price-header__sub {
        font-size: 14px;
        letter-spacing: 3px;
    }

    .plan-price-header__main {
        font-size: 36px;
    }

    .plan-price-body {
        padding-top: 40px;
    }

    .plan-price-body__lead {
        font-size: 20px;
        margin-bottom: 40px;
    }

    .plan-cards-row--3col {
        grid-template-columns: repeat(3, 1fr);
    }

    .plan-cards-row--2col {
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
        margin-top: 30px;
    }

    .plan-card__badge {
        font-size: 28px;
        padding: 8px 26px;
    }

    .plan-card__badge strong {
        font-size: 22px;
    }

    .plan-card__inner {
        border-radius: 20px;
        padding: 32px 20px 24px;
    }

    .plan-card__title {
        font-size: 22px;
    }

    .plan-card__sub {
        font-size: 16px;
        margin-left: -20px;
        font-weight: bold;
        margin-right: -20px;
        padding: 4px 20px;
    }

    .plan-card__img img {
        height: 130px;
    }

    .plan-card__bags {
        font-size: 16px;
    }

    .plan-card__specs {
        font-size: 16px;
    }

    .plan-card__label {
        font-size: 14px;
    }

    .plan-card__price-original {
        font-size: 21px;
        font-weight: bold;
    }

    .plan-card__price {
        font-size: 20px;
    }

    .plan-card__price-num {
        font-size: 48px;
    }

    .plan-price-btn {
        margin-top: 40px;
    }
}

.webwari-title {
    background-color: #FF0000;
    color: #fff;
}

.u-font-white {
    color: #fff;
    text-align: center;
    display: block;
    margin: 0 auto;
}

.plan-price-header__inner.u-inner-lg {
    text-align: center;
}

.kaishu-jirei-section {
    background: #0B3D91;
    padding: 50px 0 60px;
    overflow: hidden;
    position: relative;
}

.kaishu-jirei-inner {
    width: 100%;
    padding: 0;
}

.kaishu-jirei-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}

.kaishu-jirei-title {
    font-size: 3.2rem;
    font-weight: 900;
    color: #FFB800;
    letter-spacing: 0.05em;
    border-bottom: 3px solid #FFB800;
    padding-bottom: 5px;
    line-height: 1.3;
}

.kaishu-jirei-subtitle {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: right;
    line-height: 1.6;
}

.kaishu-jirei-slider-wrap {
    position: relative;
    width: 100%;
}

.kaishu-jirei-slider-viewport {
    overflow: visible;
    width: 100%;
}

.kaishu-jirei-slider {
    display: flex;
    gap: 20px;
    transition: transform 0.5s ease;
}

.kaishu-jirei-card {
    flex: 0 0 420px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    opacity: 0.4;
    transform: scale(0.92);
    filter: grayscale(30%);
    transition: opacity 0.5s ease, transform 0.5s ease, filter 0.5s ease;
}

.kaishu-jirei-card.is-active {
    opacity: 1;
    transform: scale(1);
    filter: grayscale(0%);
}

.kaishu-jirei-card__cat {
    display: block;
    padding: 6px 12px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.kaishu-jirei-card__cat--blue {
    background: #1565C0;
}

.kaishu-jirei-card__cat--green {
    background: #2E7D32;
}

.kaishu-jirei-card__info {
    padding: 10px 14px 8px;
    margin: 0;
}

.kaishu-jirei-card__info div {
    display: flex;
    align-items: baseline;
    gap: 6px;
    line-height: 1.6;
}

.kaishu-jirei-card__info dt {
    flex-shrink: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: #555;
    white-space: nowrap;
}

.kaishu-jirei-card__info dt::after {
    content: '：';
}

.kaishu-jirei-card__info dd {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 900;
    color: #222;
}

.kaishu-jirei-card__photos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 10px 10px;
}

.kaishu-jirei-card__photo {
    flex: 1;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

.kaishu-jirei-card__photo img {
    width: 100%;
    height: 135px;
    object-fit: cover;
    display: block;
}

.kaishu-jirei-card__photo-label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 2px 8px;
    font-size: 1.0rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: 0.05em;
    border-bottom-right-radius: 4px;
}

.kaishu-jirei-card__photo-label--before {
    background: #1E88E5;
}

.kaishu-jirei-card__photo-label--after {
    background: #FF6D00;
}

.kaishu-jirei-card__photo--after {
    border: 2.5px solid #FF6D00;
    border-radius: 6px;
}

.kaishu-jirei-card__arrow {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #FF6D00;
    border-radius: 50%;
}

.kaishu-jirei-card__arrow::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #fff;
    margin-left: 2px;
}

.kaishu-jirei-card__specs {
    display: flex;
    justify-content: space-around;
    padding: 8px 10px;
    background: #F5F5F5;
    border-top: 1px solid #E0E0E0;
    border-bottom: 1px solid #E0E0E0;
    margin: 0;
}

.kaishu-jirei-card__specs div {
    text-align: center;
}

.kaishu-jirei-card__specs dt {
    font-size: 1.0rem;
    color: #888;
    margin-bottom: 2px;
}

.kaishu-jirei-card__specs dd {
    font-size: 1.3rem;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.kaishu-jirei-card__price-area {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    padding: 12px 14px;
}

.kaishu-jirei-card__price-label {
    font-size: 1.2rem;
    color: #888;
}

.kaishu-jirei-card__price-value {
    font-size: 3.0rem;
    font-weight: 900;
    color: #D32F2F;
    line-height: 1;
}

.kaishu-jirei-card__price-value small {
    font-size: 1.6rem;
    font-weight: 700;
}

/* ナビゲーションボタン */
.kaishu-jirei-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 109, 0, 0.9);
    color: #fff;
    font-size: 2.0rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: background 0.2s;
}

.kaishu-jirei-nav:hover {
    background: #FF8F00;
}

.kaishu-jirei-prev {
    left: 20px;
}

.kaishu-jirei-next {
    right: 20px;
}

/* レスポンシブ */
@media all and (max-width: 767px) {
    .kaishu-jirei-section {
        padding: 35px 0 40px;
    }

    .kaishu-jirei-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .kaishu-jirei-title {
        font-size: 2.6rem;
    }

    .kaishu-jirei-subtitle {
        font-size: 1.3rem;
        text-align: left;
    }

    .kaishu-jirei-card {
        flex: 0 0 320px;
    }

    .kaishu-jirei-prev {
        left: 10px;
    }

    .kaishu-jirei-next {
        right: 10px;
    }
}

@media all and (min-width: 768px) {
    .kaishu-jirei-title {
        font-size: 3.6rem;
    }

    .kaishu-jirei-card {
        flex: 0 0 450px;
    }

    .kaishu-jirei-card__photo img {
        height: 165px;
    }

    .kaishu-jirei-prev {
        left: 30px;
    }

    .kaishu-jirei-next {
        right: 30px;
    }
}

@media(max-width:768px) {
    .plan-cards-row {
        display: block;
    }

    .plan-card__img img {
        width: 70%;
        height: auto;
        object-fit: contain;
    }

    .plan-card__specs {
        text-align: left;
        margin: 0 0 10px;
        font-size: 15px;
        line-height: 1.6;
    }

    .plan-card__badge {
        font-size: 19px;
    }
}

/* ============================================
   回収事例 (collect-case) - Archive & Single
   ============================================ */

/* Archive Grid */
.collect-case-archive {
    padding: 40px 0 60px;
}

.collect-case-archive__head {
    text-align: center;
    margin-bottom: 40px;
}

.collect-case-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}

.collect-case-archive__empty {
    text-align: center;
    font-size: 16px;
    color: #888;
    padding: 40px 0;
}

.collect-case-archive__pagination {
    margin-top: 40px;
    text-align: center;
}

.collect-case-archive__pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.collect-case-archive__pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #1a2b5e;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #1a2b5e;
    text-decoration: none;
    transition: all 0.2s ease;
}

.collect-case-archive__pagination .page-numbers.current,
.collect-case-archive__pagination .page-numbers:hover {
    background: #1a2b5e;
    color: #fff;
}

/* Archive Card */
.collect-case-card {
    display: block;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.collect-case-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
}

.collect-case-card__img {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.collect-case-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

.collect-case-card__body {
    padding: 16px 20px 20px;
}

.collect-case-card__info {
    margin: 0;
}

.collect-case-card__info>div {
    display: flex;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px dotted #ddd;
    font-size: 14px;
}

.collect-case-card__info>div:last-child {
    border-bottom: none;
}

.collect-case-card__info dt {
    flex-shrink: 0;
    font-weight: 700;
    color: #1a2b5e;
    min-width: 70px;
}

.collect-case-card__info dd {
    margin: 0;
}

.collect-case-card__arrow {
    text-align: right;
    margin-top: 8px;
}

.collect-case-card__arrow-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    border-right: 2px solid #1a2b5e;
    border-bottom: 2px solid #1a2b5e;
    transform: rotate(-45deg);
}

/* Single Page */
.collect-case-single {
    padding: 40px 0 60px;
}

.collect-case-single__title {
    font-size: 24px;
    font-weight: 900;
    color: #1a2b5e;
    margin-bottom: 30px;
    padding-bottom: 12px;
    border-bottom: 3px solid #1a2b5e;
}

.collect-case-single__images {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.collect-case-single__img-wrap {
    flex: 1;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}

.collect-case-single__img-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

.collect-case-single__img-label {
    position: absolute;
    top: 0;
    left: 0;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    border-bottom-right-radius: 8px;
}

.collect-case-single__img-label--before {
    background: #f26a3e;
}

.collect-case-single__img-label--after {
    background: #23a455;
}

.collect-case-single__table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.collect-case-single__table th,
.collect-case-single__table td {
    padding: 14px 20px;
    font-size: 15px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.collect-case-single__table th {
    width: 130px;
    background: #f5f7fb;
    font-weight: 700;
    color: #1a2b5e;
}

.collect-case-single__table tr:last-child th,
.collect-case-single__table tr:last-child td {
    border-bottom: none;
}

.collect-case-single__content {
    margin-bottom: 30px;
    line-height: 1.8;
    font-size: 15px;
}

.collect-case-single__pager {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 40px 0 0;
    gap: 16px;
}

.collect-case-single__pager a {
    display: inline-block;
    padding: 10px 20px;
    background: #1a2b5e;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s;
}

.collect-case-single__pager a:hover {
    background: #2a3b7e;
}

@media screen and (max-width: 768px) {
    .collect-case-archive__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .c-index-message [data-img=main] {
        transform: rotate(0deg);
    }

    .c-index-message [data-img="01"] {
        top: -8vw;
        left: 3vw;
        transform: rotate(-8deg);
        width: 53%;
    }

    .c-index-message__txt {
        align-items: center;
    }

    .collect-case-single__images {
        flex-direction: column;
    }

    .collect-case-single__title {
        font-size: 20px;
    }

    .collect-case-single__table th {
        width: 100px;
    }
}

@media screen and (max-width: 480px) {
    .collect-case-archive__grid {
        grid-template-columns: 1fr;
    }

    .collect-case-single__pager {
        flex-direction: column;
        gap: 10px;
    }
}

/* スタッフのコメント */
.collect-case-single__staff-comment {
    margin-bottom: 30px;
    background: #f8f9fc;
    border: 1px solid #e0e4ed;
    border-radius: 12px;
    padding: 24px;
}

.collect-case-single__staff-comment-title {
    font-size: 18px;
    font-weight: 900;
    color: #1a2b5e;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid #1a2b5e;
}

.collect-case-single__staff-comment-body {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
}

.collect-case-single__staff-comment-body p {
    margin: 0 0 10px;
}

.collect-case-single__staff-comment-body p:last-child {
    margin-bottom: 0;
}

/* ============================================
   お客様の声カード - プロフィール & 星評価
   ============================================ */
.cv-card__profile {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 10px 0 8px;
}

.cv-card__name {
    font-size: 15px;
    font-weight: 700;
    color: #1a2b5e;
}

.cv-card__meta {
    font-size: 12px;
    color: #777;
}

.cv-card__ratings {
    margin: 8px 0 12px;
    padding: 10px 12px;
    background: #f8f9fc;
    border-radius: 8px;
}

.cv-card__rating-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    line-height: 1.8;
}

.cv-card__rating-label {
    min-width: 70px;
    font-weight: 600;
    color: #555;
}

.cv-card__stars {
    color: #f5a623;
    font-size: 13px;
    letter-spacing: 1px;
}

.cv-card__rating-num {
    font-weight: 700;
    color: #1a2b5e;
    font-size: 13px;
}

/* Splide destroy時のお客様の声フォールバック（スライド3枚未満でdestroyされる場合） */
.c-index-voice__item {
    max-width: 315px;
}

.c-index-voice__item-img img {
    width: 100%;
    height: 205px;
    object-fit: contain;
}
.c-list-area__cities-link{
    text-decoration: underline !important;
    color: #005ae0;
}

/* Splideが非活性（destroyされた）時のレイアウト */
.c-index-voice__slider.is-initialized:not(.is-active) .c-index-voice__list,
.c-index-voice__slider:not(.is-initialized) .c-index-voice__list {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 20px;
    justify-content: center;
    overflow-x: auto;
}

.c-index-voice__slider.is-initialized:not(.is-active) .c-index-voice__item,
.c-index-voice__slider:not(.is-initialized) .c-index-voice__item {
    flex: 0 0 315px;
}

#strength {
    margin-bottom: 50px;
}

/* ========================================
   料金ページ - 単品回収・オプション料金テーブル
   ======================================== */
.price-single-tables {
    display: grid;
    gap: 30px;
    margin-top: 30px
}

.price-single-table-wrap {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06)
}

.price-single-table__head {
    background: rgb(var(--blue700));
    color: #fff;
    font-size: 1.8rem;
    font-weight: 900;
    padding: 12px 20px;
    margin: 0
}

.price-single-table {
    width: 100%;
    border-collapse: collapse
}

.price-single-table th,
.price-single-table td {
    padding: 14px 20px;
    border-bottom: 1px solid rgb(var(--gray200));
    text-align: left;
    font-size: 1.5rem
}

.price-single-table tr:first-child th {
    background: rgb(var(--blue100));
    font-weight: 700;
    font-size: 1.4rem;
    color: rgb(var(--blue700))
}

.price-single-table td:last-child {
    text-align: right;
    font-weight: 700;
    white-space: nowrap
}

.price-single-note {
    margin-top: 20px;
    font-size: 1.4rem;
    color: rgb(var(--gray600));
    line-height: 1.8
}

@media all and (min-width: 768px) {
    .price-single-tables {
        grid-template-columns: repeat(2, 1fr)
    }

    .price-single-table-wrap:only-child {
        grid-column: 1 / -1;
        max-width: 700px;
        margin: 0 auto
    }

    .price-single-table th,
    .price-single-table td {
        padding: 16px 24px;
        font-size: 1.6rem
    }

    .price-single-table tr:first-child th {
        font-size: 1.5rem
    }

    .price-single-note {
        text-align: center
    }
}

/* 料金ページ plan-price-section の余白調整 */
.page-template-page-price .plan-price-section {
    padding-bottom: 0
}

.page-template-page-price .plan-price-body {
    padding-bottom: 60px
}

/* 料金ページ アンカーメニューのセンタリング */
.price-anchors {
    padding: 20px 0
}

.price-anchors .price-anchors-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px
}

.price-anchors .price-anchors-list .c-btn04 {
    flex: 0 1 auto;
    width: auto;
    min-width: 160px
}

.price-anchors .price-anchors-list .c-btn04__link {
    justify-content: center;
    text-align: center;
    padding: 13px 20px
}

@media all and (min-width: 768px) {
    .price-anchors .price-anchors-list {
        gap: 20px
    }

    .price-anchors .price-anchors-list .c-btn04 {
        min-width: 200px
    }
}

/* 料金ページのみパンくずリストの背景色 */
.page-template-page-price .l-breadcrumb-list {
    background-color: rgba(var(--yellow100));
    padding-top: 10px;
    padding-bottom: 10px;
    max-width: none;
    width: 100%;
    box-sizing: border-box
}

@media all and (max-width: 768px) {
    .home-keywords__img {
        margin: -20px 47px 0 auto;
        width: 70px;
    }

    .c-index-calendar__txt {
        margin-top: 56px;
        font-size: 17px;
    }

    .c-color-red700 {
        font-size: 22px;
    }

    .plan-price-body__lead {
        font-size: 14px;
    }

    .c-index-reason-sec[data-no="03"] {
        padding-top: 60px;
    }

    .c-index-reason-sec__content {
        margin-top: 0px;
        padding-bottom: 20px;
    }

    .c-index-reason-sec {
        padding-top: 30px;
    }
}

/* ========================================
   お客様の声 アーカイブページ
   ======================================== */
/* ========================================
   お客様の声 アーカイブページ（/voice/）
   ======================================== */
.voice-archive-filter {
    background: rgb(var(--blue100));
    padding: 30px;
}

.voice-archive-filter__form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.voice-archive-filter__fields {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.voice-archive-filter__field {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.voice-archive-filter__label {
    font-size: 18x;
    font-weight: 700;
    color: rgb(var(--gray700))
}

.voice-archive-filter__select {
    padding: 10px 12px;
    border: 2px solid rgb(var(--gray300));
    border-radius: 6px;
    font-size: 1.5rem;
    background: #fff;
    appearance: auto;
    width: 100%
}

.voice-archive-filter__btn {
    display: block;
    padding: 14px 32px;
    white-space: nowrap;
    font-size: 1.5rem;
    text-align: center;
    width: 100%
}

.voice-archive-page {
    padding: 40px 0 60px
}

.voice-archive-page__grid {
    display: grid;
    gap: 24px
}

.voice-archive-page__card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
    padding: 20px
}

.voice-archive-page__card-img {
    width: 100%
}

.voice-archive-page__card-img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px
}

.voice-archive-page__card-body {
    flex: 1;
    min-width: 0
}

.voice-archive-page__card-area {
    display: inline-block;
    background: rgb(var(--blue100));
    color: rgb(var(--blue700));
    font-size: 1.2rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 8px
}

.voice-archive-page__card-ratings {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 10px
}

.voice-archive-page__card-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 1.3rem
}

.voice-archive-page__card-rating-label {
    font-weight: 700;
    color: rgb(var(--gray600));
    min-width: 4.5em
}

.voice-archive-page__card-rating-stars {
    color: #f5a623
}

.voice-archive-page__card-rating-num {
    font-weight: 700;
    color: rgb(var(--gray800))
}

.voice-archive-page__card-text {
    font-size: 1.4rem;
    line-height: 1.8;
    color: rgb(var(--gray800));
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.voice-archive-page__card-services {
    margin-top: 10px
}

.voice-archive-page__pagination {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-top: 40px
}

.voice-archive-page__pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(var(--blue700));
    background: #fff;
    border: 2px solid rgb(var(--blue700));
    text-decoration: none;
    transition: all .2s
}

.voice-archive-page__pagination .page-numbers.current,
.voice-archive-page__pagination .page-numbers:hover {
    background: rgb(var(--blue700));
    color: #fff
}

.voice-archive-page__pagination .prev,
.voice-archive-page__pagination .next {
    width: auto;
    padding: 0 12px
}

.voice-archive-page__empty {
    text-align: center;
    padding: 60px 0;
    font-size: 1.6rem;
    color: rgb(var(--gray500))
}

@media all and (min-width: 768px) {
    .voice-archive-filter__form {
        flex-direction: row;
        align-items: flex-end
    }

    .voice-archive-filter__fields {
        flex-direction: row;
        flex: 1
    }

    .voice-archive-filter__field {
        min-width: 160px;
        flex: 1
    }

    .voice-archive-filter__btn {
        width: auto;
        min-width: 160px;
    }

    .voice-archive-page__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .voice-archive-page__card {
        flex-direction: row
    }

    .voice-archive-page__card-img {
        flex: 0 0 220px
    }

    .voice-archive-page__card-img img {
        height: 160px
    }

    .voice-archive-page__card-text {
        font-size: 1.5rem
    }

    ul.js-c-anime-elem.home-keywords__list.u-radius.u-radius30-pc.is-animated {
        padding-bottom: 20px;
    }
}

@media all and (max-width: 768px) {
    .c-cv01__btns {
        margin: 0 auto;
        margin-bottom: 39px;
    }

    .c-cv01__sub {
        font-size: 15px;
        margin-bottom: 10px;
    }

    .c-cv01__label-item {
        font-size: 12px;
    }

    .c-btn-cv01__link {
        max-width: 270px;
        margin: 0 auto;
    }

    .c-cv01__btns {
        margin-bottom: 40px;
    }

    /* エリアページ本文セクション */
    .area-content-section {
        padding: 50px 0;
    }

    .area-content-section__inner {
        line-height: 2;
        font-size: 1.5rem;
    }

    .area-content-section__inner h2 {
        font-size: 2.4rem;
        font-weight: 900;
        margin: 40px 0 16px;
        padding-bottom: 10px;
        border-bottom: 3px solid rgb(var(--blue500));
    }

    .area-content-section__inner h3 {
        font-size: 2rem;
        font-weight: 900;
        margin: 32px 0 12px;
        padding-left: 14px;
        border-left: 4px solid rgb(var(--blue500));
    }

    .area-content-section__inner h4 {
        font-size: 1.7rem;
        font-weight: 700;
        margin: 24px 0 10px;
    }

    .area-content-section__inner p {
        margin-bottom: 16px;
    }

    .area-content-section__inner ul,
    .area-content-section__inner ol {
        margin: 16px 0;
        padding-left: 1.5em;
    }

    .area-content-section__inner li {
        margin-bottom: 8px;
    }

    .area-content-section__inner img {
        max-width: 100%;
        height: auto;
        border-radius: 8px;
    }

    @media all and (min-width: 768px) {
        .area-content-section {
            padding: 70px 0;
        }

        .area-content-section__inner {
            font-size: 1.6rem;
        }
    }
}


/* アンケートセクション全体 */
.area-stats-v2 {
    padding: 60px 20px;
    background-color: #f0f4f7;
    font-family: 'Hiragino Sans', 'Noto Sans JP', sans-serif;
}

.area-stats-v2__inner {
    max-width: 1140px;
    margin: 0 auto;
}

/* ヘッダー */
.area-stats-v2__header {
    text-align: center;
    margin-bottom: 40px;
}

.area-stats-v2__sub {
    color: #3f97e2;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
    display: block;
}

.area-stats-v2__title {
    font-size: clamp(24px, 4vw, 32px);
    color: #185daf;
    font-weight: 900;
    margin: 0 0 15px;
}

.area-stats-v2__slash {
    color: #f5b419;
    margin: 0 5px;
}

/* グリッドレイアウト（PC3列+2列） */
.area-stats-v2__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.area-stats-v2__card {
    grid-column: span 2;
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 10px 25px rgba(24, 93, 175, 0.08);
    border: 1px solid #e8f3ff;
    display: flex;
    flex-direction: column;
}

@media (min-width: 769px) {
    .area-stats-v2__card:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .area-stats-v2__card:nth-child(5) {
        grid-column: 4 / span 2;
    }
}

.area-stats-v2__card-title {
    font-size: 18px;
    font-weight: 700;
    color: #185daf;
    margin-bottom: 15px;
    text-align: center;
    border-bottom: 2px solid #f0f4f7;
    padding-bottom: 10px;
}

.area-stats-v2__chart-wrapper {
    position: relative;
    height: 200px;
    width: 100%;
}

/* 動的解説文のスタイル */
.area-stats-v2__comment {
    margin-top: 15px;
    padding: 12px;
    background-color: #f8fbff;
    font-size: 13px;
    line-height: 1.6;
    color: #444;
    border-radius: 5px;
}

/* 実績数バッジ */
.area-stats-v2__total-badge {
    background: linear-gradient(135deg, #185daf 0%, #3f97e2 100%);
    color: #fff;
    max-width: 600px;
    margin: 40px auto 0;
    padding: 25px;
    border-radius: 60px;
    text-align: center;
    box-shadow: 0 15px 30px rgba(24, 93, 175, 0.3);
    border: 4px solid #fff;
}

.area-stats-v2__total-value {
    font-size: 52px;
    font-weight: 900;
    color: #fcd701;
    font-family: 'Arial Black', sans-serif;
    line-height: 1;
}
.contact-thanks-chara {
    width: 21%;
    margin: 0 auto;
    max-width: 200px;
    margin-bottom: 30px;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .area-stats-v2__grid {
        grid-template-columns: 1fr;
    }
.contact-thanks-chara {
    width: 39%;
    margin: 0 auto;
    max-width: 200px;
    margin-bottom: 30px;
}
    .area-stats-v2__card,
    .area-stats-v2__card:nth-child(4),
    .area-stats-v2__card:nth-child(5) {
        grid-column: span 1;
    }

    .area-stats-v2__total-badge {
        border-radius: 20px;
    }
}
.ceo-greeting {
    padding: 60px 0;
}

.ceo-greeting__card {
    display: flex;
    align-items: stretch;
    background: linear-gradient(135deg, #1a2744 0%, #263a5e 100%);
    border-radius: 16px;
    overflow: hidden;
    margin-top: 32px;
    box-shadow: 0 8px 30px rgba(26, 39, 68, 0.25);
}

.ceo-greeting__photo {
    flex: 0 0 280px;
    min-height: 280px;
    position: relative;
    overflow: hidden;
}

.ceo-greeting__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.about-overview__table{
    margin-top: 40px;
}
.ceo-greeting__body {
    flex: 1;
    position: relative;
    padding: 40px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.ceo-greeting__heading {
    font-size: 20px;
    font-weight: 700;
    font-family: 'Georgia', 'Times New Roman', serif;
    line-height: 1.6;
    margin: 0 0 20px;
    color: #fff;
}
.ceo-greeting-cursive {
    position: absolute;
    bottom: 16px;
    left: 45px;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    font-size: 20px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.65);
    letter-spacing: 0.05em;
    pointer-events: none;
    user-select: none;
}
.ceo-greeting__text {
    font-size: 16px;
    line-height: 2;
    font-family: 'Georgia', 'Times New Roman', serif;

    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 20px;
}

/* ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ– */
@media (max-width: 768px) {
    .ceo-greeting {
        padding: 40px 0;
    }

    .ceo-greeting__card {
        flex-direction: column;
        margin-top: 24px;
    }

    .ceo-greeting__photo {
        flex: none;
        min-height: 220px;
        max-height: 260px;
    }

    .ceo-greeting__body {
        padding: 28px 24px;
    }

    .ceo-greeting__heading {
        font-size: 18px;
    }

    .ceo-greeting__text {
        font-size: 14px;
        line-height: 1.9;
    margin-bottom: 50px;
    }
    .ceo-greeting-cursive {
    left: 24px;
}
.c-index-faq__inner{
    padding-bottom: 30px !important;
}
}
/* ─── 内部リンクカード ─── */
.c-linkcard {
    display: flex;
    align-items: stretch;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s, border-color .2s;
    margin: 24px 0;
    max-width: 100%;
}
.c-linkcard:hover {
    border-color: #2b7cd8;
    box-shadow: 0 4px 12px rgba(43,124,216,.15);
}
.c-linkcard__thumb {
    flex: 0 0 200px;
    width: 200px;
    margin: 0;
    overflow: hidden;
    background: #f5f5f5;
}
.c-linkcard__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.c-linkcard__body {
    flex: 1 1 0%;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
.c-linkcard__title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
    line-height: 1.5;
    margin: 0 0 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.c-linkcard:hover .c-linkcard__title {
    color: #2b7cd8;
}
.c-linkcard__excerpt {
    font-size: 1.3rem;
    color: #777;
    line-height: 1.7;
    margin: 0 0 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.c-linkcard__url {
    font-size: 1.1rem;
    color: #999;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.c-linkcard--noimage .c-linkcard__body {
    padding: 20px 24px;
}

@media (max-width: 768px) {
    .c-linkcard {
        flex-direction: column;
    }
    .c-linkcard__thumb {
        flex: 0 0 auto;
        width: 100%;
        height: 180px;
    }
    .c-linkcard__body {
        padding: 14px 16px;
    }
    .c-linkcard__title {
        font-size: 1.5rem;
    }
    .c-linkcard__excerpt {
        font-size: 1.2rem;
    }
}
.c-gomi-dict {
  padding: 60px 0;
  background: #f8f9fa;
}
.c-gomi-dict__title {
  text-align: center;
  margin-bottom: 12px;
}
.c-gomi-dict__lead {
  text-align: center;
  color: #555;
  margin-bottom: 30px;
  line-height: 1.8;
}
.c-gomi-dict__search {
  max-width: 600px;
  margin: 0 auto 20px;
}
.c-gomi-dict__search-inner {
  position: relative;
}
.c-gomi-dict__search-ico {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  font-size: 1.6rem;
}
.c-gomi-dict__search-input {
  width: 100%;
  padding: 14px 16px 14px 46px;
  font-size: 1.6rem;
  border: 2px solid #ddd;
  border-radius: 8px;
  outline: none;
  transition: border-color .2s;
  box-sizing: border-box;
}
.c-gomi-dict__search-input:focus {
  border-color: #2b7cd8;
}
.c-gomi-dict__search-hint {
  font-size: 1.2rem;
  color: #999;
  margin-top: 6px;
  text-align: center;
}
.c-gomi-dict__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 16px;
}
.c-gomi-dict__filter-btn {
  padding: 6px 16px;
  font-size: 1.4rem;
  border: 1px solid #ccc;
  border-radius: 20px;
  background: #fff;
  cursor: pointer;
  transition: all .2s;
}
.c-gomi-dict__filter-btn.is-active,
.c-gomi-dict__filter-btn:hover {
  background: #2b7cd8;
  color: #fff;
  border-color: #2b7cd8;
}
.c-gomi-dict__kana-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin-bottom: 20px;
}
.c-gomi-dict__kana-btn {
  padding: 4px 10px;
  font-size: 1.3rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  transition: all .2s;
}
.c-gomi-dict__kana-btn.is-active,
.c-gomi-dict__kana-btn:hover {
  background: #333;
  color: #fff;
  border-color: #333;
}
.c-gomi-dict__result-count {
  font-size: 1.4rem;
  color: #666;
  margin-bottom: 12px;
}
.c-gomi-dict__table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.c-gomi-dict__table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.c-gomi-dict__th {
  background: #2b7cd8;
  color: #fff;
  padding: 12px 14px;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}
.c-gomi-dict__td {
  padding: 12px 14px;
  font-size: 1.4rem;
  border-bottom: 1px solid #eee;
  vertical-align: middle;
  line-height: 1.6;
}
.c-gomi-dict__td--name { font-weight: 600; white-space: nowrap; }
.c-gomi-dict__td--fee { white-space: nowrap; }
.c-gomi-dict__td--collect { text-align: center; white-space: nowrap; }
.c-gomi-dict__row:hover { background: #f0f6ff; }
.c-gomi-dict__badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 1.2rem;
  font-weight: 600;
  white-space: nowrap;
}
.c-gomi-dict__badge.is-burnable      { background: #fff3e0; color: #e65100; }
.c-gomi-dict__badge.is-non-burnable  { background: #e3f2fd; color: #1565c0; }
.c-gomi-dict__badge.is-oversized     { background: #fce4ec; color: #c62828; }
.c-gomi-dict__badge.is-resource      { background: #e8f5e9; color: #2e7d32; }
.c-gomi-dict__badge.is-hazardous     { background: #f3e5f5; color: #7b1fa2; }
.c-gomi-dict__badge.is-uncollectable { background: #efebe9; color: #4e342e; }
.c-gomi-dict__ok { color: #2e7d32; font-weight: 600; }
.c-gomi-dict__ng { color: #c62828; font-weight: 600; }
.c-gomi-dict__empty {
  text-align: center;
  padding: 40px 20px;
  color: #999;
}
.c-gomi-dict__empty i {
  font-size: 3rem;
  margin-bottom: 12px;
  display: block;
}
@media (max-width: 768px) {
  .c-gomi-dict { padding: 40px 0; }
  .c-gomi-dict__th { padding: 10px 8px; font-size: 1.2rem; }
  .c-gomi-dict__td { padding: 10px 8px; font-size: 1.3rem; }
  .c-gomi-dict__filter-btn { font-size: 1.2rem; padding: 5px 12px; }
  .c-gomi-dict__kana-btn { font-size: 1.1rem; padding: 3px 8px; }
}

/* ─── カレンダー ─── */
.c-gomi-calendar {
  padding: 60px 0;
  background: #fff;
}
.c-gomi-calendar__title {
  text-align: center;
  margin-bottom: 12px;
}
.c-gomi-calendar__year {
  color: #2b7cd8;
  font-size: 0.8em;
}
.c-gomi-calendar__lead {
  text-align: center;
  color: #555;
  margin-bottom: 30px;
  line-height: 1.8;
}
.c-gomi-calendar__select-wrap {
  max-width: 480px;
  margin: 0 auto 30px;
  text-align: center;
}
.c-gomi-calendar__label {
  display: block;
  font-weight: 600;
  font-size: 1.5rem;
  margin-bottom: 8px;
  color: #333;
}
.c-gomi-calendar__label i {
  color: #2b7cd8;
  margin-right: 4px;
}
.c-gomi-calendar__select {
  width: 100%;
  padding: 12px 16px;
  font-size: 1.5rem;
  border: 2px solid #ddd;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  outline: none;
}
.c-gomi-calendar__select:focus {
  border-color: #2b7cd8;
}
.c-gomi-calendar__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  justify-content: center;
  margin-bottom: 20px;
}
.c-gomi-calendar__legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 1.3rem;
  color: #555;
}
.c-gomi-calendar__legend-dot {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  display: inline-block;
}
.c-gomi-calendar__legend-dot.is-burnable     { background: #ff9800; }
.c-gomi-calendar__legend-dot.is-non-burnable { background: #2196f3; }
.c-gomi-calendar__legend-dot.is-resource     { background: #4caf50; }
.c-gomi-calendar__legend-dot.is-hazardous    { background: #9c27b0; }
.c-gomi-calendar__legend-dot.is-oversized    { background: #e91e63; }
.c-gomi-calendar__month-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
.c-gomi-calendar__month-label {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  min-width: 160px;
  text-align: center;
}
.c-gomi-calendar__month-prev,
.c-gomi-calendar__month-next {
  width: 40px;
  height: 40px;
  border: 2px solid #ddd;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  color: #333;
}
.c-gomi-calendar__month-prev:hover,
.c-gomi-calendar__month-next:hover {
  background: #2b7cd8;
  color: #fff;
  border-color: #2b7cd8;
}
.c-gomi-calendar__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
  border-radius: 8px;
  overflow: hidden;
}
.c-gomi-calendar__th {
  padding: 10px 4px;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  background: #f5f5f5;
  border-bottom: 2px solid #ddd;
}
.c-gomi-calendar__th.is-sun { color: #c62828; }
.c-gomi-calendar__th.is-sat { color: #1565c0; }
.c-gomi-calendar__td {
  padding: 8px 4px;
  text-align: center;
  vertical-align: top;
  border: 1px solid #eee;
  height: 80px;
}
.c-gomi-calendar__td.is-empty { background: #fafafa; }
.c-gomi-calendar__td.is-sun { background: #fff5f5; }
.c-gomi-calendar__td.is-sat { background: #f5f8ff; }
.c-gomi-calendar__day {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 4px;
  color: #333;
}
.c-gomi-calendar__td.is-sun .c-gomi-calendar__day { color: #c62828; }
.c-gomi-calendar__td.is-sat .c-gomi-calendar__day { color: #1565c0; }
.c-gomi-calendar__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  justify-content: center;
}
.c-gomi-calendar__tag {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
}
.c-gomi-calendar__tag.is-burnable      { background: #ff9800; color: #fff; }
.c-gomi-calendar__tag.is-non-burnable  { background: #2196f3; color: #fff; }
.c-gomi-calendar__tag.is-resource      { background: #4caf50; color: #fff; }
.c-gomi-calendar__tag.is-hazardous     { background: #9c27b0; color: #fff; }
.c-gomi-calendar__tag.is-oversized     { background: #e91e63; color: #fff; }
.c-gomi-calendar__notes {
  margin-top: 30px;
  padding: 20px 24px;
  background: #fff8e1;
  border-radius: 8px;
  border-left: 4px solid #ffc107;
}
.c-gomi-calendar__notes-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 12px;
}
.c-gomi-calendar__notes-title i {
  color: #f9a825;
  margin-right: 6px;
}
.c-gomi-calendar__notes-list {
  list-style: disc;
  padding-left: 20px;
}
.c-gomi-calendar__notes-list li {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #555;
  margin-bottom: 4px;
}
@media (max-width: 768px) {
  .c-gomi-calendar { padding: 40px 0; }
  .c-gomi-calendar__month-label { font-size: 1.7rem; min-width: 130px; }
  .c-gomi-calendar__td { padding: 6px 2px; height: 65px; }
  .c-gomi-calendar__day { font-size: 1.2rem; }
  .c-gomi-calendar__tag { font-size: 0.9rem; padding: 1px 4px; }
  .c-gomi-calendar__legend { gap: 8px 14px; }
  .c-gomi-calendar__legend-item { font-size: 1.1rem; }
  .c-gomi-calendar__notes { padding: 16px 18px; }
.l-sub-img {
    height: 60px;
    padding: 40px 0px;
}
.l-sub-img__head {
    font-size: 23px;
}
.li-check li {
      font-size: 16px;
}
.fv-label-main {
    font-size: 16px;
}
#contents-section p {
    font-size: 16px;
}
}