@charset "UTF-8";
/*!
* ress.css • v2.0.4
* MIT License
* github.com/filipelinhares/ress
*/html {
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    -webkit-text-size-adjust:100%;
    word-break:normal;
    -moz-tab-size:4;
    -o-tab-size:4;
    tab-size:4
}
*,:before,:after {
    background-repeat:no-repeat;
    -webkit-box-sizing:inherit;
    box-sizing:inherit
}
:before,:after {
    text-decoration:inherit;
    vertical-align:inherit
}
* {
    padding:0;
    margin:0
}
hr {
    overflow:visible;
    height:0
}
details,main {
    display:block
}
summary {
    display:list-item
}
small {
    font-size:80%
}
[hidden] {
    display:none
}
abbr[title] {
    border-bottom:none;
    text-decoration:underline;
    -webkit-text-decoration:underline dotted;
    text-decoration:underline dotted
}
a {
    background-color:transparent
}
a:active,a:hover {
    outline-width:0
}
code,kbd,pre,samp {
    font-family:monospace,monospace
}
pre {
    font-size:1em
}
b,strong {
    font-weight:bolder
}
sub,sup {
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}
sub {
    bottom:-.25em
}
sup {
    top:-.5em
}
input {
    border-radius:0
}
[disabled] {
    cursor:default
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height:auto
}
[type=search] {
    -webkit-appearance:textfield;
    outline-offset:-2px
}
[type=search]::-webkit-search-decoration {
    -webkit-appearance:none
}
textarea {
    overflow:auto;
    resize:vertical
}
button,input,optgroup,select,textarea {
    font:inherit
}
optgroup {
    font-weight:700
}
button {
    overflow:visible
}
button,select {
    text-transform:none
}
button,[type=button],[type=reset],[type=submit],[role=button] {
    cursor:pointer;
    color:inherit
}
button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
    border-style:none;
    padding:0
}
button:-moz-focusring,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
    outline:1px dotted ButtonText
}
button,html [type=button],[type=reset],[type=submit] {
    -webkit-appearance:button
}
button,input,select,textarea {
    background-color:transparent;
    border-style:none
}
select {
    -moz-appearance:none;
    -webkit-appearance:none
}
select::-ms-expand {
    display:none
}
select::-ms-value {
    color:currentColor
}
legend {
    border:0;
    color:inherit;
    display:table;
    white-space:normal;
    max-width:100%
}
::-webkit-file-upload-button {
    -webkit-appearance:button;
    color:inherit;
    font:inherit
}
img {
    border-style:none
}
progress {
    vertical-align:baseline
}
svg:not([fill]) {
    fill:currentColor
}
[aria-busy=true] {
    cursor:progress
}
[aria-controls] {
    cursor:pointer
}
[aria-disabled] {
    cursor:default
}
:root {
    --gray: #E7E5E4;
    --darkGray:#57534E;
    --white: #ffffff;
    --offWhite: #FFFCEF;
    --black: #0C0A09;
    --yellow: #FEEB22;
    --orange: #F38200;
    --beige: #FFF6CF;
    --blue: #3B82F6
}
html,body {
    margin:0;
    padding:0;
    width:100%
}
* {
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
*:before,*:after {
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
html {
    font-size:16px;
    font-family:Zen Kaku Gothic New,sans-serif;
    scroll-padding-top:20px
}
body {
    background-color:var(--white);
    color:var(--black)
}
main {
    overflow-x:hidden;
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1
}
ul {
    margin:0;
    padding:0;
    list-style:none
}
p {
    margin:0;
    letter-spacing:0;
    line-height:1.7
}
a {
    color:inherit;
    text-decoration:none
}
figure {
    margin:0
}
img {
    width:100%;
    height:auto
}
address {
    font-style:normal
}
.l-wrapper {
    position:relative;
    margin-inline:auto;
    padding-inline:24px;
    max-width:1312px;
    width:100%
}
.l-section,.l-section-top {
    margin:128px 0
}
.l-header {
    padding:36px 0;
    background-color:var(--white)
}
.l-header__inner {
    position:relative;
    margin-inline:auto;
    padding-inline:16px;
    max-width:1376px;
    width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.l-header__logo {
    max-width:180px;
    z-index:9999
}
.l-header__nav--list {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:40px
}
.l-header__nav--list.u-sp {
    display:none
}
.l-header__nav--line .l-header__nav--link {
    max-width:300px;
    margin:0 auto
}
.l-header__nav--link {
    font-weight:900
}
.l-header__nav--link:hover {
    color:var(--orange);
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-header__nav--external {
    position:relative
}
.l-header__nav--external:after {
    content:"";
    display:inline-block;
    background:url(../images/common/link_icon.svg) no-repeat;
    background-size:contain;
    width:16px;
    height:16px;
    position:absolute;
    right:-24px;
    top:7px
}
.l-header__nav--external:hover:after {
    background:url(../images/common/link_icon_orange.svg) no-repeat;
    background-size:contain
}
.l-header__nav--yellow {
    background-color:var(--yellow);
    padding:12px 32px;
    text-align:center;
    border-radius:60px
}
.l-header__nav--yellow:hover {
    background-color:var(--orange);
    -webkit-transition:all .3s;
    transition:all .3s;
    color:var(--white)
}
.l-header__button {
    display:none
}
.l-header__button.active {
    display:block
}
.l-header__button.active .l-header__line:nth-child(1) {
    -webkit-transform:translateY(-4px) rotate(-42deg);
    transform:translateY(-4px) rotate(-42deg)
}
.l-header__button.active .l-header__line:nth-child(2) {
    opacity:0;
    -webkit-transition:opacity .4s;
    transition:opacity .4s
}
.l-header__button.active .l-header__line:nth-child(3) {
    -webkit-transform:translateY(-52px) rotate(42deg);
    transform:translateY(-52px) rotate(42deg)
}
.l-header__line {
    width:34px;
    height:3px;
    display:inline-block;
    background-color:var(--black);
    border-radius:25%
}
.l-header__nav--image {
    display:none
}
.l-footer {
    background-color:var(--offWhite);
    padding-top:32px
}
.l-footer__under {
    background-color:var(--yellow);
    padding:69px 40px;
    border-radius:16px;
    max-width:1392px;
    margin:0 auto
}
.l-footer__inner {
    position:relative;
    margin-inline:auto;
    padding-inline:16px;
    max-width:1248px;
    width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between
}
.l-footer__logo {
    max-width:200px;
    display:block
}
.l-footer__logo:hover {
    opacity:.8;
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-footer__list {
    margin-top:40px
}
.l-footer__item {
    margin-bottom:8px;
    font-weight:900;
    font-size:1.125rem
}
.l-footer__item:last-child {
    margin-bottom:0
}
.l-footer__link:hover {
    color:var(--orange);
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-footer__external {
    position:relative
}
.l-footer__external:after {
    content:"";
    display:inline-block;
    background:url(../images/common/link_icon.svg) no-repeat;
    background-size:contain;
    width:16px;
    height:16px;
    position:absolute;
    right:-24px;
    top:7px
}
.l-footer__external:hover:after {
    background:url(../images/common/link_icon_orange.svg) no-repeat;
    background-size:contain
}
.l-footer__image {
    max-width:325px
}
.l-footer__sns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: center;
    gap: 16px;
    max-width: 236px;
    margin: 24px auto;
}
.l-footer__catch {
    padding:32px 0;
}
.l-footer__catch--header {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:24px
}
.l-footer__catch--text {
    font-size:1.25rem;
    font-weight:900;
    text-align:center;
}
.l-footer__catch--image {
    max-width:180px;
}
.l-footer__catch--content {
    margin-top: 32px;
}
.l-footer__catch--row {
    display: flex;
    gap: 24px;
    width: fit-content;
    margin: 0 auto;
}
.l-footer__catch--button {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.l-footer__catch--link {
    padding: 16px 32px;
    position: relative;
    border: 1px solid var(--black);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.l-footer__catch--link::after {
    content: "";
    display: inline-block;
    background: url(../images/common/arrow.svg) no-repeat;
    background-size: contain;
    width: 6px;
    height: 8px;
    position: absolute;
    right: 14px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.l-footer__catch--link:hover {
    opacity: .8;
    transition: all .3s;
}
.l-footer__catch--tel::before {
    content: '';
    display: inline-block;
    background: url(../images/common/footer_tel.svg) no-repeat;
    background-size: contain;
    width: 16px;
    height: 16px;
    position: absolute;
    left: 48px;
    top: 53%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.l-footer__catch--mail::before {
    content: '';
    display: inline-block;
    background: url(../images/common/footer_mail.svg) no-repeat;
    background-size: contain;
    width: 16px;
    height: 16px;
    position: absolute;
    left: 14px;
    top: 55%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.l-footer__external--list {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin: 32px auto 0 auto;
    width: fit-content;
}
.l-footer__external--link {
    position: relative;
    padding-left: 1em;
}
.l-footer__external--link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-top: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid var(--black);
}
.l-footer__copy {
    padding:24px 0
}
.l-footer__copy--text {
    font-size:.6875rem;
    font-family:Noto Sans JP,sans-serif;
    text-align:center
}
.l-cta {
    background-color:var(--beige);
    padding:96px 0;
    border-radius:16px;
    max-width:1392px;
    margin:0 auto
}
.l-cta__inner {
    position:relative;
    margin-inline:auto;
    padding-inline:16px;
    max-width:864px;
    width:100%
}
.l-cta__header {
    padding:0 16px
}
.l-cta__heading {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.l-cta__heading--title {
    font-size:1.75rem;
    font-weight:900
}
.l-cta__heading--image {
    width:40%;
    max-width:230px
}
.l-cta__text {
    margin-top:24px;
    text-align:center
}
.l-cta__button {
    margin:64px auto 0;
    font-weight:700;
    font-size:1.5rem;
    text-align:center;
    padding:37px 24px;
    border-radius:100px;
    position:relative;
    display:block;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    background-color:var(--yellow);
    width:93%
}
.l-cta__button:after {
    content:"";
    display:inline-block;
    background:url(../images/common/arrow.svg) no-repeat;
    background-size:contain;
    width:6px;
    height:8px;
    position:absolute;
    right:24px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.l-cta__button:hover {
    opacity:.8;
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-cta__button--header {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    gap:12px;
    position:absolute;
    top:-30px;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%);
    width:100%
}
.l-cta__button--text {
    color:var(--white);
    background-color:var(--orange);
    padding:12px 16px 14px 36px;
    border-radius:8px;
    font-size:1.125rem;
    font-weight:700;
    position:relative
}
.l-cta__button--text:before {
    content:"";
    display:inline-block;
    background:url(../images/common/cta_check.svg) no-repeat;
    background-size:contain;
    width:18px;
    height:14px;
    position:absolute;
    top:21px;
    left:11px
}
.l-cta__button--text:after {
    content:"";
    display:inline-block;
    border-right:8px solid transparent;
    border-left:8px solid transparent;
    border-top:6px solid var(--orange);
    position:absolute;
    bottom:-6px;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%)
}
.l-background,.l-background-top {
    padding:128px 0;
    background-color:var(--offWhite);
    margin:0
}
.l-fixed {
    display:none
}
.l-fixed .l-fixed__button {
    font-size:1.125rem;
    padding:18px 28px 12px 24px;
    box-shadow: 0px 0px 15px -5px #777777;
}
.c-button {
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    padding:16px 44px 16px 24px;
    background-color:var(--yellow);
    border-radius:100px;
    font-size:1.125rem;
    font-weight:700;
    margin-top:40px;
    display:block;
    text-align:center;
    position:relative
}
.c-button:after {
    content:"";
    display:inline-block;
    background:url(../images/common/arrow.svg) no-repeat;
    background-size:contain;
    width:6px;
    height:8px;
    position:absolute;
    right:24px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.c-button:hover {
    opacity:.8;
    -webkit-transition:all .3s;
    transition:all .3s
}
.c-button02 {
    margin-top:24px;
    display:block;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin-right:32px;
    margin-left:auto;
    font-weight:700;
    border-bottom:1px solid;
    padding-bottom:3px;
    position:relative
}
.c-button02:after {
    content:"";
    display:inline-block;
    background:url(../images/common/arrow2.svg) no-repeat;
    background-size:contain;
    width:24px;
    height:24px;
    position:absolute;
    right:-32px;
    top:1px
}
.c-button-row {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:24px;
    margin-top:40px
}
.c-button-row .c-button {
    margin-top:0
}
.c-heading {
    font-size:2.5rem;
    font-weight:900;
    text-align:center;
    color:var(--orange)
}
.c-heading br.u-sp {
    display:none
}
.c-heading__center {
    text-align:center
}
.c-heading__black {
    color:var(--black)
}
.c-heading02 {
    font-size:1.75rem;
    font-weight:900;
    position:relative;
    padding-left:48px;
    margin-bottom:64px
}
.c-heading02:before {
    content:"";
    display:inline-block;
    background:url(../images/common/list_icon.svg) no-repeat;
    background-size:contain;
    width:27px;
    height:27px;
    position:absolute;
    top:10px;
    left:0
}
.c-mv {
    width:100%;
    min-height:259px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    position:relative
}
.c-mv:after {
    content:"";
    display:inline-block;
    background:url(../images/case/mv.png) no-repeat;
    background-size:contain;
    width:200px;
    height:208px;
    position:absolute;
    bottom:-56px;
    right:11%
}
.c-mv__inner {
    position:relative;
    margin-inline:auto;
    padding-inline:24px;
    max-width:1312px;
    width:100%
}
.c-mv__title {
    font-size:2.75rem;
    font-weight:900
}
.c-mv__en {
    font-size:1.5rem;
    font-weight:600;
    font-family:Outfit,sans-serif;
    color:var(--orange)
}
.c-flow {
    margin-top:96px
}
.c-flow__title {
    font-size:1.75rem;
    font-weight:900;
    padding:0 16px;
    position:relative;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.c-flow__title:before {
    content:"";
    display:inline-block;
    background:url(../images/common/parentheses_left.svg) no-repeat;
    background-size:contain;
    width:12px;
    height:32px;
    position:absolute;
    left:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.c-flow__title:after {
    content:"";
    display:inline-block;
    background:url(../images/common/parentheses_right.svg) no-repeat;
    background-size:contain;
    width:12px;
    height:32px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.c-flow__media {
    padding-left:200px;
    position:relative;
    margin-top:40px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:60px
}
.c-flow__media:before {
    content:"";
    display:inline-block;
    background-color:var(--yellow);
    width:16px;
    height:100%;
    border-radius:2px;
    position:absolute;
    left:0;
    top:0;
    margin-left:60px
}
.c-flow__media:after {
    content:"";
    display:inline-block;
    background:url(../images/common/arrow3.svg) no-repeat;
    background-size:contain;
    width:40px;
    height:20px;
    position:absolute;
    bottom:-20px;
    left:0;
    margin-left:50px
}
.c-flow__item {
    margin-bottom:32px
}
.c-flow__body {
    width:100%
}
.c-flow__lead {
    font-size:2.25rem;
    font-weight:700
}
.c-flow__lead .u-sp {
    display:none
}
.c-flow__lead--parts {
    color:var(--orange);
    border-bottom:4px solid var(--yellow)
}
.c-flow__list {
    margin-top:32px
}
.c-flow__list--item {
    margin-bottom:8px;
    font-size:1.25rem;
    font-weight:700;
    padding-left:29px;
    position:relative
}
.c-flow__list--item:before {
    content:"";
    display:inline-block;
    background:url(../images/common/list_icon.svg) no-repeat;
    background-size:contain;
    width:14px;
    height:14px;
    position:absolute;
    top:10px;
    left:0
}
.c-flow__list--item:last-child {
    margin-bottom:0
}
.c-flow__under {
    margin-top:32px;
    background-color:var(--beige);
    border-radius:16px;
    padding:32px 40px
}
.c-flow__under--title {
    font-size:1.375rem;
    font-weight:700;
    color:var(--orange);
    padding-left:34px;
    position:relative
}
.c-flow__under--title:before {
    content:"";
    display:inline-block;
    background:url(../images/flow/under_icon.svg) no-repeat;
    background-size:contain;
    width:24px;
    height:24px;
    position:absolute;
    left:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.c-flow__under--text {
    margin-top:14px
}
.c-flow__image {
    min-width:320px
}
.c-flow__image img {
    border-radius:16px;
    width:100%;
    height:100%;
    aspect-ratio:320/400;
    -o-object-fit:cover;
    object-fit:cover
}
.c-accordion__header {
    padding:16px 52px 16px 32px;
    cursor:pointer;
    position:relative
}
.c-accordion__header:after {
    content:"";
    display:inline-block;
    background:url(../images/common/arrow_under.svg) no-repeat;
    background-size:contain;
    width:15px;
    height:9px;
    position:absolute;
    right:32px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.c-accordion__header.is-active:after {
    -webkit-transform:rotateX(180deg);
    transform:rotateX(180deg)
}
.c-accordion__header--title {
    font-size:1.125rem;
    font-weight:700
}
.c-accordion__body {
    overflow:hidden;
    height:0;
    -webkit-transition:height .4s ease;
    transition:height .4s ease;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:left top;
    background-size:10px 10px;
    background-repeat:repeat-x
}
.c-accordion__body--inner {
    padding:32px 40px
}
.p-top__mv--title {
    max-width:703px;
    margin:0 auto
}
.p-top__mv--image {
    margin-top:56px
}
.p-top__mv--image img {
    max-width:450px;
    margin:0 auto;
    display:block
}
.p-top__mv--lead {
    font-weight:900;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 auto 32px;
    position:relative;
    padding:0 54px;
    color:var(--orange);
    text-align: center;
}
.p-top__mv--lead:before {
    content:"";
    display:inline-block;
    background:url(../images/top/line_left.svg) no-repeat;
    background-size:contain;
    width:19px;
    height:28px;
    position:absolute;
    bottom:0;
    left:0
}
.p-top__mv--lead:after {
    content:"";
    display:inline-block;
    background:url(../images/top/line_right.svg) no-repeat;
    background-size:contain;
    width:19px;
    height:28px;
    position:absolute;
    bottom:0;
    right:0
}
.p-top__mv--body {
    margin-top:112px
}
.p-top__mv--text {
    font-size:1.375rem;
    font-weight:700;
    margin-bottom:1em;
    text-align:center
}
.p-top__mv--text:last-child {
    margin-bottom:0
}
.p-top__mv--text .u-sp {
    display:none
}
.p-top__about--image {
    margin-top:32px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:32px;
    padding:0 16px
}
.p-top__about--image01 {
    max-width:800px
}
.p-top__about--image02 {
    max-width:549px
}
.p-top__about--image03 {
    max-width:825px
}
.p-top__price {
    padding-top:0
}
.p-top__price--content {
    margin-top:96px
}
.p-top__price--lead {
    font-size:1.5rem;
    font-weight:700;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 auto 56px;
    padding:0 28px;
    position:relative
}
.p-top__price--lead:before {
    content:"";
    display:inline-block;
    background:url(../images/common/parentheses_left.svg) no-repeat;
    background-size:contain;
    width:12px;
    height:32px;
    position:absolute;
    left:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-top__price--lead:after {
    content:"";
    display:inline-block;
    background:url(../images/common/parentheses_right.svg) no-repeat;
    background-size:contain;
    width:12px;
    height:32px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-top__price--media {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:60px;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
    margin-bottom:128px
}
.p-top__price--title {
    font-size:2.5rem;
    color:var(--orange);
    font-weight:700;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    border-bottom:3px solid var(--yellow);
    margin-bottom:24px
}
.p-top__price--text {
    font-size:1.25rem;
    font-weight:700;
    line-height:1
}
.p-top__price--sm {
    font-size:1rem;
    font-weight:700
}
.p-top__price--parts {
    font-size:3rem;
    font-weight:700;
    font-family:Outfit,sans-serif
}
.p-top__price--list {
    margin-top:24px
}
.p-top__price--item {
    margin-bottom:8px;
    font-size:1.25rem;
    font-weight:700;
    position:relative;
    padding-left:29px
}
.p-top__price--item:last-child {
    margin-bottom:0
}
.p-top__price--item:before {
    content:"";
    display:inline-block;
    background:url(../images/top/list_icon.svg) no-repeat;
    background-size:contain;
    width:14px;
    height:14px;
    position:absolute;
    left:0;
    top:8px
}
.p-top__table {
    background-color:var(--white);
    border-radius:16px;
    border:2px solid var(--yellow);
    padding:48px 48px 32px;
    position:relative
}
.p-top__table--title {
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    padding:8px 32px;
    background-color:var(--yellow);
    font-size:1.25rem;
    font-weight:700;
    text-align:center;
    position:absolute;
    top:-20px;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%);
    border-radius:30px
}
.p-top__table--lead {
    font-size:1.25rem;
    font-weight:700;
    text-align:center
}
.p-top__table--row {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    row-gap:0;
    -webkit-column-gap:64px;
    -moz-column-gap:64px;
    column-gap:64px;
    margin-top:40px
}
.p-top__table--row.col4 {
    grid-template-columns:repeat(4,1fr);
    margin-top:40px;
    gap:0
}
.col4 .p-top__table--item {
    padding:0 32px
}
.col4 .p-top__table--item:after {
    content:"";
    display:inline-block;
    width:6px;
    height:100%;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-y;
    position:absolute;
    right:0;
    top:0
}
.col4 .p-top__table--item:last-child:after {
    content:none
}
.p-top__table--item {
    padding:24px 0;
    position:relative
}
.p-top__table--item:after {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    right:0;
    top:0
}
.p-top__table--item br.u-sp {
    display:none
}
.p-top__table--image {
    padding:0 25px;
    margin-bottom:16px
}
.p-top__table--text {
    font-size:1.125rem;
    font-weight:700;
    padding-left:30px;
    position:relative
}
.p-top__table--text:before {
    content:"";
    display:inline-block;
    background:url(../images/top/list_icon.svg) no-repeat;
    background-size:contain;
    width:14px;
    height:14px;
    position:absolute;
    top:8px;
    left:0
}
.p-top__table--note {
    font-size:.875rem;
    font-weight:500;
    padding-left:30px
}
.p-top__movie {
    padding-top:0
}
.p-top__movie--inner {
    background-color:var(--beige);
    border-radius:16px;
    padding:64px 96px
}
.p-top__movie--iframe {
    margin-top: 40px;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}
.p-top__case {
    margin-top:0;
    padding-top:17vw;
    background-color:var(--offWhite);
    position:relative
}
.p-top__case:before {
    content:"";
    display:inline-block;
    background:url(../images/top/case.png) no-repeat;
    background-size:contain;
    width:200px;
    height:208px;
    position:absolute;
    top:35px;
    right:14%;
    z-index:1
}
.p-top__case--inner {
    position:relative;
    background-color:var(--white)
}
.p-top__case--inner:before {
    content:"";
    display:inline-block;
    background:url(../images/top/circle.png) no-repeat;
    background-size:contain;
    width:100%;
    height:17vw;
    position:absolute;
    top:-16vw;
    left:0
}
.p-top__case--lead {
    text-align:center;
    font-size:1.5rem;
    font-weight:700;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 auto 40px;
    padding:0 24px;
    position:relative
}
.p-top__case--lead:before {
    content:"";
    display:inline-block;
    background:url(../images/top/parentheses_left.svg) no-repeat;
    background-size:contain;
    width:15px;
    height:40px;
    position:absolute;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    left:0
}
.p-top__case--lead:after {
    content:"";
    display:inline-block;
    background:url(../images/top/parentheses_right.svg) no-repeat;
    background-size:contain;
    width:15px;
    height:40px;
    position:absolute;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    right:0
}
.p-top__swiper {
    margin-top:96px
}
.p-top__swiper--item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:64px;
    padding:64px 0;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x
}
.p-top__swiper--item:nth-child(2n) {
    -webkit-box-orient:horizontal;
    -webkit-box-direction:reverse;
    -ms-flex-direction:row-reverse;
    flex-direction:row-reverse
}
.p-top__swiper--image {
    max-width:448px
}
.p-top__swiper--image img {
    border-radius: 16px;
}
.p-top__swiper--title {
    font-size:1.75rem;
    font-weight:700
}
.p-top__swiper--text {
    margin-top:24px
}
.p-top__swiper--link {
    margin-top:24px;
    display:block;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin-right:32px;
    margin-left:auto;
    font-weight:700;
    border-bottom:1px solid;
    padding-bottom:3px;
    position:relative
}
.p-top__swiper--link:after {
    content:"";
    display:inline-block;
    background:url(../images/common/arrow2.svg) no-repeat;
    background-size:contain;
    width:24px;
    height:24px;
    position:absolute;
    right:-32px;
    top:1px
}
.p-top__swiper--under {
    padding:96px 0 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:64px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x
}
.p-top__swiper--flow {
    font-size:1.5rem;
    font-weight:700
}
.p-top__swiper--button {
    min-width:266px;
    margin:0
}
.swiper-wrapper {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column
}
.swiper-button-prev,.swiper-button-next {
    display:none
}
.swiper-button-next:after,.swiper-button-prev:after {
    color:var(--white);
    background-color:var(--orange);
    width:40px;
    height:40px;
    border-radius:50%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    font-size:.875rem
}
.p-top__news {
    position:relative
}
.p-top__news:before {
    content:"";
    display:inline-block;
    background:url(../images/top/news.png) no-repeat;
    background-size:contain;
    width:240px;
    height:202px;
    position:absolute;
    right:14%;
    top:-38px
}
.p-top__news--contents {
    margin-top:96px
}
.p-top__news--link {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:48px;
    position:relative;
    padding:28px 0
}
.p-top__news--link:before {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    left:0;
    top:0
}
.p-top__news--link:last-child:after {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:left bottom;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    left:0;
    bottom:0
}
.p-top__news--image {
    width:37%;
    max-width:200px
}
.p-top__news--image img {
    border-radius:8px;
    width:100%;
    height:100%;
    aspect-ratio:200/124;
    -o-object-fit:cover;
    object-fit:cover
}
.p-top__news--header {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:30px;
    margin-bottom:12px
}
.p-top__news--body {
    width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:48px
}
.p-top__news--category {
    background-color:var(--orange);
    border-radius:100px;
    color:var(--white);
    padding:1px 19px
}
.p-top__news--arrow {
    width:32px;
    height:32px
}
.p-top__news--date {
    font-size:.875rem;
    font-family:Outfit,sans-serif;
    font-weight:400
}
.p-top__news--title {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    overflow:hidden;
    font-size:1.125rem
}
.p-top__news--note {
    text-align:center
}
.p-top__news--button {
    margin:48px auto 0
}
.p-top__faq--inner {
    margin-top:98px
}
.p-top__faq--item {
    padding:30px 0;
    position:relative
}
.p-top__faq--item:before {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    left:0;
    top:-5px
}
.p-top__faq--item:last-child:after {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:left bottom;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    left:0;
    bottom:0
}
.p-top__faq--heading {
    font-size:1.125rem;
    font-weight:700
}
.p-top__faq--q {
    position:relative;
    padding:6px 44px 0 60px;
    cursor:pointer
}
.p-top__faq--q:before {
    content:"Q";
    font-size:1.25rem;
    font-weight:500;
    font-family:Outfit,sans-serif;
    position:absolute;
    left:0;
    top:0;
    background-color:var(--yellow);
    border-radius:50%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    width:40px;
    height:40px
}
.p-top__faq--q:after {
    content:"";
    display:inline-block;
    background:url(../images/common/plus.svg) no-repeat;
    background-size:contain;
    width:24px;
    height:24px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-top__faq--q.is-active:after {
    content:"";
    display:inline-block;
    background:url(../images/common/minus.svg) no-repeat;
    background-size:contain;
    width:24px;
    height:24px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-top__faq--a {
    font-size:1.125rem;
    overflow:hidden;
    height:0;
    -webkit-transition:height .4s ease;
    transition:height .4s ease
}
.p-top__a--inner {
    padding:0 0 0 60px;
    margin-top:20px;
    position:relative
}
.p-top__a--inner:before {
    content:"A";
    font-size:1.25rem;
    font-weight:500;
    font-family:Outfit,sans-serif;
    position:absolute;
    left:0;
    top:0;
    background-color:var(--black);
    color:var(--white);
    border-radius:50%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    width:40px;
    height:40px
}
.p-top__mv {
    padding:80px 0 96px
}
.p-case__heading {
    background-color:var(--yellow);
    border-radius:16px;
    padding:48px 48px 48px 64px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:64px
}
.p-case__heading--header {
    padding-right:64px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:right top;
    background-size:10px 10px;
    background-repeat:repeat-y;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.p-case__heading--lead {
    font-size:1.5rem;
    font-weight:700;
    font-family:Outfit,sans-serif;
    text-align:center;
    line-height:1
}
.p-case__heading--number {
    color:var(--white);
    font-size:4rem;
    line-height:1;
    font-weight:700;
    text-align:center;
    font-family:Outfit,sans-serif;
    text-shadow:1px 1px 0 var(--black),-1px -1px 0 var(--black),-1px 1px 0 var(--black),1px -1px 0 var(--black),0px 1px 0 var(--black),-1px 0 var(--black),-1px 0 0 var(--black),1px 0 0 var(--black)
}
.p-case__heading--body {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:64px;
    width:100%
}
.p-case__heading--title {
    font-size:2rem;
    font-weight:700
}
.p-case__heading--title br.u-pc {
    display:block
}
.p-case__heading--image {
    width:100%;
    max-width:172px;
    -webkit-box-align:1/1;
    -ms-flex-align:1/1;
    aspect-ratio:1/1;
    -o-object-fit:cover;
    object-fit:cover;
    border-radius:50%
}
.p-case__message--header {
    background-color:var(--white);
    border:2px solid var(--yellow);
    border-radius:16px;
    position:relative;
    padding:32px 40px
}
.p-case__message--header:after {
    content:"";
    display:inline-block;
    background:url(../images/case/bubble.svg) no-repeat;
    background-size:contain;
    width:55px;
    height:60px;
    position:absolute;
    bottom:-58px;
    right:84px
}
.p-case__message--text {
    font-size:1.375rem;
    font-weight:500
}
.p-case__message--parts {
    color:var(--orange);
    border-bottom:3px solid var(--yellow)
}
.p-case__message--image {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:end;
    -ms-flex-pack:end;
    justify-content:flex-end;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    margin-top:-24px;
    z-index:0;
    position:relative;
    padding-right:32px
}
.p-case__message--icon {
    max-width:54px
}
.p-case__message--name {
    margin-right:20px;
    font-size:.875rem
}
.p-case__title {
    font-size:1.5rem
}
.p-case__orange {
    color:var(--orange)
}
.p-case__list {
    margin-top:0
}
.p-case__image {
    margin:48px 0;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    justify-content:space-between;
    gap:64px
}
.p-case__image img {
    border-radius:16px;
}
.p-case__section {
    padding-top:0
}
.p-flow__mv:after {
    background:url(../images/flow/mv.png) no-repeat;
    background-size:contain;
    width:280px;
    height:236px
}
.p-flow__heading {
    background-color:var(--yellow);
    border-radius:16px;
    padding:48px 48px 48px 64px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.p-flow__lead {
    font-size:2.5rem;
    font-weight:900;
    color:var(--orange)
}
.p-flow__circle {
    position:relative
}
.p-flow__circle--inner {
    position:absolute;
    right:0;
    bottom:-90px;
    z-index:1;
    background-color:var(--yellow);
    border-radius:50%;
    padding:44px
}
.p-flow__circle--text {
    font-size:1.25rem;
    font-weight:500;
    text-align:center
}
.p-flow__price--inner {
    margin-top:64px
}
.p-flow__media {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:80px;
    padding:40px 0;
    position:relative
}
.p-flow__media:before {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    right:0;
    top:0
}
.p-flow__media--header {
    width:20%;
    min-width:256px
}
.p-flow__media--title {
    font-size:1.75rem;
    color:var(--orange);
    font-weight:700;
    margin-bottom:44px
}
.p-flow__media--price {
    font-weight:700;
    line-height:1
}
.p-flow__price--parts {
    font-size:3rem;
    font-family:Outfit,sans-serif;
    color:var(--orange);
    font-weight:700
}
.p-flow__media--list {
    margin-top:32px
}
.p-flow__media--item {
    margin-bottom:32px
}
.p-flow__media--item:last-child {
    margin-bottom:0
}
.p-flow__media--lead {
    font-size:1.25rem;
    font-weight:700;
    color:var(--orange);
    padding-left:29px;
    position:relative;
    margin-bottom:8px
}
.p-flow__media--lead:before {
    content:"";
    display:inline-block;
    background:url(../images/common/list_icon.svg) no-repeat;
    background-size:contain;
    width:14px;
    height:14px;
    position:absolute;
    left:0;
    top:10px
}
.p-flow__price--button {
    margin-top:16px
}
.p-flow__price--image01 {
    max-width:121px;
    margin:0 auto;
    display:block
}
.p-flow__price--image02 {
    max-width:194px;
    margin:0 auto;
    display:block
}
.p-flow__media--text {
    margin-bottom:1em
}
.p-flow__media--text a {
    color: var(--blue);
    text-decoration: underline;
}
.p-flow__media--text a:hover {
    opacity: .8;
    transition: all .3s;
}
.p-flow__media--text:last-child {
    margin-bottom:0
}
.p-flow__table {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:80px;
    padding:32px 0;
    position:relative
}
.p-flow__table:before {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    right:0;
    top:-5px
}
.p-flow__table:last-child:after {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:left bottom;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    right:0;
    bottom:-5px
}
.p-flow__table--header {
    width:20%;
    min-width:256px
}
.p-flow__table--title {
    font-size:1.125rem;
    font-weight:700
}
.p-flow__table--item {
    margin-bottom:8px
}
.p-flow__table--item:last-child {
    margin-bottom:0
}
.p-flow__table--lead {
    font-size:.875rem;
    font-weight:500;
    padding-left:29px;
    position:relative
}
.p-flow__table--lead:before {
    content:"";
    display:inline-block;
    background:url(../images/common/list_icon.svg) no-repeat;
    background-size:contain;
    width:14px;
    height:14px;
    position:absolute;
    left:0;
    top:6px
}
.p-flow__table--lead a,.p-flow__table--text a {
    color:var(--blue);
    text-decoration:underline
}
.p-flow__table--lead a:hover,.p-flow__table--text a:hover {
    opacity:.8;
    -webkit-transition:opacity all .3s;
    transition:opacity all .3s
}
.p-flow__table--orange {
    color:var(--orange);
    font-size:1.25rem;
    font-weight:700
}
.p-flow__area {
    padding-top:0
}
.p-flow__area--title {
    font-size:1.5rem;
    font-weight:700;
    padding:0 28px;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    position:relative;
    margin-top:64px;
    margin-bottom:24px
}
.p-flow__area--title:before {
    content:"";
    display:inline-block;
    background:url(../images/common/parentheses_left.svg) no-repeat;
    background-size:contain;
    width:12px;
    height:32px;
    position:absolute;
    left:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-flow__area--title:after {
    content:"";
    display:inline-block;
    background:url(../images/common/parentheses_right.svg) no-repeat;
    background-size:contain;
    width:12px;
    height:32px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-flow__accordion {
    background-color:var(--beige);
    border-radius:16px;
    margin-top:32px
}
.p-flow__accordion--box {
    margin-bottom:15px
}
.p-flow__accordion--box:last-child {
    margin-bottom:0
}
.p-flow__accordion--lead {
    font-size:1.125rem;
    font-weight:700
}
.p-flow__accordion--list {
    margin-top:15px
}
.p-flow__accordion--item {
    padding-left:1.5em;
    position:relative
}
.p-flow__accordion--item a {
    color: var(--blue);
    text-decoration: underline;
}
.p-flow__accordion--item a:hover {
    opacity: .8;
    transition: all .3s;
}
.p-flow__accordion--item:before {
    content:"・";
    display:inline-block;
    position:absolute;
    left:0;
    top:0
}
.p-about__mv:after {
    background:url(../images/about/mv.png) no-repeat;
    background-size:contain;
    width:430px;
    height:186px
}
.p-about__lead {
    font-size:2.5rem;
    font-weight:900;
    color:var(--orange);
    margin-bottom:96px
}
.p-about__block {
    margin-bottom:128px
}
.p-about__block:last-child {
    margin-bottom:0
}
.p-about__media {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:96px
}
.p-about__media--reverse .p-about__body {
    grid-column:2/3
}
.p-about__media--reverse .p-about__image {
    grid-column:1/2;
    grid-row:1/2
}
.p-about__body--text {
    font-size:1.125rem;
    font-weight:500;
    margin-bottom:1em
}
.p-about__body--text:last-child {
    margin-bottom:0
}
.p-about__body--parts {
    color:var(--orange);
    border-bottom:3px solid var(--yellow)
}
.p-about__body--note {
    font-size:.75rem;
    margin-top:16px;
    font-weight:500
}
.p-about__block--inner {
    margin-top:64px
}
.p-about__bg {
    background-color:var(--beige);
    border-radius:16px;
    padding:48px 64px
}
.p-about__under {
    margin-top:40px
}
.p-about__under--lead {
    color:var(--orange);
    font-size:1.25rem;
    font-weight:700
}
.p-about__list {
    margin-top:24px
}
.p-about__item {
    padding-left:52px;
    position:relative;
    margin-bottom:16px;
    font-size:1.125rem;
    font-weight:500
}
.p-about__item:last-child {
    margin-bottom:0
}
.p-about__number {
    background-color:var(--yellow);
    border-radius:50%;
    width:100%;
    height:100%;
    aspect-ratio:1/1;
    display:block;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    font-size:1rem;
    font-family:Outfit,sans-serif;
    width:32px;
    height:32px;
    position:absolute;
    top:0;
    left:0
}
.p-about__feature {
    position:relative
}
.p-about__feature:after {
    content:"";
    display:inline-block;
    background:url(../images/about/feature.png) no-repeat;
    background-size:contain;
    width:230px;
    height:194px;
    position:absolute;
    right:48px;
    bottom:-32px
}
.p-about__block--image {
    margin-top:64px
}
.p-news__mv:after {
    content:none
}
.p-news__nav {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-column-gap:12px;
    -moz-column-gap:12px;
    column-gap:12px;
    row-gap:8px
}
.p-news__nav--title {
    font-weight:700
}
.p-news__nav--link {
    background-color:var(--white);
    border:1px solid var(--gray);
    border-radius:100px;
    padding:8px 32px;
    font-weight:700
}
.p-news__nav--link:hover {
    background-color:var(--orange);
    color:var(--white);
    -webkit-transition:all .3s;
    transition:all .3s;
    border:1px solid var(--orange)
}
.p-news__nav--orange {
    background-color:var(--orange);
    border:1px solid var(--orange);
    color:var(--white)
}
.p-news__list {
    margin-top:96px
}
.p-news__item {
    position:relative
}
.p-news__item:before {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    right:0;
    top:-5px
}
.p-news__item:last-of-type:after {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    right:0;
    bottom:0
}
.p-news__link {
    padding:30px 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:48px
}
.p-news__link:hover {
    opacity:.6;
    -webkit-transition:all .3s;
    transition:all .3s
}
.p-news__image {
    max-width:200px
}
.p-news__image img {
    width:100%;
    height:auto;
    aspect-ratio:200/124;
    -o-object-fit:cover;
    object-fit:cover;
    border-radius:16px
}
.p-news__body {
    width:100%
}
.p-news__header {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:30px;
    margin-bottom:11px
}
.p-news__category {
    font-size:.75rem;
    font-weight:700;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    padding:2px 19px;
    color:var(--white);
    background-color:var(--orange);
    border-radius:100px
}
.p-news__date {
    font-family:Outfit,sans-serif;
    font-size:.875rem;
    font-weight:400
}
.p-news__title {
    font-size:1.125rem;
    font-weight:500
}
.p-news__arrow {
    max-width:32px
}
.p-news__pagination {
    margin-top:128px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:8px
}
.nav-links {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.page-numbers {
    width:32px;
    height:32px;
    display:block;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    font-size:1.125rem
}
.page-numbers:hover {
    opacity:.6;
    -webkit-transition:all .3s;
    transition:all .3s
}
.page-numbers.current {
    background-color:var(--yellow);
    border-radius:50%
}
.page-numbers.current:hover {
    opacity:1
}
.next.page-numbers {
    position:relative
}
.next.page-numbers:after {
    content:"";
    display:inline-block;
    background:url(../images/news/pagination_next.svg) no-repeat;
    background-size:contain;
    width:16px;
    height:16px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.next.page-numbers:after:hover {
    opacity:.6;
    -webkit-transition:all .3s;
    transition:all .3s
}
.prev.page-numbers {
    position:relative
}
.prev.page-numbers:before {
    content:"";
    display:inline-block;
    background:url(../images/news/pagination_prev.svg) no-repeat;
    background-size:contain;
    width:16px;
    height:16px;
    position:absolute;
    left:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.prev.page-numbers:before:hover {
    opacity:.6;
    -webkit-transition:all .3s;
    transition:all .3s
}
.p-news-detail {
    position:relative
}
.p-news-detail:before {
    content:"";
    display:inline-block;
    width:100%;
    min-height:419px;
    background-color:var(--white);
    position:absolute
}
.p-news-detail__title {
    font-size:2.25rem;
    font-weight:700
}
.p-news-detail__bg {
    background-color:var(--offWhite);
    padding:96px 0 128px
}
.p-news-detail__wrapper {
    position:relative;
    margin-inline:auto;
    padding-inline:24px;
    max-width:1008px;
    width:100%
}
.p-news-detail__inner {
    position:relative;
    padding-bottom:48px
}
.p-news-detail__inner:after {
    content:"";
    display:inline-block;
    width:100%;
    height:6px;
    background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
    background-position:0 0;
    background-size:10px 10px;
    background-repeat:repeat-x;
    position:absolute;
    right:0;
    bottom:0
}
.p-news-detail__header {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:24px;
    margin-top:32px
}
.p-news-detail__category {
    font-size:.75rem;
    font-weight:700;
    color:var(--white);
    padding:2px 19px;
    background-color:var(--orange);
    border-radius:100px
}
.p-news-detail__date {
    font-size:.875rem;
    font-weight:400;
    font-family:Outfit,sans-serif
}
.p-news-detail__image {
    margin-top:48px
}
.p-news-detail__image img {
    border-radius:16px
}
.p-news-detail__contents {
    margin-top:48px
}
.p-news-detail__contents p {
    font-size:1.125rem;
    font-weight:500;
    margin-bottom:32px
}
.p-news-detail__contents h2 {
    font-size:1.5rem;
    font-weight:700;
    padding-bottom:16px;
    border-bottom:2px solid var(--yellow);
    margin-bottom:32px
}
.p-news-detail__contents h3 {
    font-size:1.25rem;
    font-weight:700;
    margin-bottom:32px;
    padding-left:48px;
    position:relative
}
.p-news-detail__contents h3:before {
    content:"";
    display:inline-block;
    background:url(../images/common/list_icon.svg) no-repeat;
    background-size:contain;
    width:27px;
    height:27px;
    position:absolute;
    left:0;
    top:4px
}
.p-news-detail__button {
    font-size:1rem;
    font-weight:500;
    padding:12px 40px;
    margin-top:0
}
.p-news-detail__button:after {
    content:none
}
.p-news-detail__pagination {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:16px;
    margin-top:38px
}
.p-news-detail__next a {
    position:relative;
    width:50px;
    height:50px;
    display:block
}
.p-news-detail__next a:after {
    content:"";
    display:inline-block;
    background:url(../images/news/pagination_next_white.svg) no-repeat;
    background-size:contain;
    width:50px;
    height:50px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-news-detail__prev a {
    position:relative;
    width:50px;
    height:50px;
    display:block
}
.p-news-detail__prev a:before {
    content:"";
    display:inline-block;
    background:url(../images/news/pagination_prev_white.svg) no-repeat;
    background-size:contain;
    width:50px;
    height:50px;
    position:absolute;
    left:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.u-uppercase {
    text-transform:uppercase
}
.u-lowercase {
    text-transform:lowercase
}
.u-centerposition {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.u-visually-hidden {
    position:absolute;
    overflow:hidden;
    clip:rect(0 0 0 0);
    margin:-1px;
    padding:0;
    width:1px;
    height:1px;
    border:0;
    white-space:nowrap;
    clip-path:inset(50%)
}
.u-bold {
    font-weight:700
}
.u-color\:white {
    color:#fff
}
.u-block {
    display:block
}
.u-left {
    text-align:left
}
.u-center {
    text-align:center
}
.u-font-size\:smallish {
    font-size:var(--font-size-smallish)
}
.u-font-size\:biggish {
    font-size:var(--font-size-biggish)
}
.u-font-size\:big {
    font-size:var(--font-size-big)
}
.u-sp {
    display:none
}
@media screen and (max-width: 1200px) {
    .l-header {
        padding:20px 0
    }
    .l-header__nav--list {
        gap:24px
    }
    .c-flow__media {
        padding-left:40px;
        gap:24px
    }
    .c-flow__media:before {
        margin-left:0
    }
    .c-flow__media:after {
        margin-left:0;
        left:-10px
    }
    .col4 .p-top__table--item {
        padding:0 16px
    }
    .p-top__table--image {
        padding:0
    }
    .p-top__swiper--item {
        gap:24px
    }
    .p-top__swiper--under {
        gap:16px
    }
    .p-flow__media {
        gap:40px
    }
    .p-flow__table {
        gap:12px
    }
    .p-about__media {
        gap:24px
    }
}
@media screen and (max-width: 992px) {
    .l-header__nav--list {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-align:start;
        -ms-flex-align:start;
        align-items:flex-start;
        margin-top:16px;
        gap:0
    }
    .l-header__nav--list.u-sp {
        display:block;
        margin-top:0
    }
    .l-header__nav--item {
        background-image:radial-gradient(circle,var(--black) 1px,transparent 1px);
        background-position:left bottom;
        background-size:10px 10px;
        background-repeat:repeat-x;
        width:100%
    }
    .l-header__nav--item.u-pc {
        display:none
    }
    .l-header__nav--line {
        background-image:none;
        margin-bottom:24px;
        margin-top:16px
    }
    .l-header__nav--link {
        padding:16px 0 24px;
        display:block;
        font-size:1.25rem
    }
    .l-header__nav--yellow {
        background-color:var(--orange);
        color:var(--white);
        width:100%
    }
    .l-header__nav {
        position:fixed;
        width:100%;
        min-width:100%;
        min-height:100vh;
        height:100%;
        background-color:var(--yellow);
        overflow-y:auto;
        -webkit-transition:right .4s;
        transition:right .4s;
        z-index:9998;
        padding:112px 40px 90px;
        top:0;
        left:unset;
        -webkit-transform:unset;
        transform:unset;
        right:-150%;
        margin-right:0
    }
    .l-header__nav.active {
        right:0
    }
    .l-header__button {
        position:absolute;
        top:20px;
        right:15px;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        row-gap:8px;
        width:34px;
        height:25px;
        z-index:9999
    }
    .l-header__nav--image {
        display:block;
        width:100%;
        max-width:217px;
        margin:48px auto 0
    }
    .c-flow__media {
        -webkit-box-orient:vertical;
        -webkit-box-direction:reverse;
        -ms-flex-direction:column-reverse;
        flex-direction:column-reverse
    }
    .c-flow__lead {
        font-size:1.25rem;
        margin-bottom:25px
    }
    .c-flow__lead .u-pc {
        display:none
    }
    .c-flow__lead .u-sp {
        display:block
    }
    .c-flow__list {
        margin-top:0
    }
    .c-flow__list--item {
        margin-bottom:4px;
        font-size:.875rem
    }
    .c-flow__list--item:before {
        top:4px
    }
    .c-flow__under {
        margin-top:24px;
        padding:16px 24px
    }
    .c-flow__under--title {
        font-size:.875rem;
        padding-left:22px
    }
    .c-flow__under--title:before {
        width:18px;
        height:18px
    }
    .c-flow__under--text {
        font-size:.8125rem
    }
    .c-flow__image {
        min-width:unset
    }
    .c-flow__image img {
        aspect-ratio:280/187
    }
    .p-top__table--text {
        font-size:.875rem
    }
    .p-top__case:before {
        min-width:80px;
        min-height:84px;
        width:17vw;
        height:17vw;
        -o-object-fit:contain;
        object-fit:contain;
        top:-25px
    }
    .p-top__news:before {
        min-width:80px;
        min-height:68px;
        width:17vw;
        height:17vw;
        -o-object-fit:contain;
        object-fit:contain;
        top:-25px
    }
    .p-case__heading {
        padding:24px;
        gap:18px;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-align:start;
        -ms-flex-align:start;
        align-items:flex-start
    }
    .p-case__heading--header {
        padding-right:0;
        background-position:right bottom;
        background-repeat:repeat-x;
        padding-bottom:24px;
        width:100%;
        -webkit-box-align:start;
        -ms-flex-align:start;
        align-items:flex-start
    }
    .p-case__heading--title {
        font-size:1.5rem
    }
    .p-flow__circle--inner {
        padding:22px;
        bottom:-160px;
        right:16px
    }
    .p-flow__circle--text {
        font-size:1rem
    }
    .p-flow__price--inner {
        margin-top:128px
    }
}
@media screen and (max-width: 768px) {
    p {
        font-size:.875rem
    }
    .l-section {
        margin:48px 0
    }
    .l-section-top {
        margin:96px 0
    }
    .l-header__logo {
        max-width:120px
    }
    .l-header__button {
        top:12px
    }
    .l-footer {
        padding-bottom:62px
    }
    .l-footer__under {
        margin:0 16px;
        padding:40px
    }
    .l-footer__inner {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        gap:56px
    }
    .l-footer__logo {
        max-width:160px
    }
    .l-footer__list {
        margin-top:24px
    }
    .l-footer__item {
        font-size:1rem;
        text-align:center
    }
    .l-footer__image {
        max-width:217px
    }
    .l-footer__catch {
        padding:24px 0 0
    }
    .l-footer__catch--header {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        gap:8px;
    }
    .l-footer__catch--text {
        font-size:.75rem
    }
    .l-footer__catch--image {
        max-width:140px
    }
    .l-footer__catch--row {
        flex-direction: column;
    }
    .l-footer__copy--text {
        font-size:.625rem
    }
    .l-footer__external--list {
        flex-direction: column;
        gap: 16px;
    }
    .l-footer__external--link {
        font-size: 14px;
    }
    .l-cta {
        padding:48px 0;
        margin:0 16px
    }
    .l-cta__heading {
        position:relative;
        width:100%
    }
    .l-cta__heading--title {
        font-size:1.125rem
    }
    .l-cta__heading--image {
        max-width:100px;
        position:absolute;
        top:-100px;
        right:0
    }
    .l-cta__text {
        margin-top:16px;
        text-align:left
    }
    .l-cta__button {
        margin-top:45px;
        font-size:1.25rem;
        padding:20px 24px
    }
    .l-cta__button--header {
        gap:4px;
        top:-15px
    }
    .l-cta__button--text {
        font-size:.625rem;
        padding:6px 10px 6px 24px;
        white-space:nowrap
    }
    .l-cta__button--text:before {
        width:8px;
        height:6px;
        top:13px
    }
    .l-background {
        padding:48px 0;
        margin:0
    }
    .l-background-top {
        padding:96px 0;
        margin:0
    }
    .l-fixed {
        display:block;
        position:fixed;
        z-index:9997;
        bottom:0;
        left:0;
        width:100%
    }
    .c-button {
        font-size:.875rem;
        max-width:182px;
        padding:12px 20px 12px 16px;
        width:100%
    }
    .c-button02 {
        margin-top:16px;
        font-size:.75rem
    }
    .c-button-row {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        gap:16px
    }
    .c-button-row .c-button {
        max-width:200px
    }
    .c-heading {
        font-size:1.375rem
    }
    .c-heading02 {
        font-size:1.375rem;
        padding-left:40px
    }
    .c-heading02:before {
        width:24px;
        height:24px;
        top:6px
    }
    .c-mv {
        min-height:137px
    }
    .c-mv:after {
        width:32vw;
        height:32vw;
        max-width:220px;
        bottom:-9vw
    }
    .c-mv__title {
        font-size:1.5rem
    }
    .c-mv__en {
        font-size:1rem
    }
    .c-flow {
        min-height:137px
    }
    .c-flow__title {
        font-size:1.25rem
    }
    .c-flow__media:before {
        width:6px
    }
    .c-flow__media:after {
        width:24px;
        height:12px;
        bottom:-12px;
        left:-8px
    }
    .c-accordion__header {
        padding:12px 44px 12px 24px
    }
    .c-accordion__header--title {
        font-size:1rem
    }
    .c-accordion__body--inner {
        padding:22px 32px
    }
    .p-top__mv--title {
        max-width:580px;
        width:92%
    }
    .p-top__mv--image {
        margin-top:32px
    }
    .p-top__mv--image img {
        max-width:380px;
        width:63%
    }
    .p-top__mv--lead {
        margin-bottom:24px;
        font-size:.75rem;
        padding:0 26px
    }
    .p-top__mv--body {
        margin-top:48px
    }
    .p-top__mv--text {
        font-size:.9375rem
    }
    .p-top__about--image {
        padding:0
    }
    .p-top__about--image01 {
        width:110%
    }
    .p-top__about--image02 {
        padding:0 24px
    }
    .p-top__about--image03 {
        padding:0 13px 0 30px
    }
    .p-top__price--content {
        margin-top:48px
    }
    .p-top__price--lead {
        font-size:1rem;
        padding:0 20px;
        margin:0 auto 32px;
        text-align:center
    }
    .p-top__price--media {
        grid-template-columns:1fr;
        margin-bottom:64px
    }
    .p-top__price--title {
        font-size:1.5rem
    }
    .p-top__price--text {
        font-size:1rem
    }
    .p-top__price--parts {
        font-size:2rem
    }
    .p-top__price--item {
        font-size:1rem
    }
    .p-top__table {
        padding:48px 24px 24px
    }
    .p-top__table--title {
        font-size:1rem;
        min-width:195px
    }
    .p-top__table--lead {
        font-size:.9375rem
    }
    .p-top__table--row {
        grid-template-columns:1fr;
        -webkit-column-gap:0;
        -moz-column-gap:0;
        column-gap:0;
        margin-top:0
    }
    .p-top__table--row.col4 {
        margin-top:24px;
        grid-template-columns:1fr
    }
    .col4 .p-top__table--item {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:justify;
        -ms-flex-pack:justify;
        justify-content:space-between;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        -webkit-box-orient:horizontal;
        -webkit-box-direction:reverse;
        -ms-flex-direction:row-reverse;
        flex-direction:row-reverse;
        gap:16px;
        padding:12px 0
    }
    .col4 .p-top__table--item:after {
        width:100%;
        height:6px;
        background-repeat:repeat-x;
        top:unset;
        bottom:0
    }
    .p-top__table--image {
        width:16%;
        min-width:90px;
        margin-bottom:0
    }
    .p-top__movie {
        padding-bottom:64px
    }
    .p-top__movie--iframe {
        margin-top: 24px;
    }
    .p-top__movie .l-wrapper {
        padding:0
    }
    .p-top__movie--inner {
        padding:24px 16px;
        border-radius:0
    }
    .p-top__case {
        margin-top:0;
        padding-top:22vw
    }
    .p-top__case--lead {
        font-size:1.125rem;
        margin:0 auto 8px;
        padding:0 16px
    }
    .p-top__swiper {
        margin-top:40px
    }
    .p-top__swiper--item {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        padding:32px 16px
    }
    .p-top__swiper--item:nth-child(2n) {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .p-top__swiper--title {
        font-size:1rem
    }
    .p-top__swiper--text,.p-top__swiper--link {
        margin-top:16px;
        font-size:.8125rem
    }
    .p-top__swiper--under {
        padding:64px 0 0;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        gap:32px
    }
    .p-top__swiper--flow {
        font-size:.9375rem
    }
    .p-top__swiper--button {
        min-width:225px
    }
    .swiper-wrapper {
        -webkit-box-orient:horizontal;
        -webkit-box-direction:normal;
        -ms-flex-direction:row;
        flex-direction:row
    }
    .swiper-button-prev,.swiper-button-next {
        display:block;
        width:40px;
        top:26vw
    }
    .p-top__news--contents {
        margin-top:40px
    }
    .p-top__news--link {
        gap:24px;
        padding:24px 0
    }
    .p-top__news--image {
        max-width:80px
    }
    .p-top__news--image img {
        aspect-ratio:1/1
    }
    .p-top__news--header {
        gap:16px;
        margin-bottom:8px
    }
    .p-top__news--body {
        gap:12px
    }
    .p-top__news--category {
        font-size:.625rem;
        padding:1px 14px
    }
    .p-top__news--arrow {
        width:24px;
        height:24px
    }
    .p-top__news--date {
        font-size:.6875rem
    }
    .p-top__news--title {
        font-size:.75rem
    }
    .p-top__news--button {
        margin:32px auto 0
    }
    .p-top__faq--inner {
        margin-top:40px
    }
    .p-top__faq--item {
        padding:20px 0
    }
    .p-top__faq--heading {
        font-size:1rem
    }
    .p-top__faq--q {
        padding:0 31px 0 47px
    }
    .p-top__faq--q:before {
        font-size:.875rem;
        width:32px;
        height:32px
    }
    .p-top__faq--q:after {
        width:16px;
        height:16px
    }
    .p-top__faq--q.is-active:after {
        width:16px;
        height:16px
    }
    .p-top__faq--a {
        font-size:.875rem
    }
    .p-top__a--inner {
        margin-top:15px;
        padding:0 0 0 47px
    }
    .p-top__a--inner:before {
        font-size:.875rem;
        width:32px;
        height:32px
    }
    .p-top__mv {
        padding:64px 0 48px
    }
    .p-case__heading--lead {
        font-size:1.25rem
    }
    .p-case__heading--number {
        font-size:3rem
    }
    .p-case__heading--body {
        gap:16px
    }
    .p-case__heading--title {
        font-size:1.125rem
    }
    .p-case__heading--image {
        width:30%
    }
    .p-case__message--header {
        padding:16px 24px
    }
    .p-case__message--header:after {
        right:56px
    }
    .p-case__message--text {
        font-size:1rem
    }
    .p-case__message--image {
        padding-right:16px
    }
    .p-case__message--name {
        font-size:.75rem
    }
    .p-case__image {
        grid-template-columns:1fr;
        gap:16px;
        margin:24x 0
    }
    .p-flow__mv:after {
        width:32vw;
        height:26vw
    }
    .p-flow__lead {
        font-size:1.375rem
    }
    .p-flow__circle--text {
        font-size:.6875rem
    }
    .p-flow__media {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .p-flow__media--header {
        width:100%;
        min-width:unset
    }
    .p-flow__media--title {
        font-size:1.5rem;
        margin-bottom:0
    }
    .p-flow__media--price {
        font-size:1rem
    }
    .p-flow__media--lead {
        font-size:1.125rem
    }
    .p-flow__price--image {
        margin-top:40px
    }
    .p-flow__price--image01 {
        max-width:80px
    }
    .p-flow__price--image02 {
        max-width:160px
    }
    .p-flow__table {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .p-flow__table--header {
        width:100%;
        min-width:unset
    }
    .p-flow__area--title {
        margin-top:40px;
        font-size:1.125rem
    }
    .p-flow__accordion--item {
        font-size:.875rem
    }
    .p-about__mv:after {
        width:42vw;
        height:19vw
    }
    .p-about__lead {
        font-size:1.375rem
    }
    .p-about__block {
        margin-bottom:64px
    }
    .p-about__media,.p-about__media--reverse {
        grid-template-columns:1fr
    }
    .p-about__bg {
        padding:24px 24px 87px
    }
    .p-about__feature:after {
        width:140px;
        height:118px;
        right:0
    }
    .p-news__nav--link {
        font-size:.875rem;
        padding:4px 16px
    }
    .p-news__list {
        margin-top:62px
    }
    .p-news__link {
        padding:20px 0;
        -webkit-box-align:stretch;
        -ms-flex-align:stretch;
        align-items:stretch;
        gap:20px
    }
    .p-news__image {
        width:48%;
        max-width:120px
    }
    .p-news__image img {
        aspect-ratio:1/1
    }
    .p-news__header {
        gap:10px;
        margin-bottom:8px
    }
    .p-news__category {
        font-size:.625rem;
        padding:2px 16px
    }
    .p-news__date {
        font-size:.6875rem
    }
    .p-news__title {
        font-size:.75rem
    }
    .p-news__arrow {
        max-width:24px
    }
    .p-news-detail:before {
        min-height:208px
    }
    .p-news-detail__title {
        font-size:1.5rem
    }
    .p-news-detail__bg {
        padding:48px 0
    }
    .p-news-detail__image,.p-news-detail__contents {
        margin-top:24px
    }
    .p-news-detail__contents p {
        font-size:.875rem;
        margin-bottom:24px
    }
    .p-news-detail__contents h2 {
        font-size:1.25rem;
        margin-bottom:24px;
        padding-bottom:10px
    }
    .p-news-detail__contents h3 {
        font-size:1.125rem;
        margin-bottom:24px;
        padding-left:40px
    }
    .p-news-detail__contents h3:before {
        width:20px;
        height:20px
    }
    .p-news-detail__button {
        padding:12px 32px
    }
    .p-news-detail__next a {
        width:36px;
        height:36px
    }
    .p-news-detail__next a:after {
        width:36px;
        height:36px
    }
    .p-news-detail__prev a {
        width:36px;
        height:36px
    }
    .p-news-detail__prev a:before {
        width:36px;
        height:36px
    }
    .u-sp {
        display:block
    }
    .u-pc {
        display:none
    }
}
@media screen and (max-width: 576px) {
    .c-heading br.u-sp,.p-top__mv--text .u-sp,.p-top__table--item br.u-sp {
        display:block
    }
    .p-case__heading--title br.u-pc {
        display:none
    }
    .l-footer__catch--button {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}
@media screen {
    [hidden~=screen] {
        display:inherit
    }
    [hidden~=screen]:not(:active):not(:focus):not(:target) {
        position:absolute!important;
        clip:rect(0 0 0 0)!important
    }
}