@charset "utf-8";


/*　default
-------------------------------------------------- */
* {
	margin: 0;
	padding: 0;
}

/* body {
	-webkit-text-size-adjust: 100%; /* sp lock
} */

html {
	font-size: 62.5%;
}

body,
div,
ul, ol, li,
dl, dt, dd,
h1, h2, h3, h4, h5, h6,
pre,
form, fieldset, input, textarea,
p, blockquote,
table, tr, th, td {
	margin: 0;
	padding: 0;
	color: #131313;
	font-weight: 400;
}

p, li, dt, dl, address, tr, td {
	font-size: 1.4rem;
	line-height: 1.6;
}
/*　@media screen and (max-width: 912px) {
	p, li, dt, dl, address, tr, td {
		font-size: 19px;
	}
} */

li {
	list-style: none;
}

img {
	margin: 0;
	padding: 0;
	border: none;
}

address, em {
	font-style: normal;
}

a:link, a:hover, a:visited {
	text-decoration: none;
	color: #131313;
	transition: 0.4s;
}

a:hover, a:visited {
	opacity: 0.7;
}



/* line-height
-------------------------------------------------- */
@media (min-width: 992px) {
	.lh01 {
		line-height: 2.2;
	}
}
@media (max-width: 991px) {
	.lh01 {
		line-height: 2.0;
	}
}



/* letter-spacing
-------------------------------------------------- */
.ls01 {
	letter-spacing: 0.1em;
}

.ls02 {
	letter-spacing: 0.2em;
}



/* font-color
-------------------------------------------------- */
.fc01 {
	color: #fcfbf2;
}
.fc02 {
	color: #f8e168;
}



/* border
-------------------------------------------------- */
.bb01 {
	border-bottom: 1px #777 solid;
	width: 100%;
	height: 1px;
}



/* transform
-------------------------------------------------- */
.tf a img {
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}
.tf a img:hover {
	transform: translateY(20px);
}




/* transition
-------------------------------------------------- */
.tr a {
	display: inline-block;
}
.tr a img {
	transition: opacity .5s;
}
.tr a:hover img {
	opacity: 0;
}



/* fadein animation
-------------------------------------------------- */
.fadein-top {
  -webkit-transition: all 1s linear;
  -o-transition: all 1s linear;
  transition: all 1s linear;
  -webkit-transform: translateY(30px);
  -moz-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
}
.fadein-top.active{
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}



/* 縦方向中央揃え
-------------------------------------------------- */
.tc {
	display: flex;
	align-items: center;
}



/* title border
-------------------------------------------------- */
.tb {
	display: flex;
	align-items: center;
}
.tb:before {
	border-top: 1px solid;
	content: "";
	width: 40px;
}
.tb:before {
	margin-right: 2rem;
}








/* body
-------------------------------------------------- */
body {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	font-family: Didot, "Times New Roman", TsukuMinPr6-LB, "游明朝", YuMincho, serif;
	letter-spacing: 0.04em;
	position: relative;
}


@media screen and (min-width: 1025px) {
.main {
	width: 1000px;
	margin: auto;
}
.maxmain {
	width: 1100px;
	margin: auto;
}
}
@media screen and (max-width: 1024px) {
.main {
	margin: 0 5%;
}
}



/* font
-------------------------------------------------- */
h1 {
	font-size: 2.8rem;
}
h2 {
	font-size: 2.0rem;
}
h3 {
	font-size: 1.4rem;
}
h4 {
	font-size: 1.8rem;
}
.fw_b {
	font-weight: bold;
}



/* background
-------------------------------------------------- */
.bg01 {
	background-color: rgba(248, 225, 104, 0.86);
}
.bg02 {
	background-color: rgba(252, 251, 242, 0.86);
}
.bg03 {
	background-color: rgba(19, 19, 19, 0.86);
}



/* border
-------------------------------------------------- */
.bd_b01 {
	border-bottom: 1px solid rgba(19, 19, 19, 0.36);
}
.bd_b02 {
	border-bottom: 1px solid rgba(252, 251, 242, 0.36);
}



/* space
-------------------------------------------------- */
@media (min-width: 992px) {
	.sp00 {
		clear: both;
		height: 100px;
	}
	.sp01 {
		clear: both;
		height: 60px;
	}
	.sp02 {
		clear: both;
		height: 30px;
	}
	.sp03 {
		clear: both;
		height: 10px;
	}
}
@media (max-width: 991px) {
	.sp00, .sp01 {
		clear: both;
		height: 60px;
	}
	.sp02 {
		clear: both;
		height: 30px;
	}
	.sp03 {
		clear: both;
		height: 10px;
	}
}



/* PC用margin設定
-------------------------------------------------- */
@media screen and (min-width: 797px) {
.mr01 {
	margin: 0 450px 0 50px;
}
.ml01 {
	margin: 0 50px 0 450px;
}
}



/* スマホ用width設定
-------------------------------------------------- */
@media screen and (max-width: 796px) {
.wh {
	width: 94%;
}
}



/* android 回避の為のimg設定
-------------------------------------------------- */
.img_box {
	width: 100%;
}
.img_box img {
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}



/* リンク先をずらす
-------------------------------------------------- */
@media screen and (min-width: 992px) {
	span.link_t_a {
		position: relative;
		top: -90px;/*左の数値を変えると、上下に調整します*/
		display: block;
	}
}
@media screen and (max-width: 991px) {
	span.link_t_a {
		position: relative;
		top: -72px;/*左の数値を変えると、上下に調整します*/
		display: block;
	}
}



/* fuwa
-------------------------------------------------- */
.fadebox {
	animation: fadeIn 1s ease 0s 1 normal;
	-webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

/* fuwa up  */
.fadeIn_up {
  opacity: 1;
  transform: translateY(10px);
  transition: 0.7s;
}
.fadeIn_up.is-show {
  transform: translateY(0px);
  opacity: 1;
}



/* opacity
-------------------------------------------------- */
.op a {
	-webkit-transition: 0.7s ease-in-out;
	-moz-transition: 0.7s ease-in-out;
	-o-transition: 0.7s ease-in-out;
	transition: 0.7s ease-in-out;
}
.op a:hover {
	filter: alpha(opacity=65);
	-moz-opacity: 0.65;
	opacity: 0.65;
}



/* drop-shadow
-------------------------------------------------- */
.ds {
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.2));
}



/* 字下げ
-------------------------------------------------- */
.jsg {
	text-indent: -1em;
	padding-left: 1em;
}



/* pc sp
-------------------------------------------------- */
@media screen and (min-width: 992px) {
	.pc_hide {
		display: none;
	}
}
@media screen and (max-width: 991px) {
	.sp_hide {
		display: none;
	}
}

/* pc tab sp
-------------------------------------------------- */
@media screen and (min-width: 441px) {
	.pcta_hide {
		display: none;
	}
}
@media screen and (max-width: 440px) {
	.sph_hide {
		display: none;
	}
}