/***********共通***********/
#idTopContents {
	font-family : "Noto Sans JP", sans-serif;
}

#idTopContents .text .bold {
	font-weight : bold;
}

#idTopContents .section-block {
	padding-bottom : 80px;
	margin-bottom  : 60px;
	position       : relative;
}

#idTopContents .section-block:after {
	content    : "";
	position   : absolute;
	left       : 50%;
	transform  : translateX(-50%);
	width      : 100vw;
	height     : 20px;
	background : #F7F7F7;
	bottom     : 0;
}

#idTopContents .btn-menu-shiborikomi-open-fixed:before {
	content     : "\e903　";
	font-family : 'icomoon' !important;
}

#idTopContents .btn-menu-shiborikomi-open-fixed {
	position         : fixed;
	width            : 180px;
	height           : 50px;
	bottom           : 45px;
	color            : #FFFFFF;
	background-color : #000000;
	border-radius    : 25px;
	filter           : drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
	z-index          : 10;
	display          : flex;
	justify-content  : center;
	align-items      : center;
	text-decoration  : none;
	font-weight      : 700;
	letter-spacing   : -5%;
	left             : 50%;
	transform        : translateX(-50%);
}

/***********ボタン***********/
#idTopContents .btn-open,
#idTopContents .btn-next,
#idTopContents .btn-close {
	width           : 244px;
	height          : 50px;
	display         : flex;
	align-items     : center;
	justify-content : center;
	letter-spacing  : 0.07em;
	border          : 1px solid #000000;
	margin          : 0 auto;
	font-size       : 14px;
	text-align      : center;
	line-height     : 1.5em;
}

#idTopContents .btn-open {
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/arrow-down-black.svg") no-repeat calc(100% - 16px) center;
	background-size : 9px;
}

#idTopContents .btn-next {
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/arrow-next-black.svg") no-repeat calc(100% - 12px) center;
	background-size : 20px;
}

#idTopContents .btn-close {
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/arrow-up-black.svg") no-repeat calc(100% - 16px) center;
	background-size : 9px;
}

#idTopContents .btn-open.closed:after {
	bottom : 20px;
	right  : 56px;
}

/***********maincatch***********/
#idTopContents .maincatch {
	padding       : 0 3px 0 3px;
	margin-bottom : 90px;
}

#idTopContents .maincatch div:first-child {
	margin-bottom : 6px;
}

#idTopContents .maincatch.grid {
	grid-gap : 6px;
}

#idTopContents .main-catch .swiper-frontpage-pagination {
	position    : relative;
	margin-top  : 28px;
	line-height : 1;
}

#idTopContents .main-catch .swiper-frontpage-pagination .swiper-pagination-bullet {
	display       : inline-block;
	opacity       : 0.2;
	width         : 8px;
	height        : 8px;
	margin        : 0 5px;
	border-radius : 100%;
	background    : #000000;
	cursor        : pointer;
}

#idTopContents .main-catch .swiper-frontpage-pagination .swiper-pagination-bullet-active {
	opacity    : 1;
	background : #000000;
}

#idTopContents .contents-side-margin {
	margin : 0 27px;
}

/***********スワイパー***********/
#idTopContents .swiper-pagination-line {
	position   : relative;
	margin-top : 16px;
}

#idTopContents .swiper-pagination-line .swiper-pagination-bullet {
	margin           : 0 !important;
	padding          : 0;
	height           : 2px;
	border-radius    : 0;
	background-color : #888888;
}

#idTopContents .swiper-pagination-line .swiper-pagination-bullet-active {
	height           : 3px;
	background-color : #888888;
}

#idTopContents .swiper-contents-top {
	margin : 0 7px 40px 10px;
}

#idTopContents .swiper-contents-top .swiper-wrapper {
	height : auto;
}

#idTopContents .swiper-pagination-line {
	position   : relative;
	margin-top : 16px;
}

#idTopContents .swiper-contents-top .swiper-slide,
#idTopContents .swiper-magazine .swiper-slide {
	opacity : 0.3;
}

#idTopContents .swiper-contents-top .swiper-slide.swiper-slide-active,
#idTopContents .swiper-magazine .swiper-slide.swiper-slide-active {
	opacity : 1;
}

/***********アンカーリンク***********/
#idTopContents .page-anchor-links {
	text-align    : center;
	margin-bottom : 50px;
}

#idTopContents .page-anchor-links.grid {
	grid-template-columns : repeat(3, 1fr);
	text-align            : center;
}

#idTopContents .page-anchor-links img {
	height : 33px;
}

#idTopContents .anchor-links-buttons {
	display         : flex;
	flex-wrap       : wrap;
	justify-content : center;
	gap             : 8px;
	margin-bottom   : 24px;
	padding         : 0 10px;
}

#idTopContents .anchor-links-button {
	display          : flex;
	align-items      : center;
	justify-content  : center;
	position         : relative;
	background-color : #ACABA3;
	color            : #fff;
	text-decoration  : none;
	text-align       : center;
	border-radius    : 999px;
	padding          : 8px 25px 8px 16px;
	font-size        : 10px;
	font-weight      : bold;
	line-height      : 1.4;
	flex             : 1 1 calc(33.333% - 16px);
	min-width        : 110px;
	max-width        : 200px;
	box-sizing       : border-box;
	white-space      : normal;
}

@media screen and (max-width : 360px) {
	#idTopContents .anchor-links-button {
		flex : 1 1 100%;
	}
}

#idTopContents .anchor-links-button::after {
	content         : "";
	display         : inline-block;
	width           : 15px;
	height          : 15px;
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/arrow-down-white.svg") no-repeat center center;
	background-size : contain;
	position        : absolute;
	right           : 12px;
	top             : 50%;
	transform       : translateY(-50%);
}

#idTopContents .catch-full {
	margin-bottom : 20px;
}

#idTopContents .catch-description {
	font-size      : 11px;
	font-weight    : 700;
	letter-spacing : 0.08em;
	line-height    : 2;
	margin-bottom  : 30px;
}

#idTopContents .contents-side-margin .catch-full {
	margin-left  : -18px;
	margin-right : -18px;
}

#idTopContents .scroll-yoko {
	margin-bottom : 30px;
}

#idTopContents .scroll-yoko.overflow {
	margin-bottom : 35px;
}

#idTopContents .scroll-yoko div {
	display      : inline-block;
	width        : 125px;
	margin-right : 20px;
	position     : relative;
}

#idTopContents .scroll-yoko figure img {
	margin-bottom : 10px;
}

#idTopContents .scroll-yoko figcaption {
	text-align    : center;
	line-height   : normal;
	margin-bottom : 30px;
}

#idTopContents .scroll-yoko figcaption .product-name {
	font-size          : 13px;
	font-weight        : 500;
	height             : 40px;
	white-space        : normal;
	margin-bottom      : 5px;
	overflow           : hidden;
	display            : -webkit-box;
	text-overflow      : ellipsis;
	-webkit-box-orient : vertical;
	-webkit-line-clamp : 2;
	text-align: left;
}

#idTopContents .scroll-yoko figcaption .product-kakaku {
	font-size   : 14px;
	font-weight : 700;
	text-align: left;
}

#idTopContents .scroll-yoko figcaption span.tax {
	font-size   : 8px;
	font-weight : 700;
}

/***********各セクションヘッダータイトル***********/
#idTopContents .header {
	margin-bottom : 10px;
	z-index       : 1;
}

/*#idTopContents .sub-header {*/
/*	font-size      : 12px;*/
/*	font-weight    : 700;*/
/*	letter-spacing : 0.08em;*/
/*	margin-bottom  : 5px;*/
/*	height         : fit-content;*/
/*}*/

#idTopContents .header-text {
	font-size      : 23px;
	font-weight    : 300;
	line-height    : 1;
	letter-spacing : 2px;
}

#idTopContents .sub-header-text {
	margin-bottom  : 22px;
	letter-spacing : 0.08em;
	font-size: 14px;
}

/***********NEWS***********/
#idTopContents .news-ichiran .news-wrapper .news {
	font-size      : 13px;
	line-height    : 166%;
	letter-spacing : 0.13em;
	padding        : 12px 3px 12px 3px;
	border-bottom  : 1px solid #888888;
}

#idTopContents .news-ichiran .news-wrapper .news .date {
	font-size : 12px;
	color     : #4F4941;
}

#idTopContents .news-ichiran .news-wrapper .news .title a {
	text-decoration : none;
}

/***********SCENE 贈るシーンから選ぶ***********/
/***********WEDDING 結婚式シーンから選ぶ***********/
#idTopContents .scene-ichiran {
	position      : relative;
	margin-bottom : 60px;
}

#idTopContents .scene-ichiran .grid-ichiran,
#idTopContents .wedding-scene-ichiran .grid-ichiran {
	display               : grid;
	grid-template-columns : repeat(3, 1fr);
	gap                   : 17px;
	text-align            : center;
	margin-bottom         : 30px;
}

#idTopContents .scene-ichiran .slide.closed,
#idTopContents .wedding-scene-ichiran .slide.closed {
	display : none;
}

#idTopContents .scene-ichiran .scene-ichiran-category.anniversary {
	margin-bottom : 60px;
}

#idTopContents .wedding-scene-ichiran .scene-ichiran-category.wedding {
	margin-bottom : 40px;
}

#idTopContents .scene-ichiran .label,
#idTopContents .wedding-scene-ichiran .label {
	font-size       : 12px;
	display         : flex;
	justify-content : center;
	align-items     : center;
	text-align      : center;
	margin-top      : 2px;
	letter-spacing  : 0.03em;
	line-height     : 1rem;
	height          : 34px;
}

#idTopContents .wedding-scene-ichiran .header-img {
	margin-bottom : 25px;
}

/***********RANKING***********/
#idTopContents .ranking-ichiran-category .sub-header {
	margin-bottom : 15px;
}

#idTopContents .ranking-ichiran-category .grid {
	margin-bottom : 20px;
	display       : flex;
	flex-wrap: wrap;
}

#idTopContents .ranking-ichiran-category .tab-menu {
	font-size     : 14px;
	font-weight   : bold;
	color         : #888;
	border-bottom : none;
	position      : relative;
	margin-right  : 20px;
	white-space: nowrap;
	margin-bottom: 5px;
}

#idTopContents .ranking-ichiran-category .tab-menu.selected {
	color        : #000;
	font-size    : 14px;
	font-weight  : bold;
	color        : #000;
	padding-left : 15px;
}

#idTopContents .ranking-ichiran-category .tab-menu.selected::before {
	content         : "";
	position        : absolute;
	left            : 0;
	width           : 14px;
	height          : 17px;
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/arrow-next-black-mini.svg") no-repeat center center;
	background-size : contain;
	transform       : translateY(20%);
}

#idTopContents .ranking-ichiran-category figure {
	position : relative;
}

#idTopContents .ranking-ichiran-category figure.ranking1:before {
	content         : "";
	position        : absolute;
	top             : 0;
	left            : 0;
	width           : 23px;
	height          : 23px;
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/ranking1.png") no-repeat center top;
	background-size : contain;
}

#idTopContents .ranking-ichiran-category figure.ranking2:before {
	content         : "";
	position        : absolute;
	top             : 0;
	left            : 0;
	width           : 23px;
	height          : 23px;
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/ranking2.png") no-repeat center top;
	background-size : contain;
}

#idTopContents .ranking-ichiran-category figure.ranking3:before {
	content         : "";
	position        : absolute;
	top             : 0;
	left            : 0;
	width           : 23px;
	height          : 23px;
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/ranking3.png") no-repeat center top;
	background-size : contain;
}

#idTopContents .ranking-ichiran-category figure.ranking4:before {
	content         : "";
	position        : absolute;
	top             : 0;
	left            : 0;
	width           : 23px;
	height          : 23px;
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/ranking4.png") no-repeat center top;
	background-size : contain;
}

#idTopContents .ranking-ichiran-category figure.ranking5:before {
	content         : "";
	position        : absolute;
	top             : 0;
	left            : 0;
	width           : 23px;
	height          : 23px;
	background      : url("/wp-content/themes/hyacca/common/assets/img/front-page/ranking5.png") no-repeat center top;
	background-size : contain;
}

/***********NEW RELEASE***********/
#idTopContents .newrelease-ichiran {
	margin-right : -8px;
}

/***********BRAND 人気ブランド***********/
#idTopContents .brand-ichiran {
	position      : relative;
	margin-bottom : 60px;
}

#idTopContents .brand-ichiran .grid {
	display               : grid;
	grid-template-columns : repeat(3, 1fr);
	grid-gap              : 17px;
	text-align            : center;
	margin-bottom         : 30px;
}

#idTopContents .brand-ichiran .button img {
	width  : 189px;
	border : 1px solid #4F4941;
}

#idTopContents .brand-ichiran .slide.closed {
	display : none;
}

/***********サービス紹介***********/
/***********ブライダルサービス紹介***********/
#idTopContents .service-ichiran .service-ichiran-header,
#idTopContents .service-wedding-ichiran .service-wedding-ichiran-header {
	margin-bottom : 43px;
	text-align    : center;
}

#idTopContents .service-ichiran .service-ichiran-header img {
	width         : 45px;
	margin-bottom : 15px;
}

#idTopContents .service-wedding-ichiran .service-wedding-ichiran-header img {
	width         : 35px;
	margin-bottom : 15px;
}

#idTopContents .service-ichiran .service-ichiran-header .title,
#idTopContents .service-wedding-ichiran .service-wedding-ichiran-header .title {
	font-size     : 18px;
	font-weight   : bold;
	line-height   : 1.5;
	margin-bottom : 12px;
}

#idTopContents .service-ichiran .service-ichiran-header p,
#idTopContents .service-wedding-ichiran .service-wedding-ichiran-header p {
	font-size     : 14px;
	line-height   : 1.5em;
	margin-bottom : 15px;
}

#idTopContents .service-ichiran .service-feature,
#idTopContents .service-wedding-ichiran .service-feature {
	display       : flex;
	align-items   : center;
	text-align    : left;
	margin-bottom : 35px;
}

#idTopContents .service-ichiran .service-feature img,
#idTopContents .service-wedding-ichiran .service-feature img {
	width        : 85px;
	margin-right : 10px;
	flex-shrink  : 0;
}

#idTopContents .service-ichiran .service-feature .title,
#idTopContents .service-wedding-ichiran .service-feature .title {
	font-size     : 16px;
	font-weight   : bold;
	margin-bottom : 6px;
	line-height   : 1.5em;
}

#idTopContents .service-ichiran .service-feature p,
#idTopContents .service-wedding-ichiran .service-feature p {
	font-size   : 14px;
	line-height : 1.5em;
}

#idTopContents .service-ichiran .service-feature p a,
#idTopContents .service-wedding-ichiran .service-feature p a {
	text-decoration : underline;
}

#idTopContents .service-ichiran .note,
#idTopContents .service-wedding-ichiran .note {
	font-size     : 10px;
	text-align    : center;
	margin-bottom : 30px;
}

#idTopContents .service-ichiran .slide.closed,
#idTopContents .service-wedding-ichiran .slide.closed {
	display : none;
}

/***********REVIEW***********/
#idTopContents .customer-voice .customer-voice-header {
	text-align : center;
}

#idTopContents .customer-voice .customer-voice-header .title {
	font-size   : 13px;
	font-weight : bold;
}

#idTopContents .customer-voice .customer-voice-header .review {
	display         : flex;
	justify-content : center;
	align-items     : center;
	gap             : 8px;
	margin-bottom   : 20px;
}

#idTopContents .customer-voice .customer-voice-header .review p {
	font-size   : 26px;
	font-weight : bold;
	margin      : 0 0 4px;
}

#idTopContents .customer-voice .customer-voice-header .review .text-small {
	font-size   : 19px;
	font-weight : normal;
}

#idTopContents .customer-voice .customer-voice-header .review img {
	width  : auto;
	height : 15px;
}

#idTopContents .customer-voice .swiper-slide {
	height : auto;
}

#idTopContents .customer-voice .swiper-maincatch-thumbnail .swiper-slide {
	width : calc(100vw / 6);
}

#idTopContents .customer-voice .slide-wrapper {
	margin-bottom : 25px;
}

#idTopContents .customer-voice .swiper-maincatch-thumbnail .swiper-wrapper li .hyouji-play-btn::after {
	content         : "";
	position        : absolute;
	top             : 0;
	width           : 100%;
	height          : 100%;
	background      : url("https://asset.hyacca.online/wp-content/themes/hyacca/sp/assets/img/common/play.png") no-repeat center;
	background-size : 28px auto;
	opacity         : 0.9;
}

#idTopContents .customer-voice .swiper-customervoice-preview-prev,
#idTopContents .customer-voice .swiper-customervoice-preview-next {
	display : none;
}

#idTopContents .customer-voice .popup-swiper .swiper-slide.slide-posts {
	height         : 710px;
	overflow       : auto;
	padding-bottom : 40px;
}

#idTopContents .customer-voice .popup-swiper-wrapper .popup-wrapper {
	top         : 20px;
	height      : 100%;
	margin-left : -25px;
}

#idTopContents .customer-voice .popup-swiper-wrapper .popup {
	width   : 90%;
	height  : 100%;
	margin  : 0 auto;
	padding : 45px 18px 30px;
}

#idTopContents .customer-voice .popup-swiper-wrapper .popup .popup-swiper-wrapper-grid .images {
	width : 100%;
}

#idTopContents .customer-voice .popup-swiper-wrapper .popup .popup-btn-close {
	top   : -8px;
	right : 15px;
}

#idTopContents .customer-voice .popup-swiper-wrapper .swiper-preview .comment {
	display            : -webkit-box;
	-webkit-box-orient : vertical;
	-webkit-line-clamp : 4;
	overflow           : hidden;
	height             : 85px;
}

#idTopContents .customer-voice .popup-swiper-wrapper .swiper-preview .swiper-button-prev,
#idTopContents .customer-voice .popup-swiper-wrapper .swiper-preview .swiper-button-next {
	display : none;
}

#idTopContents .customer-voice .popup-swiper-wrapper .header {
	display : none;
}

#idTopContents .customer-voice .popup-swiper .popup-swiper-pagination {
	background-color : #FFFFFF;
	bottom           : 0;
	height           : 10px;
}

#idTopContents .customer-voice .popup-swiper .swiper.images .swiper-button-prev,
#idTopContents .customer-voice .popup-swiper .swiper.images .swiper-button-next {
	top : 45%;
}

#idTopContents .customer-voice .popup-swiper .swiper.images .swiper-pagination-bullet-active {
	background-color : #FFFFFF;
}

#idTopContents .customer-voice .popup-swiper .popup-swiper-prev {
	left : -1px;
}

#idTopContents .customer-voice .popup-swiper .popup-swiper-next {
	right : -1px;
}

#idTopContents .customer-voice .popup-swiper div.popup-side-margin {
	margin : 0 27px;
}

#idTopContents .customer-voice .popup-wrapper {
	font-size   : 12px;
	font-weight : 400;
	z-index     : 80;
}

#idTopContents .customer-voice .slide-wrapper .popup-wrapper {
	margin : 0 -18px;
	bottom : 0;
}

#idTopContents .customer-voice .popup figure {
	margin-bottom : 20px;
}

#idTopContents .customer-voice .popup a {
	text-decoration : underline;
}

#idTopContents .customer-voice .popup-swiper-wrapper .link-popup {
	text-decoration : none;
}

#idTopContents .customer-voice .lst-customervoice {
	margin-right : -26px;
}

#idTopContents .customer-voice .lst-customervoice .images {
	margin-bottom : 15px;
}

#idTopContents .customer-voice .lst-customervoice .product-name {
	font-size          : 13px;
	font-weight        : 700;
	margin-bottom      : 10px;
	display            : -webkit-box;
	-webkit-box-orient : vertical;
	-webkit-line-clamp : 2;
	overflow           : hidden;
	height             : 45px;
}

#idTopContents .customer-voice .lst-customervoice .rating {
	font-size      : 15px;
	font-weight    : 700;
	line-height    : 1.4;
	letter-spacing : 0.1em;
	margin-bottom  : 10px;
}

#idTopContents .customer-voice .lst-customervoice .user {
	color         : #777777;
	line-height   : 1.7;
	margin-bottom : 10px;
}

#idTopContents .customer-voice .lst-customervoice .user .grid {
	grid-template-columns : 45px auto;
}

#idTopContents .customer-voice .lst-customervoice .form-link {
	display : none;
}

#idTopContents .customer-voice .popup-swiper-wrapper .customervoice .popup-table {
	height : 100%;
}

#idTopContents .customer-voice .popup-swiper-wrapper .customervoice .popup-tablecell {
	height : 100%;
}

/***********ABOUT***********/
#idTopContents .about-us {
	margin-bottom : 60px;
}

#idTopContents .about-us div img {
	margin-bottom : 23px;
}

#idTopContents .about-us .text {
	font-size     : 14px;
	line-height   : 1.66;
	margin-bottom : 22px;
}

/***********GIFT MAGAZINE***********/
#idTopContents .magazine-ichiran {
	margin-bottom : 40px;
}

#idTopContents .magazine-ichiran .swiper-magazine {
	margin : 0 -27px 0 -27px;
}

#idTopContents .magazine-ichiran .swiper-magazine .swiper-wrapper {
	height : 200px;
}

#idTopContents .magazine-ichiran .swiper .swiper-slide a {
	display         : flex;
	flex-direction  : column;
	width           : 100%;
	height          : 100%;
	text-decoration : none;
}

#idTopContents .magazine-ichiran .swiper .swiper-slide img {
	width      : 100%;
	height     : 120px;
	display    : block;
	object-fit : cover;
}

#idTopContents .magazine-ichiran .swiper-slide .title {
	display : none;
}

#idTopContents .magazine-ichiran .swiper .swiper-slide.swiper-slide-active .title {
	margin-top  : 10px;
	font-size   : 13px;
	line-height : 1.5;
	color       : inherit;
	display     : block;
}

#idTopContents .magazine-ichiran .grid .swiper-magazine {
	width              : 100%;
	grid-area          : 1 / 1 / 2 / 3;
	height             : 380px;
	display            : grid;
	grid-template-rows : repeat( 2, auto );
	margin-right       : -28px;
	margin-left        : -28px;
}

#idTopContents .magazine-ichiran .grid .swiper-magazine .swiper-wrapper {
	height : 100%;
}

#idTopContents .magazine-ichiran .swiper-pagination-line {
	margin     : 15px auto;
	width      : 90%;
	text-align : center;
}

/***********人気のタグ一覧***********/
#idTopContents .tag-ichiran {
	margin : 27px;
}

#idTopContents .tag-ichiran .lst-shiborikomi-option {
	padding : 0;
}

#idTopContents .tag-ichiran .small-header {
	font-size    : 14px;
	display      : flex;
	align-items  : center;
	height       : 50px;
	padding-left : 5px;
}

