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

	- header

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

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

/*----------------------------------------
	head
-----------------------------------------*/
.head {
	position: relative;
	margin: 0 0 70px;
}
.head-top {
	display: flex;
	background: #000;
}
.head-img {
	flex: 1;
	position: relative;
}
.head-img span {
	display: block;
	min-height: 340px;
	background: url("../img/i_head_p01s.jpg") center center no-repeat;
	background-size: cover;
}
.head-img span img {
	opacity: 0;
}
.head-title {
	align-self: center;
	padding: 25px 20px 20px;
	line-height: 1;
	letter-spacing: 0.3em;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	white-space: nowrap;
}
_:-ms-lang(x)::-ms-backdrop, .head-title {
	padding: 25px 30px 20px 15px;
}
.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;
	letter-spacing: 0.2em;
}
.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-title {
		position: absolute;
		top: -62px;
		right: 40px;
		z-index: 100;
		background: #000;
	}
	.head-box {
		flex: 1;
		margin: 0;
		padding: 30px 140px 40px 30px;
		background-image: url("../img/i_head_bg01.jpg");
		background-position: right bottom;
		background-size: 235px;
	}
	.head-box_title {
		margin: 0 0 20px;
		min-width: 400px;
	}
	.head-box_txt {
		max-width: 720px;
	}
}
@media print, screen and (min-width:1200px) {
	.head {
		background: #fff url("../img/i_head_bg01.jpg") right bottom no-repeat;
		background-size: 235px;
	}
	.head-title {
		left: calc(50% + 480px);
		right: auto;
	}
	.head-img {
		width: 350px;
	}
	.head-box {
		padding: 30px 15vw 0 60px;
		background: none;
	}
}
@media print {
	.head-title {
		left: auto;
		right: 40px;
	}
}

/*----------------------------------------
	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;
	white-space: nowrap;
}
.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: right;
}
.spirit-anker {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	order: 2;
	width: 100%;
}
.spirit-anker > li {
	margin: 16px 10px 0;
}
.spirit-anker > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 213px;
	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;
}
.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 > div {
		overflow: hidden;
		display: block;
	}
	.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 {
		margin: 25px 20px 0 0;
	}
	.spirit-anker > li > a {
		width: auto;
		white-space: nowrap;
		padding: 0 26px;
	}
}
@media print, screen and (min-width:1024px) {
	.spirit-box {
		display: flex;
	}
	.spirit-box > div {
		padding: 36px 40px;
	}
	.spirit-box_title {
		padding: 30px 40px;
		border-bottom: none;
		border-right: 1px solid #fff;
		-webkit-writing-mode: vertical-rl;
			-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
		line-height: 1;
		text-align: center;
	}
	.spirit-anker {
	}
}

/*----------------------------------------
	chronology
-----------------------------------------*/
.chronology {
	margin: 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: 95px;
	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 {
		margin: 0 0 88px;
	}
	.chronology-table dl dt {
		width: 22.4%;
		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: 0 0 40px;
}
.will-title {
	margin: 0 0 16px;
	line-height: 1.5;
	text-align: center;
}
.will-block > h2 {
	position: relative;
	margin: 0 0 6px;
	text-align: center;
}
.will-block > h2::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	border-bottom: 1px solid #000;
	width: 100%;
}
.will-block > h2 span {
	position: relative;
	padding: 0 20px;
	background: #f7f4f0;
}
.will-item {
	margin: 0 0 30px;
	background: #fff;
}
.will-item_img {
	overflow: hidden;
	position: relative;
	z-index: 100;
}
.will-item_img::after,
.will-item_img::before {
	content: '';
	position: absolute;
	bottom: 0;
	height: 30px;
}
.will-item_img::after {
	left: 0;
	width: 100%;
	background: #333;
}
.will-item_img::before {
	right: 0;
	z-index: 10;
	width: 50%;
	background: #000;
	transform: skewX(36deg);
	transform-origin: top left;
}
.will-item_img > div {
	display: flex;
}
.will-item_img figure {
	position: relative;
	flex: 1;
	padding-bottom: 30px;
}
.will-item_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-item_txt {
	padding: 9px 15px 15px;
}
.will-item_txt h3 {
	margin: 0 0 10px;
	padding: 0 0 8px;
	border-bottom: 1px solid #ddd;
}
.will-item_txt dt {
	margin: 0 0 2px;
}
.will-item_txt .btn01 {
	display: block;
	margin: 10px 0 0;
}
.will-item_txt .btn01 > a {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 210px;
	height: 50px;
	margin: 0 auto;
	padding: 0;
	border: 1px solid #ddd;
	border-radius: 40px;
	background-color: #fff;
	box-shadow: 0px 1px 0 rgba(0, 0, 0, 0.1);
	color: #000;
	transition: .2s;
	-webkit-user-select: none;
	user-select: none;
}
.will-item_txt .btn01 > a > span {
	position: relative;
	padding: 0 25px 0 3px;
}
.will-item_txt .btn01 > a > span::after {
	content: "";
	position: absolute;
	top: calc(20% + 2px);
	right: 4%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #00a0e9;
	border-right: 2px solid #00a0e9;
	transform: rotate(45deg);
}
@media print, screen and (min-width:768px) {
	.will {
		padding: 0 0 50px;
	}
	.will-title {
		margin: 0 0 22px;
		padding: 0;
	}
	.will-block h2 {
		margin: 0 0 12px;
	}
	.will-block > ul {
		display: flex;
		justify-content: space-between;
	}
	.will-item {
		position: relative;
		width: calc(30.9%);
		margin: 0 0 50px;
		padding: 0 0 82px;
	}
	.will-item_txt {
		padding: 13px 20px 15px;
	}
	.will-item_txt h3 {
		margin: 0 0 12px;
		padding: 0 0 10px;
	}
	.will-item_txt .btn01 {
		position: absolute;
		bottom: 30px;
		left: 0;
		margin: 0;
		width: 100%;
	}
	.will-item_txt .btn01 > a {
		transition: .2s;
	}
	.will-item_txt .btn01 > a:hover {
		border: 1px solid #00a0e9;
		background-color: #00a0e9;
		color: #fff;
	}
	.will-item_txt .btn01 > a:hover span::after {
		border-color: #fff;
	}
}

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