@charset "utf-8";
/*==================================================
	スマホのみに適用
==================================================*/
@media only screen and (max-width: 640px){
	body { font-size: 85%; }
	.dsp_hp, .dsp_hpt { display: none; }
	
	#header h1.title img {
		max-height: 38px;
	}
	
	#page_title .sub_page {
		font-size: 30px;
		height: 150px;
	}
	#page_title .sub_page .sub_txt {
		padding-top: 7px;
		font-size: 16px;
	}
	/* コンテナ */
	#wrap, #footer {
		min-width: 320px;
	}
	#container h2.sub, #container h3.sub {
		font-size: 22px;
	}
	#container h3.sub02 {
		font-size: 23px;
	}
	/* フッター */
	#footer {
		padding-bottom: 50px;
	}
	#footer .f_link {
		width: 100%;
	}
	#footer .bana {
		max-width: 414px;
	}
	#footer .bana li {
		width: 49%;
	}
	#footer .bana li a {
		margin-bottom: 5px;
		height: 20vw;
	}
	#footer .bana li a img {
		width: 100%;
	}
	#copyright {
		height: auto;
		line-height: 1.6;
		padding: 5px 0;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 30px; }
	.pt { padding-top: 30px; }
	.pb { padding-bottom: 30px; }
	/*--------------------------------------------------
		共通検索ボックス
	--------------------------------------------------*/
	#search {
		padding-top: 0;
		transform: translate(0, calc(100% - 50px));
		transition: all 0.3s ease-in-out;
	}
	#search.on {
		transform: none;
	}
	#search .btn {
		height: 50px;
		font-size: 18px;
		font-family: 'Noto Serif JP', serif;
		/* 縦方向中央揃え */
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#search .btn::after {
		position: relative;
		display: inline-block;
		margin-left: 10px;
		vertical-align: middle;
		content: url("../img/p.png");
	}
	#search.on .btn::after {
		top: 5px;
		transform: rotate(180deg);
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#search {
		background: #000000cc;
	}
	/**/
	#top_news .slick-slide {
		margin: 0 5px;
	}
	#top_news .box img {
		height: 44vw;
	}
	#top_news #news_list:before {
		top: 22%;
	}
	#top_news .slide-arrow {
		top: 27%;
	}
	#top_news .next-arrow {
		right: -15px;
	}
	#top_news .prev-arrow {
		left: -15px;
	}
	@media only screen and (max-width: 320px) {
		#top_news #news_list:before {
			top: 17%;
		}
		#top_news .slide-arrow {
			top: 22%;
		}
	}
	#top_news .btn01 a {
		margin-top: 30px;
	}
	#message.message {
		padding: 30px 0;
	}
	#message.message .box_text {
		writing-mode: horizontal-tb;
	}
	#message.message h2 {
		text-indent: 0em;
		font-size: 18px;
		margin-right: 0;
	}
	#message.message p {
		padding: 10px 0 0 0;
		margin-right: 0;
	}
	#message .box_img {
		width: 100%;
		margin: 20px auto 0;
	}
	#message .box_img img {
		width: 100%;
		margin: 0 auto;
	}
	#top_img img {
		width: 100%;
	}
	#top_links a {
		margin-bottom: 10px;
	}
	#top_links a,#top_links a:nth-of-type(3n - 1) {
		width: 49%;
	}
	#top_links a dl {
		height: 90px;
		padding: 10px;
	}
	#top_links a dl dt {
		bottom: 40px;
	}
	#top_links a dl.long dt {
		bottom: 30px;
	}
	#top_links a dl dt {
		font-size: 16px;
	}
	@media only screen and (max-width: 320px){
		#top_links a dl dt {
			font-size: 14px;
		}
	}
	#top_links a dl dd {
		font-size: 13px;
		bottom: 10px;
	}
	#top_access .gmap iframe {
		height: 300px;
	}
	#top_access .gmap .main {
		top: 0;
	}
	#top_access .gmap .info {
		width: 100%;
		flex-wrap: wrap;
	}
	#top_access .gmap .info .box {
		width: 100%;
		min-height: 0;
		margin-bottom: 20px;
	}
	/*--------------------------------------------------
		宿泊
	--------------------------------------------------*/
	#stay .stay_msg .box .txt {
		text-align: center;
	}
	#stay .stay_msg .box {
		flex-direction: column-reverse;
	}
	#stay .stay_msg .img_box {
		width: 80%;
		margin: 0 auto;
	}
	#stay .stay_msg .txt_box {
		width: 100%;
		margin-bottom: 20px;
	}
	#stay .stay_room .txt_arrow {
		margin: 20px 0;
	}
	#stay .stay_room .room_box .box {
		margin-bottom: 20px;
	}
	#stay .stay_room .room_box dd {
		font-size: 12px;
		line-height: 1.8em;
		padding: 5px;
		box-sizing: border-box;
		min-height: 60px;
	}
	.remodal-wrapper {
		padding: 10px!important;
	}
	.remodal .txt_box h3 {
		font-size: 23px;
	}
	.remodal .box_waku p.waku {
		padding: 5px 0;
}
	/*ご予約はこちらボタン*/
	.box_reservation {
		justify-content: center;
	}
	#stay .equipment_box .box ul {
		height: 400px;
	}
	#stay .equipment_box .box .img {
		margin-top: 0px;
	}
	#stay .equipment_box .about_box {
		flex-direction: column;
	}
	#stay .equipment_box .about_box .maru {
		margin-bottom: 20px;
	}
	#stay .equipment_box .about_box ul {
		width: 100%;
	}
	#stay .stay_about .box .ttl {
		font-size: 18px;
		height: 50px;
	}
	#stay .stay_about .box .txt_box dt::before {
		height: 23px;
	}
	#stay .stay_about .box .txt_box img {
		width: 150px;
	}
	@media only screen and (max-width: 320px) {
		#stay .stay_room {
			font-size: 12px;
		}
		#stay .equipment_box .box ul {
			height: 455px;
		}
		#stay .equipment_box .box ul li{
			width: calc(50% - 25px);
			font-size: 97%;
		}
	}
	/*--------------------------------------------------
		レストラン
	--------------------------------------------------*/
	#restaurant .cont_box .txt_box {
		width: 100%;
	}
	#restaurant .cont_box .txt_box .btn01 a span::before {
		width: 25px;
		right: -30px;
		top: 55%;
		background-size: 100%;
	}
	#restaurant .cont_box .img {
		width: 80%;
		margin: 0 auto 20px;
	}
	#restaurant .breakfast_box,#restaurant .lunchi_box,#restaurant .dinner_box {
		margin-bottom: 50px;
	}
	#restaurant .breakfast_box::before,#restaurant .lunchi_box::before,#restaurant .dinner_box::before {
		display: none;
	}
	#restaurant .buffet_box .box_flex_sp {
		flex-direction: column-reverse;
	}
	#restaurant .buffet_box .txt_box {
		width: 100%;
	}
	#restaurant .buffet_box .img_box {
		width: 80%;
		margin: 30px auto;
	}
	@media only screen and (max-width: 320px) {
		#restaurant .cont_box .txt_box .btn01 a {
			padding: 0 15px;
			font-size: 12px;
		}
		#restaurant .cont_box .txt_box .btn01 a span::before {
			right: -28px;
		}
	}
		/*--------------------------------------------------
	会議・宴会
--------------------------------------------------*/
	#meeting .meeting_msg .txt {
		text-align: left;
	}
	#meeting .meeting_msg .txt .dsp_tbs {
		display: none;
	}
	#meeting .meeting_msg dl {
		flex-direction: column;
	}
	#meeting .meeting_msg dt {
		width: 100%;
		padding: 8px;
		box-sizing: border-box;
	}
	#meeting .meeting_msg dd {
		width: 100%;
		box-sizing: border-box;
	}
	#meeting .meeting_fee .btn01 a {
		width: 100%;
	}
	#meeting .meeting_fee .btn01 a span::before {
		background-size: 100%;
		width: 20px;
		top: 55%;
		right: -30px;
	}
	#meeting .meeting_fee .fee_box .box {
		width: 100%;
	}
	#meeting .meeting_fee .fee_box .box .ttl_box .ttl, #meeting .meeting_fee .fee_box .box .ttl_box .ttl a {
		font-size: 18px;
	}
	#meeting .examples_box .txt {
		text-align: left;
	}
	#meeting .examples_box .img_box {
		width: 80%;
	}
	#meeting .examples_box .txt_box .waku {
		padding: 0 15px;
	}
		@media only screen and (max-width: 320px) {
			#meeting .meeting_fee .btn01 a {
				padding: 0 15px;
				font-size: 12px;
			}
		}
	/*--------------------------------------------------
		法要・仕出し
	--------------------------------------------------*/
	#memorial .memorial_msg .txt {
		text-align: left;
	}
	#memorial .memorial_msg .txt .dsp_tbs {
		display: none;
	}
	#memorial .memorial_schedule .memorial_arrow dl {
		padding: 15px;
		text-align: left;
	}
	#memorial .memorial_schedule .memorial_arrow dt,#memorial .memorial_schedule .memorial_arrow dd {
		font-size: 14px;
		line-height: 1.8em;
	}
	#memorial .memorial_altar .altar_box .box {
		width: 80%;
		margin: 0 auto 30px;
	}
	#memorial .memorial_cooking .cooking_box .box,#memorial .memorial_cooking .cooking_box.w2 .box {
		width: 80%;
		margin: 0 auto 30px;
	}
	#memorial .memorial_cooking .cooking_box .box .txt_box dl {
		display: block;
	}
	#memorial .memorial_cooking .cooking_box .box .txt_box dt {
		width: 100%;
	}
	#memorial .memorial_cooking .cooking_box .box .txt_box dd {
		width: 100%;
		text-align: right;
	}
	#memorial .plan_box {
		flex-direction: column;
	}
	#memorial .plan_box .maru {
		margin-right: 0;
		margin-bottom: 20px;
	}
	/*--------------------------------------------------
		ブライダル
	--------------------------------------------------*/
	#bridal .txt {
		font-size: 105%;
		letter-spacing: 1px;
	}
	#bridal .mv .img {
		margin: 30px 0;
	}
	#bridal .memu .box {
		padding-top: 30px;
	}
	#bridal .memu .box .img img {
		width: 100%;
	}
	#bridal .memu .box .info {
		width: 100%;
	}
	#bridal .memu .box .info h3 {
		font-size: 50px;
	}
	#bridal .memu .box .info ul li {
		width: 49%;
		margin-bottom: 10px;
	}
	#bridal .schedule h3 {
		font-size: 50px;
	}
	#bridal .schedule .grid {
		display: block;
	}
	#bridal .schedule .grid .box {
		margin-bottom: 80px;
	}
	#bridal .schedule .grid .box:not(:last-of-type) .in2::after {
		right: auto;
		top: auto;
	}
	#bridal .schedule .grid:first-of-type .box:nth-of-type(2), #bridal .schedule .grid:first-of-type .box:nth-of-type(3), #bridal .schedule .grid:first-of-type .box:nth-of-type(4) {
		margin-bottom: 70px;
	}
	#bridal .schedule .grid:first-of-type .box:last-of-type {
		margin-bottom: 15px;
	}
	#bridal .schedule .grid .box .in .in2.bg::before {
		height: calc(100% + 115px);
	}
	#bridal .schedule .grid .box .in .in2::after, #bridal .schedule .point::after {
		content: "";
		display: inline-block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		bottom: -50px;
		background: url("../img/bridal/arrow01.png") no-repeat center / 100% auto;
		width: 16px;
		height: 23px;
		z-index: 2;
	}
	#bridal .schedule .grid:nth-of-type(2) .box:not(:last-of-type) .in2::after {
		top: auto;
		bottom: -50px;
	}
	#bridal .schedule .grid:first-of-type .box:last-of-type .in .in2::after {
		display: none;
	}
	
	#bridal .schedule .point {
		box-sizing: border-box;
		padding: 15px;
		margin-bottom: 90px;
	}
	#bridal .schedule .point li, #bridal .schedule .point li:nth-of-type(even) {
		width: 100%;
	}
	/*--------------------------------------------------
	周辺観光
--------------------------------------------------*/
	#sightseeing .txt {
		text-align: left;
	}
	#sightseeing .sightseeing_box .box .in .img_box {
		width: 80%;
	}
	#sightseeing .sightseeing_box .box .in .txt_box dt {
		font-size: 18px;
		padding: 0 15px;
	}
	#sightseeing .sightseeing_box .box .in .txt_box dd {
		padding: 15px;
	}
	#sightseeing .sightseeing_box .box .in .txt_box dd .access {
		font-size: 16px;
		padding-bottom: 10px;
	}
	#sightseeing .sightseeing_box .box .in .txt_box dd .txt {
		line-height: 1.8em;
	}
	/*--------------------------------------------------
		企業情報
	--------------------------------------------------*/
	#company .company_box .table_box th {
		width: 30%;
	}
	#company .company_box .map_box iframe {
		height: 200px;
	}
	/*--------------------------------------------------
		ご利用規約
	--------------------------------------------------*/
	#terms dd,#terms dd .txt {
		padding-left: 0.5em;
	}
	.tbl_scroll {
		overflow: auto;
		white-space: nowrap;
	}
	/*--------------------------------------------------
		プライバシーポリシー
	--------------------------------------------------*/
	#privacypolicy dd,#privacypolicy dd .txt {
		padding-left: 0.5em;
	}
	#faq .faq_box dd {
		line-height: 1.8em;
	}
/*--------------------------------------------------
	よくあるご質問
--------------------------------------------------*/
	#faq .faq_link .faq_link li {
		width: 100%;
	}
/*--------------------------------------------------
		撮影および配信に関するガイドライン
	--------------------------------------------------*/
	#guideline h3 {
		font-size: 17px;
	}
/*------------------------------------------------*/
}
