@media screen and (max-width: 768px) {
	.-w-more_btn a, .-w-more_btn a span {
		transition: none !important;
	}
}/*widget:c5581dc1-878c-46d6-af9e-00fd9930ef0e*/[data-lib="1715"]{position: relative;
	background: #000;
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);}[data-lib="1715"] .cta-wrapper{position: relative;
	z-index: 2;}[data-lib="1715"] .cta-contents_wrapper{max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
	padding-top: 3rem;
	padding-bottom: 3rem;
	padding-left: clamp(1.5rem, 0.818rem + 2.91vw, 3rem);
	padding-right: clamp(1.5rem, 0.818rem + 2.91vw, 3rem);}[data-lib="1715"] .cta-contents_wrapper .cta-box{display: flex;
	flex-wrap: wrap-reverse;
	justify-content: center;
	align-items:stretch;
	gap: 1rem;
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;}[data-lib="1715"] .-w-left_image{width: 100%;
	display: flex;
	align-items: flex-end;
	position: relative;}[data-lib="1715"] .-w-left_image:before{content: "";
	position: absolute;
	width: 70%;
	height: auto;
	aspect-ratio: 1 / 1;
	background-color: #ffffff1f;
	border-radius: 50%;
	top: 5%;
	left: auto;
	right: 15%;}[data-lib="1715"] .-w-left_image img{width: 80%;
	margin-right: auto;
	margin-left: auto;}[data-lib="1715"] .-w-text_wrapper{width: 100%;
	text-align: center;}[data-lib="1715"] .cta-ttl{font-size: clamp(1.5rem, 0.972rem + 2.25vw, 3rem);
	text-align: center;
	font-weight: 900;
	line-height: 1.25;
	padding-bottom: 1.5rem;
	letter-spacing: 0.15rem;
	color: #fff;}[data-lib="1715"] p.cta-subcopy{color: #fff;
	font-size: 1rem;
	line-height: 1.65;
	text-align: center;}[data-lib="1715"] .cta-subcopy span.attn{font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
	display: inline-block;
	padding-bottom: 0.5rem;
	color: #fdff6c;
	color: #d4af37;
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.06rem;
	text-align: center;
	width: 100%;}[data-lib="1715"] p.cta-btn-copy{color: #fff;
	font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
	padding-bottom: 1rem;}[data-lib="1715"] .cta-btn{text-align: center;
	border-radius: 1rem;
	padding: 1rem 1rem 0;}[data-lib="1715"] .cta-btn a{background: linear-gradient(270deg, #ffffff 0%, #fde047 100%);
	background: linear-gradient(135deg, var(--i-red-color) 0%, var(--i-orange-color) 100%);
	max-width: 640px;
	display: inline-block;
	border-radius: 50px;
	padding: 1rem clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
	transition: 0.3s all;
	box-shadow: 4px 4px 4px #390100;
	width: 100%;}[data-lib="1715"] .cta-btn a:hover{opacity: 0.7;}[data-lib="1715"] .cta-btn .sub{color: #fdff6c;
	font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
	padding-right: 0.2rem;}[data-lib="1715"] .cta-sub-ttl{position: relative;
	font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
	display: inline-block;
	font-weight: 900;
	letter-spacing: 0.06rem;
	text-align: center;
	color: #fff;
	padding: 10px;
	margin-bottom: 15px;
	line-height: 1.45;}[data-lib="1715"] .cta-sub-ttl:before{content: "";
	position: absolute;
	width: 20px;
	height: 15px;
	background-color: var(--i-dark-color);
	clip-path: polygon(100% 0, 40% 0, 0 100%);
	top: 100%;
	left: calc(50% - 10px);}[data-lib="1715"] .cta-sub-ttl .skew{background-color: var(--i-dark-color);
	transform: skew(-6deg);}@media (min-width: 769px){[data-lib="1715"] .-w-contents_wrapper{justify-content: center;
	gap: 0 30px;}[data-lib="1715"] .-w-left_image{width: calc(30% - 1rem);
	display: flex;
	align-items: flex-end;}[data-lib="1715"] .-w-left_image img{width: 100%;}[data-lib="1715"] p.cta-subcopy{padding-bottom: 2rem;}[data-lib="1715"] .-w-text_wrapper{width: 70%;}[data-lib="1715"] .cta-btn{text-align: center;
	border-radius: 1rem;
	padding: 0rem 1rem 0;}[data-lib="1715"] .cta-btn a{padding: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);}[data-lib="1715"] .-w-more_btn a{width: 100%;
	padding: min(20px, 4vw);}}[data-instance="1202"]::before{position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	width: 50%;
	height: 50%;
	background-color: #000;
	filter: blur(9vw);
	transform: translate(-50%, -50%);
	z-index: 1;}[data-instance="1202"]::after{position: fixed;
	content: "";
	top: -3px;
	right: -3px;
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	background-image: url(/_img/ja/cms/1202/img_background/_/session//);
	background-size: cover;
	background-position: center;
	filter: blur(3px);
	opacity: 0.3;}[data-instance="1177"]::before{position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	width: 50%;
	height: 50%;
	background-color: #000;
	filter: blur(9vw);
	transform: translate(-50%, -50%);
	z-index: 1;}[data-instance="1177"]::after{position: fixed;
	content: "";
	top: -3px;
	right: -3px;
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	background-image: url(/_img/ja/cms/1177/img_background/_/session//);
	background-size: cover;
	background-position: center;
	filter: blur(3px);
	opacity: 0.3;}/*widget:943721d7-4bf5-4bf2-bb89-773911540906*/[data-lib="1685"]{position: relative;
	overflow: hidden;
	padding: 80px 0;
	background: #111111;
	color: #fff;
	position: relative;}[data-lib="1685"] .support-wrapper{max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	position: relative;
	padding-left: clamp(1.5rem, 0.818rem + 2.91vw, 3rem);
	padding-right: clamp(1.5rem, 0.818rem + 2.91vw, 3rem);}[data-lib="1685"] .support-wrapper:before{content: "";
	position: absolute;
	width: 70%;
	height: 70%;
	background-color: rgb(0 145 230 / 30%);
	background-color: rgb(230 0 18 / 0.3);
	top: 15%;
	left: 15%;
	filter: blur(100px);
	z-index: 1;
	opacity: 0.5;}[data-lib="1685"] .support-ttl{font-weight: 900;
	text-align: center;
	margin-bottom: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
	font-size: clamp(1.875rem, 1.611rem + 1.13vw, 2.625rem);
	position: relative;
	z-index: 2;}[data-lib="1685"] .support-text{margin-bottom: clamp(2rem, 1.824rem + 0.75vw, 2.5rem);
	font-size: 1rem;
	text-align: center;
	position: relative;
	z-index: 2;}[data-lib="1685"] .support-contents{display: flex;
	flex-wrap: wrap;
	gap: clamp(1.5rem, 1.273rem + 0.97vw, 2rem);
	position: relative;
	z-index: 2;}[data-lib="1685"] .support-contents .support-contents-box{background: rgb(9 9 9 / 50%);
	width: 100%;
	position: relative;
	padding: 1rem;
	border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
	box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
	backdrop-filter: blur(1px);}[data-lib="1685"] .support-img{position: relative;
	border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
	background-color: #404b5a;
	aspect-ratio: 2.5 / 1;
	overflow: hidden;}[data-lib="1685"] .support-img-bg{mix-blend-mode: color;
	background: linear-gradient(45deg, rgb(134 0 10 / 20%) 40%, transparent);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
	z-index: 1;}[data-lib="1685"] .support-contents .support-contents-box:nth-of-type(even) .support-img-bg{background: linear-gradient(45deg, rgb(254 112 36 / 25%) 40%, transparent);}[data-lib="1685"] .support-contents-box img{object-fit: cover;
	mix-blend-mode: luminosity;
	opacity: 0.65;
	border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
	width: 100%;
	height: 100%;
	object-position: center 35%;}[data-lib="1685"] .support-contents .support-contents-box:nth-of-type(3){object-position: center 65%;}[data-lib="1685"] .support-contents .support-contents-box .support-box-ttl{position: relative;
	width: fit-content;
	z-index: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 1rem 0.5rem 0.5rem;
	font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);}[data-lib="1685"] .support-contents .support-contents-box .support-box-ttl p{font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
	font-weight: 900;
	margin: 0;
	color: #e60012;}[data-lib="1685"] .support-contents .support-contents-box:nth-of-type(even) .support-box-ttl p{color: #ff581e;}[data-lib="1685"] .support-contents .support-contents-box .support-box-text{width: 100%;
	text-align: left;}[data-lib="1685"] br.-w-sp{display: none;}[data-lib="1685"] span.support-attn{font-size: 0.85rem;
	color: #6b7280;}@media (min-width: 769px){[data-lib="1685"] .support-contents .support-contents-box .support-box-text{text-align: center;}[data-lib="1685"] .support-contents .support-contents-box{width: calc(50% - 1rem);}[data-lib="1685"] .support-contents .support-contents-box:nth-of-type(3) .support-img-bg{background: linear-gradient(45deg, rgb(254 112 36 / 25%) 40%, transparent);}[data-lib="1685"] .support-contents .support-contents-box:nth-of-type(4) .support-img-bg{background: linear-gradient(45deg, rgb(134 0 10 / 20%) 40%, transparent);}[data-lib="1685"] .support-contents .support-contents-box:nth-of-type(3) .support-box-ttl p{color: #ff581e;}[data-lib="1685"] .support-contents .support-contents-box:nth-of-type(4) .support-box-ttl p{color: #e60012;}}/*layout:2*/li {
    list-style-type: none;
}
a {
    text-decoration: none;
    color: #000;
}
h1 {
    text-align: center;
}
body {
    font-family: A1 Gothic REVERT;
    font-weight: 600;
    font-style: normal;
}/*PAGE*/:root {
    --i-dark-color: #111;
    --i-border-color: #e5e7eb;
    --i-red-color: #e60012;
    --i-red-bg-30: rgb(230 0 18 / 0.3);
    --i-border-red: rgb(230 0 18 / 0.5);
    --i-orange-color: #ff581e;
    --i-orange-bg-30: rgb(254 112 36 / 0.3);
    --i-border-orange: rgb(254 112 36 / 0.5);
    --i-gold-color: #d4af37;
    --i-gold-bg-30: rgb(212 175 55 / 0.3);
    --i-border-gold: rgb(212 175 55 / 0.5);
    --i-gray-color: #4b5563;
    --i-gray-light-color: #d1d5db;
    --i-gray-bg-color: #f5f7fa;
    --i-gray-bg-color: #ebedf2;
}

*,
::after,
::before {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: var(--i-border-color);
}

:host,
html {
    line-height: 1.625;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    background-color: #fff;
    color: var(--i-dark-color);
    overflow-x: hidden;
    font-family: "Noto Sans JP", sans-serif;
    font-feature-settings: "palt";
    letter-spacing: 0.02rem;
}

li {
    list-style-type: none;
}

a {
    text-decoration: none;
    color: var(--i-dark-color);
}

h1 {
    text-align: center;
}

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

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

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

b,
strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

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

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
}

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

fieldset {
    margin: 0;
    padding: 0
}

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
}

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

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

/* Reveal Animation */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/*animation*/
.animate-float {
    animation: float 6s ease-in-out infinite
}

@keyframes float {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0);
    }
}

/* Custom Gradients & Textures */
.bg-gradient-brand {
    background: linear-gradient(135deg, var(--i-red-color) 0%, var(--i-orange-color) 100%);
}

.bg-gradient-gold {
    background: linear-gradient(135deg, var(--i-gold-color) 0%, #F2D675 100%);
}

.bg-gradient-dark {
    background: linear-gradient(to bottom, var(--i-dark-color), #0a0a0a);
}

/* Button */
.btn-rich {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.btn-rich:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(230, 0, 18, 0.4), inset 0 -2px 0 rgba(0, 0, 0, 0.2);
}

.btn-rich:active {
    transform: translateY(1px);
    box-shadow: 0 2px 10px var(--i-red-bg-30), inset 0 2px 0 rgba(0, 0, 0, 0.2);
}

.btn-rich::before {
    content: "→";
    left: auto;
    right: 30px;
    position: absolute;
}

header.fixed a.btn-rich {
    padding: 1rem 1.5rem;
    gap: 0.5rem;
    width: 100%;
    max-width: 360px;
    min-height: 60px;
}

header .btn-rich::before {
    right: 10px;
}

.btn-rich::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.7), transparent);
    transform: skewX(-25deg);
    transition: 0.7s;
}

.btn-rich:hover::after {
    left: 150%;
}

.mv-btn.btn-rich::before {
    right: 18px;
}

@media (min-width: 769px) {

    .mv-btn.btn-rich::before {
        right: 30px;
    }

}

@media (max-width: 768px) {
    .fixed .btn-rich {
        opacity: 1 !important;
        padding-right: 30px;
    }
}

/*rule*/
.pointer-events-none {
    pointer-events: none
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.inset-0 {
    inset: 0px
}

.top-0 {
    top: 0px
}

.top-4 {
    top: 1rem
}

.bottom-0 {
    bottom: 0px
}

.left-0 {
    left: 0px
}

.left-4 {
    left: 1rem
}

.right-0 {
    right: 0px
}

.z-50 {
    z-index: 50
}

.-z-10 {
    z-index: -10
}

.z-0 {
    z-index: 0
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-10 {
    margin-bottom: clamp(2rem, 1.824rem + 0.75vw, 2.5rem);
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-6 {
    margin-bottom: clamp(1rem, 0.824rem + 0.75vw, 1.5rem)
}

.mt-2 {
    margin-top: 0.5rem
}

.mt-6 {
    margin-top: 1.5rem
}

.block {
    display: block;
}

.inline-block {
    display: inline-block
}

.flex {
    display: flex
}

.grid {
    display: grid
}

.aspect-video {
    aspect-ratio: 16 / 9
}

.h-5 {
    height: 1.25rem
}

.h-16 {
    height: 4rem
}

.h-20 {
    height: 5rem
}

.h-24 {
    height: 6rem
}

.h-full {
    height: 100%
}

.w-full {
    width: 100%
}

.w-4 {
    width: 1rem
}

.w-16 {
    width: 4rem
}

.w-20 {
    width: 5rem
}

.w-24 {
    width: 6rem
}

.w-3 {
    width: 0.75rem
}

.w-5 {
    width: 1.25rem
}

.max-w-7xl {
    max-width: 80rem
}

.max-w-3xl {
    max-width: 48rem
}

.max-w-4xl {
    max-width: 56rem
}

.cursor-default {
    cursor: default
}

.list-none {
    list-style-type: none
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.flex-col {
    flex-direction: column
}

.items-center {
    align-items: center;
}

.justify-end {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-6 {
    gap: clamp(1rem, 0.824rem + 0.75vw, 1.5rem)
}

.gap-8 {
    gap: clamp(1.5rem, 1.273rem + 0.97vw, 2rem)
}

.overflow-hidden {
    overflow: hidden
}

.rounded-full {
    border-radius: 9999px
}

.rounded-2xl {
    border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem)
}

.rounded-lg {
    border-radius: 0.5rem
}

.border {
    border-width: 1px
}

.border-4 {
    border-width: 4px
}

.border-b {
    border-bottom-width: 1px
}

.border-b-2 {
    border-bottom-width: 2px
}

.border-b-4 {
    border-bottom-width: 4px
}

.border-l-2 {
    border-left-width: 2px
}

.border-l-4 {
    border-left-width: 4px
}

.border-t {
    border-top-width: 1px
}

.border-orange {
    border-color: var(--i-orange-color);
}

.border-orange-50 {
    border-color: var(--i-border-orange);
}

.border-brand-gold {
    border-color: var(--i-gold-color);
}

.border-brand-gold-50 {
    border-color: var(--i-border-gold);
}

.border-brand-red {
    border-color: var(--i-red-color);
}

.border-brand-red-50 {
    border-color: var(--i-border-red);
}

.border-gray-100 {
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1))
}

.border-gray-200 {
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))
}

.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.bg-transparent {
    background-color: transparent
}

.bg-brand-red {
    background-color: var(--i-red-color)
}

.bg-brand-red-10 {
    background-color: rgb(230 0 18 / 0.1)
}

.bg-brand-red-30 {
    background-color: var(--i-red-bg-30);
}

.bg-orange {
    background-color: var(--i-orange-color);
}

.bg-orange-30 {
    background-color: var(--i-orange-bg-30);
}

.bg-orange-15 {
    background-color: rgb(254 112 36 / 15%);
}

.bg-brand-dark {
    background-color: var(--i-dark-color);
}

.bg-brand-gold {
    background-color: var(--i-gold-color);
}

.bg-brand-gold-10 {
    background-color: rgb(212 175 55 / 0.1)
}

.bg-brand-gold-30 {
    background-color: var(--i-gold-bg-30)
}

.bg-brand-gray {
    background-color: var(--i-gray-bg-color)
}

.bg-gray-100 {
    background-color: rgb(243 244 246);
}

.bg-gray-900 {
    background-color: rgb(17 24 39);
}

.bg-red-100 {
    transform: skew(-6deg);
    background-color: #ffdacd;
}

h2 span:has(.bg-red-100) {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.bg-white-90 {
    background-color: rgb(255 255 255 / 0.9)
}

.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops))
}

.bg-gradient-to-tl {
    background-image: linear-gradient(to top left, var(--tw-gradient-stops))
}

.bg-gradient-to-tr {
    background-image: linear-gradient(to top right, var(--tw-gradient-stops))
}

.bg-grid-pattern {
    background: repeating-linear-gradient(135deg, #000000, #000000 5px, #fff 5px, #fff 7px);
    opacity: 0.01;
}

.bg-hero-pattern {
    background-position: top;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 10%, rgba(0, 0, 0, 0.9)), url(/agency/mv_background.jpg);
}

@media (min-width: 769px) {
    .bg-hero-pattern {
        background-position: top;
        background: linear-gradient(-90deg, rgba(0, 0, 0, 0.35) 10%, rgba(0, 0, 0, 0.95) 80%), url(/agency/mv_background.jpg);
    }

}

.from-black-80 {
    background: linear-gradient(0deg, #525252, transparent);
}

.from-orange {
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    background: linear-gradient(270deg, var(--i-gold-color) 0%, var(--i-orange-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.from-brand-black {
    --tw-gradient-from: #0a0a0a var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(10 10 10 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-brand-dark {
    --tw-gradient-from: var(--i-dark-color) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(17 17 17 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-brand-gold {
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    background: linear-gradient(270deg, var(--i-gold-color) 0%, #fde047 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.from-brand-red {
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    background: linear-gradient(270deg, var(--i-orange-color) 0%, var(--i-red-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.from-brand-red-20 {
    --tw-gradient-from: rgb(230 0 18 / 0.2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(230 0 18 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-white {
    --tw-gradient-from: #fff var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.to-brand-gold {
    --tw-gradient-to: var(--i-gold-color);
}

.to-transparent {
    --tw-gradient-to: transparent var(--tw-gradient-to-position)
}

.to-yellow-300 {
    --tw-gradient-to: #fde047 var(--tw-gradient-to-position)
}

.bg-cover {
    background-size: cover
}

.bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text
}

.bg-no-repeat {
    background-repeat: no-repeat
}

.object-cover {
    object-fit: cover
}

.p-10 {
    padding: 2.5rem
}

.p-2 {
    padding: 0.5rem
}

.p-4 {
    padding: 1rem
}

.p-6 {
    padding: 1.5rem
}

.p-8 {
    padding: 1.5rem;
}

@media (min-width: 769px) {
    .p-8 {
        padding: 2rem
    }
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.px-8 {
    padding-left: 2rem;
    padding-right: 2rem
}

.px-12 {
    padding-left: 3rem;
    padding-right: 3rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.py-24 {
    padding-top: clamp(3rem, 1.636rem + 5.82vw, 6rem);
    padding-bottom: clamp(3rem, 1.636rem + 5.82vw, 6rem)
}

.pl-4 {
    padding-left: 1rem
}

.pl-6 {
    padding-left: 1.5rem
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.font-oswald {
    font-family: "Oswald", sans-serif
}

.text-2xl {
    font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
    line-height: 2rem
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 3rem
}

.text-5xl {
    font-size: 3rem;
    line-height: 1
}

.text-7xl {
    font-size: clamp(3.5rem, 3.148rem + 1.5vw, 4.5rem);
    line-height: 1
}

.text-xs {
    font-size: 0.75rem;
    line-height: 1rem
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.font-black {
    font-weight: 900
}

.font-bold {
    font-weight: 700
}

.uppercase {
    text-transform: uppercase
}

.leading-tight {
    line-height: 1.45
}

.tracking-widest {
    letter-spacing: 0.1em
}

.text-orange {
    color: var(--i-orange-color);
}

.text-brand-red {
    color: var(--i-red-color);
}

.text-white {
    --tw-text-opacity: 1;
    color: #fff;
}

.text-brand-black {
    color: var(--i-dark-color);
}

.text-brand-gold {
    color: var(--i-gold-color);
}

.text-gray {
    color: var(--i-gray-color);
}

.text-gray-light {
    color: var(--i-gray-light-color);
}

.text-transparent {
    color: transparent
}

.underline {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline
}

.underline-offset-4 {
    text-underline-offset: 4px
}

.opacity-0 {
    opacity: 0
}

.opacity-10 {
    opacity: 0.1
}

.opacity-5 {
    opacity: 0.05
}

.opacity-50 {
    opacity: 0.5
}

.opacity-90 {
    opacity: 0.9
}

.mix-blend-overlay {
    mix-blend-mode: overlay
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.shadow-md {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.shadow-xl {
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}

.transition-colors {
    transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}

.delay-200 {
    transition-delay: 200ms
}

.duration-300 {
    transition-duration: 300ms
}

.duration-500 {
    transition-duration: 500ms
}

.duration-700 {
    transition-duration: 700ms
}

@media (min-width: 640px) {
    .sp-row {
        flex-direction: row
    }
}

@media (min-width: 769px) {

    .md-tab-flex {
        display: flex
    }

    .md-tab-w-1-2 {
        width: 50%
    }

    .md-tab-grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .md-tab-flex-row {
        flex-direction: row
    }

    .md-tab-flex-row-reverse {
        flex-direction: row-reverse
    }

    .md-tab-px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }

    .md-tab-px-12 {
        padding-left: 3rem;
        padding-right: 3rem
    }

    .md-tab-text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }
}

@media (min-width: 1024px) {
    .tab-w-2-5 {
        width: 40%
    }

    .tab-w-3-5 {
        width: 60%
    }

    .tab-grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .tab-flex-row {
        flex-direction: row
    }

    .tab-flex-row-reverse {
        flex-direction: row-reverse
    }

    .tab-p-12 {
        padding: 3rem
    }
}

/*sp/pc only*/
br.pc-br {
    display: none;
}

.pc-only {
    display: none;
}

@media (min-width: 769px) {
    br.sp-br {
        display: none;
    }

    br.pc-br {
        display: block;
    }

    .pc-only {
        display: block;
    }

    .sp-only {
        display: none;
    }
}

/*見出し-h2*/
.title-h2 {
    font-size: clamp(1.875rem, 1.611rem + 1.13vw, 2.625rem);
    line-height: 1.5
}

.text-brand-red:has(+.title-h2) {
    margin-bottom: 0.25rem;
}

/*header*/
header {
    background-color: var(--i-dark-color);
    z-index: 10000;
    transition-duration: 300ms;
    color: #fff;
    padding-top: 1rem;
    padding-bottom: 1rem;
    width: 100%;
    top: 0px;
    position: fixed;
}

.header-content {
    display: flex;
    padding-left: 1rem;
    padding-right: 1rem;
    justify-content: space-between;
    max-width: 80rem;
    align-items: center;
}

.logo a:hover .logo-text {
    opacity: .5;
}

.logo a .logo-text {
    transition: .3s ease;
}

header nav.pc-only {
    display: none;
}

.md-tab-flex {
    display: flex;
}

.hamburger-btn {
    display: block;
    background: none;
    border: none;
    cursor: pointer;
    width: 30px;
    height: 24px;
    position: relative;
    z-index: 100;
    transition: .3s;
}

.hamburger-btn span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    transition: 0.3s;
}

.hamburger-btn span:nth-child(1) {
    top: 0;
}

.hamburger-btn span:nth-child(2) {
    top: 11px;
}

.hamburger-btn span:nth-child(3) {
    bottom: 0;
}

.md-tab-flex {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: auto;
    left: 100%;
    width: 100%;
    height: 100vh;
    background: rgb(25 25 25 / 95%);
    padding: 80px 20px;
    z-index: 90;
    overflow-y: auto;
    transition: .3s ease-in-out;
    backdrop-filter: blur(2px);
}

.md-tab-flex.is-open {
    left: 0;
}

.is-open span:nth-child(1) {
    transform: translateY(11px) rotate(45deg);
}

.is-open span:nth-child(2) {
    opacity: 0;
}

.is-open span:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
}

header h1 {
  display: none;
}

@media (min-width: 769px) {
header#header {
    padding-top: 1.45rem;
}

header h1 {
    position: absolute;
    top: 0;
    font-size: 12px;
    opacity: 0.25;
    display: inline-block;
}
    .md-tab-flex {
        width: 50%;
    }

    .md-tab-flex.is-open {
        left: 50%;
    }

    .header-content {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    header nav.pc-only {
        display: flex;
    }

    .hamburger-btn {
        top: 0;
        position: relative;
    }

    .scroll_active .hamburger-btn:before {
        content: none;
    }
}

a.h-nav {
    transition: .3s ease;
}

a.h-nav:hover {
    opacity: .5;
}

header.scroll_active {
    background-color: rgb(0 0 0 / 80%);
    backdrop-filter: blur(2px);
}

span.logo-text {
    color: var(--i-red-color);
    color: var(--i-orange-color);
}



/*mv*/
#mv {
    display: flex;
    align-items: center;
    min-height: 0;
}

.mv-wrapper {
    padding: 2rem;
    padding-left: 12px;
    padding-right: 12px;
}

.mv-content {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.mv-sub-top {
    width: 50%;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.mv-content .mv-copy {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.mv-text-box-x {
    display: flex;
    align-items: center;
    padding: 0;
}

span.right-copy .font-oswald {
    font-size: 136px;
    display: inline-block;
    vertical-align: bottom;
}

.mv-copy-attn {
    font-size: 0.88rem;
    color: #fff;
    padding-bottom: 1rem;
    opacity: 0.5;
}

.mv-main-copy .left-copy {
    display: flex;
    flex-direction: column;
}

span.x-min-size.test {
    font-size: 32px;
}

p.attn-mv {
    color: #7e7e7e;
    padding-bottom: 10px;
    font-size: 0.85rem;
}

.mv-main-copy span.font-oswald {
    font-size: clamp(6.75rem, 5.045rem + 7.27vw, 10.5rem);
    display: inline-block;
}

.mv-main-copy-red span.font-oswald {
    letter-spacing: -0.5rem;
}

.mv-img {
    position: relative;
    top: auto;
    left: auto;
    margin-bottom: -60px;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    order: 3;
}

.sp-only.mv-img:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 60px;
    left: 0;
    top: auto;
    bottom: 0;
    background: linear-gradient(0deg, black 50%, transparent);
}

.mv-main-copy-w,
.mv-main-copy-red {
    text-align: center;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    background: linear-gradient(180deg, #ffffff 0%, #bebebe 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: clamp(3rem, 1.92rem + 4.61vw, 5.375rem);
    position: relative;
    z-index: 1;
}

.mv-main-copy-w {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 0;
    align-items: end;
}

.mv-main-copy-red {
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    background: linear-gradient(270deg, var(--i-orange-color) 0%, var(--i-red-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.mv-text-box {
    border: 1px solid #878787;
    border-left: none;
    border-right: none;
    padding: 0.85rem;
    background: rgba(0, 0, 0, 0.2);
    text-align: center;
    aspect-ratio: 2.5/1;
    width: 100%;
    max-width: 240px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.mv-bg-img {
    background-position: 80% top;
}

span.mv-main-copy {
    line-height: 1;
    font-size: clamp(2.25rem, 0.83rem + 6.06vw, 5.375rem);
}

.mv-box-wrapper {
    justify-content: center;
    gap: 1rem;
}

.mv-box {
    justify-content: center;
    flex-direction: column;
}

.mv-obi {
    margin-bottom: 0;
    background: transparent;
    font-size: clamp(1.25rem, 1.023rem + 0.97vw, 1.75rem);
    width: 100%;
    text-align: center;
    border: none;
    border-radius: 0;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
    color: #000000;
    backdrop-filter: none;
    background-color: #000;
    z-index: 5;
    position: relative;
    margin-top: 4rem;
    display: flex;
    overflow: hidden;
    margin-top: 50px;
}

span.mv-obi-line {
    padding-bottom: 7px;
    padding-top: 7px;
}

.mv-obi .mv-obi-sub {
    color: #ffc919;
    font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
    text-align: center;
}

.mv-sub {
    margin-bottom:clamp(1.125rem, 0.861rem + 1.13vw, 1.875rem);
    align-items: stretch;
    width: auto;
    max-width: 720px;
    padding-top: 1rem;
    background: transparent;
    margin-top: 0.5rem;
    width: 100%;
}

.mv-sub img {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.mv-cta-btn {
    color: #fff;
    margin-bottom: 10px;
    justify-content: center;
    gap: 0.5rem;
    flex-direction: column;
    max-width: 540px;
    align-items: center;
    margin-left: 0;
    margin-right: auto;
}

.mv-text-box p {
    text-align: center;
    font-size: 1rem;
}

p.mv-btn-sub,
.cta-btn-sub {
    padding: 0 2rem;
    position: relative;
    font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
    font-weight: 900;
}

.cta-btn-sub {
    color: var(--i-orange-color);
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-weight: 900;
    display: block;
    margin-bottom: 0.5rem;
}

.mobile-cta .cta-btn-sub {
    color: var(--i-red-color);
    margin-bottom: 5px;
}

p.mv-btn-sub:before,
p.mv-btn-sub:after,
.cta-btn-sub:before,
.cta-btn-sub:after {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background-color: #fff;
    transform: rotate(-45deg);
    left: 1rem;
}

p.mv-btn-sub:after,
.cta-btn-sub:after {
    transform: rotate(45deg);
    left: auto;
    right: 1rem;
}

.cta-btn-sub:before,
.cta-btn-sub:after {
    background-color: var(--i-orange-color);
}

.mobile-cta .cta-btn-sub:before,
.mobile-cta .cta-btn-sub:after {
    background-color: var(--i-red-color);
}

a.mv-btn.btn-rich {
    padding: 1rem 3.5rem;
    padding-left: clamp(1rem, 0.12rem + 3.76vw, 3.5rem);
    padding-right: clamp(2rem, 0.944rem + 4.51vw, 5rem);
    flex-wrap: wrap;
    row-gap: 0.05rem;
    text-align: center;
    width: 100%;
}

a span.cta-attn {
    font-size: 0.85rem;
    padding: 0 2rem;
    background-color: #b90007;
    border-radius: 50px;
}

.mv-arrow {
    left: auto;
    right: 10px;
    bottom: -0.5rem;
    width: clamp(1.25rem, 0.81rem + 1.88vw, 2.5rem);
    height: clamp(1.875rem, 1.215rem + 2.82vw, 3.75rem);
    z-index: 50;
    animation: bounce 1s infinite;
    position: absolute;
}

@keyframes bounce {
    0% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1)
    }

    50% {
        transform: none;
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1)
    }

    100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1)
    }
}

.mv-arrow img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.sp-only.mv-img {
    display: block;
    max-width: 420px;
}

.pc-only.mv-img {
    display: none;
}

@media (min-width: 901px) {
    .mv-content {
        margin-left: 0px;
        margin-right: 0px;
    }

    .mv-sub-top {
        margin-left: 0;
        width: 20vw;
        margin-bottom: -5px;
        max-width: 320px;
    }

    .mv-content .mv-copy {
        max-width: 640px;
        margin-left: 0;
        width: 40vw;
    }

    .mv-copy img {
        object-fit: contain;
        width: 100%;
        height: 100%;
        object-position: left;
    }

    .mv-obi {
        column-gap: 1rem;
    }

    .mv-img {
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: 0;
        max-width: 43vw;
        margin-bottom: auto;
        transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

    .mv-wrapper {
        padding: 2rem 1.5rem;
    }

    .mv-main-copy-w,
    .mv-main-copy-red {
        text-align: left;
    }

    .mv-text-box p {
        text-align: center;
        font-size: 1.125rem;
    }

    section#mv {
        height: 86vh;
        min-height: 740px;
    }

    .mv-sub {
        order: 3;
        width: 40vw;
    }

    .mv-cta-btn {
        order: 4;
        margin-bottom: auto;
    }

    .mv-arrow {
        bottom: -1rem;
        right: 8rem;
    }

    .mv-cta-btn {
        justify-content: left;
    }

    a span.cta-attn {
        padding: 0 0.85rem;
    }

    .sp-only.mv-img {
        display: none;
    }

    .pc-only.mv-img {
        display: block;
    }
}

.tab-br {
    display: none;
}

@media (min-width: 1440px) {

    section#mv {
        height: 92vh;
    }

    .mv-img {
        margin-bottom: 0;
        max-width: 40%;
    }
}


/*サービス*/
#service {
    background-color: var(--i-dark-color);
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    margin-top: -1px;
}

#service:before {
    content: "";
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url(/agency/service_img.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    filter: blur(1px);
    mix-blend-mode: luminosity;
    opacity: 0.15;
    pointer-events: none;
}

.service-wrapper {
    display: grid;
    gap: 15px;
    grid-template-areas:
        "title"
        "image"
        "text";
}

.service-img {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-area: image;
}

.service-img img {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.service-wrapper .title-h2 {
    color: #fff;
    text-align: center;
    font-weight: 900;
    grid-area: title;
}

.service-wrapper .title-h2 .from-brand-red {
    font-size: clamp(2.25rem, 1.568rem + 2.91vw, 3.75rem);
}

span.service-title-border {
    border-bottom: 1px solid var(--i-red-color);
}

span.title-small {
    font-size: clamp(1.5rem, 1.104rem + 1.69vw, 2.625rem);
}

.service-box {
    color: #fff;
    grid-area: text;
}

.service-list {
    position: relative;
    padding-left: clamp(1.5rem, 1.324rem + 0.75vw, 2rem);
    margin-bottom: 1rem;
}

.service-list:last-of-type {
    margin-bottom: 0;
}

.service-list:before {
    content: "";
    position: absolute;
    width: clamp(1.25rem, 1.162rem + 0.38vw, 1.5rem);
    height: clamp(1.25rem, 1.162rem + 0.38vw, 1.5rem);
    left: 0;
    top: 0.5rem;
    background-image: url(/agency/check.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.service-list p {
    line-height: 1.45;
}

@media (min-width: 769px) {
    .service-wrapper {
        grid-template-columns: 1fr 1.5fr;
        grid-template-areas:
            "image title"
            "image text";
    }

    .service-wrapper .title-h2 {
        text-align: left;
    }
}


/*課題*/
section#trouble {
    padding-bottom: 2rem;
}

.trouble-title-text {
    font-weight: 700;
    font-size: clamp(1.125rem, 0.993rem + 0.56vw, 1.5rem);
    padding: 0.5rem 0.8rem;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    background-color: var(--i-dark-color);
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
    color: #fff;
    position: relative;
}

.trouble-title-text:before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: var(--i-dark-color);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    top: auto;
    bottom: -15px;
    left: calc(50% - 10px);
}

#trouble .title-h2 span {
    border-bottom: 6px solid var(--i-red-color);
    border-style: double;
    padding: 0;
    line-height: 1.25;
}

.trouble-title-h3 {
    font-size: clamp(1.125rem, 0.993rem + 0.56vw, 1.5rem);
    line-height: 1.45;
}

.trouble-grid {
    gap: 1.5rem;
}

.trouble-box.reveal {
    transition-duration: 600ms;
    padding: clamp(1rem, 0.773rem + 0.97vw, 1.5rem);
}

.trouble-box .trouble-icon {
    margin-left: 0;
    margin-right: 0;
    width: 4rem;
    height: 4rem;
    margin-bottom: 0;
    background-color: #dde1e5;
    padding: 0.8rem;
    border-radius: 50%;
    position: relative;
}

.trouble-box .trouble-icon:before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: auto;
    left: auto;
    right: 0;
    bottom: 0;
    clip-path: polygon(50% 0, 0 50%, 100% 100%);
    background-color: #dde1e5;
    z-index: 0;
}

.trouble-box .trouble-icon img {
    z-index: 5;
}

.trouble-title {
    text-align: left;
    display: flex;
    gap: 1rem;
    margin-bottom: 15px;
    align-items: center;
}

.trouble-text {
    letter-spacing: -0.04rem;
}

.trouble-text-attn {
    display: inline-block;
    width: fit-content;
    font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
}

@media (min-width: 769px) {
    #trouble .trouble-text {
        text-align: left;
    }

    .trouble-text-attn {
        display: inline;
    }

}

.trouble-bottom {
    text-align: center;
    padding-top: clamp(4rem, 2.944rem + 4.51vw, 7rem);
    background-color: #fff;
    position: relative;
    padding-bottom: 4rem;
    font-weight: 700;
}

.trouble-bottom:before {
    content: "";
    position: absolute;
    background-color: var(--i-gray-bg-color);
    width: 100%;
    height: clamp(3rem, 1.636rem + 5.82vw, 6rem);
    top: 0;
    left: 0;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.trouble-bottom-text {
    font-size: clamp(2.25rem, 1.568rem + 2.91vw, 3.75rem);
    position: relative;
    line-height: 1.25;
}

span.trouble-bottom-sub {
    display: inline-block;
    width: 100%;
    font-size: clamp(1.875rem, 1.611rem + 1.13vw, 2.625rem);
}

span.trouble-bottom-red {
    color: #fff;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.trouble-bottom-text span.absolute.inset-0.bg-red-100.-skew-x-12.-z-10 {
    background-color: var(--i-red-color);
}

/*理由*/
.reason-title {
    margin-bottom: clamp(2.5rem, 1.268rem + 5.26vw, 6rem);
    font-size: clamp(2.25rem, 1.722rem + 2.25vw, 3.75rem);
    line-height: 1.45;
}

.reason-img-red {
    mix-blend-mode: color;
    background: linear-gradient(45deg, rgb(134 0 10 / 20%) 40%, transparent);
}

.reason-img-orange {
    mix-blend-mode: color;
    background: linear-gradient(45deg, rgb(0 92 134 / 20%) 40%, transparent);
    background: linear-gradient(45deg, rgb(254 112 36 / 25%) 40%, transparent);
}

.reason-img-gold {
    mix-blend-mode: color;
    background: linear-gradient(45deg, rgb(134 106 0 / 20%) 40%, transparent);
}

.reason-bg-blur {
    filter: blur(5rem);
    opacity: 0.5;
    z-index: 1;
}

.reason-list-wrapper img {
    border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
    mix-blend-mode: luminosity;
    opacity: 0.5;
}

.reason-list-wrapper.space-y-40> :not([hidden])~ :not([hidden]) {
    margin-top: 4rem;
}

.reason-list1,
.reason-list2,
.reason-list3 {
    gap: clamp(1.5rem, 1.273rem + 0.97vw, 2rem);
}

.reason-list3 {
    flex-wrap: wrap;
}

span.reason-num {
    font-size: 10rem;
    top: -5rem;
    left: auto;
    right: 0;
    color: rgb(255 255 255 / 0.05);
    -webkit-user-select: none;
    user-select: none;
}

h3.reason-list-title {
    font-size: clamp(1.5rem, 1.273rem + 0.97vw, 2rem);
    font-size: clamp(1.375rem, 1.199rem + 0.75vw, 1.875rem);
}

.reason-list1 .reason-img-box-red {
    box-shadow: 3px 3px 15px -5px #f63b3b6e;
    aspect-ratio: 4/3;
}

.reason-list2 .reason-img-box-orange {
    box-shadow: 3px 3px 15px -5px #3b82f66e;
    box-shadow: 3px 3px 15px -5px var(--i-orange-bg-30);
    aspect-ratio: 4/3
}

.reason-list1 .reason-img-box-red,
.reason-list2 .reason-img-box-orange,
.reason-list3 .reason-img-box-gold {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    z-index: 3;
}

.reason-list3 .md-tab-w-1-2 {
    width: 100%;
    z-index: 2;
}

.reason-list3 .reason-img-box-gold {
    box-shadow: 3px 3px 15px -5px #d6b13878;
    aspect-ratio: 4/3
}

.reason-img-box {
    text-align: left;
    justify-content: flex-start;
    align-items: end;
    padding: 1rem;
}

.reason-img-text-box {
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(12px);
    padding: 1rem 1.5rem;
}

.reason-img-text-box span {
    line-height: 2rem;
    margin-left: 0.15rem;
}

.reason-list3 .reason-img-text-box span {
    font-size: clamp(1.125rem, 0.993rem + 0.56vw, 1.5rem);
}

.reason-list-add {
    width: 100%;
    padding: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
    padding-bottom: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
    background-color: rgb(255 255 255 / 10%);
    border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
    z-index: 2;
}

p.reason-add-title {
    font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
    padding-bottom: 1rem;
    border-bottom: 1px solid #fff;
}


.reason-add-lineup {
    display: flex;
    row-gap: 1rem;
    column-gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
}

p.line-up {
    padding: 0.5rem 1rem;
    background-color: rgb(255 255 255 / 15%);
    border-radius: 0.5rem;
    text-align: center;
    width: calc((100% / 2) - 0.5rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

span.line-up-sub {
    display: block;
    font-size: 0.8rem;
    text-align: center;
    color: #faf7d8;
    font-weight: 400;
    padding-top: 3px;
}

.reason-list-add .reason-add-guide-img {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.reason-list-add .reason-add-guide-img img {
    opacity: 1;
}

.reason-add-wrapper {
    display: flex;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    flex-wrap: wrap;
    gap: clamp(1rem, 0.648rem + 1.5vw, 2rem);
}

.reason-add-box {
    display: flex;
    justify-content: space-between;
    background-color: rgb(25 24 19 / 50%);
    padding: 1rem;
    border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    flex-direction: column;
}

.reason-add-box:before {
    content: "";
    position: absolute;
    width: auto;
    height: 80%;
    aspect-ratio: 1 / 1;
    top: 10%;
    left: 10px;
    right: auto;
    background: url(/agency/add_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.3;
}

.reason-add-box>p {
    position: relative;
}

.reason-add-box-img,
.reason-add-box-text {
    width: 100%;
}

.reason-list-wrapper .reason-list-add .reason-add-box-img img {
    border-radius: 0;
    mix-blend-mode: inherit;
    opacity: 1;
    max-width: 80px;
    margin-left: auto;
    margin-right: auto;
}

p.reason-add-box-sub {
    position: relative;
    padding-left: 12px;
}

p.reason-add-box-sub:before {
    content: "";
    position: absolute;
    width: 8px;
    left: 0;
    height: 1px;
    top: calc(50% - 0.5px);
    background-color: #fff;
}

p.reason-add-box-title {
    font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
    color: var(--i-gold-color);
    letter-spacing: -0.02rem;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

span.reason-add-point {
    font-size: 0.7rem;
    padding: 0 0.1rem;
}

p.reason-add-text {
    font-weight: 500;
}

.reason-list-wrapper .relative {
    z-index: 5;
}

@media (min-width: 769px) {
    .reason-list-wrapper.space-y-40> :not([hidden])~ :not([hidden]) {
        margin-top: 6rem;
    }

    span.reason-num {
        left: -3rem;
        top: -8rem;
    }

    .reason-list1 .reason-img-box-red,
    .reason-list2 .reason-img-box-orange,
    .reason-list3 .reason-img-box-gold {
        aspect-ratio: 16/9;
        max-width: max-content;
    }


    .reason-list3 .md-tab-w-1-2 {
        width: calc(50% - 1.5rem);
    }

    .reason-list-wrapper .relative {
        height: auto;
    }

    .reason-list-wrapper .p-8 {
        padding: 20px;
    }

    p.line-up {
        padding: 0.5rem 1.5rem;
        width: auto;
        min-width: calc((100% / 5) - 3rem);
    }

    .reason-add-box {
        width: calc(50% - 1rem);
        padding-left: 80px;
    }

    .reason-add-box-img {
        width: 30%;
    }

    .reason-add-box-text {
        width: 67%;
    }

}

/*実績*/
.client-cases-title-skew {
    transform: skew(-6deg);
    background-color: #f3cfcc;
}

.client-cases-sub {
    font-weight: 900;
    color: #fff;
}

.case-img-box {
    position: absolute;
    top: auto;
    left: 0;
    bottom: 0;
    right: auto;
    width: 100%;
    height: 100%;
    padding: 0 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: end;
    background: linear-gradient(0deg, rgb(0 0 0 / 50%) -50%, transparent);
}

.case-num {
    width: fit-content;
    padding: 0.3rem 0.8rem;
    border-radius: 5px;
}

#client-cases .case-list-img {
    height: 100%;
    aspect-ratio: 2.5/1;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
    position: relative;
    z-index: 1;
    overflow: hidden;
    clip-path: inset(0 round clamp(0.5rem, 0.324rem + 0.75vw, 1rem));
}

.case-list-img img {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    max-width: none;
    filter: blur(1px);
    object-position: center;
    border-radius: clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
}

.case-list-title {
    padding: clamp(1rem, 0.773rem + 0.97vw, 1.5rem);
}

.case-list-num {
    color: #fff;
}

.case-title-attn {
    font-size: 0.85rem;
    color: var(--i-gray-color);
    margin-bottom: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
}

.client-cases-text {
    margin-top: clamp(3rem, 1.944rem + 4.51vw, 6rem);
    text-align: center;
}

.client-cases-text p {
    font-size: clamp(1.5rem, 1.148rem + 1.5vw, 2.5rem);
    line-height: 1.65;
}

.case-img-title {
    font-size: clamp(1.375rem, 1.199rem + 0.75vw, 1.875rem);
    padding: 0rem 0.2rem 0.5rem;
}

span.case-img-attn {
    display: block;
    width: 100%;
    font-size: 0.8rem;
    font-weight: 400;
    color: #c8c8c8;
}

.case-list1,
.case-list2,
.case-list3 {
    padding: clamp(1rem, 0.545rem + 1.94vw, 2rem);
}

.case-list1 .graph-before {
    margin-right: 0;
    justify-content: end;
    width: 100%;
    padding-right: 10px;
}

.case-list2,
.case-list3 {
    margin-top: 2.5rem;
}

.case-list3 .graph-before {
    justify-content: flex-end;
    padding-left: 5rem;
    width: 100%;
    padding-right: 1rem;
}

.case-graph {
    margin-bottom: clamp(0rem, -0.352rem + 1.5vw, 1rem);
}

.case-graph img {
    object-fit: contain;
}

h3.case-title {
    line-height: 1.5;
    margin-bottom: clamp(1rem, 0.545rem + 1.94vw, 2rem);
    font-size: clamp(1.375rem, 1.199rem + 0.75vw, 1.875rem);
    letter-spacing: 0;
}

.case-list3 h3.case-title {
    margin-bottom: 0;
}

.case-graph-text {
    color: #fff;
    z-index: 1;
    -webkit-text-fill-color: initial;
}

span.case-graph-gold {
    background: linear-gradient(45deg, #c7a100, rgba(212, 175, 55, 0.4));
    color: #fff;
}

span.case-graph-red {
    background: linear-gradient(45deg, var(--i-red-color), rgb(230 0 18 / 50%));
    color: #fff;
    z-index: 0;
}

span.case-copy-line {
    text-decoration: underline;
    text-decoration-color: var(--i-border-red);
    text-underline-offset: 0.2rem;
    border: none;
    text-decoration-thickness: 0.25rem;
    text-decoration-skip-ink: none;
}

.case-list2 span.case-copy-line {
    text-decoration-color: var(--i-border-orange);
}

.case-list3 span.case-copy-line {
    text-decoration-color: var(--i-border-gold);
}

.case-grid.grid-cols-2 {
    display: block;
}

.case-before {
    margin-bottom: 1rem;
}

.case-before,
.case-after {
    padding: 1rem;
}

@media (min-width: 769px) {

    .case-img-title {
        padding: 0rem 0.25rem 1rem;
    }

    .case-img-box {
        padding: 0 1rem;
    }

    .case-list2,
    .case-list3 {
        margin-top: 3.5rem;
    }

    .case-grid.grid-cols-2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .case-before,
    .case-after {
        margin-bottom: auto;
        padding: 1.5rem;
        height: 100%;
    }

    #client-cases .case-list-img {
        aspect-ratio: auto;
    }
}

/*お客様の声*/
.voice {
    padding: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
    text-align: center;
}

.voice .object-contain {
    object-fit: contain;
    padding-top: 5px;
    background-color: #fff;
}

.voice .text-gray {
    text-align: left;
}

.voice-box-title {
    font-size: clamp(1.125rem, 0.993rem + 0.56vw, 1.5rem);
    line-height: 1.25;
    padding-top: 0.5rem;
}

.voice-box-attn {
    font-size: clamp(1.375rem, 1.199rem + 0.75vw, 1.875rem);
}

.voice .voice-icon {
    object-fit: contain;
    object-position: center 5px;
}

#partner-cases .flex.items-center:has(.relative) {
    flex-direction: column;
}

.partner-cases-skew {
    transform: skew(-6deg);
    background-color: #ffe4d5;
}

@media (min-width: 769px) {
    .voice {
        text-align: left;
    }

    .voice-box-title {
        padding-top: 0rem;
    }

    #partner-cases .flex.items-center:has(.relative) {
        flex-direction: row;
    }
}


/*流れ*/
.flow-line {
    width: 0.25rem;
    height: 100%;
    left: calc(((100%/3) - 0.5rem) /2);
    top: 0;
    background-color: rgb(211 216 225);
}

.flow-grid {
    grid-template-columns: 1fr;
    counter-reset: number 0;
}

.flow-grid-box {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr;
    align-items: center;
    text-align: left;
    gap: 0.5rem;
}

.flow-icon {
    margin: 0 auto;
    width: clamp(5rem, 4.648rem + 1.5vw, 6rem);
    height: clamp(5rem, 4.648rem + 1.5vw, 6rem);
    align-items: center;
}

.flow-icon img {
    object-fit: contain;
    width: 42px;
    height: 42px;
}

.flow-large .flow-icon img {
    width: 52px;
}

.flow-large .flow-icon {
    width: clamp(6rem, 5.648rem + 1.5vw, 7rem);
    height: clamp(6rem, 5.648rem + 1.5vw, 7rem);
}

.flow-num {
    grid-column: 1 / 2;
    grid-row: 1 / span 2;
    margin-bottom: 0;
}

h3.flow-grid-top {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    position: relative;
    width: fit-content;
    padding-left: 2.4rem;
    margin-left: 0;
    margin-right: auto;
}

h3.flow-grid-top:before {
    content: counter(number, decimal-leading-zero) " / ";
    position: absolute;
    width: fit-content;
    height: 100%;
    color: var(--i-dark-color);
    counter-increment: number 1;
    left: 0;
    top: 0;
    font-family: "Oswald", sans-serif;
    color: var(--i-gray-color);
}

h3.flow-grid-top.flow-h3 {
    padding-left: 0;
}

h3.flow-grid-top.flow-h3:before {
    content: none;
}

.flow-grid-box:has(.text-brand-red) h3:before {
    color: var(--i-red-color);
}

.flow-grid-box:has(.text-brand-red) h3:before {
    color: var(--i-red-color);
}

.flow-grid-box:last-of-type h3:before {
    color: var(--i-dark-color);
}

p.flow-grid-bottom {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

@media (min-width: 769px) {
    .flow-line {
        top: 4rem;
        width: 100%;
        height: 0.25rem;
        left: 0;
    }

    .flow-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        align-items: end;
    }

    .flow-grid-box {
        display: block;
        text-align: center;
    }

    .flow-icon {
        margin: 0 auto 1rem;
    }

    h3.flow-grid-top {
        margin-left: auto;
    }

    .flow-grid:has(.flow-h3) .flow-line {
        top: 3rem;
    }

    h3.flow-grid-top.flow-h3 {
        margin-top: 0.5rem;
    }

}

/*FAQ*/
#faq {
    background-color: #fff;
    position: relative;
}

#faq:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: linear-gradient(90deg, #6b6b6b80 1px, transparent 1px), linear-gradient(#6b6b6b80 1px, transparent 1px);
    background-position: 10px 10px;
    background-size: 20px 20px;
    opacity: 0.15;
}

#faq h2 {
    font-weight: 900;
}

.faq-list {
    box-shadow: 9px 4px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    background-color: #fff;
}

.faq-list:not(:last-of-type) {
    margin-bottom: 1rem;
}

.faq-list-q {
    padding: 1.5rem;
    width: 100%;
    cursor: pointer;
    text-align: left;
}

.faq-list-a {
    width: calc(100% - 3rem);
    margin-left: auto;
    margin-right: auto;
    margin: 0 auto;
    transition: all 0.3s ease-out;
    overflow: hidden;
}

.faq-list-a .ans {
    margin: 0 auto 1.5rem;
}

.faq-list:hover {
    border: 1px solid #f7b1b7;
}

.faq-list-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 10px;
    position: relative;
}

.faq-list-icon:before,
.faq-list-icon:after {
    content: '';
    position: absolute;
    background-color: var(--i-red-color);
}

.faq-list-icon:before {
    width: 100%;
    height: 2px;
    top: calc(50% - 1px);
    left: 0;
}

.faq-list-icon:after {
    width: 2px;
    height: 100%;
    left: calc(50% - 1px);
    top: 0px;
    transition: 0.3s ease-in-out;
}

.faq-list-q[aria-expanded="true"] .faq-list-icon:after {
    rotate: 90deg;
}


/*会社概要*/
.company-wrapper {
    padding: 0.5rem;
}

#company .grid>div:nth-of-type(1) {
    padding: 30px 20px 5px;
}

#company .grid>div:nth-of-type(2) {
    padding: 5px 20px 30px;
}


@media (min-width: 769px) {

    .company-wrapper {
        padding: 1rem;
    }

    .company-grid {
        grid-template-columns: 1fr 2fr;
    }

    #company .grid>div:nth-of-type(1) {
        padding: 10px;
    }

    #company .grid>div:nth-of-type(2) {
        padding: 10px;
    }
}

/*お問い合わせ*/
#entry-form {
    padding-bottom: 0;
    background: var(--i-gray-bg-color);
    color: var(--i-dark-color);
    padding-top: 6rem;
}

.entry-sub {
    text-align: center;
    margin-bottom: 1rem;
}

.entry-form-title {
color: var(--i-dark-color);
    font-size: clamp(1.5rem, 0.972rem + 2.25vw, 3rem);
    font-weight: 900;
    letter-spacing: -0.05rem;
    line-height: 1.2;
}

.entry-box {
    display: flex;
    align-items: end;
    text-align: center;
    gap: 1rem;
    row-gap: 0;
    flex-wrap: wrap-reverse;
    justify-content: center;
    width: calc(100% - 1rem);
    margin-left: auto;
    margin-right: auto;
    padding-bottom: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
    margin-top: 2.5rem;
}

.entry-sub-ttl {
    position: relative;
    font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
    display: inline-block;
    font-weight: 900;
    letter-spacing: 0.06rem;
    text-align: center;
    color: #fff;
    padding: 10px;
    margin-bottom: 15px;
    line-height: 1.45;
}

.entry-sub-ttl:before {
    content: "";
    position: absolute;
    width: 20px;
    height: 15px;
    background-color: var(--i-dark-color);
    clip-path: polygon(100% 0, 40% 0, 0 100%);
    top: 99%;
    left: calc(50% - 10px);
}

 .entry-sub-ttl .skew {
    background-color: var(--i-dark-color);
    transform: skew(-6deg);
}
.entry-box img {
    max-width: clamp(15rem, 13.864rem + 4.85vw, 17.5rem);
}

.entry-box-text {
    padding-bottom: 1rem;
}

#owlet-entry-form{
    background-color: var(--i-gray-bg-color);
}

.owlet-form {
    background-color: var(--i-dark-color);
    color: #fff;
    text-align: center;
    padding: 0 20px;
    background-color: var(--i-gray-bg-color);
    color: var(--i-dark-color);
    position: relative;
    transition: opacity 0.3s linear !important;
}

.owlet-form form {
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    display: block;
    max-width: 860px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    padding: clamp(1.5rem, 1.497rem + 1.34vw, 2.5rem);
    border: 1px solid rgb(164 164 164 / 30%);
    box-shadow: 2px 4px 6px #ffffff38, 1px 1px 0px #ffffff38;
    background: #fff;
    color: var(--i-dark-color);
    z-index: 2;
    position: relative;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}

.owlet-form table {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

.owlet-form table tbody {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.owlet-form table tr {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.owlet-form table th {
    text-align: left;
    margin-bottom: 5px;
    width: 100%;
    font-size: 1rem;
}

.owlet-form table td {
    width: 100%;
    text-align: left;
}

.owlet-form table input[type="text"] {
    background-color: var(--i-gray-bg-color);
    width: 100%;
    min-height: 40px;
    color: var(--i-dark-color);
    padding: 0 0.5rem;
    border-radius: 3px;
    border: 1px solid var(--i-border-color);
}

.owlet-form table tr:nth-of-type(5) input {
    width: calc((100% / 3) - 0.5rem);
}

.owlet-form label:has(input[name="input[item7]"]) {
    margin-right: 10px;
    width: 100%;
    display: block;
}

.owlet-form label input[name="input[item7]"] {
    margin-right: 3px;
}

.owlet-form input[value="sns1"],
.owlet-form input[value="sns2"],
.owlet-form input[value="sns3"],
.owlet-form input[value="sns4"],
.owlet-form input[value="sns5"] {
    margin-right: 5px;
}

.owlet-form span.require {
    color: red;
    font-size: 0.6rem;
}

input.submit {
    min-width: 240px;
    background: linear-gradient(135deg, var(--i-red-color) 0%, var(--i-orange-color) 100%);
    min-height: 60px;
    border-radius: 10px;
    color: #fff;
}

.form_button {
    text-align: center;
}

.owlet-form form.owlet-form-confirm:before {
    content: none;
}

.owlet-form form.owlet-form-confirm {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
    flex-wrap: wrap-reverse;
    gap: 20px;
    border-top: 0;
}

.owlet-form:has(.owlet-form-confirm) table {
    color: var(--i-dark-color);
    width: 100%;
    background-color: #fff;
    max-width: 860px;
    position: relative;
    padding: 40px 20px 20px;
    border-radius: 20px;
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border: 1px solid rgb(164 164 164 / 30%);
    border-bottom: none;
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}

.owlet-form:has(.owlet-form-confirm) table tbody {
    margin-top: 40px;
}

.owlet-form:has(.owlet-form-confirm) .form_button a {
    min-width: 240px;
    background: linear-gradient(45deg, #949494, #a1a1a1);
    min-height: 60px;
    border-radius: 10px;
    color: #fff;
    display: block;
    width: 100%;
    max-width: 240px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
}

.owlet-form:has(.owlet-form-confirm) .form_button a:hover {
    scale: 1.1;
}

.owlet-form:before {
    content: "";
    position: absolute;
    width: 70%;
    height: 70%;
    top: -10%;
    left: 15%;
    filter: blur(100px);
    z-index: 1;
    opacity: 0.5;
}

.owlet-form input.submit {
    transition: .3s ease;
}

.owlet-form input.submit:hover {
    transform: scale(1.1);
}

.owlet-form table .alert {
    font-size: 0.8rem;
    color: #f44655;
    font-weight: 400;
}

.owlet-form textarea {
    background-color: var(--i-gray-bg-color);
    color: var(--i-dark-color);
    padding: 0 0.5rem;
    border-radius: 3px;
    border: 1px solid var(--i-border-color);
}

@media (min-width: 769px) {

    .entry-box {
        text-align: center;
        align-items: center;
    }

    .entry-box-text {
        padding-bottom: 0;
    }

    .owlet-form {
        padding: 0;
    }

    .owlet-form table th {
        width: 25%;
        margin-bottom: auto;
    }

    .owlet-form table td {
        width: 75%;
    }

    .owlet-form label:has(input[name="input[item7]"]) {
        display: inline;
    }
}

.fixed .btn-rich {
    padding: 1rem 1.5rem;
    padding-right: clamp(2rem, 0.636rem + 5.82vw, 5rem);
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}


section#bottom-text {
    padding-top: 10px;
    padding-bottom: 4rem;
    background: var(--i-gray-bg-color);
}

@media screen and (max-width: 768px) {
    section#bottom-text {
        padding-bottom: 140px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.mobile-cta {
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: .8s;
}

body:has(header.scroll_active) .mobile-cta {
    opacity: 1;
    padding: 0.5rem 1rem;
    backdrop-filter: blur(1px);
}


/*popup_bnr*/
#ridatsu_modal.modal,
#scroll_banner {
    opacity: 0;
    z-index: -10000;
    transition: .8s ease;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modal-dialog {
    position: relative;
    z-index: 1;
    max-width: 420px;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
    left: 50%;
    width: calc(100% - 80px)
}

button.close {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    max-width: 36px;
    margin-left: auto;
    margin-right: -40px;
    display: block;
    margin-bottom: 0px;
}

.modal-dialog a.modal-image-anchor {
    transition-property: opacity;
    transition: .3s ease;
}

.modal-dialog a.modal-image-anchor:hover {
    opacity: .75
}

.modal-bg {
    background-color: rgb(0 0 0 / 65%);
    backdrop-filter: blur(2px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

#ridatsu_modal.modal.show-up,
#scroll_banner.show-up {
    opacity: 1;
    z-index: 10005
}

@media(width <=768px) {
    button.close {
        max-width: 30px;
        margin-right: -20px;
    }
}

span.left-copy-min-size.xs {
    font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
    letter-spacing: 0.05rem;
    position: absolute;
    top: clamp(1rem, 0.545rem + 1.94vw, 2rem);
    left: 0;
    color: var(--i-dark-color);
    -webkit-text-fill-color: var(--i-dark-color);
    background-color: #c7c7c7;
    padding: 0.5rem;
    border-radius: 5px;
}

span.left-copy-min-size.xs:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 20px;
    background-color: #c7c7c7;
    bottom: -12px;
    left: auto;
    right: 10px;
    clip-path: polygon(calc(100% - 30px) 0, 20px 0, 100% 100%);
    z-index: 0;
}

#fixed-bnr {
    position: fixed;
    bottom: 5px;
    right: 0px;
    z-index: -9999;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

body:has(header.scroll_active) #fixed-bnr.show-up {
    pointer-events: all;
    z-index: 9999;
    opacity: 1;
}

#fixed-bnr .modal-dialog {
    top: 0;
    left: 0;
    transform: none;
    max-width: 60vw;
    width: 100%;
    transition: .3s;
}

#fixed-bnr .modal-dialog img {
    width: 100%;
}

#fixed-bnr button.close {
    margin-left: auto;
    margin-right: 5px;
    margin-bottom: 5px;
    transition: .3s ease-in-out;
}

#fixed-bnr button.close:hover {
    opacity: 0.5;
}

@media (min-width: 769px) {
    #fixed-bnr .modal-dialog {
        width: 20vw;
        max-width: 320px;
    }

    #fixed-bnr {
        bottom: 10px;
    }
    
}

.attn-font{
    font-size: clamp(2.25rem, 1.568rem + 2.91vw, 3.75rem);
    color: transparent;
    background-clip: text;
    background: linear-gradient(135deg, #e60012 0%, #ff8710);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

section#reason + section {
    margin-top: -1px;
}