@charset "utf-8";
/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
	color: #4d4d4d;
	word-wrap: break-word;
	overflow-wrap: break-word;

	/* ヒラギノベース */
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	/* 游ゴシックベース */
	/*font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;*/
	/* メイリオベース */
	/*font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, Arial, Helvetica, sans-serif;*/
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
.font_ls{	letter-spacing: 0.5em;}
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*
::selection {
	background: #7eb527;
	color: #fff;
}
::-moz-selection {
	background: #7eb527;
	color: #fff;
}
*/

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}
a[href] {
	color: #363930;
	text-decoration: underline;
	outline: none;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
a[href].a_reverse:hover,
.a_reverse a[href]:hover {
	text-decoration: underline;
}
a[href^="http"],
a[href^="mailto:"] {
	word-break: break-all;
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	max-width: 100%;
	margin: 0;
	vertical-align: middle;
	font-family: inherit;
	outline: none;
	font-size: 100%;
}

button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}
@media screen and (max-width: 768px) {
	body {
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
		width: 100%;
	}
	img {
		max-width: 100%;
		height: auto;
	}
}


/* pc / sp
============================================================================================================ */
.sp,
.sps {
	display: none !important;
}
@media (min-width: 769px), print {
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
	td.sp, th.sp {
		display: table-cell !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
	.sps_non {
		display: none !important;
	}
}

/* sp
============================================================================================================ */
@media screen and (max-width: 768px) {
	*[data-label] img {
		display: none !important;
	}
	*[data-label]:before {
		content: attr(data-label);
	}
	*[data-label-r]:after {
		display: block;
		content: attr(data-label-r);
	}
}
@media screen and (min-width: 371px) {
	*[data-label-r].spl_r_inline:after {
		display: inline;
	}
}

/* spパディング
============================================================================================================ */
@media screen and (max-width: 768px) {
	.sp_pd {
		padding-left: 5px !important;
		padding-right: 5px !important;
	}
	.sp_full {
		margin-left: 0px !important;
		margin-right:0px !important;
	}
	#header .pc_hidden p{
	background-color: #305f9f;
	border-top: 1px solid #fff;
	color: #fff;
	}
}
@media screen and (max-width: 370px) {
	.sp_full {
		margin-left: 0px !important;
		margin-right: 0px !important;
	}
	.sp_pd {
		padding-left: 5px !important;
		padding-right: 5px !important;
	}
}


/* pc_hidden
============================================================================================================ */
@media screen and (min-width: 769px), print {
	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
		color: #fff;
	}
	.pc_hidden a:link{
		color: #fff;
	}
	
}

/* color
============================================================================================================ */
.c_theme,
a.c_theme {
	color: #8cb33f;
}
.c_black,
a.c_black {
	color: #000;
}


/* transition
============================================================================================================ */
@media screen and (min-width: 769px) {
	a[href],
	a[href]:before,
	a[href]:after,
	button,
	.basic_trs,
	.basic_trs:before,
	.basic_trs:after,
	.basic_trs *,
	.basic_trs *:before,
	.basic_trs *:after {
		-webkit-transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
		-o-transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
		transition: color 0.2s, background 0.2s, border 0.2s, opacity 0.2s;
	}
}


/* font family
============================================================================================================ */
.ff_min {
	font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HiraMinProN-W3", "游明朝", YuMincho, "HGS明朝E", "HG明朝E", "メイリオ", Meiryo, serif;
	/*font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HiraMinProN-W3", "HGS明朝E", "HG明朝E", "メイリオ", Meiryo, serif;*/
}


/* display
============================================================================================================ */
.db {
	display: block;
}
.dib {
	display: inline-block;
}

/* w
============================================================================================================ */
.w {
	position: relative;
	width: 980px;
	margin: 0 auto;
}
.w:after {
	content: ""; display: table; clear: both;
}
.w p{
letter-spacing: 0.2em;
}

.w.s {
	width: 700px;
}
.wt {
	display: table;
}
.wt > * {
	display: table-cell;
	vertical-align: middle;
}
.wt:after {
	content: none;
}
.mw {
	min-width: 980px;
}
@media screen and (max-width: 768px) {
	.w {
		width: 100% !important;
	}
	.mw {
		min-width: 0;
	}
}


/* hv_wh
============================================================================================================ */
@media screen and (min-width: 769px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		overflow: hidden;
	}
	a.hv_wh:after,
	button.hv_wh:after,
	a .hv_wh:after,
	.hv_wh a:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		-webkit-transition: background 0.2s;
		-o-transition: background 0.2s;
		transition: background 0.2s;
		z-index: 3;
	}
	a[href].hv_wh:hover:after,
	button.hv_wh:hover:after,
	a[href]:hover .hv_wh:after,
	.hv_wh a[href]:hover:after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover:after,
	button.hv_wh.a20:hover:after,
	a[href]:hover .hv_wh.a20:after,
	.hv_wh a[href]:hover.a20:after {
		background-color: rgba(255,255,255,0.2);
	}

	a[href] .hv_op {
		-webkit-transition: opacity 0.2s;
		-o-transition: opacity 0.2s;
		transition: opacity 0.2s;
	}
	a[href].hv_op:hover,
	a[href]:hover .hv_op {
		opacity: .7;
	}
	a[href].hv_op.a20:hover,
	a[href]:hover .hv_op.a20 {
		opacity: 0.8;
	}
}



/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -50px;
}
.target.pt {
	top: -70px;
}
@media screen and (max-width: 768px) {
	.target {
	}
	.target.pt {
	}
}


/* header
============================================================================================================ */
#header {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	background-color: #fff;
	z-index: 1000;
}
#header h1 {
	text-align: center;
	padding: 30px 0;
}
@media (min-width: 769px), print {
	#header nav > div {
		background-color: #305f9f;
		font-size: 1.3rem;
	}
	#header nav.fixed > div {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		border-bottom: 1px solid #22426f;
	}
	#header nav ul {
		display: table;
		margin: auto;
		width: 100%;
		border-top: 1px solid #305f9f;
		border-bottom: 1px solid #22426f;
	}
	#header nav li {
	/*	width: 16%; */
	/*	width: calc(100%/7); */
		width: 160px;
		display: table-cell;
		vertical-align: middle;
		}
	#header nav li.hcp {
		width: 190px;
		}
	#header nav li .pc{
	}
	#header nav ul a {
		display: table;
		padding: 3px 0;

		text-align: center;
		text-decoration: none;
		color: #fff;
		width: 100%;
	}
	#header nav ul a > span {
		display: table-cell;
		vertical-align: middle;
		border-left: 1px solid #22426f;
		border-right: 1px solid #22426f;
		border-collapse: collapse;
		padding: 10px;
	}
	#header nav ul li.navlink.hs a span {
		letter-spacing: -0.05em;
	}
	#header nav ul a:hover,
	#header nav ul a.current {
		color: #305f9f;
		background-color: #ffffff;

		}
	#header nav ul a.current{font-weight: bold;}
	#header nav ul a:hover > span,
	#header nav ul a.current > span {
		border-left: 1px solid #ffffff;
		border-right: 1px solid #ffffff;	
	}



}
@media screen and (max-width: 768px) {
	#header {
		position: absolute;
		width: 98% !important;
		margin: 0 auto;
	}
	#header h1 {
		padding: 5px 0;
	}
	#header h1 img {
		width: auto;
		height: 40px;
	}
	#header nav.fixed > div {
		position: relative !important;
	}
	
	
	#header .nav_btn {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 16%;
		height: 50px;
		z-index: 20;
		text-align: center;
		border-right: 1px dotted #fff;		
	}
	#header .top_btn {
		position: fixed;
		left: 16%;
		bottom: 0;
		width: 28%;
		height: 50px;
		z-index: 20;
		text-align: center;
		padding-top: 5px;
		border-right: 1px dotted #fff;
	}
	#header .tel_btn {
		position: fixed;
		left: 44%;
		bottom: 0;
		width: 28%;
		height: 50px;
		z-index: 20;
		text-align: center;
		padding-top: 5px;
		border-right: 1px dotted #fff;		
	}
	#header .contact_btn {
		position: fixed;
		left: 72%;
		bottom: 0;
		width: 28%;
		height: 50px;
		z-index: 20;
		text-align: center;
		padding-top: 5px;
	}		
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 50px;
	}
	#header .nav_btn:before,
	#header .nav_btn a:before,
	#header .nav_btn a:after {
		content: "";
		position: absolute;
		left: 12px;
		right: 12px;
		top: 50%;
		margin-top: -1px;
		border-top: 2px solid #fff;
		-webkit-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
		width: 64%;
	}
	#header .nav_btn a:before {
		-webkit-transform: translateY(-7px);
		-ms-transform: translateY(-7px);
		-o-transform: translateY(-7px);
		transform: translateY(-7px);
		width: 64%;		
	}
	#header .nav_btn a:after {
		-webkit-transform: translateY(7px);
		-ms-transform: translateY(7px);
		-o-transform: translateY(7px);
		transform: translateY(7px);
		width: 64%;
	}

	/* open */
	#header.open .nav_btn:before {
		opacity: 0;
	}
	#header.open .nav_btn a:before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a:after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}


	#header nav {
		position: fixed;
		left: 0px;
		right: 0;
		bottom: 50px;
		top: 0px;
		background-color: #305f9f;
		border: 1px solid #305f9f;
		-webkit-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
	}
	/* open */
	#header.open nav {
		-webkit-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
	}
	/* showed */
	#header.showed nav {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}

	#header nav > div {
		height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	#header nav > div > div {
		height: 100%;
		overflow-y: auto;
		padding-top: 10px;
		padding-bottom: 20px;
	}

	#header nav li {
		position: relative;
	}
	#header nav li:before {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		left: 20px;
		border-bottom: 1px solid rgba(255,255,255,.5);
	}
	#header nav li.navlink a {
		position: relative;
		display: block;
		padding: 15px 0 15px 25px;
		color: #fff;
		font-size: 1.5rem;
		line-height: 1.3;
		text-decoration: none;
	}
	#header nav li.navlink a:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 15px;
		width: 10px;
		height: 10px;
		margin-top: -6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	
	
	#header .head01colum .logobox{
	margin: 10px 10px 0 10px!important;
	float: left;
	/*display: block;
	float: left;
	text-align: left;
	width: 50% !important;
	*/
	}
	#header .ff_en a{color: #fff;}
	nav .nav00 {width: 100%;}
	nav .nav00 .navtopsmp555{background-color: #fff;padding: 3px 3px 3px 5px;}
	nav .nav00 .navtopsmp555 a{font-size: 2.0rem !important;text-decoration: underline !important;}
	nav .nav00 .navtopsmp555 a:link{color: #000 !important;}
	#header nav li.navtopsmp555 img.flimg00  {
		display: block;
		margin: 0 3px 0 10px;
		float: left;
	}
	#header nav li.navtopsmp555 a {
		display: block;
		margin: 0 0 0 35px;
		float: left;
		padding: 12px 0 0 0;
	}
	#header nav li.navtopsmp555 a img {
		margin-right: 2px;
	}
	
	
	#header .head01colum .mark{
	margin: 10px 0 0 0 !important;
	float: left;
	/*display: block;
	float: right;
	text-align: right;
	width: 30% !important;*/
	}
	#header .head01colum .freetelhead456{
	clear: both;
	margin: 5px 0 !important;
	text-align: left !important;
	display: block;
	padding: 5px;
	width: 100% !important;
	}
	.head01colum .freetelhead456{
	font-size: 2.7rem !important;}

	#header .head01colum .logobox img,
	#header .head01colum .mark img{
	/*width: 80%;height: auto;*/
	}	
	#header .head01colum .logobox img{
	height: auto;
	width: 134px;
	margin-top: 5px;
	}
	#header .head01colum .mark img{
	height: 28px;
	width: auto;
	}
	.head01colum .rrrr7{float: none !important;}
	.head01colum .ptxt{display: none;}
	
	.freetelhead456 .sp{
	display: inline !important;
	}

	#header .line{
	float: right;
	margin: 40px 0 0 0 !important;
	}
	.fbtop.sp{float: right;margin: 40px 10px 0 0 !important;}

	.fbtop.sp img{width: 28px;height: auto;}
	
	
	
}


/* footer
============================================================================================================ */
#footer {
	position: relative;
	text-align: center;
}
#footer .food_senav6{
text-align: center;
background-color: #305f9f;
width: 100%;
padding: 5px;
}
#footer .food_senav6 a{
background-image: url("/common/images/yazi.png");
background-repeat: no-repeat;
background-position: left 0.5em;
padding-left: 10px;
color: #fff;
font-size: 1.4rem;
margin-left: 20px;
margin-right: 20px;
}
#footer .food_senav6 a:link{
color: #fff;

}
#footer .foot_logoad{
width: 600px;
margin: 25px auto 50px auto;
}
#footer .foot_logoad .logoad_footlogo{
float: left;
width: 246px;
}
#footer .foot_logoad .logoado_footad{
float: right;
width: 324px;
text-align: left;
	line-height: 1.4;

}
#footer .facebook {
	padding: 22px 0;
	background-color: #4d4d4d;
}
#footer small {
	display: block;
	padding: 20px 0;
	font-size: 1.4rem;
}



#footer .sitemap00{
margin-bottom: 20px;
}
#footer .sitemap00 ul{
margin-right: 1.6%;width: 15%;float: left;
}
#footer .sitemap00 li{
font-size: 1.2rem;
text-align: left;
margin-bottom: 5px;
}
#footer .sitemap00 li.subtitlinkg{
margin-bottom: 10px;
}
#footer .sitemap00 li.subtitlinkg a{
background-image: url("/common/images/yazi_b.png");
background-repeat: no-repeat;
background-position: left 0.5em;
padding-left: 10px;
font-size: 1.3rem;
color: #305f9f;
display: block;
text-decoration: none;
border-bottom: 1px solid #305f9f;
text-align: left;
font-weight: 900;
}
#footer .sitemap00 li.subtitlinkg a:link{
color: #305f9f;
}

@media screen and (max-width: 768px) {
#footer {
	position: relative;
	text-align: center;
	width: 98%;
	margin: 0 1%;
}
#footer .food_senav6{
text-align: center;
background-color: #305f9f;
width: 100%;
padding: 5px 0;
}
#footer .food_senav6 a{
background-image: url("/common/images/yazi.png");
background-repeat: no-repeat;
background-position: left 0.5em;
padding-left: 10px;
color: #fff;
font-size: 1.4rem;
margin-left: 0px;
margin-right: 0px;
}
#footer .food_senav6 a:link{
color: #fff;

}
#footer .foot_logoad{
width: 98%%;
margin: 25px auto 50px auto;
}
#footer .foot_logoad .logoad_footlogo{
float: none;
width: 98%;
}
#footer .foot_logoad .logoado_footad{
float: none;
width: 100%;
text-align: left;
	line-height: 1.4;

}
#footer .facebook {
	padding: 22px 0;
	background-color: #4d4d4d;
}
#footer small {
	display: block;
	padding: 20px 0;
	font-size: 1.4rem;
}



#footer .sitemap00{
margin-bottom: 20px;
}
#footer .sitemap00 ul{
margin-right: 1.6%;width: 15%;float: left;
}
#footer .sitemap00 li{
font-size: 1.2rem;
text-align: left;
margin-bottom: 5px;
}
#footer .sitemap00 li.subtitlinkg{
margin-bottom: 10px;
}
#footer .sitemap00 li.subtitlinkg a{
background-image: url("/common/images/yazi_b.png");
background-repeat: no-repeat;
background-position: left 0.5em;
padding-left: 10px;
font-size: 1.3rem;
color: #305f9f;
display: block;
text-decoration: none;
border-bottom: 1px solid #305f9f;
text-align: left;
font-weight: 900;
}
#footer .sitemap00 li.subtitlinkg a:link{
color: #305f9f;
}

	#footer .facebook {
		padding: 0;
	}
	#footer .facebook a {
		display: inline-block;
		padding: 10px;
		width: 46px;
	}
	#footer small {
		font-size: 1rem;
	}
	#footer .foot_logoad{
	width: 80% !important;
	margin-left: 5%;
	margin-right: 5%;
	
	}
	#footer .foot_logoad .logoad_footlogo{
	float: none !important;
	text-align: left;
	padding-bottom: 5px !important;
	}
	#footer .foot_logoad .logoad_footlogo img{
	width: 80%;height: auto;
	}
	#footer .foot_logoad .logoado_footad{
	float: none !important;width: auto !important;
	text-align: left;
	}
	#footer .food_senav6 a{
	margin-left: 3px !important;
	margin-right: 3px !important;
	}
	

}

/* ページトップ
------------------------------------------------------------- */
@media print {
	#pagetop {
		display: none;
	}
}

#pagetop a {
	display: block;
	height: 115px;
	padding-top: 70px;
	text-align: center;
	font-size: 1.3rem;
	text-decoration: none;
}
#pagetop a .arrow {
	position: absolute;
	overflow: hidden;
	top: 15px;
	left: 0;
	right: 0;
	height: 50px;
}
#pagetop a .arrow:before {
	content: "";
	position: absolute;
	top: 0;
	height: 50px;
	left: 50%;
	border-left: 1px solid #808080;
}
#pagetop a .arrow:after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -5px;
	border-style: solid;
	border-width: 0 5px 7px 5px;
	border-color: transparent transparent #808080 transparent;
}
@media (min-width: 769px), print {
	#pagetop {
		position: fixed;
		overflow: hidden;
		bottom: 0;
		right: 0;
		width: 120px;
		height: 100px;
		z-index: 100;
	}
	#pagetop.abs {
		position: absolute;
		top: -115px;
		bottom: auto;
	}
	#pagetop a {
		width: 120px;
		-webkit-transform: translateY(120px);
		-ms-transform: translateY(120px);
		-o-transform: translateY(120px);
		transform: translateY(120px);
		-webkit-transition: -webkit-transform 0.5s;
		-o-transition: -o-transform 0.5s;
		transition: transform 0.5s;
	}
	#pagetop.show a {
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
	#pagetop a:hover .arrow:before,
	#pagetop a:hover .arrow:after {
		-moz-animation: pagetop 0.6s ease-in-out 0s;
		-webkit-animation: pagetop 0.6s ease-in-out 0s;
		-o-animation: pagetop 0.6s ease-in-out 0s;
		-ms-animation: pagetop 0.6s ease-in-out 0s;
		animation: pagetop 0.6s ease-in-out 0s;
	}
}
@media screen and (max-width: 768px) {
	#pagetop a {
		height: 70px;
		padding-top: 40px;
		font-size: 1rem;
	}
	#pagetop a .arrow {
		top: 0;
		height: 35px;
	}
}

@-moz-keyframes pagetop {
	0% {top: 0;}
	37% {top: -50px;left: 50%;}
	38% {top: -50px;left: -1000px;}
	39% {top: 100px;left: -1000px;}
	40% {top: 100px;left: 50%;}
	100% {top: 0;}
}
@-webkit-keyframes pagetop {
	0% {top: 0;}
	37% {top: -50px;left: 50%;}
	38% {top: -50px;left: -1000px;}
	39% {top: 100px;left: -1000px;}
	40% {top: 100px;left: 50%;}
	100% {top: 0;}
}
@-o-keyframes pagetop {
	0% {top: 0;}
	37% {top: -50px;left: 50%;}
	38% {top: -50px;left: -1000px;}
	39% {top: 100px;left: -1000px;}
	40% {top: 100px;left: 50%;}
	100% {top: 0;}
}
@-ms-keyframes pagetop {
	0% {top: 0;}
	37% {top: -50px;left: 50%;}
	38% {top: -50px;left: -1000px;}
	39% {top: 100px;left: -1000px;}
	40% {top: 100px;left: 50%;}
	100% {top: 0;}
}
@keyframes pagetop {
	0% {top: 0;}
	37% {top: -50px;left: 50%;}
	38% {top: -50px;left: -1000px;}
	39% {top: 100px;left: -1000px;}
	40% {top: 100px;left: 50%;}
	100% {top: 0;}
}


/* container
============================================================================================================ */
#container {
	position: relative;
	padding: 150px 0 100px;
	font-size: 1.5rem;
	line-height: 2.2;
}
@media screen and (max-width: 768px) {
	#container {
		padding: 30px 0 40px 0;
		font-size: 1.3rem;
	}
}


/* ===================================================================================================================

	パーツ

=================================================================================================================== */

/* page_head_image
============================================================================================================ */
.page_head_image {
	height: 300px;
	margin-bottom: 40px;
	background-position: 50%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
.page_head_image.about  {
	background-image: url(../../about/images/head_img.jpg);
}
.page_head_image.wine  {
	background-image: url(../../wine/images/head_img.jpg);
}
.page_head_image.associates  {
	background-image: url(../../associates/images/head_img.jpg);
}
.page_head_image.winemaking  {
	background-image: url(../../winemaking/images/head_img.jpg);
}
@media screen and (max-width: 768px) {
	.page_head_image {
		height: 150px;
		margin-bottom: 20px;
	}
}


/* bdt_section
============================================================================================================ */
.bdt_section {
	padding-top: 70px;
}
.bdt_section:before {
	content: "";
	display: block;
	width: 120px;
	margin: 0 auto 90px;
	border-top: 1px solid #8cb33f;
}
@media screen and (max-width: 768px) {
	.bdt_section {
		padding-top: 40px;
	}
	.bdt_section:before {
		width: 60px;
		margin-bottom: 50px;
	}
}


/* title
============================================================================================================ */
/* page_title */
.page_title {
	margin-bottom: 40px;
	font-size: 3.4rem;
	line-height: 1.5;
	text-align: center;
	color: #8cb33f;
}
@media screen and (max-width: 768px) {
	.page_title {
		margin-bottom: 20px;
		font-size: 2.4rem;
	}
}

/* l_title */
.l_title {
	margin-bottom: 30px;
	font-size: 2.7rem;
	line-height: 1.5;
	color: #000;
	font-weight: normal;
}
@media screen and (max-width: 768px) {
	.l_title {
		margin-bottom: 20px;
		font-size: 1.8rem;
	}
}



/* page_nav
============================================================================================================ */
.page_nav {
	margin-bottom: 50px;
	text-align: center;
}
.page_nav li {
	display: inline-block;
	padding: 0 20px 10px;
}
@media screen and (max-width: 768px) {
	.page_nav {
		margin-bottom: 20px;
	}
	.page_nav li {
		padding: 0 10px 10px;
	}
}



/* para_section (paragraph section)
============================================================================================================ */
.para_section > * + * {
	margin-top: 2em;
}
@media screen and (max-width: 768px) {
}



/* main nav
============================================================================================================ */
.nav00 {
	position: relative;
}
#reservation {
	display: none;
	position: absolute;
	right: 50px;
	top: 50px;
	background-color: #fbfbfb;
	border: 1px solid #0e1019;
	z-index: 600;
	width: 80%;
	padding: 10px;
	color: #1d1d1d;
}


.reserve_top_ver{
background-color: #f2f2f2;
text-align: center;
margin: 0;
padding: 10px;
}
.reserve_top_ver .reserve_top_verinin{
margin-left: auto;
margin-right: auto;

}
#reservation a:link{color: #000;}
#reservation a.reserve{font-size: 20px;font-size: 2.0rem;display: block;text-align: right;border: 1px solid #ccc;width: 2.5em;margin: -10px -10px 0 0 !important;padding: 5px !important;float: right;text-align: center;background-color: #305f9f;}
#reservation a.reserve{color: #fff;}















.border_b{
border-bottom: 1px solid #ccc;
padding: 10px;
}
.border_t{
border-top: 1px solid #ccc;
padding: 10px;
}

.border{
border: 1px solid #ccc;
padding: 9px 10px;
background-color: #fff;
text-align: left;
display: block;
margin: 3px;

}
.border a{
display: block;
padding: 10px !important;
color: #000 !important;
}
.border a:hover{
color: #305f9f !important;
background-color: #f0f0f0 !important;
}


.head01colum{
margin: 0;
}
.head01colum img{vertical-align: top;}

.head01colum .logobox{display: inline;margin-left: 10px;}
.head01colum .mark{display: inline;margin-left: 10px;}
.head01colum .mark img{margin-top: 30px;}
.head01colum .freetelhead456{display: inline;margin-left: 10px;font-size: 3.8rem;font-weight: bold;}
.head01colum .freetelhead456 img{vertical-align: middle; margin-bottom: 10px;}

.head01colum .rrrr7{float: right;}

.head01colum .ptxt{
font-size: 1.2rem;
text-align: right;
margin: 10px 10px 5px 0;
}
.head01colum .fbtop{
margin-left: 15px;
margin-right: 5px;
}
.head01colum .fbtop img{margin-bottom: 10px;width: 40px;height: auto;}

@media screen and (max-width: 768px) {
.head01colum .fbtop.sp img{margin-bottom: 10px;width: 28px;height: auto;}
}

.bg_graybox{
background-color: #f2f5f8;
}
.bg_graybox.coch00{
background-color: #f1f8f1;
}
.bg_bluebox{
background-color: #d1edf6;
}
.bg_whitebox{

}
.bg_panbox{
margin-top: 10px;
}


.bg_graybox,
.bg_bluebox,
.bg_whitebox{
padding-bottom: 70px;
}

.contact_box{
margin: 120px 0 0 0;
}

.contact_box .tel_mail_t{
margin-right: 14px;
}

.non_h2{
padding: 50px 0 0 0;
}


h2.icontit{
padding: 50px 0 20px 0;
font-size: 2.6rem;
text-align: center;
color: #4e4537;
letter-spacing: 0.2em;
}
h2.icontit span.spanicontit{
background-repeat: no-repeat;
background-position: left center;
padding-left: 60px;
padding-top: 20px;
padding-bottom: 20px;
}

h2 span.icon_i{
background-image: url("/common/images/icon_i.png");

}
h2 span.icon_note{
background-image: url("/common/images/icon_note.png");

}
h2 span.icon_light{
background-image: url("/common/images/icon_light.png");

}
h2 span.icon_book{
background-image: url("/common/images/icon_book.png");

}
h2 span.icon_leaf{
background-image: url("/common/images/icon_leaf.png");

}


.basic th{
background-color: #cad2da;
padding: 10px 10px;
border-bottom: 1px solid #fff;
border-right: 1px solid #fff;
}
.basic td{
background-color:#f2f5f8;
padding: 10px 10px;
border-bottom: 1px solid #fff;
}













h1.secondh1_pp{
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
text-align: center;

font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
	font-weight: 700;
font-size: 3.0rem;	
padding: 100px 20% 100px 20%;
letter-spacing: 0.3em;
    text-shadow: 2px 2px 2px #fff,
    -2px 2px 2px #fff,
    2px -2px 2px #fff,
    -2px -2px 2px #fff;

}
h1.secondh1_pp span{
display: block;
font-size: 2.0rem;
text-align: center;
}

.v_tac{
text-align: center;
margin: 10px 0 0 0;
padding: 10px 0 0 0;
border-top: 1px dotted #ccc;
}
			@media screen and (max-width: 768px) {
			.contact_box .tel_mail_t{
			margin-right: 0;
			}
			
			.bg_graybox,
			.bg_bluebox,
			.bg_whitebox{
			padding-bottom: 15px;
			}
			.bg_graybox.coch00{
margin-top: 30px;
}
			.contact_box{
			margin: 30px 0 0 0;
			}
			.contact_box a{
			display: block;
			margin-bottom: 30px;
			text-align: center;
			}

			.bg_panbox .w .pan{display: block;position: relative;margin-top: 60px;border-top: 1px solid #ccc;}

			h2.icontit{
			padding: 30px 0 15px 0;
			font-size: 2.0rem;
			text-align: left !important;}
			h2.icontit span.spanicontit{display: block;background-position: left 0.5em;letter-spacing: 0.1em;
			line-height: 1.4;
			}
			
			.non_h2{padding: 25px 0 20px 0;}
			h1.secondh1_pp{
			font-size: 2.0rem;
			}
			
			h1.secondh1_pp span{
			}


			}
@media (min-width: 769px), print {
	#header nav ul.nav00 li div.subnav {display: none;}
	}

	@media screen and (max-width: 768px) {
	#header nav li.navlink.subsub a {padding:15px 0 5px 25px;}
	#header nav ul.nav00 li div.subnav {display: block;}
	#header nav ul.nav00 li div.subnav:after {content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0;}
	#header nav ul.nav00 li div.subnav p {margin: 0 0 0 1%;float: left;width: 49%;}
	#header nav li.navlink div.subnav p a {padding: 12px 0 12px 25px;color: #fff;font-size: 12px;font-size: 1.2rem;}
	}
	
	.oshirase0603{
text-align: center;
border: #D64141 1px solid;
padding: 10px;
background-color: #fff;
margin: 40px;
} 


.bnrbox{
position: relative;
width: 980px;
margin-left: auto;
margin-right: auto;
}
.bnrbox a{
display: block;
background-color: #fff;
padding: 2px 0;
position: absolute;
z-index: 12;
color: #305f9f;
width: 210px;
text-align: center;
text-decoration: none;
}
.bnrbox a:hover{
border: 1px solid #305f9f;
background-color: #eaeaea;
} 
.bnrbox a.bnrinn01{
top: 122px;
left: 420px;
} 
.bnrbox a.bnrinn02{
top: 122px;
left: 710px;
} 

.flexboxnav{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flexboxnav .flexboxnavinn{
    width: 32%;
}   
.flexboxnav .flexboxnavinn.short{
    width: 4%;
} 

	@media screen and (max-width: 768px) {

.service_box_menu .bnrbox{
    display: block;
    text-align: center;
    width: 100%;
    padding-bottom: 3px;
position: relative;
margin-left: auto;
margin-right: auto;
border: 2px solid #ddd5cd;
    margin-bottom: 20px;
}
.bnrbox a.bnrinn_sp{
display: inline-block;
background-color: #fff;
padding: 2px 0;
position: relative;
z-index: 1;
color: #305f9f;
width: 50%;
text-align: center;
text-decoration: none;
}
}


.logo_box_flex{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.logo_box_flex li{
    background-color: #fff;
    margin:0 5px 10px 5px;
    text-align: center;
}
.logo_box_flex li span{
    display: block;
}

	@media screen and (max-width: 768px) {
.logo_box_flex{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.logo_box_flex li{
width: calc(94%/2);
    background-color: #fff;
    text-align: center;
    margin:0 1.5% 10px 1.5%;
}
.logo_box_flex li img{
width: 98%;
}
.logo_box_flex li span{
    display: block;
}
}

.ml05{
    margin-left: 5px;
}
.head01colum .mark img.sdgs_logo{
    margin: 31px 0 0 8px;
}
.head01colum .mark img.health_logo{
    margin: 27px 0 0 8px;
}
	@media screen and (max-width: 768px) {
.head01colum .mark img.sdgs_logo{
    margin: 30px 0 0 3px;
}
.head01colum .mark img.health_logo{
    margin: 29px 0 0 5px;
}
}

.bg_graybox.coch00 .sdg_logo{
    text-align: center;
    margin: 20px 0 10px 0;
}
.bg_graybox.coch00 .sdg_logo img{
    width: 100%;
}
.bg_graybox .w .flex03{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 20px 0;
    width: 100%;
}
.bg_graybox .w .flex03 .flex03_inn{
    width: calc(97% / 3);
    background-color: #fff;
    padding: 15px 10px;
    font-size: 1.4rem;
}
.bg_graybox .w .flex03 .flex03_inn .tit_logo{
   margin-bottom: 10px;
   font-size: 1.8rem;
   font-weight: 900;
   line-height: 1.5;
   display: inline-block;
}
.bg_graybox .w .flex03 .flex03_inn .tit_logo span{
   padding: 0 0 0 10px;
      display: inline-block;
}
.bg_graybox .w .flex03 .flex03_inn .tit_logo:before{
   content:'';
   display: inline-block;
   width: 50px;
   height: 50px;
   background-image:url('../images/sdgs.png') ;
   background-size: contain;
   vertical-align: top;
}
.bg_graybox .w .flex03 .flex03_inn .iconblock{
   margin-bottom: 15px;
}
.bg_graybox .w .flex03 .flex03_inn .iconblock img{
   width: 100%;
}
.bg_graybox .w .flex03 .flex03_inn .txt{
   margin-bottom: 10px;
   line-height: 1.6;
}
.bg_graybox .w .flex03 .flex03_inn .txt02{
   margin-bottom: 0;
   line-height: 1.6;
}

	@media screen and (max-width: 768px) {
	.bg_graybox.coch00 .sdg_logo img{
    width: 90%;
}
	.bg_graybox .w .flex03{
    display: block;
    margin: 20px 0;
    width: 100%;
}
.bg_graybox .w .flex03 .flex03_inn{
    width: 90%;
    background-color: #fff;
    padding: 15px 10px;
    font-size: 1.4rem;
    margin: 15px auto;
}
	}
