/**
 * =========================================
 * ● サイト SP用 (2021.05.19)
 * =========================================
 */
 @media screen and (max-width: 896px) {
	.pc,
	.pc_inline,
	.pc_table
	{
		display:none!important;
	}
	.sp
	{
		display:block!important;
	}
	.sp_br
	{
		margin-left:0em;
		display:block!important;
	}
	a[href^="tel:"]
	{
		color: inherit;
		text-decoration: none;
		display: inline-block;
		border-bottom:1px dotted;
	}
	/****************************
	  * レイアウト
	****************************/
	.wrapper
	{
		padding:0px 10px 30px;
		width:100%;
		overflow: hidden;
	}
	article > .wrapper
	{
		padding:0px 10px 30px;
	}
	footer .wrapper
	{
		padding:30px 10px 30px;
	}
	main
	{
		padding-top:68px;
		/* padding-top:85px; */
		margin:0;
		overflow: hidden;
	}
	/****************************
	 * ヘッダ
	****************************/
	header
	{
		height: 70px;
	}
	header > div.pc_navi
	{
		display:none;
	}
	header > div.sp_navi
	{
		padding:10px 10px 0px;
		display: flex;
		align-items: center;
		background:#fff;
	}
	/****************************
	  * グローバルメニュー
	  ****************************/

	.sp_navi .sp_header{
		display:flex;
		width:100%;
		justify-content: space-between;
		align-items: center;
		position:relative;
		z-index: 0;
	}

	.sp_header > .logo img
	{
		width:auto;
		height:50px;
	}
	.sp_header > .logo span
	{
		margin:0px 0 5px;
		line-height: 1.1;
		display:block;
		color:#666;
	}
	.sp_header > .logo a:hover
	{
		text-decoration: none;
	}

	.sp_navi .sp_header > a
	{
		display:block;
		position:absolute;
		top:8px;
		right:0px;
	}
	.nav-wrap
	{
		display: block;
		position:fixed;
		left:100%;
		top:65px;
		/* display: none; */
		z-index: 0;
		background-color: rgba(255, 255, 255, 0.97);
		width: 100%;
		height:100vh;
		text-align:left;
		padding-bottom:30px;
		transition-duration:0.5s;
		overflow-x: scroll;
	}

	.nav-wrap ul
	{
		width:90%;
		margin:20px auto 30px;
		padding-top:0px;
		border-bottom: 1px solid #eee;
		list-style: none;
		display:block;
		font-size:1.6rem;
	}
	.nav-wrap ul li a
	{
		border-top: 1px solid #eee;
		padding: 15px 10px;
		position: relative;
		display: block;
		color: #111;
		text-decoration:none;
	}
	.nav-wrap ul li a:after
	{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		width: 8px;
		height: 8px;
		margin: auto;
		border-top: 2px solid #ccc;
		border-right: 2px solid #ccc;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.nav-wrap h4
	{
		width:90%;
		margin:30px auto 0;
		color:#111;
	}
	.nav-wrap ul.nav_sub
	{
		margin-top:5px;0
		padding-top:0;
		border-bottom: 1px solid #cecece;
	}
	.nav-wrap ul.nav_sub li
	{
		background:#eee;
		border-top: 1px solid #cecece;
	}
	.nav-wrap ul.nav_sub li i
	{
		display:inline;
		font-size:1.6rem;
	}
	.nav-wrap ul.nav_sub li span
	{
		display:inline;
		font-size:1.6rem;
	}

	/*メニューボタンのエフェクト*/
	.nav-button,
	.nav-button span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}
	.nav-button {
		z-index: 20;
		position: relative;
		top:0;
		right:0;
		width: 40px;
		height: 36px;
		border:1px solid #4264c8;
		padding:5px;
		border-radius: 4px;
	}
	.nav-button span {
		position: absolute;
		left: 10%;
		width: 80%;
		height: 2px;
		background-color: #4264c8;
		border-radius: 4px;
		z-index: 9999;
	}
	.nav-button span:nth-of-type(1) {
		top: 5px;
	}
	.nav-button span:nth-of-type(2) {
		top: 16px;
	}
	.nav-button span:nth-of-type(3) {
		bottom: 5px;
	}
	.nav-button.active span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(-45deg);
		transform: translateY(11px) rotate(-45deg);
	}
	.nav-button.active span:nth-of-type(2) {
		opacity: 0;
	}
	.nav-button.active span:nth-of-type(3) {
		-webkit-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg);
	}
	.nav-wrap.open
	{
		left:0;
	}
	.nav-wrap.close
	{
		left:100%;
	}

	/****************************
	* パンくずリスト
	****************************/
	main > .breadcrumb_list
	{
		padding:0px;
		max-width:auto;
		margin:0px 10px 30px;
		background:#fff;
		overflow-x: auto;
	}
	.breadcrumb_list
	{
		padding: 0px 0px 10px 5px;
	}
	.breadcrumb_list li
	{
		font-size: 1rem;
		white-space: nowrap;
	}
	 /****************************
	   * ブランディング
	****************************/
	.top_branding
	{
		background-attachment: scroll;
		background-size: auto 150%;
	}
	.top_branding > div
	{
		height: auto;
		padding:30px 10px 50px;
	}
	/* text */
	.top_branding > div h2
	{
		font-size:2rem;
		margin-bottom:0.3em;
		letter-spacing: -0.1em;
	    text-shadow: 2px 2px 3px #333;
	}
	.top_branding > div p
	{
		font-size:1.4rem;
		margin-top:0.5em;
		padding-top:0.3em;
	}
	.top_branding > div p:before
	{
		content:"";
		width:200px;
		height:1px;
		background:#fff;
		margin:auto;
		position: absolute;
		z-index: 100;
		top:-0.5em;
		left:50%;
		transform: translate(-50%, 0);
	}

	.branding > h1
	{
		min-height: 90px;
		padding: 20px 10px;
		font-size: 2.3rem;
		line-height: 1.3;
	}

	.branding > h1 span
	{
		font-size:1.3rem;
	}


	/****************************
	* フッタ
	****************************/
	footer .wrapper
	{
		flex-direction: column-reverse;
		padding-bottom:10px;
	}
	footer .company
	{
		width:100%;
		padding-right:0;
		margin-right:0;
		border-right:none;
		border-top:1px dashed #fff;
		margin-top:10px;
		padding:30px 20px 0;
	}
	footer .company h2
	{
		font-size:1.8rem;
		font-weight: bold;
	}
	footer .company p
	{
		font-size:1.3rem;
		line-height:1.6;
	}
	footer .company aside
	{
		width:100%;
	}
	footer .company .map iframe
	{
		width:100%;
		padding:0 20px;
	}
	footer .company .ft_navi li a
	{
		font-size:1.3rem;
	}

	footer .ft_link
	{
		width:100%;
	}
	footer .ft_link > div
	{
		width:calc( ( 100% - 20px * 1 ) / 2 );
		margin-right:20px;
		margin-bottom:20px;
	}
	footer .ft_link > div:nth-child(2n)
	{
		margin-right:0px;
	}

	footer .ft_box
	{
		border:1px solid #9bacde;
		background:#fff;
		color:#4264c8
	}
	footer .ft_box dl
	{
		display: flex;
		font-size:1.3rem;
		margin-bottom:5px;
	}
	footer .ft_box dl:first-child
	{
		font-size:1.8rem;
		margin-top:5px;
	}

	/****************************
	* aタグ
	****************************/
	a.link_btn
	{
		display: block;
		width: 80%;
		padding: 5px 0;
		border-radius: 8px 10px;
		text-decoration: none;
		line-height:1.5;
		color: #0071C1;
		border: 1px solid #0071C1;
		background: #fff;
		text-align: center;
		margin:30px auto;
		font-size:1.8rem;
	}

	/****************************
	* hタグ
	****************************/
	article > .wrapper > h2
	{
		font-size:2rem;
	}
	article > .wrapper > h2.group:before,
	article > .wrapper > h2.mygroup:before,
	article > .wrapper > h2.team:before,
	article > .wrapper > h2.member:before
	{
		width:25px;
		height:25px;
	}
	article h3
	{
		font-size:2.5rem;
	}
	article h3 span
	{
		font-size:1.8rem;
	}


	/****************************
	* tableタグ
	****************************/
	table.tbl_h thead
	{
		display:none
	}
	table.tbl_h tr
	{
		width: 100%;
	}
	table.tbl_h tr:nth-child(odd) {
		background: #fff;
	}
	table.tbl_h td
	{
		display: block;
		text-align: right;
		width: 100%;
		border-right:none;
		padding:10px 20px 0;
	}
	table.tbl_h td > p
	{
		text-align: left;
		margin-left:40%;
	}
	table.tbl_h tr.group_wide td > p
	{
		text-align: left;
		margin-left:30%;
	}
	table.tbl_h td:first-child
	{
		background: #f3f3f3;
		color: #333;
		font-weight: bold;
		text-align: right;
	}
	table.tbl_h td:last-child
	{
		padding-top:10px;
		padding-bottom:20px;
	}
	table.tbl_h td:before
	{
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 20px;
	}
	table.tbl_h tr td button
	{
		width:80%;
		margin:auto;
		color: #fff;
		background:#0071C1;
	}

	.tbl_tab
	{
		margin:20px 0 10px;
		align-items: stretch;
		border-left:1px solid #ccc;
	}
	.tbl_tab li
	{
		width:calc( 100% / 5 );
		display:block;
		white-space: normal;
		letter-spacing: 0;
		margin: 0;
		border-left:none;
	}
	.tbl_tab li a,
	.tbl_tab li span
	{
		margin: 0 0px 0 0;
		padding:15px 10px 10px;
		font-size: 1.2rem;
		line-height: 1.2;
		display: flex;
		flex-direction: column;
		justify-content:center;
		height:100%;
	}
	.tbl_tab li p
	{
		display: block;
	}
	.tbl_tab.saigai li
	{
		width:calc( 100% / 3 );
	}

	table.tbl_w
	{
		margin: 10px 0;
	}
	table.tbl_w th,
	table.tbl_w td
	{
		border-collapse:collapse;
		display: block;
	}
	table.tbl_w th{
		width:100%;
		padding: 10px 0;
		border:none;
		text-align:center;
		border-right:1px solid #ccc;
	}
	table.tbl_w td
	{
		padding: 10px 0px 10px 3%;
	}
	table.tbl_w th.short,
	table.tbl_w td.short
	{
		width:100%;
	}
	table.tbl_w td > div
	{
		width:100%;
		/* display:block; */
		margin-bottom:10px;
	}

	table.tbl_w input[type="text"]{width: 92%;}
	table.tbl_w select{width: 91%;}
	table.tbl_w textarea{width: 100%;}


	/****************************
	* tableタグ(form用)
	****************************/
	.form_tbl
	{
		margin: 10px 0;
		/* border-top:1px solid #ccc; */
	}
	.form_tbl .bo_top
	{
		border-top:none
	}
	.form_tbl th,
	.form_tbl td:not(.flex)
	{
		border-collapse:collapse;
		display: block;
	}
	.form_tbl th{
		width:100%;
		padding: 10px 0;
		border:none;
		text-align:center;
	}
	.form_tbl th .fix
	{
		top:calc(0.725em + 5px);
	}
	.form_tbl td
	{
		padding: 10px 3% 10px 3%;
	}
	.form_tbl td.update
	{
		flex-direction: column;
	}
	.form_tbl td > div
	{
		width:100%;
		/* display:block; */
		margin-bottom:10px;
	}
	.form_tbl td > div.w10{ display: inline!important;width:auto; }
	.form_tbl td > div > div
	{
		display:inline;
	}
	.form_tbl td > div.zip
	{
		width:70%;
	}

	.form_tbl input[type="text"]{width: 100%;}
	.form_tbl select{width: 100%;}
	.form_tbl textarea{width: 100%;}

	.form_btn
	{
		flex-direction: column;
	}
	.form_btn button,
	.form_btn a
	{
		padding:10px 20px;
		margin:0 15px 20px;
		font-size:1.5rem;
		width:90%;
	}
	.form_btn .back
	{
		width:70%;
	}
	.form_btn a.back:nth-child(n+3)
	{
		margin-top:30px
	}

	.form_btn.group .submit
	{
		white-space: nowrap;
		width:100%;
	}
	/****************************
	* 購入
	****************************/
	.step_flow{margin: 0;}
	.step_br{
		width: auto;
		margin: auto;
		border-bottom: none;
	}
	.step{width: 100%; margin:auto;}
	.step li{
		display: inline-block;
		width: 100%;
		height: auto;
		line-height: 180%;
		margin: 1px 0 0;
		padding: 7px 0;
		text-align: center;
		border-radius: 3px;
		font-size: 1.3rem;
		font-weight: normal;
	}
	.step .off{
		position: relative;
		display: inline-block;
		margin: 1px 0 1.5em ;
		min-width: 100%;
		max-width: 100%;
	}
	.step .off:before{
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-top: 15px solid #e4e4e4;
	}
	.step .off.on:before{
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-top: 15px solid #7f9fef;
	}
	.step .off::after{display:none;}




	.taglink
	{
		width: 100%;
		margin: 0 auto;
		padding: 10px 10px 10px;
		margin-bottom:20px;
		border-radius: 0px;
		overflow: hidden;
	}
	.taglink ul
	{
		flex-direction: column;
		align-items: stretch;
	}
	.taglink ul:hover a
	{
		display:block
	}
	.taglink a,
	.taglink span
	{
		width:100%;
		display:block;
		font-size:1.5rem;
		border-bottom:1px solid #0071C1;
		padding:10px 10px;
		margin-right:0px;
		margin-bottom:0px;
		border-radius: 0px;
		background:#fff;
		transition: all 0.5s;
	}
	.taglink a
	{
		display:none;
	}
	.taglink span
	{
		color:#fff;
		background:#0071C1;
		position:relative;
		display:flex;
		justify-content:space-between;
		padding-right: 5px;
		font-weight: bold;
	}
	.taglink span:after
	{
		content:"\f103";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		position: relative;
	}
	.taglink aside
	{
		margin-top:5px;
		color:#666;
	}

	/****************************
	* ページャー
	****************************/
	.page_number
	{
		font-size: 1.3rem;
		margin-bottom:20px;
		margin-top:-10px;
	}
	.pager
	{
		flex-wrap:wrap;
		font-size:1.3rem;
	}
	.pager a,
	.pager span.active
	{
		margin-bottom: 20px;
	}

	/****************************
	* エラーメッセージ
	****************************/
	#message .orderthanks div div
	{
		font-size:2.5rem;
		color:#000;
	}



	/****************************
	* form
	****************************/

	.form_area .reserve_shop ul li
	{
		width:100%;
		margin: 10px 15px 10px 5px;
	}
	.form_area .reserve_shop ul li:nth-child(2n)
	{
		margin: 10px 15px 10px 5px;
	}
	.form_area .reserve_shop ul li:nth-child(n + 3)
	{
		margin: 10px 15px 10px 5px;
	}
	.form_area .reserve_shop ul li p
	{
		height:115px;
	}
	.form_area .reserve_shop ul li:nth-child(n+2) p
	{
		height:95px;
	}
	.form_area .reserve_shop ul li p span
	{
		font-size:1.6rem;
		margin-bottom:0.8rem;
		padding-bottom:0.3rem;
	}
	.form_area .reserve_shop ul li p span:after
	{
		font-size:1.1rem;
		top:3.5em;
	}
	.form_area .reserve_datetime > div
	{
		width:92%;
	}
	.form_area .reserve_datetime > div > div:first-child
	{
		width:60%;
	}
	.form_area .reserve_datetime > div > div:last-child
	{
		width:40%;
	}
	.form_area .reserve_datetime > div > div:first-child input,
	.form_area .reserve_datetime > div > div:last-child select
	{
		width:100%;
		min-width:auto;
	}
	.form_area .reserve_datetime > div > div > div
	{
		margin-right:0;
	}
	.form_area .reserve_bra .w30
	{
		width:calc( 50% - 1.1em );
	}

	.form_area input[type="date"]
	{
		height:41px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	.form_area td input + div span,
	.form_area td textarea + div span,
	.form_area td ul + div span,
	.form_area td select + div span
	{
		white-space: normal;
	}

	/****************************
	* post_contents
	****************************/
	#post_contents
	{
		font-size:1.3rem;
		padding: 0px 0 0px;
	}
	#post_contents h3
	{
		font-size: 1.8rem;
		margin: 0 auto 25px;
	}
	#post_contents h4
	{
		font-size: 1.6rem;
	}
	#post_contents h5
	{
		font-size:1.5rem;
	}

	#post_contents table th
	{
		text-align: left;
		vertical-align: middle;
		font-weight: bold;
		background: #eee;
		border-bottom: 1px solid #ccc;
		border-right: 1px solid #ccc;
		/* padding: 16px; */
		padding: 10px;
		width:30%;
	}
	#post_contents table td
	{
		text-align: left;
		font-weight: normal;
		vertical-align: middle;
		background: #fff;
		border-bottom: 1px solid #ccc;
		border-right: 1px solid #ccc;
		/* padding: 16px; */
		padding: 10px;
	}
	#post_contents iframe
	{
		width: 100% !Important;
		height:250px !Important
	}

	/****************************
	* main
	****************************/
	.aboutus
	{
		margin-top:0px;
		padding-top:30px;
	}
	.summary
	{
		font-size:1.4rem;
		line-height: 1.5;
		margin:0 auto 10px;
		padding:0 10px;
	}
	.summary strong
	{
		font-size:1.9rem;
	}

	.group_toggle
	{
		width:80%;
		margin:0 auto 30px;
		display:flex;
		justify-content: center;
		align-items: center;
		background-clip: border-box;
		color:#fff;
	}
	.group_toggle li
	{
		width:100%;
	}
	.group_toggle li span
	{
		border:solid 2px #0071C1;
		background: #0071C1;
		font-weight: bold;
		width:100%;
		padding:5px;
		display:block;
		text-align: center;
		border-radius:20px 0 0 20px;
	}
	.group_toggle li a
	{
		border:solid 2px #0071C1;
		background:#fff;
		font-weight: bold;
		width:100%;
		padding:5px;
		display:block;
		text-align: center;
		border-radius:0 20px 20px 0;
	}
	.group_toggle.long
	{
		width:90%;
		flex-direction: column;
	}
	.group_toggle.long li span
	{
		width:100%;
		line-height:1.5;
		display:flex;
		align-items: center;
		justify-content: center;
		border-radius:20px 20px 0 0;
	}
	.group_toggle.long li a
	{
		width:100%;
		line-height:1.5;
		display:flex;
		align-items: center;
		justify-content: center;
		border-radius:0 0 20px 20px;
	}

	.special_info > div
	{
		width: 80%;
		margin: 0px auto 10px;
	}

	.link_add
	{
		position:static;
		margin-top:0;
		right:0;
	}
	.link_add a
	{
		margin-bottom:0.5em;
	}

	.link_more
	{
		margin:-30px 0 20px;
	}

	.container
	{
		font-size:1.5rem;
		line-height: 1.8;
		text-align: left;
		margin:0 auto 20px;
	}
	.container.flex
	{
		display:block;
	}
	.container.flex > *
	{
		width:100%!Important;
	}
	main .wrapper > p
	{
		font-size:1.3rem;
		line-height: 1.8;
		margin:10px auto 20px;
	}

	.pickup
	{
		flex-wrap:wrap;
		margin-bottom:10px;
	}
	.pickup li
	{
		width:calc( 100% / 2 );
		margin-bottom:20px;
	}
	.pickup li > a
	{
		width:calc( 100% - 20px );
	}
	.pickup.salon li
	{
		width:calc( 100% / 1 );
	}
	.pickup li > a figure
	{
		width:100%;
		height:150px;
	}
	.pickup li > a h4
	{
		height:auto;
		min-height:5em;
		font-size:1.3rem;
		line-height: 1.5;
		padding:0.5em 0.5em 1em 0.5em;
		position:relative;
	}
	.pickup li > a h4 br
	{
		display:none;
	}
	.pickup li > a h4:after
	{
		font-family:"Font Awesome 5 Free";
		font-weight:900;
		content: "\f35a";
		padding-left:0.3em;
		z-index: 2;
		position: absolute;
		bottom:0.3em;
		right:0.5em;
		color:#4264c8;
	}
	.pickup li > a > span
	{
		display:none;
	}

	/****************************
	* column
	****************************/

	.column2 ul
	{
		max-width:1200px;
		display:block;
		margin:30px auto 80px;
		padding:0 20px;
	}
	.column2 ul li
	{
		width:100%;
		text-align: center;
		margin-bottom:20px
	}
	.column2 ul li h3
	{
		display:block;
		width:100%;
		height:auto;
		background-color:#ccc;
		font-size:1.9rem;
		margin-bottom:10px;
		background-size:auto 100%;
		padding-top:100px;
		box-shadow:2px 2px 3px #ccc;
	}
	.column2 ul li h3:after
	{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(0,0,0,0);
		z-index: 1;
	}
	.column2 ul li a h3 div
	{
		font-size:2.3rem;
		padding:0.5em 0;
		background:rgba(255,255,255,1);
		color:#0071C1
	}
	.column2 ul li a h3 div span
	{
		color:#666;
	}
	.column2 ul li h3:hover div
	{
		padding:0.5em 0;
	}


	/* バナーリスト */
	.bn_list
	{
		flex-direction: column;
	}
	.bn_list div
	{
		width:100%;
		margin-bottom:1em;
	}
	.bn_list div figure img
	{
		width:100%;
		height:230px;
	}
	.bn_list.top_event div figure img
	{
		height:130px;
		object-fit:cover;
	}
	.bn_list .ttl
	{
		margin:0 auto 20px;
		font-size:1.3rem;
		line-height: 1.5;
		padding: 0.8em 0.5em 1em 1em;
		height:4em;
		position: relative;
	}
	.bn_list .ttl:after
	{
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f35a";
		padding-left: 0.3em;
		z-index: 2;
		position: absolute;
		top:auto;
		bottom: 0.3em;
		right: 0.5em;
		color:#4264c8;
		background-image:none;
		width:auto;
		height:auto;
		transform: translate(0, 0);
	}
	.bn_list .ttl span
	{
		display:none;
	}

	.box
	{
		border:2px solid #9bacde;
		background-image:url(../images/common/box_1.svg),
						url(../images/common/box_2.svg),
						url(../images/common/box_3.svg),
						url(../images/common/box_4.svg);
		background-repeat:no-repeat,
						no-repeat,
						no-repeat,
						no-repeat;
		background-position:left 12px top 12px,
						right 12px top 12px,
						left 12px bottom 12px,
						right 12px bottom 12px;
		background-size:15px auto,
						15px auto,
						15px auto,
						15px auto;
		background-color:#fff;
		width:100%;
		padding:20px 30px;
		margin:0px auto 0;
	}
	.box p
	{
		font-size:1.1rem;
		line-height: 1.8;
		margin:0 auto 0.5em;
	}

	/****************************
	* ログイン
	****************************/
	main.index .login
	{
		width:90%;
		top:-25px;
	}
	.login_inner
	{
		flex-direction: column;
	}
	.login_inner .login_title
	{
		width:100%;
		padding:10px 10px;
		border-radius:5px 5px 0 0;
	}
	.login_inner .login_title dt
	{
		font-size:2.3rem;
	}
	.login_inner .login_title dt:before
	{
		font-size:2rem;
		margin-right:0.3em;
		display:inline-block;
	}
	.login_inner .login_box
	{
		width:100%;
		padding:20px 30px;
		border-radius:0 0 5px 5px;
	}
	.login_inner div.form-item
	{
		margin-bottom: 20px;
	}
	.login_inner input.form-style
	{
		font-size:16px;
		height:auto;
		padding: 10px 5%;
	}
	.login_inner div.form-item p.formLabel
	{
		top:10px;
	}
	.login_inner button
	{
		margin:5px auto 5px;
	}

	.pw_forget
	{
		margin:0.5em auto 0;
		padding:1em 0;
		text-align:center;
		display:flex;
		justify-content: center;
	}
	.pw_forget a
	{
		display:inline-block;
		border-left:none;
		color:#333;
		padding:0 0em;
		margin:0 0.5em;
		line-height:1.3;
	}
	main.index .login.togroup
	{
		width:100%;
		max-width:100%;
		margin-top:20px;
	}
	.togroup:after
	{
		content:"";
		z-index:-1;
		width:100%;
		height:120px;
		background:#f1f1f1;
		position:absolute;
		top:-24px;
	}
	.togroup > a
	{
		top:10px;
		min-width:250px;
		font-size:1.5rem;
	}
	.togroup > a:hover
	{
		font-size:1.5rem;
	}

	.thanks
	{
		min-height:auto;
		line-height:1.8;
	}
	.thanks > p
	{
		font-weight: bold;
		font-size:1.6rem;
	}
	.thanks > .box
	{
		width:100%;
		margin-top:20px;
		margin-bottom:30px;
	}

	/****************************
	* Contents
	****************************/
	.lead
	{
		font-size: 1.4rem;
		line-height: 1.6;
	}
	.contents h2
	{
		padding: 0.3em 1rem 0.3em 10px;
		font-size: 1.8rem;
	}
	.contents .contents_inner
	{
		margin-top:50px;
	}
	.contents .contents_inner h3
	{
		font-size:1.8rem;
		padding: 0 20px;
		margin-top: 30px;
		margin-bottom: 10px;
	}
	.contents .contents_inner h4
	{
		font-size:1.6rem;
		margin:0 0 10px 0;
		padding:0 10px;
	}
	.contents .contents_inner p
	{
		font-size:1.5rem;
		padding:0 20px;
	}
	.contents .lead
	{
		padding:0 10px;
	}
	.contents .lead > dl
	{
		display:block;
	}
	.contents .dpatPDF
	{
		width: 100%;
		margin:20px auto 30px;
		padding:20px 10px;
	}
	.contents .dpatPDF > div
	{
		width:30%;
		margin-right:3%;
		font-size:1rem;
	}
	.contents .dpatPDF > div:last-child
	{
		margin-right:0;
	}
	.contents .dpatPDF > div img
	{
		width:100%;
		object-fit: contain;
	}
	.contents ul
	{
		margin:0px 20px 0px 30px;
		list-style-type: disc;
		font-size:1.4rem;
	}
	.contents ol
	{
		margin:0px 20px 0px 30px;
		list-style-type: decimal;
		font-size:1.4rem;
	}

	/****************************
	* 規約
	****************************/
	.contents.terms > h2
	{
		font-size:1.5rem;
		margin:20px auto 0;
		padding:0 10px;
	}
	.contents.terms > p
	{
		line-height: 1.6;
		font-size: 1.3rem;
		padding:0 10px;
	}
	.contents.terms ol
	{
		list-style-type: decimal;
		margin:0 30px 0 30px;
	}
	.contents.terms ol > li > span > ol
	{
		margin-left:1em;
	}
	.contents.terms ol > li > span > ol > li > span > ol
	{
		margin-left:1em;
	}
	.contents.terms ol li
	{
		font-size: 1.3rem;
	}


	.news_list
	{
		margin:0 auto 50px;
	}
	.news_list li a
	{
		padding:10px 0.5em;
		font-size:1.3rem;
	}
	.news_list li .time_wrap
	{
		display:flex;
		flex-direction: column;
		justify-content: flex-start;
		text-align: center;
		margin-right:2em;
		width:30%;
	}
	.news_list li .time_wrap time
	{
		padding:0 0.5em;
		margin-right:0em;
		margin-bottom:0.1em;
		width:100%;
	}
	.news_list li .time_wrap > span
	{
		font-size:1.1rem;
		padding:2px 0.5em;
		margin-right:0em;
		width:100%;
	}
	.news_list li a > .news_ttl
	{
		width:70%;
	}
	.news_detail h2 {
		font-size: 2.0rem;
	}

	/****************************
	* ピンクリボン運動
	****************************/
	.pinkribbon
	{
		flex-direction: column;
	}
	.pinkribbon > div
	{
		width:100%;
		margin-right:0px;
		margin-bottom:30px;
	}
	.pinkribbon > figure
	{
		max-width:260px;
		width:auto;
		height:auto;
	}

	/****************************
	* トップのスペシャル告知
	****************************/
	#top_special
	{
		flex-wrap: wrap;
	}

	#top_special a
	{
		width:70%;
		margin:0 auto 20px;
	}

	/****************************
	* 店舗リスト
	****************************/
	.shop_area
	{
		overflow-x:scroll;
		overflow-y:hidden;
		position:relative;
		margin-bottom:0;
		height:50px;
		padding-top:5px;
		padding-right:80px;
	}
	.shop_area li:last-child
	{
		display: block;
		padding-right:50px;
	}
	.shop_area + .page_number {
		margin-top: 20px;
		position: relative;
	}
	.shop_area + .page_number::before
	{
		content:"※地域選択は横にスクロールできます";
		position:relative;
		color:#666;
		font-size:1rem;
		text-align:left;
		display:block;
		top:-10px;
		font-weight: normal;
		/* font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; */
	}
	.shop_area + .page_number:after
	{

		position: absolute;
		display:block;
		content:"";
		height:50px;
		width:50px;
		background: -moz-linear-gradient(right, #fff 70%, rgba(255,255,255,0.1));
		background: -webkit-linear-gradient(right, #fff 70%, rgba(255,255,255,0.1));
		background: linear-gradient(to left, #fff 70%, rgba(255,255,255,0.1));
		top:-75px;
		right:0;
		z-index: 10;
	}

	/****************************
	* 店舗詳細
	****************************/
	.store_continer
	{
		flex-direction: column;
	}
	.store_continer .store_information
	{
		width:100%;
		margin-bottom:20px
	}
	.store_continer .store_information h2
	{
		font-size:1.5rem;
		margin-bottom:10px;
	}
	.store_continer .store_information h3
	{
		font-size:2.3rem;
		max-width: 100%;
		white-space: nowrap
	}
	.store_continer .slider
	{
		width:100%;
		height:250px;
	}
	.store_continer .slider img
	{
		width:100%;
		height:100%;
		object-fit: cover;
	}
	.thumb.store_slider
	{
		padding-left:1rem;
	}
	.thumb.store_slider li
	{
		width:calc( 100% / 5 );
		padding:0.5rem 0;
	}
	.store_icon li
	{
		width:calc(( 100% - 20px ) / 2 );
	}
	.store_icon li:nth-child(2n),
	.store_icon li:nth-child(4n)
	{
		margin-right:0;
	}

}
