@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&display=swap');

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

:root {
--accent-color: #1f5cfa;
--base-color: #0f30df;
/* --bg-color: #f8f9fc; */
--bg-color: #ffffff;
--fs-xxs: 0.8125rem; /* 13px */
--fs-xs: 0.875rem; /* 14px */
--fs-s: 0.9375rem; /* 15px */
--fs-base: 1rem; /* 16px */
--fs-m: 1.125rem; /* 18px */
--fs-2m: 1.25rem; /* 20px */
--fs-l: 1.375rem; /* 22px */
--fs-xl: 1.5rem; /* 24px */
--fs-xxl: 1.75rem; /* 28px */
--fs-xxxl: 2rem; /* 32px */
--fs-h: 2.75rem; /* 44px */
}

/* ＝＝＝＝＝＝＝＝＝＝＝
Generic
＝＝＝＝＝＝＝＝＝＝＝ */
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 Base
＝＝＝＝＝＝＝＝＝＝＝ */
body {
font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'Yu Gothic', YuGothic, Verdana, Helvetica, 'ＭＳ Ｐゴシック', sans-serif;
font-size: var(--fs-s);
letter-spacing: 0;
color: #444;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}

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

a {
text-decoration: none;
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 Layouts
＝＝＝＝＝＝＝＝＝＝＝ */
.l-inner {
max-width: 1200px;
margin: 0 auto;
}

@media (max-width: 767px) {
.l-inner {
margin: 0 15px;
}
}

.l-row {
display: flex;
justify-content: center;
}

.l-row._row2 {
gap: 15.83333333%;
}

.l-row._row3 {
gap: 8.3333333%;
}

.l-row__item {
/* flex-basis: 352px; */
display: flex;
flex-direction: column;
}

.l-card {
display: flex;
flex-wrap: wrap;
gap: 30px 2.5%;
}

.l-card > * {
flex-basis: 31.66666666%;
}

@media (max-width: 767px) {
.l-row {
flex-direction: column;
}

.l-row._row2 {
gap: 40px;
}

.l-row._row3 {
gap: 40px;
}

.l-row__item {
flex-basis: 100%;
}

.l-card {
flex-direction: column;
gap: 30px;
}

.l-card > * {
flex-basis: 100%;
}
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 Objects
＝＝＝＝＝＝＝＝＝＝＝ */
.o-ul-list {
list-style-type: none;
padding: 0;
}

.o-button {
font-family: 'Noto Sans JP', sans-serif;
border: none;
background: none;
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 Components
＝＝＝＝＝＝＝＝＝＝＝ */

/* buttons */
.c-button-primary {
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--accent-color);
border-radius: 5px;
color: #fff;
font-weight: 700;
line-height: 1.4;
text-decoration: none;
box-sizing: border-box;
padding: 6px 10px;
margin-right:8px;
white-space:nowrap;
}

@media (min-width: 768px) {
.c-button-primary {
transition: background 0.3s;
}

.c-button-primary:hover {
background: #428eff;
}
}

.c-button-secondary {
display: inline-flex;
align-items: center;
justify-content: center;
background: #fff;
border: solid 1px #a5add7;
border-radius: 5px;
color: var(--base-color);
font-size: var(--fs-base);
font-weight: 700;
line-height: 1.4;
padding: 19px 50px;
text-decoration: none;
box-sizing: border-box;
}

.c-button-secondary._normal-btn {
display: flex;
}

.c-button-secondary._arrow-btn {
position: relative;
}

.c-button-secondary._arrow-btn::after {
content: "";
display: block;
width: 6px;
height: 9px;
background: url('data:image/svg+xml;charset=utf-8,<svg width="6" height="9" viewBox="0 0 6 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.15514 9L0 7.92708L3.68972 4.5L0 1.07292L1.15514 0L6 4.5L1.15514 9Z" fill="%230F30DF"/></svg>');
position: absolute;
top: 0;
bottom: 0;
right: 18px;
margin: auto;
}

@media (min-width: 768px) {
.c-button-secondary {
transition: background 0.3s;
}

.c-button-secondary:hover {
background: #f1f4fc;
}

.c-button-secondary._normal-btn {
max-width: 335px;
}
}

.c-link {
color: var(--base-color);
font-size: var(--fs-xs);
font-weight: 500;
line-height: 1.7;
}

/* headline */

.c-headline {
font-size: var(--fs-xxxl);
text-align: center;
}

.c-headline__sub-title {
display: block;
font-size: var(--fs-l);
font-weight: 500;
margin: 0 0 10px;
}

@media (max-width: 767px) {
.c-headline__sub-title {
margin: 0 0 18px;
}
}

.c-headline-2 {
font-size: var(--fs-xl);
font-weight: 700;
line-height: 1.7;
}

.c-page-header {
display: flex;
flex-direction: column;
gap: 50px;
text-align: center;
padding: 90px 0 100px;
}

@media (max-width: 767px) {
.c-page-header {
padding: 40px 15px 50px;
gap: 30px;
}
}

.c-page-header__lead {
font-size: var(--fs-base);
line-height: 1.7;
text-align: center;
}

/* breadcrumbs */
.c-breadcrumbs {
background: var(--bg-color);
padding: 12px 0;
}

.c-breadcrumbs__list {
display: flex;
list-style-type: none;
}

.c-breadcrumbs__list li {
font-size: var(--fs-s);
line-height: 1.7;
}

.c-breadcrumbs__list li a {
font-weight: 500;
color: var(--base-color);
}

.c-breadcrumbs__list li + li::before {
content: ">";
margin: 0 1em;
}

@media (max-width: 767px) {
.c-breadcrumbs {
overflow: auto;
}

.c-breadcrumbs__list li {
font-size: var(--fs-xxs);
flex-shrink: 0;
}
}

/* list */
.c-anchor-list {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 17px;
}

.c-anchor-list li a {
display: block;
color: #000;
padding: 3px 22px 4px;
font-size: var(--fs-base);
line-height: 1.7;
border: solid 1px #a5add7;
border-radius: 5px;
}

@media (min-width: 768px) {
.c-anchor-list li a {
transition: background 0.3s;
}

.c-anchor-list li a:hover {
background: #f1f4fc;
}
}

@media (max-width: 767px) {
.c-anchor-list li a {
padding: 10px 20px;
font-size: var(--fs-xs);
line-height: 1.45;
border: solid 1px #a5add7;
border-radius: 5px;
}
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 module
＝＝＝＝＝＝＝＝＝＝＝ */

.m-plan-item {
width: 290px;
box-sizing: border-box;
text-align: center;
}

.m-plan-item._recommend {
padding: 1px;
position: relative;
background: repeating-linear-gradient(60deg, #f57 0, #f57 50%, #ff6e41 100%);
}

.m-plan-item._recommend .m-plan-item__inner {
border: none;
}

.m-plan-item._recommend::before {
content: "おすすめ";
font-size: var(--fs-s);
font-weight: 700;
color: #fff;
background: repeating-linear-gradient(60deg, #f57 0, #f57 50%, #ff6e41 100%);
padding: 3px 13px;
position: absolute;
top: 0;
left: 0;
}

.m-plan-item._recommend._biz {
background: var(--base-color);
}

.m-plan-item._recommend._biz::before {
background: var(--base-color);
}

.m-plan-item__inner {
display: flex;
flex-direction: column;
padding: 34px 11.5px 28px;
background: #fff;
border: solid 1px #e0e0e0;
}

.m-plan-item__head {
display: flex;
flex-direction: column;
gap: 17px;
margin: 0 0 14px;
}

.m-plan-item__title {
font-size: 1.625rem;
}

.m-plan-item__title span {
display: block;
font-size: var(--fs-xxs);
}

.m-plan-item__lead {
font-weight: 500;
line-height: 1.6;
text-align: center;
margin: 0 -5px 15px;
}

.m-plan-item__cta-btn {
width: 100%;
padding: 13px 0 14px;
margin: 0 0 20px;
font-size: var(--fs-base);
}

.m-plan-item__cta-btn span {
font-size: var(--fs-m);
}

.m-plan-item__price {
display: flex;
align-items: flex-end;
justify-content: center;
gap: 10px;
}

.m-plan-item__price-yen {
font-size: var(--fs-s);
font-weight: 600;
}

.m-plan-item__price-yen span {
font-size: 1.8125rem;
font-weight: 600;
line-height: 1;
}

.m-plan-item__list {
margin: 0 0 23px;
text-align: left;
}

.m-plan-item__list dl {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 0;
font-weight: 500;
border-bottom: solid 1px #e8e8e8;
}

.m-plan-item__list dl dt {
width: 100px;
line-height: 1.2;
}

.m-plan-item__list dl dd {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
white-space: nowrap;
}

.m-plan-item__list dl dd .check {
display: block;
width: 14px;
height: 10px;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 11.5"><path fill="none" stroke="%23282828" stroke-linecap="round" stroke-linejoin="round" stroke-width="2px" d="m1,6l4.5,4.5L15,1"/></svg>') no-repeat center center;
background-size: 100% 100%;
}

.m-plan-item__list dl dd .dash {
width: 10px;
height: 2px;
background: #000;
}

.m-plan-item__more {
font-size: var(--fs-s);
font-weight: 600;
color: var(--base-color);
line-height: 1.5;
margin: auto 0 0;
}

@media (min-width: 768px) {
.m-plan-item:last-child .m-plan-item__inner {
border-right: solid 1px #e0e0e0;
}

.m-plan-item__inner {
border-right: none;
height: 100%;
}
}

@media (max-width: 767px) {
.m-plan-item__inner {
padding: 44px 18px 35px;
}
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 Utility
＝＝＝＝＝＝＝＝＝＝＝ */
@media (min-width: 768px) {
.u-show-sp {
display: none;
}
}

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

.u-bg-gray {
background: var(--bg-color);
}

.u-font-device {
font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'Yu Gothic', YuGothic, Verdana, Helvetica, 'ＭＳ Ｐゴシック', sans-serif;
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 Site
＝＝＝＝＝＝＝＝＝＝＝ */

/* Header */
.s-header {
padding: 22px min(1.6129%, 20px);
position: sticky;
top: 0;
left: 0;
background: #fff;
border-bottom: solid 1px #dcdcdc;
z-index: 999;
}

.s-header__inner {
display: flex;
justify-content: space-between;
align-items: center;
}

.s-header__pannel {
width: 32.16667%;
flex-shrink: 1;
}

.s-header__logo {
line-height: 0;
width: 100%;
}

.s-header__logo a {
display: block;
}

.s-nav {
display: flex;
align-items: center;
}

.s-nav__list {
display: flex;
align-items: center;
gap: min(1.6667vw, 20px);
}

.s-nav__list li a,
.s-nav__list li button {
display: flex;
align-items: center;
color: #333;
text-decoration: none;
font-size: min(1.333333333vw, var(--fs-base));
font-weight: 500;
line-height: 1.4;
}

.s-nav__list + .s-nav__list {
padding-left: min(1.6667vw, 20px);
margin-left: min(1.6667vw, 20px);
position: relative;
}

.s-nav__list + .s-nav__list::before {
content: "";
display: block;
width: 1px;
height: calc(100% - 27px);
background: #afafaf;
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
}

.s-nav__btn-list {
display: flex;
gap: 10px;
margin: 0 0 0 min(2.25vw, 27px);
}

.s-nav__btn-list li {
position: relative;
}

.s-nav__btn-list .s-nav__sub-list {
margin-top: 22px;
}

.s-nav__toggle-btn {
padding: 9px min(1.3333333vw, 16px) 9px min(1.91666666vw, 23px);
font-size: min(1.333333333vw, var(--fs-base));
gap: 8px;
cursor: pointer;
}

.s-nav__toggle-btn::after {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 4px 4px 0;
border-color: var(--base-color) transparent transparent transparent;
}

.s-nav__cta-btn {
padding: 10px min(1.83333vw, 22px);
font-size: min(1.333333333vw, var(--fs-base));
letter-spacing: 0.02em;
}

@media (min-width: 961px) {
.s-header {
transition: padding 0.3s;
}

.s-header.is-fixed {
padding: 11px 20px;
}

.s-header.is-fixed .s-header__pannel {
width: 29.4166666666%;
}

.s-header__pannel {
transition: width 0.3s;
}

.s-header__pannel-btns {
/* display: none; */
}

.s-nav__list > li {
position: relative;
padding: 10px 0;
}

.s-nav__list > li a,
.s-nav__list > li button {
transition: color 0.3s;
}

.s-nav__list > li:hover > a,
.s-nav__list > li:hover > button {
color: var(--base-color);
}

.s-nav__toggle {
gap: 6px;
pointer-events: none;
}

.s-nav__toggle::after {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 4px 4px 0;
border-color: #333 transparent transparent;
margin: 0 6px 0 0;
}

.s-nav__toggle-btn {
pointer-events: none;
}

.s-nav__sub-list {
opacity: 0;
visibility: hidden;
position: absolute;
left: 50%;
transform: translateX(-50%);
padding: 20px 26px;
background: #fff;
border-radius: 5px;

/* box-shadow: 1px 0 10px rgba(50,61,89,.24); */
filter: drop-shadow(1px 0 10px rgba(50, 61, 89, 0.24));
margin-top: 32px;
transition: 0.3s 0.3s;
}

.s-nav__sub-list::before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 12px 24px;
border-color: transparent transparent #fff;
position: absolute;
left: 0;
right: 0;
top: -14px;
margin: auto;
}

.s-nav__sub-list li {
white-space: nowrap;
}

.s-nav__sub-list li a {
display: flex;
color: #333;
text-decoration: none;
font-size: var(--fs-base);
font-weight: 500;
line-height: 1.4;
padding: 8px;
transition: color 0.3s;
}

.s-nav__sub-list li a:hover {
color: var(--base-color);
}

.s-nav__toggle-item:hover .s-nav__sub-list {
opacity: 1;
visibility: visible;
transition: 0.3s;
}

.s-nav__toggle-item:hover .s-nav__toggle {
cursor: pointer;
}

.s-nav__toggle-item:hover .s-nav__toggle::after {
border-color: #007bff transparent transparent;
}
}

@media (max-width: 960px) {
.s-header {
padding: 0;
}

.s-header__inner {
margin: 0;
}

.s-header__pannel {
display: flex;
justify-content: space-between;
align-items: center;
width: 280px;
padding: 14px 16px;
z-index: 1;
background: #fff;
}

.s-header__pannel-btns {
display: flex;
align-items: center;
gap: 16px;
}

.s-header__logo {
width: 280px;
}

.s-header__cta-btn {
font-size: var(--fs-xxs);
/* padding: 6px 10px; */
}

.s-header__menu {
width: 25px;
height: 20px;
margin: 0;
padding: 0;
border: none;
background: none;
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: hidden;
}

.s-header__menu span {
display: block;
width: 100%;
height: 3px;
background: #b4b4b9;
border-radius: 3px;
transition: 0.3s;
}

.s-header__menu.is-open span:nth-child(1) {
transform: rotate(45deg) translate(7px, 7px);
}

.s-header__menu.is-open span:nth-child(2) {
transform: translateX(100%);
opacity: 0;
visibility: hidden;
}

.s-header__menu.is-open span:nth-child(3) {
transform: rotate(-45deg) translate(5px, -5px);
}

.s-nav {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding-top: 60px;
background: #fff;
opacity: 0;
visibility: hidden;
overflow: auto;
overscroll-behavior-y: contain;
transition: all 0.5s;
}

.s-nav.is-open {
opacity: 1;
visibility: visible;
}

.s-nav__list {
display: block;
overflow: hidden;
}

.s-nav__list > li + li {
border-top: solid 1px #d5dcf0;
}

.s-nav__list > li a,
.s-nav__list > li button {
width: 100%;
display: block;
background: var(--bg-color);
font-size: var(--fs-base);
line-height: 1.5;
padding: 8px 16px;
text-align: left;
position: relative;
}

.s-nav__list > li a::after, .s-nav__list > li button::after {
content: "";
display: block;
width: 17px;
height: 17px;
background: url(https://rs.sakura.ad.jp/common/images/icon_arrow_forward.svg) no-repeat center center;
background-size: 100% 100%;
position: absolute;
top: 0;
bottom: 0;
right: 11px;
margin: auto;
transform: rotate(-90deg);
}

.s-nav__list > li button::after {
transform: none;
transition: transform 0.3s;
}

.s-nav__list > li button.is-open::after {
transform: rotate(-180deg);
}

.s-nav__list + .s-nav__list {
padding-left: 0;
margin-left: 0;
border-top: solid 1px #d5dcf0;
}

.s-nav__list + .s-nav__list::before {
display: none;
}

.s-nav__btn-list {
display: block;
margin: 0;
}

.s-nav__btn-list .s-nav__sub-list {
margin-top: 0;
}

.s-nav__toggle {
font-size: var(--fs-base);
line-height: 1.5;
padding: 8px 16px;
}

.s-nav__sub-list {
display: none;
}

.s-nav__sub-list li {
border-top: solid 1px #d5dcf0;
}

.s-nav__sub-list li a {
display: block;
font-size: var(--fs-xs);
font-weight: 400;
color: #333;
line-height: 1.2;
padding: 10px 16px;
background: #fff;
position: relative;
}

.s-nav__sub-list li a::after {
content: "";
display: block;
width: 12px;
height: 12px;
background: url(https://rs.sakura.ad.jp/common/images/icon_arrow_forward.svg) no-repeat center center;
background-size: 100% 100%;
position: absolute;
top: 0;
bottom: 0;
right: 11px;
margin: auto;
transform: rotate(-90deg);
}

.s-nav__toggle-btn,
.s-nav__cta-btn {
width: 100%;
font-size: var(--fs-base);
border-radius: 0;
}

.s-nav__toggle-btn {
padding: 11px 0;
}

.s-nav__toggle-btn::after {
border-width: 6px 6px 0;
transition: transform 0.3s;
}

.s-nav__toggle-btn.is-open::after {
transform: rotate(-180deg);
}

.s-nav__cta-btn {
padding: 12px 0;
}
}

/* Footer trial */
.s-footer-trial {
text-align: center;
padding: 75px 0;
background: #f8f9fc url(../common/images/bg_trial.svg) no-repeat center center;
background-size: cover;
}

.s-footer-trial dl dt {
font-size: var(--fs-xxxl);
font-weight: 700;
margin: 0 0 27px;
}

.s-footer-trial dl dd {
font-size: var(--fs-s);
}

.s-footer-trial__btn {
font-size: var(--fs-l);
padding: 17px 56px;
border-radius: 7px;
margin: 0 0 30px;
}

/* Footer サイトナビ */
.s-footer-rs {
padding: 90px 20px 50px;
}

.s-footer-rs__inner {
display: flex;
justify-content: space-between;
gap: 50px;
}

.s-footer-rs__head {
width: 22.6666666%;
flex-shrink: 0;
}

.s-footer-rs__logo {
margin: 0 0 45px;
}

.s-footer-rs__btn-list {
display: flex;
flex-direction: column;
gap: 15px;
margin: 0 0 38px;
}

.s-footer-rs__btn-list li {
width: 100%;
}

.s-footer-rs__btn-list li a {
width: 100%;
font-size: var(--fs-s);
padding: 12px 0;
}

.s-footer-rs__btn-list li a.-link {
display: inline-flex;
align-items: center;
gap: 7px;
width: auto;
color: var(--base-color);
padding-left: 3px;
}

.s-footer-rs__btn-list li a.-link::after {
content: "";
display: block;
width: 6px;
height: 9px;
background: url('data:image/svg+xml;charset=utf-8,<svg width="6" height="9" viewBox="0 0 6 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.15514 9L0 7.92708L3.68972 4.5L0 1.07292L1.15514 0L6 4.5L1.15514 9Z" fill="%230F30DF"/></svg>') no-repeat center center;
background-size: 100% 100%;
}

.s-footer-rs__btn-list li a.-link:hover {
opacity: 0.7;
}

.s-footer-rs__sns {
padding-top: 30px;
border-top: solid 1px #d1d3d9;
}

.s-footer-rs__sns li a {
display: flex;
align-items: center;
gap: 8px;
color: #000;
text-decoration: none;
font-size: var(--fs-s);
}

.s-footer-rs__sns-logo {
width: 15px;
}

.s-footer-rs__contents {
display: flex;
flex-wrap: wrap;
flex-shrink: 1;
gap: 50px 6.297229219%;
flex-basis: 795px;
padding-top: 10px;
}

.s-footer-rs__contents dl {
position: relative;
z-index: 1;
}

.s-footer-rs__contents dl dt {
font-size: var(--fs-base);
font-weight: 700;
line-height: 1.4;
margin: 0 0 23px;
}

.s-footer-rs__list {
display: flex;
flex-direction: column;
gap: 12px;
}

.s-footer-rs__list li a {
line-height: 1.4;
color: #121212;
text-decoration: none;
}

.s-footer-rs__mark {
width: 100%;
text-align: right;
margin-top: -80px;
}

.s-footer-rs__mark img {
width: 299px;
}


#back-top{z-index:500;position:relative}#back-top #pagetop{display:block;overflow:hidden;width:45px;height:45px}#back-top a{display:block;overflow:hidden;position:fixed;bottom:20px;right:20px}


/* Footer コーポレート */
.s-footer-corp {
/* background: #393939; */
background:#0077cc;
padding: 70px 20px;
}

.s-footer-corp__inner {
display: flex;
flex-wrap: wrap;
gap: 24px;
}

.s-footer-corp__logo {
width: 236px;
}

.s-footer-corp__service {
display: flex;
align-items: center;
margin: 0 0 9px;
}

.s-footer-corp__service dt {
padding-right: 16px;
margin-right: 16px;
border-right: solid 1px #fff;
color: #fff;
line-height: 1.2;
}

.s-footer-corp__service-list {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 16px;
}

.s-footer-corp__service-list li a {
color: #fff;
font-weight: 400;
text-decoration: none;
}

.s-footer-corp__list {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 16px;
}

.s-footer-corp__list li a {
color: #fff;
text-decoration: none;
}

.s-footer-corp__copyright {
width: 100%;
color: #fff;
font-size: var(--fs-xxs);
font-weight: 500;
text-align: center;
}

@media (min-width: 961px) {
.s-footer-rs__sns li a {
transition: opacity 0.3s;
}

.s-footer-rs__sns li a:hover {
opacity: 0.7;
}

.s-footer-rs__list li a {
transition: color 0.3s;
}

.s-footer-rs__list li a:hover {
color: var(--base-color);
}

.s-footer-rs__contents dl dt {
pointer-events: none;
}

.s-footer-corp__contents a:hover {
text-decoration: underline;
}
}

@media (max-width: 960px) {
.s-footer-rs__inner {
margin: 0;
display: block;
}

.s-footer-trial {
padding: 56px 0 50px;
}

.s-footer-trial dl dt {
font-size: var(--fs-l);
margin: 0 0 30px;
}

.s-footer-trial__inner {
margin: 0 20px;
}

.s-footer-trial__btn {
width: 100%;
padding: 17px 0;
}

/* Footer サイトナビ */
.s-footer-rs {
padding: 40px 0 0;
}

.s-footer-rs__head {
width: 100%;
max-width: 272px;
margin: 0 auto;
padding-bottom: 30px;
}

.s-footer-rs__logo {
margin: 0 0 35px;
}

.s-footer-rs__btn-list {
margin: 0 0 24px;
}

.s-footer-rs__sns {
padding-top: 0;
border-top: none;
}

.s-footer-rs__sns li {
display: flex;
justify-content: center;
}

.s-footer-rs__contents {
flex-direction: column;
gap: 0;
padding: 0;
}

.s-footer-rs__contents dl {
width: 100%;
}

.s-footer-rs__contents dl dt {
background: var(--bg-color);
line-height: 1.5;
margin: 0;
padding: 8px 16px;
border-top: solid 1px #d5dcf0;
position: relative;
}

.s-footer-rs__contents dl dt::after {
content: "";
display: block;
width: 17px;
height: 17px;
background: url(https://rs.sakura.ad.jp/common/images/icon_arrow_forward.svg) no-repeat center center;
background-size: 100% 100%;
position: absolute;
top: 0;
bottom: 0;
right: 11px;
margin: auto;
transition: transform 0.3s;
}

.s-footer-rs__contents dl dt.is-open::after {
transform: rotate(-180deg);
}

.s-footer-rs__contents dl dd {
display: none;
}

.s-footer-rs__list {
gap: 0;
border-top: solid 1px #d5dcf0;
}

.s-footer-rs__list li {
border-bottom: solid 1px #d5dcf0;
}

.s-footer-rs__list li:last-child {
border-bottom: none;
}

.s-footer-rs__list li a {
display: block;
line-height: 1.2;
padding: 10px 16px;
position: relative;
}

.s-footer-rs__list li a::after {
content: "";
display: block;
width: 12px;
height: 12px;
background: url(https://rs.sakura.ad.jp/common/images/icon_arrow_forward.svg) no-repeat center center;
background-size: 100% 100%;
position: absolute;
top: 0;
bottom: 0;
right: 11px;
margin: auto;
transform: rotate(-90deg);
}

.s-footer-rs__mark {
display: none;
}

/* Footer コーポレート */
.s-footer-corp {
padding: 30px 15px 34px;
}

.s-footer-corp__inner {
display: flex;
flex-wrap: wrap;
gap: 0;
margin: 0;
}

.s-footer-corp__logo {
width: 189px;
order: 1;
margin: 0 auto 25px;
}

.s-footer-corp__contents {
margin: 0 0 50px;
}

.s-footer-corp__service {
flex-direction: column;
align-items: flex-start;
gap: 15px;
margin: 0 0 30px;
}

.s-footer-corp__service dt {
padding-right: 0;
margin-right: 0;
border-right: none;
}

.s-footer-corp__service-list {
gap: 11px 30px;
margin: 0;
}

.s-footer-corp__list {
gap: 15px 30px;
}

.s-footer-corp__copyright {
order: 2;
width: 100%;
}
}

/* ＝＝＝＝＝＝＝＝＝＝＝
 Page
＝＝＝＝＝＝＝＝＝＝＝ */

/* HOME */
.home-hero__head {
padding: min(7.5vw, 90px) 20px min(5.833333vw, 70px);
}

.home-hero__wrap {
display: flex;
justify-content: center;
gap: 28px;
}

.home-hero__text {
font-size: clamp(var(--fs-m), 1.83333333vw, var(--fs-l));
font-weight: 500;
}

.home-hero__text p {
letter-spacing: 0.01em;
}

.home-hero__text p + p {
margin-top: 13px;
}

.home-hero__headline {
font-size: clamp(var(--fs-xxxl), 3.75vw, 2.8125rem);
line-height: 1.6;
margin: 0 0 33px;
}

.home-hero__cta {
text-align: center;
width: 35.666666%;
}

.home-hero__cta-text {
font-size: min(1.66666666vw, var(--fs-2m));
font-weight: 500;
margin: 0 0 20px;
}

.home-hero__cta-text strong {
display: inline-block;
color: transparent;
background: repeating-linear-gradient(30deg, #f57 0, #f57 50%, #ff6e41 100%);
-webkit-background-clip: text;
line-height: 1;
font-size: min(2.66666666vw, 2rem);
margin: 0 9px 0 5px;
}

.home-hero__cta-text strong._number {
font-size: min(3.16666666vw, 2.375rem);
margin: 0 3px 0 5px;
}

.home-hero__cta-btn {
font-size: min(1.83333333vw, var(--fs-l));
padding: 17px 35px;
margin: 0 0 42px;
}

.home-hero__achievement {
width: 100%;
}

.home-notice {
padding: 18px 40px 20px;
width: 100%;
background: var(--bg-color);
}

.home-notice__wrap {
margin: 0 auto;
width: 100%;
max-width: 1040px;
display: flex;
align-items: center;
gap: 56px;
}

.home-notice__ttl {
font-size: var(--fs-base);
flex-shrink: 0;
}

.home-notice__link {
font-size: var(--fs-base);
color: var(--accent-color);
line-height: 1.7;
text-decoration: underline;
transition: opacity 0.3s ease;
}

.home-notice__link:hover {
opacity: 0.6;
}

.home-hero__site {
margin: 0;
padding: 76px 0 0;
background: linear-gradient(45deg, #f57 0%, #f57 50%, #ff6e41 100%);
color: #fff;
text-align: center;
}

.home-hero__site-lead {
font-size: min(2.0833333vw, 1.5625rem);
font-weight: 700;
margin: 0 0 20px;
}

.home-hero__sub-headline {
font-size: min(4.0833333vw, 3.0625rem);
margin: 0 0 80px;
}

.home-hero__sub-headline > span {
display: inline-block;
font-size: min(4.4166666vw, 3.3125rem);
line-height: 1;
border-right: 1px solid #fff;
animation: blink 0.5s step-end infinite alternate;
}

.home-hero__site-ticker {
margin-bottom: -71px;
line-height: 0;
}

.home-hero__site-ticker .swiper-wrapper {
transition-timing-function: linear;
}

.home-hero__site-ticker .swiper-slide {
border-radius: 5px;
overflow: hidden;
}

.home-hero__site-ticker img {
width: 100%;
}

@media (max-width: 767px) {
.home-hero__head {
padding: 37px 0 30px;
}

.home-hero__wrap {
flex-direction: column;
gap: 30px;
}

.home-hero__text {
font-size: 3.30788804vw;
text-align: center;
}

.home-hero__text p + p {
margin-top: 6px;
}

.home-hero__headline {
font-size: 6.615776081vw;
text-align: center;
margin: 0 0 20px;
}

.home-hero__cta {
text-align: center;
width: 100%;
}

.home-hero__cta-text {
font-size: 4.834605597vw;
margin: 0 0 4.834605597vw;
}

.home-hero__cta-text strong {
font-size: 7.633587786vw;
margin: 0 3px;
}

.home-hero__cta-text strong._number {
font-size: 8.905852417vw;
margin: 0 8px 0 5px;
}

.home-hero__cta-btn {
max-width: 350px;
width: 100%;
font-size: var(--fs-l);
padding: 17px 35px;
margin: 0 auto 28px;
}

.home-hero__achievement {
width: 100%;
max-width: 327px;
margin: 0 auto;
}

.home-notice {
padding: 18px 15px 20px;
}

.home-notice__wrap {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}

.home-notice__ttl {
font-size: var(--fs-s);
}

.home-notice__link {
font-size: var(--fs-s);
}

.home-hero__site {
margin: 0;
padding: 43px 0 0;
}

.home-hero__site-lead {
font-size: var(--fs-m);
margin: 0 0 17px;
}

.home-hero__sub-headline {
font-size: var(--fs-xxxl);
margin: 0 0 53px;
}

.home-hero__sub-headline span {
display: inline-block;
font-size: 2.185rem;
line-height: 1;
}
}

.home-feature__head {
display: flex;
align-items: center;
gap: 53px;
/* margin: 0 0 100px; */
margin: 0 0 24px;
}

.home-feature__headline {
/*font-size: var(--fs-h);*/ /* 44px */
/*font-size: var(--fs-2m);*/ /* 20px */
font-size: var(--fs-l); /* 22px */
line-height: 1.65;
flex-shrink: 0;
padding: 0.4em;
position: relative;
}
.home-feature__headline::after {
position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  content: "";
  background: linear-gradient(90deg, rgba(28,144,224,1) 0%, rgba(118,193,245,1) 100%);
}

.home-feature__item {
/* padding: 24px 20px; */
padding: 12px 20px;
}

.home-feature__item:nth-child(odd) {
background: var(--bg-color);
}

.home-feature__item:nth-child(odd) .home-feature__head {
/* flex-direction: row-reverse; */
}

.home-feature__item:first-child {
/* padding-top: 226px; */
}

.home-feature__item._feature01 .home-feature__image {
width: 638px;
}

.home-feature__item._feature02 .home-feature__image {
width: 620px;
text-align: center;
}

.home-feature__item._feature02 .home-feature__image img {
width: 500px;
}

/*
.home-feature__item._feature03 .home-feature__head {
margin-bottom: 35px;
}

.home-feature__item._feature03 .home-feature__image {
width: 690px;
text-align: center;
}

.home-feature__item._feature03 .home-feature__image img {
width: 418px;
transform: translate(-30px, -33px);
}
*/

.home-feature__sub-title {
font-size: var(--fs-2m);
font-weight: 700;
line-height: 1.9;
}

.home-feature__title {
font-size: var(--fs-xl);
line-height: 1.6;
margin: 0 0 30px;
}

.home-feature__text {
font-size: var(--fs-s);
line-height: 1.8;
}

.home-feature__btn {
padding: 12px 40px;
margin: 23px auto 0;
}

@media (max-width: 767px) {
.home-feature__head {
display: block;
margin: 0 0 0px;
}

.home-feature__headline {
/* font-size: min(8.142493638vw, var(--fs-xxxl)); */
line-height: 1.7;
/* white-space: nowrap; */
}

.home-feature__item {
/* padding: 50px 0 60px; */
padding: 12px 0 12px;
overflow: hidden;
}

.home-feature__item:first-child {
/* padding-top: 150px; */
padding-top: 24px;
}

.home-feature__item._feature01 .home-feature__image {
width: 100%;
}

.home-feature__item._feature01 .home-feature__image img {
width: 94.76584022%;
}

.home-feature__item._feature02 .home-feature__image {
width: 100%;
}

.home-feature__item._feature02 .home-feature__image img {
width: 87.603305785%;
}

/*
.home-feature__item._feature03 {
padding-top: 36px;
}

.home-feature__item._feature03 .home-feature__image {
width: 100%;
text-align: center;
}

.home-feature__item._feature03 .home-feature__image img {
width: 83.195592286%;
transform: none;
}

.home-feature__item._feature03 .home-feature__head {
margin-bottom: 46px;
}
*/

.home-feature__image {
/* margin: 0 0 40px; */
margin: 24px 0 12px;
text-align: center;
}

.home-feature__sub-title {
font-size: var(--fs-2m);
font-weight: 700;
line-height: 1.9;
}

.home-feature__title {
font-size: var(--fs-xl);
line-height: 1.6;
margin: 0 0 13px;
}

.home-feature__text {
font-size: var(--fs-s);
line-height: 1.8;
}

.home-feature__btn {
padding: 12px 0;
width: 100%;
margin: 20px 0 0;
}
}

.home-function {
padding: 100px 20px;
}

.home-function__list {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 20px 0;
margin: 70px 0 0;
}

.home-function__list li {
display: flex;
flex-direction: column;
width: 32.083333333%;
}

.home-function__image {
border-radius: 3px 3px 0 0;
overflow: hidden;
line-height: 0;
}

.home-function__image img {
width: 100%;
}

.home-function__text {
display: flex;
flex-direction: column;
padding: 25px 32px 40px;
background: var(--bg-color);
flex-grow: 1;
}

.home-function__title {
font-size: var(--fs-xl);
margin: 0 0 15px;
}

.home-function__lead {
font-size: var(--fs-s);
line-height: 1.8;
margin: 0 0 28px;
}

.home-function__btn {
width: 100%;
padding: 12px 10px;
margin: auto 0 0;
}

.home-function__more-btn {
margin: 100px auto 0;
}

@media (max-width: 960px) {
.home-function__list li {
width: 48.913043478%;
}
}

@media (max-width: 767px) {
.home-function {
padding: 60px 0 50px;
}

.home-function__list {
flex-direction: column;
gap: 20px;
margin: 80px 0 0;
}

.home-function__list li {
display: flex;
flex-direction: column;
width: 100%;
}

.home-function__title {
font-size: var(--fs-l);
}

.home-function__lead {
font-size: var(--fs-xs);
margin: 0 0 22px;
}

.home-function__btn {
padding: 11px 0;
font-size: var(--fs-s);
}

.home-function__more-btn {
margin-top: 30px;
max-width: 360px;
}
}

.home-plan {
padding: 100px 0;
overflow: hidden;
}

.home-plan__inner {
margin: 0 auto;
padding: 0 30px;
}

.home-plan__card {
display: flex;
align-items: flex-end;
justify-content: center;
gap: 15px;
margin: 78px 0 0;
}

.home-plan__item {
width: 290px;
box-sizing: border-box;
}

.home-plan__item._recommend {
padding: 2px;
position: relative;
background: repeating-linear-gradient(60deg, #f57 0, #f57 50%, #ff6e41 100%);
}

.home-plan__item._recommend .home-plan__item-inner {
padding: 44px 23px 54px;
border: none;
}

.home-plan__item._recommend::before {
content: "おすすめ";
padding: 4px 13px;
font-size: var(--fs-s);
font-weight: 700;
color: #fff;
position: absolute;
top: 0;
left: 0;
z-index: 1;
background: linear-gradient(87deg, #f57 7.8%, #f57 55.07%, #ff6e41 103.33%);
}

.home-plan__item-inner {
display: flex;
flex-direction: column;
padding: 37px 8.7% 45px;
background: #fff;
border: solid 1px #e0e0e0;
box-sizing: border-box;
}

.home-plan__head {
display: flex;
flex-direction: column;
gap: 6px;
text-align: center;
margin: 0 0 16px;
}

.home-plan__title {
font-size: 1.625rem;
}

.home-plan__title span {
font-size: var(--fs-xxs);
}

.home-plan__lead {
font-weight: 500;
line-height: 1.5;
text-align: center;
}

.home-plan__cta-btn {
width: 100%;
padding: 12px 0;
margin: auto 0 0;
font-size: var(--fs-base);
}

.home-plan__price {
display: flex;
justify-content: center;
align-items: center;
gap: 5px;
}

.home-plan__price strong {
font-size: 2.25rem;
font-weight: 600;
}

.home-plan__price-label {
font-size: var(--fs-xxs);
line-height: 1.2;
}

.home-plan__price-wrap {
font-size: var(--fs-s);
font-weight: 600;
line-height: 1.2;
}

.home-plan__list {
margin: 16px 12px 0 16px;
}

.home-plan__list dl {
display: flex;
align-items: center;
gap: 13px;
padding: 9px 0;
}

.home-plan__list dl + dl {
border-top: solid 1px #e8e8e8;
}

.home-plan__list dl dt {
width: 100px;
line-height: 1.2;
}

.home-plan__list dl dd {
white-space: nowrap;
}

.home-plan__list dl dd .check {
display: block;
width: 14px;
height: 10px;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 11.5"><path fill="none" stroke="%23282828" stroke-linecap="round" stroke-linejoin="round" stroke-width="2px" d="m1,6l4.5,4.5L15,1"/></svg>') no-repeat center center;
background-size: 100% 100%;
}

.home-plan__list dl dd .dash {
display: block;
width: 10px;
height: 2px;
background: #444;
border-radius: 2px;
}

.home-plan__more {
display: flex;
justify-content: center;
gap: 13px;
margin-top: 55px;
}

.home-plan__tag {
display: flex;
flex-wrap: wrap;
gap: 10px;
}

.home-plan__tag li {
padding: 3px 11px 4px;
font-weight: 700;
background: #eef1fc;
border: solid 1.5px #d5d9e7;
border-radius: 2px;
color: #282828;
}

.home-plan__other {
align-items: stretch;
flex-wrap: wrap;
margin-top: 110px;
gap: 45px 15px;
}

.home-plan__other .home-plan__head {
gap: 14px;
margin: 0 0 10px;
}

.home-plan__other .home-plan__tag {
justify-content: center;
padding: 6px 0;
}

.home-plan__other .home-plan__tag li {
font-size: var(--fs-m);
padding: 1px 11px;
}

.home-plan__other .home-plan__item-inner {
height: 100%;
padding: 52.5px 12.068965517% 35px;
position: relative;
}

.home-plan__other .home-plan__lead {
margin: 0 0 13px;
}

.home-plan__other .home-plan__price strong {
font-size: 1.6875rem;
}

.home-plan__other .home-plan__cta-btn {
padding: 12px 10px;
}

.home-plan__other-icon {
width: 64px;
position: absolute;
left: 0;
right: 0;
top: -32px;
margin: 0 auto;
}

.home-plan__note {
line-height: 1.9;
margin-top: 38px;
}

@media (min-width: 768px) {
.home-plan__sp-slider {
margin-top: 60px;
overflow: visible;
}

.home-plan__sp-slider .swiper-wrapper {
align-items: flex-end;

/* transform: none !important; */
}

.home-plan__more-btn {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
max-width: 305px;
padding: 19px 0;
}
}

@media (max-width: 767px) {
.home-plan {
padding: 53px 0 40px;
}

.home-plan__inner {
padding: 0;
}

.home-plan__card {
align-items: stretch;
gap: 10px;
margin: 50px 0 0;
}

.home-plan__sp-slider {
margin-top: 40px;
}

.home-plan__list dl {
padding: 8px 0;
}

.home-plan__item {
width: 280px;
flex-shrink: 0;
}

.home-plan__item._recommend .home-plan__item-inner {
padding: 27px 17px 25px;
}

.home-plan__item-inner {
padding: 29px 18px 25px;
}

.home-plan__head {
gap: 15px;
}

.home-plan__more {
margin-top: 32px;
flex-direction: column;
align-items: center;
gap: 20px;
}

.home-plan__more-btn {
max-width: 335px;
width: 100%;
}

.home-plan__biz {
flex-direction: column;
padding: 25px 20px;
margin: 43px 15px 0;
}

.home-plan__biz-image {
width: 100%;
margin: 0 0 22px;
}

.home-plan__biz-text {
width: 100%;
}

.home-plan__biz-head {
align-items: flex-start;
flex-direction: column;
gap: 4px;
margin: 0 0 20px;
}

.home-plan__biz-price {
padding: 0;
}

.home-plan__biz-price::before {
display: none;
}

.home-plan__biz-lead {
margin: 15px 0 0;
}

.home-plan__biz-btn {
margin: 20px 0 0;
}

.home-plan__other {
align-items: stretch;
justify-content: space-between;
flex-wrap: wrap;
margin: 60px 15px 0;
gap: 40px 0;
}

.home-plan__other .home-plan__item {
width: 49.035812672%;
}

.home-plan__other .home-plan__item:first-child {
width: 100%;
}

.home-plan__other .home-plan__item:first-child .home-plan__item-inner {
flex-flow: row wrap;
align-items: center;
gap: 24px 24px;
padding: 46px 20px 30px;
}

.home-plan__other .home-plan__item:first-child .home-plan__head {
gap: 8px;
margin-bottom: 0;
}

.home-plan__other .home-plan__item:first-child .home-plan__price {
display: flex;
align-items: baseline;
gap: 5px;
}

.home-plan__other .home-plan__item:first-child .home-plan__title {
font-size: var(--fs-xxl);
}

.home-plan__other .home-plan__item:first-child .home-plan__lead {
flex: 1;
text-align: left;
font-size: var(--fs-xs);
line-height: 1.7;
margin: 0;
}

.home-plan__other .home-plan__item:nth-child(n+2) .home-plan__cta-btn {
font-size: 0.75rem;
padding: 8px 0;
}

.home-plan__other .home-plan__item:nth-child(n+2) .home-plan__tag {
justify-content: center;
padding: 0;
}

.home-plan__other .home-plan__item:nth-child(n+2) .home-plan__tag li {
font-size: var(--fs-xxs);
padding: 0 7px;
}

.home-plan__other .home-plan__item-inner {
height: 100%;
padding: 40px 10px 15px;
}

.home-plan__other .home-plan__other-icon {
width: 53px;
top: -27px;
}

.home-plan__other .home-plan__head {
gap: 10px;
margin: 0 0 12px;
}

.home-plan__other .home-plan__title {
font-size: 1.315rem;
}

.home-plan__other .home-plan__lead {
font-size: var(--fs-xxs);
line-height: 1.5;
margin: 0 0 13px;
}

.home-plan__note {
font-size: var(--fs-xxs);
margin: 18px 15px 0;
}
}

.home-flow {
padding: 116px 20px 100px;
}

.home-flow__list {
display: flex;
justify-content: center;
gap: 40px;
margin: 80px 0 0;
}

.home-flow__list li {
width: 227px;
text-align: center;
counter-increment: number;
font-size: var(--fs-base);
line-height: 1.875;
}

.home-flow__list li::before {
display: block;
content: counter(number, decimal-leading-zero);
font-size: var(--fs-xl);
font-weight: 700;
line-height: 1.4;
margin: 0 0 40px;
}

.home-flow__icon {
width: 75px;
margin: 0 auto 32px;
}

.home-flow__title {
font-size: var(--fs-xl);
font-weight: 700;
line-height: 1.4;
margin: 0 0 33px;
}

.home-flow__btn {
margin: 70px auto 0;
}

@media (max-width: 767px) {
.home-flow {
padding: 60px 0 106px;
}

.home-flow__list {
flex-wrap: wrap;
gap: 50px 0;
margin: 57px 0 0;
}

.home-flow__list li {
width: 50%;
font-size: var(--fs-xs);
line-height: 1.7;
padding: 0 10px;
box-sizing: border-box;
}

.home-flow__list li::before {
margin: 0 0 26px;
}

.home-flow__icon {
margin: 0 auto 17px;
}

.home-flow__title {
font-size: var(--fs-l);
margin: 0 0 20px;
}

.home-flow__btn {
max-width: 360px;
margin: 50px auto 0;
}
}

.home-achievement {
padding: 66px 20px 105px;
position: relative;
background: repeating-linear-gradient(40deg, #f57 0, #f57 50%, #ff6e41 100%);
overflow: hidden;
}

.home-achievement > * {
position: relative;
z-index: 1;
}

.home-achievement::after {
content: "";
display: block;
width: 1328px;
height: 395px;
background: url(../../images/index/bg_achivement.svg) no-repeat bottom center;
background-size: 100% auto;
opacity: 0.15;
position: absolute;
bottom: 0;
left: 0;
right: 0;
margin: 0 auto;
}

.home-achievement__headline {
color: #fff;
}

.home-achievement__headline::before {
content: "";
display: block;
width: 59px;
height: 59px;
margin: 0 auto 30px;
background: url(../common/images/rs-logo_mark_white.svg) no-repeat center center;
background-size: 100% 100%;
}

.home-achievement__lead {
font-size: var(--fs-base);
line-height: 1.875;
text-align: center;
margin: 25px 0 0;
color: #fff;
}

.home-achievement__card {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 50px 4.166666666%;
margin: 53px 0 0;
}

.home-achievement__item {
display: flex;
align-items: center;
justify-content: center;
width: 340px;
font-size: var(--fs-m);
font-weight: 500;
background: #fff;
border-radius: 19px;
padding: 22px 40px;
box-sizing: border-box;
}

.home-achievement__item span {
font-size: var(--fs-xs);
}

.home-achievement__item b {
display: inline-block;
color: transparent;
background: repeating-linear-gradient(30deg, #f57 0, #f57 50%, #ff6e41 100%);
-webkit-background-clip: text;
margin: 0 4px 0 0;
}

.home-achievement__item strong {
font-size: 1.6825rem;
}

.home-achievement__item dl {
display: flex;
align-items: flex-end;
justify-content: center;
gap: 5px;
}

.home-achievement__item dl dt {
font-size: var(--fs-l);
font-weight: 500;
line-height: 1.1;
}

.home-achievement__item dl dt span {
display: block;
font-size: 1.0625rem;
line-height: 1.1;
}

.home-achievement__item dl dd {
line-height: 1;
}

.home-achievement__item dl dd b {
font-size: 1.4375rem;
}

.home-achievement__item dl dd strong {
font-size: 2.5rem;
line-height: 1;
}

@media (max-width: 767px) {
.home-achievement {
padding: 60px 0 80px;
}

.home-achievement::before {
top: -46px;
}

.home-achievement__lead {
margin-left: 10px;
margin-right: 10px;
}

.home-achievement__card {
flex-direction: column;
gap: 24px;
margin: 33px 0 0;
}

.home-achievement__item {
width: 100%;
max-width: 340px;
min-height: 109px;
margin: 0 auto;
padding: 22px min(11.594202898%, 40px);
}
}

.home-faq {
padding: 85px 20px 100px;
}

.home-faq__list {
max-width: 900px;
margin: 85px auto 0;
display: flex;
flex-direction: column;
gap: 65px;
}

.home-faq__list dl dt {
display: flex;
align-items: center;
gap: 15px;
font-size: var(--fs-m);
font-weight: 700;
margin: 0 0 25px;
}

.home-faq__list dl dt::before {
content: "";
display: block;
width: 26px;
height: 31px;
background: url(../../images/index/text_q.svg) no-repeat center center;
background-size: 100% 100%;
}

.home-faq__list dl dd {
padding: 30px 40px;
font-size: var(--fs-base);
line-height: 1.875;
background: var(--bg-color);
color: #282828;
}

.home-faq__btn {
margin: 60px auto 0;
}

@media (max-width: 767px) {
.home-faq {
padding: 52px 0 65px;
}

.home-faq__list {
margin: 46px auto 0;
gap: 36px;
}

.home-faq__list dl dd {
font-size: var(--fs-xs);
line-height: 2;
}

.home-faq__btn {
margin: 40px auto 0;
}
}

.home-information {
padding: 80px 0 125px;
}

.home-information dl {
display: flex;
padding: 27px 0;
border-top: solid 1px #d5dcf0;
}

.home-information dl dt {
width: 183px;
font-size: var(--fs-base);
font-weight: 500;
line-height: 1.75;
flex-shrink: 0;
}

.home-information dl dd {
flex-grow: 1;
}

.home-information__contents {
margin: 57px 54px 0;
}

.home-information__item {
display: flex;
align-items: center;
padding: 15px 0;
border-bottom: solid 1px #d5dcf0;
}

.home-information__item:first-child {
padding-top: 0;
}

.home-information__item:last-child {
border-bottom: none;
padding-bottom: 0;
}

.home-information__date {
width: 128px;
font-size: var(--fs-s);
flex-shrink: 0;
}

.home-information__link {
font-size: var(--fs-base);
line-height: 1.75;
color: var(--base-color);
}

.home-information__btn {
text-align: center;
margin: 40px 0 0;
}

@media (min-width: 768px) {
.home-information__link:hover {
text-decoration: underline;
}
}

@media (max-width: 767px) {
.home-information {
padding: 42px 0 50px;
}

.home-information dl {
flex-direction: column;
gap: 23px;
padding: 20px 15px 26px;
}

.home-information dl dt {
width: auto;
}

.home-information__contents {
margin: 50px -15px 0;
}

.home-information__item {
flex-direction: column;
align-items: flex-start;
gap: 7px;
padding: 14px 0;
}

.home-information__date {
width: auto;
}

.home-information__btn {
margin: 25px 0 0;
}

.home-information__btn a {
width: 100%;
}
}

.home-column {
padding: 100px 0;
}

.home-column__list {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 5%;
margin: 55px 0 0;
}

.home-column__list li {
width: 28.333333333%;
}

.home-column__list li a {
display: flex;
flex-direction: column;
gap: 12px;
font-size: var(--fs-base);
font-weight: 500;
text-decoration: none;
color: var(--base-color);
}

.home-column__list li img {
width: 100%;
}

.home-column__btn {
text-align: center;
margin: 62px 0 0;
}

@media (min-width: 768px) {
.home-column__list li a {
transition: opacity 0.3s;
}

.home-column__list li a:hover {
opacity: 0.7;
}
}

@media (max-width: 767px) {
.home-column {
padding: 53px 0 75px;
}

.home-column__list {
flex-direction: column;
gap: 40px;
margin: 37px 0 0;
}

.home-column__list li {
width: 93.663911845%;
margin: 0 auto;
}

.home-column__btn {
margin: 52px 0 0;
}

.home-column__btn a {
width: 100%;
padding-left: 0;
padding-right: 0;
}
}

/*
機能
*/

.function__section {
padding: 90px 20px 100px;
}

.function__section:nth-child(odd) {
background: var(--bg-color);
}

.function__list li {
display: flex;
background: #fff;
border: solid 1px #a5add7;
border-radius: 5px;
}

.function__list li a {
display: block;
flex: 1;
font-size: var(--fs-s);
line-height: 1.8;
color: #000;
padding: 30px;
}

.function__headline {
text-align: center;
margin: 0 0 50px;
}

.function__title {
font-size: var(--fs-2m);
font-weight: 700;
line-height: 1.4;
color: var(--base-color);
margin: 0 0 15px;
}

@media (min-width: 768px) {
.function__list li a {
transition: background 0.3s;
}

.function__list li a:hover {
background: #f1f4fc;
}
}

@media (max-width: 767px) {
.function__section {
padding: 50px 0;
}

.function__headline {
margin: 0 0 30px;
}
}

/*
料金プラン
*/

.plan__header {
padding-top: 66px;
padding-bottom: 0;
}

.plan-detail__wrap {
padding: 80px 0;
}

.plan-detail__wrap:nth-child(even) {
background: var(--bg-color);
}

.plan-detail__inner {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 44px;
}

.plan-detail__item-headline {
text-align: center;
margin: 0 0 20px;
}

.plan-detail__item-btn {
margin: 64px auto 0;
}

.plan-simulation {
max-width: 930px;
margin: 0 auto;
padding: 134px 0 0;
}

.plan-simulation__btn {
display: flex;
align-items: center;
gap: 8.602150537%;
padding: 35px 110px 30px 7.956989247%;
border: solid 1px var(--base-color);
border-radius: 5px;
color: #333;
line-height: 1.7;
position: relative;
}

.plan-simulation__btn::after {
content: "＋";
display: flex;
align-items: center;
justify-content: center;
font-size: 1.625rem;
font-weight: 800;
color: #fff;
width: 44px;
height: 44px;
background: var(--base-color);
border-radius: 50%;
position: absolute;
top: 0;
bottom: 0;
right: 6.142241379%;
margin: auto;
}

.plan-simulation__icon {
width: 159px;
}

.plan-simulation__headline {
color: var(--base-color);
margin: 0 0 10px;
}

.plan-simulation__headline span {
display: block;
font-size: var(--fs-m);
line-height: 1.7;
}

.plan-simulation__modal {
display: none;
align-items: center;
justify-content: center;
position: fixed;
inset: 0;
margin: auto;
z-index: 999;
overflow: auto;
overscroll-behavior-y: contain;
}

.plan-simulation__modal.is-show {
display: flex;
}

.plan-simulation__modal-bg {
background: #fff;
opacity: 0.9;
position: fixed;
inset: 0;
margin: auto;
z-index: 10;
}

.plan-simulation__modal-close {
font-size: 1.3125rem;
font-weight: 900;
line-height: 1.7;
position: absolute;
top: 13px;
left: 20px;
color: #a5add7;
cursor: pointer;
}

.plan-simulation__modal-inner {
padding: 68px 170px 70px 200px;
background: #f8f9fc;
border: solid 1px #a5add7;
max-width: 1140px;
margin: 0 auto;
position: relative;
z-index: 10;
}

.plan-simulation__modal-headline {
margin: 0 0 43px;
text-align: center;
}

.plan-simulation__modal-btns dl {
display: flex;
gap: 38px;
}

.plan-simulation__modal-btns dl + dl {
margin-top: 32px;
}

.plan-simulation__modal-btns dl dt {
flex-shrink: 0;
font-size: var(--fs-s);
font-weight: 500;
line-height: 1.7;
}

.plan-simulation__modal-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
}

.plan-simulation__modal-list label span {
display: flex;
align-items: center;
padding: 7px 17px;
background-color: #fff;
border: solid 1px #a5add7;
border-radius: 5px;
font-size: var(--fs-xs);
cursor: pointer;
}

.plan-simulation__modal-list input {
display: none;
}

.plan-simulation__modal-list input:checked + span {
gap: 7px;
padding-left: 12.5px;
background: #eef1fc;
color: var(--base-color);
font-weight: 700;
}

.plan-simulation__modal-list input:checked + span::before {
content: "";
display: block;
width: 18px;
height: 18px;
background: url(https://rs.sakura.ad.jp/common/images/icon_check.svg) no-repeat center center;
background-size: 100% 100%;
}

.plan-simulation__modal-list input:disabled + span {
background: #fff;
opacity: 0.5;
}

.plan-simulation__modal-result {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
gap: 35px;
padding: 30px 56px 34px 40px;
margin: 42px 0 0;
background: #fff;
border: solid 1px #dadeee;
min-height: 172px;
}

.plan-simulation__modal-result p {
width: 100%;
text-align: center;
}

.plan-simulation__modal-result__wrap {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}

.plan-simulation__modal-result__text {
display: flex;
flex-wrap: wrap;
gap: 10px 30px;
}

.plan-simulation__modal-result__text dl {
display: flex;
gap: 10px;
}

.plan-simulation__modal-result__text dl:first-child {
width: 100%;
}

.plan-simulation__modal-result__text dl dt {
flex-shrink: 0;
}

.plan-simulation__modal-result__price {
flex-shrink: 0;
text-align: right;
}

.plan-simulation__modal-result__price dl dt {
font-size: var(--fs-s);
font-weight: 500;
line-height: 1.7;
}

.plan-simulation__modal-result__price dl dd {
font-size: var(--fs-m);
}

.plan-simulation__modal-result__price dl dd span {
font-size: var(--fs-xxxl);
font-weight: 500;
}

.plan-simulation__modal-result__btn {
font-size: var(--fs-2m);
padding: 15.5px 44px;
}

.plan-comparison {
padding: 175px 0 115px;
position: relative;
}

.plan-comparison__headline {
text-align: center;
}

.plan-comparison__table {
width: 100%;
margin: 60px 0 0;
}

.plan-comparison__name {
padding: 0 8px 10px 0;
}

.plan-comparison__name dl {
display: flex;
gap: 10px 8px;
}

.plan-comparison__name dt {
width: 258px;
flex-shrink: 0;
padding: 9px 24px;
background: none;
font-size: 1.0625rem;
font-weight: 700;
text-align: left;
}

.plan-comparison__name dd {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
position: sticky;
top: 88px;
text-align: center;
background: #f8f9fc;
padding: 7px 0;
font-size: var(--fs-xxs);
font-weight: 400;
line-height: 1.15;
}

.plan-comparison__name dd.is-hide {
display: none;
}

.plan-comparison__name._fixed {
background: #fff;
padding: 7px 0 0;
box-shadow: 0 4px 12px -3px rgba(147, 148, 152, 0.2);
position: fixed;
top: 66px;
left: 0;
width: 100%;
min-height: 50px;
z-index: 997;
transform: translateY(-100%);
visibility: hidden;
transition: transform 0.3s, visibility 0.3s;
}

.plan-comparison__name._fixed dl {
margin-left: 266px;
padding-right: 8px;
}

.plan-comparison__name._fixed dl dd {
background: none;
}

.plan-comparison__name._fixed.is-show {
visibility: visible;
transform: none;
}

.plan-comparison__head {
font-size: 1.0625rem;
font-weight: 700;
padding: 23px 22px;
border-top: solid 1px #a0a0a0;
cursor: pointer;
position: relative;
}

.plan-comparison__head::after {
content: "";
display: block;
width: 18px;
height: 10px;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 8"><path fill="%231C1B1F" stroke-width="0" d="m13,1.21l-6.5,6.79L0,1.21,1.15,0l5.35,5.59L11.85,0l1.15,1.21Z"/></svg>') no-repeat center center;
position: absolute;
top: 0;
bottom: 0;
right: 22px;
margin: auto;
transform: rotate(-180deg);
transition: transform 0.3s;
}

.plan-comparison__head.is-hide::after {
transform: none;
}

.plan-comparison__body {
padding: 10px 0;
border-top: solid 1px #a0a0a0;
}

.plan-comparison__body dl {
display: flex;
gap: 0 8px;
position: relative;
padding: 0 8px 0 0;
}

.plan-comparison__body dl:hover::before {
content: "";
display: block;
width: 100%;
height: 100%;
background: #f8f9fc;
position: absolute;
top: 0;
left: 0;
mix-blend-mode: multiply;
}

.plan-comparison__body dt {
display: flex;
justify-content: flex-start;
align-items: center;
width: 258px;
font-weight: 400;
padding: 12px 12px 12px 24px;
flex-shrink: 0;
}

.plan-comparison__body dt a {
font-weight: 500;
color: var(--base-color);
position: relative;
z-index: 1;
}

.plan-comparison__body dt span {
display: block;
font-size: var(--fs-xxs);
margin: 5px 0 0;
}

.plan-comparison__body dd {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
flex: 1;
background: var(--bg-color);
text-align: center;
font-size: var(--fs-xxs);
line-height: 1;
padding: 15px 0;
}

.plan-comparison__body dd.is-hide {
display: none;
}

.plan-comparison__body dd .circle {
width: 13px;
height: 13px;
border-radius: 50%;
border: solid 1px #000;
}

.plan-comparison__body dd .dash {
width: 8px;
height: 1px;
background: #000;
}

.plan-comparison__body._price dt {
flex-direction: column;
align-items: flex-start;
justify-content: center;
}

.plan-comparison__body._price dd {
font-size: var(--fs-s);
}

.plan-comparison__body._price dd .month {
padding: 4px 10px;
background: #fff;
font-size: var(--fs-xs);
margin: 10px 0 0;
}

.plan-comparison__body._price dd b {
font-weight: 700;
color: #f57;
}

.plan-comparison__pdf-link {
margin: 18px 0 0;
text-align: right;
}

.plan-comparison__note-list {
margin: 25px 0 0;
}

.plan-comparison__note-list li {
display: flex;
font-size: var(--fs-xs);
line-height: 1.9;
counter-increment: number;
}

.plan-comparison__note-list li::before {
flex-shrink: 0;
content: "※"counter(number);
margin: 0 5px;
}

.plan-comparison__filter {
display: flex;
flex-direction: column;
justify-content: flex-end;
max-width: 392px;
border: solid 2px var(--base-color);
border-bottom: none;
border-radius: 5px;
position: fixed;
bottom: 0;
right: 0;
z-index: 999;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0.3s;
}

.plan-comparison__filter.is-show {
opacity: 1;
visibility: visible;
}

.plan-comparison__filter-toggle {
background: #fff;
border-radius: 5px 5px 0 0;
padding: 20px 52px 20px 40px;
font-size: var(--fs-base);
color: var(--base-color);
font-weight: 700;
text-align: center;
position: relative;
cursor: pointer;
}

.plan-comparison__filter-toggle::after {
content: "";
display: block;
width: 13px;
height: 8px;
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 8"><path fill="%230f30df" stroke-width="0" d="m13,1.21l-6.5,6.79L0,1.21,1.15,0l5.35,5.59L11.85,0l1.15,1.21Z"/></svg>') no-repeat center center;
background-size: 100% 100%;
position: absolute;
top: 0;
bottom: 0;
right: 24px;
margin: auto;
}

.plan-comparison__filter-toggle.is-show {
width: 100%;
}

.plan-comparison__filter-toggle.is-show::after {
transform: rotate(180deg);
}

.plan-comparison__filter-contents {
display: none;
background: #f7f8fb;
padding: 22px 25px 20px;
}

.plan-comparison__filter-list {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 8px;
}

.plan-comparison__filter-list input {
display: none;
}

.plan-comparison__filter-list input:checked + span {
background: #eef1fc;
}

.plan-comparison__filter-list span {
display: block;
background: #fff;
border: solid 1px #a5add7;
border-radius: 5px;
font-size: var(--fs-xxs);
font-weight: 500;
padding: 7px 11px;
cursor: pointer;
}

.plan-comparison__filter-btns {
display: flex;
flex-direction: column;
align-items: center;
gap: 15px;
}

.plan-comparison__filter-submit {
width: 100%;
max-width: 295px;
padding: 9.5px 14px;
font-size: var(--fs-s);
font-weight: 700;
border: solid 1px var(--base-color);
border-radius: 5px;
color: var(--base-color);
background: #fff;
cursor: pointer;
margin: 15px 0 0;
}

.plan-comparison__filter-reset {
font-size: var(--fs-s);
font-weight: 500;
letter-spacing: -0.01em;
border: none;
background: none;
color: var(--base-color);
cursor: pointer;
}

@media (min-width: 768px) {
.plan-detail__item {
display: flex;
flex-direction: column;
}

.plan-detail__sp-slider {
flex-grow: 1;
}

.plan-detail__sp-slider .swiper-wrapper {
gap: 0;
justify-content: center;
transform: none !important;
}

.plan-detail__sp-slider .swiper-slide {
width: 230px !important;
}

.plan-comparison__tooltip {
display: inline-block;
line-height: 0;
position: relative;
margin: 0 0 0 6px;
vertical-align: middle;
}

.plan-comparison__tooltip:hover {
z-index: 1;
}

.plan-comparison__tooltip:hover .plan-comparison__tooltip-text {
opacity: 1;
visibility: visible;
}

.plan-comparison__tooltip:hover .plan-comparison__tooltip-icon::before {
opacity: 1;
visibility: visible;
}

.plan-comparison__tooltip-icon {
width: 16px;
height: 16px;
background: url(https://rs.sakura.ad.jp/common/images/icon_tooltip.svg) no-repeat center center;
background-size: 100% 100%;
border: none;
}

.plan-comparison__tooltip-icon::before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 12px 4.5px 0;
border-color: #404044 transparent transparent;
position: absolute;
left: 0;
right: 0;
bottom: calc(100% + 2px);
margin: 0 auto;
opacity: 0;
visibility: hidden;
}

.plan-comparison__tooltip-icon.is-left + .plan-comparison__tooltip-text {
left: -20px;
transform: none;
}

.plan-comparison__tooltip-text {
width: 170px;
display: inline-block;
font-size: var(--fs-xxs);
line-height: 1.45;
padding: 17px 14px;
position: absolute;
bottom: calc(100% + 12px);
left: 50%;
transform: translateX(-50%);
background: #404044;
color: #fff;
z-index: 1;
opacity: 0;
visibility: hidden;
}

.plan-comparison__tooltip-text.is-wide {
width: 300px;
}
}

@media (max-width: 960px) {
.plan-simulation {
margin: 0 15px;
}

.plan-simulation__modal-inner {
padding: 60px 30px;
margin: 0 20px;
}

.plan-simulation__modal-result {
padding: 40px 30px;
}

.plan-simulation__modal-result__wrap {
gap: 20px;
}

.plan-comparison__inner {
margin: 0;
}

.plan-comparison__name {
overflow: auto;
}

.plan-comparison__name dl {
gap: 0 6px;
padding-right: 0;
}

.plan-comparison__name dt {
width: 170px;
padding: 12px 10px;
}

.plan-comparison__name dd {
flex: inherit;
flex-shrink: 0;
flex-grow: 1;
width: 82px;
}

.plan-comparison__name._fixed {
top: 58px;
padding-right: 15px;
}

.plan-comparison__name._fixed dl {
margin-left: 178px;
}

.plan-comparison__head {
padding: 15px 10px;
}

.plan-comparison__body {
overflow: auto;
}

.plan-comparison__body dt {
width: 170px;
padding: 12px 10px;
}

.plan-comparison__body dd {
flex: inherit;
flex-shrink: 0;
flex-grow: 1;
width: 82px;
}

.plan-comparison__tooltip {
display: none;
}
}

@media (max-width: 767px) {
.plan-detail__inner {
display: block;
margin: 0;
}

.plan-detail__head {
margin: 0 15px;
}

.plan-detail__item + .plan-detail__item {
margin-top: 50px;
}

.plan-detail__item-btn {
margin: 64px 15px 0;
}

.plan-simulation {
padding-top: 60px;
}

.plan-simulation__btn {
padding: 20px 50px 20px 20px;
gap: 20px;
}

.plan-simulation__btn::after {
right: 10px;
width: 30px;
height: 30px;
font-size: var(--fs-m);
}

.plan-simulation__headline {
font-size: var(--fs-2m);
}

.plan-simulation__headline span {
font-size: var(--fs-base);
}

.plan-simulation__icon {
width: 22.435897435%;
flex-shrink: 0;
}

.plan-simulation__modal {
align-items: flex-start;
padding: 40px 0;
}

.plan-simulation__modal-inner {
padding: 40px 20px;
}

.plan-simulation__modal-headline {
margin: 0 0 30px;
}

.plan-simulation__modal-btns dl {
flex-direction: column;
gap: 20px;
}

.plan-simulation__modal-list label span {
font-size: var(--fs-xxs);
padding: 7px 12px;
}

.plan-simulation__modal-result {
padding: 30px 20px;
gap: 30px;
margin: 30px 0 0;
}

.plan-simulation__modal-result__wrap {
flex-direction: column;
align-items: flex-end;
gap: 30px;
}

.plan-simulation__modal-result__btn {
width: 100%;
padding: 15px 0;
font-size: var(--fs-m);
}

.plan-comparison {
padding: 80px 0 60px;
}

.plan-comparison__filter-toggle {
padding: 15px 40px 15px 25px;
}

.plan-comparison__filter-toggle::after {
right: 15px;
}

.plan-comparison__filter-contents {
padding: 20px;
}
}

@keyframes blink {
50% { border-right-color: transparent; }
}
