@charset "utf-8";

/* CSS Document */
html, body,
ul, ol, li,
h1, h2, h3, h4, h5, h6, p, div {
  margin: 0;
  padding: 0;
}

li{
	list-style: none;
}

a {
  text-decoration: none;
}
#main #results a:link {
        color: #358;
}
/* リンクのスクロール */
html{
  scroll-behavior: smooth; /* スムーススクロール */
	scroll-padding-top: 120px;
}

/* フォントと背景 */
body{
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
	color: #232121;
	background-color: #ffffff; /* 背景色 */
	overflow-wrap: anywhere;
}

#main_content_head{
	min-width:1440px;
}
header {
    border-bottom: 2px solid #e78f89;
    margin-bottom: 15px;
    box-shadow: 0px 6px 12px 0px rgb(0, 0, 0, 0.05);
}
/* PCレイアウト */
@media (min-width: 640px) {
#container {
        background:#FFF;
        overflow: hidden;
    padding-right: 60px;
            background-image: none !important;
    }
    .clearfix {
        display: block;
    }
    .clearfix::after {
        clear: both;
        content: ".";
        display: block;
        height: 0;
        visibility: hidden;
    }
#header-sp{
	display:none;
	}

#footer-sp{
	display:none;
	}
#page-top{
	display:none !important;
}
    #site_detail {
        font-size: 12px;
        width: 935px;
        color: #999;
        float: right;
        padding-left: 10px;
        padding-top: 5px;
    }

ol.pan{
	margin: 10px auto 10px auto;
    width: 1000px;
}
ol.pan li {
    list-style: none;
    float: left;
    margin-right: 1em;
    font-size: 14px;
    color: #333333;
}
ol.pan li a{
margin-right:1em;
color:#666666;
text-decoration:none;
}

ol.pan li a:hover{
color:#000000;
text-decoration:underline;
}
ol.pan:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
	.pc_none{
		display: none !important;
	}

	/* コンテンツ幅 */
	.contents{
		max-width:1400px;
		width: 100%;
		margin:0 auto;
	}

	.contents1{
		max-width:1230px;
		width: 100%;
		margin:0 auto;
	}

	.contents2{
		max-width:1116px;
		width: 100%;
		margin:0 auto;
	}
	
	
	
	  
	
	/* ヘッダー部分 */
	header{
		width: 100%;
		height:auto;
		padding: 20px 0px;
		background-color: #ffffff;
	}





	/* ヘッダー部分（ロゴ） */
	.logo_header img{
		max-width: 100%;
		height: auto;
	}

	.logo_header:hover{
		opacity: 0.7;
	}

	.sp{
		display: none;
	}
	
	
	
	
	
	/* ヘッダー部分（メニュー） */
	.header-menu{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.header-menu_01{
/*		display: flex;*/
		align-items: center;
	}

	.global-menu{
		display: flex;
		align-items: center;
		margin-right: 20px;
	}

	.global-menu li{
		display: flex;
		align-items: center;
		padding-left: 30px;
	}

	.global-menu a{
		font-size: 14px;
		text-align: center;
		color: #6e6e6e;
			font-family: "游明朝", bold, "Zen Old Mincho", serif;
		font-weight: bold;
	}

	.global-menu a:hover{
		opacity: 0.7;
	}
	

	
	
	/* フッター */
	footer{
		background-color: #e78f89;
		padding-top: 55px;
		padding-bottom: 20px;
		color: #ffffff;
	}
	
footer .menu_title{
		font-size: 18px;
		font-weight: bold;
	}
	
footer .menu{
		display: flex;
		margin-top: 20px;
	}
	
footer .menu ul{
		margin-right: 40px;
	}
	
footer .menu li{
		color: #ffffff;
		margin-bottom: 10px;
	}
	
footer .menu a:hover{
		opacity: 0.8;
	}
	
footer .footer_menu_box{
		display: flex;
		justify-content: space-between;
		border-bottom: 2px solid #ffffff;
		padding-bottom: 20px;
		padding-left: 20px;
	}
	
footer .contact_box{
		padding: 0px 20px;
	}
	
footer .contact{
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 30px;
		margin-bottom: 20px;
	}
	
footer .contact_title{
		font-size: 28px;
			font-family: "游明朝", bold, "Zen Old Mincho", serif;
		font-weight: bold;
	}
	
footer .tel{
		display: flex;
	}
	
footer .tel_01{
		border: 1px solid #ffffff;
		padding: 5px 20px;
		font-size: 34px;
			font-family: "游明朝", bold, "Zen Old Mincho", serif;
		font-weight: bold;
		margin-left: 20px;
		display: flex;
		align-items: center;
	}
	
footer .tel_01 span{
		font-size: 24px;
		margin-right: 10px;
	}
	
footer .copyright{
		text-align: center;
		margin-top: 20px;
	}


/*--------------------------------------------------*
 *   パソコン用右から出るメニュー
 *--------------------------------------------------*/
 .pc_side_menu_button{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	width:50px;
	height:100%;
	background:url("../wedding-2025/side_menu_open.png") no-repeat center center;
	background-color:#E78F89;
	text-align:center;
	z-index:1100;
 }
.pc_side_menu_button.btn_close{
	background:url("../wedding-2025/side_menu_close.png") no-repeat center center;
	background-color:#E78F89;
}

 .pc_side_menu {
	position: fixed;
	z-index:1000;
	width: 100%;
	height:100%;
	right: -100%;
	top: 0;
	bottom:0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background-color:#E78F89;
}
.menu_open{
	right: 0px;
}
.pc_side_menu .inner a:hover{
	opacity: 0.8;
}
.pc_side_menu .inner {
	position: relative;
	padding: 0px;
	width:100%;
	height:100%;
	color:#FFF;
}
/*
.pc_side_menu .inner .menu_content{
	position:absolute;
	top:200px;
	max-width:1100px;
	padding: 0px 60px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
*/
.pc_side_menu .inner .menu_content {
        position: absolute;
        top: 50vh;
        max-width: 1100px;
        padding: 0px 60px;
        /* right: 0; */
        left: 0;
        left: 50%;
        width: 1000px;
        margin: 0 auto;
        transform: translate(-50%, -50%);
    }
.pc_side_menu .inner .menu_content .menu_box{
	border-bottom:1px solid #FFF;
	font-size: 26px;
	font-family: '游明朝';
	font-weight: normal;
}
.pc_side_menu .inner .menu_content .menu_box a{
	color:#FFF;
}
.pc_side_menu .inner .menu_content .menu_box .menu_top{
	background:url("../wedding-2025/side_menu_logo.png") no-repeat left center;
	padding-left:100px;
	margin-bottom:40px;
}
.pc_side_menu .inner .menu_content .menu_box ul{
	display: flex;
	flex-wrap: wrap;
}
.pc_side_menu .inner .menu_content .menu_box ul li{
	width:420px;
	margin:0px;
	padding-bottom:40px;
	padding-left:20px;
}
.pc_side_menu .inner .contact_box{
	padding: 0px 20px;
}
.pc_side_menu .inner .contact{
	display: flex;
	align-items: left;
	justify-content: space-between;
	margin-top: 30px;
	margin-bottom: 20px;
}
.pc_side_menu .inner .contact_title{
	font-size: 26px;
	font-family: '游明朝';
	font-weight: normal;
}
.pc_side_menu .inner .tel{
	display: flex;
}
.pc_side_menu .inner .tel_01{
	border: 1px solid #ffffff;
	padding: 5px 20px;
	font-size: 26px;
	font-family: '游明朝';
	font-weight: bold;
	margin-left: 20px;
	display: flex;
	align-items: center;
}
.pc_side_menu .inner .tel_01 span{
	font-size: 24px;
	margin-right: 10px;
}

.tab_pc_float{
	background-color: #FFF;
	padding: 15px 160px;
	display: flex;
	justify-content: space-around;
	padding-top: 30px;
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	z-index: 100;
	border-bottom: 1px solid #997820;
	box-shadow: 0px 3px 3px #999;
}

.tab_pc_float a{
	color: #875a1a;
}

.tab_pc_float a:hover{
	opacity: 0.8;
}

.tab_pc_float .arrow_bottom {
	border-bottom: solid 1px #875a1a;
	border-right: solid 1px #875a1a;
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	margin: 0 auto;
}
 
.tab_pc_float .img_ribbon{
	margin-top: 40px;
	text-align: center;
}


}
p.last-updated {
    max-width: 1000px;
    text-align: right;
    margin: 0 auto;
    overflow: hidden;
clear: both;
}

/* スマホレイアウト */
@media (max-width: 639px) {
	
	.sp_none{
		display: none !important;
	}
	
	p{
		font-size: 3vw;
		color: #3f3f3f;
	}
	
	#main_content_head{
		min-width: auto;
	}
	
	/* コンテンツ幅 */
	.contents{
		max-width:1400px;
		width: 100%;
		margin:0 auto;
	}

	.contents1{
		max-width:1230px;
		width: 100%;
		margin:0 auto;
	}
	
	.contents2{
		max-width:1116px;
		width: 100%;
		margin:0 auto;
	}
	
	
	
	
	
	/* ヘッダー部分 */
	header{
		width: 100%;
		height:auto;
		padding: 1.5vw 0px;
		background-color: #ffffff;
	}
	
	
	
	
	
	/* ヘッダー部分（ロゴ） */
	.logo_header{
		margin-left: 10px;
		width: auto;
	}
	
	.logo_header img{
		width: 40px;
	}
	
	.header_btn_sp{
		margin-top: 5px;
		margin-right: 10px;
	}
	
	.header_btn_sp img{
		width: 25px;
	}
	
	
	
	
	
	/* ヘッダー部分（メニュー） */
	.header-menu{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.header-menu_01{
		display: none;
	}
	
	.logo_header_sp_01{
		font-size: 3.5vw;
		color: #660505;
			font-family: "游明朝", bold, "Zen Old Mincho", serif;
		margin-right: 6vw;
		margin-left: 10vw;
	}
	
	
	
	
	
	

	
	
	
	
	
	/* フッター */
	footer{
		background-color: #e78f89;
		padding-top: 1.5vw;
		padding-bottom: 3vw;
		padding-left: 20px;
		padding-right: 20px;
		color: #ffffff;
	}
	
	footer p{
		color: #ffffff;
	}
	
	.menu_title{
		font-size: 4vw;
			font-family: "游明朝", bold, "Zen Old Mincho", serif;
		font-weight: bold;
		margin-top: 30px;
	}
	
	.menu{
		display: block;
		margin-top: 0px;
	}
	
	.menu ul{
		margin-right: 0px;
	}
	
	.menu li{
		color: #ffffff;
		margin-bottom: 10px;
		font-size: 3vw;
	}
	
	.menu a:hover{
		opacity: 0.8;
	}
	
	.footer_menu_box{
		display: block;
		justify-content: space-between;
		border-bottom: 2px solid #ffffff;
		padding-bottom: 3vw;
		padding-left: 3vw;
	}
	
	.contact_box{
		padding: 0px 0px;
	}
	
	.contact{
		display: block;
		margin-top: 4.3vw;
		margin-bottom: 3vw;
	}
	
	.contact_title{
		font-size: 3.5vw;
			font-family: "游明朝", bold, "Zen Old Mincho", serif;
		font-weight: bold;
		text-align: center;
	}
	
	.tel{
		display: flex;
		justify-content: space-between;
		margin-top: 10px;
	}
	
	.tel_01{
        border: 1px solid #ffffff;
        padding: 2px 0;
/*        padding-top: 0.5vw;*/
        font-size: 4.5vw;
        font-family: "游明朝", bold, "Zen Old Mincho", serif;
        font-weight: bold;
        display: flex;
        align-items: center;
        width: 48%;
        justify-content: center;
	}
	
	.tel_01 p{
/*		font-size: 4vw;*/
        font-size: 3.8vw;
	}
	
	.tel_01 span{
		font-size: 3vw;
		margin-right: 1.5vw;
	}
	
	.copyright{
		text-align: center;
		margin-top: 20px;
	}
	
	.contact_box p{
		text-align: center;
	}
	
	.contact_text{
		margin-top: 20px;
	}
	
/*--------------------------------------------------*
 *   2026/01/23追加css
 *--------------------------------------------------*/
 html {
	scroll-padding-top: 29vw;
}

/*スマホメニュー*/
.slide_title{
	margin-bottom: 3px;
}
header{
	padding: 0px;
	position: fixed;
	z-index: 100;
}
.header-menu{
	height: 12.78vw;
}
.logo_header{
	margin-left: 3.47vw;
}
.logo_header img{
	width: 8.06vw;
}
.logo_header_sp_01{
	margin-right: 0;
	margin-left: 0;
}
.header_btn_sp {
	margin-right: 12vw;
}
.header_btn_sp img {
	width: 5vw;
}
.select_slider {
	margin-bottom: 12vw;
}
.select_slider ul li img {
	width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
}
.select_slider .bx-wrapper {
	background-color: transparent;
	margin: 0px auto;
	border: none;
	box-shadow: none;
}
.select_slider .bx-wrapper .bx-viewport {
	-webkit-box-shadow: 0 0 0px #ccc !important;
	box-shadow: 0 0 0px #ccc !important;
	border: none !important;
	left: 0px !important;
	background: none !important;
}
.select_slider .bx-wrapper .bx-pager,
.select_slider .bx-wrapper .bx-controls-auto {
	bottom: -6vw;
}
.select_slider .bx-wrapper .bx-pager.bx-default-pager a {
	background: #d4e5f4 !important;
	width: 1.53vw !important;
	height: 1.53vw !important;
	border-radius: 50% !important;
	margin: 0px 5px !important;
}
.select_slider .bx-wrapper .bx-pager.bx-default-pager a:hover,
.select_slider .bx-wrapper .bx-pager.bx-default-pager a.active {
	width: 2vw !important;
	height: 2vw !important;
	background: #b2b2b2 !important;
}
.popup_box {
	width: 83.33vw;
	background-color: #FFF;
}
.popup_box .ph_popup {
	margin-bottom: 2vw;
}
.popup_box .ph_popup img {
	width: 100%;
}
.popup_box .koumoku {
	font-size: 3.33vw;
	color: #1a8bac;
	font-weight: bold;
	margin-bottom: 2vw;
}
.popup_box .memo {
	font-size: 3.06vw;
	margin-bottom: 3vw;
}
.popup_box .bt_detail {
	width: 100%;
}
.popup_box .bt_detail a {
	display: block;
	font-size: 3.33vw;
	color: #FFF;
	font-weight: bold;
	line-height: 9.44vw;
	text-align: center;
	background-color: #8bcdd1;
}

/*スマホメニュー*/
.global_navi_sp {
	position: fixed;
	top: 12.78vw;
	left: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	padding: 8vw 0 3vw;
	background-color: #e78f89;
	display: none;
	z-index: 300;
	overflow-y: scroll;
}
.on {
	display: block;
}
.global_navi_sp .gl_box {
	margin: 0px 3vw 4vw;
	padding: 0px 3vw;
	border-bottom: 1px solid #FFF;
}
.global_navi_sp .gl_box li {
	text-align: left;
	margin-bottom: 6vw;
}
.global_navi_sp .gl_box li a {
	display: block;
	font-family: "游明朝", bold, "Zen Old Mincho", serif;
	font-size: 3.61vw;
	color: #FFF;
	line-height: 1.4;
}
.global_navi_sp .ttl_contact {
	font-family: "游明朝", bold, "Zen Old Mincho", serif;
	font-size: 3.89vw;
	color: #FFF;
	text-align: center;
	margin-bottom: 2vw;
}
.global_navi_sp .number_list {
	margin: 0 3vw 3vw;
}
.global_navi_sp .number_list ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}
.global_navi_sp .number_list ul li {
	width: 48%;
}
.global_navi_sp .number_list ul li a {
	display: block;
	font-size: 4.72vw;
	color: #FFF;
	text-align: center;
	border: 1px solid #FFF;
	font-family: "游明朝","Zen Old Mincho", serif;
	padding: 2px 0px 4px;
}
.global_navi_sp .number_list ul li a span {
	font-size: 3.33vw;
	font-family: "游明朝","Zen Old Mincho", serif;
	padding-right: 1vw;
}
.global_navi_sp .number_list ul li:nth-child(1) {
	margin-right: 4%;
}
.global_navi_sp .open {
	font-size: 3.33vw;
	color: #FFF;
	text-align: center;
	margin-bottom: 1vw;
}
.global_navi_sp .kome {
	font-size: 3vw;
	color: #FFF;
	text-align: center;
}
.fixed{
	position:fixed;
}
.bt_hamburger_menu {
	position: fixed; /* bodyに対しての絶対位置指定 */
	top: 0;
	right: 0;
	display: block;
	width: 10.83vw;
	height: 12.78vw;
	cursor: pointer;
	z-index: 400;
	background: url("../wedding-2025/sp_menu_open.png") no-repeat left top;
	background-size: 10.83vw 12.78vw;
}
.bt_hamburger_menu.active {
	top: 0;
	right: 0;
	width: 10.83vw;
	height: 12.78vw;
	background: url("../wedding-2025/sp_menu_close.png") no-repeat left top;
	background-size: 10.83vw 12.78vw;
}
.tab_sp_float {
	border-top: 1px solid #997820;
	border-bottom: 1px solid #997820;
	padding: 2vw 0;
	background-color: #FFF;
	position: fixed;
	top: 12.78vw;
	left: 0px;
	right: 0px;
	z-index: 100;
}
.tab_sp_float ul {
	display: flex;
	justify-content: space-between;
}
.tab_sp_float ul li {
	width: calc(100% / 3);
}
.tab_sp_float ul li a {
	display: block;
	font-size: 2.78vw;
	color: #997820;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	background: url("../wedding-2025/img_arrow_flow.png") no-repeat center bottom;
	background-size: 3.19vw auto;
	padding-bottom: 2.4vw;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal_container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 20px 10px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  box-sizing: border-box;
	z-index:9000;
}
/*モーダル本体の擬似要素の指定*/
.modal_container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal_container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal_body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 98%;
}
/*モーダルを閉じるボタンの指定*/
.modal_close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: 0px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal_content{
	background: #fff;
	text-align: left;
	padding: 30px;
}
#floating #page-top {
    bottom: 10px;
    height: 48px;
    position: fixed;
    right: 10px;
    width: 48px;
    z-index: 100;
}
    #site_detail{
        display: none;
    }
ol.pan{
	margin: 0px auto 0px auto;
	padding:5px;
}
ol.pan li {
    list-style: none;
    /*float: left;*/
	display:inline;
    /*margin-right: 1em;*/
    font-size:11px;
    color: #333333;
}
ol.pan li a{
margin-right:12px;
color:#666666;
text-decoration:none;
}
}
@media screen and (min-width: 640px) and (max-width: 1480px) {
    #container {
        padding-right: 60px;
    }
#site_detail {
  font-size: 11px;
  width: 810px;
  color: #999;
  float: right;
  padding-left: 20px;
  padding-top: 5px;
}
#main_content_head {
    min-width: 1040px;
}
    .logo_header img {
        max-width: 280px;
    }
    .global-menu {
        margin-right: 60px;
    }
    .global-menu li {
        padding-left: 20px;
    }
    .global-menu a {
        font-size: 12px;}
}
@media screen and (min-width: 640px) and (max-width: 1130px) {
  .global-menu a {
    font-size: 11px;
  }
    .global-menu li {
        padding-left: 17px;
    }
}
/*1002*/
#container #wedding #main .top_box+.main_cont {
    border: none !important;
}