
	.tarupo_box1{
		padding:2em;
		position: relative;	
	}
	@media only screen and (max-width: 1000px){
		.tarupo_box1{
			top: 2vh;
			padding:0em;
		}
	}

	.application_entry_tarupo{
		z-index: 9999;
		position: relative;
		line-height:2em;
		background: #242424;
		border-radius: 10px;
		max-width:400px;
		margin: 1em auto;
	}
	@media only screen and (min-width: 420px) and (max-width:1000px){
		.tarupo_box1 .application_entry_tarupo{
			top: -10vh;
		}
        .application_entry_tarupo{
            
		    padding:1em;
        }
        .application_entry_tarupo a{
			padding:0.4em;
            width:90%;
            margin: auto;
		}
	}
	@media only screen and (max-width: 419px){
		.tarupo_box1 .application_entry_tarupo{
			top: 10vh;
		}
		.application_entry_tarupo a{
			padding:0.3em;
            width:90%;
            margin: auto;
		}
	}
	.application_entry_tarupo{
        color: white;
		display:block;
        padding:0.5em;
	}
    .application_entry_tarupo a{
        color: white;
		font-weight: bold;
		text-decoration:none;
		font-family:initial;
        width:90%;
        margin: auto;
    }
	span.subscription_text{
		color:#ffe099;
	}
	.subscription_detail_options{
		display: flex;
    	justify-content: space-around;
	}
	.subscription_detail_options a{
		color: yellow;
		padding: 0;
	}
	.trademarks{
		font-size: small;
		margin: 0 1em;
	}

	.tarupo_box2.container {
		max-width: 900px;
		margin: 0 auto;
		padding: 60px 20px;
	}

	/* ID Registration CTA */
	.id-cta {
		background-color: #f9f9f9;
		border: 1px solid #eeeeee;
		border-radius: 8px;
		padding: 24px;
		margin-bottom: 40px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 20px;
		max-width: 800px;
		margin: 1em auto;
	}

	.id-cta-text h2 {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 4px;
	}

	.id-cta-text p {
		font-size: 14px;
		color: #666666;
	}

	.btn-tarupo {
		display: inline-block;
		background-color: #d3ab4f;
		color: #ffffff;
		padding: 12px 24px;
		text-decoration: none;
		font-size: 14px;
		font-weight: 700;
		border-radius: 4px;
		transition: background-color 0.2s;
	}

	.btn-tarupo:hover {
		background-color:rgb(207, 182, 121);
	}

	/* Plan Grid */
	.plan-grid {
		display: flex;
		border: 1px solid #dddddd;
		border-radius: 12px;
		overflow: hidden;
		max-width: 800px;
		margin: 1em auto;
	}

	.plan-card {
		flex: 1;
		padding: 40px;
		display: flex;
		flex-direction: column;
	}

	.plan-card.monthly {
		background-color: #ffffff;
		border-right: 1px solid #dddddd;
	}

	.plan-card.yearly {
		background-color: #fafafa;
		position: relative;
	}

	/* Badge */
	.badge {
		position: absolute;
		top: 0;
		right: 0;
		background-color: #fbbf24;
		color: #000000;
		font-size: 15px;
		font-weight: 700;
		padding: 4px 12px;
	}

	/* Plan Details */
	.plan-name {
		font-size: 20px;
		font-weight: 700;
		margin-bottom: 4px;
	}

	.plan-subtext {
		font-size: 13px;
		color: #999999;
		margin-bottom: 24px;
	}

	.plan-subtext.highlight {
		color: #b10d16;
		font-weight: 700;
	}

	.plan-price {
		margin-bottom: 10px;
	}

	.price-amount {
		font-size: 36px;
		font-weight: 700;
	}

	.price-unit {
		font-size: 14px;
		color: #666666;
		margin-left: 4px;
	}

	.plan-price .price-note {
		font-size: 12px;
		color: #999999;
		margin-top: 4px;
		text-align:center;
	}

	/* Features List */
	.features {
		list-style: none;
		margin-bottom: 40px;
		flex-grow: 1;
	}

	.features li {
		margin-bottom: 12px;
		display: flex;
		align-items: center;
	}

	.features li::before {
		content: "●";
		color: #b10d16;
		font-size: 8px;
		margin-right: 10px;
	}

	/* Buttons */
	.btn-plan {
		display: block;
		/*width: 100%;*/
		text-align: center;
		padding: 14px;
		text-decoration: none;
		font-weight: 700;
		border-radius: 6px;
		transition: opacity 0.2s, background-color 0.2s;
	}

	.btn-outline {
		border: 2px solid #b10d16;
		color: #b10d16;
	}

	.btn-outline:hover {
		background-color: #fff5f5;
	}

	.btn-solid {
		background-color: #b10d16;
		color: #ffffff;
	}

	.btn-solid:hover {
		opacity: 0.9;
	}

	/* Responsive */
	@media (max-width: 768px) {
		.id-cta {
			text-align: center;
			justify-content: center;
		}
		.plan-grid {
			flex-direction: column;
		}
		.plan-card.monthly {
			border-right: none;
			border-bottom: 1px solid #dddddd;
		}
	}

	.subscription_title::before{
		content:"NEW! 2026年新プラン開始";
		position:absolute;
		left:0;
		top:-1.7em;
		border-radius:4px;
		background-color:red;
		color:white;
		padding: 0 1em;
	}
	.subscription_title{
		background-color:var(--carpred);
        padding:1em;
		margin-top:2em;
	}
    .subscription_title>span{
        font-size:1.7em;
        font-weight: bold;
    }
	.subscription_price_text{
		font-size:large;
		font-weight:bold;
		margin:auto;
		text-align:center !important;
	}
	.subscription_price_text span{
		color: var(--carpred);
	}
	.application_member_tarupo{
		z-index: 9999;
		position: relative;
		align-content:center;
		line-height:2em;
		background: #d3ab4f;
		border-radius: 10px;
		max-width:400px;
		margin: 1em auto;
	}
	.application_member_tarupo a{
		color: white;
		font-weight: bold;
		text-decoration:none;
		font-family:initial;
		padding:1em;
		display:block;
	}
	.tarupo_box2{
		background:white;
		padding: 2em 1em 2em;
    	margin: 2em 1em 2em;
	}
	.tarupo_box2 p{
		max-width:600px;
		margin: 0 auto;
		text-align:initial;
	}
	
	@media only screen and (min-width: 640px){
	.tarupo_entry_flex{
		display:flex;
		justify-content:center;
	}
	.tarupo_entry_flex>div{
		margin-left:1em;
		margin-right:1em;
		min-width:250px;
	}
	}
	.box8{
		background:#E0E0E1
	}
	.box8 ul{
		display:flex;
	}
	@media only screen and (max-width: 640px){
	.box8 ul{
		flex-direction: column;
	}
	}
	.box8 img{
		margin: 1em auto;
	}
	.box8 p{
		text-align:left;
		max-width: 800px;
		margin: 1em auto;
	}
	.box9 p{
		max-width:700px;
		margin:0 auto;
		padding:0 0;
	}
	.existing_subscription_info{
		background: white;
		border: black solid 2px;
		color: black;
		border-radius: 10px;
		margin:1em auto;
		max-width: 400px;
	}
	.existing_subscription_info span{
		display:block;
		padding:1em;
	}