@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------
	common
	header
	main
	footer
------------------------------------------------------------------------ */


/* ========================================================================
	common
======================================================================== */
@media print, screen and (min-width:768px){
body{
	min-width:1260px;
}

.sp{
	display:none;
}

.inner{
	position:relative;
	max-width:1600px;
	margin:0 auto;
}

a img, .fade, .fades a{ transition-duration:0.2s; }
a:hover img, .fade:hover, .fades a:hover{ opacity:0.8; }
.fade:hover img, .fades a:hover img{ opacity:1; }
}

@media screen and (max-width:767px){
body{
	min-width:320px;
	font-size:1.4rem; /* 14px */
}

.pc{
	display:none;
}

.inner{
	position:relative;
}

iframe{
	width:100%;
	height:200px;
}
}


/* ========================================================================
	header
======================================================================== */
header h1{
	position:absolute;
	top:20px;
	left:30px;
	z-index:1;
}

header h1 img:nth-of-type(2){
	margin:0 0 16px 12px;
}

@media screen and (max-width:767px){
header h1{
	top:10px;
	left:20px;
	line-height:0;
}

header h1 img{
	width:80px;
}

header h1 img:nth-of-type(2){
	width:220px;
	margin:0;
}
}


/* ----------------------------------------
	menu
---------------------------------------- */
#menu .btn{
	position:fixed;
	top:30px;
	right:30px;
	padding:10px;
	cursor:pointer;
	z-index:20;
}

#menu .btn img{
	width:34px;
}

#menu ul{
	display:none;
	flex-direction:column;
	justify-content:center;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.9);
	text-align:center;
	z-index:10;
}

#menu ul li a{
	display:inline-block;
	font-size:2.4rem;
	color:#FFFFFF;
	line-height:5.4rem;
	text-decoration:none;
}

@media screen and (max-width:767px){
#menu .btn{
	top:10px;
	right:10px;
}

#menu .btn img{
	width:41px;
}

#menu ul li a{
	font-size:1.8rem;
	line-height:3.8rem;
}
}


/* ========================================================================
	main
======================================================================== */
main{
	overflow:hidden;
}

main > div{
	position:relative;
}

main p{
	line-height:3.0rem;
}

@media screen and (max-width:767px){
main p{
	line-height:2.8rem;
}
}


/* ----------------------------------------
	h要素
---------------------------------------- */
main h2{
	margin:0 0 40px 0;
	font-family:"Zen Old Mincho", serif;
	font-size:3.6rem;
	font-weight:700;
	color:#FFFFFF;
	line-height:5.4rem;
}

main h2 > span{
	display:block;
	position:relative;
}

main h2 > span:nth-child(n+2){
	position:static;
	margin-top:-20px;
}

main h2 span span{
	display:inline-block;
	padding:10px 20px;
	background:#333333;
}

main h3{
	margin:0 0 20px 0;
	padding:20px 0 3px 80px;
	background:url(../../img/bg_h3.png) no-repeat left top;
	font-family:"Zen Old Mincho", serif;
	font-size:2.7rem;
	font-weight:700;
	line-height:4.7rem;
}

main h3 span{
	background:linear-gradient(transparent 75%, rgba(143,195,35,0.2) 75%);
}

@media screen and (max-width:767px){
main h2{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:4.0rem;
}

main h3{
	padding:4px 30px 0 40px;
	background-size:50px 35px;
	font-size:1.8rem;
	line-height:3.8rem;
}
}


/* ----------------------------------------
	table
---------------------------------------- */
main table{
	margin:0 0 60px 0;
	border-top:1px solid #DDDDDD;
	text-align:left;
}

main table tr{
	border-bottom:1px solid #DDDDDD;
}

main table th{
	width:320px;
	padding:10px;
}

main table th span{
	font-size:1.4rem;
	font-weight:700;
	color:#DD0000;
}

main table td{
	padding:10px;
}

@media screen and (max-width:767px){
main table{
	margin:0 0 30px 0;
}

main table th{
	display:block;
	width:auto;
	padding:10px 10px 0;
}

main table th span{
	font-size:1.2rem;
}

main table td{
	display:block;
	padding:10px 10px 15px;
}
}


/* ----------------------------------------
	btn
---------------------------------------- */
main .btn{
	display:flex;
	justify-content:center;
}

main .btn a,
main .btn button{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:480px;
	height:80px;
	padding:0 20px;
	background:#FFFFFF;
	border:3px solid #8FC323;
	border-radius:6px;
	font-size:2.7rem;
	font-weight:700;
	color:#8FC323;
	line-height:3.3rem;
	letter-spacing:0.05em;
	text-decoration:none;
}

@media screen and (max-width:767px){
main .btn{
	display:block;
}

main .btn a,
main .btn button{
	width:100%;
	height:auto;
	padding:14px 20px;
	font-size:1.8rem;
	line-height:2.6rem;
}
}


/* ========================================================================
	footer
======================================================================== */
footer{
	padding:60px 0 100px 0;
	font-size:1.3rem;
	line-height:1;
}

footer .inner{
	width:1000px;
}

footer .logo{
	margin:0 0 22px 0;
}

footer address span{
	margin:0 0 0 1.0em;
}

footer small{
	position:absolute;
	bottom:0;
	right:0;
	color:#888888;
}

@media screen and (max-width:767px){
footer{
	padding:40px 20px 20px;
	text-align:center;
}

footer .inner{
	width:auto;
}

footer .logo{
	margin:0 0 10px 0;
}

footer address{
	margin:0 0 20px 0;
	line-height:2.3rem;
}

footer address span{
	display:block;
	margin:0;
}

footer small{
	position:static;
}
}


/* ----------------------------------------
	navi
---------------------------------------- */
footer .navi{
	display:flex;
	position:absolute;
	top:6px;
	right:-10px;
}

footer .navi li{
	margin:0 1px;
}

@media screen and (max-width:767px){
footer .navi{
	justify-content:center;
	position:static;
	margin:0 0 20px 0;
}

footer .navi li{
	margin:0 1px;
}
}