@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Podkova:wght@400..800&display=swap');


/* イメージをwebpに変更 */
.hero-background {
    background-image: url("images/hero.webp"); /* ★背景画像を設定★ */
}
.faq.kigu2-parallax{
  background-image:linear-gradient(
                     180deg,
                     rgba(0,0,0,.45) 0%,
                     rgba(0,0,0,.55) 50%,
                     rgba(0,0,0,.75) 100%),
                   url(images/common/kigu2.webp);
}
.strengths-section {
    background-image:linear-gradient(rgba(0, 0, 0, .6),  rgba(0, 0, 0, .6)),url(images/kigu1.webp);
}
.strengths-section.kigu-parallax{
  background-image: linear-gradient(
                     180deg,
                     rgba(0,0,0,.45) 0%,
                     rgba(0,0,0,.55) 50%,
                     rgba(0,0,0,.75) 100%),
                   url(images/common/kigu1.webp);
}


/* PC/SP共通 */
.fixed-cta-group-block {
	display:none;
}

.hero {
	background:url(images/common/TOP_1920_1080.webp) 50% 50% no-repeat;
	background-size:cover;
	display:block;
}
.hero-content {
	padding:100px 0;
}
.hero .container {
	padding:0;
}

.hero-text-img {
	width:100%;
	max-width:initial;
	height:720px;
	max-height:80vh;
	object-fit:contain;
}

.hero-actions {
	margin-top: 3em;
}

.hero-cta {
	font-size:1.3em;
	padding:0.8em 8em;
}
.hero-cta em {
	font-weight:900;
	font-style:normal;
	font-family:"Noto Sans JP",sans-serif;
}

.line-cta-button-compact {
	font-size:1em;
	padding:0.8em 1em;
	gap:0.3em;
}
.line-button-icon-compact {
	width:2em;
	height:2em;
}



.team-bio-wrapper.collapsed {
	max-height:none;
	height:4em;
}
.team-bio-wrapper.collapsed::after {
	height:auto;
}

.step-text {
	font-size: 1rem;
}
.plan-price {
	padding: var(--spacing-xs) var(--spacing-md);
}
.plan-features li {
	padding: var(--spacing-xs) 0;
	padding-left: var(--spacing-sm);
}
.ticket-card.popular {
	background: var(--white);
}

.g-reviews {
	padding: var(--spacing-lg) 0 0;
}
.g-reviews-inner {
	position:relative;
	z-index:2;
}
#reviewSlickSlider {
	padding:0 var(--spacing-xl) var(--spacing-lg);
}
#reviewSlickSlider .slick-prev ,
#reviewSlickSlider .slick-next {
	width:40px;
	height:40px;
}
#reviewSlickSlider .slick-prev {
	left: -10px;
}
#reviewSlickSlider .slick-next {
	right: -10px;
}
#reviewSlickSlider .slick-prev:before ,
#reviewSlickSlider .slick-next:before {
	color: #3BA99F;
	font-size:40px;
}
#reviewSlickSlider .slick-dots li button:before {
	font-size:12px;
}
.slick-cell {
	padding:var(--spacing-sm) 0;
}
.g-card {
	width:auto;
}

.step-time {
	font-size:1em;
}

.line-cta-button {
	max-width:none;
	padding:0.5em 3em;
	font-size:1.3em;
	gap:0.5em;
}
.line-button-icon {
	width:2.8em;
	height:2.8em;
	background:none;
}

.fixed-cta-button {
	padding:0.8em 3em;
}
.scroll-top-btn svg {
	width:2em;
	height:2em;
}

.trial-includes li::before {
	margin-right:0.5em;
}



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

	* {
		--max-width:480px;
	}

	#reviewSlickSlider {
		padding:0 0 var(--spacing-sm);
	}
	#reviewSlickSlider .slick-prev ,
	#reviewSlickSlider .slick-next {
		top:100%;
		transform: none;
	}
	#reviewSlickSlider .slick-dots {
		width:calc(100% - 45px * 2);
		left:45px;
	}
	#reviewSlickSlider .slick-dots li button:hover:before ,
	#reviewSlickSlider .slick-dots li button:focus:before {
		opacity: .25;
	}
	#reviewSlickSlider .slick-dots li.slick-active button:before {
		opacity: .75;
	}

    .g-slider-column {
        padding: var(--spacing-md) var(--spacing-sm);
    }
	.slick-cell {
		padding:var(--spacing-xs) 0;
	}
	.g-card {
		margin:0 var(--spacing-xs) !important;
	}

	body{
		width:480px;
		margin:0 auto;
		font-size:16px;
	}
	section {
		width:100%;
		overflow:hidden;
	}

	.header.scrolled {
		background:rgba(255,255,255,0.94) !important;
	}

	#menu-toggle:checked ~ .container .header-inner .nav {
		top:80px;
		height:calc(100vh - 80px);
		padding:2em 2.5em;
		background:rgba(255,255,255,0.94) !important;
		overflow:hidden;
	}
	#menu-toggle:checked ~ .container .header-inner .menu-toggle span:nth-child(1) {
		transform: rotate(45deg) translate(3px,3px);
	}
	#menu-toggle:checked ~ .container .header-inner .menu-toggle span:nth-child(3) {
		transform: rotate(-45deg) translate(5px,-5px);
	}
	#menu-toggle:checked ~ .container .header-inner .nav .menu-close {
		display:none;
	}


	.fixed-cta {
		right:0.8em;
		bottom:0.8em;
	}

	.hero {
		background-image: url(images/common/sma_720_1280_1600.webp);
	}
	.hero-content {
		padding:0 0 120px
	}
	.hero .container {
		height: 600px;
		display:flex;
		flex-direction:column;
		justify-content:space-evenly;
	}

	.hero-title {
		font-size:220%;
		line-height:1.4;
	}
	.title-line {
		line-height:inherit;
	}
	.title-accent {
		font-size:100%;
	}
	.hero-description {
		font-size:140%;
		font-weight: 500;
		line-height:1.4;
		color:#fff;
	}

	.hero-stats {
		flex-direction:row;
		gap:0;
	}
	.hero-stats > * {
		width:130px;
		font-size:120%;
	}
	.stat-value {
		margin-bottom:0;
		line-height: 1.2;
	}
	.stat-number {
		font-size:200%;
	}
	.stat-label {
		font-size:90%;
		color:#fff;
	}

	.hero-actions {
		position:absolute;
		bottom:15%;
		left:0;
		right:0;
		margin:0 auto;
	}

	.scroll-indicator {
		color:#fff;
	}
	.mouse {
		border-color:#fff;
	}
	.mouse::after {
		background:#fff;
	}
	@keyframes scroll {
	    0% { opacity: 1; top: 8px; }
	    100% { opacity: 0.5; top: 20px; }
	}

	.hero-cta {
		font-size:1.3em;
		padding:0.8em 2em;
	}

	.line-main-icon-compact {
		width:4em;
		height:4em;
	}
	.cta-highlight-compact {
		font-size:1.8em;
	}
	.cta-main-compact {
		font-size:2em;
	}
	.cta-subtitle-compact {
		font-size:1.3em;
	}
	.benefit-item-compact::before {
		font-size:1.6em;
	}
	.benefit-item-compact {
		max-width:none;
		font-size:1.1em;
	}
	.cta-note-compact {
		font-size:0.9em;
	}


	.line-cta-button-compact {
		padding:0.8em 3em;
		font-size:1.2em;
		gap:0.8em;
	}
	.line-button-icon-compact {
		width:3em;
		height:3em;
	}


	.reasons-section{
		font-family:'Inter','Noto Sans JP',sans-serif;
	}
	.strengths-header {
		margin-bottom:2em;
	}
	.strengths-subtitle {
		font-size:1rem;
	}
	.strength-text h3 {
		font-size:1.3em;
	}
	.strength-text p {
		font-size:1em;
	}

	.service-content {
		padding:1.5em;
	}
	.service-content p {
		margin-bottom:1em;
	}
	.service-features li {
		padding-top:0;
		padding-bottom:0.3em;
	}


	.services-combo {
		padding: 1.5em;
	}
	.combo-badge {
		margin-bottom: 1.5em;
	}

	.flow-desc {
		font-size:1.1rem;
	}

	.trial-flow-timeline {
	    padding-left: 30px;
	}
	.trial-step {
		gap:1em;
	}

	.step-circle {
		z-index:10;
	}
	.step-text {
		font-size:1.1em;
		line-height:1.6;
	}

	.bio-toggle {
		margin-top:0;
		margin-bottom:0.3em;
	}

	.team-achievements li {
		font-size:0.9em;
		display: block;
	}
	.team-info .comment {
		font-size:1.2em;
	}
	.team-achievements .achievement-number {
		display:block;
		font-size:1.1em;
		font-family: 'Poppins','Noto Sans JP',sans-serif;
	}

	.team-photo-overlay .overlay-name {
		font-size:1.3em;
	}
	.team-photo-overlay .overlay-title{
		font-size:1.1em;
	}
	.team-photo-overlay .overlay-social a {
		width:1.8em;
		height:1.8em;
	}

	.benefits-grid {
		padding:0 1em;
	}
	.common-benefits {
		padding:2em;
	}

	.trial-badge {
		font-size:110%;
	}

	.recommended-badge {
		top:-20px;
		font-size: 100%;
	}

	.ticket-badge, .popular-badge {
		top:-20px;
		font-size: 100%;
	}

	.option {
		font-size:130%;
	}
	.option-price {
		font-size:150%;
	}
	.option-per {
		font-size:85%;
	}

	.info-item p {
		font-size:160%;
	}

	.faq-question:hover {
		background: #6dc;
	}


	.access-details {
		gap:0;
	}
	.access-info h3 {
		font-size:1.6em;
	}
	.access-details dt {
		font-size:1.2em;
	}
	.access-details dd {
		margin-bottom:1em;
		padding-left:1em;
		font-size:0.9em;
	}


	.line-qr {
		text-align:center;
	}

	.line-benefits li::before {
		position:relative;
		margin-right:0.5em;
	}

	.line-info {
		display: flex;
    	flex-direction: column;
    	align-items: center;
	}

	.line-icon-wrapper {
		margin-bottom:0;
	}

	.cta-highlight {
		font-size:1.4em;
	}
	.cta-main {
		font-size:1.6em;
	}

	.cta-subtitle {
		font-size:1.1em;
	}

	.line-benefits {
		display: flex;
    	flex-direction: column;
    	align-items: flex-start;
	}
	.line-benefits li {
		padding-left:0;
	}
	.benefit-item {
		font-size:1em;
	}

	.fixed-cta-group {
		bottom:0;
		left:0;
		right:0;
		padding:0.3em 1em 0.3em calc(0.3em + 3.6em);
		background:#3c9c;
		flex-direction:row-reverse;
		justify-content:center;
		align-items:center;
		gap:1em;
	}
	.scroll-top-btn {
		margin:0;
		width:3.8em;
		height:3.8em;
		align-self:center;
	}

	.cta-text {
		margin-bottom:0;
	}
	.cta-benefits {
		margin-bottom:0;
	}
	.cta-action {
		gap:0;
	}
	.cta-note {
		max-width: none;
		padding:0;
		font-size: 0.9em;
	}

	.cta-icon {
		width:3em;
		height:2em;
	}

	.fixed-cta-button {
		padding:0.5em 1.5em;
		margin:auto;
		border: 2px solid #fff;
	}
	.fixed-cta-button .cta-main {
		font-size: 1.3em;
	}
	.cta-arrow {
		font-family:"Noto Sans JP",sans-serif;
		font-weight:900;
	}


	.nav-list {
		gap:0.6em;
		margin-bottom:1em;
	}
	.nav-list a {
		padding:0.3em 0;
		font-size:120%;
		font-weight:bold;
	}
	.footer-column h4 {
		margin-bottom:0.5em;
	}
	.footer-column li {
		margin-bottom:0.5em;
		padding-left:1em;
	}

	.footer-links {
		gap:0.5em;
	}

	.nav-list a::after ,
	.footer-links a::after {
		content:">";
		position:relative;
		margin-left:0.3em;
		opacity:1;
	}

	.nav-sns {
		margin-top:0;
		padding-top:0;
	}
}



.article-time {
	font-size:80%;
	color:var(--tiffany-blue-dark);
}


.gallery-header.shop {
	margin: var(--spacing-xxl) auto 0;
}
.gallery-header.shop .pricing-section-desc {
	margin-bottom:0;
}

.gallery-image-fix {
	padding-top:3em;
	display:flex;
	justify-content:center;
}
.gallery-image-fix > *{
	width:25%;
	padding:0 0.5em;
	aspect-ratio:4/3;
	object-fit:cover;
}
@media (max-width: 768px) {
	.gallery-image-fix {
		flex-wrap:wrap;
	}
	.gallery-image-fix > *{
		width:50%;
		padding:0.5em;
	}
}




.fixed-cta-group {
	right:0;
	bottom:0;
	padding-right:0;
	padding-bottom:1em;
}
.bottom-button{
}
.bottom-button-link{
	position:relative;
	margin-right:12em;
	padding:0.3em 1em;
	line-height:1.2;
	color:#fff;
	background:#f60;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	text-align:center;
	filter:drop-shadow(5px 5px 0 #300);
}
.bottom-button-link:after{
	content:"";
	position:absolute;
	left:99%;
	top:1em;
	display:block;
	width:2em;
	height:1.5em;
	background:#f60;
	clip-path:polygon( 0 0 ,100% 0% ,0 100%);
}
.bottom-button-link .sub{
	font-size:200%;
	color:#000;
	font-weight:bold;
	font-family:'Podkova';
}
.bottom-button-link .main{
	font-size:180%;
	font-weight:bold;
}
.bottom_photo {
	position:absolute;
	right:0;
	bottom:-5px;
	width:10em;
}
@media (max-width: 768px) {
	.fixed-cta-group {
	    padding:0.8em 9.3em 0.8rem 0.9em;
		justify-content:space-between;
		flex-direction:row;
	}
	.bottom-button-link {
		margin-right:0;
		padding:0.3em 1.2em;
		filter:drop-shadow(3px 3px 0 #300);
	}
	.bottom-button-link .sub {
		font-size:140%;
	}
	.bottom-button-link .main {
		font-size:130%;
	}

	.bottom_photo {
		width:7.5em;
	}
}

