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

#footer .box_footer .box_flex .box_right .box_btn div p a {
	border: none;
	color: #161616;
    background-color: #fff;
	font-weight: 500;
}
#homepage .con_news .btn_more {
	text-align: right;
}
#homepage .con_news .btn_more a {
	font-size: 160%;
}
@media screen and (max-width: 767px) {
	#fix_nav p.btn_rsv a {
		color: #161616;
        background: url(../images/common/bg_btn-rsv.jpg) center center / cover no-repeat;
	}
	    #homepage .con_dayplan .box_dayplan {
        padding-bottom: 27em;
    }
	#homepage .con_news .btn_more a {
		font-size: 123%;
	}
}
.con_propose .box_option {
	background: url(../images/dress/bg1_1.webp) center 0 repeat-y;
}
.con_propose .potionbox .flbox .lbox .box1 .box_tbl .tbl_basic th {
	font-size: 125%;
}
.con_propose .box_option .option .box .wrp .st1 {
	word-break: keep-all;
}
.custom-posts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 20px;
	margin-top: 50px;
}
@media screen and (max-width: 960px) {
	.custom-posts {
		grid-template-columns: unset;
	}
}
.custom-post-card {
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}
.custom-post-card a {
	text-decoration: none;
}
.custom-post-card:hover {
    transform: translateY(-5px);
}
.custom-post-thumb img {
    width: 100%;
    height: auto;
    display: block;
}
.custom-post-excerpt {
    padding: 20px;
    font-size: 0.9em;
    color: #333;
	    font-size: 18px;
}
.box_line {
	margin-top: 30px;
}
.box_line a {
	color: #fff;
	text-decoration: none;
	display: inline-flex;
    color: #fff;
    text-decoration: none;
    align-items: center;
    position: relative;
}
.box_line a::before {
	content: "";
    display: inline-block;
    background: url(../images/footer/LINE_Brand_icon.png) no-repeat;
    width: 2em;
    height: 2.2em;
    margin-right: 15px;
    margin-top: 0;
    background-size: contain !important;
}
#homepage .con_instagram .box_instagram {
	margin: 0 auto;
	width: 80%;
}
#homepage .con_instagram .box_instagram .box_text,.con_gallery .o_ttl1 {
	margin: 50px 0;
}
.review_box .btn_more {
	text-align: center;
	margin: 30px auto;
}
.potionbox .box_slide {
	margin-top: 2rem;
}
.potionbox .box_slide .img span {
	color: #fff;
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
    font-weight: 700;
    text-align: center;
}
.slick-prev-custom,
.slick-next-custom {
  cursor: pointer;
  font-size: 24px;
  border: 2px solid #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  user-select: none;
	width: 30px;
	height: 30px;
	display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 50px;
}

.slick-prev-custom {
  left: 10px;
}
.slick-prev-custom::after{
	content: '<';
	font-size: 20px;
	color: #fff;
}

.slick-next-custom {
  right: 10px;
}
.slick-next-custom::after{
	content: '>';
	font-size: 20px;
	color: #fff;
}
#footer .box_footer .box_flex .box_right .address a {
	color: #fff;
}
@media screen and (max-width: 767px) {
	.con_wedding_items {
	margin: 6em 0 4em;
}
	#homepage .con_instagram .box_instagram .box_text {
		margin: 30px 0 0;
	}
	.con_wedding_items>.box_text .o_ttl1 {
		margin-bottom: 2em;
	}
}
#starwedding .con_propose .potionbox .flbox {
	display: block;
}
#starwedding .con_propose .potionbox .flbox .lbox {
	margin: 0 auto;
}
#daywedding .pricebox .textbox {
	margin-bottom: 5rem;
}
.pricebox h4.plan_title {
	font-size: 18px;
	font-weight: normal;
	margin-bottom: 2rem;
}
.pricebox h4.plan_title .en {
	font-family: 'El Messiri', sans-serif;
	margin-right: 1rem;
	font-size: 26px;
	font-weight: bold;
}
#daywedding .box_option .box .img,
#dayfamily .box_option .box .img,
#starwedding .potionbox .flbox .lbox .box1 .img,
#weddingsunset .box_option .box .img {
	text-align: center;
	margin: 1rem auto;
}
#daywedding .pricebox .flex .plan_title small {
		display: block;
	}
.con_propose .box_option .option .box iframe {
	    width: 100%;
    max-height: 200px;
	margin: 1rem auto;
}
@media screen and (min-width: 961px) {
	#daywedding .pricebox .flex {
	display: flex;
	}
	#daywedding .pricebox .textbox {
		width: 29%;
	}
	#daywedding .pricebox .textbox .tbl_basic th {
		        text-align: center;
        background: #e3efef;
	}
	#daywedding .pricebox .textbox .tbl_basic th,
	#daywedding .pricebox .textbox .tbl_basic td {
		display: block;
    width: 100%;
		 text-align: center;
	}
	#daywedding .pricebox .textbox .tbl_basic .center_txt td {
		text-align: center;
	}
}
.welcomeboard .slick-track {
	display: flex;
	align-items: center;
}
@media screen and (max-width: 1199px) {
	#daywedding .pricebox h4.plan_title {
	margin-bottom: 1rem;
		padding-top: 1rem;
}
	#daywedding .table_wrap {
		overflow: scroll;
		padding: 0 20px;
	}
	#daywedding .table_wrap table {
		width: 1000px;
		border-spacing: 10px 0;
		border-collapse: separate;
	}
	#daywedding .table_wrap thead th {
		text-align: center;
	}
	#daywedding .table_wrap thead th small {
		display: block;
	}
	#daywedding .table_wrap tbody th {
		background-color: #e3efef;
		padding: 1rem .5rem;
		font-size: 14px;
		text-align: center;
		border-bottom: 2px solid;
		min-width: 9rem;
	}
	#daywedding .table_wrap tbody td {
		padding: 1rem;
		font-size: 14px;
		border-bottom: 2px solid;
	}
	#daywedding .table_wrap tbody td span.prise {
		    font-size: 250%;
    font-family: 'El Messiri', sans-serif;
    text-transform: uppercase;
	}
	#daywedding .table_wrap thead th:nth-child(2){background-color: #fff4f8;}
	#daywedding .table_wrap thead th:nth-child(3){background-color: #fbf4ff;}
	#daywedding .table_wrap thead th:nth-child(4){background-color: #f5f4ff;}
	#daywedding .table_wrap tbody td:nth-child(2) {
		background-color: #fff4f8;
		width: 30%;
		min-width: 280px;
	}
	#daywedding .table_wrap tbody td:nth-child(3) {
		background-color: #fbf4ff;
		width: 30%;
		min-width: 280px;
	}
	#daywedding .table_wrap tbody td:nth-child(4) {
		background-color: #f5f4ff;
		width: 30%;
		min-width: 280px;
	}
}

.box_btn01 button,
.cf7_modal__actions button {
display: block;
    border: 1px solid #000;
    letter-spacing: .1em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    font-weight: 300;
    font-size: 115%;
    padding: 30px 10px;
	    background: linear-gradient(to right, #e0deec, #bbd3f5);
	margin: 0 auto;
	color: #000;
	width: 200px;
}
.cf7_modal__actions button:first-child {
	background: #efefef;
}
.album-qty-block .album-qty-table {
	width: 100%;
}
.album-qty-table .no_bt th {
	border: none;
}.album-qty-table .albam_pr:last-child td {
	border-bottom: none;
}
.tbl_st dt {
	background-color: #e3efef;
    line-height: 2.4;
    border-top: #919191 solid 2px;
    border-bottom: #919191 solid 2px;
    font-size: 100%;
    padding: 20px 30px;
    margin: 0 30px;
    text-align: center;
	    letter-spacing: .1em;
}
.tbl_st dd {
	border-bottom: 1px solid #919191;
	    letter-spacing: .1em;
	font-size: 100%;
    padding: 20px 30px;
	margin: 0 30px;
	line-height: 2.4;
}
.tpl_slide3 .img {width: 100%!important;}
@media screen and (max-width: 768px) {
	.btn_faq {order: 1;}
	.btn_rsv {order: 3}
	.album-qty-table thead {display: none;}
	.albam_pr {
		display: flex;
		align-items: center;
	}
	.albam_pr td:last-child {width: 30%;}
	    .con_request .o_tbl .albam_pr input {margin: 0 auto;}
}
@media screen and (max-width: 668px) {
	/* 320px ≒ 100% を基準に、14px〜18pxに収まる例 */
#abi_page { font-size: clamp(14px, 3.2vw, 18px); }
}
