*,
:after,
:before {
    box-sizing: border-box;
    border: 0 solid #e5e7eb;
}

:after,
:before {
    --tw-content: "";
}

:host,
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
    line-height: inherit;
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
}

abbr:where([title]) {
    text-decoration: underline dotted;
}

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

a {
    text-decoration: inherit;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
pre,
samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em;
}

small {
    font-size: 80%;
}

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

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

table {
    text-indent: 0;
    border-color: inherit;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}

button,
select {
    text-transform: none;
}

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none;
}

:-moz-focusring {
    outline: auto;
}

:-moz-ui-invalid {
    box-shadow: none;
}

progress {
    vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

[type='search'] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

::-webkit-search-decoration {
    -webkit-appearance: none;
}

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

summary {
    display: list-item;
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0;
}

fieldset {
    margin: 0;
}

fieldset,
legend {
    padding: 0;
}

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

dialog {
    padding: 0;
}

textarea {
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af;
}

[role='button'],
button {
    cursor: pointer;
}

:disabled {
    cursor: default;
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
    vertical-align: middle;
}

[hidden]:where(:not([hidden='until-found'])) {
    display: none;
}


.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 0.15s;
}

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

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

ol,
ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

blockquote,
q {
    quotes: none;
}

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

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

button,
input,
select,
textarea {
    font: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    outline: none;
    box-sizing: border-box;
}

* {
    box-sizing: border-box;
}

:after,
:before {
    box-sizing: inherit;
}

a,
button {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a:hover,
button:hover {
    opacity: 0.7;
    cursor: pointer;
}

img,
video {
    display: inline;
    max-width: 100%;
    height: auto;
}
/* base */

:root {
    --colorWhite: #fff;
    --colorText: #04241B;

    --colorBase01: #FAF7EF;
    --colorBase02: #C0F0E2;
    --colorBase03: #D6D4CE;
    --colorBase04: #E5FFF8;

    --colorAccent01: #56B3D6;
    --colorAccent02: #15D6A0;
    --colorAccent03: #D8E9F0;
    --colorRed: #D61518;
}
html {
    scroll-behavior: smooth;
}

body {
    background: var(--colorWhite);
    font-size: 16px;
    line-height: 1.8;
    color: var(--colorText);
    font-weight: 500;
    letter-spacing: 1.28;
    font-family: Roboto, "Noto Sans JP", sans-serif;
}

@media only screen and (max-width: 767px) {
    body {
        font-size: 0.875rem;
        letter-spacing: calc(14vw / 3.75 * 0.08);
    }
}
@media only screen and (max-width: 375px) {
    body {
        font-size: 0.75rem;
    }
}

/* 表示非表示 */
@media (max-width: 1024px) {
    .pc-only {
        display: none !important;
    }
}

@media (max-width: 767px) or (min-width: 1025px) {
    .tab-only {
        display: none !important;
    }
}
@media (min-width: 1025px) {
    .tab-and-smaller-only {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .tab-and-larger-only {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .sp-only {
        display: none !important;
    }
}
.lp-takaraduka-br-sm-false {
    display: block;
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-br-sm-false {
        display: none;
    }
}

.lp-takaraduka-br-sm-true {
    display: none;
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-br-sm-true {
        display: block;
    }
}

.lp-takaraduka-br-md-false {
    display: block;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-br-md-false {
        display: none;
    }
}

.lp-takaraduka-br-lg-false {
    display: block;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-br-lg-false {
        display: none;
    }
}

.lp-takaraduka-br-lg-true {
    display: none;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-br-lg-true {
        display: block;
    }
}

.lp-takaraduka-br-xl-false {
    display: block;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-br-xl-false {
        display: none;
    }
}

.lp-takaraduka-br-xl-true {
    display: none;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-br-xl-true {
        display: block;
    }
}

/* color */
.color-lp-takaraduka-accent01 {
    color: var(--colorAccent01);
}

.color-lp-takaraduka-accent02 {
    color: var(--colorAccent02);
}
.color-lp-takaraduka-base01 {
    color: var(--colorBase01);
}

.color-lp-takaraduka-base02 {
    color: var(--colorBase02);
}
.color-lp-takaraduka-red {
    color: var(--colorRed);
}
.background-color-White {
    background-color: var(--colorWhite);
}
.background-color-Base04 {
    background-color: var(--colorBase04);
}

/* layout */
.main{
    padding-top: 6.25rem;
    background:var(--colorWhite);
}

.lp-takaraduka-wrapper {
    width: 100%;
    height: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.lp-takaraduka-content{
    position: relative;
    width: 100%;
    padding: 80px 0;
}
.lp-takaraduka-content-header {
    padding: 0 40px;
    text-align:center;
}
.lp-takaraduka-content-header h2 {
    font-size: 1.5rem;
    font-weight: 700;
}
.lp-takaraduka-content-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--colorBase02);
}
.lp-takaraduka-content-main{
    padding: 40px 80px 0;
    text-align:center;
}
@media screen and (max-width: 768px) {
    .lp-takaraduka-content-header {
        padding: 0 24px;
    }
    .lp-takaraduka-content-main{
        padding: 1rem 24px 0;
    }
}
@media screen and (max-width: 960px) {
    .lp-takaraduka-content-header h2 {
        font-size: 1.25rem;
    }
    .lp-takaraduka-content-heading {
        font-size: 1.25rem;
    }
}

/* button */
.lp-takaraduka-contact-button{
    display:inline-flex;
    margin: 0 auto;
    padding: 16px 40px;
    border-radius:16px;
    background:var(--colorAccent02);
    text-align:center;
    font-weight:bold;
    color:var(--colorWhite);
    cursor:pointer;
}
.lp-takaraduka-contact-button:hover{
    opacity: 0.7;
    transition: all 0.5s;
}
.lp-takaraduka-top-contact-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60%;
    padding: 20px 40px;
    margin: 0 auto;
    background: var(--colorAccent02);
    border-radius: 16px;
    text-align: center;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--colorWhite);
    transition: all 0.5s;
}
.lp-takaraduka-top-contact-button:hover {
    opacity: 0.7;
    transition: all 0.5s;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-top-contact-button {
        font-size: 1rem;
        height: auto;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-top-contact-button {
        width: 75%;
        line-height: 1.4;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-contact-button{
        font-size: 0.875rem;
    }
    .lp-takaraduka-top-contact-button {
        width: auto;
        font-size: 0.875rem;
        padding: 16px;
    }
}

.lp-takaraduka-top-contact-button br {
    display: none;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-top-contact-button br {
        display: block;
    }
}
.lp-takaraduka-contact-previous-button{
    display:inline-flex;
    margin: 0 auto;
    padding: 16px 40px;
    border-radius:16px;
    background:var(--colorBase02);
    text-align:center;
    font-weight:500;
    color:var(--colorText);
    cursor:pointer;
}
.lp-takaraduka-contact-previous-button:hover {
    opacity: 0.7;
    transition: all 0.5s;
}

/* header  */
.pc_navigation {
    position: fixed;
    display: flex;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 6.25rem;
    background: var(--colorWhite);
    padding: 0 20px;
    justify-content: center;
    align-items: center;
    transform: translateY(-100%);
    opacity: 0;
    animation: slideDown 1s ease forwards, bgFade 0.5s ease forwards 1.5s;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .pc_navigation {
        padding: 0 30px;
    }
}

@media only screen and (max-width: 767px) {
    .pc_navigation {
        transition: all 0.28s ease-out;
        padding: min(40vw / 3.75, 50px) min(20vw / 3.75, 30px);
    }

    .pc_navigation.smallnav {
        padding-top: min(30vw / 3.75, 40px);
        padding-bottom: min(30vw / 3.75, 40px);
    }
}

.pc_navigation > div {
    width: 100%;
    max-width: 1300px;
    display: flex;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .pc_navigation > div .title {
        font-size: min(14vw / 3.75, 18px);
    }
}

.pc_navigation > div > ul {
    display: inline-flex;
    flex-wrap: wrap;
    align-content: center;
    gap: 0 20px;
    list-style: none;
    margin: 0;
}

@media only screen and (max-width: 767px) {
    .pc_navigation > div > ul {
        font-size: calc(14vw / 3.75);
    }
}

.pc_navigation > div > ul > a {
    position: relative;
    display: inline-block;
    overflow: hidden;
    font-size: 0.875rem;
}

@media (min-width: 1024px) and (max-width: 1200px) {
    .pc_navigation > div > ul > a {
        font-size: 0.75rem;
    }
}

.pc_navigation > div > ul > a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--colorText);
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

.pc_navigation > div > ul > a:hover:after {
    transform: translateX(0);
}

@media only screen and (max-width: 767px) {
    .sp_navigation .title {
        font-size: min(16vw / 3.75, 20px);
    }
}

.sp_navigation ul > a {
    display: block;
    margin-top: 25px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--colorText);
}

@media only screen and (max-width: 767px) {
    .sp_navigation ul > a p {
        font-size: min(14vw / 3.75, 18px);
    }
}

.sp_navigation > button {
    position: fixed;
    right: 24px;
    z-index: 1001;
    display: flex;
    width: 30px;
    height: 22px;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    transition: all 0.28s ease-out;
}

.sp_navigation > button > div {
    height: 3px;
    width: 100%;
    background: var(--colorText);
    border-radius: 2px;
}

@media only screen and (max-width: 767px) {
    .sp_navigation > button {
        top: min(30vw / 3.75, 40px) !important;
    }

    .sp_navigation > button.smallnav {
        top: min(20vw / 3.75, 30px) !important;
    }
}

.sp_navigation > nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: hsla(0, 0%, 100%, 0.95);
    box-shadow: -4px 0 10px rgba(0, 0, 0, 0.2);
    border-bottom-left-radius: 9999px;
    border-bottom-right-radius: 9999px;
    border-top-left-radius: 9999px;
    border-top-right-radius: 0;
    z-index: 1000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    transform: scale(0);
    opacity: 0;
    transform-origin: top right;
    transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out, border-radius 0.4s ease-in-out;
    pointer-events: none;
}

.sp_navigation.active > nav {
  transform: scale(1);
  border-radius: 0;
  opacity: 1;
  pointer-events: auto;
  transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out, border-radius 0.4s ease-in-out;
}

.sp_navigation > button {
  transition: transform 0.4s ease-in-out;
}

.sp_navigation > button div {
  transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
}

.sp_navigation.active > button div:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
.sp_navigation.active > button div:nth-child(2) {
  opacity: 0;
}
.sp_navigation.active > button div:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

.menu-content {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
}

.sp_navigation.active .menu-content {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease-in-out 0.4s;
  pointer-events: auto;
}

.sp_navigation .menu-content {
  transition: none;
}

.header-logo {
    width: 56px;
}

@media screen and (max-width: 428px) {
    .header-logo {
        width: 48px;
    }
}

.header-service-type {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .header-service-type {
        font-size: 0.625rem;
    }
}

@media screen and (max-width: 428px) {
    .header-service-type {
        font-size: 0.625rem;
    }
}

.header-menu-button-sp {
    top: 29px;
}

.header-menu-button-pc {
    top: 39px;
}

.header-service-name {
    font-size: 1.375rem;
    font-weight: 700;
    color:var(--colorAccent02);
    line-height: 1.2;
}

@media screen and (max-width: 768px) {
    .header-service-name {
        font-size: 1.125rem;
    }
}

@media screen and (max-width: 428px) {
    .header-service-name {
        font-size: font-size: 1rem;;
    }
}

.header-contact-button {
    padding: 1rem 2rem;
    background: var(--colorAccent02);
    border-radius: 16px;
    color: var(--colorWhite);
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    box-sizing: border-box;
}

.header-contact-button:hover {
    transition: all 0.5s;
}

.header-menu-contact-button,
.header-menu-tel-button {
    display: block;
    width: 100%;
    margin-top: 1rem;
    padding: 1rem 2rem;
    border-radius: 16px;
    box-sizing: border-box;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    font-size:1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.header-menu-contact-button {
    margin-top: 2rem;
    border:1px solid var(--colorAccent02);
    background-color: var(--colorAccent02);
    color: var(--colorWhite);
}

.header-menu-contact-button:hover {
    border:1px solid var(--colorAccent01);
    background-color: var(--colorAccent01);
    .header-menu-contact-button
}

.header-menu-tel-button {
    background-color: var(--colorWhite);
    color: var(--colorAccent02);
    border: 1px solid var(--colorAccent02);
}

.header-menu-tel-button:hover {
    color: var(--colorAccent01);
    border-color: var(--colorAccent01);
}

@media (max-width: 767px) {
    .pc_navigation ul {
        display: flex;
        align-items: center;
    }

    .header-tel-button-container {
        margin-left: 10px;
    }

    .sp_navigation ul {
        flex-direction: column;
        align-items: center;
    }

    .header-menu-contact-button,
    .header-menu-tel-button {
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
    }

}

/* top */
#top {
    position: relative;
}
.lp-takaraduka-top {
    width: 100%;
    overflow: hidden;
    background: url(../../../images/lp/takaraduka/main-visual-bg.jpg);
    background-size: cover;
    padding-bottom: 80px;
    opacity: 0;
    animation: clipExpand 1s ease forwards, fadeInBg 1s ease forwards;
    animation-delay: 1.5s, 0.5s;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-top {
        padding-bottom: 64px;
        clip-path: polygon(100% 0, 100% calc(100% - 64px), 50% 100%, 0 calc(100% - 64px), 0 0);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-top {
        padding-bottom: 40px;
        clip-path: polygon(100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px), 0 0);
    }
}

.lp-takaraduka-top-container {
    position: relative;
    width: 100%;
    padding: 80px;
    transition: all 0.5s;
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-top-container {
        padding: 40px 20px;
    }
}
.lp-takaraduka-top-main-message {
    position: relative;
    margin-bottom: 16px;
    transform-origin: left;
    transform: scaleX(0);
    animation: expandRight 0.5s ease-out 0.5s forwards;
}

.lp-takaraduka-top-main-message > div {
    width: 100%;
}

.lp-takaraduka-top-main-message > div > div {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    overflow: hidden;
    font-size: 2rem;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-top-main-message > div > div {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-top-main-message > div > div {
        font-size: 1.25rem;
    }
}

.lp-takaraduka-top-main-message > div > div > div {
    position: relative;
    background-color: var(--colorWhite);
    border-radius: 8px;
    overflow: hidden;
}

.lp-takaraduka-top-main-message > div > div > div > div {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, transparent 0%, #ffffff 0%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    animation: bgWipe 0.5s ease forwards;
    animation-delay: 1.5s;
}

.lp-takaraduka-top-main-message > div > div > div h2 {
    display: inline-block;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.12em;
    padding: 12px 24px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-top-main-message > div > div > div h2 {
        padding: 9px 24px;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-top-main-message > div > div > div h2 {
        padding: 7.5px 24px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-top-main-message > div > div > div h2 {
        padding: 6.25px 16px;
    }
}

.lp-takaraduka-top-main-message > div > div > div h2 span {
    color: var(--colorAccent02);
}
.lp-takaraduka-top-sub-message {
    position: relative;
    transform-origin: left;
    transform: scaleX(0);
    animation: expandRight 0.5s ease-out 0.5s forwards;
}

.lp-takaraduka-top-sub-message > div {
    width: 100%;
}

.lp-takaraduka-top-sub-message > div > div {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    overflow: hidden;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-top-sub-message > div > div {
        font-size: 1rem;
    }
}

.lp-takaraduka-top-sub-message > div > div > div {
    position: relative;
    overflow: hidden;
}

.lp-takaraduka-top-sub-message > div > div > div > div {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, transparent 0%, #15D6A0 0%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    animation: bgWipe 0.5s ease forwards;
    animation-delay: 1.5s;
}

.lp-takaraduka-top-sub-message > div > div > div h3 {
    font-size: 1.5rem;
    color: var(--colorAccent02);
    font-weight:bold;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-top-sub-message > div > div > div h3 {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-top-sub-message > div > div > div h3 {
        font-size: 1rem;
    }
}

.lp-takaraduka-top-introduction {
    position: relative;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-top-introduction {
        
    }
}
@media screen and (max-width: 428px) {

}
.lp-takaraduka-top-introduction-container{
    position:relative;
    width:60%;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
    .lp-takaraduka-top-introduction-container{
        width:100%;
    }
}
@media screen and (max-width: 428px) {
    .lp-takaraduka-top-introduction-container{
        width:80%;
    }
}
.lp-takaraduka-top-introduction-contents {
    background: #fff;
    border-radius: 12px;
    text-align: center;
    line-height: 1.5;
    margin: 0 auto;
    padding: 20px;
}

.lp-takaraduka-top-introduction-contents span {
    font-size: 0.875rem;
    font-weight: 400;
}

.lp-takaraduka-top-introduction-sougei {
    position: absolute;
    top: -100px;
    right: -100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--colorWhite);
    box-shadow:0 1px rgba(0, 0, 0, .1);
}
.lp-takaraduka-top-introduction-sougei img {
    width: 42px;
}

.lp-takaraduka-top-introduction-sougei p {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-top-introduction-sougei {
        top: -60px;
        right: -60px;
        width: 100px;
        height: 100px;
    }
    .lp-takaraduka-top-introduction-sougei img {
        width: 30px;
    }
    .lp-takaraduka-top-introduction-sougei p {
        font-size: 1rem;
    }
}
@media screen and (max-width: 768px) {
    .lp-takaraduka-top-introduction-sougei {
        top: -40px;
        right: -40px;
        width: 80px;
        height: 80px;
    }
    .lp-takaraduka-top-introduction-sougei img {
        width: 20px;
    }
    .lp-takaraduka-top-introduction-sougei p {
        font-size: 0.75rem;
    }
}
.lp-takaraduka-top-image{
    position:relative;
    z-index:1000;
    padding-top: 20px;
    margin-bottom:-20px;
    text-align:center;
}
.lp-takaraduka-top-image > div > picture{
    display:block;
}
.lp-takaraduka-top-image-piano {
    position: absolute;
    left: 40px;
    top: -200px;
    width: 291px;
}
.lp-takaraduka-top-image-children{
    position:relative;
    z-index:1001;
    width: 500px;
    margin: 0 auto;
}
.lp-takaraduka-top-image-music01,
.lp-takaraduka-top-image-music02{
    position:absolute;
    z-index:1002;
    width:35%;
}
.lp-takaraduka-top-image-music01{
    left: 0;
    top: calc(50% - 90px);
    transform:rotate(-10deg);
}
.lp-takaraduka-top-image-music02{
    right:0;
    top: calc(50% - 46px);
    transform:rotate(4deg);
}
.lp-takaraduka-top-image-music01 > img,
.lp-takaraduka-top-image-music02 > img{
    opacity:60%;
}
@media screen and (max-width: 1200px) {
    .lp-takaraduka-top-image{
        padding-top: 20px;
        margin-bottom:-20px;
    }
    .lp-takaraduka-top-image-piano {
        left: 0px;
        top: -180px;
        width: 250px;
    }
    .lp-takaraduka-top-image-children{
        width: 420px;
    }
    .lp-takaraduka-top-image-music01,
    .lp-takaraduka-top-image-music02{
        width:30%;
    }
    .lp-takaraduka-top-image-music01{
        top: calc(50% - 40px);
    }
    .lp-takaraduka-top-image-music02{
        top: calc(50% - 26px);
    }

}
@media screen and (max-width: 1024px) {
    .lp-takaraduka-top-image-piano {
        top: -150px;
    }
}
@media screen and (max-width: 880px) {
    .lp-takaraduka-top-image-piano {
        top: -80px;
    }
}
@media screen and (max-width: 768px) {
    .lp-takaraduka-top-image-piano {
        top: -50px;
        width: 180px;
    }
    .lp-takaraduka-top-image-children{
        width: 300px;
    }
    .lp-takaraduka-top-image-music01{
        top: calc(50% - 30px);
    }
    .lp-takaraduka-top-image-music02{
        top: calc(50% - 0px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-top-image-piano {
        top: -50px;
        width: 180px;
    }
    .lp-takaraduka-top-image-children{
        width: 300px;
    }
    .lp-takaraduka-top-image-music01{
        top: calc(50% - 30px);
    }
    .lp-takaraduka-top-image-music02{
        top: calc(50% - 0px);
    }
}
.lp-takaraduka-top-status{
    background-color: var(--colorWhite);
    border-radius:1.25rem;
}
.p-takaraduka-top-status-title{
    color:var(--colorAccent02);
}
.p-takaraduka-top-status-table{
    border-collapse: separate;
    border-spacing: .5rem;
}
.p-takaraduka-top-status-table th,
.p-takaraduka-top-status-table td{
    padding:.5rem;
    vertical-align:middle;
    text-align:center;
    height:4rem;
    font-size:1rem;
}
.p-takaraduka-top-status-table thead th{
    background:var(--colorBase02);
}
.p-takaraduka-top-status-table tbody th{
    background:var(--colorBase02);
    width:9rem;
}
.p-takaraduka-top-status-table .color-lp-takaraduka-status-ok{
    font-size:1.25rem;
    color:var(--colorAccent02);
}

@media screen and (max-width: 428px) {
    .p-takaraduka-top-status-table th,
    .p-takaraduka-top-status-table td{
        font-size:.75rem;
    }
    .p-takaraduka-top-status-table tbody th{
        width:4rem;
    }
    .p-takaraduka-top-status-table .color-lp-takaraduka-status-ok{
        font-size:1rem;
    }
}

.lp-takaraduka-top-triangle {
    width: 100%;
    height: auto;
    fill: var(--colorAccent01);
    transform: translateY(-1px);
    background: var(--colorWhite);
}

/* offer */
.lp-takaraduka-offer {
    position: relative;
    top: -2px;
    padding: 80px;
    background:var(--colorWhite);
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer {
        padding: 80px 24px;
    }
}

.lp-takaraduka-offer-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.lp-takaraduka-offer-container h3 {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-offer-container h3 {
        font-size: 20px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-container h3 {
        font-size: 16px;
    }
}

.lp-takaraduka-offer-container h3 span {
    color: var(--colorAccent02);
}

.lp-takaraduka-offer-worries {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 40px;
    column-gap: 40px;
    margin: 64px 0;
    transition: all 0.5s;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-worries {
        row-gap: 12px;
        column-gap: 12px;
        margin: 48px 0;
    }
}

.lp-takaraduka-offer-worries p {
    background: var(--colorBase01);
    border-radius: 16px;
    font-weight: 600;
    text-align: center;
    padding: 16px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-offer-worries p {
        font-size: 0.875rem;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-worries p {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 12px 0;
        width: calc(50% - 12px);
        min-height: 7.125em;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-worries p {
        font-size: 12px;
        border-radius: 8px;
    }
}

.lp-takaraduka-offer-image {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
}

.lp-takaraduka-offer-image picture {
    width: 100px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image picture {
        width: 80px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image picture {
        width: 60px;
    }
}

.lp-takaraduka-offer-image picture:first-of-type {
    position: absolute;
    top: 25%;
    left: calc(10% - 50px);
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image picture:first-of-type {
        left: calc(10% - 40px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image picture:first-of-type {
        left: calc(10% - 30px);
    }
}

.lp-takaraduka-offer-image picture:nth-of-type(2) {
    position: absolute;
    top: 50%;
    left: calc(22.5% - 50px);
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image picture:nth-of-type(2) {
        left: calc(22.5% - 40px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image picture:nth-of-type(2) {
        left: calc(22.5% - 30px);
    }
}

.lp-takaraduka-offer-image picture:nth-of-type(3) {
    position: absolute;
    top: 10%;
    left: calc(35% - 50px);
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image picture:nth-of-type(3) {
        left: calc(35% - 40px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image picture:nth-of-type(3) {
        left: calc(35% - 30px);
    }
}

.lp-takaraduka-offer-image picture:nth-of-type(4) {
    position: absolute;
    top: 10%;
    right: calc(35% - 50px);
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image picture:nth-of-type(4) {
        right: calc(35% - 40px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image picture:nth-of-type(4) {
        right: calc(35% - 30px);
    }
}

.lp-takaraduka-offer-image picture:nth-of-type(5) {
    position: absolute;
    top: 50%;
    right: calc(22.5% - 50px);
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image picture:nth-of-type(5) {
        right: calc(22.5% - 40px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image picture:nth-of-type(5) {
        right: calc(22.5% - 30px);
    }
}

.lp-takaraduka-offer-image picture:nth-of-type(6) {
    position: absolute;
    top: 25%;
    right: calc(10% - 50px);
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image picture:nth-of-type(6) {
        right: calc(10% - 40px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image picture:nth-of-type(6) {
        right: calc(10% - 30px);
    }
}

.lp-takaraduka-offer-image-ship {
    position: relative;
    z-index: 2;
    width: 120px;
    margin: 48px 0;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-offer-image-ship {
        width: 100px;
        margin: 64px 0 32px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-offer-image-ship {
        margin: 80px 0 40px;
    }
}
/* service */
.lp-takaraduka-service{
    position:relative;
    background:var(--colorBase04);
    padding: 80px 0;
    opacity: 0;
    animation: clipExpand 1s ease forwards, fadeInBg 1s ease forwards;
    animation-delay: 1.5s, 0.5s;
}
.lp-takaraduka-service-main{
    padding-left: 80px;
    padding-right:80px;
    padding-bottom: 40px;
}
.lp-takaraduka-service-servicelist{
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.lp-takaraduka-service-servicelist-li-header,
.lp-takaraduka-service-servicelist-li_lg-header{
    position:relative;
    display:inline-block;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:1.5rem;
}
.lp-takaraduka-service-servicelist-li-header-title,
.lp-takaraduka-service-servicelist-li_lg-header-title{
    display:inline-block;
    color:var(--colorAccent02);
    font-weight:bold;
    padding: 0;
}
.lp-takaraduka-service-servicelist-li_lg-header-target,
.lp-takaraduka-service-servicelist-li-header-target{
    position: absolute;
    top: 50%;
    bottom: auto;
    transform:translate(0,-50%);
    min-width:150px;
    padding: .5rem 1.5rem;
    background:#fff;
    border-radius:2.5rem;
}
.lp-takaraduka-service-servicelist-li_lg-header-target{
    right: -12rem;
}
.lp-takaraduka-service-servicelist-li-header-target{
    right: -13.5rem;
}
.lp-takaraduka-service-servicelist-li-header-target::after,
.lp-takaraduka-service-servicelist-li_lg-header-target::after{
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: -1.25rem;
    transform:translateY(-50%);
    border: .5rem solid transparent;
    border-right: 1rem solid #fff;
}
.lp-takaraduka-service-servicelist-li_lg-box,
.lp-takaraduka-service-servicelist-li-box{
    background:var(--colorWhite);
    border-radius: 16px;
    padding: 2.5rem;
}
.lp-takaraduka-service-servicelist-li_lg-box{
    border: 1rem solid;
    border-color:var(--colorBase02); 
}
.lp-takaraduka-service-servicelist-li-box{
    max-width: 738px;
    margin:0 auto;
    border: 1px solid var(--colorBase03);
}
.lp-takaraduka-service-servicelist-li_lg-box > p,
.lp-takaraduka-service-servicelist-li-box > p{
    margin-top: 1rem;
}
.lp-takaraduka-service-servicelist-li_lg-box > p:first-child,
.lp-takaraduka-service-servicelist-li-box > p:first-child{
    margin-top: 0;
}
@media screen and (max-width:768px) {
    .lp-takaraduka-service-main{
        padding-left: 40px;
        padding-right:40px;
    }
    .lp-takaraduka-service-servicelist{
        gap: 2rem;
    }
    .lp-takaraduka-service-servicelist-li-header,
    .lp-takaraduka-service-servicelist-li_lg-header{
        display:block;
    }
    .lp-takaraduka-service-servicelist-li-header-title{
        padding-bottom: 3rem;
    }
    .lp-takaraduka-service-servicelist-li_lg-header-title{
        padding-bottom: 4rem;
    }
    .lp-takaraduka-service-servicelist-li_lg-header-target,
    .lp-takaraduka-service-servicelist-li-header-target{
        right: 50%;
        top: auto;
        bottom: 0;
        transform:translate(50%,0);
        padding: .25rem 1rem;
    }
    .lp-takaraduka-service-servicelist-li-header-target::after,
    .lp-takaraduka-service-servicelist-li_lg-header-target::after{
        top: -1rem;
        left: 50%;
        transform:translate(-50%,0);
        border: .5rem solid transparent;
        border-bottom: .5rem solid var(--colorWhite);
    }
    .lp-takaraduka-service-servicelist-li_lg-box,
    .lp-takaraduka-service-servicelist-li-box{
        padding: 1.25rem;
    }
    .lp-takaraduka-service-servicelist-li_lg-box{
        border: .5rem solid;
        border-color:var(--colorBase02); 
    }
}
.lp-takaraduka-service-img01,
.lp-takaraduka-service-img02,
.lp-takaraduka-service-img03{
    position:absolute;
}
.lp-takaraduka-service-img01{
    width:150px;
    bottom:100px;
    left: 80px;
}
.lp-takaraduka-service-img02{
    width:100px;
    top: 40px;
    left: 80px;
}
.lp-takaraduka-service-img03{
    width:200px;
    top: 80px;
    right: 40px;
}
@media screen and (max-width:768px) {
    .lp-takaraduka-service-img01{
        width:75px;
        bottom:60px;
    }
    .lp-takaraduka-service-img02{
        width:50px;
        left: 40px;
    }
    .lp-takaraduka-service-img03{
        width:100px;
        top: 40px;
    }
}
/* support */
.lp-takaraduka-support{
    background:var(--colorWhite);
}
.lp-takaraduka-support-header h2{
    color: var(--colorAccent02);
}
.lp-takaraduka-support-text > p{
    margin-top: 1rem;
}
.lp-takaraduka-support-text > p:first-child{
    margin-top: 0;
}
.lp-takaraduka-support-image{
    display: flex;
    gap: 2.5rem;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.lp-takaraduka-support-image-box{
    position:relative;
    z-index:1;
    width: 360px;
    height: 360px;
}
.lp-takaraduka-support-image-box:after{
    display:block;
    content:"";
    position:absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%, -50%);
    z-index:1;
    width: 360px;
    height: 360px; 
    background-color: var(--colorBase01);
    border-radius: 50%;
}
.lp-takaraduka-support-image-box-title,
.lp-takaraduka-support-image-box-text{
    position:relative;
    z-index:2;
}
.lp-takaraduka-support-image-box-title{
    padding-top: 5rem;
    font-weight:bold;
    font-size:1.25rem;
}
.lp-takaraduka-support-image-box-text{
    padding-top:1.5rem;
}
.lp-takaraduka-support-image-box-img01,
.lp-takaraduka-support-image-box-img02{
    z-index:2;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform:translateX(-50%);
}
.lp-takaraduka-support-image-box-img01{
    width:260px;
}
.lp-takaraduka-support-image-box-img02{
    width:280px;
}
.lp-takaraduka-support-image-arrow-img{
    width:108px;
    margin: 1.25rem auto 0;
}
@media screen and (max-width:1024px) {
    .lp-takaraduka-support-image-box,
    .lp-takaraduka-support-image-box:after{
        width: 300px;
        height: 300px;
    }
    .lp-takaraduka-support-image-box-title{
        font-size:1rem;
        padding-top: 4rem;
    }
    .lp-takaraduka-support-image-box-text{
        padding-top:.5rem;
    }
    .lp-takaraduka-support-image-box-img01{
        width:200px;
    }
    .lp-takaraduka-support-image-box-img02{
        width:220px;
    }
    .lp-takaraduka-support-image-arrow-img{
        width:80px;
        margin: 1rem auto 0;
    }
}
@media screen and (max-width:768px) {
    .lp-takaraduka-support-image{
        display: flex;
        gap: 2rem;
        flex-direction: column;
    }
    .lp-takaraduka-support-image-box,
    .lp-takaraduka-support-image-box:after{
        width: 300px;
        height: 300px;
    }
    .lp-takaraduka-support-image-box-title{
        font-size:1rem;
        padding-top: 4rem;
    }
    .lp-takaraduka-support-image-box-text{
        padding-top:.5rem;
    }
    .lp-takaraduka-support-image-box-img01{
        width:200px;
    }
    .lp-takaraduka-support-image-box-img02{
        width:220px;
    }
    .lp-takaraduka-support-image-arrow-img{
        width:80px;
        margin: 1rem auto 0;
        transform:rotate(90deg);
    }
}
/* abount */
.lp-takaraduka-about {
    width: 100%;
    padding: 120px 0;
    background:var(--colorBase01);
}

.lp-takaraduka-about-header-image {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 40px 80px;
    margin: 40px auto;
    background: #fff;
    border-radius: 16px;
    border: 1px solid var(--colorBase03);
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-header-image {
        width: 80%;
        flex-direction: column;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-header-image {
        width: 100%;
        padding: 40px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-header-image {
        padding: 16px;
    }
}

.lp-takaraduka-about-header-image-contents {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-header-image-contents {
        width: 40%;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-header-image-contents {
        width: 60%;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-header-image-contents {
        width: 80%;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-header-image-contents {
        width: 100%;
    }
}

.lp-takaraduka-about-header-image-contents img {
    width: 100%;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    border-radius: 8px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-header-image-contents img {
        border-radius: 8px;
    }
}

.lp-takaraduka-about-header-image-contents p {
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}

.lp-takaraduka-about-header-image-arrow {
    position: relative;
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-header-image-arrow {
        width: 100%;
        flex-direction: row-reverse;
        justify-content: center;
    }
}

.lp-takaraduka-about-header-image-arrow p {
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    background: var(--colorBase02);
    border-radius: 8px;
    padding: 8px 16px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-header-image-arrow p {
        font-size: 0.75rem;
    }

    .lp-takaraduka-about-header-image-arrow p:last-of-type {
        position: absolute;
        left: calc(50% - 310px);
    }

    .lp-takaraduka-about-header-image-arrow p:nth-last-of-type(2) {
        position: absolute;
        right: calc(50% - 280px);
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-header-image-arrow p:last-of-type {
        left: calc(50% - 220px);
    }

    .lp-takaraduka-about-header-image-arrow p:nth-last-of-type(2) {
        right: calc(50% - 220px);
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-header-image-arrow p:last-of-type {
        left: calc(50% - 190px);
    }

    .lp-takaraduka-about-header-image-arrow p:nth-last-of-type(2) {
        right: calc(50% - 190px);
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-header-image-arrow p:last-of-type {
        left: calc(50% - 160px);
        bottom: -40px;
    }

    .lp-takaraduka-about-header-image-arrow p:nth-last-of-type(2) {
        right: calc(50% - 160px);
        top: 10px;
    }
}

.lp-takaraduka-about-header-image-arrow img {
    width: 120px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-header-image-arrow img {
        width: 100px;
        rotate: 90deg;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-header-image-arrow img {
        margin: 24px 0;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-header-image-arrow img {
        width: 64px;
        margin: 32px 0;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-header-image-arrow img {
        margin: 72px 0 40px;
    }
}

/* IT療育 */
.lp-takaraduka-about-it-ryoiku {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 0 120px;
    margin-top: 80px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-it-ryoiku {
        padding: 0 64px;
        margin-top: 64px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-it-ryoiku {
        padding: 0 32px;
    }
}

.lp-takaraduka-about-it-ryoiku h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--colorAccent02);
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-it-ryoiku h3 {
        font-size: 1.25rem;
    }
}

.lp-takaraduka-about-it-ryoiku-kyosan {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 0 24px;
    margin-top: 40px;
}

.lp-takaraduka-about-it-ryoiku-kyosan h4 {
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center;
    color: var(--colorAccent01);
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-it-ryoiku-kyosan h4 {
        font-size: 1rem;
    }
}

.lp-takaraduka-about-it-ryoiku-kyosan-teachers {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    background: var(--colorWhite);
    border-radius: 16px;
    border: 1px solid var(--colorBase03);
    padding: 40px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-it-ryoiku-kyosan-teacher {
        width: 100%;
        gap: 24px;
        flex-direction: column;
        padding: 24px;
    }
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher > div {
    flex: 1;
    display: flex;
    gap: 20px;
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher > p {
    flex-grow: 1;
    text-align:left;
    font-size: 1.125rem;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-it-ryoiku-kyosan-teacher > p {
        font-size: 1rem;
    }
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher-img {
    display: flex;
    align-items: center;
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher-img img {
    width: 160px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-it-ryoiku-kyosan-teacher-img img {
        width: 120px;
    }
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher-text {
    width: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-it-ryoiku-kyosan-teacher-text {
        width: 100%;
    }
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher-text p {
    text-align:left;
    line-height: 1.4;
}

.lp-takaraduka-about-it-ryoiku-kyosan-teacher-text p:first-of-type {
    font-weight: 700;
    margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-it-ryoiku-kyosan-teacher-text p {
        font-size: 0.875rem;
    }
}

/* point */

.lp-takaraduka-about-point-head span {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--colorBase02);
}

.lp-takaraduka-about-point-head.one {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 40px;
}

.lp-takaraduka-about-point-head.two {
    margin-left: calc(50% - 540px);
    margin-bottom: 40px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-head.two {
        margin-left: 128px;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-head.two {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: 0;
        text-align: center;
    }
}

.lp-takaraduka-about-point-head.two span {
    margin-left: 48px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-head.two span {
        margin-left: 0;
    }
}

.lp-takaraduka-about-point-head.three {
    margin-left: calc(50% - 120px);
    margin-bottom: 40px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-head.three {
        margin-left: calc(50% - 360px);
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-head.three {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: 0;
        text-align: center;
    }
}

.lp-takaraduka-about-point-head.three span {
    margin-left: 48px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-head.three span {
        margin-left: 0;
    }
}

.lp-takaraduka-about-point-heading {
    display: flex;
    align-items: center;
    gap: 16px;
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-point-heading {
        flex-direction: column;
    }
}

.lp-takaraduka-about-point-heading h2 {
    font-size: 20px;
    font-weight: 700;
}

.lp-takaraduka-about-point-heading div {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--colorAccent02);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 0.5;
    text-align: center;
    color: var(--colorWhite);
    
}
.lp-takaraduka-about-point-one-bg-contents,
.lp-takaraduka-about-point-two-bg-contents,
.lp-takaraduka-about-point-three-bg-contents {
    background: var(--colorBase02);
}

.lp-takaraduka-about-point-one-bg-area {
    width: calc(50% + 420px);
    margin-left: auto;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-one-bg-area {
        width: calc(100% - 24px);
    }
}

.lp-takaraduka-about-point-one-bg-container {
    width: 100%;
}

.lp-takaraduka-about-point-one-bg-contents {
    width: 100%;
    border-radius: 24px 0 0 24px;
    padding: 40px 80px 150px 40px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-one-bg-contents {
        padding: 48px 48px 170px;
    }
}

.lp-takaraduka-about-point-one-bg-contents div {
    width: 900px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-one-bg-contents div {
        width: 100%;
    }
}

.lp-takaraduka-about-point-one-bg-contents div p {
    margin-top: 1rem;
}
.lp-takaraduka-about-point-one-bg-contents div p:first-child {
    margin-top: 0;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-one-bg-contents div p {
        font-size: 0.875rem;
    }
}

.lp-takaraduka-about-point-one-bg-out-contents {
    position: relative;
    top: -140px;
    left: calc(-50% + 430px);
    display: flex;
    max-width: 1280px;
    margin: 0 auto;
    gap: 8%;
    padding: 0 48px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-one-bg-out-contents {
        left: calc(-50% + 410px);
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-one-bg-out-contents {
        left: 0;
        gap: 16px;
        padding: 0 48px;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-one-bg-out-contents {
        flex-direction: column;
    }
}

.lp-takaraduka-about-point-one-bg-out-contents-item {
    width: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-one-bg-out-contents-item {
        width: 30%;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-one-bg-out-contents-item {
        width: 32%;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-one-bg-out-contents-item {
        width: calc(100% - 24px);
    }
}

.lp-takaraduka-about-point-one-bg-out-contents-item div {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-one-bg-out-contents-item div {
        width: 80%;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-point-one-bg-out-contents-item div {
        width: 110%;
    }
}

.lp-takaraduka-about-point-one-bg-out-contents-item div img {
    width: 100%;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    border-radius: 16px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-one-bg-out-contents-item div img {
        border-radius: 12px;
    }
}

.lp-takaraduka-about-point-one-bg-out-contents-item ul {
    list-style: square;
}

.lp-takaraduka-about-point-one-bg-out-contents-item p {
    padding: 0 12px;
}

.lp-takaraduka-about-point-two-bg-area {
    width: 100%;
    position: relative;
}

.lp-takaraduka-about-point-two-image {
    position: absolute;
    top: -120px;
    right: calc(50% - 600px);
    width: 400px;
    aspect-ratio: 5 / 3;
    object-fit: cover;
    border-radius: 16px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-two-image {
        aspect-ratio: 5 / 3;
        width: 360px;
        right: 128px;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-two-image {
        top: 32px;
        right: 64px;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-two-image {
        width: calc(100% - 120px);
    }
}

.lp-takaraduka-about-point-two-bg-container {
    width: calc(50% + 520px);
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-two-bg-container {
        width: calc(100% - 80px);
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-two-bg-container {
        width: calc(100% - 24px);
    }
}

.lp-takaraduka-about-point-two-bg-contents {
    width: 100%;
    border-radius: 0 24px 24px 0;
    padding: 40px 360px 40px 80px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-two-bg-contents {
        padding: 120px 48px 80px;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-two-bg-contents {
        padding: 280px 48px 80px;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-two-bg-contents {
        padding: 60% 48px 80px;
    }
}

.lp-takaraduka-about-point-two-bg-contents div {
    width: 700px;
    margin-left: auto;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-two-bg-contents div {
        width: auto;
        margin-left: 80px;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-two-bg-contents div {
        margin-left: 24px;
    }
}

.lp-takaraduka-about-point-three-bg-area {
    width: calc(50% + 420px);
    margin-left: auto;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-three-bg-area {
        width: calc(100% - 24px);
    }
}

.lp-takaraduka-about-point-three-bg-container {
    width: 100%;
    margin-bottom: -140px;
}

.lp-takaraduka-about-point-three-bg-contents {
    position: relative;
    width: 100%;
    border-radius: 24px 0 0 24px;
    padding: 40px 80px 200px 300px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-three-bg-contents {
        padding: 120px 48px 170px;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-three-bg-contents {
        padding: 32px 48px 170px;
    }
}

.lp-takaraduka-about-point-three-bg-contents div {
    width: 680px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-three-bg-contents div {
        width: 100%;
    }
}

.lp-takaraduka-about-point-three-image {
    position: absolute;
    top: -120px;
    left: -140px;
    width: 400px;
    aspect-ratio: 5 / 3;
    object-fit: cover;
    border-radius: 16px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-about-point-three-image {
        left: auto;
        right: 120px;
        width: 360px;
    }
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-three-image {
        position: static;
        margin-bottom: 16px;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-three-image {
        width: 100%;
    }
}

.lp-takaraduka-about-point-one {
    margin-top: 140px;
}

.lp-takaraduka-about-point-two {
    position: relative;
    margin-top: 20px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-two {
        margin-top: 0;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-two {
        top: -40px;
    }
}

.lp-takaraduka-about-point-three {
    margin-top: 160px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-about-point-three {
        margin-top: 120px;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-about-point-three {
        margin-top: 80px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-about-point-three {
        margin-top: 60px;
    }
}
/* special */
.lp-takaraduka-special{
    padding-top: 0;
    background:var(--colorBase01);
}
.lp-takaraduka-special-explanation{
    position:relative;
    margin: 0 100px;
}
.lp-takaraduka-special-explanation-block{
    position:relative;
    margin-right:20%;
    padding:40px 150px 40px 40px;
    border-radius:24px;
    background: var(--colorBase02);
}
.lp-takaraduka-special-explanation-block > p {
    text-align:left;
    margin-top: 1rem;
}
.lp-takaraduka-special-explanation-block > p:first-child {
    margin-top: 0;
}
.lp-takaraduka-special-explanation > picture{
    position:absolute;
    top: -100px;
    right: -80px;
    width:373px;
}
.lp-takaraduka-special-explanation > picture >img{
    width: 100%;
    object-fit: cover;
    border-radius: 16px;
}
@media screen and (max-width: 1024px) {
    .lp-takaraduka-special-explanation{
        margin: 0 auto;
    }
    .lp-takaraduka-special-explanation > picture{
        top: -50px;
        right: 0;
        width:280px;
    } 
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-special-explanation-block{
        margin-right:25%;
        padding:40px 150px 40px 40px;
    }
    .lp-takaraduka-special-explanation > picture{
        top: 40px;
        right: 0;
        width:240px;
    } 
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-special-explanation-block{
        margin-right:0;
        padding:200px 40px 40px 40px;
    }
    .lp-takaraduka-special-explanation > picture{
        top: 20px;
        right: calc(50% - 120px);
        width:240px;
    }
}

/* flow */
.lp-takaraduka-flow-wupper{
    background:var(--colorBase01);
}
.lp-takaraduka-flow-upper-image {
    margin-bottom: -10px;
}
.lp-takaraduka-flow{
    background: var(--colorBase02);
}

.lp-takaraduka-flow-main-schedule {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.lp-takaraduka-flow-main-schedule > div .tab-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.lp-takaraduka-flow-main-schedule > div .tab-menu > div {
    width:100%;
    padding: 17px 20px;
    border-radius: 150px;
    background-color: var(--colorWhite);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-flow-main-schedule > div .tab-menu > div {
        width: 84%;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .tab-menu > div {
        padding: calc(8vw / 3.75) calc(10vw / 3.75);
        margin-top: calc(40vw / 3.75);
        width: 98%;
    }
}

.lp-takaraduka-flow-main-schedule > div .tab-menu > div button {
    width: 49%;
    text-align: center;
    padding: 10px 0;
    border-radius: 150px;
    color: var(--colorAccent02);
    transition: all 0.1s ease-in;
    font-weight: 700;
}

.lp-takaraduka-flow-main-schedule > div .tab-menu > div button.active {
    color: var(--colorWhite);
    background-color: var(--colorAccent02);
}

.lp-takaraduka-flow-main-schedule > div .tab-menu > div button.active:hover {
    opacity: 1;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .tab-menu > div button {
        padding: calc(15vw / 3.75) 0;
        line-height: 1.4;
    }

    .lp-takaraduka-flow-main-schedule > div .annotation {
        margin-top: calc(27vw / 3.75);
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table {
    padding: 30px;
    background-color: var(--colorWhite);
    display: flex;
    flex-wrap: wrap;
    border-radius: 20px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table {
        padding: 30px 20px;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table {
        margin-top: calc(30vw / 3.75);
        padding: calc(20vw / 3.75) 20px;
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column {
    padding: 20px;
    text-align: left;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column {
        padding: 10px 12px 10px 3px;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column {
        padding: calc(15vw / 3.75) calc(4vw / 3.75);
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li {
    display: flex;
    justify-content: space-between;
    height: 80px;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li {
        height: calc(63vw / 3.75);
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li.image-row {
    height: 140px;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li.image-row {
        height: calc(111.5vw / 3.75);
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li.big-image-row {
    height: 170px;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li.big-image-row {
        height: calc(130vw / 3.75);
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .time {
    width: 20%;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color:var(--colorText);
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .time {
        width: 30%;
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .time:after {
    content: "";
    width: 2px;
    height: 100%;
    background-color: var(--colorText);
    position: absolute;
    top: 0;
    right: 0;
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .time:before {
    content: "";
    width: 15px;
    height: 15px;
    background: var(--colorText);
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -6.5px;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .time:before {
        right: -3px;
        width: 8px;
        height: 8px;
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .activity {
    width: 80%;
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    letter-spacing: 1;
}
.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li:nth-child(even) .activity{
    background:var(--colorBase04);
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .activity picture {
    display: inline-flex;
    justify-content: center;
}

@media only screen and (min-width: 1025px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .activity picture {
        max-width: 42%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .activity picture {
        max-width: 42%;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .activity picture {
        max-width: 100%;
    }

    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .activity {
        width: 70%;
        padding: calc(13vw / 3.75) calc(11vw / 3.75);
    }

    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li .activity img {
        margin-top: calc(6vw / 3.75);
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li:first-child > .time:after {
    bottom: 0;
    top: inherit;
    height: 50%;
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li:last-child > .time:after {
    height: 50%;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline li:last-child.image-row .activity {
        padding-bottom: calc(30vw / 3.75);
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline.right-aria li {
    flex-direction: row-reverse;
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline.right-aria li .time:after {
    right: inherit;
    left: 0;
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline.right-aria li .time:before {
    left: -6.5px;
    right: inherit;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline.right-aria li .time:before {
        left: -3px;
    }
}

.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline.blue li .time:after,
.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline.blue li .time:before {
    background: var(--colorText);
}
.lp-takaraduka-flow-main-schedule > div .schedule-table .column .timeline.blue li:nth-child(even) .activity{
    background:var(--colorAccent03);
}

/* guide */
.lp-takaraduka-guide {
    background:var(--colorWhite);
}

.lp-takaraduka-guide-itemcontainer{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-guide-itemcontainer {
        align-items: flex-start;
        gap: 24px;
    }
}

.lp-takaraduka-guide-itemcontainer img {
    width: 48px;
    height: 48px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-guide-itemcontainer img {
        margin: 0 auto;
    }
}

.lp-takaraduka-guide-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-guide-item {
        gap: 24px;
    }
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-guide-item {
        align-items: flex-start;
    }
}

.lp-takaraduka-guide-item p {
    text-align: center;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-guide-item p {
        text-align: left;
    }
}

.lp-takaraduka-guide-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-guide-title {
        flex-direction: column;
        align-items: flex-start;
    }
}

.lp-takaraduka-guide-title span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background: var(--colorAccent02);
    border-radius: 50%;
    font-size: 20px;
    font-weight: 500;
    color: var(--colorWhite);
    text-align: center;
    line-height: 0.5;
}

@media screen and (max-width: 1280px) {
    .lp-takaraduka-guide-title span {
        font-size: 1rem;
    }
}

.lp-takaraduka-guide-title h3 {
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-guide-title h3 {
        text-align: left;
    }
}

/* price */

.lp-takaraduka-price {
    width: 100%;
    background: var(--colorBase04);
    padding: 100px 0 120px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-price {
        padding: 64px 0 80px;
    }
}

.lp-takaraduka-price-container {
    align-items: center;
    background:var(--colorWhite);
    border-radius: 16px;
    padding: 40px 80px 64px;
    margin: 0 64px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-price-container {
        padding: 40px 48px 64px;
        margin: 0 32px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-price-container {
        padding: 40px 24px 64px;
        margin: 0 24px;
    }
}
.lp-takaraduka-price-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

.lp-takaraduka-price-description {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.lp-takaraduka-price-description > p {
    text-align:left;
}

.lp-takaraduka-price-contents {
    display: flex;
    justify-content: center;
    gap: 16px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-price-contents {
        flex-wrap: wrap;
    }
}

.lp-takaraduka-price-contents .lp-takaraduka-price-item {
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-price-contents .lp-takaraduka-price-item {
        flex-direction: row;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-price-contents .lp-takaraduka-price-item {
        width: 100%;
    }
}

.lp-takaraduka-price-contents .lp-takaraduka-price-item .top {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 120px;
    width: 152px;
    background: var(--colorBase04);
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-price-contents .lp-takaraduka-price-item .top {
        width: 50%;
    }
}

.lp-takaraduka-price-contents .lp-takaraduka-price-item .top p {
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 8px;
}

.lp-takaraduka-price-contents .lp-takaraduka-price-item .top span {
    font-size: 0.75rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.4;
}

.lp-takaraduka-price-contents .lp-takaraduka-price-item .under {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 120px;
    width: 152px;
    background: var(--colorBase01);
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-price-contents .lp-takaraduka-price-item .under {
        width: 50%;
    }
}

.lp-takaraduka-price-contents .lp-takaraduka-price-item .under p {
    font-size: 0.875rem;
    font-weight: 400;
    text-align: center;
}

.lp-takaraduka-price-contents .lp-takaraduka-price-item .under span {
    font-size: 1.5rem;
    font-weight: 700;
    margin-right: 4px;
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-price-contents .lp-takaraduka-price-item .under span {
        font-size:1.25rem;
    }
}

/* access */

.lp-takaraduka-access {
    background: var(--colorBase01);
}

.lp-takaraduka-access-infomation {
    background-color: var(--colorWhite);
    border-radius: 16px;
    text-align:left;
}

.lp-takaraduka-access-infomation h3 {
    font-size: 1rem;
    font-weight: 700;
    margin-top: 1rem;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-access-infomation h3 {
        font-size: 0.875rem;
    }
}

.lp-takaraduka-access-infomation p {
    margin-top: 1rem;
    text-align:left;
}

.lp-takaraduka-access-infomation .upper {
    padding: 40px 40px 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-access-infomation .upper {
        padding: calc(45vw / 3.75) calc(25vw / 3.75) 0;
    }
}

.lp-takaraduka-access-infomation .upper .images {
    width: 47%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .upper .images {
        width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-access-infomation .upper .images {
        width: 100%;
    }
}
.lp-takaraduka-access-infomation .upper .images .slider-arrow{
    background:var(--colorAccent02);
}
.lp-takaraduka-access-infomation .upper .images .selection {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
}

.lp-takaraduka-access-infomation .upper .images .selection::-webkit-scrollbar {
    display: none;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .upper .images .selection {
        width: 20%;
        flex-wrap: wrap;
        align-content: space-between;
    }
}

.lp-takaraduka-access-infomation .upper .images .selection button {
    width: 23%;
    aspect-ratio: 16 / 10;
    background-color: var(--colorBase01);
    position: relative;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .upper .images .selection button {
        width: auto;
        height: 23%;
    }
}

.lp-takaraduka-access-infomation .upper .images .selection button img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.lp-takaraduka-access-infomation .upper .images .selection button:after {
    content: "";
    width: 0;
    height: 5px;
    border-radius: 2px;
    background: var(--colorAccent02);
    position: absolute;
    bottom: -7px;
    left: 0;
    right: 0;
    margin: auto;
    transition: width 0.1s ease-in, height 0.1s ease-in;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .upper .images .selection button:after {
        left: inherit;
        right: -20px;
        bottom: 0;
        top: 0;
        width: 5px;
        height: 0;
    }
}

.lp-takaraduka-access-infomation .upper .images .selection button.active:after {
    width: 100%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .upper .images .selection button.active:after {
        width: 5px;
        height: 100%;
    }
}

.lp-takaraduka-access-infomation .upper .map {
    width: 47%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .upper .map {
        width: 100%;
        margin-top: 20px;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-access-infomation .upper .map {
        width: 100%;
        margin-top: calc(28vw / 1.75);
    }
}

.lp-takaraduka-access-infomation .under {
    padding: 0 40px 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .under {
        padding-bottom: 45px;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-access-infomation .under {
        margin-top: calc(30vw / 3.75);
        padding-bottom: 45px;
    }

    .lp-takaraduka-access-infomation .under .MuiTypography-body2 {
        font-size: calc(14vw / 3.75);
    }
}

.lp-takaraduka-access-infomation .under .left-aria {
    width: 47%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .under .left-aria {
        width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-access-infomation .under .left-aria {
        width: 100%;
    }
}

.lp-takaraduka-access-infomation .under .right-aria {
    width: 47%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-access-infomation .under .right-aria {
        width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-access-infomation .under .right-aria {
        width: 100%;
    }
}

/* contact */
.lp-takaraduka-contact {
    width: 100%;
    padding: 100px 0 120px;
    background: var(--colorWhite);
}

.lp-takaraduka-contact-container {
    background: var(--colorBase01);
    border-radius: 16px;
    padding: 40px 80px 64px;
    margin: 0 64px;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-contact-container {
        padding: 40px 48px 64px;
        margin: 0 32px;
    }
}

@media screen and (max-width: 428px) {
    .lp-takaraduka-contact-container {
        padding: 40px 24px 64px;
        margin: 0 24px;
    }
}
.lp-takaraduka-contact-main {
    width:100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.lp-takaraduka-contact-contents {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.lp-takaraduka-contact-form{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align:left;
}
.lp-takaraduka-contact-form-item .cf7-form-group{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 1.5rem;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
}
.lp-takaraduka-contact-form-item .cf7-required-badge {
    display: inline-block;
    background-color: var(--colorAccent02);
    color:var(--colorWhite);
    font-size: 0.75rem;
    font-weight: normal;
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    margin-left: 0.5rem;
    vertical-align: middle;
    order: 1;
}

.lp-takaraduka-contact-form-item input {
    width: 100%;
    background: var(--colorWhite);
    border: 1px solid var(--colorBase03);
    border-radius: 8px;
    outline: none;
    font-size: 1rem;
    padding: 8px 16px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-contact-form-item input {
        font-size: 0.875rem;
        padding: 6px 12px;
    }
}

.lp-takaraduka-contact-form-item input:focus {
    border: 1px solid var(--colorBase03);
}

.lp-takaraduka-contact-form-item input::placeholder {
    color: #bbb;
    font-weight:500;
}

.lp-takaraduka-contact-form-item input[type='submit'] {
    display:inline-block;
    width:auto;
    margin: 0 auto;
    padding: 16px 40px;
    border:none;
    border-radius: 16px;
    background: var(--colorAccent02);
    text-align: center;
    font-weight: bold;
    color: var(--colorWhite);
    cursor: pointer;
}
.lp-takaraduka-contact-form-item input[type='submit']:hover {
    opacity: 0.7;
    transition: all 0.5s;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-contact-form-item input[type='submit'] {
        font-size: 0.875rem;
    }
}

.lp-takaraduka-contact-form-item .select-block {
    width: 100%;
    position: relative;
}
.wpcf7-spinner {
    display: none !important;
}

.lp-takaraduka-contact-form-item .select-block:after {
    content: "";
    position: absolute;
    top: calc(50% - 6px);
    right: 24px;
    width: 10px;
    height: 10px;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
    pointer-events: none;
}

.lp-takaraduka-contact-form-item select {
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    background: var(--colorWhite);
    border: 1px solid var(--colorBase03);
    border-radius: 8px;
    outline: none;
    font-size: 1rem;
    padding: 8px 16px;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-contact-form-item select {
        font-size: 0.875rem;
        padding: 6px 12px;
    }
}

.lp-takaraduka-contact-form-item select:focus {
    border: 1px solid var(--colorAccent02);
}

.lp-takaraduka-contact-form-item select:invalid {
    color: #bbb;
}

.lp-takaraduka-contact-form-item select option:first-child {
    color: #bbb;
}

.lp-takaraduka-contact-form-item textarea {
    width: 100%;
    height: 20em;
    background: var(--colorWhite);
    border: 1px solid var(--colorBase03);
    border-radius: 8px;
    outline: none;
    font-size: 1rem;
    padding: 8px 16px;
    resize: vertical;
}

@media screen and (max-width: 960px) {
    .lp-takaraduka-contact-form-item textarea {
        font-size: 0.875rem;
        padding: 6px 12px;
    }
}

.lp-takaraduka-contact-form-item textarea:focus {
    border: 1px solid var(--colorAccent02);
}

.lp-takaraduka-contact-form-item textarea::placeholder {
    color: #bbb;
}
.lp-takaraduka-contact-form-item .confirmation-label {
    color: var(--colorAccent02);
    font-size: 1rem;
}
.lp-takaraduka-contact-form-item .confirmation-value {
    font-size: 1rem;
    font-weight:normal;
}
@media screen and (max-width: 960px) {
    .lp-takaraduka-contact-form-item .confirmation-label {
        font-size: 0.875rem;
    }
    .lp-takaraduka-contact-form-item .confirmation-value {
        font-size: 0.875rem;
    }
}

/* company */
.lp-takaraduka-company{
    background:var(--colorBase01);
}
.lp-takaraduka-company-table {
    background:var(--colorWhite);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lp-takaraduka-company-table {
        width: 90%;
    }
}

@media only screen and (max-width: 767px) {
    .lp-takaraduka-company-table {
        width: 90%;
    }
}

.lp-takaraduka-company-table tr {
    text-align: left;

}

.lp-takaraduka-company-table tr th {
    width: 30%;
    padding: 20px 20px 20px 8%;
    font-weight: 700;
}

.lp-takaraduka-company-table tr td {
    padding: 20px;
}

.lp-takaraduka-company-table tr.second-line td,
.lp-takaraduka-company-table tr.second-line th {
    padding-top: 0;
}

@media only screen and (max-width: 767px) {
   .lp-takaraduka-company-table {
        margin-top: 32px;
    }

    .lp-takaraduka-company-table tr th {
        width: 40%;
        padding: calc(22vw / 3.75) 0 calc(22vw / 3.75) 7%;
        font-weight: 700;
    }

    .lp-takaraduka-company-table tr td {
        padding: calc(22vw / 3.75) 3%;
    }
}

/* footer */
.lp-takaraduka-footer {
    width: 100%;
    background: var(--colorText);
    padding: 40px 48px;
}

.lp-takaraduka-footer-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    color: var(--colorWhite);
}

.lp-takaraduka-footer-container span {
    font-size: 0.75rem;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-footer-container {
        flex-direction: column-reverse;
    }
}

.lp-takaraduka-footer-space {
    width: 150px;
}

@media screen and (max-width: 768px) {
    .lp-takaraduka-footer-space {
        display: none;
    }
}

.lp-takaraduka-footer-links {
    align-self: flex-end;
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: 14px;
}

.lp-takaraduka-footer-links img {
    width: 40px;
}

/*  */
:root {
  --swiper-theme-color: var(--colorBase01);
  --swiper-wrapper-transition-timing-function: initial;
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-bullet-width: var(--swiper-pagination-bullet-size, 8px);
  --swiper-pagination-bullet-height: var(--swiper-pagination-bullet-size, 8px);
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-right: 8px;
  --swiper-pagination-left: auto;
  --swiper-pagination-bullet-vertical-gap: 6px;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0, 0, 0, 0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-centered-offset-before: initial;
  --swiper-centered-offset-after: initial;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translateZ(0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border-radius: 50%;
  border: 4px solid var(--swiper-preloader-color);
  border-top: 4px solid transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s linear infinite;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(1turn);
  }
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: opacity 0.3s;
  transform: translateZ(0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom);
  top: var(--swiper-pagination-top);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width);
  height: var(--swiper-pagination-bullet-height);
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius);
  background: var(--swiper-pagination-bullet-inactive-color);
  opacity: var(--swiper-pagination-bullet-inactive-opacity);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity);
  background: var(--swiper-pagination-color);
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right);
  left: var(--swiper-pagination-left);
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: transform 0.2s, top 0.2s;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform 0.2s, left 0.2s;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: transform 0.2s, right 0.2s;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

/* 写真 */
.custom-slider-overflow-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    max-height: 350px;
    margin: 0 auto;
    max-width: none;
    background-color: var(--colorBase01);
}

@media only screen and (min-width: 768px) {
  .custom-slider-overflow-wrapper {
    float: left;
    max-width: 68%;
    max-height: 436px;
  }
}

@media only screen and (min-width: 1025px) {
  .custom-slider-overflow-wrapper {
    max-width: none;
    max-height: 326px;
  }
}

.slider-image-clipper {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    padding-bottom: 56.25%;
    width: auto;
    height: 100%;
}

.custom-slider-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slider-items-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
    will-change: transform;
}

.slider-item {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slider-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.slider-item.is-landscape .slider-image {
    object-fit: cover;
}

.slider-item.is-portrait .slider-image {
    width: auto;
    height: 100%;
    object-fit: contain;
    border-radius: 0;
}

.slider-item.is-square .slider-image {
    width: auto;
    height: 100%;
    object-fit: contain;
    border-radius: 0;
}

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 20px; 
    height: 20px; 
    border-radius: 624.9375rem;
    background-color: var(--colorAccent02);
    opacity: 0.75;
    color: var(--colorWhite);
    border: none;
    cursor: pointer;
    line-height: 1;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s;
    padding: 0; 
}

.slider-arrow svg {
    width: 2rem; 
    height: 2rem;
}

.slider-arrow svg path {
  stroke: currentColor;
  stroke-width: 1.2px;
}

.prev-arrow {
    left: 0;
    transform: translateY(-50%) translateX(-140%);
}

.next-arrow {
    right: 0;
    transform: translateY(-50%) translateX(140%);
}

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

.slider-items-wrapper {
  position: relative;
}

.slider-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.slider-item.active {
  opacity: 1;
  z-index: 1;
}

/* 動作 */
.fadeIn_up {
  opacity: 0;
  transform: translateY(50%);
  transition: opacity 1s ease-out 2s, transform 0.5s ease-out 2s;
}

.fadeIn_up.is-show {
  transform: translateY(0);
  opacity: 1;
}

.lp-takaraduka-top-image .fadeIn_up {
  transition: opacity 1s ease-out 1.5s, transform 0.5s ease-out 1.5s;
}

@keyframes slideDown {
    from { transform: translateY(-100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes bgFade {
    from { background-color: var(--colorWhite); }
    to { background-color: rgba(255, 255, 255, 0.9); }
}

@keyframes fadeInBg {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes clipExpand {
    from { clip-path: polygon(100% 0, 100% 100%, 50% 100%, 0 100%, 0 0); }
    to { clip-path: polygon(100% 0, 100% calc(100% - 80px), 50% 100%, 0 calc(100% - 80px), 0 0); }
}

@keyframes expandRight {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

@keyframes bgWipe {
  from { background-size: 100% 100%; background-position: right; }
  to   { background-size: 0% 100%; background-position: right; }
}

.wave {
  animation: waveFloat 2s ease-in-out infinite;
  animation-delay: 2s;
}

@keyframes waveFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}
