@charset "EUC-JP";
.pc-view{
	display: block;
}
.sp-view{
	display: none;
}
.tts-top-title {
    background: url(../images/tts-top-img.webp) no-repeat center right;
    background-size: contain;
    padding: 14rem 0;
}


.box-content.tts-plan, .box-content.corelink-plan {
    background: #ffffff;
    padding: 4rem;
    border-radius: 20px;
	box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.08);
}

.box-content.tts-plan h3, .box-content.corelink-plan h3{
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}

.box-content.tts-plan h3 + p, .box-content.corelink-plan h3 + p{
	font-size: 1.6rem;
	line-height: 1.6;
	margin-bottom: 3rem;
}

.tabs-wrap {
    text-align: center;
}

.tab_item {
	cursor: pointer;
	padding: 8px 24px;
	border: 1px solid #e0e0e0;
	display: inline-block;
	margin-right: 8px;
	border-radius: 32px;
	transition: all 0.3s ease;
	font-weight: 500;
	color: #666;
	line-height: 1;
}

.tab_item:hover {
	background-color: #f8f9fa;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.tab_content {
	display: none;
}

input[type="radio"] {
	display: none;
}

input[type="radio"]:checked + .tab_item {
	background-color: #007bff;
	color: #ffffff;
	border-color: #007bff;
	box-shadow: 0 2px 8px rgba(0,123,255,0.3);
}

.price-box {
    display: flex;
    justify-content: center;
	align-items: center;
    gap: 24px;
	padding: 3rem 0 1rem 0;
}

p.price-list-num {
    font-size: 8rem;
    font-weight: 500;
    line-height: 1;
}

p.price-list-num span {
    font-size: 70%;
    transform: translateY(-5px);
    display: inline-block;
}

p.plan-descript {
    font-size: 13px;
    text-align: center;
    border-bottom: 1px solid #999;
    padding: 1rem 0;
    margin: 0 0 2rem 0;
}

.plan-function {
    padding: 0 2rem;
}

.plan-function h4{
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1.2rem;
}

.plan-function h4 small{
	font-size: 70%;
}

.plan-function ul {
    padding: 0 0 0 2rem;
}

.plan-function ul li{
	list-style: disc;
	font-size: 15px;
}

.corelink-contents .box-container {
    gap: 40px;
}

.corelink-price-box {
    display: flex;
    flex-wrap: wrap;
}

.corelink-price-box{
	padding-bottom: 16px;
}

p.corelink-price-list-title {
    width: 30%;
	font-size: 11px;
}

p.corelink-price-list-num {
    width: 35%;
	font-size: 25px;
	text-align: right;
}

p.corelink-price-list-num strong{
	font-size: 3rem;
    font-weight: 500;
    line-height: 1;
}

p.corelink-price-list-num strong span{
	font-size: 70%;
}

.corelink-price-box:first-of-type{
	border-bottom: 1px solid #999;
	margin-bottom: 16px;
}

.corelink-price-box:last-of-type{
	padding-bottom: 0;
}

.corelink-price-box:last-of-type p.corelink-price-list-num {
    font-size: 13px;
}

p.corelink-price-list-commission {
    width: 35%;
	font-size: 13px;
	text-align: right;
}

p.corelink-note {
    font-size: 12px;
    line-height: 1.6;
    padding: 24px 0;
}

.corelink-campaign {
    padding: 24px;
    border: 1px solid #555;
    border-radius: 20px;
}

.corelink-campaign h4{
	font-size: 2.4rem;
	font-weight: 600;
	padding: 0 0 24px 0;
}

p.corelink-campaign-descript {
    padding: 0 0 16px 0;
}

p.corelink-campaign-detail {
    font-size: 1.8rem;
    padding: 0 0 24px 0;
    line-height: 1.8;
}

p.corelink-campaign-note {
    font-size: 13px;
    line-height: 1.6;
}


.page-cta-area {
	padding: 5rem 0;
}
.page-cta-area p{
	text-align: center;
	line-height: 1.6;
}
.page-cta-area p.page-cta-txt {
	font-size: 2.4rem;
    font-weight: 600;
}
.page-cta-area p.page-cta-sub-txt {
	font-size: 1.6rem;
    font-weight: 400;
	padding: 24px 0 0 0;
}
.page-cta-area .page-cta-area-btn{
	padding: 32px 0;
}
.page-cta-area .page-cta-area-btn a{
    text-align: center;
    display: block;
    margin: 0 auto;
    width: fit-content;
	min-width: 350px;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1;
    padding: 24px 32px;
    border-radius: 50px;
	color: #fff;
	text-decoration: none !important;
	transition: all 0.2s ease-out;
	position: relative;
}
.page-cta-area .page-cta-area-btn a:hover{
	opacity: 0.8;
	transition: all 0.2s ease-out;
}
.page-cta-area .page-cta-area-btn a.btn-clr-primary {
	background-color: #2389ca;
}

.page-cta-area .page-cta-area-btn a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -180%);
    color: #222;
    width: 100%;
    font-weight: 500;
}

.page-cta-area .page-cta-area-btn a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 220%);
    color: #222;
    width: 100%;
    font-weight: 500;
	font-size: 14px;
}


.page-cta-area .page-cta-area-btn a.btn-clr-primary:before{
	content: "makeshopを未契約の方";
}

.page-cta-area .page-cta-area-btn a.btn-clr-primary:after{
	content: "本番と同じ環境を15日間お試しいただけます";
}

.page-cta-area .page-cta-area-btn a.btn-clr-secondary {
	background-color: #F05A25;
}

.page-cta-area .page-cta-area-btn a.btn-clr-secondary:before{
	content: "makeshopを契約済みの方";
}

.page-cta-area .page-cta-area-btn a.btn-clr-secondary:after{
	content: "※インストールにはmakeshopへのログインが必要です";
	font-size: 60%;
	transform: translate(-50%, 280%);
}

.page-cta-area .page-cta-area-btn a + a {
	margin-top: 32px !important;
}

.page-cta-area .page-cta-area-btn.sidetype{
	display: flex;
	justify-content: center;
	gap: 32px;
}
.page-cta-area .page-cta-area-btn.sidetype a{
	display: block;
	margin: 0;

}
.page-cta-area .page-cta-area-btn.sidetype a + a {
	margin-top: 0 !important;
}
.page-cta-area p.page-cta-area-notice{
	font-size: 1.2rem;
}
@media (max-width: 640px) {
	.pc-view{
		display: none;
	}
	.sp-view{
		display: block;
	}
	.tts-top-title {
        background: url(../images/tts-top-img.webp) no-repeat center bottom;
        padding: 0 0 24rem 0;
        background-size: contain;
    }
	.page-cta-area {
		padding: 5rem 0;
	}
	.page-cta-area .page-cta-area-btn {
		padding: 24px 0;
	}
	.page-cta-area p.page-cta-txt {
		font-size: 1.8rem;
	}
	.page-cta-area p.page-cta-sub-txt {
		font-size: 1.4rem;
		padding: 16px 0 0 0;
	}
	.page-cta-area .page-cta-area-btn a {
		line-height: 1.4;
		padding: 16px 32px;
		min-width: 300px;
	}
	.page-cta-area .page-cta-area-btn.sidetype {
		flex-direction: column;
		gap: 120px;
	}
	.page-cta-area .page-cta-area-btn.sidetype a {
		margin: 0 auto;
	}

	.contents-text-comments {
		width: auto;
		}
}
/* Tab Switching Styles */
.switching-area {
    margin: 60px 0 0 0;
}

.switching-area-tab {
    display: flex;
    gap: 20px;
	border-bottom: 1px solid #000;
}

.switching-area-tab-item {
    cursor: pointer;
    padding: 15px 40px;
    border: 1px solid #000;
    border-bottom: 0;
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;
	font-weight: bold;
    background: #fff;
    transition: all 0.3s;
	line-height: 1;
}

.switching-area-tab-item p{
	font-size: 18px;
}

.switching-area-tab-item:hover {
    opacity: 0.8;
}

.switching-area-tab-item.active {
    color: #fff;
}

.switching-area-tab-item.aftership-btn.active{
	background: #FF6B2A;
	border-color: #FF6B2A;
}

.aftership-contents h3.box-title {
    color: #ff6b2a;
}

.switching-area-tab-item.corelink-btn.active{
	background: #B180EC;
	border-color: #B180EC;
}

.corelink-contents h3.box-title {
    color: #B180EC;
}

.switching-contents {
    padding: 48px;
    background: #f6f6f6cc;
}

.switching-contents h2[id*="heading"],
.switching-contents-ttl{
	font-size: 2.6rem;
    padding: 0 0 16px 0;
    border-bottom: 2px solid #898989;
    margin: 0 0 16px 0;
	line-height: 1.4;
}

.switching-contents-ttl span {
    font-size: 14px;
    background: #555;
    color: #fff;
    padding: 6px;
	margin: 0 0 6px 0;
	display: inline-block;
	line-height: 1;
	border-radius: 3px;
}

.switching-contents h2[id*="heading"]:before {
    display: none;
}

.switching-contents h3.box-title {
    font-size: 2rem;
}

.four-columns h3.box-title {
    font-size: 100%;
}

.four-columns {
    gap: 24px;
}
/* Animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}


.aftership-contents .box-thumbnail{
	background: #ffffff;
	border: 1px solid #f9682a;
}
.corelink-contents .box-thumbnail {
    background: #ffffff;
    border: 1px solid #b180ec;
}

@media (max-width: 640px) {
	.switching-contents {
		padding: 32px;
	}
}