@charset "utf-8";
/* CSS Document */
.ceremony_wrap * {
	box-sizing:border-box;
}
.ceremony_wrap {
	font-family: 'Gothic Medium BBB', serif;
	color:#000;
}
.ceremony_maine, .special_time {
	max-width:1200px;
	width:100%;
	margin:auto auto 80px auto;
}
.ceremony_maine ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.ceremony_maine ul li {
	width:100%;
}
.ceremony_maine ul li:nth-child(1) {
 margin-bottom:5px;
}
.ceremony_maine ul li:nth-child(1) img {
width:100%;
aspect-ratio:1200 / 600;
object-fit: cover;
object-position: center center;
}
.ceremony_maine ul li:nth-child(2) {
 width:67%;
}
.ceremony_maine ul li:nth-child(2) img {
width:100%;
aspect-ratio:805 / 420;
object-fit: cover;
object-position: center bottom;
}
.ceremony_maine ul li:nth-child(3) {
 width:calc(33% - 5px);
 margin-left:5px;
}
.ceremony_maine ul li:nth-child(3) img {
width:100%;
aspect-ratio:390 / 420;
object-fit: cover;
object-position: center bottom;
}
.catch_wrap {
	margin-bottom:80px
}
.catch_wrap h3.catch_ttl {
	color:#000;
	font-size : 33px;
	line-height : 66px;
	margin-bottom:60px;
	font-family: 'Noto Serif JP', serif;
}
.catch_wrap p {
	font-size : 16px;
	line-height : 32px;
	letter-spacing : 1.6px;
	margin-bottom:1.5rem;
}
.gray_bg_wrap {
	background-color:#f7f8f8;
	padding:80px 0;
	margin-bottom:80px;
}
h3.cont_ttl {
	font-size : 30px;
	line-height : 110%;
	letter-spacing : 3px;
	color : #000000;
	margin-bottom:40px;
	font-family: 'Noto Serif JP', serif;
}
ul.column2_plan_wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	max-width:880px;
	width:100%;
	margin:auto;
}
ul.column2_plan_wrap li {
	width:50%;
	padding:0 20px;
	margin-bottom:35px;
}
ul.column2_plan_wrap li .kaijyo_ttl {
	display:block;
	font-size : 16px;
	line-height : 23px;
	text-align:center;
	padding-top:23px;
}
.ceremoney_btn {
	position: relative;
	z-index:1;
	display:table;
	margin:auto;
}
.ceremoney_btn a {
	font-size : 22px;
	line-height :40px;
	color : #000000;
	position: relative;
	z-index:2;
	display:block;
	padding-left:76px;
	text-decoration:none;
	font-family: 'Noto Serif JP', serif;
}
.ceremoney_btn::before {
 content:"";
 width:40px;
 height:40px;
 background-color:#e0c7c050;
 border-radius: 40px;
 -webkit-border-radius: 40px;
 -moz-border-radius: 40px;
 z-index:1;
 display:block;
 position:absolute;
 top:0;
 left:0;
}
.ceremoney_btn a:before, .ceremoney_btn a:after {
	position: absolute;
	top: 50%;
	height: 1px;
	background: #343434;
	content: '';
	transition:all 0.5s 0s ease-out;
}
 .ceremoney_btn a::before {
 width: 36px;
 transform: translateY(-50%);
 left: 22px;
}
.ceremoney_btn a::after {
 left: 43px;
 width: 15px;
 transform: translateY(-50%) rotate(45deg);
 transform-origin: right center;
}
.ceremoney_btn a:hover::before {
 width: 46px;
transition:all 0.5s 0s ease-out;
}
.ceremoney_btn a:hover::after {
left: 53px;
transition:all 0.5s 0s ease-out;
}
.ceremony_contact {
	max-width:680px;
	width:96%;
	margin:auto auto 80px auto;
	padding:40px 35px;
	border:1px solid #000;
}
.ceremony_contact.mb40 {
	margin:auto auto 40px auto;
}
h4.ttl {
	font-size :23px!important;
	line-height :140%!important;
	color : #000!important;
	margin-bottom:20px!important;
	padding:0!important;
	text-align:center!important;
	font-family: 'Noto Serif JP', serif;
}
h4.ttl::after {
 display:none;
}
h4.ttl span {
	background:linear-gradient(transparent 60%, #e0c7c070 60%);
}
h5.ttl {
	font-size :20px;
	line-height :140%;
	color : #000;
	margin-bottom:30px;
	padding:0;
	font-family: 'Noto Serif JP', serif;
}
.flex_ceremony_co {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width:100%;
	margin:auto;
}
.flex_ceremony_co .in_box {
	width:50%;
	padding:0 20px;
}
.flex_ceremony_co .eigyo_ttx, .flex_ceremony_co .eigyo_sm {
	width:100%;
	padding:0 20px;
	text-align:center;
}
.flex_ceremony_co .eigyo_ttx {
	font-size : 20px;
	line-height : 26px;
	margin-bottom:25px;
}
.flex_ceremony_co .eigyo_sm {
	font-size : 16px;
	line-height : 26px;
}
h6.tenpo {
	font-weight: normal;
	font-size :17px;
	line-height :40px;
	text-align: center;
	margin: auto auto 20px auto;
	display:block;
	padding:0 0.5rem;
	border-radius: 99px;
	-webkit-border-radius: 99px;
	-moz-border-radius: 99px;
	border:1px solid #000;
}
ul.link_list, ul.link_list li {
	width:100%;
}
ul.link_list {
	margin-bottom:25px;
}
ul.link_list li {
	padding-left:1rem;
	padding-right:1rem;
}
ul.link_list li a {
	display:block;
	width:100%;
	padding:10px 30px 10px 0;
	text-align:center;
	position:relative;
	font-size:17px;
	line-height:100%;
	text-decoration:none;
	background-color:#FFF;
}
 ul.link_list li a::after {
 content:"";
 position: absolute;
 top: 0;
 bottom: 0;
 right: 27px;
 width: 6px;
 height: 6px;
 margin: auto;
 border-top: 1px solid #000;
 border-right: 1px solid #000;
 transform: rotate(45deg);
 box-sizing: border-box;
}
ul.link_list li a:hover {
	background-color:#EEE;
	transition:all 0.5s 0s ease-out;
}
.ceremony_wrap .pt_step {
	background:#FFF;
	border:20px solid #EFEFEF;
	box-sizing:border-box;
	width:100%;
	margin:auto auto 120px auto;
	padding:40px;
	text-align:center;
}
.ceremony_wrap .pt_step h4 {
	margin-top:0;
	padding:0;
	line-height:110%;
	letter-spacing:0.05em;
	background:none!important;
}
.ceremony_wrap .pt_step ul {
	counter-reset: number 0;
}
.ceremony_wrap .pt_step ul li {
	position:relative;
	box-sizing:border-box;
	display:table;
	margin-bottom:35px;
	font-size:13px;
	line-height:22px;
}
.ceremony_wrap .pt_step ul li::after {
 display: block;
 width: 208px;
 left: 0;
 bottom: -26px;
 content: "▼";
 color: #D0B5AE;
 position: absolute;
 text-align: center;
}
.ceremony_wrap .pt_step ul li:last-of-type::after {
 display:none!important;
}
.ceremony_wrap .pt_step ul li strong {
	width:210px;
	border-right:3px solid #C5C5C6;
	box-sizing:border-box;
	font-size:15px;
	line-height:18px;
	font-family: 'Noto Serif JP', serif;
}
.ceremony_wrap .pt_step ul li strong::before {
 counter-increment: number 1;
 content: counter(number) " ";
 display:block;
 font-size:25px;
 line-height:100%;
 color:#A26B5D;
 font-weight:700;
 margin-bottom:3px;
}
.ceremony_wrap .pt_step ul li .ttx, .ceremony_wrap .pt_step ul li strong {
	display:table-cell;
	vertical-align: top;
}
.ceremony_wrap .pt_step ul li .ttx {
	padding:0 20px;
	text-align:left;
}
.special_time h3 {
	font-size : 22px;
	line-height :100%;
	letter-spacing : 2.2px;
	color : #000000;
	margin:0 0 25px 0;
	padding:0;
	text-align:right;
	font-family: 'Noto Serif JP', serif;
}
.special_time h4 {
	font-size : 35px;
	line-height : 48px;
	letter-spacing : 3.5px;
	color : #000000;
	margin:0 0 30px 0;
	padding:0;
	text-align:right;
	font-family: 'Noto Serif JP', serif;
}
.special_time h4::after {
 display:none;
}
.special_maine {
	width:100%;
	margin-bottom:80px;
}
.special_maine img {
	width:100%;
	aspect-ratio:1200 / 600;
	object-fit: cover;
	object-position: center center;
}
.flex_box_step {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	max-width:1000px;
	width:100%;
	margin:auto;
	padding-bottom:80px;
	align-items:center;
	justify-content: center;
}
.flex_box_step.top {
	align-items:flex-start;
}
.flex_box_step.rev {
	flex-direction:row-reverse
}
.flex_box_step .in_box {
	width:50%;
}
.flex_box_step .in_box.w100 {
	padding-top:45px;
	width:100%;
}
.flex_box_step .in_box.txt {
	text-align:center;
	padding: 0 15px;
	font-size : 13px;
	line-height : 24px;
	color : #3E3A39;
}
.flex_box_step .in_box p {
	margin-bottom:1.5em;
}
.flex_box_step .in_box.txt .title_pt img {
	display:block;
	width:115px;
	margin:auto auto 25px auto;
}
.flex_box_step .in_box.txt .title_pt {
	font-size:19px;
	line-height:100%;
	margin-bottom:20px;
}
ul.gray_btn_cl2 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	max-width:600px;
	width:100%;
	margin:0 auto;
}
ul.gray_btn_cl2.mb_80 {
	margin-bottom:80px;
}
ul.gray_btn_cl2 li {
	padding:0 15px;
	width:50%;
}
ul.gray_btn_cl2 li a {
	display: block;
	width: 100%;
	padding: 13px 18px 13px 38px;
	text-align: left;
	position: relative;
	font-size: 17px;
	line-height: 90%;
	font-weight:500;
	text-decoration: none;
	background-color: #e8e8e8;
	color:#000;
	border-radius: 99px;
	-webkit-border-radius: 99px;
	-moz-border-radius: 99px;
	transition:all 0.5s 0s ease-out;
	font-family: 'Noto Serif JP', serif;
}
ul.gray_btn_cl2 li a:hover {
	background-color: #D8D8D8;
	transition:all 0.5s 0s ease-out;
}
ul.gray_btn_cl2 li a::after {
 content:"";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 20px;
 width: 6px;
 height: 6px;
 margin: auto;
 border-top: 1px solid #000;
 border-right: 1px solid #000;
 transform: rotate(45deg);
 box-sizing: border-box;
}
.yoyaku-info.bg_none {
	background:none;
	margin:0px auto 80px auto;
	padding-top:0;
}
.ceremony_wrap .bg_c01 {
	margin-bottom:80px;
}
.ceremony_wrap .pt_step {
	max-width:1000px;
	width:96%;
	margin:auto auto 40px auto;
}
.ceremony_wrap .pt_step h4 {
	margin-top: 0;
	padding: 0;
	line-height: 110%;
	letter-spacing: 0.05em;
	color:#000;
	background: none !important;
	font-family: 'Noto Serif JP', serif;
}
.ceremony_wrap .pt_step h4::after {
 display:none;
}
 @media screen and (max-width:1027px) {
.special_maine {
 margin-bottom: 50px;
}
.flex_box_step {
 width:98%;
 margin-left:auto;
 margin-right:auto;
}
.flex_box_step, .flex_box_step.rev {
 flex-direction: row;
 padding-bottom:40px;
}
.flex_box_step .in_box {
 width:100%;
 padding-left:40px;
 padding-right:40px;
 margin-bottom:40px;
}
.flex_box_step .in_box.ph {
 margin-bottom:30px;
 order:2;
}
.flex_box_step .in_box.txt {
 order:1;
 margin-bottom:10px;
}
.flex_box_step .in_box.w100 {
padding-top: 0;
margin-bottom:40px;
 order:3;
}
}
@media screen and (max-width:680px) {
ul.gray_btn_cl2 {
 max-width:300px;
}
ul.gray_btn_cl2 li {
 padding:0;
 width:100%;
 margin-bottom:10px;
}
ul.gray_btn_cl2 li:last-child {
margin-bottom:0px;
}
}
 @media screen and (max-width:640px) {
.ceremony_maine ul li:nth-child(1) img {
aspect-ratio:1 / 1;
object-position: 10% center;
}
 .ceremony_maine ul li:nth-child(2) img {
aspect-ratio:270 / 240;
}
 .ceremony_maine ul li:nth-child(3) img {
aspect-ratio:205 / 240;
}
.ceremony_maine ul li:nth-child(2) {
 width:56.25%;
}
.ceremony_maine ul li:nth-child(3) {
 width:calc(43.75% - 5px);
}
h4.ttl {
 margin-bottom: 14px !important;
}
h5.ttl {
 margin-bottom: 18px;
}
h6.tenpo {
font-size: 16px;
margin-bottom:5px;
}
ul.link_list, .flex_ceremony_co .eigyo_ttx {
 margin-bottom: 16px;
}
.flex_ceremony_co .eigyo_ttx {
 font-size: 16px;
}
ul.link_list li a, .flex_ceremony_co .eigyo_sm {
 font-size: 14px;
}
.ceremony_wrap .pt_step ul li, .ceremony_wrap .pt_step ul li .ttx, .ceremony_wrap .pt_step ul li strong {
 display: block;
}
.ceremony_wrap .pt_step ul li {
 margin-bottom:45px;
}
.ceremony_wrap .pt_step ul li strong {
 border-right: 0;
 border-bottom: 2px solid #C5C5C6;
 margin: auto auto 15px auto;
 padding-bottom: 13px;
}
.ceremony_wrap .pt_step ul li::after {
 right: 0;
 margin: auto;
}
.ceremony_contact {
margin: auto auto 40px auto;
padding: 40px 5px;
}
.flex_ceremony_co .in_box:nth-child(odd) {
 padding: 0 8px 0 15px;
}
.flex_ceremony_co .in_box:nth-child(even) {
 padding: 0 15px 0 8px;
}
ul.link_list li {
padding-left:0;
padding-right:0;
}
.yoyaku-info.bg_none big {
 font-size: 22px;
 line-height: 130%;
}
.ceremony_wrap .pt_step {
 border: 10px solid #EFEFEF;
 padding: 40px 0;
}
.catch_wrap h3.catch_ttl {
 font-size: 25px;
 line-height: 40px;
}
.ceremony_maine, .special_time, .catch_wrap, .catch_wrap h3.catch_ttl, .gray_bg_wrap {
 margin-bottom: 50px;
}
.gray_bg_wrap {
 padding: 50px 0;
}
h3.cont_ttl {
 margin-bottom: 25px;
}
.catch_wrap p {
 font-size: 15px;
 line-height: 30px;
 letter-spacing: 0;
}
ul.column2_plan_wrap {
 padding-left:10px;
 padding-right:10px;
}
ul.column2_plan_wrap li {
 width: 50%;
 padding: 0 10px;
 margin-bottom: 25px;
}
 ul.column2_plan_wrap li img {
width:100%;
aspect-ratio: 1 / 1;
object-fit: cover;
object-position: center center;
}
ul.column2_plan_wrap li .kaijyo_ttl {
 font-size: 14px;
 line-height: 18px;
 padding-top: 6px;
}
.special_time h3 {
 font-size: 14px;
 line-height: 100%;
 letter-spacing: 1.4px;
 margin-bottom:15px;
}
.special_time h4 {
 font-size: 22px;
 line-height: 34px;
 letter-spacing: 2.2px;
 margin-bottom:20px;
}
.special_maine img {
aspect-ratio: 480 / 330;
}
ul.gray_btn_cl2 li a {
 font-size: 16px;
}
}
