@charset "UTF-8";
/*----------------------------------------

	- header

-----------------------------------------*/

@media screen and (max-width:767px) {
	.pc {
		display: none;
	}
}
@media print, screen and (min-width:768px) {
	.sp {
		display: none;
	}
}

/*----------------------------------------
	head
-----------------------------------------*/
.head {
	position: relative;
	margin: 0 0 70px;
}
.head-top {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	background: #000;
}
.head-img {
	overflow: hidden;
	flex: 1;
	position: relative;
}
.head-img span {
	display: block;
	background: url("../img/i_head_p01s.jpg") center center no-repeat;
	background-size: cover;
}
.head-title {
	align-self: center;
	padding: 25px 20px 20px;
	line-height: 1;
}
.head-title span {
	display: inline-block;
}
.head-box {
	position: relative;
	padding: 30px 20px;
	background: #fff url("../img/i_head_bg01s.jpg") right top no-repeat;
	background-size: 114px auto;
}
.head-box_title {
	margin: 0 0 12px;
}
.head-box_title > span {
	display: inline-block;
}
.head-box_name {
	margin: 0 0 15px;
}
@media print, screen and (min-width:768px) {
	.head {
		display: flex;
		align-items: flex-start;
		margin: 0 0 100px;
	}
	.head-top {
		display: block;
		max-width: 350px;
		width: 28%;
	}
	.head-img {
		position: relative;
		padding: 0;
		background: none;
	}
	.head-box {
		flex: 1;
		margin: 0;
		padding: 0 30px 40px 30px;
		background-image: url("../img/i_head_bg01.jpg");
		background-position: right bottom;
		background-size: 235px;
	}
	.head-box .head-title {
		display: table;
		margin: -40px auto 30px;
		background: #000;
		text-align: center;
	}
	.head-box_title {
		margin: 0 0 20px;
		min-width: 400px;
	}
}
@media print, screen and (min-width:1200px) {
	.head {
		background: #fff url("../img/i_head_bg01.jpg") right bottom no-repeat;
		background-size: 235px;
	}
	.head-img {
		width: 350px;
	}
	.head-box {
		padding: 0 60px 40px 60px;
		background: none;
	}
}

/*----------------------------------------
	spirit
-----------------------------------------*/
.spirit {
	overflow: hidden;
	margin: 0 0 55px;
}
.spirit-box {
	margin: 0 0 28px;
	background: #eae3d9;
}
.spirit-box > div {
	display: flex;
	flex-wrap: wrap;
	padding: 24px 20px 30px;
}
.spirit-box_title {
	padding: 22px 20px;
	border-bottom: 1px solid #fff;
	line-height: 1.6;
}
.spirit-box_title span {
	display: inline-block;
}
.spirit-box_txt {
	margin: 0 0 22px;
}
.spirit-box_img {
	order: 1;
	width: 100%;
	margin-bottom: 10px;
}
.spirit-box_img figcaption {
	margin-top: 4px;
	text-align: center;
}
.spirit-anker {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	order: 2;
	width: 100%;
}
.spirit-anker > li {
	width: 100%;
	margin: 16px 0 0;
}
.spirit-anker > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 300px;
	height: 42px;
	margin: 0 auto;
	padding: 0;
	border: 1px solid #ddd;
	border-radius: 40px;
	background-color: #fff;
	box-shadow: 0px 2px 0 rgba(0, 0, 0, 0.1);
	color: #000;
	transition: .2s;
	-webkit-user-select: none;
	user-select: none;
	line-height: 1;
	text-align: right;
}
.spirit-anker > li > a > span {
	position: relative;
	padding-right: 22px;
}
.spirit-anker > li > a > span::after {
	content: "";
	position: absolute;
	top: calc(50% - 9px);
	right: 0;
	width: 9px;
	height: 9px;
	border-top: 2px solid #00a0e9;
	border-right: 2px solid #00a0e9;
	transform: rotate(135deg);
}
@media print, screen and (min-width:768px) {
	.spirit-box_title {
		padding: 28px 40px;
		line-height: 1;
	}
	.spirit-box > div {
		overflow: hidden;
		display: block;
		padding: 22px 40px 32px;
	}
	.spirit-box_txt {
		width: 50%;
		margin: 0;
	}
	.spirit-box_img {
		float: right;
		width: 45%;
		margin: 0;
	}
	.spirit-anker {
		width: 50%;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
	.spirit-anker > li {
		width: auto;
		margin: 25px 20px 0 0;
	}
	.spirit-anker > li > a {
		width: auto;
		max-width: inherit;
		white-space: nowrap;
		padding: 0 26px;
	}
}
@media print, screen and (min-width:1024px) {
}

/*----------------------------------------
	chronology
-----------------------------------------*/
.chronology {
	padding: 0 0 72px;
}
.chronology-title {
	margin: 0 0 5px;
}
.chronology-table dl {
	display: flex;
	border-bottom: 1px solid #ddd;
	background: #fff;
}
.chronology-table dl:first-of-type {
	border-top: 1px solid #ddd;
}
.chronology-table dl dt {
	width: 75px;
	padding: 11px 10px 11px 15px;
	background: #fafafa;
}
.chronology-table dl dd {
	flex: 1;
	padding: 11px 10px 11px 15px;
}
.chronology-table dl dd figure {
	display: none;
}
.chronology-table dl dd a {
	text-decoration: underline;
}
@media print, screen and (min-width:768px) {
	.chronology {
		padding: 0 0 60px;
	}
	.chronology-table dl dt {
		width: 11.61%;
		padding: 16px 10px 16px 20px;
	}
	.chronology-table dl dd {
		position: relative;
		flex: 1;
		padding: 16px 260px 16px 20px;
	}
	.chronology-table dl dd figure {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
	}
	.chronology-table dl dd figcaption {
		text-align: center;
		margin-top: -25px;
	}
	.chronology-table dl dd .chronology-p01 {
		margin-top: -20px;
		margin-right: 6.5%;
	}
	.chronology-table dl dd .chronology-p02 {
		margin-right: 6%;
	}
	.chronology-table dl dd .chronology-p03 {
		margin-top: 72px;
		margin-right: 4%;
	}
	.chronology-table dl dd .chronology-p04 {
		margin-top: -5px;
		margin-right: 4%;
	}
}

/*----------------------------------------
	will
-----------------------------------------*/
.will {
	padding: 68px 0 0;
	background: #e9e2d8;
}
.will-title {
	margin: 0 0 20px;
	line-height: 1.5;
	text-align: center;
}
.will-block > h2 {
	position: relative;
	margin: 0 20px -16px;
	text-align: center;
	line-height: 1.5;
}
.will-block > h2::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	border-bottom: 1px solid #000;
	width: 100%;
}
.will-block > h2 span {
	position: relative;
	display: table;
	margin: 0 auto;
	padding: 0 10px;
	background: #e9e2d8;
}
.will-item {
	padding: 35px 0 70px;
}
.will-box01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 20px 35px;
}
.will-box01_head {
	order: -1;
	width: calc(100% + 40px);
	margin: 0 -20px 20px;
}
.will-box01_head > p {
	position: relative;
	z-index: 100;
	padding: 0 10px;
	font-style: italic;
}
.will-box01_head > div {
	position: relative;
	margin: -5px 0 0;
	padding: 10px;
	background: #fff;
	text-align: center;
	line-height: 1.2;
}
.will-box01_head > div::before {
	content: '';
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 10px;
	right: 10px;
	border: 1px solid #000;
	pointer-events: none;
}
.will-box01_head > div > p {
	display: table;
	margin: 20px auto 6px;
	padding: 4px 10px;
	background: #333;
	white-space: nowrap;
	text-align: center;
}
.will-box01_head > div > h2 {
	margin: 0 0 20px;
	padding: 0 20px;
}
.will-box01_head > div > h2 span {
	display: block;
	margin-top: 6px;
}
.will-box01_img {
	overflow: hidden;
	position: relative;
	z-index: 100;
	margin: 0 0 10px;
}
.will-box01_img::after,
.will-box01_img::before {
	content: '';
	position: absolute;
	bottom: 0;
	height: 30px;
}
.will-box01_img::after {
	left: 0;
	width: 100%;
	background: #333;
}
.will-box01_img::before {
	right: 0;
	z-index: 10;
	width: 50%;
	background: #000;
	transform: skewX(36deg);
	transform-origin: top left;
}
.will-box01_img > div {
	display: flex;
}
.will-box01_img figure {
	position: relative;
	flex: 1;
	padding-bottom: 30px;
}
.will-box01_img figcaption {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 200;
	width: 100%;
	height: 30px;
	text-align: center;
}

.will-box02 {
	margin: 0 20px;
	padding: 15px 15px 10px;
	background: #d9d3c6;
}
.will-box02_img {
	width: 49.185%;
	margin: 0 auto 10px;
}
.will-box02_txt dd p + p {
	margin-top: 2px;
}
.will-box02_txt dd a {
	text-decoration: underline;
}

#will01.will-block .will-item.bg02 {
	background: #f7f4f0;
}
#will02.will-block .will-item.bg02 {
	background: #e9e2d8;
}
#will02.will-block {
	padding: 62px 0 0;
	background: #f7f4f0;
}
#will02.will-block > h2 span {
	background: #f7f4f0;
}

@media print, screen and (min-width:768px) {
	.will {
		padding: 130px 0 0;
	}
	.will-title {
		max-width: 1120px;
		margin: 0 50px 22px;
		padding: 0;
	}
	.will-block h2 {
		max-width: 1120px;
		margin: 0 50px -32px;
	}
	.will-item {
		position: relative;
		margin: 0;
		padding: 60px 0 50px;
	}
	.will-box01 {
		display: block;
		max-width: 1120px;
		margin: 0 50px 50px;
		padding: 0;
	}
	.will-box01::after {
		content: '';
		display: block;
		clear: both;
	}
	.will-box01_head {
		margin: 0 0 20px;
	}
	.will-box01_head > p {
		height: 40px;
	}
	.will-box01_head > div {
		overflow: hidden;
		padding: 10px 30px;
		text-align: left;
	}
	.will-box01_head > div > p {
		margin: 20px 0 6px;
	}
	.will-box01_head > div > h2 {
		padding: 0;
	}
	.will-box01_img {
		float: right;
		width: 42%;
		max-width: 460px;
		margin: 35px 0 0 40px;
	}
	.will-box01_txt {
		overflow: hidden;
	}
	.will-box02 {
		display: flex;
		flex-direction: row-reverse;
		max-width: 1060px;
		margin: 0 50px 50px;
		padding: 22px 30px 26px;
	}
	.will-box02_img {
		width: 170px;
		margin: 8px 0 0 30px;
	}
	.will-box02_txt {
		flex: 1;
	}
	.will-box02_txt dt {
		margin: 0 0 6px;
	}
	.will-box02_txt dd p + p {
		margin-top: 10px;
	}
}

@media print, screen and (min-width:1220px) {
	.will-title,
	.will-block h2 {
		margin-left: auto;
		margin-right: auto;
	}
	.will-box01,
	.will-box02 {
		margin-left: auto;
		margin-right: auto;
	}
}

@media print {
	.chronology-table dl dd figure {
		display: none;
	}
}