@charset "utf-8";
/***********************************************************************
		レスポンシブスタイルシート
************************************************************************/

/***********************************************************************
max-width: 1100px
************************************************************************/
@media screen and (max-width: 1000px){
	.wrap { width: 100%;padding: 0; }

	/*#global-nav ul li a { padding: 0 20px; }*/
	#top-head.fixed #global-nav ul li { width: 160px; }
	#top-head.fixed #global-nav ul li a { padding: 0 15px;font-size: 10pt; }
}

/***********************************************************************
max-width: 980px メニュー切替
************************************************************************/
@media screen and (max-width: 980px){
	#top-head,.wrap { width: 100%;padding: 0; }
	#main{ margin: 100px auto 0; }
	.cont { padding: 0 10px; }

	/*------------------*/
	.h2_ribbon img { max-height: 90px; }
	.h2_flag img{ max-height: 70px; }

	/*-----------------------------------*/
	#top-head {
		top: 0;
		position: fixed;
		margin-top: 0;
		padding-bottom: 10px;
		height: 80px;
		z-index: 10000;
	}
	/* Fixed reset */
	#top-head.fixed {
		padding-top: 0;
		background: transparent;
	}

	#mobile-head {
		background: #fff;
		width: 100%;
		height: 80px;
		z-index: 10000;
		position: relative;
	}
	#top-head.fixed .logo,
	#top-head .logo {
		width: 25%;
		position: absolute;
		left: 13px;
		top: 13px;
	}
	#pc_header_cont_wrap{ display: none; }

	.menu_sub{ display: none; }
	/*nav------------------------------*/
	#global-nav {
		position: absolute;
		top: -500px;
		background: #463028;
		width: 100%;
		text-align: center;
		padding: 20px 0 0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	#global-nav ul {
		position: static;
		right: 0;
		bottom: 0;
		margin-bottom: 0;
		float: none;
	}
	#top-head.fixed #global-nav ul li { width: 100%; }
	#global-nav ul li {
		position: static;
		float: none;
		width: 100%;
		margin-left: 0;
	}
	#global-nav ul li:after  {
		display: none;
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		width: 100%;
		display: block;
		color: #fff;
		padding: 15px 0;
	}


	/* お問い合わせ----------------------------------------------*/
	.nav_contact { display: block;border-bottom: 7px solid #edecce; }
	/* #nav-toggle ----------------------------------------------*/
	#nav-toggle {
		display: block;
		position: absolute;
		right: 12px;
		top: 14px;
		width: 34px;
		height: 36px;
		cursor: pointer;
		z-index: 101;
	}
	#nav-toggle div { position: relative; }
	#nav-toggle span {
		display: block;
		position: absolute;
		height: 4px;
		width: 100%;
		background: #666;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	#nav-toggle span:nth-child(1) { top: 0; }
	#nav-toggle span:nth-child(2) { top: 11px; }
	#nav-toggle span:nth-child(3) { top: 22px; }
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) { width: 0;left: 50%; }
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	/* #global-nav  */
	.open #global-nav {
		/* #global-nav top + #mobile-head height */
		-moz-transform: translateY(556px);
		-webkit-transform: translateY(556px);
		transform: translateY(556px);
	}

	/* トップ　プラン紹介--------------------------------------------------------------------*/

	/* --------------------------------------------------------------------*/
	.top_location_studio_box { margin: 60px 0 0; }
	/* 流れ-----------------------------------------------------------------*/


	/* スタジオ撮影ページ******************************************************/
	.studio_price_box .price img{ width: 70%; }

	/* フォト結婚式ページ******************************************************/
	#photowedding_concept_top_wrap h3 { text-align: right;margin-right: 50px; }
	#photowedding_concept_top_wrap .txt_box {
		top: 28%;
		right: 80px;
		padding: 30px;
	}
	#photowedding_concept_top_wrap .photowedding_concept_th{
		font-size: 1.2em;
		padding-bottom: 20px;
		margin: 0 20px 20px;
	}
	#photowedding_concept_top_wrap p { margin: 0 20px; }

	#photowedding_concept_bottom_wrap ul {
		width: 90%;
	}

	.plan_th{ font-size: 1.0em;padding: 5px 0;  }


}

/***********************************************************************
max-width: 768px
************************************************************************/
@media screen and (max-width: 768px){
	* { font-size: 10pt; }
	.main_cont { padding: 30px 0 40px; }


	/*------------------*/
	.h2_ribbon { margin-bottom: 20px; }
	.h2_ribbon img { max-height: 70px; }
	.h2_txt { margin-bottom: 20px; }
	.h2_flag { margin-bottom: 10px; }
	.h2_flag img{ max-height: 70px; }
	.h2_flag2 { margin-bottom: 10px; }
	.h2_flag2 img{ max-height: 40px; }
	.h2_concept { margin-bottom: 10px; }
	.h2_concept img { max-height: 35px; }

	.h3_line {
		font-size: 13pt;
		padding-bottom: 3px;
		margin-bottom: 10px;
	}

  .sp-none {
    display: none;
  }

	/* footer********************************************/
	footer { padding: 20px 0 0; }
	/* footer_insta-------------------------------------*/
	#instagram { width: 100%;margin: 0 auto; }
	.insta_box { width: 23.5%; }
	.insta_box:nth-child(6n) { margin-right: 2%; }
	.insta_box:nth-child(4n) { margin-right: 0; }
	.bt_insta a { width: 60%;margin: 10px auto 30px;padding: 5px 30px; }
	/* footer_topics----------------------------*/
	#top_topics_box{
		width: 100%;
		float: none;
		margin:0 auto 20px;
	}
	.topicks_area {
		width: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		height: 200px;
		margin-top: 0.2%;
	}
	/* footer_info----------------------------*/
	#top_info_box{
		width: 100%;
		float: none;
	}
	.top_contact_tel img{ width: auto; }
	.infomation-button{ text-align: center;margin: 20px auto; }
	/*.infomation-button img { width: 60%; }*/
	/* footer 店舗情報-------------------------*/
	#top_access_wrap { /*padding: 30px 0;*/ }
	.access_contents_back{
		background: url(/img/sp_foot_access_back.jpg) repeat-y;
		background-size: contain;
		padding: 2%;
		-webkit-box-shadow: rgba(10, 2, 4, 0.180392) 2px 2px 5px 1px;
		-moz-box-shadow: rgba(10, 2, 4, 0.180392) 2px 2px 5px 1px;
		box-shadow: rgba(10, 2, 4, 0.180392) 2px 2px 5px 1px;
	}
	.access_contents_left { width: 100%;float: none;text-align: center;margin-top: 10px;background:rgba(255,255,255,0.8);padding: 10px; }
	.top_access_txt { font-size: 12pt;text-align: center;margin-left: 0; }
	.access_contents_right { width: 100%;float: none;margin-top: 2%;text-align: right; }
	/* footer_menu-----------------------*/
	#footer_manu .cont{ margin-top: 30px; }
	.footer_menu { margin: 0; }
	.footer_menu li{ width: 100%;float: none;margin-right: 0%;padding: 10px 0;border-bottom: 1px dotted #ccc; }
	/*-------------------------------*/
	#footer_bnr_wrap { margin-top: 30px; }
	#footer_bnr_wrap li { width: 48%;float: left;margin-right: 4%;margin-bottom: 4%; }
	#footer_bnr_wrap li:nth-child(2) { margin-right: 0; }


	/* トップページ****************************************************************************************/
	/* コンセプト-------------------------*/
	.top_concept_wrap li { width: 100%;float: none;margin: 0 0 30px 0; }
	.top_concept_wrap li:nth-child(3n) { margin-right: 0; }
	.top_concept_wrap li dt { max-height: 130px;min-height: auto; }
	.top_concept_wrap li dt img { height: 60px; }
	.top_concept_wrap li h3 { font-size: 12pt;margin-bottom: 10px; }
	/* プラン紹介-----------------*/
	#top_studio_plan_wrap li { width: 48%;margin: 0 4% 4% 0; }
	#top_studio_plan_wrap li:nth-child(3n) { margin-right: 4%; }
	#top_studio_plan_wrap li:nth-child(2n) { margin-right: 0; }
	/*.plan_tag { margin: 10px auto; }
	.plan_tag span { display: block;padding: 5px 20px;line-height: 1; }*/
	/*.plan_tag { display: none; }*/
	.top_plan_box h3 { font-size: 10pt;font-weight: bold;padding: 10px 0; }
	.alert_box { font-size: 9pt;margin: 10px 0 0; }
	.top_plan_box .price_box { padding: 5px 0 10px; }
	.price { font-size: 14pt; }
	.pink,.price_box .pink .price {  }
	.price_box .pink .price { font-size: 10pt; }
	/* --------------------------------------------------------------------*/
	.top_location_studio_box { margin: 40px 0 0; }
	/* 流れ-----------------------------------------------------------------*/
	#top_flow_wrap .h2_ribbon { height: 20px; }
	#top_flow_box { padding: 40px 10px 10px; }
	#top_flow_box li { width: 48%;float: left;margin: 0 4% 4% 0; }
	#top_flow_box li:nth-child(3n) { margin-right: 4%; }
	#top_flow_box li:nth-child(2n) { margin: 0 0 4% 0; }


	/* スタジオ撮影ページ******************************************************/
	.studio_plan_box { padding: 3%;margin-bottom: 30px; }
	.studio_plan_box h3 { font-size: 13pt;line-height: 1.1;margin-bottom: 15px; }
	.studio_plan_box h3 span { font-size: 9pt; }
	.studio_price_box { padding: 4% 2%; }
	.studio_price_box li { width: 100%;float: none;margin-right: 0%; }
	.studio_price_box li:nth-child(2n) { margin-top: 10px; }
	.studio_price_box h4 { font-size: 12pt;font-weight: bold; }
	.studio_price_box .price{ padding-top: 15px; }
	.studio_price_box .price img{ width: auto;max-width: 40%; }
	.studio_price_box .price_alert { background: url(/img/price_alert.png) no-repeat 0 5px;background-size: contain; }
	.plan_set { margin: 20px 0 10px; }
	.plan_set .th{ font-size: 10pt;font-weight: bold; }
	.line2_box .th { font-size: 10pt; }
	.bt_gallery a{
		font-size: 10pt;
		width: 70%;
		margin: 0 auto;
		/*padding: 10px;*/
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
	}


	/* ロケーション撮影ページ***************************************************/
	.h3_location {
		font-size: 11pt;
		padding-bottom: 2px;
		margin-bottom: 25px;
	}
	.location_plan_wrap	.box_w2 li { width: 100%;float: none;margin-right: 0;margin-bottom: 20px; }
	.location_plan_wrap	.box_w2 li dt { text-align: center; }
	.location_plan_wrap	.box_w2 li dt img { max-width: 90%; }
	.location_price_box { padding: 3% 2%; }
	.location_price_box h4 { font-size: 12pt; }
	.location_price_box .price img { max-width: 65%; }
	.h3_l_line {
		font-size: 11pt;
		margin-bottom: 5px;
	}
	/* プランに含まれるもの----------*/
	.location_detail_wrap li{
		width: 31.2%;
		margin: 0 3.2% 3.2% 0;
	}
	.location_detail_wrap li:nth-child(3n) { margin-right: 0; }
	.location_detail_wrap li:nth-child(4n) { margin-right: 3.2%; }

	dl.studio_campaign_plan_set dd {
		font-size: 10px;
	}
	dl.studio_campaign_plan_set_plus dd {
		font-size: 12px;
	}

	 /* フォト結婚式ページ★******************************************************/
	#photowedding_concept_top_wrap { margin-bottom: 20px; }
	#photowedding_concept_top_wrap .sp_none { display: none; }
	#photowedding_concept_top_wrap .pc_none {
		display: block;
		margin-top: 30px;
		font-weight: bold;
		text-align: center;
	}

	#photowedding_concept_bottom_wrap {
		padding: 50px 20px 130px;
		margin-bottom: 30px;
	}
	#photowedding_concept_bottom_wrap ul {
		width: 100%;
		padding: 20px 25px;
		margin: 10px auto 0;
		text-align: left;
	}
	.photowedding_deco_r1 { bottom: 10px; }
	.photowedding_deco_r1 img{ height: 160px; }

	#happyyellow_bt_wrap .bt_gallery { width: 100%;float: none; }
	#happyyellow_bt_wrap .bt_gallery a { width: 70%;margin: 0 auto; }
	#happyyellow_bt_wrap .bt_gallery:first-child a{ margin: 0 auto 10px; }
	#happyyellow_bt_wrap .bt_gallery:last-child a { margin: 0 auto; }
	.plan_th{ font-size: 1.0em;margin: 0 10px 15px;padding: 0;background: none; }


	 /* 会食付プランページ★******************************************************/
	.plan_box{ padding: 30px 5%; }
	.plan_outline{ margin-bottom: 10px; }
	.plan_outline_th{ width: auto;float: none;margin-bottom:15px; }
	.plan_outline_th h4{ font-size: 1.0em;font-weight: bold;margin-top: 0; }
	.plan_outline_th p{ font-size: 0.8em;padding-bottom: 5px;border-bottom: #777 1px dotted; }
	.plan_outline_cont{ width: auto;float: none;border-left: none;padding-left: 0; }
	.option_list{ margin-bottom:20px; }


	 /* ギャラリーページ★******************************************************/
	.gallery_box_wrap li { width: 48%;float: left;margin: 0 4% 4% 0; }
	.gallery_box_wrap li:nth-child(2n) { margin: 0 0 4% 0; }
	.gallery_box_wrap li:nth-child(4n) { margin: 0 0 4% 0; }

	.gallery_list_wrap { margin: 0; }
	.gallery_list_wrap li { width: 48%;float:left;margin:0 4% 4% 0; }
	.gallery_list_wrap li:nth-child(2n)  { margin-right:0; }

	.gallery_list_wrap .cate_name a {
		font-size: 12px;
		padding: 10px 0;
	}
	/* ギャラリー詳細ページ-------------------------*/
	.gallery_thumb .thumb { width: 48%;float: left;margin: 0 4% 4% 0;border: 1px solid #ccc;text-align: center;background: #fff; }
	.gallery_thumb .thumb:nth-child(4n) { margin: 0 0 4% 0; }
	.gallery_thumb .thumb:nth-child(2n) { margin: 0 0 4% 0; }


	/* お問い合わせページ******************************************************/
	#contact_tel_img { width: 85%;margin: 0 auto 20px; }
	.contact_form dl {
		display: block;
		border-bottom: 1px #ccc solid;
	}
	.contact_form dt,.contact_form dd{ 	display: block; }
	.contact_form dt {
		width: 100%;
		padding: 10px;
		border-bottom: 1px #ccc solid;
	}
	.contact_form dd { width: 100%;padding: 10px; }
	.contact_form input[Type=text],.contact_box textarea { background: #F8F8F8;border: 1px solid #EAEAEA;padding: 2%;width: 100%;font-size: 16px; }
	.contact_form input[Type=button] { padding: 3px 10px; }
	.contact_form textarea { width: 100%;height: 120px; }
	.contact_form input[type="submit"] {
		border-radius: 5px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		-o-border-radius: 5px;
		-ms-border-radius: 5px;
		border: #a9a9a9 1px solid;
		-moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
		-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
		box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
		padding: 0 3px;
		cursor: pointer;
		color: #fff;
		font-weight: bold;
		text-shadow: 1px 1px 0px #333;
		width: 50%;
		padding: 10px;
		font-size: 14px;
	}
	/* プライバシーポリシー-------------------------*/
	.policy_list dt {
		font-size: 12pt;
		margin-bottom: 5px;
		padding: 0 0 0 10px;
	}


}

/***********************************************************************
max-width: 640px
************************************************************************/
@media screen and (max-width: 640px){
	.h2_ribbon { margin-bottom: 20px; }
	.h2_ribbon img { max-height: 60px; }
	.h2_txt { margin-bottom: 20px; }
	.h2_flag { margin-bottom: 10px; }
	.h2_flag img{ max-height: 55px; }
	.h2_flag2 { margin-bottom: 10px; }
	.h2_flag2 img{ max-height: 30px; }
	.h2_concept { margin-bottom: 10px; }
	.h2_concept img { max-height: 30px; }

	/* ヘッダー-----------------------------*/
	#main{ margin: 75px auto 0; }
	/*-----------------------------------*/
	#top-head {
		height: 70px;
	}

	#mobile-head {
		height: 70px;
	}
	#top-head.fixed .logo,
	#top-head .logo {
		width: 30%;
		position: absolute;
		left: 13px;
		top: 13px;
	}
  
  .top_concept_wrap li:nth-child(3n) { margin-bottom: 0; }

	/* トップページ店舗情報--------------------------*/
	.top_contact_tel { width: 60%;margin: 0 auto 10px; }
	.infomation-button { width: 60%;margin: 0 auto 15px; }
	.top_access_txt { font-size: 10pt;text-align: left;margin-left: 20px; }


	/* スタジオ撮影プラン--------------------------*/
	.bt_gallery a{
		font-size: 9pt;
		width: 60%;
		padding: 8px;
	}
  .studio_campaign_plan_box .pc_none { display: block; }
  .studio_campaign_plan_box .sp_none { display: none; }

	.studio_campaign_plan_box_wrap > div {
		width: 100%;
	  margin: 8px 0;
	}
	dl.benefits dd {
		font-size: 10px;
	}
	dl.benefits::after { display: none; }
	dl.studio_campaign_plan_set dd {
		border-width: 4px;
	}

	/* ロケーション撮影プラン----------------------*/
	.location_price_box .bt_gallery a{ width: 60%; }

	/* フォト結婚式プラン----------------------*/
	#photowedding_concept_bottom_wrap { background: none;padding: 10px 10px 130px; }
	#photowedding_concept_bottom_wrap ul li { padding: 10px 5px;font-size: 1.05em; }
	.photowedding_deco_r1 { display: none; }


	/* レンタル衣裳ページ-------------------------*/
	/* バナー-------*/
	#rental_bnr_box {  }
	#rental_bnr_box li{ width: 100%;float: none;margin: 0 0 10px 0; }

}
