@charset "UTF-8";

/* リセット */
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,article,section,aside,figure,figcaption {margin:0; padding:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,address,header,footer,nav,article,section,aside,figure,figcaption {display:block;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,article,section,aside,figure,figcaption, img {box-sizing:border-box; box-sizing:border-box;}
ul,ol {list-style-type:none;}
img {border:none; vertical-align:middle;}

/* ユーティリティー */
a {zoom:1; text-decoration:none; color:#231815; transition:opacity 0.7s; display:block;}
a:hover {opacity:0.8;}
.fgo {font-family:'Noto Sans Japanese', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;}
.fmin {font-family:'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;}
.flt-l {float:left;}
.flt-r {float:right;}
.clearfix:after {
	content:"";
	clear:both;
	display:block;
}
.page {margin:0 auto; width:1240px;}
.page_m {margin:0 auto; width:100%; max-width:1100px;}
.page_s {margin:0 auto; width:980px;}

.boxshadow {box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px; -webkit-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px; -moz-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px;zoom: 1;position:relative;}
table {border-collapse:collapse;}


body {
	color:#231815;
	font-family:'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size:14px;
	font-weight:200;
	line-height:1.4;
}

body p {
	line-height:1.8;
}


/* -------------------------------------
header
------------------------------------- */
header {
	
}
#logo {
	width:80px;
	position:fixed;
	top:0;
	left:0;
	z-index:100;
}
#logo a img {
	width:100%;
	height:auto;
}


header a#menu_btn,
header a#menu_btn span {
	display:inline-block;
	transition:all .4s;
	box-sizing:border-box;
}
header a#menu_btn {
	width:50px;
	height:50px;
	padding:0;
	border:1px solid #e4e4e4;
	background-color:#fff;
	box-sizing:border-box;
	position:fixed;
	top:0;
	right:0;
	z-index:100;
}
header a#menu_btn span {
	width:20px;
	height:3px;
	margin:0 auto;
	background-color:#4d4d4d;
	position:absolute;
	left:0;
	right:0;
}
header a#menu_btn span:nth-of-type(1) {
	top:15px;
}
header a#menu_btn span:nth-of-type(2) {
	top:22px;
}
header a#menu_btn span:nth-of-type(3) {
	top:29px;
}
header a#menu_btn.active {
	background-color:#4d4d4d;
	opacity:1.0;
}
header a#menu_btn.active span {
	background-color:#fff;
}
header a#menu_btn.active span:nth-of-type(1) {
	-webkit-transform:translateY(7px) rotate(-315deg);
	transform:translateY(7px) rotate(-315deg);
}
header a#menu_btn.active span:nth-of-type(2) {
	opacity:0;
}
header a#menu_btn.active span:nth-of-type(3) {
	-webkit-transform:translateY(-7px) rotate(315deg);
	transform:translateY(-7px) rotate(315deg);
}


#menu {
	width:100%;
	max-height:100%;
	display:none;
	padding:100px 0 100px 0;
	background-color:#fff;
	overflow:auto;
	position:fixed;
	top:0;
	left:0;
	z-index:99;
}
#menu dl {
	margin-bottom:50px;
}
#menu dl dt {
	font-size:26px;
	font-weight:600;
	text-align:center;
	line-height:1.3;
	margin-bottom:65px;
}
#menu dl dd nav ul {
	font-size:0;
}
#menu dl dd nav ul li {
	width:calc(99.9% / 7);
	display:inline-block;
	vertical-align:middle;
}
#menu dl dd nav ul li a {
	font-size:16px;
	font-weight:400;
	text-align:center;
	transition:color 0.5s;
}
#menu dl dd nav ul li a:hover, #menu dl dd nav ul li a.on {
	color:#b7282c;
}
#menu dl dd nav ul li a:after {
	content:"";
	width:100%;
	height:1px;
	display:block;
	margin-top:3px;
	background-color:#fff;
	transition:background-color 0.5s;
}
#menu dl dd nav ul li a:hover:after, #menu dl dd nav ul li a.on:after {
	background-color:#b7282c;
}
#menu #menu_item {
	font-size:0;
	padding:0 50px;
	margin-bottom:20px;
}
#menu #menu_item li {
	width:16.6%;
	display:inline-block;
	vertical-align:middle;
	margin-bottom:40px;
}
#menu #menu_item li a {
	font-size:13px;
	text-align:center;
	transition:color 0.3s;
}
#menu #menu_item li a span {
	letter-spacing:0.1em;
	display:block;
	margin-top:5px;
}
#menu #menu_item li a:hover {
	color:#b7282c;
	opacity:1.0;
}

#menu_ameya {
	font-size:0;
	text-align:center;
	max-width:400px;
	margin:0 auto 50px auto;
}
#menu_ameya a {
	font-size:17px;
	font-weight:300;
	text-align:center;
	color:#b7282c;
	line-height:1.3;
	letter-spacing:0.1em;
}
#menu_ameya a span {
	font-size:24px;
	font-weight:400;
	display:block;
	margin:0 auto 10px auto;
	padding:0 0 10px 0;
	border-bottom:1px solid #b7282c;
}


#menu aside {
	font-size:0;
	text-align:center;
}
#menu aside a {
	width:30px;
	height:30px;
	display:inline-block;
	margin-right:20px;
}
#menu aside a:last-child {
	margin-right:0;
}
#menu aside a img {
	width:100%;
	height:auto;
}


#lang {
	width:50px;
	height:50px;
	background-color:#fff;
	position:fixed;
	top:65px;
	right:0;
	z-index:100;
}
#lang dt {
	font-size:11px;
	font-weight:bold;
	text-align:center;
	width:50px;
	height:50px;
	padding-top:7px;
	cursor:pointer;
	border:1px solid #e4e4e4;
}
#lang dt img {
	width:20px;
	height:20px;
	display:block;
	margin:0 auto 3px auto;
}
#lang dd {
	width:100%;
	display:none;
	border:1px solid #e4e4e4;
	border-top:none;
	background-color:#fff;
	position:absolute;
	top:100%;
	left:0;
	z-index:1;
}
#lang dd li {
	border-top:1px solid #e4e4e4;
}
#lang dd li:nth-child(1) {
	border-top:none;
}
#lang dd li a {
	font-size:12px;
	font-weight:bold;
	text-align:center;
	display:block;
	padding:6px 5px;
	transition:color 0.3s, background-color 0.3s;
}
#lang dd li a.on, #lang dd li a:hover {
	color:#fff;
	background-color:#b7282c;
	opacity:1.0;
}

#bg {
	width:100%;
	height:100%;
	display:none;
	background-color:rgba(0,0,0,0.8);
	position:fixed;
	top:0;
	left:0;
	z-index:98;
}




/* -------------------------------------
common
------------------------------------- */
article {
	padding:100px 0 150px 0;
}


.inv_mov {
	opacity:0;
	transition:opacity 0.8s, transform .8s;
}
.tl_x {
	transform:translate(60px,0); 
}
.tl_y {
	transform:translate(0,60px); 
}
.mov {
	opacity:1.0;
	transform:translate(0,0); 
	transition:opacity 0.8s, transform .8s;
}
.mov.delay100 {
	transition-delay:100ms;
}
.mov.delay200 {
	transition-delay:200ms;
}
.mov.delay300 {
	transition-delay:300ms;
}
.mov.delay400 {
	transition-delay:400ms;
}
.mov.delay500 {
	transition-delay:500ms;
}
.mov.delay600 {
	transition-delay:600ms;
}
.mov.delay700 {
	transition-delay:700ms;
}
.mov.delay800 {
	transition-delay:800ms;
}
.mov.delay900 {
	transition-delay:900ms;
}
.mov.delay1000 {
	transition-delay:1000ms;
}
.mov.delay1200 {
	transition-delay:1200ms;
}

.ovsh {
	transition:box-shadow 0.3s;
}
.ovsh:hover {
	box-shadow:0px 0px 5px 0px #cccccc;
}


.pagettl {
	font-size:26px;
	font-weight:400;
	text-align:center;
	letter-spacing:0.1em;
	line-height:1.6;
	margin-bottom:45px;
}
.pagettl span {
	font-size:24px;
	display:block;
	margin-bottom:15px;
}


#notfound {
	padding:200px 0;
}
#notfound h1 {
	font-size:60px;
	text-align:center;
	line-height:1.3;
	color:#b7282c;
	margin-bottom:15px;
}
#notfound p {
	text-align:center;
}
#notfound p span {
	font-size:22px;
	font-weight:bold;
	text-align:center;
	line-height:1.4;
	display:block;
	margin-bottom:10px;
}
#notfound p a {
	color:#b7282c;
	text-decoration:underline;
	display:inline-block;
	margin-top:8px;
}


	
/* -------------------------------------
footer
------------------------------------- */
footer #cp {
	font-size:12px;
	text-align:center;
	line-height:1.2;
	padding:10px;
}



@media screen and (max-width:1320px) {
	.page {
		width:100%;
		padding:0 40px;
	}
}
@media screen and (max-width:1180px) {
	.page {
		padding:0 30px;
	}
	
	article {
		padding:95px 0 135px 0;
	}
	
	#menu {
		padding:90px 0 90px 0;
	}
	#menu dl {
		margin-bottom:45px;
	}
	#menu dl dt {
		font-size:24px;
		margin-bottom:60px;
	}
	#menu dl dd nav ul li a {
		font-size:15px;
	}
	#menu #menu_item {
		padding:0 40px;
	}
	#menu #menu_item li {
		width:20%;
		margin-bottom:35px;
	}
	
	#menu_ameya {
		margin-bottom:45px;
	}
	#menu_ameya a {
		font-size:16px;
	}
	#menu_ameya a span {
		font-size:23px;
	}
	
	#menu aside a {
		width:28px;
		height:28px;
		margin-right:18px;
	}
	
	
	#notfound {
		padding:190px 0;
	}
	#notfound h1 {
		font-size:55px;
	}
	#notfound p span {
		font-size:21px;
	}
}
@media screen and (max-width:1040px) {
	.page_s {
		width:100%;
		padding:0 20px;
	}
}
@media screen and (max-width:980px) {
	.page {
		padding:0 20px;
	}
	
	
	article {
		padding:90px 0 120px 0;
	}
	
	#logo {
		width:75px;
	}
	
	
	#menu {
		padding:80px 0 80px 0;
	}
	#menu dl {
		margin-bottom:40px;
	}
	#menu dl dt {
		font-size:22px;
		margin-bottom:55px;
	}
	#menu dl dd nav ul li a {
		font-size:14px;
	}
	#menu #menu_item {
		padding:0 30px;
	}
	#menu #menu_item li {
		width:25%;
		margin-bottom:30px;
	}
	
	#menu_ameya {
		margin-bottom:40px;
	}
	#menu_ameya a {
		font-size:15px;
	}
	#menu_ameya a span {
		font-size:22px;
	}
	
	#menu aside a {
		width:26px;
		height:26px;
		margin-right:17px;
	}
	
	
	.pagettl {
		font-size:24px;
		margin-bottom:40px;
	}
	.pagettl span {
		font-size:22px;
	}
	
	
	#notfound {
		padding:180px 0;
	}
	#notfound h1 {
		font-size:50px;
	}
	#notfound p span {
		font-size:20px;
	}
}
@media screen and (max-width:768px) {
	body {
		font-size:13px;
		-webkit-text-size-adjust:100%;
	}
	
	
	article {
		padding:85px 0 105px 0;
	}
	
	
	#logo {
		width:70px;
	}
	
	
	#menu {
		padding:70px 0 70px 0;
	}
	#menu dl {
		margin-bottom:35px;
	}
	#menu dl dt {
		font-size:20px;
		margin-bottom:50px;
	}
	#menu #menu_item {
		padding:0 20px;
	}
	#menu #menu_item li {
		width:33.3%;
		margin-bottom:25px;
	}
	
	#menu_ameya {
		margin-bottom:35px;
	}
	#menu_ameya a {
		font-size:14px;
	}
	#menu_ameya a span {
		font-size:21px;
	}
	
	#menu aside a {
		width:24px;
		height:24px;
		margin-right:15px;
	}
	
	
	.pagettl {
		font-size:22px;
		margin-bottom:35px;
	}
	.pagettl span {
		font-size:20px;
	}
	
	
	#notfound {
		padding:170px 0;
	}
	#notfound h1 {
		font-size:45px;
	}
	#notfound p span {
		font-size:19px;
	}
}
@media screen and (max-width:640px) {
	article {
		padding:80px 0 90px 0;
	}
	
	#logo {
		width:65px;
	}
	
	#menu dl dd nav ul li {
		width:calc(99.9% / 4);
	}
	#menu dl dd nav ul li:nth-child(1), #menu dl dd nav ul li:nth-child(2), #menu dl dd nav ul li:nth-child(3), #menu dl dd nav ul li:nth-child(4) {
		margin-bottom:15px;
	}
	
	
	#menu {
		padding:70px 0 50px 0;
	}
	#menu dl {
		margin-bottom:30px;
	}
	#menu dl dt {
		font-size:19px;
		margin-bottom:45px;
	}
	#menu #menu_item {
		padding:0 10px;
	}
	#menu #menu_item li {
		width:50%;
		margin-bottom:20px;
	}
	
	#menu_ameya {
		margin-bottom:30px;
	}
	#menu_ameya a {
		font-size:13px;
	}
	#menu_ameya a span {
		font-size:20px;
	}
	
	#menu aside a {
		width:22px;
		height:22px;
	}
	
	
	.pagettl {
		font-size:21px;
		margin-bottom:30px;
	}
	.pagettl span {
		font-size:19px;
	}
	
	
	#notfound {
		padding:160px 0;
	}
	#notfound h1 {
		font-size:40px;
	}
	#notfound p span {
		font-size:18px;
	}
	
	
	footer #cp {
		font-size:11px;
	}
}
@media screen and (max-width:480px) {
	article {
		padding:75px 0 75px 0;
	}
	
	#logo {
		width:60px;
	}
	
	
	#menu {
		padding:70px 0 30px 0;
	}
	#menu dl dd nav ul li {
		width:100%;
		display:block;
		border-bottom:1px solid #e4e4e4;
	}
	#menu dl dd nav ul li:nth-child(1), #menu dl dd nav ul li:nth-child(2), #menu dl dd nav ul li:nth-child(3), #menu dl dd nav ul li:nth-child(4) {
		margin-bottom:0;
	}
	#menu dl dd nav ul li:nth-child(1) {
		border-top:1px solid #e4e4e4;
	}
	#menu dl dd nav ul li a {
		padding:15px 10px;
		transition:background-color 0.3s, color 0.3s;
	}
	#menu dl dd nav ul li a:hover, #menu dl dd nav ul li a.on {
		color:#fff;
		background-color:#b7282c;
		opacity:1.0;
	}
	#menu dl dd nav ul li a:after {
		content:none;
	}
	#menu #menu_item {
		padding:0 0px;
		margin-bottom:35px;
	}
	#menu #menu_item li {
		margin-bottom:0;
		border-bottom:1px dotted #e4e4e4;
	}
	#menu #menu_item li:last-child {
		width:100%;
	}
	#menu #menu_item li a {
		font-size:12px;
		padding:8px;
	}
	#menu #menu_item li a span {
		letter-spacing:0;
		margin-top:2px;
	}
	
	#menu_ameya {
		margin-bottom:25px;
	}
	#menu_ameya a {
		font-size:15px;
		display:block;
	}
	#menu_ameya a span {
		font-size:14px;
		width:100%;
	}
	
	#menu aside a {
		width:20px;
		height:20px;
	}
	
	
	.pagettl {
		font-size:20px;
	}
	.pagettl span {
		font-size:18px;
	}
	
	
	#notfound {
		padding:150px 0;
	}
	#notfound h1 {
		font-size:35px;
	}
	#notfound p span {
		font-size:17px;
	}
}
@media screen and (max-width:400px) {
	article {
		padding:70px 0 60px 0;
	}
	
	#notfound h1 {
		font-size:30px;
	}
	#notfound p span {
		font-size:16px;
	}
}
@media screen and (max-width:320px) {
	#menu_ameya {
		margin-bottom:20px;
	}
	
	
	.pagettl {
		font-size:19px;
	}
	.pagettl span {
		font-size:17px;
	}
}
@media screen and (min-width:769px) {
	
}