@charset "UTF-8";
/********************************************************************************

page-top.css　トップページcss

********************************************************************************/

/*============================================================
 commonカスタム
*============================================================*/
#page-top #main-contents {
    padding-bottom: 72px;
}
#page-top .sec-title {
	color: var(--common-color-main);
	position: relative;
	z-index: 1;
	margin-bottom: 48px;
}
#page-top .sec-title .en {
	font-size: 14px;
	font-family: var(--common-font-family-en);
	margin-bottom: 8px;
}

/*============================================================
 メインビジュアル
*============================================================*/
#page-top #mainvisual {
    /*height: var(--common-vh);*/
	height: 654px;
	overflow: hidden;
    background-image: url(../images/top/mainvisual-bg.webp);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    color: #fff;
    position: relative;
	margin-bottom: 40px;
}
#page-top #mainvisual .inner {
	position: relative;
	height: 100%;
	max-width: 1280px;
}
#page-top #mainvisual .heading {
	max-width: 530px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	padding-top: 102px;
	color: var(--common-color-main);
	z-index: 1;
}
#page-top #mainvisual .heading:before {
	content: "";
	position: absolute;
	background: url(../images/top/mainvisual-heading-bg.svg) no-repeat center center / contain;
	width: 530px;
	height: 691px;
	left: 50%;
	transform: translatex(-50%);
	top: -22px;
	z-index: -1;
}
#page-top #mainvisual .heading p {
	font-size: 40px;
	line-height: 1.4;
	font-family: var(--common-font-family-sub);
	font-weight: 900;
	margin-bottom: 48px;
}
#page-top #mainvisual .heading h2 {
	font-size: 96px;
	font-family: var(--common-font-family-sub);
	font-weight: 900;
	line-height: 1.3;
}
#page-top #mainvisual .news-block {
	position: absolute;
	z-index: 2;
	width: 100%;
	border-radius: 16px;
	background: var(--common-color-sub);
	max-width: 400px;
	top: 24px;
	left: 24px;
}
#page-top #mainvisual .news-block .item {
	color: var(--common-color-main);
	font-size: 14px;
	gap: 24px;
	border-radius: 16px;
	padding: 16px 24px;
	position: relative;
}
#page-top #mainvisual .news-block .item:before {
	content: "";
	position: absolute;
	background: url(../images/top/icon-arrow-right.svg) no-repeat;
	background-size: contain;
	width: 17px;
	height: 8px;
	top: 29px;
	right: 24px;
}
#page-top #mainvisual .news-block .item-date {
	width: 72px;
}
#page-top #mainvisual .news-block .item-title {
	max-width: 228px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	font-weight: 500;
}
#page-top #mainvisual .info {
	max-width: 325px;
	width: 100%;
    position: absolute;
    bottom: 32px;
	right: 24px;
	z-index: 1;
}
#page-top #mainvisual .info-link {
	display: block;
	width: 200px;
	color: #fff;
	background: var(--common-color-main);
	font-size: 12px;
	font-weight: 900;
	border-radius: 8px;
	margin-top: -96px;
	margin-left: 17px;
	margin-bottom: 48px;
	line-height: 1.4;
	padding: 12px 14px;
	position: relative;
	transition: all .3s;
}
#page-top #mainvisual .info-link:before {
	content: "";
	position: absolute;
	background: url(../images/common/icon-arrow-right-wh.svg) no-repeat;
	background-size: contain;
	width: 6px;
	height: 10px;
	top: 28px;
	right: 10px;
}
#page-top #mainvisual .info-link:hover {
	opacity: 0.7;
}
#page-top #mainvisual .info-link span {
	font-size: 20px;
}
#page-top #mainvisual .info-note {
	color: var(--common-color-text);
	font-size: 12px;
	line-height: 1.6;
}
#page-top #mainvisual .info-note a {
	text-decoration: underline;
}

/*============================================================
 ピックアップキャンペーン
*============================================================*/
#page-top #sec-campaign {
	margin-left: calc(50% - 535px);
	padding: 24px 0 40px 40px;
	background: var(--common-color-background1);
	border-radius: 24px 0 0 24px;
	margin-bottom: 112px;
}
#page-top #sec-campaign .title {
	font-size: 24px;
	font-weight: bold;
	color: var(--common-color-main);
	margin-bottom: 24px;
}


/*============================================================
 こだわり
*============================================================*/
#page-top #sec-about {
	padding-bottom: 120px;
	overflow: hidden;
	margin-bottom: 0;
}
#page-top #sec-about .inner {
	position: relative;
	padding-top: 48px;
}
#page-top #sec-about .inner:before {
	content: "";
	position: absolute;
	background: url(../images/top/about-bg.webp) no-repeat;
	background-size: contain;
	border-radius: 24px;
	width: 960px;
	height: 624px;
	top: 0;
	left: -100px;
	z-index: -1;
}
#page-top #sec-about .contents {
	color: #fff;
	font-family: var(--common-font-family-sub);
}
#page-top #sec-about .contents p {
	font-size: 20px;
	line-height: 1.8;
	margin-bottom: 24px;
}
#page-top #sec-about .contents h3 {
	font-weight: bold;
	color: #fff;
	font-size: 28px;
	line-height: 1.8;
	margin-bottom: 24px;
}
#page-top #sec-about .contents .parts-btn {
	text-align: left;
}
#page-top #sec-about .contents .parts-btn a {
	font-family: var(--common-font-family);
}
#page-top #sec-about .image {
	position: absolute;
	max-width: 493px;
	border-radius: 24px;
	overflow: hidden;
	right: 0;
	top: 120px;
}

/*============================================================
 料金・プラン
*============================================================*/
#page-top #sec-price {
	background: url(../images/top/plan-bg.webp) no-repeat center top / cover;
	color: var(--common-color-main);
	padding: 80px 0 40px;
	margin-bottom: 0;
}
#page-top #sec-price .sec-title:before {
	content: "";
	position: absolute;
	background: url(../images/top/sec-title-bg.svg) no-repeat;
	background-size: contain;
	width: 94px;
	height: 122px;
	left: -27px;
	top: -18px;
	z-index: -1;
}
#page-top #sec-price .sec-lead {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 72px;
}
#page-top #sec-price #price-list {
	margin-bottom: 66px;
}
#page-top #sec-price .block-frame {
	margin-bottom: 32px;
}
#page-top #sec-price .block-frame .info {
	width: 426px;
	color: var(--common-color-text);
	line-height: 1.8;
}
#page-top #sec-price .block-frame .info-price {
	font-size: 24px;
	font-family: var(--common-font-family-en);
}
#page-top #sec-price .block-frame .info-price p {
	font-weight: bold;
}
#page-top #sec-price .block-frame .info-price span {
	font-size: 48px;
	color: var(--common-color-main);
}
#page-top #sec-price .block-frame .info-price span small {
	font-size: 20px!important;
	color: var(--common-color-text);
}
#page-top #sec-price .block-frame .image {
	width: calc(100% - 480px);
}
#page-top #sec-price .notes {
	line-height: 1.8;
	margin-bottom: 64px;
}
#page-top #sec-price .parts-btn[data-name="cta"] {
	margin-top: 32px;
}
#page-top #sec-price .parts-btn[data-name="cta"] > * {
	font-size: 32px;
}

/*============================================================
 コラム
*============================================================*/
#page-top #sec-column {
	background: url(../images/top/column-bg.svg) no-repeat center top / cover;
	padding: 90px 0 72px;
}
#page-top #sec-column .sec-tag {
	margin-bottom: 24px;
}
#page-top #sec-column .sec-title {
	color: #fff;
}
#page-top #sec-column .sec-title h2 {
	color: #fff;
}
#page-top #sec-column .block-column {
	margin-bottom: 56px;
}

/*============================================================
 お客様の声
*============================================================*/
#page-top #sec-voice .inner {
	position: relative;
	padding: 72px 0;
}
#page-top #sec-voice .inner:before {
	position: absolute;
	content: "";
	top: 0;
	left: 50%;
	transform: translatex(-50%);
	width: calc(100% - 48px);
	height: 100%;
	border-radius: 24px;
	background: var(--common-color-background1);
}
#page-top #sec-voice .sec-title {
	text-align: center;
	position: relative;
	z-index: 1;
	margin-bottom: 74px;
}
#page-top #sec-voice .sec-title:before {
	position: absolute;
	content: "";
	background: url(../images/top/voice-title-bg.svg) no-repeat;
	background-size: contain;
	width: 94px;
	height: 122px;
	left: 50%;
	transform: translatex(-50%);
	top: -18px;
	z-index: -1;
}
#page-top #sec-voice .wrap {
	/*width: 100vw;
    margin-left: calc(50% - 50vw);*/
	position: relative;
}
#page-top #sec-voice .slick-arrow {
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	cursor: pointer;
	z-index: 1;
}
#page-top #sec-voice .prev-arrow {
	left: calc(50% - 430px);
}
#page-top #sec-voice .next-arrow {
	right: calc(50% - 430px);
}
#page-top #sec-voice .list {
	display: flex;
	flex-direction: column;
	gap: 48px;
}
#page-top #sec-voice .item {
	width: 800px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 24px;
}
#page-top #sec-voice .item-link {
	transition: all .3s;
}
#page-top #sec-voice .item-link:hover {
	opacity: 0.7;
}
#page-top #sec-voice .item-image {
	width: 240px;
}
#page-top #sec-voice .item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#page-top #sec-voice .item-contents {
	width: calc(100% - 240px);
	background: #fff;
	padding: 46px 40px;
}
#page-top #sec-voice .item-contents h3 {
	font-size: 24px;
	line-height: 1.5;
	color: var(--common-color-text);
	margin-bottom: 16px;
}
#page-top #sec-voice .item-contents p {
	line-height: 2;
}

/*============================================================
 よくある質問
*============================================================*/
#page-top #sec-faq {
	background: var(--common-color-background1);
	padding: 56px 0 72px;
}
#page-top #sec-faq .parts-accordions {
	margin-bottom: 80px;
}

/*============================================================
 お知らせ
*============================================================*/
#page-top #sec-news .block-news {
	margin-bottom: 40px;
}


/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 Tablet
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 1200px) {
	/*============================================================
	 メインビジュアル
	*============================================================*/
	#page-top #mainvisual {
		height: 474px;
		margin-bottom: 286px;
		overflow: visible;
	}
	#page-top #mainvisual .heading {
		padding-top: 120px;
	}
	#page-top #mainvisual .heading:before {
		width: 446px;
		height: 604px;
	}
	#page-top #mainvisual .heading p {
		font-size: 28px;
		margin-bottom: 32px;
	}
	#page-top #mainvisual .heading h2 {
		font-size: 64px;
	}
	#page-top #mainvisual .news-block .item {
		padding: 12px 24px;
	}
	#page-top #mainvisual .news-block .item:before {
		top: 24px;
	}
	#page-top #mainvisual .info {
		right: auto;
		left: 50%;
		transform: translatex(-50%);
		bottom: -265px;
	}
	#page-top #mainvisual .info-image .forPC {
		display: none;
	}
	#page-top #mainvisual .info-image .forSP {
		display: block;
	}
	#page-top #mainvisual .info-link {
		width: 100%;
		margin: 12px 0 16px;
		text-align: center;
	}
	#page-top #mainvisual .info-note {
		text-align: center;
	}
	
	/*============================================================
	 ピックアップキャンペーン
	*============================================================*/
	#page-top #sec-campaign {
		margin-bottom: 64px;
	}
}
@media screen and (max-width: 1120px) {
	/*============================================================
	 ピックアップキャンペーン
	*============================================================*/
	#page-top #sec-campaign {
		margin-left: 24px;
	}
}
@media screen and (max-width: 1008px) {
	/*============================================================
	 ピックアップキャンペーン
	*============================================================*/
	#page-top #sec-campaign {
		padding-left: 32px;
	}
	
	/*============================================================
	 こだわり
	*============================================================*/
	#page-top #sec-about {
		padding-bottom: 290px;
	}
	#page-top #sec-about .image {
		max-width: 472px;
		top: 465px;
		border-radius: 24px 0 0 24px;
	}
	
	/*============================================================
	 料金・プラン
	*============================================================*/
	#page-top #sec-price .block-frame .parts-boxes {
		justify-content: center;
		align-items: center;
		gap: 40px;
	}
	#page-top #sec-price .block-frame .parts-boxes .info {
		width: 100%;
		text-align: center;
	}
	#page-top #sec-price .block-frame .parts-boxes .image {
		width: 100%;
		max-width: 400px;
	}
	
	/*============================================================
	 コラム
	*============================================================*/
	#page-top #sec-column .block-column {
		justify-content: center;
	}
	
	/*============================================================
	 お客様の声
	*============================================================*/
	#page-top #sec-voice .next-arrow {
		right: 24px;
	}
	#page-top #sec-voice .prev-arrow {
		left: 24px;
	}
	#page-top #sec-voice .list {
		padding: 0 48px;
	}
	#page-top #sec-voice .item {
		width: 100%;
	}
	#page-top #sec-voice .item-contents h3 {
		font-size: 28px;
	}
	/*#page-top #sec-voice .list {
		flex-direction: row;
		overflow-x: scroll;
	}
	#page-top #sec-voice .item {
		min-width: 400px;
		width: 400px;
		margin: 0;
	}
	#page-top #sec-voice .item-link {
		flex-direction: column;
	}
	#page-top #sec-voice .item-image {
		width: 100%;
		height: 260px;
	}
	#page-top #sec-voice .item-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#page-top #sec-voice .item-contents {
		width: 100%;
		padding: 24px 32px;
	}
	#page-top #sec-voice .item-contents h3 {
		font-size: 24px;
		margin-bottom: 16px;
	}
	#page-top #sec-voice .item-contents p {
		font-size: 14px;
	}*/
}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 SP
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 767px) {
	/*============================================================
	 commonカスタム
	*============================================================*/
	#page-top .sec-title {
		margin-bottom: 24px;
	}
	#page-top .sec-title .en {
		margin-bottom: 0;
	}
	
	/*============================================================
	 メインビジュアル
	*============================================================*/
	#page-top #mainvisual .news-block {
		max-width: 100%;
		top: 0;
		left: 0;
		border-radius: 0;
	}
	
	/*============================================================
	 こだわり
	*============================================================*/
	#page-top #sec-about {
		padding-bottom: 360px;
	}
	#page-top #sec-about .inner {
		padding-top: 40px;
	}
	#page-top #sec-about .inner:before {
		height: 604px;
	}
	#page-top #sec-about .image {
		top: 555px;
		max-width: 430px;
	}
	#page-top #sec-about .contents p {
		font-size: 18px;
	}
	#page-top #sec-about .contents h3 {
		font-size: 24px;
	}
	
	/*============================================================
	 料金・プラン
	*============================================================*/
	#page-top #sec-price .sec-lead {
		margin-bottom: 40px;
	}
	#page-top #sec-price .parts-btn[data-name="cta"] > * {
		font-size: 24px;
	}
	
	/*============================================================
	 コラム
	*============================================================*/
	#page-top #sec-column {
		position: relative;
		padding: 48px 0;
		background: url(../images/top/column-bg-sp.svg) no-repeat center top / cover;
	}
	
	/*============================================================
	 お客様の声
	*============================================================*/
	#page-top #sec-voice .inner {
		padding: 48px 0;
	}
	#page-top #sec-voice .sec-title {
		margin-bottom: 48px;
	}
	#page-top #sec-voice .list {
		flex-direction: row;
		overflow-x: scroll;
		gap: 32px;
	}
	#page-top #sec-voice .item {
		min-width: 320px;
		width: 320px;
		margin: 0;
	}
	#page-top #sec-voice .item-link {
		flex-direction: column;
	}
	#page-top #sec-voice .item-image {
		width: 100%;
		height: 260px;
	}
	#page-top #sec-voice .item-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#page-top #sec-voice .item-contents {
		width: 100%;
		padding: 24px 18px;
	}
	#page-top #sec-voice .item-contents h3 {
		font-size: 24px;
		margin-bottom: 16px;
	}
	#page-top #sec-voice .item-contents p {
		font-size: 14px;
	}
	
	/*============================================================
	 よくある質問
	*============================================================*/
	#page-top #sec-faq {
		padding: 32px 0 48px;
	}
	#page-top #sec-faq .parts-accordions {
		margin-bottom: 48px;
	}
	
}

@media screen and (max-width: 480px) {
	/*============================================================
	 メインビジュアル
	*============================================================*/
	#page-top #mainvisual {
		height: 600px;
		margin-bottom: 300px;
		background-image: url(../images/top/mainvisual-bg-sp.webp);
		background-position: center center;
	}
	#page-top #mainvisual .heading {
		padding-top: 205px;
	}
	#page-top #mainvisual .heading:before {
		top: 138px;
		width: 280px;
		height: 364px;
	}
	#page-top #mainvisual .heading p {
		font-size: 20px;
	}
	#page-top #mainvisual .heading h2 {
		font-size: 48px;
	}
	#page-top #mainvisual .info {
		bottom: -300px;
		display: flex;
		flex-direction: column;
		max-width: 100%;
	}
	#page-top #mainvisual .info-image {
		order: 1;
		max-width: 340px;
		margin: 0 auto 20px;
	}
	#page-top #mainvisual .info-link {
		order: 3;
		width: 100%;
		border-radius: 0;
		padding: 30px 14px;
		font-size: 14px;
		text-align: left;
		margin: 0;
	}
	#page-top #mainvisual .info-link:before {
		top: 35px;
	}
	#page-top #mainvisual .info-link span {
		font-size: 14px;
	}
	#page-top #mainvisual .info-link .pc {
		display: none;
	}
	#page-top #mainvisual .info-note {
		order: 2;
		max-width: 340px;
		width: 100%;
		margin: 0 auto 24px;
		font-size: 10px;
		color: var(--common-color-main);
		font-weight: bold;
		text-align: left;
	}
	
	/*============================================================
	 ピックアップキャンペーン
	*============================================================*/
	#page-top #sec-campaign {
		margin-left: 0;
		border-radius: 0;
		padding-left: 24px;
		margin-bottom: 40px;
	}

	/*============================================================
	 こだわり
	*============================================================*/
	#page-top #sec-about {
		padding-bottom: 280px;
	}
	#page-top #sec-about .inner {
		padding-right: 30px;
	}
	#page-top #sec-about .inner:before {
		width: 100%;
		height: 575px;
		background-position: center center;
		background-size: cover;
		left: -20px;
	}
	#page-top #sec-about .image {
		max-width: 310px;
		width: 100%;
		top: 520px;
	}
	#page-top #sec-about .contents p {
		font-size: 14px;
		line-height: 2;
	}
	#page-top #sec-about .contents h3 {
		font-size: 16px;
	}
	
	/*============================================================
	 料金・プラン
	*============================================================*/
	#page-top #sec-price {
		background: none;
		background-color: var(--common-color-background1);
		padding-top: 72px;
		position: relative;
	}
	#page-top #sec-price:before {
		content: "";
		position: absolute;
		background: url(../images/top/plan-nami-sp.webp) no-repeat center bottom / cover;
		width: 100%;
		height: 8vw;
		top: 0;
		left: 0;
	}
	#page-top #sec-price .sec-title:before {
		width: 66px;
		height: 86px;
		left: -18px;
		top: -4px;
	}
	#page-top #sec-price .block-frame .parts-boxes .info {
		font-size: 14px;
		font-weight: bold;
	}
	#page-top #sec-price .block-frame .info-price {
		font-size: 20px;
	}
	#page-top #sec-price .block-frame .info-price span {
		font-size: 40px;
	}
	
	/*============================================================
	 コラム
	*============================================================*/
	#page-top #sec-column {
		padding-top: 64px;
	}
	#page-top #sec-column:before {
		content: "";
		position: absolute;
		background:url(../images/top/column-nami-sp.webp) no-repeat center top / cover;
		width: 100%;
		height: 8vw;
		z-index: 1;
		top: -2px;
		left: 0;
	}

	/*============================================================
	 お客様の声
	*============================================================*/
	#page-top #sec-voice .slick-arrow {
		display: none!important;
	}
	#page-top #sec-voice .inner:before {
		width:calc(100% - 28px);
	}
	#page-top #sec-voice .list {
		gap: 20px;
		padding: 0 28px;
	}
	#page-top #sec-voice .item {
		width: 310px;
	}
}

