@charset "utf-8";



/*	css vars
------------------------------------------*/

/* 
基準1536＋864=2400　 最小320＋568=888 
旧式　--scr-mgnf: calc( 100vh - 440px ) / 440;
*/

:root {
	
	
	--scr-mgnf: calc( (100vh + 100vw) / 1512 );
	
	--color-green: rgb(77,158,54);
	--color-lightgrn: rgb(92,173,79);
	--color-palegrn: rgb(202,242,169);
	--color-yellow: rgb(255,240,0);
	--color-palegreen:rgb(203,242,170);
	--color-peachpuff:rgb(225,218,185);
	--color-text: rgb(45,45,45);
	--color-text-green: rgb(77,158,54);
	--color-hover: rgb(255 242 240);
}
html{
	font-size: calc( 10px + 4 * var(--scr-mgnf));
}


/*	base font
------------------------------------------*/

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 500;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

body{
	color: #222;
	font-family: "Yu Gothic", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 1rem;
	font-weight:500;
	line-height:2.0;
	-webkit-text-size-adjust: none;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}



/*	link effects
------------------------------------------*/

a:link, a:visited					{ color:rgb(255,130,133); text-decoration: none}
a:hover, a:active, a:focus			{ color:rgb(255,130,133); text-decoration: none}





/*	structure
------------------------------------------*/
html{
	background:#fff;
	overflow:auto;
	overflow-x: hidden;
}
#page{
	position:relative;
	width:100%;
	height:100%;
	min-height:100vh;
	min-width:100%;
	background:#fff;
	overflow:hidden;
}
#container{
	position:relative;
	width:100%;
	height:100%;
	overflow:hidden;
}



/*	loader
------------------------------------------*/
#loader{
	display:none;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	height:100vh;
	background:#fff;
	opacity:1;
	z-index:10000;
}
#i_loader{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}
@-webkit-keyframes jump {
	5% {-webkit-transform: translateY(-10%);}
	10% {-webkit-transform: translateY(0);}
	100% {-webkit-transform: translateY(0);}
}
@keyframes jump {
	5% {transform: translateY(-10%);}
	10% {transform: translateY(0);}
	100% {transform: translateY(0);}
}
.mv_jump{
	-webkit-animation: jump 0.2s ease-in-out infinite;
	animation: jump 0.2s ease-in-out infinite;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
}
#wa		{ -webkit-animation-delay: 0.1s; animation-delay: 0.1s}
#ka		{ -webkit-animation-delay: 0.2s; animation-delay: 0.2s}
#ba		{ -webkit-animation-delay: 0.3s; animation-delay: 0.3s}
#tori	{ -webkit-animation-delay: 0.4s; animation-delay: 0.4s}


/*	hbg
------------------------------------------*/

.sp-menu{
	position:fixed;
	display:block;
	right:0;
	top:0;
	width:80px;
	height:100vh;
	background:rgba(255 255 255 / 0);
	overflow:hidden;
	z-index: 102;
	transition:.3s;
	pointer-events: none;
}
	.sp-btn{
		display: block;
		position: relative;
		width: 80px;
		height: 80px;
		padding: 20px 20px;
		background-color: var(--color-green);
		border:none;
		transition:.3s;
		box-sizing:border-box;
		z-index: 1;
		cursor: pointer;
		pointer-events:auto;
	}

	.sp-btn-icon{
		position: relative;
		display: block;
		top:0;
		width: 100%;
	}
	.sp-btn-icon,
	.sp-btn-icon:before,
	.sp-btn-icon:after {
		width: 100%;
		height: 3px;
		-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		background-color: #fff;
	}
	.sp-btn-icon:before,
	.sp-btn-icon:after{
		position: absolute;
		top: -12px;
		left: 0;
		content: '';
	}
	.sp-btn-icon:after {
		top: 12px;
	}
	
	.sp-btn-gallery,
	.sp-btn-insta{
		position:relative;
		pointer-events:auto;
	}
	.sp-btn-gallery > a,
	.sp-btn-insta > a{
		display:block;
		width:80px;
		height:80px;
		background: var(--color-yellow);
	}
	.sp-btn-insta > a{
		background: #fff;
	}
	.sp-btn-gallery img,
	.sp-btn-insta img{
		position:relative;
		display:block;
		left:13px;
		top:13px;
		width:55px;
		height:auto;
	}
	.sp-btn-insta img{
		left:30px;
		top:30px;
		width:22px;
		height:auto;
	}
	.hbg_insta{
		width:35% !important;
	}

/* opened */
.sp-menu.hbg_on{
	right:18.25rem;
	background-color: transparent;
}
.sp-btn.hbg_on{
	top:0;
	background-color: transparent;
}
.sp-btn.hbg_on .sp-btn-icon{
	background-color: transparent;
}
	.sp-btn.hbg_on .sp-btn-icon:before {
		top:0;
		background-color: #fff;
		transform: rotate(45deg);
	}
	.sp-btn.hbg_on .sp-btn-icon:after {
		top:0;
		background-color: #fff;
		transform: rotate(-45deg);
	}

#hbg ul > li > a {
	color:var(--color-green) !important;
}

.sp_bg{
	display:none;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(77 158 54 / .9);
	overflow:hidden;
	transition:.3s;
	z-index:101;
}
	.sp_bg.hbg_on{
		display:block;
	}

@media(max-width: 1024px) {
	.sp-btn-gallery,
	.sp-btn-insta{
		display:none;
	}
}
@media(max-width: 560px) {
	.sp-menu{
		width:50px;
	}
	.sp-btn{
		width: 50px;
		height: 50px;
		padding: 0 15px;
	}
	.sp-btn-icon:before{
		top: -9px;
	}
	.sp-btn-icon:after{
		top: 9px;
	}

	.sp-btn-gallery > a,
	.sp-btn-insta > a{
		width:50px;
		height:50px;
	}
	.sp-btn-gallery img,
	.sp-btn-insta img{
		left:8px;
		top:8px;
		width:37px;
	}
	.sp-btn-insta img{
		left:15px;
		top:15px;
		width:20px;
	}
}

#hbg{
	position:fixed;
	z-index: 101;
	right:-18.25rem;
	top: 0;
	overflow: hidden;
	width: 18.25rem;
	height: 100%;
	color: #222;
	background-color: #fff;
	overflow-y: scroll;
	transition:.3s;
	z-index:1001;
}
	#hbg.hbg_on{
		right:0;
	}
	
/* #hbg inner */
#hbg .hbg_info{
	display:table;
	width:90%;
	margin:0 auto .5rem;
}
	#hbg .hbg_info li{
		display:table-cell;
		text-align:center;
		padding:1rem 0 0;
	}
	#hbg .hbg_info li img{
		width:100%;
		max-width:73px;
		height:auto;
	}
	#hbg .hbg_menu-ttl{
		width:100%;
		text-align:center;
		font-family:'Roboto Condensed', sans-serif;
		font-size:1.7rem;
		font-weight:700;
		padding-bottom:4px;
		border-bottom:1px solid rgb(30,140,120);
	}
	
	#hbg ul > li > a{
		display:block;
		position:relative;
		padding:13px 10px;
		font-size:.9rem;
		font-weight:bold;
		line-height:1.2;
		border-bottom:1px solid rgba(94,183,79,.7);
	}






/*	hd
------------------------------------------*/
#header{
	position:relative;
	width:100%;
	height:110px;
	background:#fff;
	z-index:1;
	
	letter-spacing: .04rem;
}
	#header .wrap{
		position:relative;
		width:98%;
		margin:0 auto;
	}
	#header #logo{
		position:relative;
		width:281px;
		height:87px;
		padding-top:5px;
	}

	#gm{
		position:absolute;
		top:32px;
		right:max(6vw,90px);
		display:block;
		width:auto;
	}
		#gm > div{
			display:table-cell;
			text-align:center;
		}

		#gm > div > a{
			position:relative;
			display:block;
			color:#222;
			font-size:clamp(14px,1.2vw,1rem);
			font-size:.9rem;
			line-height: 1.4;
			padding:0 1vw 0;
			overflow: visible;
		}

@media(max-width: 865px) {
	#header{
		height:auto;
	}
	#header .wrap{
		text-align: center;
	}
	#header #logo{
		width:min(60%,281px);
		height:auto;
		margin:0 0 0 1vw;
		padding:5px 0 10px;
	}
	#gm{
		display:none;
	}
}




/*	content
------------------------------------------*/

.main{
	position:relative;
	width:1024px;
	margin:0 auto 8rem;
}
.inner{
	position:relative;
	width:1024px;
	padding:0 2.6%;
	margin:0 auto;
}
@media screen and (max-width: 1024px) {
	.main, .inner{
		width:100%;
	}
}



/*	bn
------------------------------------------*/

.bn_tel{
	display:block;
	text-align:center;
	margin:0 auto;
}
	.bn_tel a{
		display:inline-block;
		padding:1rem 2rem .8rem;
		background: rgb(94,183,79);
		border-radius:1rem;
		transition:.3s;
	}
	.bn_tel span{
		display:block;
		color:#fff;
		font-weight:bold;
		line-height:1.5;
		margin:0 0 10px;
	}
	.bn_tel a:hover,
	.bn_tel a:active{
		background: rgba(94,183,79,.7);
	}
@media screen and (max-width: 500px) {
	.bn_tel a{
		padding:.8rem .8rem .6rem;
	}
	.bn_tel span{
		font-size:.9rem;
	}
	.bn_tel a img{
		width:85%;
		height:auto;
	}
}


/*	footer
------------------------------------------*/
.ft{
	position:relative;
	width:100%;
	padding-bottom:min(46vh,400px);
	background-image:url(/img/ft_illust.webp);
	background-position:bottom center;
	background-repeat:no-repeat;
	background-size:auto;
}
	.ft .wrap{
		position: relative;
		width:970px;
		margin:0 auto;
	}
	.ft .colophon{
		position: relative;
	}
	.ft .colophon dd{
		font-size:.9rem;
		text-shadow:
			0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 
			0 0 4px #fff, 0 0 4px #fff, 
			0 0 8px #fff, 
			0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 
			0 0 4px #fff, 0 0 4px #fff, 
			0 0 8px #fff
	}
	.ft .colophon dl{
		display:block;
		width:min(90%,350px);
		text-align: center;
		margin:0 auto;
	}
	.ft .colophon dt{
		display:block;
	}
	.ft .colophon dd{
		display:block;
		vertical-align:middle;
		line-height:1.5;
	}
	.ft .colophon dd a.tel{
		display:inline-block;
		vertical-align:middle;
		font-size:2rem;
		margin-right:1rem;
	}
	.ft .colophon dd a.btn_green_rounded{
		text-shadow:none;
	}
	.ft .colophon dd a.i_fb{
		position:relative;
		top:4px;
		vertical-align:middle;
	}
	.ft .colophon dd a.i_insta{
		position:relative;
		top:4px;
		vertical-align:middle;
	}
	
	.ft #copyright{
		position:absolute;
		display:block;
		width:100%;
		bottom:1rem;
		text-align:center;
		font-family: 'Jaldi', sans-serif;
		line-height:1;
	}


@media(max-width: 970px) {
	.ft{
		padding-bottom:min(35vw,330px);
		background-image:url(/img/ft_illust_s.webp);
		background-size:100%;
	}
	.ft .wrap{
		width:100%;
		padding:0 1rem;
	}
}

#i_boshu{
	display:block;
	position:fixed;
	left:0;
	top:50%;
	z-index:100;
	cursor:pointer;
}
	#i_boshu a,
	#i_boshu img{
		display:block;
	}
	#i_boshu:hover{
		animation-duration: .4s;
		animation-name: bounce;
	}
@media screen and (max-width: 600px) {
	#i_boshu{
	}
	#i_boshu img{
		width:105px;
		height:auto;
	}
}

#i_pagetop{
	display:block;
	position:fixed;
	right:-1%;
	bottom:5px;
	width:58px;
	height:76px;
	background:url("/img/i_pagetop-ttm.gif") no-repeat;
	z-index:1000;
	cursor:pointer;
}
	#i_pagetop a{
		display:block;
		width:100%;
		height:100%;
	}
	#i_pagetop.moving{
		background:url("/img/i_pagetop-ttm_on.gif") no-repeat;
	}

@media screen and (max-width: 600px) {
	#i_pagetop img{
		width:50px;
		height:auto;
	}
}


.loading{
	display:none;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(255,255,255,.6);
	border-radius:10px;
}
	.loading img{
		position:absolute;
		display:block;
		left:0;
		top:0;
		right:0;
		bottom:0;
		margin:auto;
	}




/*	ajax
------------------------------------------*/
.modal{
	display:block;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.9);
	z-index:1000;
}
.overlay{
	display:block;
	position:relative;
	top:0;
	left:0;
	width:100%;
	height:100%;
	margin:0 auto 0;
	z-index:1001;
}
.btn_close{
	display:block;
	position:fixed;
	top:0;
	right:0;
	width:35px;
	height:35px;
	background:rgb(94,183,79);
	border-radius:1px;
	z-index:1002;
	cursor:pointer;
	transition: .5s;
}
	.btn_close img{
		position:absolute;
		display:block;
		top:0;
		left:0;
		right:0;
		bottom:0;
		margin:auto;
	}
	.btn_close:hover{
		background:rgba(94,183,79,.7);
	}



/*	form
------------------------------------------*/

.er_msg_box{
	display:inline-block;
	padding:10px 16px;
	color:rgb(192,63,63);
	font-size:.9rem;
	line-height:1.4;
	background:mistyrose;
	border-radius:3px;
}
.er{
	display:inline-block;
	padding:7px 1em;
	color:rgb(192,63,63);
	font-size:.9rem;
	line-height:1;
	background:mistyrose;
	margin:.5rem 0;
	border-radius:3px;
}



/*	column layout
------------------------------------------*/

.clm2:after,
.clm3:after{
	content: "";
	display: table;
	clear: both;
}
	.clm2_item{
		float:left;
		width:49%;
		margin:0 1% 1rem 0;
	}
	
	.clm3_item{
		float:left;
		width:32%;
		margin:0 2% 1rem 0;
	}
	.clm3_item:nth-child(3n){
		margin:0 0 1rem 0;
	}

/* variable */
.clm_20p{ width:18%}
.clm_30p{ width:28%}
.clm_40p{ width:38%}
.clm_50p{ width:48%}
.clm_60p{ width:58%}
.clm_70p{ width:68%}
.clm_80p{ width:78%}

@media screen and (max-width: 600px) {
	.clm3_600_clm2{
		width:49%;
		margin:0 2% 1rem 0;
	}
	.clm3_600_clm2:nth-child(2n){
		margin:0 0 1rem 0;
	}
}



/*	frame
------------------------------------------*/

.fr_white{
	position:relative;
	border-radius:10px;
	background:#fff;
}
.fr_lightgreen{
	position:relative;
	border-radius:10px;
	background:rgba(94,183,79,0.2);
}
.fr_green{
	display:inline-block;
	padding:1rem 2rem .8rem;
	background: rgb(94,183,79);
	border-radius:1rem;
}

.fr_tile{
	position:relative;
	display:block;
	width:calc(100% - 16px);
	padding:3rem 3rem 3.5rem;
	background-image:url(/img/fr_leaf_970.png);
	background-repeat:no-repeat;
	background-position:left top;
	z-index:1;
}
	.fr_tile::before,
	.fr_tile::after{
		display:block;
		position:absolute;
		content:'';
		right:-16px;
		top:0;
		width:16px;
		height:100%;
		background-image:url(/img/fr_leaf_970.png);
		background-repeat:no-repeat;
		background-clip:border-box;
		background-position:right top;
		z-index:-1;
	}
	.fr_tile::after{
		left:0;
		bottom:calc(100% + 16px);
		width:100%;
		height:100%;
		background-image:url(/img/fr_leaf_btm.png);
		background-position:left bottom;
	}
@media screen and (max-width: 500px) {
	.fr_tile{
		padding:1.5rem 1.5rem 2rem;
	}
}

.fr_leaf{
	position:relative;
	padding: 5rem 500% 6rem;
	margin: 0 -500%;
	background-image:url(/img/ttl_elem_tile.gif),url(/img/ttl_elem_tile.gif);
	background-position: 0 1%, 0 99%;
	background-repeat:repeat-x, repeat-x;
	background-color:rgba(94,183,79,.1);
}

.img_photo-shadow{
	display:block;
	outline:8px solid #fff;
	box-shadow:0 0 3px rgba(0,0,0,.5);
}



/*	table
------------------------------------------*/

/* plain no-border */
.table_plain{
	width:100%;
	border-collapse: separate;
	border-spacing: 0;
	border-bottom:1px solid rgba(255,255,255,.3);
}
	.table_plain th{
		padding:10px 10px 10px 0;
		vertical-align:middle;
		text-align:left;
		white-space:nowrap;
		border-top:1px solid rgba(255,255,255,.3);
	}
	.table_plain td{
		padding:10px;
		vertical-align:middle;
		text-align:left;
		border-top:1px solid rgba(255,255,255,.3);
	}

/* green */
.table_green{
	width:100%;
	border-collapse: separate;
	border-spacing: 0;
	border-bottom:1px solid rgba(94,183,79,.5);
}
	.table_green th,
	.table_green td{
		padding:1rem 1.5rem;
		vertical-align:middle;
		text-align:left;
		border-top:1px solid rgba(94,183,79,.5);
	}
	.table_green th{
		padding:1rem .8rem;
		white-space:nowrap;
		background:rgba(94,183,79,.15);
	}
	
.table_narrow th,
.table_narrow td{
	padding:.6rem .6rem;
	line-height:1.5
}



/*	title
------------------------------------------*/

/* page ttl */

.pgttl{
	position:relative;
	display:table;
	width:100%;
	height:min(20rem,298px);
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:cover;
	border-radius:1rem;
	margin:0 auto 7rem;
}
	.pgttl div{
		display:table-cell;
		width:100%;
		height:100%;
		text-align:center;
		vertical-align: bottom;
		transform: translateY(20%);
	}
	.pgttl div img{
		width:auto;
		height:80%;
		max-height:90px;
	}
@media screen and (max-width: 670px) {
	.pgttl{
		height:12rem;
	}
	.pgttl div img{
		max-height:60px;
	}
}


/* common ttl */

.ttl_tile{
	position:relative;
	text-align:center;
	margin:0 0 2rem;
}
.ttl_tile::before{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	content:'';
	background-image:url(/img/ttl_elem_tile.gif),url(/img/ttl_elem_tile.gif);
	background-position:0 50%, 100% 50%;
	background-repeat:no-repeat,no-repeat;
}
	.ttl_tile img{
		position:relative;
		height:37px;
		width:auto;
		z-index:1;
	}
@media screen and (max-width: 600px) {
	.ttl_tile::before{
		opacity:0.25;
	}
	.ttl_tile img{
		height:26px;
	}
}

.ttl_tile_left{
	position:relative;
	min-height:42px;
	padding:.2rem 0 0 3.57rem;
	color:rgb(94,183,79);
	font-size:1.3rem;
	font-weight:bold;
	line-height:1.2;
	background:url(/img/ttl_elem_tile_left.gif) no-repeat 0 0;
	margin:0 0 1rem;
}

.ttl_tile_s{
	position:relative;
	padding:0 0 1.5rem;
	text-align:center;
	color:rgb(94,183,79);
	font-size:1.3rem;
	font-weight:bold;
	line-height:1.2;
	background:url(/img/bd_tile_s2.gif) no-repeat bottom center;
	margin:0 auto 1rem;
}

.m_green{
	color:rgb(94,183,79);
	font-size:1.5rem;
	font-weight:bold;
	line-height:1.2;
	margin-bottom:.5rem;
}


/*	btn
------------------------------------------*/

.btn_green_rounded:link,
.btn_green_rounded:visited{
	display:inline-block;
	padding:.4rem .8rem .3rem;
	text-align:center;
	vertical-align:middle;
	color:#fff;
	font-weight:bold;
	line-height:1.2;
	background: rgb(94,183,79);
	border-radius:10px;
	margin:.1rem .5rem;
	transition:.3s;
}
	.btn_green_rounded:hover,
	.btn_green_rounded:active{
		background: rgba(94,183,79,.7);
	}


/*	font
------------------------------------------*/

/* font family */
.ff_min			{font-family: "A1明朝"; font-weight:normal}
.ff_meiryo		{font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W5', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif}
.ff_gothic		{font-family: font-family: "Yu Gothic", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; font-weight: 500}
.ff_zenmaruR,
.ff_zenmaruM,
.ff_zenmaruB{
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: .04rem;
}
.ff_zenmaruM{
	font-weight: 700;
}
.ff_zenmaruB{
	font-weight: 900;
}

/* font size */
.fs_LLL	{font-size:2.0rem}
.fs_LL	{font-size:1.75rem}
.fs_L	{font-size:1.5rem}
.fs_ML	{font-size:1.2rem}
.fs_MML	{font-size:1.15rem}
.fs_M	{font-size:1rem}
.fs_MS	{font-size:.9rem}
.fs_S	{font-size:.75rem}
.fs_SS	{font-size:.6rem}

/* font size */
.fw_bold	{font-weight:bold}
.fs_normal	{font-size:normal}

/* letter spacing */
.ls_loose{letter-spacing: .1rem}
.ls_tight{letter-spacing: -.1rem}

/* text decoration*/
.txd_ul,.txd_ul a{text-decoration:underline !important}
.txd_none, .txd_none a{text-decoration:none !important}
.txd_light{
	text-shadow:
		0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff,
		0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff,
		0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff,
		0 0 6px #fff, 0 0 6px #fff, 0 0 6px #fff,
		0 0 9px #fff, 0 0 9px #fff, 0 0 9px #fff
}

.ul_linkcolor{
    background: linear-gradient(transparent 70%, rgba(255,130,133,.4) 0);
}



/*	other
------------------------------------------*/

/* color */
.cl_grey		{color:rgb(35,35,35)}
.cl_white		{color:rgb(255,255,255)}
.cl_green		{color:rgb(94,183,79)}
.cl_darkgreen	{color:rgb(0,102,0)}
.cl_pink		{color:#ff7b9c}
.cl_red			{color:rgb(192,63,63)}

/* border */
.bd_green	{border-color:rgb(42,156,128)}
.bd_pink	{border-color:#ff7b9c}
.bd_beige	{border-color:#e9e3d1}

/* display */
.dp_hide		{display:none}
.dp_block		{display:block}
.dp_inline		{display:inline}
.dp_in-block	{display:inline-block; * zoom:1; * display:inline}

.dp_show1000,
.dp_show900,
.dp_show800,
.dp_show700,
.dp_show600,
.dp_show500,
.dp_show400{
	display:none;
}
@media screen and (max-width: 1000px){.dp_show1000{display:block}}
@media screen and (max-width: 900px){.dp_show900{display:block}}
@media screen and (max-width: 800px){.dp_show800{display:block}}
@media screen and (max-width: 700px){.dp_show700{display:block}}
@media screen and (max-width: 600px){.dp_show600{display:block}}
@media screen and (max-width: 500px){.dp_show500{display:block}}
@media screen and (max-width: 400px){.dp_show400{display:block}}

.dp_hide1000,
.dp_hide900,
.dp_hide800,
.dp_hide700,
.dp_hide600,
.dp_hide500,
.dp_hide400{
	display:block;
}
@media screen and (max-width: 1000px){.dp_hide1000{display:none}}
@media screen and (max-width: 900px){.dp_hide900{display:none}}
@media screen and (max-width: 800px){.dp_hide800{display:none}}
@media screen and (max-width: 700px){.dp_hide700{display:none}}
@media screen and (max-width: 600px){.dp_hide600{display:none}}
@media screen and (max-width: 500px){.dp_hide500{display:none}}
@media screen and (max-width: 400px){.dp_hide400{display:none}}

/* clear */
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

/* img */
.imgfit{
	display:block;
	width:100%;
	height:auto;
}
.img_bd_white{
	border:.5rem solid #fff;
	box-shadow:3px 3px 10px rgba(0,0,0,.3);
}

/* float */
.float_R{float:right}
.float_L{float:left}
.float_C{margin:0 auto 0}

/* align */
.align_R{text-align:right}
.align_L{text-align:left}
.align_C{text-align:center}

/* margin */
.mb_LLL	{margin-bottom:8rem !important}
.mb_LL	{margin-bottom:4rem !important}
.mb_L	{margin-bottom:2.6rem !important}
.mb_ML	{margin-bottom:1.33rem !important}
.mb_M	{margin-bottom:1rem !important}
.mb_MS	{margin-bottom:.75rem !important}
.mb_S	{margin-bottom:.5rem !important}
.mb_SS	{margin-bottom:.25rem !important}
.mb_Z	{margin-bottom:0 !important}

/* padding */
.pad-L_10	{padding-left:10px}
.pad-L_20	{padding-left:20px}
.pad-L_30	{padding-left:30px}
.pad-R_10	{padding-right:10px}
.pad-R_20	{padding-right:20px}
.pad-R_30	{padding-right:30px}

/* line-height */
.lh_100		{line-height:1rem}
.lh_110		{line-height:1.1rem}
.lh_120		{line-height:1.2rem}
.lh_130		{line-height:1.3rem}
.lh_140		{line-height:1.4rem}
.lh_150		{line-height:1.5rem}
.lh_170		{line-height:1.7rem}
.lh_200		{line-height:2rem}
.lh_240		{line-height:2.4rem}
.lh_300		{line-height:3rem}



/*	animation fx
------------------------------------------*/

.fx_jello:hover{
	animation-duration: .4s;
	animation-name: jello;
	transform-origin: center;
}
.fx_headshake:hover{
	animation-duration: .8s;
	animation-name: headShake;
	transform-origin: center;
}

.fx_img_expand{
	transform: scale(1.2);
}

.fx_ul::after{
    display:block;
    position:absolute;
    content:'';
    left:50%;
    bottom:-.6rem;
    width:0;
    height:3px;
    background:rgba(255 240 0);
    transform:translateX(-50%);
    transition:.3s;
}
    .fx_ul.hover::after{
        width:100%;
	}



/*	slick
------------------------------------------*/

@charset 'UTF-8';

/* Slider */

.slick-slider{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus{
    outline: none;
}
.slick-list.dragging{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after{
    display: table;

    content: '';
}
.slick-track:after{
    clear: both;
}
.slick-loading .slick-track{
    visibility: hidden;
}

.slick-slide{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide{
    float: right;
}
.slick-slide img{
    display: block;
	width: 100%;
	max-width: 1300px;
    height: auto;
	text-align: center;
	margin:0 auto;
}
.slick-slide.slick-loading img{
    display: none;
}
.slick-slide.dragging img{
    pointer-events: none;
}
.slick-initialized .slick-slide{
    display: block;
}
.slick-loading .slick-slide{
    visibility: hidden;
}
.slick-vertical .slick-slide{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}














/* theme */

.slick-loading .slick-list{
    background: #fff url('../js/ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('../font/slick.eot');
    src: url('../font/slick.eot?#iefix') format('embedded-opentype'), url('../font/slick.woff') format('woff'), url('../font/slick.ttf') format('truetype'), url('../font/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next{
	position: absolute;
	display: block;
	top: 50%;
	transform: translate(0, -50%);
	width: 30px;
	height: 30px;
	font-size: 0;
	line-height: 0;
	background:url(/img/i_arrow_gr_R.png) no-repeat;
	border: none;
	outline: none;
	overflow:visible;
	cursor: pointer;
	z-index:1;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus{
    opacity:.7;
}
.slick-prev{
	left: -30px;
	background:url(/img/i_arrow_gr_L.png) no-repeat;
}
.slick-next{
	right: -30px;
}


/* Dots */
.slick-dots{
    position: absolute;
    bottom: -3.5rem;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li{
    position: relative;

    display: inline-block;

    width: 1.00rem;
    height: 1.00rem;
    margin: 0 .25rem;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 1.00rem;
    height: 1.00rem;
    margin: 0 .25rem;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before{
    opacity: 1;
}
.slick-dots li button:before{
    font-family: 'slick';
    font-size: 1rem;
    line-height: 1.25;

    position: absolute;
    top: 0;
    left: 0;

    width: 1.00rem;
    height: 1.00rem;

    content: '•';
    text-align: center;

    color: rgba(255,255,255,.5);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before{
    color: #ff7b9b;
}