@charset "UTF-8";

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,:before,:after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    min-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0
}

main {
    display: block
}

p,table,blockquote,address,pre,iframe,form,figure,dl {
    margin: 0
}

h1,h2,h3,h4,h5,h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0
}

ul,ol {
    margin: 0;
    padding: 0;
    list-style: none
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit
}

pre {
    font-family: monospace,monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

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

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,strong {
    font-weight: bolder
}

code,kbd,samp {
    font-family: monospace,monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

svg,img,embed,object,iframe {
    vertical-align: bottom
}

button,input,optgroup,select,textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit
}

button {
    outline: none
}

button,[type=button],[type=reset],[type=submit] {
    cursor: pointer
}

button:disabled,[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=number] {
    -moz-appearance: textfield
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

td,th {
    vertical-align: top;
    padding: 0
}

th {
    text-align: left;
    font-weight: 700
}

:root {
    --font-base: "Zen Kaku Gothic New", sans-serif;
    --color-base: #333;
    --color-primary: #ed0000;
    --color-primary-light: #faf7f5;
    --color-primary-medium: #faeded;
    --color-primary-dark: #fae1e1;
    --color-primary-grad-thin: transparent radial-gradient(closest-side at 50% 50%, #ed000033 0%, #ed00001a 60%, #ed000000 100%);
    --color-primary-grad-dark: transparent radial-gradient(closest-side at 50% 50%, #ed0000cc 0%, #ed00004d 55%, #ed000000 100%);
    --color-accent: #ffc400;
    --color-accent-grad-thin: transparent radial-gradient(closest-side at 50% 50%, #ffc40040 0%, #ffc40014 70%, #ffc4000a 100%);
    --color-accent-grad-medium: transparent radial-gradient(closest-side at 50% 50%, #ffc40040 0%, #ffc40033 63%, #ffc40000 100%);
    --color-accent-grad-dark: transparent radial-gradient(closest-side at 50% 50%, #ffc400 0%, #ffc400 75%, #ffc40000 100%);
    --color-blue: #5798d9;
    --color-light-blue: #edf3fa;
    --color-blue-grad-dark: transparent radial-gradient(closest-side at 50% 50%, #5798d9e6 0%, #5798d94d 74%, #5798d900 100%);
    --color-light-gray: #f4f4f4;
    --header-height: 11.2rem;
    --radius-base: .4rem;
    --shadow-base: 0 0 .8rem rgb(0 0 0 / .1);
    --shadow-small: 0 0 .8rem rgb(0 0 0 / .05);
    --ease-base: .3s cubic-bezier(.33, 1, .68, 1);
    --ease-mv: .5s ease-in-out;
    --z-index-header: 1000;
    --z-index-fixed-cv: 900;
    --z-index-content: 800;
    --clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
    --clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
    --clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
    --clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%)
}

html {
    font-size: 10px;
    scroll-behavior: smooth
}

@media (max-width: 768px) {
    html {
        font-size:2.6666666667vw
    }
}

body {
    font-size: clamp(1.4rem,1.5vw,1.6rem);
    line-height: 1.8;
    font-weight: 500;
    color: var(--color-base);
    font-family: var(--font-base);
    -webkit-font-smoothing: antialiased
}

@media (max-width: 768px) {
    body {
        font-size:1.4rem;
        line-height: 1.8
    }

    body.menu-open {
        overflow: clip
    }
}

#app {
    position: relative
}

[data-fade-in],[data-scale-in] {
    opacity: 0;
    visibility: hidden
}

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

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

@media (min-width: 769px) {
    a[href^="tel:"] {
        pointer-events:none
    }
}

.l-header {
    position: fixed;
    top: 0;
    left: 50%;
    translate: -50% 0;
    z-index: var(--z-index-header);
    width: 100%;
    max-width: 124rem;
    padding-top: 1.6rem;
    height: var(--header-height)
}

@media (max-width: 768px) {
    .l-header {
        --header-height: 6.4rem;
        --shadow-base: 0 0 1rem rgb(77 0 0 / .1);
        max-width: 100%;
        padding: .8rem .8rem 0
    }
}

.l-header__inner {
    display: flex;
    justify-content: center;
    column-gap: min(.8vw,1rem);
    height: 100%
}

@media (max-width: 768px) {
    .l-header__inner {
        width:100%;
        column-gap: .8rem
    }
}

.l-header__content {
    display: flex;
    align-items: center;
    column-gap: min(2.6vw,3.2rem);
    padding-inline:min(3.2vw,4rem) min(3.9vw,4.8rem);background-color: #fff;
    border-radius: var(--radius-base);
    box-shadow: var(--shadow-base)
}

@media screen and (min-width: 769px) and (max-width: 1080px) {
    .l-header__content {
        padding-inline:.8rem
    }
}

@media (max-width: 768px) {
    .l-header__content {
        column-gap:0;
        padding-inline:.8rem}
}

.l-header__nav {
    height: 100%
}

.menu-open .l-header__nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -10;
    width: 100%;
    height: 100dvh;
    background-color: var(--color-primary-light)
}

.l-header__logo {
    width: min(17.7vw,22rem)
}

@media (max-width: 768px) {
    .l-header__logo {
        width:15.1rem
    }
}

.l-header__logo img {
    width: 100%
}

.l-header__button {
    display: grid;
    place-content: center;
    place-items: center;
    width: 100%;
    max-width: min(10.3vw,12.8rem);
    color: #fff;
    border: .1rem solid transparent;
    border-radius: var(--radius-base);
    box-shadow: 0 0 1rem #0000000d;
    transition: all var(--ease-base)
}

@media (max-width: 768px) {
    .l-header__button {
        max-width:5.6rem;
        box-shadow: var(--shadow-base)
    }
}

@media (any-hover: hover) {
    .l-header__button:hover {
        background-color:#fff;
        border-color: currentColor
    }
}

.l-header__button--contact {
    background-color: var(--color-primary)
}

@media (any-hover: hover) {
    .l-header__button--contact:hover {
        color:var(--color-primary)
    }
}

.l-header__button--mypage {
    background-color: var(--color-blue)
}

@media (any-hover: hover) {
    .l-header__button--mypage:hover {
        color:var(--color-blue)
    }
}

.l-header__button-label {
    margin-top: .2rem;
    font-size: clamp(1.2rem,1.3vw,1.6rem);
    line-height: 1.625;
    font-weight: 700
}

.l-header__trigger {
    width: 5.6rem;
    aspect-ratio: 1;
    background-color: #fff;
    border-radius: var(--radius-base);
    box-shadow: var(--shadow-base);
    cursor: pointer
}

.l-header__trigger-icon {
    display: block;
    position: relative;
    width: 100%;
    height: 100%
}

.l-header__trigger-icon span {
    position: absolute;
    top: 50%;
    left: calc(50% - 1rem);
    width: 2rem;
    height: .2rem;
    background: var(--color-primary);
    transition: all .5s;
    transform-origin: right
}

.l-header__trigger-icon span:first-of-type {
    translate: .2rem .8rem
}

.l-header__trigger-icon span:last-of-type {
    translate: -.2rem -.8rem
}

:where(.menu-open) .l-header__trigger-icon span:first-of-type {
    width: 2.4rem;
    translate: -.6rem .9rem;
    rotate: 45deg
}

:where(.menu-open) .l-header__trigger-icon span:nth-of-type(2) {
    opacity: 0
}

:where(.menu-open) .l-header__trigger-icon span:last-of-type {
    width: 2.4rem;
    translate: -.6rem -.8rem;
    rotate: -45deg
}

.l-inner {
    width: 100%;
    max-width: 112rem;
    margin-inline:auto;padding-inline:2rem}

@media (max-width: 768px) {
    .l-inner {
        padding:2.4rem;
    }
}

@media (min-width: 769px) {
    .l-inner--narrow {
        max-width:min(100%,94rem)
    }
}

.l-main {
    position: relative
}

.c-heading {
    width: fit-content
}

.c-heading__sub {
    position: relative;
    margin-bottom: .4rem;
    padding-left: 1rem;
    line-height: 1.3;
    letter-spacing: .04em;
    font-weight: 400;
    color: var(--color-primary)
}

@media (max-width: 768px) {
    .c-heading__sub {
        margin-bottom:-.1rem;
        line-height: 1.3
    }
}

.c-heading__sub:before {
    position: absolute;
    top: .6em;
    left: 0;
    width: .4rem;
    aspect-ratio: 1;
    background-color: var(--color-primary);
    border-radius: 50%;
    content: ""
}

.c-heading__main {
    color: var(--color-primary);
    font-size: clamp(2.2rem,4vw,4.0rem);
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: .04em;
	margin-bottom: 2rem;
}

@media (max-width: 768px) {
    .c-heading__main {
        font-size: 22px;
        line-height: 1.3;
		margin-bottom: 1.6rem;
    }
}

.c-button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    max-width: 30.4rem;
    min-height: 7.2rem;
    padding: 1em 3.2rem;
    color: #fff;
    background-color: var(--color-primary);
    border: .1rem solid transparent;
    border-radius: var(--radius-base);
    transition: all var(--ease-base)
}

@media (max-width: 768px) {
    .c-button {
        max-width:26.4rem;
        min-height: 6.8rem;
        padding: 1em 1.6rem
    }
}

@media (any-hover: hover) {
    .c-button:hover {
        color:var(--color-primary);
        background-color: #fff;
        border-color: var(--color-primary)
    }

    .c-button:hover .c-icon {
        opacity: 1
    }

    .c-button:hover .c-arrow-hover:before {
        opacity: 0
    }

    .c-button:hover .c-arrow-hover:after {
        opacity: 1;
        scale: 1
    }
}

.c-button__label {
    position: relative;
    z-index: 100;
    max-width: 85%;
    line-height: 1.3;
    font-weight: 700;
    /* border-radius: 0 !important; */
}

@media (max-width: 768px) {
    .c-button__label {
        line-height:1.5
    }
}

.c-button .c-icon {
    right: 3.2rem;
    translate: 0 -50%;
    color: #fff
}

.p-support-service .c-button {
    border-radius: 0;
    min-height: auto;
    padding: 16px 3.2rem;
}
.p-support-service .c-button:before {
    content: "";
    position: absolute;
    right: 0;
    display: block;
    width: 16%;
    height: 1px;
    background-color: #fff;
}
.p-support-service .c-button:hover:before {
    background-color: var(--color-primary);
}   

@media (max-width: 768px) {
    .c-button .c-icon {
        right:1.6rem
    }
}

.c-button--fixed {
    max-width: 28.2rem;
    min-height: 7.7rem;
    padding: 1em .4rem
}

@media (max-width: 768px) {
    .c-button--fixed {
        max-width:22.1rem;
        min-height: 5.6rem
    }
}

.c-button--fixed .c-button__icon {
    position: absolute;
    top: -1.2rem;
    left: 0;
    translate: 0;
    width: 8.8rem
}

@media (max-width: 768px) {
    .c-button--fixed .c-button__icon {
        top:-.8rem;
        width: 6.4rem
    }
}

.c-button--fixed .c-button__icon img {
    width: 100%
}

.c-button--fixed .c-button__label {
    margin-left: 6.2rem;
    font-size: 2rem;
    line-height: 1.3
}

@media (max-width: 768px) {
    .c-button--fixed .c-button__label {
        font-size:1.8rem;
        line-height: 1.3;
        font-weight: 500
    }
}

.c-button--back .c-icon {
    left: 3.2rem
}

@media (max-width: 768px) {
    .c-button--back .c-icon {
        left:1.6rem
    }
}

.c-button--back .c-arrow-hover {
    left: -1.1rem
}

.c-button--blue {
    max-width: 33.6rem;
    min-height: 9.3rem;
    padding: 1em min(3.7vw,4rem);
    background-color: var(--color-light-blue)
}

@media (max-width: 768px) {
    .c-button--blue {
        max-width:28.8rem;
        min-height: 6.8rem;
        padding: 2.4rem
    }
}

@media (any-hover: hover) {
    .c-button--blue:hover {
        background-color:var(--color-light-blue);
        border-color: transparent
    }

    .c-button--blue:hover .c-button__label {
        color: var(--color-base)
    }
}

.c-button--blue .c-button__label {
    font-size: clamp(1.2rem,1.7vw,2rem);
    line-height: 1.3;
    font-weight: 500;
    color: var(--color-base)
}

@media (min-width: 769px) {
    .c-button--blue .c-button__label {
        max-width:95%
    }
}

@media (max-width: 768px) {
    .c-button--blue .c-button__label {
        font-size:1.4rem;
        line-height: 1.5;
        font-weight: 700
    }
}

.c-button--blue .c-icon {
    right: min(3.7vw,4rem)
}

@media (max-width: 768px) {
    .c-button--blue .c-icon {
        right:2.4rem;
        color: var(--color-blue)
    }
}

.c-button--large {
    max-width: 48rem;
    min-height: 9.3rem;
    padding: 1em 4rem
}

@media (max-width: 768px) {
    .c-button--large {
        max-width:32.7rem;
        min-height: 6.8rem;
        padding: 1em 2.4rem
    }
}

.c-button--large .c-button__label {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 500
}

@media (max-width: 768px) {
    .c-button--large .c-button__label {
        font-size:1.4rem;
        line-height: 1.5;
        font-weight: 700
    }
}

.c-button--large .c-icon {
    right: 4rem
}

@media (max-width: 768px) {
    .c-button--large .c-icon {
        right:2.4rem
    }
}

.c-button--icon {
    column-gap: .4rem
}

.c-button--icon .c-icon:not(.c-icon--arrow-hover) {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    translate: 0;
    color: currentColor
}

.c-button--contact {
    justify-content: start;
    padding: min(3.6vw,3.9rem);
    max-width: 100%;
    min-height: min(13.3vw,14.4rem);
    color: var(--color-base);
    background-color: #fff;
    border-color: #ccc
}

@media (any-hover: hover) {
    .c-button--contact:hover {
        color:var(--color-base);
        border-color: #ccc
    }
}

@media (max-width: 768px) {
    .c-button--contact {
        padding:2.3rem;
        min-height: 8.8rem
    }
}

.c-button--contact .c-button__label {
    font-size: clamp(1.6rem,1.9vw,2rem);
    line-height: 1.6;
    font-weight: 400
}

@media (max-width: 768px) {
    .c-button--contact .c-button__label {
        font-size:1.4rem;
        line-height: initial
    }
}

.c-button--contact .c-icon {
    right: 4rem
}

@media (max-width: 768px) {
    .c-button--contact .c-icon {
        right:1.6rem;
        color: var(--color-primary)
    }
}

.c-button--contact .c-arrow-hover {
    right: 0
}

.c-button--contact .c-arrow-hover:before {
    background-color: var(--color-primary)
}

.c-icon {
    --icon-base-width: var(--icon-width);
    width: calc(var(--icon-width) * .1rem);
    aspect-ratio: var(--icon-base-width)/var(--icon-height)
}

@media (min-width: 769px) {
    .c-icon {
        width:calc(var(--icon-lg-width, var(--icon-base-width)) * .1rem)
    }
}

@media (max-width: 768px) {
    .c-icon {
        width:calc(var(--icon-md-width, var(--icon-lg-width, var(--icon-base-width))) * .1rem)
    }
}

.c-icon--primary {
    color: var(--color-primary)
}

.c-icon--flip {
    scale: -1 1
}

.c-icon--arrow-hover {
    position: absolute;
    top: 50%;
    z-index: 10;
    opacity: 0;
    transition: opacity var(--ease-base),color var(--ease-base)
}

@media (max-width: 768px) {
    .c-icon--arrow-hover {
        opacity:1
    }
}
.c-link {
    display: inline;
    line-height: initial;
    color: var(--color-primary);
    text-decoration: underline
}

@media (any-hover: hover) {
    .c-link:hover {
        text-decoration:none
    }
}

.c-link--blank {
    position: relative;
    margin-right: .6rem
}

.c-link--blank:after {
    display: inline-block;
    position: relative;
    top: .125em;
    width: 1em;
    aspect-ratio: 1;
    margin-left: .6rem;
    background-color: currentColor;
    mask: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4gPGcgaWQ9Imljb24iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMjAgLTczNTYpIj4gPHJlY3QgaWQ9IumVt+aWueW9ol8zMjc0IiBkYXRhLW5hbWU9IumVt+aWueW9oiAzMjc0IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMCA3MzU2KSIgZmlsbD0ibm9uZSIvPiA8cGF0aCBpZD0ib3Blbl9pbl9uZXdfMjRkcF81RjYzNjhfRklMTDBfd2dodDMwMF9HUkFEMF9vcHN6MjQiIGQ9Ik0xNDEuNDg5LTgwNmExLjQzNywxLjQzNywwLDAsMS0xLjA1Ni0uNDMyLDEuNDM3LDEuNDM3LDAsMCwxLS40MzItMS4wNTZ2LTExLjAyM2ExLjQzNywxLjQzNywwLDAsMSwuNDMyLTEuMDU2LDEuNDM3LDEuNDM3LDAsMCwxLDEuMDU2LS40MzJoNS4xOTR2MS4yMzVoLTUuMTk0YS4yNDIuMjQyLDAsMCwwLS4xNzQuMDc5LjI0Mi4yNDIsMCwwLDAtLjA3OS4xNzR2MTEuMDIzYS4yNDIuMjQyLDAsMCwwLC4wNzkuMTc0LjI0Mi4yNDIsMCwwLDAsLjE3NC4wNzloMTEuMDIzYS4yNDIuMjQyLDAsMCwwLC4xNzQtLjA3OS4yNDIuMjQyLDAsMCwwLC4wNzktLjE3NHYtNS4xOTRIMTU0djUuMTk0YTEuNDM3LDEuNDM3LDAsMCwxLS40MzIsMS4wNTYsMS40MzcsMS40MzcsMCwwLDEtMS4wNTYuNDMyWm0zLjYzMy00LjI1NC0uODY4LS44NjgsNy42NDMtNy42NDNoLTMuMjVWLTgyMEgxNTR2NS4zNTNoLTEuMjM1di0zLjI1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODEgODE3NykiIGZpbGw9IiMzMzMiLz4gPC9nPjwvc3ZnPg==) no-repeat center/100%;
    content: ""
}

.c-link--ul-none {
    text-decoration: none
}

.c-page-heading {
    position: relative;
    width: fit-content;
    padding-left: min(1.8vw,2rem);
    font-size: clamp(2.2rem,2.8vw, 2.8rem);
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: .04em
}

@media (max-width: 768px) {
    .c-page-heading {
        padding-left:1.6rem;
        font-size: 2rem;
        line-height: 1.3
    }
}

.c-page-heading:before {
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: min(1.1vw,1.2rem);
    aspect-ratio: 1;
    background-color: var(--color-primary);
    border-radius: 50%;
    content: ""
}

@media (max-width: 768px) {
    .c-page-heading:before {
        width:.8rem
    }
}

.c-page-heading--line {
    max-width: 84%;
    padding-left: 0;
    font-size: clamp(2.6rem,3.1vw,3.4rem);
    line-height: initial;
    letter-spacing: .02em
}

@media (max-width: 768px) {
    .c-page-heading--line {
        font-size:2.2rem
    }
}

.c-page-heading--line:before {
    display: none
}

.c-page-heading--line:after {
    position: absolute;
    top: calc(50% + .1rem);
    right: max(-1.5vw,-1.6rem);
    translate: 100% -50%;
    width: calc(100vw - 100%);
    height: .1rem;
    background-color: var(--color-primary);
    content: ""
}

@media (max-width: 768px) {
    .c-page-heading--line:after {
        right:-.8rem
    }
}

.c-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: .8rem
}

@media (max-width: 768px) {
    .c-pager {
        column-gap:.4rem
    }
}

.c-pager__item {
    display: grid;
    place-items: center;
    width: 5.6rem;
    aspect-ratio: 1;
    padding: 0 0 .6rem .2rem;
    font-size: 2.2rem;
    line-height: initial;
    letter-spacing: .08em;
    color: #999;
    background-color: #ededed;
    border-radius: 50%;
    transition: color var(--ease-base),background-color var(--ease-base)
}

@media (max-width: 768px) {
    .c-pager__item {
        width:4.2rem;
        padding: 0 0 .4rem;
        font-size: 1.8rem;
        letter-spacing: 0
    }
}

@media (any-hover: hover) {
    .c-pager__item:hover {
        color:#fff;
        background-color: var(--color-primary)
    }
}

.c-pager__item--arrow {
    padding: 0
}

.c-pager__item--current {
    color: #fff;
    background-color: var(--color-primary)
}

.c-column {
    display: block;
    padding-block:min(3.7vw,4rem)}

@media (max-width: 768px) {
    .c-column {
        padding-block:2.4rem
    }
}

@media (any-hover: hover) {
    .c-column:hover .c-column__body .title {
        color:var(--color-primary)
    }

    .c-column:hover .c-icon {
        color: #fff
    }

    .c-column:hover .c-arrow-hover:after {
        opacity: 1;
        scale: 1
    }
}

.c-column__article {
    display: flex;
    column-gap: min(2.2vw,2.4rem)
}

@media (max-width: 768px) {
    .c-column__article {
        column-gap:.8rem
    }
}

.c-column__thumbnail {
    width: 100%;
    max-width: min(20vw,21.6rem);
    height: fit-content;
    aspect-ratio: 216/144;
    border-radius: var(--radius-base);
    overflow: hidden
}

@media (max-width: 768px) {
    .c-column__thumbnail {
        max-width:10.4rem
    }
}

.c-column__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.c-column__body {
    flex: 1
}

.c-column__body-head {
    position: relative
}

@media (max-width: 768px) {
    .c-column__body-head {
        min-height:6.9rem
    }
}

.c-column__body-head>.title {
    max-width: min(27.4vw,38.4rem);
    font-size: clamp(1.6rem,2vw,2.2rem);
    line-height: initial;
    transition: color var(--ease-base)
}

@media (max-width: 768px) {
    .c-column__body-head>.title {
        max-width:19.5rem;
        font-size: 1.8rem;
        line-height: 1.3;
        letter-spacing: .04em
    }
}

.c-column__body-head>.arrow {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    right: 0;
    width: 8rem;
    aspect-ratio: 1
}

@media (max-width: 768px) {
    .c-column__body-head>.arrow {
        width:1.2rem
    }
}

.c-column__body-head>.arrow .c-icon--arrow-hover {
    left: 50%;
    translate: -50% -50%;
    opacity: 1
}

.c-column__body-head>.arrow .c-arrow-hover {
    right: 0;
    width: 100%
}

.c-column__meta {
    margin: min(1.5vw,1.6rem) 0 0 0
}

@media (max-width: 768px) {
    .c-column__meta {
        margin:.8rem 0 0 -11.2rem
    }
}

.c-column__meta-date {
    display: block;
    width: fit-content;
    font-size: clamp(1.2rem,.9vw,1.4rem);
    line-height: initial;
    font-weight: 400
}

@media (max-width: 768px) {
    .c-column__meta-date {
        font-size:1.2rem
    }
}

.c-column__meta-tag {
    display: flex;
    flex-wrap: wrap;
    gap: min(.8vw,.8rem);
    margin-top: min(2.2vw,2.4rem)
}

@media (max-width: 768px) {
    .c-column__meta-tag {
        gap:.4rem;
        margin-top: .4rem
    }
}

.c-column__meta-tag>.item {
    font-size: clamp(1.2rem,1.3vw,1.4rem);
    line-height: initial
}

@media (max-width: 768px) {
    .c-column__meta-tag>.item {
        font-size:1.2rem
    }
}

.c-column-tag {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1rem;
    margin-top: 1.6rem
}

@media (max-width: 768px) {
    .c-column-tag {
        gap:.4rem
    }
}

.c-column-tag__item-label {
    display: block;
    width: fit-content;
    padding: .3rem .8rem;
    font-size: clamp(1.2rem,1.3vw,1.4rem);
    line-height: initial;
    background-color: #fff;
    border-radius: var(--radius-base);
    transition: color var(--ease-base),background-color var(--ease-base)
}

@media (max-width: 768px) {
    .c-column-tag__item-label {
        padding:.4rem .8rem;
        font-size: 1.2rem
    }
}

@media (any-hover: hover) {
    .c-column-tag__item-label:hover {
        color:#fff;
        background-color: var(--color-primary)
    }
}

.c-column-tag__item.is-current .c-column-tag__item-label {
    color: #fff;
    background-color: var(--color-primary)
}

.c-column-pickup {
    margin-top: 1.6rem
}

.c-column-pickup__item {
    border-bottom: .1rem solid #999
}

.c-column-pickup__item:first-of-type {
    border-top: .1rem solid #999
}

.c-column-pickup__item-link {
    display: block;
    padding-block:1.6rem}

@media (any-hover: hover) {
    .c-column-pickup__item-link:hover .title {
        color:var(--color-primary)
    }
}

.c-column-pickup__item-link>.title {
    font-size: clamp(1.4rem,1.7vw,1.8rem);
    line-height: initial;
    transition: color var(--ease-base)
}

@media (max-width: 768px) {
    .c-column-pickup__item-link>.title {
        font-size:1.6rem;
        line-height: 1.3
    }
}

.c-column-pickup__item-link>.date {
    display: block;
    margin-top: .4rem;
    font-size: clamp(1.2rem,1.3vw,1.4rem);
    line-height: initial;
    font-weight: 400
}

@media (max-width: 768px) {
    .c-column-pickup__item-link>.date {
        font-size:1.2rem;
        line-height: 1.3
    }
}

.c-column-pickup__item-link>.list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .8rem;
    margin-top: .8rem
}

.c-column-pickup__item-link>.list>.item {
    font-size: clamp(1.2rem,1.3vw,1.4rem);
    line-height: initial
}

@media (max-width: 768px) {
    .c-column-pickup__item-link>.list>.item {
        font-size:1.2rem
    }
}

.c-link-row {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 2.4rem 1.6rem;
    background-color: #fff;
    border: 1px solid #E1E1E1;
    /* border-radius: var(--radius-base); */
    /* box-shadow: var(--shadow-base) */
}

@media (max-width: 768px) {
    .c-link-row {
        padding:1.2rem
    }
}

@media (any-hover: hover) {
    .c-link-row:hover .c-link-row__label {
        color:var(--color-primary)
    }
}

.c-link-row__label {
    line-height: initial;
	font-weight: bold;
    transition: color var(--ease-base)
}

.c-input-text {
    width: 100%;
    height: 6.9rem;
    padding-inline:1.6rem;
	background-color: #fff;
    border: .1rem solid #ccc;
    border-radius: var(--radius-base)
}

@media (max-width: 768px) {
    .c-input-text {
        height:6.7rem;
        font-size: 1.6rem;
        line-height: 1.8
    }
}

.c-input-select {
    display: block;
    width: 100%;
    height: 6.9rem;
    padding-inline:1.6rem;background-color: #fff;
    border: .1rem solid #ccc;
    border-radius: var(--radius-base);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4gPHBhdGggZD0iTTEyIDE2TDUuOTM3ODIgMTBIMTguMDYyMkwxMiAxNloiIGZpbGw9IiMzMzMzMzMiLz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-size: 2.4rem;
    background-position: right .8rem center
}

@media (max-width: 768px) {
    .c-input-select {
        height:6.7rem
    }
}

.c-input-textarea {
    width: 100%;
    height: 12rem;
    padding: 1.6rem;
    border: .1rem solid #ccc;
    border-radius: var(--radius-base);
    resize: none
}

@media (max-width: 768px) {
    .c-input-textarea {
        height:10.4rem;
        font-size: 1.6rem;
        line-height: 1.8
    }
}

.c-input-narrow {
    width: 28.8rem
}

@media (max-width: 768px) {
    .c-input-narrow {
        width:30.9rem
    }
}

.c-input-tiny {
    width: 12rem
}

@media (max-width: 768px) {
    .c-input-tiny {
        width:14rem
    }
}

.p-nav {
    height: 100%
}

@media (max-width: 768px) {
    .p-nav {
        position:absolute;
        top: var(--header-height);
        left: 0;
        width: 100%;
        height: calc(100dvh - var(--header-height));
        padding: 1.6rem 2.4rem 3.5rem;
        overflow: scroll;
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--ease-base)
    }
}

.menu-open .p-nav {
    opacity: 1;
    pointer-events: auto
}

.p-nav__list {
    display: flex;
    align-items: center;
    column-gap: min(2vw,3.2rem);
    height: 100%
}

@media screen and (min-width: 769px) and (max-width: 1080px) {
    .p-nav__list {
        column-gap:1.2rem
    }
}

@media (max-width: 768px) {
    .p-nav__list {
        display:block;
        width: 100%;
        height: auto
    }
}

.p-nav__list-item {
    position: relative;
    height: 100%
}

.p-nav__label {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    font-size: clamp(1.2rem,1.3vw,1.6rem);
    line-height: 1.3;
    cursor: pointer
}

@media (max-width: 768px) {
    .p-nav__label {
        padding:2.4rem 1.6rem 2.4rem .8rem;
        font-size: 1.4rem;
        line-height: 1.3;
        border-bottom: .1rem solid #ccc
    }
}

@media (any-hover: hover) {
    .p-nav__label:hover span:before {
        opacity:1;
        scale: 1
    }

    .p-nav__label:hover+.p-nav__menu {
        opacity: 1;
        pointer-events: auto
    }
}

@media (max-width: 768px) {
    .p-nav__label--menu {
        display:grid;
        grid-template-columns: 1fr auto
    }

    .p-nav__label--menu:before,.p-nav__label--menu:after {
        display: inline-block;
        grid-row: 1/2;
        grid-column: 2/3;
        width: 1.4rem;
        height: .2rem;
        background-color: var(--color-primary);
        content: ""
    }

    .p-nav__label--menu:after {
        rotate: 90deg;
        transition: rotate var(--ease-base)
    }

    .p-nav__label--menu.is-opened:after {
        rotate: 0deg
    }
}

.p-nav__label:has(.c-icon) {
    justify-content: space-between
}

.p-nav__label span {
    position: relative
}

@media (min-width: 769px) {
    .p-nav__label span:before {
        display:block;
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        width: min(7vw,8.8rem);
        aspect-ratio: 1;
        background: var(--color-primary-grad-thin);
        opacity: 0;
        scale: 0;
        transition: all var(--ease-base);
        content: ""
    }
}

@media (max-width: 768px) {
    .p-nav__label span:after {
        position:absolute;
        top: 50%;
        left: -.8rem;
        translate: 0 -50%;
        width: .4rem;
        aspect-ratio: 1;
        background-color: var(--color-primary);
        border-radius: 50%;
        content: ""
    }
}

.p-nav__menu {
    position: absolute;
    top: calc(var(--header-height) - 1.6rem);
    left: 50%;
    translate: -50% 0;
    width: 20rem;
    padding-top: .8rem;
    opacity: 0;
    pointer-events: none;
    transition: all var(--ease-base)
}

@media (max-width: 768px) {
    .p-nav__menu {
        position:relative;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        translate: 0;
        width: 100%;
        max-height: 0;
        padding-top: 0;
        opacity: 1;
        pointer-events: auto;
        overflow: hidden
    }

    .p-nav__menu:after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: .1rem;
        background-color: #ccc;
        content: ""
    }

    .p-nav__menu.is-opened {
        max-height: var(--max-height)
    }
}

@media (any-hover: hover) {
    .p-nav__menu:hover {
        opacity:1;
        pointer-events: auto
    }
}

@media (min-width: 769px) {
    .p-nav__menu-list {
        padding:3.2rem;
        background-color: #fff;
        border-radius: var(--radius-base);
        box-shadow: var(--shadow-base)
    }
}

@media (max-width: 768px) {
    .p-nav__menu-list {
        padding:2.4rem 1.6rem
    }
}

.p-nav__menu-item+.p-nav__menu-item {
    margin-top: 1.4rem
}

@media (max-width: 768px) {
    .p-nav__menu-item+.p-nav__menu-item {
        margin-top:1.6rem
    }
}

.p-nav__menu-label {
    font-size: 1.4rem;
    line-height: 1.8;
    transition: color var(--ease-base)
}

@media (max-width: 768px) {
    .p-nav__menu-label {
        line-height:1.3
    }
}

@media (any-hover: hover) {
    .p-nav__menu-label:hover {
        color:var(--color-primary)
    }
}

.p-tab__list {
    display: grid
}

.p-tab__item {
    display: grid;
    place-items: center;
    position: relative;
    height: min(4.2vw,4.5rem);
    font-size: clamp(1.6rem,1.9vw,2rem);
    line-height: 1.3;
    color: #999;
    background-color: #fff;
    border-radius: var(--radius-base);
    box-shadow: var(--shadow-small);
    transition: color var(--ease-base),background-color var(--ease-base);
    cursor: pointer
}

@media (max-width: 768px) {
    .p-tab__item {
        height:4rem;
        font-size: 1.6rem;
        line-height: 1.3
    }
}

.p-tab__item:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 100%;
    width: min(1.1vw,1.2rem);
    height: min(.7vw,.8rem);
    background-color: transparent;
    clip-path: var(--clip-triangle-bottom);
    transition: background-color var(--ease-base);
    content: ""
}

@media (max-width: 768px) {
    .p-tab__item:after {
        display:none
    }
}

.p-tab__item[aria-selected=true] {
    color: #fff;
    background-color: var(--color-primary)
}

.p-tab__item[aria-selected=true]:after {
    background-color: var(--color-primary)
}

@media (any-hover: hover) {
    .p-tab__item:hover {
        color:#fff;
        background-color: var(--color-primary)
    }
}

.p-tab__panel {
    height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none
}

.p-tab__panel[aria-hidden=false] {
    height: auto;
    opacity: 1;
    pointer-events: auto
}

.p-tab--price .p-tab__list {
    grid-template-columns: repeat(9,1fr);
    gap: min(.7vw,.8rem);
    margin: 0 min(.7vw,.8rem) min(.7vw,.8rem) 0
}

@media (max-width: 768px) {
    .p-tab--price .p-tab__list {
        grid-template-columns:repeat(3,1fr);
        gap: .4rem;
        margin: 0 .4rem
    }
}

.p-tab--faq .p-tab__list {
    grid-template-columns: repeat(2,1fr);
    gap: .8rem
}

@media (max-width: 768px) {
    .p-tab--faq .p-tab__list {
        gap:.3rem
    }
}

.p-tab--faq .p-tab__item {
    height: 6.1rem;
    font-size: 2.6rem;
    line-height: 1.3;
    letter-spacing: .04em;
    color: #999;
    background-color: #ededed;
    box-shadow: none;
    transition: all var(--ease-base)
}

@media (max-width: 768px) {
    .p-tab--faq .p-tab__item {
        height:4.4rem;
        font-size: 1.6rem;
        line-height: 1.3
    }
}

.p-tab--faq .p-tab__item:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -10;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background-color: transparent;
    transition: all var(--ease-base);
    content: ""
}

.p-tab--faq .p-tab__item:after {
    width: 1.6rem;
    height: 1.1rem;
    background-color: transparent
}

@media (max-width: 768px) {
    .p-tab--faq .p-tab__item:after {
        display:block;
        width: 1.2rem;
        height: .7rem
    }
}

.p-tab--faq .p-tab__item[aria-selected=true] {
    color: #fff;
    background-color: var(--color-primary)
}

.p-tab--faq .p-tab__item[aria-selected=true]:before {
    top: -.8rem;
    height: calc(100% + .8rem);
    background-color: var(--color-primary)
}

@media (max-width: 768px) {
    .p-tab--faq .p-tab__item[aria-selected=true]:before {
        top:-.4rem;
        height: calc(100% + .4rem)
    }
}

.p-tab--faq .p-tab__item[aria-selected=true]:after {
    background-color: var(--color-primary)
}

@media (any-hover: hover) {
    .p-tab--faq .p-tab__item:hover {
        color:#fff;
        background-color: var(--color-primary)
    }
}



.p-page {
    margin-block:9.6rem 10.4rem}

@media (max-width: 768px) {
    .p-page {
        margin-block:6.4rem 4.8rem
    }
}

[data-page-id=service_support] .p-page,[data-page-id=service_water] .p-page {
    margin-bottom: 0
}

.p-page--contact {
    position: relative;
    z-index: var(--z-index-content);
    margin-bottom: max(-20.6vw,-33rem)
}

@media (max-width: 768px) {
    .p-page--contact {
        margin-bottom:-40rem
    }
}

.p-terms__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem
}

@media (max-width: 768px) {
    .p-terms__list {
        gap:.4rem
    }
}

.p-terms__item.is-current .p-terms__item-link {
    color: #fff;
    background-color: var(--color-primary)
}

.p-terms__item-link {
    display: grid;
    place-items: center;
    width: fit-content;
    min-height: 6.1rem;
    padding: 1.6rem 4rem;
    background-color: var(--color-light-gray);
    border-radius: var(--radius-base);
    font-size: 2rem;
    line-height: 1.3;
    color: #999;
    transition: color var(--ease-base),background-color var(--ease-base)
}

@media (max-width: 768px) {
    .p-terms__item-link {
        min-height:4rem;
        padding: .8rem 1.6rem;
        font-size: 1.6rem;
        line-height: 1.3
    }
}

@media (any-hover: hover) {
    .p-terms__item-link:hover {
        color:#fff;
        background-color: var(--color-primary)
    }
}

.p-column-sidebar {
    width: 100%;
    max-width: min(30.4vw,32.8rem);
    padding: min(3vw,3.2rem);
    background-color: var(--color-light-gray);
    border-radius: var(--radius-base)
}

@media (max-width: 768px) {
    .p-column-sidebar {
        max-width:100%;
        margin-top: 4rem;
        padding: 2.4rem
    }
}

.p-column-sidebar__foot {
    margin-top: min(2.2vw,2.4rem)
}

@media (max-width: 768px) {
    .p-column-sidebar__foot {
        margin-top:2.4rem
    }
}


.p-service-block {
    position: relative;
    overflow: hidden
}

[data-page-id=about] .p-service-block {
    margin-top: min(9.6vw,10.4rem)
}

@media (max-width: 768px) {
    [data-page-id=about] .p-service-block {
        margin-top:11.2rem
    }
}

.p-service-block__loop {
    position: absolute;
    top: 0;
    left: 0
}

.p-service-block__loop-item {
    display: flex;
    width: 100vw
}

.p-service-block__loop-item img {
    min-width: min(287.3vw,413.8rem);
    height: min(12.3vw,17.7rem)
}

@media (max-width: 768px) {
    .p-service-block__loop-item img {
        min-width:226.7rem;
        height: 9.7rem
    }
}

.p-service-block__loop-item img:first-child {
    animation: loop-text1 80s -40s linear infinite
}

.p-service-block__loop-item img:last-child {
    animation: loop-text2 80s linear infinite
}

@keyframes loop-text1 {
    0% {
        translate: 100% 0
    }

    to {
        translate: -100% 0
    }
}

@keyframes loop-text2 {
    0% {
        translate: 0
    }

    to {
        translate: -200% 0
    }
}

.p-service-block__wrapper {
    width: 1000%;
    max-width: min(100%,144rem);
    margin-inline:auto;padding: min(11.1vw,16rem) min(11.1vw,16rem) min(6.1vw,8.8rem);
    background-color: var(--color-primary-light);
    border-radius: 2rem
}

@media (max-width: 768px) {
    .p-service-block__wrapper {
        padding:5.6rem 1.6rem;
        max-width: 35.9rem;
        border-radius: 1rem
    }
}

[data-page-id=about] .p-service-block__wrapper {
    padding-top: min(8.3vw,12rem)
}

@media (max-width: 768px) {
    [data-page-id=about] .p-service-block__wrapper {
        padding-block:4.8rem
    }
}

[data-page-id=service] .p-service-block__wrapper {
    padding: 0;
    background-color: revert
}

@media (max-width: 768px) {
    [data-page-id=service] .p-service-block__wrapper {
        max-width:100%
    }
}

.p-service-block__inner {
    position: relative
}

@media (max-width: 768px) {
    .p-service-block__inner {
        padding-inline:0
    }
}

@media (max-width: 768px) {
    [data-page-id=service] .p-service-block__inner {
        padding-inline:2.4rem
    }
}

.p-service-block__head {
    position: absolute;
    top: max(-2.8vw,-4rem);
    left: min(1.4vw,2rem)
}

@media (max-width: 768px) {
    .p-service-block__head {
        position:relative;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0
    }
}

[data-page-id=about] .p-service-block__head {
    top: 0
}

@media (min-width: 769px) {
    [data-page-id=service] .p-service-block__head {
        position:relative;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0
    }
}

.p-service-block__head-lead {
    margin-top: min(1.9vw,2.7rem);
    font-size: clamp(1rem,1.1vw,1.6rem);
    line-height: 2.3
}

@media (max-width: 768px) {
    .p-service-block__head-lead {
        margin-top:1.2rem;
        font-size: 1.4rem;
        line-height: 2.3
    }
}

[data-page-id=service] .p-service-block__head-lead {
    margin-block:0 .6rem}

@media screen and (max-width: 1440px) {
    [data-page-id=service] .p-service-block__head-lead {
        max-width:77.8%;
        margin-inline:auto}
}

@media (max-width: 768px) {
    [data-page-id=service] .p-service-block__head-lead {
        max-width:100%;
        margin-block:0}
}

/** --------------------------共通--------------------------**/

._sp{
	display: none;
}

@media (max-width: 768px) {
    ._sp{
		display: block;
	}
	._pc{
		display: none;
	}
}
.text_blue {
    color:var(--color-blue);
	font-weight: bold;
}

.text_primary {
    color:var(--color-primary);
	font-weight: bold;
}

section{
	margin-top: min(6.7vw,7.2rem);
}

.c-text{
	margin-top: 1.6rem;
    line-height: 1.5;
    font-weight: 400;
	text-align:center;
}

@media (max-width: 768px) {
    .c-text{
		text-align:left;
	}
}

.c-text__lead {
    font-size: clamp(1.8rem, 1.8vw, 2.6rem);
    font-weight: bold;
    line-height: initial;
    text-align: center;
	margin-bottom:1rem;
}

@media (max-width: 768px) {
    .c-text__lead {
        font-size:2rem;
        line-height: 1.3
    }
}

.c-text__lead span {
    color: var(--color-primary);
	font-weight: bold;
}

.c-text__label {
    font-size: clamp(1.4rem,1.8vw,2rem);
    font-weight: bold;
    line-height: initial;
    text-align: center;
	margin-bottom:1rem;
}

@media (max-width: 768px) {
    .c-text__label {
        font-size: 1.6rem;
        line-height: 1.3;
    }
}

.c-text__sub {
    margin-top: 16px;
    font-size: clamp(1.2rem,1.3vw,1.4rem);
    line-height: 1.3;
    font-weight: 400;
	color: #333333;
}

@media (max-width: 768px) {
    .c-text__sub {
        font-size: 1.2rem;
    }
}

.c-text__sub a {
    text-decoration: underline;
}

.c-text__tag{
	font-size: clamp(1.2rem,1.3vw,1.4rem);
	font-weight: bold;
	color: #FFF;
	background-color: #000;
	width: fit-content;
	padding: .2rem;
	text-align: center;
	margin: 0 auto 1.2rem;
}
@media (max-width: 768px) {
    .c-text__tag{
		font-size: 1.2rem;
	}
}

/** ----------------------------------------------------**/

/** ----MV------------------------------------------------**/

@media (max-width: 768px) {
    .p-service-head {
        margin-top:-1rem
    }
}

.p-service-head__inner {
    display: flex;
    align-items: center;
    column-gap: min(4vw,4.8rem);
    /* background-color: #faf7f5; */
}

@media (max-width: 768px) {
    .p-service-head__inner {
        flex-direction:column-reverse;
        row-gap: 1.6rem
    }
}

.p-service-head__image {
    flex-shrink: 0;
    width: 100%;
    max-width: min(45vw,54rem);
    overflow: hidden
}

@media (max-width: 768px) {
    .p-service-head__image {
        max-width:100%
    }
}

.p-service-head__content-label {
    display: flex;
    align-items: center;
    column-gap: min(1.5vw,1.6rem);
    font-weight: bold;
}

@media (max-width: 768px) {
    .p-service-head__content-label {
        column-gap:.8rem
    }
}

.p-service-head__content-label p {
    font-size: clamp(1.8rem,2.8vw,3rem);
    line-height: 1.3;
    white-space: nowrap;
	font-weight: bold;
}

@media (max-width: 768px) {
    .p-service-head__content-label p {
        font-size:2rem;
        line-height: 1.3
    }
}

.p-service-head__content-detail {
    margin-top: min(3vw,3.2rem);
    font-size: clamp(1.2rem,1.5vw,1.6rem);
    line-height: 1.8;
    font-weight: medium;
    /* font-weight: 400 */
}

@media (max-width: 768px) {
    .p-service-head__content-detail {
        margin-top:1.6rem;
        font-size: 1.4rem;
        line-height: 1.8
    }
}

.p-service-head__content-tag {
    display: flex;
    column-gap: 20px;
    margin-top: min(3.7vw,4rem)
}

@media (max-width: 768px) {
    .p-service-head__content-tag {
        justify-content:center;
        column-gap: .8rem;
        margin-top: 1.6rem
    }
}

.p-service-head__content-tag>.item {
    display: flex;
    align-items: center;
    background-color: #fff;
    border: 2px solid var(--color-primary);
}

@media (max-width: 768px) {
    .p-service-head__content-tag>.item {
        flex-direction:column;
        justify-content: center
    }
}

.p-service-head__content-tag>.item * {
    font-size: 16px;
    line-height: initial;
	font-weight: bold;
}

@media (max-width: 768px) {
    .p-service-head__content-tag>.item * {
/*         font-size:1.6rem */
		font-size: 14px;
    }
}

.p-service-head__content-tag>.item .large {
    font-size: 28px;
	margin-right: 0.2rem;
	margin-left: 0.2rem;
}

@media (max-width: 768px) {
    .p-service-head__content-tag>.item .large {
		font-size: 20px;
    }
}

@media (min-width: 769px) {
    .p-service-head__content-tag>.item>.head {
        translate:0 .4rem
    }
}

@media (max-width: 768px) {
    .p-service-head__content-tag>.item>.foot {
        margin-top:-.2rem
    }
}

.p-service-head__content-tag .item:first-of-type {
    padding: min(.8vw,.9rem) min(1vw,1.1rem) min(1.2vw,1.3rem) min(2.1vw,2.3rem)
}

@media (max-width: 768px) {
    .p-service-head__content-tag .item:first-of-type {
        padding:.5rem 0 .5rem .6rem
    }
}

.p-service-head__content-tag .item:first-of-type .foot span:last-of-type {
    margin-left: -1rem;
}

@media (max-width: 768px) {
    .p-service-head__content-tag .item:first-of-type .foot span:last-of-type {
        margin-left:-0.8rem
    }
}

.p-service-head__content-tag .item:last-of-type {
    padding: min(.8vw,.9rem) min(2.1vw,2.3rem) min(1.2vw,1.3rem)
}

@media (max-width: 768px) {
    .p-service-head__content-tag .item:last-of-type {
        padding:.5rem .8rem
    }
}

/** ----サービス概要-----------------------------------------------**/

.p-support-intro {
    background-color: var(--color-primary-light);
}

@media (max-width: 768px) {
    .p-support-intro {
        margin-top:4.8rem;
        overflow-x: clip
    }
}

.p-support-intro__head {
    display: flex;
    column-gap: min(3vw,4.8rem);
    margin: min(5.3vw,5.7rem) min(3.7vw,6rem) 0
}

@media (max-width: 768px) {
    .p-support-intro__head {
        flex-direction:column;
        row-gap: 1rem;
        margin: 3rem 0 0
    }
}

.p-support-intro__head-row {
    position: relative
}

.p-support-intro__body {
    position: relative;
    padding: min(5.2vw,5.6rem) min(5vw,8rem);
}

@media (max-width: 768px) {
    .p-support-intro__body {
        padding:1rem 0 0;
    }
}

@media (max-width: 768px) {
    .p-support-intro__body:after {
        left:50%;
        translate: -50% 0;
        width: 35.9rem;
        height: 100.1rem
    }
}

/** ----金額-----------------------------------------------**/

.p-support-price {
	margin-top: 0;
	text-align: center;
	padding-block: 6.2rem 8.4rem;
	background-color: var(--color-primary-medium);
}
@media (max-width: 768px) {
	.p-support-price {
		padding-block:0.2rem 0.4rem;
	}
}

.p-support-price-image{
	width: 60%;
	margin:4rem auto 0; 
}

@media (max-width: 768px) {
	.p-support-price-image{
	width: 100%;
	margin:2rem auto 0; 
	}
}

/** ----広告ブロック-----------------------------------------------**/
.p-support-add-image{
	margin: 2.4rem auto;
	width: 40%;
}

@media (max-width: 768px) {
    .p-support-add-image {
        width: 100%;
    }
}

.p-support-add__list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: min(2.2vw, 2.4rem);
    margin-top: 24px;
}

@media (max-width: 768px) {
    .p-support-add__list {
        grid-template-columns:repeat(1,1fr);
        gap: 1.6rem .7rem;
    }
}

.p-support-add__item{
	background-color: var(--color-light-blue);
	padding: min(2.2vw,2.4rem) min(2.3vw,3.2rem);
}

@media (max-width: 768px) {
    .p-support-add__item {
        padding:1.6rem
    }
}

.p-support-add__item > div >img{
	height: 40px;
    width: auto;
}

@media (max-width: 768px) {
	.p-support-add__item > div >img{
		height: 32px;
		width: auto;
	}
}
.p-support-add__item >p{
	margin-top: 1.6rem;
}
@media (max-width: 768px) {
	.p-support-add__item >p{
		margin-top: 1.2rem;
		line-height: 1.5;
	}
}

.p-support-add-use__link {
    width: 25.2rem;
    margin: 4.8rem auto 0;
}

@media (max-width: 768px) {
    .p-support-add-use__link {
        width:18rem;
        margin-top: 3.2rem;
    }
}

.p-support-add .l-inner{
	padding: 5rem;
    border-bottom: solid 1px #E1E1E1;
}

/** ----通信端末修理費用保険-----------------------------------------------**/

.p-support-insurance{
	margin-top: 7rem;
}

.p-support-insurance-image{
	margin:3rem auto 6rem;
	width: 50%;
}

@media (max-width: 768px) {
    .p-support-insurance-image{
		margin:2rem auto 4rem;
		width: 100%;
	}
}
.p-support-insurance-caution{
	margin-top: 3rem;
	padding: min(2.2vw, 2.6rem) min(5.9vw, 6.4rem);
	border: solid 2px #E2E2E2;
}
@media (max-width: 768px) {
    .p-support-insurance-caution{
		padding: 2rem 1.6rem 3rem;
		margin-top: 4rem;
	}
}

.p-support-insurance-caution >div{
	margin-top:2rem; 
}

.p-support-insurance-point__list {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: min(2.2vw,2.4rem);
    margin-top: 3.8rem
}

@media (max-width: 768px) {
    .p-support-insurance-point__list {
        grid-template-columns:repeat(2,1fr);
        gap: .8rem .7rem;
        margin-top: 3.2rem
    }
}
.p-support-insurance-point__item {
    padding: min(2.2vw,2.4rem) min(2.3vw,3.2rem) min(3vw,3.2rem);
    background-color: var(--color-light-blue);
}

@media (max-width: 768px) {
    .p-support-insurance-point__item {
        padding:1.6rem;
    }
}

@media (max-width: 768px) {
	.p-support-insurance-point__item .c-text__label{
	text-align: left;
	}
}

.p-support-insurance-point__item-detail {
    margin-top: 16px;
    font-size: clamp(1.2rem,1.5vw,1.6rem);
    font-weight: 400;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .p-support-insurance-point__item-detail {
        font-size: 1.2rem;
        line-height: initial
    }
}

/** ----４ステップ-----------------------------------------------**/

.p-support-step {
    background-color: var(--color-primary-light);
	padding-block: min(5.2vw, 5.6rem) min(5vw, 8rem);
}

@media (max-width: 768px) {
    .p-support-step {
        margin-top:4.8rem;
        overflow-x: clip
    }
}

.p-support-step__list{
	display: grid;
    gap: min(2.2vw,2.4rem);
    margin: 3.8rem auto 0;
    max-width: 800px;
}

.p-support-step__item {
    padding: min(2.2vw,2.4rem) min(2.3vw,3.2rem) min(3vw,3.2rem);
    background-color: #FFF;
}

@media (max-width: 768px) {
    .p-support-step__item {
        padding:1.6rem
    }
}

.p-support-step__item .item_num{
	font-size: .8em;
	margin-right: 0.4rem;
}
.p-support-step__item .c-text__label{
	text-align: left;
}
.p-support-step_sub{
	text-align: center;
}
@media (max-width: 768px) {
    .p-support-step_sub{
		text-align: left;
	}
}

.p-support-step-request__link {
    margin-top: 4.8rem;
}

@media (max-width: 768px) {
    .p-support-step-request__link {
        margin-top: 3.2rem;
    }
}

.p-support-step-request__link a{
    margin: 0 auto;
}


.p-support-step-repair{
	padding: 3rem 6rem 4rem;
	border: solid 2px #E2E2E2;
	background-color: #FFF;
	margin-top: 6rem;
}
@media (max-width: 768px) {
    .p-support-step-repair{
		padding: 2rem 1.6rem 3rem;
		margin-top: 4rem;
	}
}
.p-support-step-repair-store{
	max-width: 800px;
	margin:2rem auto 0; 
}

.p-support-step-repair-store .store-step {
	margin-top: 2.2rem;
    counter-reset: li;
}

.p-support-step-repair-store .store-step  li {
    display: flex;
    align-items: flex-start;
    padding: 1.5em;
	background-color: var(--color-light-gray);
	font-size: clamp(1.2rem, 1.3vw, 1.4rem);
	margin-top:1rem; 
}

.p-support-step-repair-store .store-step  li:not(:first-child) {
	margin-top:1rem; 
}

.p-support-step-repair-store .store-step li::before {
    display: inline-block;
    min-width: 1.7em;
    margin-right: 1rem;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: #fff;
    font-weight: bold;
    font-size: 1em;
    line-height: 1.7em;
    text-align: center;
	margin-top: 0.4rem;
    content: counter(li);
    counter-increment: li;
}

/** ----質問-----------------------------------------------**/

.p-support-faq {
	padding-block: min(5.2vw, 5.6rem) min(5vw, 8rem);
}

.p-support-faq__list{
	display: grid;
    gap: min(2.2vw,2.4rem);
    margin: 3.8rem auto 0;
	max-width: 800px;
}

.p-support-faq__item {
	text-align: left;
    padding: 2rem 4rem;
    background-color: var(--color-light-blue);
}

@media (max-width: 768px) {
    .p-support-faq__item {
        padding:1.6rem;
    }
}

.faq_q{
	font-weight: bold;
	line-height: 1.8;
}

.faq_q::before{
	color: var(--color-primary);
    content: "Q";
	font-weight: bold;
	margin-right: .4rem;
}

.faq_a{
	margin-top: 1rem;
	line-height: 1.5;
}

.faq_a::before{
	color: var(--color-blue);
    content: "A";
	font-weight: bold;
	margin-right: .4rem;
}

.p-support-attention__lead{
	font-weight: bold;
	margin-bottom: 1rem;
}

.p-support-attention__text{
	font-size: clamp(1.2rem, 1.3vw, 1.4rem);
	line-height: 1.3;
}


/** ----申し込み-----------------------------------------------**/
.p-support-apply {
    margin-top: 11.2rem;
    padding-block: 5.2rem 8rem;
    background-color: var(--color-light-gray)
}

@media (max-width: 768px) {
    .p-support-apply {
        margin-top: 40px;
        padding-block: 30px 56px;
    }
	.p-support-apply .l-inner{
		padding:0 2rem;
	}
}

.p-support-apply__link {
    width: 25.2rem;
    margin-top: 4.8rem
	
}

@media (max-width: 768px) {
    .p-support-apply__link {
        width:16rem;
        margin-top: 3.2rem
    }
}

.p-support-apply__foot {
    display: flex;
    column-gap: min(1.5vw,1.6rem);
    margin-top: 4.8rem
}

@media (max-width: 768px) {
    .p-support-apply__foot {
        flex-direction:column;
        row-gap: .8rem;
        margin-top: 3.2rem
    }
}

.p-support-apply__button {
    position: relative;
    display: grid;
    place-content: center;
    width: 100%;
/*     min-height: min(16.8vw,18.4rem); */
    background-color: #fff;
/*     border-radius: min(1.9vw,2rem); */
    transition: all var(--ease-base);
	padding: 30px 0;
}

@media (max-width: 768px) {
    .p-support-apply__button {
/*         min-height:12.7rem; */
/*         border-radius: 1rem */
    }
}

.p-support-apply__button--tel {
    border: 2px solid var(--color-blue);
}

.p-support-apply__button--tel .p-support-apply__button-sub .c-icon {
    color: var(--color-blue)
}

.p-support-apply__button--tel .p-support-apply__button-sub span {
    font-size: clamp(1.8rem,2.2vw,2.4rem);
    letter-spacing: .04em
}
.p-support-apply .p-support-apply__button {
    border-radius: 0;
}

@media (max-width: 768px) {
    .p-support-apply__button--tel .p-support-apply__button-sub span {
        font-size:2rem
    }
}

.p-support-apply__button--contact {
    border: 2px solid var(--color-primary)
}

.p-support-apply__button--contact .p-support-apply__button-sub .c-icon {
    color: var(--color-primary)
}

.p-support-apply__button--contact .p-support-apply__button-sub span {
    font-size: clamp(1.6rem,2.2vw,2rem)
}

@media (max-width: 768px) {
    .p-support-apply__button--contact .p-support-apply__button-sub span {
        font-size:1.8rem
    }
}

@media (any-hover: hover) {
    .p-support-apply__button:hover {
        border-color:transparent;
        background-color: var(--color-primary)
    }

    .p-support-apply__button:hover * {
        color: #fff
    }
}

.p-support-apply__button-inner {
    text-align: center
}

.p-support-apply__button-inner * {
    transition: color var(--ease-base)
}

.p-support-apply__button-main {
    font-size: clamp(2.2rem,2.4vw,2.6rem);
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: .08em
}

@media (max-width: 768px) {
    .p-support-apply__button-main {
        font-size:2rem;
        line-height: initial
    }
}

.p-support-apply__button-sub {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: .4rem;
    margin-top: 1.2rem;
    line-height: initial

}

@media (max-width: 768px) {
    .p-support-apply__button-sub {
        margin-top: 8px;
    }
}

.p-support-apply__button-note {
    margin-top: .6rem;
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 400
}

@media (max-width: 768px) {
    .p-support-apply__button-note {
        margin-top: 8px;
        font-size: 1.2rem;
        line-height: 1.3
    }
}

/** ----注意事項、引受保険会社-----------------------------------------------**/
.p-support-campany_box{
	background-color: var(--color-primary-light);
	padding: 2rem;
}

.p-support-campany__label{
	    font-size: clamp(1.4rem, 1.8vw, 2rem);
	font-weight: bold;
	text-align: left;
}

.p-support-campany_head{
	display: flex;
	justify-content: center;
    gap: min(1.5vw, 1.6rem);
    margin-top: 1rem;
	padding-bottom: 2rem;
	border-bottom: solid 1px #000;
}
@media (max-width: 768px) {
	.p-support-campany_head{
		flex-direction: column;
	}
}

.p-support-campany_row{
	width: 100%;
}

.p-support-campany_row p{
	text-align: left;
}
