@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap");
* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
}

html {
	font-size: 16px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}
html.xsp {
	font-size: 12px !important;
}

body, th, main .contents .format table td, td, input, select, textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-family: "Noto Sans JP", Verdana, Meiryo, sans-serif;
	font-feature-settings: "palt";
}

body {
	margin: 0px auto;
	color: #000000;
	overflow: hidden;
}

img {
	display: block;
	margin: auto;
	border: 0px;
}

a {
	text-decoration: none;
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p {
	margin: 0px;
}

input, select {
	outline: none;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

main .contents * + .text, main .contents * + .table, main .contents * + .edit_area, main .contents * + .image, main .contents * + .imagebox, main .contents * + .format, main .contents * + .googlemap, * + .column {
	margin-top: 40px;
}
.sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .edit_area, main .contents .sp * + .edit_area, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp * + .column {
	margin-top: 30px;
}

main .contents * + .layout, main .contents * + .menu, main .contents * + .box, main .contents * + .redbox {
	margin-top: 80px;
}

main .contents .text.lead * + p, main .contents .text * + p, main .contents .table * + p, main .contents .edit_area * + p, main .contents .text * + ul, main .contents .table * + ul, main .contents .edit_area * + ul, main .contents .text * + ol, main .contents .table * + ol, main .contents .edit_area * + ol, main .contents .text * + .image.floatright, main .contents .table * + .image.floatright, main .contents .edit_area * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .table * + .image.floatleft, main .contents .edit_area * + .image.floatleft {
	margin-top: 20px;
}

#pagetitle {
	background: #bbc8cf;
	overflow: hidden;
}
#pagetitle > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	display: table;
	width: 100%;
	height: 100%;
	direction: rtl;
}
.sp #pagetitle > div {
	padding: 0px 10px;
}
.sp #pagetitle > div {
	display: block;
}
#pagetitle > div > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp #pagetitle > div > * {
	display: block;
}
.sp #pagetitle > div {
	padding: 0px;
}
#pagetitle > div > div {
	direction: ltr;
}
#pagetitle > div > div.visual {
	position: relative;
	width: 50%;
	z-index: 1;
}
.sp #pagetitle > div > div.visual {
	position: relative;
	width: 100%;
	padding-top: 25%;
	overflow: hidden;
}
.sp #pagetitle > div > div.visual img {
	position: absolute;
	top: -20%;
}
#pagetitle > div > div.title {
	display: table;
	width: 100%;
	padding-right: 20px;
}
#pagetitle > div > div.title > div {
	display: table-row;
}
#pagetitle > div > div.title > div > div {
	position: relative;
	display: table-cell;
	padding: 5px 0px;
	vertical-align: middle;
	z-index: 1;
}
.sp #pagetitle > div > div.title > div > div {
	display: block;
	padding: 10px;
}
#pagetitle > div > div.title > div > div span {
	display: inline-block;
}
#pagetitle > div > div.title > div + div {
	position: relative;
	height: 57.14285%;
	background: #ffffff;
}
#pagetitle > div > div.title > div + div:after {
	content: "";
	position: absolute;
	display: block;
	width: 10000px;
	height: 100%;
	left: -5000px;
	background: #ffffff;
	z-index: 0;
}
#pagetitle > div > div.title > div + div > div {
	padding: 15px 0px;
}
.sp #pagetitle > div > div.title {
	display: block;
	padding-right: 0px;
}
.sp #pagetitle > div > div.title > div {
	display: block;
}
#pagetitle > div h1 {
	display: inline-block;
	margin: 0px;
	padding: 0px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: normal;
}
#pagetitle > div .name {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 52px;
	line-height: 3.25rem;
	font-weight: normal;
}
.sp #pagetitle > div .name {
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
}
#pagetitle > div .name h1 {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 52px;
	line-height: 3.25rem;
}
#pagetitle > div img {
	display: block;
	width: 100%;
	height: auto;
	margin-right: 0px;
}

main .contents {
	position: relative;
	padding: 0px;
	background: #fff;
	z-index: 10;
}
main .contents:after {
	content: "";
	display: block;
	clear: both;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px;
	padding-bottom: 60px;
}
.sp main .contents > div:not(.background) {
	padding: 20px 10px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents > div.background {
	width: 100%;
}
main .contents > div.background.top {
	margin-top: -40px;
}
.sp main .contents > div.background.top {
	margin-top: -20px;
}
main .contents > div.background .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 0px;
}
.sp main .contents > div.background .inner {
	padding: 20px 10px 0px;
}
main .contents > div.background.bg_box .inner {
	padding-top: 20px;
}
main .contents > div.background.bg_box .inner .title {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
	margin-top: 0px !important;
}
main .contents h1 {
	clear: both;
	display: block;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 52px;
	line-height: 3.25rem;
	font-weight: normal;
}
main .contents * + h1 {
	margin-top: 160px;
}
main .contents h2 {
	clear: both;
	display: block;
	margin: 0px 0px 50px;
	padding: 0px;
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
	text-align: center;
}
.sp main .contents h2 {
	margin-bottom: 20px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
main .contents h2::after {
	content: "";
	display: block;
	height: 8px;
	width: 80px;
	margin: 25px auto 0;
	background: #99714B;
}
main .contents h2.left {
	text-align: left;
}
main .contents h2.left::after {
	margin-left: 0;
}
main .contents * + h2 {
	margin-top: 120px;
}
.sp main .contents * + h2 {
	margin-top: 60px;
}
.jp main .contents * + h2.style_h4 {
	margin-top: 40px;
}
main .contents h3 {
	clear: both;
	position: relative;
	margin: 0px 0px 32px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	font-weight: 700;
}
.sp main .contents h3 {
	margin: 0px 0px 20px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
main .contents * + h3 {
	margin-top: 80px;
}
.sp main .contents * + h3 {
	margin-top: 40px;
}
main .contents h4 {
	position: relative;
	display: block;
	margin: 0px 0px 20px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: 400;
}
.sp main .contents h4 {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
main .contents * + h4 {
	margin-top: 40px;
}
main .contents h5 {
	position: relative;
	display: block;
	margin: 0px 0px 20px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	font-weight: 700;
	color: #004098;
}
.sp main .contents h5 {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents * + h5 {
	margin-top: 20px;
}
.sp main .contents * + h5 {
	margin-top: 10px;
}
main .contents h6 {
	position: relative;
	display: block;
	margin: 0px 0px 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents .text.lead {
	margin: 0 auto;
}
main .contents .text.lead.top {
	margin-bottom: 90px;
}
.sp main .contents .text.lead.top {
	margin-bottom: 45px;
}
main .contents .text.lead.small p {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 40px;
	line-height: 2.5rem;
}
main .contents .text.lead.center {
	text-align: center;
}
.sp main .contents .text.lead.center {
	text-align: left;
}
main .contents .text.lead p {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 67.2px;
	line-height: 4.2rem;
}
.sp main .contents .text.lead p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text.lead p span {
	margin-right: 0.5rem;
	color: #99714B;
	font-weight: bold;
}
main .contents .people_lead {
	margin: 0 auto 60px;
}
.sp main .contents .people_lead {
	margin-bottom: 30px;
}
main .contents .people_lead p {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
	font-weight: bold;
	text-align: center;
}
.sp main .contents .people_lead p {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
main .contents .stack {
	margin-top: 0px !important;
}
main .contents .bottom_stack {
	margin-bottom: 0px !important;
}
main .contents .text, main .contents .table, main .contents .edit_area {
	margin-left: auto;
	margin-right: auto;
}
main .contents .text:after, main .contents .table:after, main .contents .edit_area:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text.full, main .contents .table.full, main .contents .edit_area.full {
	max-width: none;
}
main .contents .text p, main .contents .table p, main .contents .edit_area p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text p .required, main .contents .table p .required, main .contents .edit_area p .required {
	color: #fb3b3b;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p.text_title, main .contents .table p.text_title, main .contents .edit_area p.text_title {
	color: #004098;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
}
main .contents .text p.error_mes, main .contents .table p.error_mes, main .contents .edit_area p.error_mes {
	color: #fb3b3b;
}
main .contents .text p.center, main .contents .table p.center, main .contents .edit_area p.center {
	text-align: center;
}
main .contents .text p.right, main .contents .table p.right, main .contents .edit_area p.right {
	text-align: right;
}
main .contents .text p.left, main .contents .table p.left, main .contents .edit_area p.left {
	text-align: left;
}
main .contents .text p.note, main .contents .table p.note, main .contents .edit_area p.note {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text p a, main .contents .table p a, main .contents .edit_area p a {
	color: #99714B;
	position: relative;
	display: inline-block;
}
main .contents .text p a:before, main .contents .table p a:before, main .contents .edit_area p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #99714B;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text p a:hover:before, main .contents .table p a:hover:before, main .contents .edit_area p a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text ul, main .contents .table ul, main .contents .edit_area ul {
	clear: both;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text ul > li, main .contents .table ul > li, main .contents .edit_area ul > li {
	position: relative;
	padding-left: 1rem;
}
main .contents .text ul > li:before, main .contents .table ul > li:before, main .contents .edit_area ul > li:before {
	content: "";
	position: absolute;
	display: block;
	width: 4px;
	height: 4px;
	left: 0;
	top: 0.8rem;
	background: #99714B;
	border-radius: 50%;
}
main .contents .text ul > li + li, main .contents .table ul > li + li, main .contents .edit_area ul > li + li {
	margin-top: 10px;
}
main .contents .text ul > li ul li, main .contents .table ul > li ul li, main .contents .edit_area ul > li ul li {
	padding-left: 0.8rem;
}
main .contents .text ul > li ul li:before, main .contents .table ul > li ul li:before, main .contents .edit_area ul > li ul li:before {
	width: 0.5rem;
	height: 0.5rem;
	top: 0.7rem;
}
main .contents .text ol, main .contents .table ol, main .contents .edit_area ol {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	counter-reset: number;
}
main .contents .text ol > li, main .contents .table ol > li, main .contents .edit_area ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before, main .contents .table ol > li:before, main .contents .edit_area ol > li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
	color: #99714B;
}
main .contents .text ol > li + li, main .contents .table ol > li + li, main .contents .edit_area ol > li + li {
	margin-top: 4px;
}
main .contents .text ol ul li, main .contents .table ol ul li, main .contents .edit_area ol ul li {
	text-indent: 0;
}
main .contents .text .image.floatright, main .contents .table .image.floatright, main .contents .edit_area .image.floatright {
	float: right;
	margin-left: 40px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatright, .sp main .contents .table .image.floatright, .sp main .contents .edit_area .image.floatright {
	margin-left: 20px;
	margin-bottom: 10px;
}
main .contents .text .image.floatleft, main .contents .table .image.floatleft, main .contents .edit_area .image.floatleft {
	float: left;
	margin-right: 40px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatleft, .sp main .contents .table .image.floatleft, .sp main .contents .edit_area .image.floatleft {
	margin-right: 20px;
	margin-bottom: 10px;
}
.sp main .contents .text .image.spclear, .sp main .contents .table .image.spclear, .sp main .contents .edit_area .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .text.left, main .contents .table.left, main .contents .edit_area.left {
	margin-left: 0;
}
main .contents p a:hover, main .contents li a:hover, main .contents ol a:hover, main .contents table a:hover {
	opacity: 0.7;
}
main .contents .edit_area img {
	max-width: 100%;
	height: auto;
}
main .contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
main .contents .image p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image p.center {
	text-align: center;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.left p {
	margin-left: 0px;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents .image.right p {
	margin-right: 0px;
}
main .contents .image a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .image a:hover {
	opacity: 0.7;
}
main .contents .image a img {
	display: inline-block;
}
main .contents .image.center {
	text-align: center;
}
main .contents * + .image {
	margin-top: 20px;
}
.sp main .contents * + .image {
	margin-top: 10px;
}
main .contents .imagebox {
	display: table;
	width: 100%;
}
main .contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
	display: block;
}
.sp main .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
	padding-top: 20px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox .middle {
	vertical-align: middle;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 20px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 20px;
}
main .contents .imagebox > .image p {
	width: auto !important;
}
main .contents .layout {
	display: table;
	width: calc(100% + 40px);
	margin-left: -20px;
	margin-right: -20px;
}
main .contents .layout > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
main .contents .layout:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .layout {
	width: calc(100% + 20px);
	margin-left: -10px;
	margin-right: -10px;
}
main .contents .layout > * {
	padding: 0px 20px;
}
.sp main .contents .layout > * {
	padding: 0px 10px;
}
main .contents .layout > *.left {
	text-align: left;
}
main .contents .layout > *.right {
	text-align: right;
}
main .contents .layout > *.top {
	vertical-align: top;
}
main .contents .layout > *.bottom {
	vertical-align: bottom;
}
.sp main .contents .layout.spcol1 {
	display: block;
	width: auto;
	margin-left: 0px;
	margin-bottom: -40px;
	margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
	display: block;
	margin-bottom: 40px;
	padding: 0px;
	width: auto !important;
}
main .contents .table {
	max-width: none !important;
}
.sp main .contents .table {
	overflow-x: auto;
}
main .contents .table p + table {
	margin-top: 10px;
}
main .contents .table table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
main .contents .table table th, main .contents .table .format table td, main .contents .format .table table td {
	padding: 25px 0;
	vertical-align: middle;
	text-align: center;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #ffffff;
	text-align: center;
}
main .contents .table table th + th, main .contents .table .format table td + th, main .contents .format .table table td + th, main .contents .table .format table th + td, main .contents .format .table table th + td, main .contents .table .format table td + td, main .contents .format .table table td + td {
	border-left: 1px solid #fff;
}
.sp main .contents .table table th, .sp main .contents .table .format table td, .sp main .contents .format .table table td {
	white-space: nowrap;
}
main .contents .table table th a, main .contents .table .format table td a, main .contents .format .table table td a {
	color: #fff;
	text-decoration: underline;
}
main .contents .table table thead * + tr th, main .contents .table .format table thead * + tr td, main .contents .format .table table thead * + tr td {
	border-left: 1px solid #fff;
	border-top: 1px solid #fff;
}
main .contents .table table tbody th, main .contents .table .format table tbody td, main .contents .format .table table tbody td {
	text-align: left;
	color: #000000;
	vertical-align: top;
	border-bottom: 1px solid #99714B;
}
main .contents .table table td {
	padding: 25px 0;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: normal;
	border-bottom: 1px solid #BCB9B8;
}
main .contents .table table td .name {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 40.8px;
	line-height: 2.55rem;
}
main .contents .table table .left {
	text-align: left;
}
main .contents .table table .right {
	text-align: right;
}
main .contents .table table .center {
	text-align: center;
}
main .contents .table table .top {
	vertical-align: top;
}
main .contents .table table .bottom {
	vertical-align: bottom;
}
main .contents .table table .middle {
	vertical-align: middle;
}
main .contents .table table .empty {
	background: none !important;
}
main .contents .table table.small th, main .contents .table .format table.small td, main .contents .format .table table.small td, main .contents .table table.small td {
	padding: 10px 5px;
}
main .contents .table table.small .year {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: bold;
}
main .contents .table table.td_center td {
	text-align: center;
}
main .contents .table table.stripes tr:nth-of-type(2n+1) td {
	background: #F1F0F0;
}
main .contents .table table.stripes th, main .contents .table .format table.stripes td, main .contents .format .table table.stripes td {
	border: none;
	padding: 20px;
	background: #231815;
	color: #fff;
}
main .contents .table table.stripes td {
	border: none;
	padding: 20px;
}
main .contents .table table.stripes td + td {
	border-left: 1px solid #908B89;
}
main .contents .table table.stripes_vertical td:nth-of-type(2n) {
	background: #F5F5F5;
}
main .contents .table table.stripes_border tr:nth-of-type(2n+3) th, main .contents .table .format table.stripes_border tr:nth-of-type(2n+3) td, main .contents .format .table table.stripes_border tr:nth-of-type(2n+3) td, main .contents .table table.stripes_border tr:nth-of-type(2n+3) td {
	border-top: 3px solid #707F89;
}
main .contents .table table.borderless {
	border: none;
}
main .contents .table table.borderless th, main .contents .table .format table.borderless td, main .contents .format .table table.borderless td, main .contents .table table.borderless td {
	border: none !important;
	border-bottom: 1px dotted #99a6b6 !important;
	background: none;
}
main .contents .table table.borderless th:nth-of-type(1), main .contents .table .format table.borderless td:nth-of-type(1), main .contents .format .table table.borderless td:nth-of-type(1) {
	width: 30%;
}
main .contents .table table.borderless th:nth-of-type(2), main .contents .table .format table.borderless td:nth-of-type(2), main .contents .format .table table.borderless td:nth-of-type(2) {
	width: 50%;
}
main .contents .table table.borderless th:nth-of-type(3), main .contents .table .format table.borderless td:nth-of-type(3), main .contents .format .table table.borderless td:nth-of-type(3) {
	width: 20%;
}
main .contents .table > p {
	margin-top: 8px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .table table.simple {
	border-top: 1px solid #CDD6DD;
	border-left: 1px solid #CDD6DD;
}
main .contents .table table.simple tbody tr th, main .contents .table .format table.simple tbody tr td, main .contents .format .table table.simple tbody tr td {
	background: #fff;
	border-right: 1px solid #CDD6DD;
}
main .contents .format table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
	border-bottom: 1px solid #b3b3b3;
}
main .contents .format table th, main .contents .format table td {
	padding: 16px 8px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
	color: #000000;
	border-top: 1px solid #b3b3b3;
}
main .contents .format table td {
	font-weight: normal;
}
.sp main .contents .format table {
	display: block;
}
.sp main .contents .format table tbody {
	display: block;
}
.sp main .contents .format table tr {
	display: block;
}
.sp main .contents .format table th, .sp main .contents .format table td {
	display: block;
}
.sp main .contents .format table td {
	display: block;
	padding-top: 0px;
	border-top: 0px;
}
main .contents .menu {
	margin-bottom: -20px;
	margin-left: -20px;
	margin-right: -4px;
}
main .contents .menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .menu {
	margin-bottom: -10px;
	margin-left: -10px;
}
main .contents .menu > * {
	float: left;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp main .contents .menu > * {
	margin-left: 10px;
	margin-bottom: 10px;
}
main .contents .menu.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
.sp main .contents .menu.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .menu.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .menu.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
.sp main .contents .menu.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .menu.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .menu.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
.sp main .contents .menu.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .menu.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .menu.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
.sp main .contents .menu.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .menu.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .menu.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
.sp main .contents .menu.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .menu.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .menu > a {
	position: relative;
	display: block;
	padding-bottom: calc(1.625rem + 26px);
	background: #ffffff;
	overflow: hidden;
}
.sp main .contents .menu > a {
	padding-bottom: calc(1.42188rem + 26px);
}
main .contents .menu > a:hover img {
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}
main .contents .menu > a div {
	overflow: hidden;
}
main .contents .menu > a img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
main .contents .menu > a strong {
	display: block;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
main .contents .menu > a strong span {
	display: inline-block;
}
.sp main .contents .menu > a strong {
	font-size: 21px;
	font-size: 1.3125rem;
	line-height: 27.3px;
	line-height: 1.70625rem;
}
main .contents .menu > a > span {
	position: absolute;
	display: block;
	width: 100%;
	bottom: 0px;
	padding: 12px 12px 16px;
	color: #ffffff;
	background: #99714B;
}
main .contents .menu > a > span p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .menu > a > span p.more {
	font-weight: bold;
}
main .contents .menu > a > span p + p {
	margin-top: 8px;
}
main .contents .menu > a > span.slide {
	bottom: 50px;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
main .contents .menu > a > span.slide strong {
	padding-bottom: 16px;
}
html:not(.sp) main .contents .menu > a:hover > span.slide {
	-webkit-transform: translateY(0) !important;
	transform: translateY(0) !important;
}
main .contents .menu > a:after {
	content: "";
	position: absolute;
	display: block;
	bottom: 5px;
	right: 5px;
	border: 5px solid transparent;
	border-right-color: #ffffff;
	border-bottom-color: #ffffff;
}
main .contents .menu.simple a {
	padding: 19px 19px 0px;
	border: 1px solid #d9d9d9;
}
.sp main .contents .menu.simple a {
	padding: 9px 9px 0px;
}
main .contents .menu.simple a > span {
	position: static;
	display: table;
	width: 100%;
	padding-top: 0px;
	padding-bottom: 19px;
	color: #000000;
	background: transparent;
}
main .contents .menu.simple a > span > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
.sp main .contents .menu.simple a > span {
	padding-bottom: 9px;
}
main .contents .menu.simple a > div + span {
	padding-top: 12px;
}
main .contents .menu.simple a:after {
	border-right-color: #99714B;
	border-bottom-color: #99714B;
}
main .contents .box {
	padding: 20px;
	border: 1px solid #bbc8cf;
}
.sp main .contents .box {
	padding: 20px;
}
main .contents .redbox {
	padding: 20px;
	border: 1px solid #EC212F;
}
.sp main .contents .redbox {
	padding: 20px;
}
main .contents .googlemap {
	position: relative;
	padding-top: 50%;
}
.sp main .contents .googlemap {
	padding-top: 75%;
}
main .contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}

body {
	position: relative;
}

.popup {
	position: relative;
	opacity: 0;
	-webkit-transform: translateY(20%);
	transform: translateY(20%);
}
.sp .popup {
	-webkit-transition: opacity 0ms, -webkit-transform 0ms;
	transition: opacity 0ms, transform 0ms;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.popup.view {
	-webkit-transition: opacity 600ms, -webkit-transform 1200ms;
	transition: opacity 600ms, transform 1200ms;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.bold {
	font-weight: bold !important;
}

.red {
	color: #EC212F;
}

.nowrap {
	white-space: nowrap;
}

sup {
	line-height: 0;
}

img {
	max-width: 100%;
	height: auto;
}

.column {
	display: flex;
	flex-flow: row wrap;
	margin-left: -20px;
	margin-bottom: -20px;
}
.column:after {
	content: "";
	display: block;
	clear: both;
}
.sp .column {
	margin-left: -10px;
}
.column > * {
	position: relative;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp .column > * {
	margin-left: 10px;
	margin-bottom: 10px;
}
.column > a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #99714B;
}
.column > a:hover {
	opacity: 0.7;
}
.column > a .image img {
	width: 100%;
	max-width: none;
}
.column.col1 > * {
	width: calc((100% - 20px * 1) / 1);
}
.column.col1 > *.size2 {
	width: calc(((100% - 20px * 1) / 1) * 2 + 20px * 1);
}
.column.col1 > *.size1 {
	width: calc(((100% - 20px * 1) / 1) * 1 + 20px * 0);
}
.sp .column.col1 > * {
	width: calc((100% - 10px * 1) / 1);
}
.sp .column.spcol1 > * {
	width: calc((100% - 10px * 1) / 1) !important;
}
.column.col2 > * {
	width: calc((100% - 20px * 2) / 2);
}
.column.col2 > *.size2 {
	width: calc(((100% - 20px * 2) / 2) * 2 + 20px * 1);
}
.sp .column.col2 > * {
	width: calc((100% - 10px * 2) / 2);
}
.sp .column.spcol2 > * {
	width: calc((100% - 10px * 2) / 2) !important;
}
.column.col3 > * {
	width: calc((100% - 20px * 3) / 3);
}
.column.col3 > *.size2 {
	width: calc(((100% - 20px * 3) / 3) * 2 + 20px * 1);
}
.column.col3 > *.size3 {
	width: calc(((100% - 20px * 3) / 3) * 3 + 20px * 2);
}
.sp .column.col3 > * {
	width: calc((100% - 10px * 3) / 3);
}
.sp .column.spcol3 > * {
	width: calc((100% - 10px * 3) / 3) !important;
}
.column.col4 > * {
	width: calc((100% - 20px * 4) / 4);
}
.column.col4 > *.size2 {
	width: calc(((100% - 20px * 4) / 4) * 2 + 20px * 1);
}
.column.col4 > *.size3 {
	width: calc(((100% - 20px * 4) / 4) * 3 + 20px * 2);
}
.column.col4 > *.size4 {
	width: calc(((100% - 20px * 4) / 4) * 4 + 20px * 3);
}
.sp .column.col4 > * {
	width: calc((100% - 10px * 4) / 4);
}
.sp .column.spcol4 > * {
	width: calc((100% - 10px * 4) / 4) !important;
}
.column.col5 > * {
	width: calc((100% - 20px * 5) / 5);
}
.column.col5 > *.size2 {
	width: calc(((100% - 20px * 5) / 5) * 2 + 20px * 1);
}
.column.col5 > *.size3 {
	width: calc(((100% - 20px * 5) / 5) * 3 + 20px * 2);
}
.column.col5 > *.size4 {
	width: calc(((100% - 20px * 5) / 5) * 4 + 20px * 3);
}
.column.col5 > *.size5 {
	width: calc(((100% - 20px * 5) / 5) * 5 + 20px * 4);
}
.sp .column.col5 > * {
	width: calc((100% - 10px * 5) / 5);
}
.sp .column.spcol5 > * {
	width: calc((100% - 10px * 5) / 5) !important;
}
.column.col6 > * {
	width: calc((100% - 20px * 6) / 6);
}
.column.col6 > *.size2 {
	width: calc(((100% - 20px * 6) / 6) * 2 + 20px * 1);
}
.column.col6 > *.size3 {
	width: calc(((100% - 20px * 6) / 6) * 3 + 20px * 2);
}
.column.col6 > *.size4 {
	width: calc(((100% - 20px * 6) / 6) * 4 + 20px * 3);
}
.column.col6 > *.size5 {
	width: calc(((100% - 20px * 6) / 6) * 5 + 20px * 4);
}
.column.col6 > *.size6 {
	width: calc(((100% - 20px * 6) / 6) * 6 + 20px * 5);
}
.sp .column.col6 > * {
	width: calc((100% - 10px * 6) / 6);
}
.sp .column.spcol6 > * {
	width: calc((100% - 10px * 6) / 6) !important;
}
.column.col7 > * {
	width: calc((100% - 20px * 7) / 7);
}
.column.col7 > *.size2 {
	width: calc(((100% - 20px * 7) / 7) * 2 + 20px * 1);
}
.column.col7 > *.size3 {
	width: calc(((100% - 20px * 7) / 7) * 3 + 20px * 2);
}
.column.col7 > *.size4 {
	width: calc(((100% - 20px * 7) / 7) * 4 + 20px * 3);
}
.column.col7 > *.size5 {
	width: calc(((100% - 20px * 7) / 7) * 5 + 20px * 4);
}
.column.col7 > *.size6 {
	width: calc(((100% - 20px * 7) / 7) * 6 + 20px * 5);
}
.column.col7 > *.size7 {
	width: calc(((100% - 20px * 7) / 7) * 7 + 20px * 6);
}
.sp .column.col7 > * {
	width: calc((100% - 10px * 7) / 7);
}
.sp .column.spcol7 > * {
	width: calc((100% - 10px * 7) / 7) !important;
}
.column.col8 > * {
	width: calc((100% - 20px * 8) / 8);
}
.column.col8 > *.size2 {
	width: calc(((100% - 20px * 8) / 8) * 2 + 20px * 1);
}
.column.col8 > *.size3 {
	width: calc(((100% - 20px * 8) / 8) * 3 + 20px * 2);
}
.column.col8 > *.size4 {
	width: calc(((100% - 20px * 8) / 8) * 4 + 20px * 3);
}
.column.col8 > *.size5 {
	width: calc(((100% - 20px * 8) / 8) * 5 + 20px * 4);
}
.column.col8 > *.size6 {
	width: calc(((100% - 20px * 8) / 8) * 6 + 20px * 5);
}
.column.col8 > *.size7 {
	width: calc(((100% - 20px * 8) / 8) * 7 + 20px * 6);
}
.column.col8 > *.size8 {
	width: calc(((100% - 20px * 8) / 8) * 8 + 20px * 7);
}
.sp .column.col8 > * {
	width: calc((100% - 10px * 8) / 8);
}
.sp .column.spcol8 > * {
	width: calc((100% - 10px * 8) / 8) !important;
}
.column.col9 > * {
	width: calc((100% - 20px * 9) / 9);
}
.column.col9 > *.size2 {
	width: calc(((100% - 20px * 9) / 9) * 2 + 20px * 1);
}
.column.col9 > *.size3 {
	width: calc(((100% - 20px * 9) / 9) * 3 + 20px * 2);
}
.column.col9 > *.size4 {
	width: calc(((100% - 20px * 9) / 9) * 4 + 20px * 3);
}
.column.col9 > *.size5 {
	width: calc(((100% - 20px * 9) / 9) * 5 + 20px * 4);
}
.column.col9 > *.size6 {
	width: calc(((100% - 20px * 9) / 9) * 6 + 20px * 5);
}
.column.col9 > *.size7 {
	width: calc(((100% - 20px * 9) / 9) * 7 + 20px * 6);
}
.column.col9 > *.size8 {
	width: calc(((100% - 20px * 9) / 9) * 8 + 20px * 7);
}
.column.col9 > *.size9 {
	width: calc(((100% - 20px * 9) / 9) * 9 + 20px * 8);
}
.sp .column.col9 > * {
	width: calc((100% - 10px * 9) / 9);
}
.sp .column.spcol9 > * {
	width: calc((100% - 10px * 9) / 9) !important;
}

#cat_title {
	position: relative;
	margin: 80px 0 80px 0;
	height: 240px;
	z-index: 1;
	background-position: center center;
	background-size: cover;
}
.sp #cat_title {
	margin: 80px 0 40px 0;
	padding: 20px;
	height: 160px;
}
#cat_title::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.75);
}
#cat_title.member {
	background-image: url(../images/member_bg.jpg);
}
#cat_title.message {
	background-image: url(../images/message_bg.jpg);
}
#cat_title.company {
	background-image: url(../images/company_bg.jpg);
}
#cat_title.guideline {
	background-image: url(../images/guideline_bg.jpg);
}
#cat_title.fresh {
	background-image: url(../images/fresh_bg.jpg);
}
#cat_title.concept {
	background-image: url(../images/concept_bg.jpg);
}
#cat_title.crosstalk {
	background-image: url(../images/crosstalk_bg.jpg);
}
#cat_title.welfare {
	background-image: url(../images/welfare_bg.jpg);
}
#cat_title.jobs {
	background-image: url(../images/jobs_bg.jpg);
}
#cat_title.workplaces {
	background-image: url(../images/workplaces_bg.jpg);
}
#cat_title > span {
	position: absolute;
	left: 20px;
	top: 0;
	font-size: 180px;
	font-size: 11.25rem;
	line-height: 126px;
	line-height: 7.875rem;
	font-family: caflisch-script-pro, sans-serif;
	font-weight: normal;
	color: #fff;
}
.sp #cat_title > span {
	top: 10px;
	font-size: 90px;
	font-size: 5.625rem;
	line-height: 63px;
	line-height: 3.9375rem;
}
#cat_title > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 0px;
	display: flex;
	height: 100%;
	align-items: center;
	z-index: 10;
}
.sp #cat_title > div {
	padding: 0px 10px 0px;
}
#cat_title h1, #cat_title .h1 {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 44px;
	line-height: 2.75rem;
	margin: 0;
	font-weight: 400;
}
.sp #cat_title h1, .sp #cat_title .h1 {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 39.6px;
	line-height: 2.475rem;
}
#cat_title .lead {
	padding: 0 100px;
	text-align: center;
	font-weight: 700;
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 39px;
	line-height: 2.4375rem;
}
.sp #cat_title .lead {
	padding: 0;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}

#breadcrumbs {
	position: relative;
	background: #fff;
	z-index: 10;
}
.sp #breadcrumbs {
	display: none;
}
#breadcrumbs > ul {
	padding: 15px 20px;
}
#breadcrumbs > ul:after {
	content: "";
	display: block;
	clear: both;
}
#breadcrumbs > ul > li {
	display: inline-block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #99a6b6;
}
.sp #breadcrumbs > ul > li {
	font-size: 10px;
	font-size: 0.625rem;
	line-height: 11px;
	line-height: 0.6875rem;
}
#breadcrumbs > ul > li + li:before {
	content: ">";
	position: relative;
	display: inline-block;
	top: 0;
	margin: 0px 5px;
}
#breadcrumbs > ul > li a {
	color: #99714B;
	position: relative;
	display: inline-block;
}
#breadcrumbs > ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #99714B;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#breadcrumbs > ul > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#breadcrumbs > ul > li br {
	display: none;
}

.calendar_menu .year {
	position: relative;
	display: inline-block;
}
.calendar_menu .year::before {
	content: "";
	position: absolute;
	width: 21px;
	height: 21px;
	border: 1px solid #707070;
	border-radius: 5px;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	pointer-events: none;
}
.calendar_menu .year::after {
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	top: calc(50% - 6px);
	right: 12px;
	transform: translateY(-50%);
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	z-index: 2;
	pointer-events: none;
}
.calendar_menu .year select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background: none;
	min-width: 6rem;
	padding-right: 20px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
.calendar_menu .year select::-ms-expand {
	display: none;
}
.calendar_menu .cat_box {
	display: flex;
}
.sp .calendar_menu .cat_box {
	display: block;
}
.calendar_menu .cat_box > div .cat {
	display: flex;
	position: relative;
	flex-wrap: wrap;
	margin-top: 20px;
	font-size: 17px;
	font-size: 1.0625rem;
	line-height: 28.9px;
	line-height: 1.80625rem;
}
.calendar_menu .cat_box > div .cat > div:first-child {
	min-width: 5rem;
}
.calendar_menu .cat_box > div .cat ul {
	display: flex;
	flex-wrap: wrap;
}
.calendar_menu .cat_box > div .cat ul li {
	padding-left: 0 !important;
}
.calendar_menu .cat_box > div .cat ul li:before {
	display: none !important;
}
.calendar_menu .cat_box > div .cat ul li:after {
	content: "";
	display: inline-block;
	margin: 0 10px;
	width: 1px;
	height: 75%;
	vertical-align: middle;
	background: #707070;
}
.calendar_menu .cat_box > div .cat ul li:last-child:after {
	display: none;
}
.calendar_menu .cat_box > div .cat ul li + li {
	margin-top: 0 !important;
}
.calendar_menu .cat_box > div .cat ul a.current {
	font-weight: bold;
	color: #BF0101;
}
.calendar_menu .cat_box .map {
	margin: 20px 0 0 50px;
}
.sp .calendar_menu .cat_box .map {
	margin: 20px 0 0 0;
	text-align: center;
}
.calendar_menu .cat_box .map a {
	display: inline-block;
	padding: 5px 20px;
	border: 1px solid #707070;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.calendar_menu .cat_box .map a:hover {
	opacity: 0.7;
}

.calendar_result {
	margin-top: 80px;
}
.sp .calendar_result {
	margin-top: 40px;
}
.calendar_result > div {
	display: none;
	margin-top: 30px;
}
.calendar_result > div p.title {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
	font-weight: bold;
}
.calendar_result > div p.title a {
	color: #BF0101;
}
.calendar_result > div p {
	margin-top: 0 !important;
	font-size: 17px;
	font-size: 1.0625rem;
	line-height: 28.9px;
	line-height: 1.80625rem;
}

#news_area {
	background: #fff;
}
#news_area > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 50px 20px 50px;
}
.sp #news_area > div {
	padding: 25px 10px 25px;
}
#news_area > div.text {
	max-width: 780px;
	padding: 0;
}
#news_area ul {
	position: relative;
	letter-spacing: -1rem;
}
#news_area ul li {
	padding: 20px 0;
	border-bottom: 1px dotted #707070;
	letter-spacing: normal;
}
#news_area ul li > a, #news_area ul li > span {
	display: block;
	color: #99714B;
	letter-spacing: -1rem;
}
#news_area ul li > a > *, #news_area ul li > span > * {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
}
#news_area ul li > a .date, #news_area ul li > span .date {
	width: 120px;
}
#news_area ul li > a .cat, #news_area ul li > span .cat {
	width: 140px;
}
#news_area ul li > a .cat span, #news_area ul li > span .cat span {
	display: inline-block;
	min-width: 120px;
	text-align: center;
	background: #707070;
	color: #fff;
	padding: 3px;
}
#news_area ul li > a .title, #news_area ul li > span .title {
	line-height: 1.5;
	width: calc(100% - 320px);
	padding-left: 20px;
}
.sp #news_area ul li > a .title, .sp #news_area ul li > span .title {
	width: 100%;
	margin-top: 10px;
	padding-left: 0;
}
#news_area ul li > a.link, #news_area ul li > a.pdf, #news_area ul li > a.blank, #news_area ul li > span.link, #news_area ul li > span.pdf, #news_area ul li > span.blank {
	position: relative;
}
#news_area ul li > a.link .title, #news_area ul li > a.pdf .title, #news_area ul li > a.blank .title, #news_area ul li > span.link .title, #news_area ul li > span.pdf .title, #news_area ul li > span.blank .title {
	width: calc(100% - 320px);
	border-right: 1px solid #99a6b6;
	padding-right: 20px;
}
.sp #news_area ul li > a.link .title, .sp #news_area ul li > a.pdf .title, .sp #news_area ul li > a.blank .title, .sp #news_area ul li > span.link .title, .sp #news_area ul li > span.pdf .title, .sp #news_area ul li > span.blank .title {
	position: relative;
	width: 100%;
	margin-top: 10px;
	border-right: none;
	padding-right: 0px;
}
.sp #news_area ul li > a.link .title:after, .sp #news_area ul li > a.pdf .title:after, .sp #news_area ul li > a.blank .title:after, .sp #news_area ul li > span.link .title:after, .sp #news_area ul li > span.pdf .title:after, .sp #news_area ul li > span.blank .title:after {
	content: "";
	position: absolute;
}
#news_area ul li > a.link::before, #news_area ul li > a.pdf::before, #news_area ul li > a.blank::before, #news_area ul li > span.link::before, #news_area ul li > span.pdf::before, #news_area ul li > span.blank::before {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}
.sp #news_area ul li > a.link::before, .sp #news_area ul li > a.pdf::before, .sp #news_area ul li > a.blank::before, .sp #news_area ul li > span.link::before, .sp #news_area ul li > span.pdf::before, .sp #news_area ul li > span.blank::before {
	display: none;
}
#news_area ul li > a.link::before, #news_area ul li > span.link::before {
	width: 15px;
	height: 13px;
	background: url(../images/newsico_link.svg) no-repeat;
	background-size: 15px 13px;
}
.sp #news_area ul li > a.link .title::after, .sp #news_area ul li > span.link .title::after {
	width: 20px;
	height: 18px;
	background: url(../images/newsico_link.svg) right bottom no-repeat;
	background-size: 15px 13px;
}
#news_area ul li > a.pdf::before, #news_area ul li > span.pdf::before {
	width: 15px;
	height: 17px;
	background: url(../images/ico_pdf.png) no-repeat;
	background-size: 15px 17px;
}
.sp #news_area ul li > a.pdf .title::after, .sp #news_area ul li > span.pdf .title::after {
	width: 20px;
	height: 20px;
	background: url(../images/ico_pdf.png) right bottom no-repeat;
	background-size: 15px 17px;
}
#news_area ul li > a.blank::before, #news_area ul li > span.blank::before {
	width: 15px;
	height: 15px;
	background: url(../images/newsico_blank.svg) no-repeat;
	background-size: 15px 15px;
}
.sp #news_area ul li > a.blank .title::after, .sp #news_area ul li > span.blank .title::after {
	width: 20px;
	height: 20px;
	background: url(../images/newsico_blank.svg) right bottom no-repeat;
	background-size: 15px 17px;
}
#news_area ul li a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#news_area ul li a:hover {
	opacity: 0.7;
}
#news_area ul.anchor {
	margin-bottom: 40px;
}
#news_area ul.anchor li {
	border: none;
	padding: 0;
}
#news_area ul.anchor li a {
	display: inline-block;
	letter-spacing: normal;
}
.sp #news_area ul.anchor li a {
	min-width: 3rem;
	padding-top: 0;
}
#news_area ul.cat_wide > li > a .cat {
	width: 180px;
}
#news_area ul.cat_wide > li > a .cat span {
	min-width: 160px;
}
#news_area ul.cat_wide > li > a .title {
	width: calc(100% - 360px);
}
#news_area a, #news_area span {
	position: relative;
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	-webkit-transition: opacity 200ms, color 600ms;
	transition: opacity 200ms, color 600ms;
}
.sp #news_area a, .sp #news_area span {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
#news_area ul.category_anchor {
	margin: 0 0 30px -10px;
}
#news_area ul.category_anchor li {
	padding: 0;
	margin: 0 0 10px 10px;
	border: none;
	min-height: auto;
}
#news_area ul.category_anchor li a {
	padding: 0 40px 0 10px;
	color: #fff;
	letter-spacing: normal;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	display: table-cell;
	line-height: 36px;
}

.footer_icolink {
	margin-top: 50px;
	margin-bottom: 30px;
	letter-spacing: -1rem;
}
.footer_icolink > ul {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 30px 20px 30px;
	text-align: center;
}
.sp .footer_icolink > ul {
	padding: 15px 10px 15px;
}
.footer_icolink li {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	letter-spacing: normal;
}
.tablet .footer_icolink li {
	width: calc((99.99% - 40px) / 3);
	margin-bottom: 40px;
}
.tablet .footer_icolink li:nth-of-type(3n+1) {
	margin-left: 0 !important;
}
.footer_icolink li + li {
	margin-left: 80px;
}
.tablet .footer_icolink li + li {
	margin-left: 20px;
}
.footer_icolink li a {
	display: block;
	color: #000000;
	font-weight: bold;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.footer_icolink li a:hover {
	opacity: 0.7;
}
.sp .footer_icolink li a {
	color: #000;
}
.footer_icolink li a img {
	margin-bottom: 10px;
}

footer.content {
	position: relative;
	background-color: #004098;
	padding: 40px 30px;
	background: url(../images/footer_catch.svg) no-repeat center right 40px #004098;
}
.tablet footer.content {
	height: auto;
	padding: 20px 20px 20px 20px;
	background: none;
	background-color: #004098;
}
footer.content .logo {
	margin-bottom: 30px;
}
footer.content .logo img {
	margin: 0;
}
footer.content .logo a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.content .logo a:hover {
	opacity: 0.7;
}
footer.content p {
	color: #fff;
}
.sp footer.content p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
}
footer.content p + p {
	margin-top: 20px;
}
footer.content p a {
	margin-right: 20px;
	color: #fff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.content p a:hover {
	opacity: 0.7;
}

main .contents .text .title {
	margin-top: 30px;
	font-weight: bold;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 30px;
	line-height: 1.875rem;
	text-align: center;
}
.sp main .contents .text .title {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
}
main .contents .text .message_name {
	font-weight: bold;
}
main .contents .text .message_name span {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
main .contents .faq dt, main .contents .faq dd {
	margin: 0;
	text-indent: -1.2rem;
	padding-left: 1.2rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .faq dt + dt, main .contents .faq dd + dt {
	margin-top: 40px;
}
main .contents .faq dt a, main .contents .faq dd a {
	color: #99714B;
	position: relative;
	display: inline-block;
	text-indent: 0;
}
main .contents .faq dt a:before, main .contents .faq dd a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #99714B;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .faq dt a:hover:before, main .contents .faq dd a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .faq dt {
	font-weight: bold;
}
main .contents .faq dd {
	margin-top: 10px;
}
main .contents .column.crosstalk > div {
	padding: 20px;
	background: #E8E7E7;
}
main .contents .column.crosstalk > div.size3 .column {
	padding: 0 10px;
}
.sp main .contents .column.crosstalk > div.size3 .column {
	padding: 0;
}
main .contents .column.crosstalk.center {
	justify-content: center;
}
main .contents .crosstalk_block {
	display: flex;
	flex-wrap: wrap;
	margin-top: -30px !important;
}
main .contents .crosstalk_block .image {
	width: 80px;
	margin-top: 30px;
}
main .contents .crosstalk_block .text {
	width: calc(100% - 100px);
	margin-left: 20px;
	margin-top: 30px;
}
main .contents .text + .crosstalk_block {
	margin-top: 0 !important;
}
main .contents .jobs_link {
	max-width: 380px;
	margin: 80px auto 0;
}
.sp main .contents .jobs_link {
	margin-top: 40px;
}
main .contents .jobs_link.col2 {
	max-width: 780px;
}
.sp main .contents .jobs_link.col2 {
	max-width: 380px;
}
main .contents .jobs_link > div {
	display: flex;
}
.sp main .contents .jobs_link > div {
	display: block;
}
main .contents .jobs_link > div > a {
	display: block;
	color: #000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .jobs_link > div > a:hover {
	opacity: 0.7;
}
main .contents .jobs_link > div > a + a {
	margin-left: 20px;
}
.sp main .contents .jobs_link > div > a + a {
	margin: 30px 0 0 0;
}
main .contents .jobs_link .title {
	margin-bottom: 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
}
main .contents .rerated_link {
	margin-top: 120px;
}
.sp main .contents .rerated_link {
	margin-top: 60px;
}
main .contents .rerated_link a {
	color: #000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .rerated_link a:hover {
	opacity: 0.7;
}
main .contents .rerated_link .text {
	margin-top: 10px;
}

ul.anchor {
	letter-spacing: -1rem;
}
ul.anchor li {
	position: relative;
	display: inline-block;
	margin-top: 10px;
	margin-right: 20px;
	padding: 0;
	letter-spacing: normal;
}
ul.anchor li a {
	position: relative;
	padding-right: 1.6rem;
	color: #99714B;
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
ul.anchor li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #99714B;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
ul.anchor li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
ul.anchor li a:before {
	display: none;
}
ul.anchor li a:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 1rem;
	top: 0;
	background: url(../images/arrow_anchor.svg) no-repeat center center;
	background-size: contain;
	transition: all .3s;
}
* + ul.anchor {
	margin-top: 10px;
}
ul.anchor.yearly {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 16.8px;
	line-height: 1.05rem;
}
ul.anchor.yearly li.ac {
	font-weight: bold;
}
ul.anchor.center {
	text-align: center;
}
ul.anchor.left {
	text-align: left;
}

.button {
	display: flex;
	flex-flow: row wrap;
	margin: 40px 0 -20px -20px;
}
.button.center {
	justify-content: center;
}
.button.column {
	margin-bottom: -20px;
}
.button.right {
	text-align: right;
	justify-content: flex-end;
}
.button.left {
	text-align: left;
	justify-content: flex-start;
}
.sp .button {
	margin: 10px 0 -10px -10px;
}
.sp .button.sp_center {
	justify-content: center;
}
.sp .button.column {
	width: auto;
}
.button.column a {
	min-width: 0;
}
.button.column.min9 > * {
	min-width: calc((100% - 20px * 9 - 4px) / 9);
}
.button.col5.spcol1 > *:nth-of-type(5n+1) {
	clear: both;
}
.button a, .button button, .button span {
	position: relative;
	display: inline-block;
	min-width: 200px;
	padding: 12px 15px;
	margin: 0 0 20px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	outline: none;
	z-index: 2;
	background: #231815;
	color: #ffffff;
	overflow: hidden;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.button a:hover, .button button:hover, .button span:hover {
	opacity: 0.7;
}
.sp .button a, .sp .button button, .sp .button span {
	margin: 0 0 10px 10px;
}
.button a.wide, .button button.wide, .button span.wide {
	width: 100%;
}
.button.pdf a {
	padding-right: 20px !important;
}
.button.pdf a::before {
	display: none;
}
.button.pdf a span::after {
	content: "";
	position: relative;
	top: -2px;
	display: inline-block;
	margin-left: 10px;
	vertical-align: middle;
	width: 18px;
	height: 20px;
	background: url(../images/ico_pdf.png) no-repeat;
	background-size: 18px 20px;
}
.button.none span {
	display: block;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	outline: none;
	position: relative;
	z-index: 2;
	background-color: #98A6B5;
	color: #fff;
	overflow: hidden;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background-color: #ececec;
	height: 46px;
	letter-spacing: normal;
	text-align: left;
}
.button.icon a {
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 16.5px;
	line-height: 1.03125rem;
	padding: 12px 2px 12px 2px;
}
.sp .button.icon a {
	min-width: 100px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 13.2px;
	line-height: 0.825rem;
}
.button.icon a img {
	margin-bottom: 5px;
}
.sp .button.icon a img {
	width: 60px;
}
.button .pdf:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(../images/newsico_pdf_w.svg) no-repeat !important;
	background-size: 18px 20px !important;
}
.button .pdf a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.button .pdf a:hover {
	opacity: 0.7;
}
.button .pdf a:before {
	display: none;
}
.button .blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(../images/newsico_blank_w.svg) no-repeat !important;
	background-size: 18px 20px !important;
}
.button .blank a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.button .blank a:hover {
	opacity: 0.7;
}
.button .blank a:before {
	display: none;
}
.button.no_action a:hover::before {
	opacity: 0;
}
.button.no_action a:hover::after {
	width: 0;
}
.sp .button.sp_sausage {
	display: block;
	overflow-x: auto;
	overflow-y: hidden;
	letter-spacing: -1rem;
	white-space: nowrap;
}
.sp .button.sp_sausage::-webkit-scrollbar {
	height: 8px;
}
.sp .button.sp_sausage::-webkit-scrollbar-track {
	border-radius: 6px;
	background: #eee;
}
.sp .button.sp_sausage::-webkit-scrollbar-thumb {
	border-radius: 6px;
	background: #666;
}
.sp .button.sp_sausage > * {
	letter-spacing: normal;
	display: inline-block;
	min-width: 130px;
	width: auto !important;
}
.button.selects a:before {
	display: none;
}
.button.selects a.on:after {
	width: 100%;
}

main .contents .text .pdf:after, main .contents .table .pdf:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(../images/ico_pdf.png) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .text .pdf a, main .contents .table .pdf a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .text .pdf a:hover, main .contents .table .pdf a:hover {
	opacity: 0.7;
}
main .contents .text .pdf a:before, main .contents .table .pdf a:before {
	display: none;
}
main .contents .text .blank:after, main .contents .table .blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(../images/ico_blank.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .text .blank a, main .contents .table .blank a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .text .blank a:hover, main .contents .table .blank a:hover {
	opacity: 0.7;
}
main .contents .text .blank a:before, main .contents .table .blank a:before {
	display: none;
}

* + p {
	margin-top: 20px;
}

.bg_gray {
	background: #F0F3F5;
}

.youtube {
	max-width: 640px;
	margin: auto;
}
.youtube > div {
	position: relative;
	padding-top: 56.25%;
}
.youtube > div + div {
	margin-top: 20px;
}
.youtube > div > iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
.youtube p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + .youtube p {
	margin-top: 8px;
}

.member_profile {
	position: relative;
	height: 35vw;
	max-height: 580px;
}
.sp .member_profile {
	height: auto;
}
.member_profile > .image {
	position: absolute;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.sp .member_profile > .image {
	background-position: top right 30%;
}
.member_profile#member01 > .image {
	background-image: url(../../member/images/member01_bg.jpg);
}
.member_profile#member01_02 > .image {
	background-image: url(../../member/images/member01_02_bg.jpg);
}
.member_profile#member02 > .image {
	background-image: url(../../member/images/member02_bg.jpg);
}
.member_profile#member03 > .image {
	background-image: url(../../member/images/member03_bg.jpg);
}
.member_profile#member03_02 > .image {
	background-image: url(../../member/images/member03_02_bg.jpg);
}
.member_profile#member04 > .image {
	background-image: url(../../member/images/member04_bg.jpg);
}
.member_profile > .left {
	position: relative;
	width: 50%;
	height: 100%;
	display: flex;
	align-items: center;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10;
}
.member_profile > .left:after {
	content: "";
	position: absolute;
	display: block;
	width: 17rem;
	padding-top: 17rem;
	bottom: -4%;
	left: -10%;
	background: url(../images/bg_logo.png) no-repeat;
	background-size: 100% auto;
	opacity: 0.4;
}
.sp .member_profile > .left:after {
	opacity: 0.2;
	bottom: -35%;
}
.member_profile > .left .text {
	width: 580px;
	padding: 20px;
	margin: 0 0 0 auto;
}
.sp .member_profile > .left .text {
	width: 100%;
	padding: 10px;
}
.member_profile > .left .text .lead {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 61.2px;
	line-height: 3.825rem;
	color: #fff;
	font-weight: bold;
}
.sp .member_profile > .left .text .lead {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
.member_profile > .left .text .info {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
	color: #fff;
	font-weight: bold;
}
.sp .member_profile > .left .text .info {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.member_profile > .left .text .info::before {
	content: "";
	display: block;
	width: 60px;
	height: 6px;
	margin: 40px 0;
	background: #fff;
}
.sp .member_profile > .left .text .info::before {
	margin: 20px 0;
}

.accordion {
	padding: 40px;
	background: #F4F0EC;
}
.sp .accordion {
	padding: 20px;
}
* + .accordion {
	margin-top: 40px;
}
.sp * + .accordion {
	margin-top: 20px;
}
.accordion .title {
	display: flex;
	align-items: center;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	font-weight: bold;
	cursor: pointer;
}
.sp .accordion .title {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
.accordion .title span:first-child {
	width: calc(100% - 60px);
}
.accordion .title .btn {
	position: relative;
	width: 50px;
	height: 50px;
	margin-left: 10px;
	background: #231815;
}
.accordion .title .btn::after {
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
}
.accordion .title .btn::before {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 30px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	opacity: 1;
	transition: 0.3s;
}
.accordion.open .btn::before {
	opacity: 0;
}
.accordion .inner {
	display: none;
	margin-top: 20px;
}
.accordion .inner dl {
	display: flex;
	flex-wrap: wrap;
}
.accordion .inner dl dt {
	width: 7rem;
	padding-top: 30px;
	margin-top: 30px;
	border-top: 1px solid #231815;
	font-size: 16px;
	font-size: 1rem;
	line-height: 32px;
	line-height: 2rem;
	font-weight: bold;
}
.sp .accordion .inner dl dt {
	width: 100%;
}
.accordion .inner dl dt:nth-of-type(1) {
	padding-top: 0;
	margin-top: 0;
	border-top: none;
}
.accordion .inner dl dd {
	width: calc(100% - 7rem);
	padding-top: 30px;
	margin: 30px 0 0 0;
	border-top: 1px solid #231815;
	font-size: 16px;
	font-size: 1rem;
	line-height: 32px;
	line-height: 2rem;
}
.sp .accordion .inner dl dd {
	width: 100%;
	padding-top: 0;
	margin-top: 0;
	border-top: none;
}
.accordion .inner dl dd:nth-of-type(1) {
	padding-top: 0;
	margin-top: 0;
	border-top: none;
}

.background.schedule {
	margin-top: -40px;
}
.sp .background.schedule {
	margin-top: -20px;
}
.background.schedule > div:nth-of-type(2n+1) {
	background: #F1EAE4;
}
.background.schedule > div:nth-of-type(2n) {
	background: #FAF8F6;
}
.background.schedule > div:first-child > div::before {
	height: calc(100% - 20px - 0.5rem);
	top: calc(20px + 0.5rem);
}
.background.schedule > div:last-child > div::before {
	height: calc(20px + 0.5rem);
	top: 0;
}
.background.schedule > div:first-child > div::after {
	height: calc(100% - 20px - 0.5rem);
	top: calc(20px + 0.5rem);
}
.background.schedule > div:last-child > div::after {
	height: calc(20px + 0.5rem);
	top: 0;
}
.background.schedule > div > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	padding: 20px;
	display: flex;
}
.sp .background.schedule > div > div {
	padding: 0px 10px;
}
.sp .background.schedule > div > div {
	display: block;
	padding: 20px;
}
.background.schedule > div > div::before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	left: calc(20px + 0.4rem);
	top: 0;
	z-index: 0;
	background: rgba(0, 0, 0, 0.1);
}
.background.schedule > div > div::after {
	content: "";
	display: block;
	position: absolute;
	width: 0.2rem;
	height: 100%;
	left: calc(20px + 0.4rem);
	top: 0;
	z-index: 0;
	background: rgba(0, 0, 0, 0.1);
}
.background.schedule > div > div span {
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.background.schedule > div > div span.time {
	position: relative;
	width: 12rem;
	padding-left: 2rem;
	font-weight: bold;
	z-index: 1;
}
.sp .background.schedule > div > div span.time {
	width: auto;
}
.background.schedule > div > div span.time::before {
	content: "";
	display: block;
	position: absolute;
	width: 1rem;
	height: 1rem;
	top: 0.3rem;
	left: 0;
	background: #99714B;
	border-radius: 50%;
}
.background.schedule > div > div span.text {
	margin: 0;
	width: calc(100% - 12rem);
}
.sp .background.schedule > div > div span.text {
	padding-left: 2rem;
	width: auto;
}

.memberlist {
	display: flex;
	flex-wrap: wrap;
	margin-top: 120px;
	padding: 10px 10px 0 0;
	background: #000;
}
.sp .memberlist {
	margin-top: 60px;
}
.memberlist > a {
	position: relative;
	display: block;
	width: calc((100% - 30px) / 3);
	margin: 0 0 10px 10px;
}
.sp .memberlist > a {
	background: rgba(143, 113, 75, 0.9);
	width: calc((100% - 20px) / 2);
}
.memberlist > a .image img {
	max-width: none;
	width: 100%;
}
.memberlist > a .text {
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 0;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	top: 20px;
	left: 20px;
	background: rgba(143, 113, 75, 0.9);
	opacity: 0;
	transition: 0.5s;
}
.bp1 .memberlist > a .text {
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	top: 10px;
	left: 10px;
}
.sp .memberlist > a .text {
	position: static;
	width: auto;
	height: auto;
	margin-top: 0 !important;
	padding: 10px;
	background: none;
	opacity: 1;
}
.memberlist > a .text > div {
	width: 100%;
}
.memberlist > a .text p {
	width: 100%;
	text-align: center;
	color: #fff;
}
.memberlist > a .text p.lead {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 47.6px;
	line-height: 2.975rem;
	font-weight: bold;
}
.bp2 .memberlist > a .text p.lead {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 37.4px;
	line-height: 2.3375rem;
}
.bp1 .memberlist > a .text p.lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
.memberlist > a .text p.info {
	margin-top: 0;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
.memberlist > a .text p.info::before {
	content: "";
	display: block;
	margin: 0.8rem auto;
	width: 60px;
	height: 0.3rem;
	background: #fff;
}
.bp2 .memberlist > a .text p.info {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.bp2 .memberlist > a .text p.info {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
.memberlist > a:hover .text {
	opacity: 1;
}

.slide {
	position: relative;
}
.slide p {
	text-align: center;
}
.slide .prev {
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 3.3rem;
	cursor: pointer;
	z-index: 100;
}
.slide .prev::before {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 2rem;
	top: 1.3rem;
	left: 1.2rem;
	background: #fff;
	transform: rotate(-45deg);
}
.slide .prev::after {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 2rem;
	top: 0;
	left: 1.2rem;
	background: #fff;
	transform: rotate(45deg);
}
.slide .next {
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 3.3rem;
	cursor: pointer;
}
.slide .next::before {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 2rem;
	top: 0;
	left: 1.2rem;
	background: #fff;
	transform: rotate(-45deg);
}
.slide .next::after {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 2rem;
	top: 1.3rem;
	left: 1.2rem;
	background: #fff;
	transform: rotate(45deg);
}

.anchor_button {
	display: flex;
	justify-content: center;
}
.anchor_button > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc((100% - 60px) / 4);
	max-width: 200px;
	padding: 10px;
	border: 1px solid #231815;
	color: #000;
}
.sp .anchor_button > a {
	width: calc((100% - 15px) / 4);
	padding: 5px;
}
.anchor_button > a + a {
	margin-left: 20px;
}
.sp .anchor_button > a + a {
	margin-left: 5px;
}
.anchor_button > a span {
	padding-bottom: 20px;
	position: relative;
}
.sp .anchor_button > a span {
	padding-bottom: 15px;
}
.anchor_button > a span::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #000;
}
.sp .anchor_button > a span::after {
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #000;
}

.column.welfare_graph > div {
	border: 14px solid #f5f0ec;
}
.column.welfare_graph > div .title {
	padding: 20px 20px 0;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: bold;
	text-align: center;
}
.column.welfare_graph > div .tx {
	padding: 0 20px 20px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}

main .contents .office_box {
	position: relative;
	padding-top: 40px;
	min-height: 440px;
}
.pc main .contents .office_box {
	min-height: 35.5vw;
}
.sp main .contents .office_box {
	padding-top: 0;
	min-height: 0;
}
main .contents .office_box > .image {
	position: absolute;
	max-width: 920px;
	width: 78%;
	top: 0;
	left: 0;
	z-index: -1;
}
.sp main .contents .office_box > .image {
	position: relative;
	width: 100%;
}
main .contents .office_box > .text {
	position: relative;
	margin-top: 0 !important;
	margin-right: 0 !important;
	width: 440px;
	padding: 10px 30px 50px 30px;
	background: #231815;
	z-index: 2;
}
.pc main .contents .office_box > .text {
	width: 37.2vw;
}
.sp main .contents .office_box > .text {
	width: 100%;
}
main .contents .office_box > .text p {
	color: #fff;
}
main .contents .office_box > .text p.title {
	margin-top: 0;
	font-size: 16px;
	font-size: 1rem;
	line-height: 28.8px;
	line-height: 1.8rem;
	text-align: left;
}
main .contents .office_box > .text p.title span {
	display: block;
	margin-bottom: -5px;
	font-family: caflisch-script-pro, sans-serif;
	font-size: 86px;
	font-size: 5.375rem;
	line-height: 86px;
	line-height: 5.375rem;
	font-weight: normal;
}
main .contents .office_box.reverse > .image {
	left: auto;
	right: 0;
}
main .contents .office_box.reverse > .text {
	margin-left: 0 !important;
	margin-right: auto;
}
main .contents .office_box + .office_box {
	margin-top: 60px;
}
.sp main .contents .office_box + .office_box {
	margin-top: 20px;
}

.imagebox.quality .text {
	position: relative;
	padding-bottom: 50px;
}
.imagebox.quality .text .title {
	margin-top: 0;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 43.2px;
	line-height: 2.7rem;
	text-align: left;
}
.imagebox.quality .text .title span {
	display: block;
	margin-bottom: 20px;
	font-size: 106px;
	font-size: 6.625rem;
	line-height: 106px;
	line-height: 6.625rem;
	color: #99714B;
	font-weight: normal;
	font-family: caflisch-script-pro, sans-serif;
}
.imagebox.quality .text .number {
	position: absolute;
	bottom: -2rem;
	left: 0;
	font-size: 220px;
	font-size: 13.75rem;
	line-height: 220px;
	line-height: 13.75rem;
	color: #ACA5A5;
	font-weight: normal;
	font-family: caflisch-script-pro, sans-serif;
	opacity: 0.2;
}
.sp .imagebox.quality .text .number {
	right: 0;
	left: auto;
}
.imagebox.quality.reverse .text .number {
	right: 0;
	left: auto;
}

main .contents .text p.about_lead {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 39.6px;
	line-height: 2.475rem;
	color: #99714B;
	font-weight: bold;
}
.sp main .contents .text p.about_lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 32.4px;
	line-height: 2.025rem;
}

.stack {
	margin-top: 0px !important;
}

.block {
	margin-top: 40px !important;
}
.sp .block {
	margin-top: 30px !important;
}

.section {
	margin-top: 80px !important;
}
.sp .section {
	margin-top: 60px !important;
}

.paragraph {
	margin-top: 20px !important;
}

.halfparagraph {
	margin-top: 7px !important;
}

.loading * {
	-webkit-transition: 0ms !important;
	transition: 0ms !important;
}

header {
	display: flex;
	position: fixed;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 80px;
	padding-left: 20px;
	z-index: 100;
}
.sp header {
	height: 70px;
	padding: 20px 0px 20px 10px;
}
.shortheader header {
	background: #fff;
}
header a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header a:hover {
	opacity: 0.7;
}
.sp header .logo {
	width: 100%;
	max-width: calc(100% - 114px);
}
header .logo a {
	display: flex;
	align-items: center;
	width: 100%;
}
.bp1 header .logo a {
	display: block;
}
.sp header .logo a {
	display: flex;
}
header .logo a .image {
	position: relative;
	width: 240px;
}
.bp1 header .logo a .image {
	width: 160px;
	height: 43px;
}
.sp header .logo a .image {
	width: 210px;
	height: auto;
}
header .logo a .image img {
	max-width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
header .logo a .image img.l {
	opacity: 1;
}
.shortheader header .logo a .image img.l {
	opacity: 0;
}
header .logo a .image img.s {
	opacity: 0;
}
.shortheader header .logo a .image img.s {
	opacity: 1;
}
header .logo a > span {
	display: block;
	margin-left: 20px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	color: #fff;
}
.bp1 header .logo a > span {
	text-align: right;
	margin-left: 0;
	font-size: 16px;
	line-height: 1.3;
	margin-top: 5px;
}
.bp1 header .logo a > span br {
	display: none;
}
.sp header .logo a > span {
	text-align: left;
	margin-left: 20px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.shortheader header .logo a > span {
	color: #000;
}
header #globalnavi {
	margin-right: 20px;
}
.tablet header #globalnavi {
	display: none;
}
header #globalnavi > ul {
	display: flex;
	height: 50px;
}
header #globalnavi > ul > li {
	position: relative;
	display: flex;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
header #globalnavi > ul > li > a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3px 20px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	color: #ffffff;
	font-weight: 500;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header #globalnavi > ul > li > a:hover {
	opacity: 0.7;
}
.bp2 header #globalnavi > ul > li > a {
	padding: 3px 15px;
}
.shortheader header #globalnavi > ul > li > a {
	color: #000;
}
header #globalnavi > ul > li > a span {
	display: block;
	padding: 3px 20px;
}
.pc header #globalnavi > ul > li > a span {
	padding: 3px 10px;
}
header #globalnavi > ul > li > a:hover {
	opacity: 1 !important;
}
header #globalnavi > ul > li:hover ul {
	top: 100%;
	opacity: 1;
	pointer-events: auto;
}
header #globalnavi > ul > li ul {
	display: block;
	position: absolute;
	right: 0;
	top: 90%;
	min-width: 190px;
	padding: 20px;
	background: #ffffff;
	opacity: 0;
	pointer-events: none;
	transition: 400ms;
}
header #globalnavi > ul > li ul li + li {
	margin-top: 25px;
}
header #globalnavi > ul > li ul a {
	color: #000000;
	white-space: nowrap;
	position: relative;
	display: inline-block;
}
header #globalnavi > ul > li ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #99714B;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
header #globalnavi > ul > li ul a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
header .right {
	display: flex;
	align-items: center;
	height: 100%;
	right: 0;
	top: 0;
}
.tablet header .right {
	background: rgba(255, 255, 255, 0.3);
}
.shortheader.bp2 header .right {
	background: #fff;
}
.sp header .right {
	height: 70px;
}
header .right .entry {
	width: 240px;
	height: 80px;
}
.bp2 header .right .entry {
	width: 180px;
}
.tablet header .right .entry {
	display: none;
}
.sp header .right .entry {
	display: none;
	width: 30vw;
	height: 80px;
	max-width: 160px;
}
.shortheader header .right .entry {
	background: #231815;
}
header .right .entry a {
	display: flex;
	align-items: center;
	height: 100%;
	width: 100%;
	color: #fff;
	background: rgba(255, 255, 255, 0.3);
}
.shortheader header .right .entry a {
	color: #fff;
	background: #231815;
}
header .right .entry a span {
	margin: auto;
  /*
  &::after{
  	content: "";
  	position: relative;
  	display: inline-block;
  	width: 18px;
  	height: 20px;
  	top: -1px;
  	margin: 0px 5px;
  	padding: 0px !important;
  	background: url(../images/ico_blank_w.svg) no-repeat;
  	background-size: 18px 20px;
  	vertical-align: middle;
  	overflow: hidden;
  	
  	.shortheader &{
  		background: url(../images/ico_blank_w.svg) no-repeat;
  		background-size: 18px 20px;
  	}
  }
  */
}
header .right .menu {
	position: relative;
	display: none;
	margin: 0 30px;
	width: 34px;
	height: 28px;
	z-index: 600;
	cursor: pointer;
}
.tablet header .right .menu {
	display: block;
}
header .right .menu a {
	display: block;
	width: 34px;
	height: 28px;
}
header .right .menu span {
	position: absolute;
	width: 34px;
	height: 4px;
	left: 0;
	background-color: #fff;
	transition: all .4s;
}
.shortheader header .right .menu span {
	background-color: #000;
}
header .right .menu span:nth-of-type(1) {
	top: 0px;
}
header .right .menu span:nth-of-type(2) {
	top: 12px;
}
header .right .menu span:nth-of-type(3) {
	bottom: 0px;
}
.sp header .right .menu span {
	background: #fff;
}
.sp.shortheader header .right .menu span {
	background-color: #000;
}
header .right .menu.open span:nth-of-type(1) {
	-webkit-transform: translateY(12px) rotate(-45deg);
	-moz-transform: translateY(12px) rotate(-45deg);
	-ms-transform: translateY(12px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}
header .right .menu.open span:nth-of-type(2) {
	opacity: 0;
}
header .right .menu.open span:nth-of-type(3) {
	-webkit-transform: translateY(-12px) rotate(45deg);
	-moz-transform: translateY(-12px) rotate(45deg);
	-ms-transform: translateY(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}

#fullmenu {
	position: fixed;
	width: 100%;
	max-height: 100%;
	top: -100%;
	left: 0;
	background: rgba(35, 24, 21, 0.9);
	transition: 0.5s;
	z-index: -1;
	overflow-y: auto;
}
.fullmenuopen #fullmenu {
	top: 0;
	z-index: 600;
}
#fullmenu > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	padding: 120px 20px 45px 20px;
}
.sp #fullmenu > div {
	padding: 0px 10px;
}
.sp #fullmenu > div {
	padding: 70px 10px 45px 10px;
}
#fullmenu > div > ul {
	margin-top: 20px;
}
#fullmenu > div > ul > li {
	display: flex;
}
#fullmenu > div > ul > li > a {
	width: 10rem;
	padding: 5px 0;
	color: #fff;
	position: relative;
	display: inline-block;
	align-self: flex-start;
}
#fullmenu > div > ul > li > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #fff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#fullmenu > div > ul > li > a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#fullmenu > div > ul > li + li {
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 2px solid #707070;
}
#fullmenu > div > ul > li > ul {
	width: calc(100% - 10rem);
	padding-left: 20px;
}
#fullmenu > div > ul > li > ul > li + li {
	margin-top: 1rem;
}
#fullmenu > div > ul > li > ul > li > a {
	padding: 5px 0;
	min-width: 10rem;
	color: #fff;
	position: relative;
	display: inline-block;
}
#fullmenu > div > ul > li > ul > li > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #fff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#fullmenu > div > ul > li > ul > li > a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#fullmenu .close {
	position: fixed;
	margin: 0 30px;
	width: 34px;
	height: 28px;
	padding: 0 !important;
	top: 45px;
	right: 0;
	z-index: 600;
	cursor: pointer;
	transition: 0.5s;
}
.sp #fullmenu .close {
	top: 20px;
}
#fullmenu .close a {
	display: block;
	width: 34px;
	height: 28px;
}
#fullmenu .close span {
	position: absolute;
	width: 34px;
	height: 4px;
	left: 0;
	background-color: #fff;
	transition: all .4s;
}
#fullmenu .close span:nth-of-type(1) {
	top: 0px;
	-webkit-transform: translateY(12px) rotate(-45deg);
	-moz-transform: translateY(12px) rotate(-45deg);
	-ms-transform: translateY(12px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}
#fullmenu .close span:nth-of-type(2) {
	top: 12px;
	opacity: 0;
}
#fullmenu .close span:nth-of-type(3) {
	bottom: 0px;
	-webkit-transform: translateY(-12px) rotate(45deg);
	-moz-transform: translateY(-12px) rotate(45deg);
	-ms-transform: translateY(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}
#fullmenu .entry a {
	display: block;
	margin: 20px auto 0;
	padding: 10px;
	max-width: 200px;
	text-align: center;
	color: #000;
	background: #fff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
  /*
  span::after{
  	content: "";
  	position: relative;
  	display: inline-block;
  	width: 18px;
  	height: 20px;
  	top: -1px;
  	margin: 0px 5px;
  	padding: 0px !important;
  	background: url(../images/ico_blank.svg) no-repeat;
  	background-size: 18px 20px;
  	vertical-align: middle;
  	overflow: hidden;
  }
  */
}
#fullmenu .entry a:hover {
	opacity: 0.7;
}

.spmenu {
	position: fixed;
	background: #fff;
	width: 100%;
	height: 100vh;
	right: -100vw;
	opacity: 0;
	overflow-y: scroll;
	transition: 500ms;
	z-index: 100;
	color: #707070;
}
.sp.fullmenuopen .spmenu {
	opacity: 1;
	right: 0;
}
.spmenu a {
	color: #707070;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.spmenu a:hover {
	opacity: 0.7;
}
.spmenu .menu li a {
	display: block;
	padding: 15px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
	border-bottom: 1px solid #707070;
}
.spmenu .language {
	margin: 30px 15px 0;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
.spmenu .language ul {
	margin-left: 15px;
}
.spmenu .language ul li {
	margin-top: 10px;
}
.spmenu .submenu {
	margin: 40px 15px 0;
}
.spmenu .submenu li a {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
}
.spmenu .copy {
	margin: 40px 15px 0;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
}

#mainvisual {
	position: relative;
	height: 100vh;
	min-height: 400px;
	background-size: cover;
	z-index: 1;
	overflow: hidden;
}
#mainvisual video {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 177.77777778vh;
	height: 56.25vw;
	min-height: 100%;
	min-width: 100%;
}
.sp #mainvisual video {
	display: none;
}
.sp #mainvisual {
	height: 400px;
}
#mainvisual .catch {
	position: absolute;
	width: 100%;
	padding: 30px;
	top: calc((100% + 70px) / 2);
	transform: translateY(-50%);
	z-index: 2;
}
#mainvisual .catch img {
	display: block;
	margin: auto;
	max-width: 100%;
	max-height: calc(100vh - 180px);
}
#mainvisual .sp_visual {
	display: none;
}
.sp #mainvisual .sp_visual {
	display: block;
}
.sp #mainvisual .sp_visual img {
	display: block;
	margin: auto;
	max-width: 100%;
}
.sp #mainvisual .sp_visual img + img {
	margin-top: 15px;
	padding: 0 5px;
}

.top_content h2, footer h2 {
	position: relative;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	margin-top: 0;
	margin-bottom: 60px;
}
.sp .top_content h2, .sp footer h2 {
	margin-bottom: 30px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
.top_content h2 > span, footer h2 > span {
	display: block;
	font-size: 140px;
	font-size: 8.75rem;
	line-height: 140px;
	line-height: 8.75rem;
	margin-bottom: 20px;
	font-family: caflisch-script-pro, sans-serif;
	font-weight: normal;
}
.top_content h2 > span::after, footer h2 > span::after {
	content: "";
	display: block;
	height: 8px;
	width: 80px;
	background: #99714B;
}
.bp2 .top_content h2 > span, .bp2 footer h2 > span {
	font-size: 100px;
	font-size: 6.25rem;
	line-height: 100px;
	line-height: 6.25rem;
}
.sp .top_content h2 > span, .sp footer h2 > span {
	margin-bottom: 10px;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 78px;
	line-height: 4.875rem;
}
.top_content h2 > span > span, footer h2 > span > span {
	font-size: 100px;
	font-size: 6.25rem;
	line-height: 100px;
	line-height: 6.25rem;
	margin: 0 0.2rem;
}
.bp2 .top_content h2 > span > span, .bp2 footer h2 > span > span {
	font-size: 70px;
	font-size: 4.375rem;
	line-height: 70px;
	line-height: 4.375rem;
}
.sp .top_content h2 > span > span, .sp footer h2 > span > span {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 36.4px;
	line-height: 2.275rem;
}
.top_content h2.center, footer h2.center {
	text-align: center;
}
.top_content h2.center span::after, footer h2.center span::after {
	margin-left: auto;
	margin-right: auto;
}
.sp .top_content h2, .sp footer h2 {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
}
.sp .top_content h2.sp_center, .sp footer h2.sp_center {
	text-align: center;
}
.sp .top_content h2.sp_center span::after, .sp footer h2.sp_center span::after {
	margin-left: auto;
	margin-right: auto;
}
.top_content * + h2, footer * + h2 {
	margin-top: 80px;
}
.sp .top_content * + h2, .sp footer * + h2 {
	margin-top: 40px;
}
.top_content .block01, footer .block01 {
	position: relative;
	padding-top: 160px;
	background: url(../../images/block01_bg.png) center center;
	background-size: cover;
}
.sp .top_content .block01, .sp footer .block01 {
	padding: 40px 0;
}
.top_content .block01::after, footer .block01::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: rgba(255, 255, 255, 0.6);
	z-index: 1;
}
.top_content .block01 .inner, footer .block01 .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	z-index: 2;
}
.sp .top_content .block01 .inner, .sp footer .block01 .inner {
	padding: 0px 10px;
}
.top_content .block01 .inner p, footer .block01 .inner p {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 56px;
	line-height: 3.5rem;
	text-align: center;
}
.sp .top_content .block01 .inner p, .sp footer .block01 .inner p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 44.8px;
	line-height: 2.8rem;
	margin-bottom: 20px;
}
.top_content .block01 .block01_column, footer .block01 .block01_column {
	display: flex;
	position: relative;
	margin-top: 100px;
	z-index: 2;
}
.sp .top_content .block01 .block01_column, .sp footer .block01 .block01_column {
	display: block;
}
.top_content .block01 .block01_column > div, footer .block01 .block01_column > div {
	width: 50%;
	padding: 80px 0 100px;
	border-top: 20px solid #fff;
	border-right: 10px solid #fff;
}
.top_content .block01 .block01_column > div + div, footer .block01 .block01_column > div + div {
	border-left: 10px solid #fff;
	border-right: none;
}
.sp .top_content .block01 .block01_column > div, .sp footer .block01 .block01_column > div {
	width: 100%;
	border-left: none !important;
	border-right: none !important;
}
.top_content .block02, footer .block02 {
	display: flex;
	margin-top: 80px;
	background: #F3F3F3;
}
.sp .top_content .block02, .sp footer .block02 {
	display: block;
	margin-top: 40px;
}
.top_content .block02 .image, footer .block02 .image {
	position: relative;
	width: calc(50% - 25px);
	padding-bottom: 8rem;
}
.sp .top_content .block02 .image, .sp footer .block02 .image {
	width: auto;
	padding-bottom: 0;
}
.top_content .block02 .image::before, footer .block02 .image::before {
	content: "";
	display: block;
	position: absolute;
	width: 8rem;
	top: 0;
	left: 0;
	height: 100%;
	background: #fff;
	z-index: 2;
}
.sp .top_content .block02 .image::before, .sp footer .block02 .image::before {
	display: none;
}
.top_content .block02 .image img, footer .block02 .image img {
	position: relative;
	width: 100% !important;
	z-index: 10;
}
.top_content .block02 .text, footer .block02 .text {
	position: relative;
	width: calc(50% + 25px);
	padding: calc(8rem + 60px) 20px 4rem 50px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 48px;
	line-height: 3rem;
	overflow: hidden;
}
.sp .top_content .block02 .text, .sp footer .block02 .text {
	width: auto;
	padding: 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 38.4px;
	line-height: 2.4rem;
}
.top_content .block02 .text::before, footer .block02 .text::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 8rem;
	top: 0;
	left: 0;
	background: #fff;
}
.sp .top_content .block02 .text::before, .sp footer .block02 .text::before {
	display: none;
}
.top_content .block02 .text::after, footer .block02 .text::after {
	content: "";
	position: absolute;
	display: block;
	width: 28rem;
	height: 100%;
	top: 43%;
	right: -10%;
	background: url(../images/bg_logo.png) no-repeat;
	background-size: 100% auto;
}
.top_content .block02 .text p, footer .block02 .text p {
	position: relative;
	z-index: 2;
}
.top_content .block03, footer .block03 {
	display: flex;
	margin-top: 80px;
	background: #000;
}
.sp .top_content .block03, .sp footer .block03 {
	display: block;
	margin-top: 40px;
}
.top_content .block03 h2, footer .block03 h2 {
	color: #fff;
}
.top_content .block03 .left, footer .block03 .left {
	width: 40%;
	padding: 70px 0 70px 50px;
}
.bp1 .top_content .block03 .left, .bp1 footer .block03 .left {
	padding: 50px 0 50px 30px;
}
.sp .top_content .block03 .left, .sp footer .block03 .left {
	padding: 10px 10px 0 10px;
	width: auto;
}
.top_content .block03 .right, footer .block03 .right {
	display: flex;
	flex-wrap: wrap;
	width: 60%;
	padding: 10px 10px 0 10px;
}
.sp .top_content .block03 .right, .sp footer .block03 .right {
	width: auto;
	padding: 0 10px 0 0;
}
.top_content .block03 .right > a, footer .block03 .right > a {
	position: relative;
	display: block;
	width: calc((100% - 20px) / 2);
	margin: 0 0 10px 10px;
}
.sp .top_content .block03 .right > a, .sp footer .block03 .right > a {
	background: rgba(143, 113, 75, 0.9);
}
.top_content .block03 .right > a .text, footer .block03 .right > a .text {
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	top: 20px;
	left: 20px;
	padding: 10px;
	background: rgba(143, 113, 75, 0.9);
	opacity: 0;
	transition: 0.5s;
}
.bp1 .top_content .block03 .right > a .text, .bp1 footer .block03 .right > a .text {
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	top: 10px;
	left: 10px;
}
.tablet .top_content .block03 .right > a .text, .tablet footer .block03 .right > a .text {
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	top: 5px;
	left: 5px;
	padding: 5px;
}
.sp .top_content .block03 .right > a .text, .sp footer .block03 .right > a .text {
	position: static;
	width: auto;
	height: auto;
	padding: 10px;
	background: none;
	opacity: 1;
}
.top_content .block03 .right > a .text > div, footer .block03 .right > a .text > div {
	width: 100%;
}
.top_content .block03 .right > a .text p, footer .block03 .right > a .text p {
	width: 100%;
	text-align: center;
	color: #fff;
}
.top_content .block03 .right > a .text p.lead, footer .block03 .right > a .text p.lead {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 36px;
	line-height: 2.25rem;
	font-weight: bold;
}
.bp3 .top_content .block03 .right > a .text p.lead, .bp3 footer .block03 .right > a .text p.lead {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 30px;
	line-height: 1.875rem;
}
.bp2 .top_content .block03 .right > a .text p.lead, .bp2 footer .block03 .right > a .text p.lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
}
.pc .top_content .block03 .right > a .text p.lead, .pc footer .block03 .right > a .text p.lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
.sp .top_content .block03 .right > a .text p.lead, .sp footer .block03 .right > a .text p.lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
.top_content .block03 .right > a .text p.info, footer .block03 .right > a .text p.info {
	margin-top: 0;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
.top_content .block03 .right > a .text p.info::before, footer .block03 .right > a .text p.info::before {
	content: "";
	display: block;
	margin: 0.8rem auto;
	width: 60px;
	height: 0.3rem;
	background: #fff;
}
.bp2 .top_content .block03 .right > a .text p.info::before, .bp2 footer .block03 .right > a .text p.info::before {
	margin: 0.6rem auto;
}
.pc .top_content .block03 .right > a .text p.info::before, .pc footer .block03 .right > a .text p.info::before {
	margin: 0.4rem auto;
}
.pc .top_content .block03 .right > a .text p.info::before, .pc footer .block03 .right > a .text p.info::before {
	margin: 0.8rem auto;
}
.bp2 .top_content .block03 .right > a .text p.info, .bp2 footer .block03 .right > a .text p.info {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.bp1 .top_content .block03 .right > a .text p.info, .bp1 footer .block03 .right > a .text p.info {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
.top_content .block03 .right > a:hover .text, footer .block03 .right > a:hover .text {
	opacity: 1;
}
.top_content .block04, footer .block04 {
	display: flex;
	position: relative;
	height: 50vw;
	max-height: 720px;
	min-height: 400px;
	margin: 80px 40px;
	align-items: center;
	background: url(../../images/block04_bg.jpg) no-repeat center center;
	background-size: cover;
}
.sp .top_content .block04, .sp footer .block04 {
	margin: 40px 20px;
}
.top_content .block04::after, footer .block04::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.6);
	z-index: 1;
}
.top_content .block04 .inner, footer .block04 .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	z-index: 2;
}
.sp .top_content .block04 .inner, .sp footer .block04 .inner {
	padding: 0px 10px;
}
.top_content .block05, footer .block05 {
	display: flex;
	flex-wrap: wrap;
}
.sp .top_content .block05, .sp footer .block05 {
	width: auto;
}
.top_content .block05 > div, footer .block05 > div {
	position: relative;
	display: block;
	width: calc(99.99% / 3);
}
.sp .top_content .block05 > div, .sp footer .block05 > div {
	width: 100%;
}
.top_content .block05 > div .image img, footer .block05 > div .image img {
	width: 100%;
	max-width: none;
}
.top_content .block05 > div .text, footer .block05 > div .text {
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: calc(100% - 80px);
	height: calc(100% - 80px);
	top: 40px;
	left: 40px;
	background: rgba(255, 255, 255, 0.9);
}
.bp1 .top_content .block05 > div .text, .bp1 footer .block05 > div .text {
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	top: 20px;
	left: 20px;
}
.top_content .block05 > div .text > div, footer .block05 > div .text > div {
	width: 100%;
}
.top_content .block05 > div .text p, footer .block05 > div .text p {
	width: 100%;
	text-align: center;
	color: #fff;
}
.top_content .block05 > div .text p.lead, footer .block05 > div .text p.lead {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 47.6px;
	line-height: 2.975rem;
	font-weight: bold;
}
.bp2 .top_content .block05 > div .text p.lead, .bp2 footer .block05 > div .text p.lead {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 37.4px;
	line-height: 2.3375rem;
}
.bp1 .top_content .block05 > div .text p.lead, .bp1 footer .block05 > div .text p.lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
.top_content .block05 > div .text p.info, footer .block05 > div .text p.info {
	margin-top: 0;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
.top_content .block05 > div .text p.info::before, footer .block05 > div .text p.info::before {
	content: "";
	display: block;
	margin: 0.8rem auto;
	width: 60px;
	height: 0.3rem;
	background: #fff;
}
.bp2 .top_content .block05 > div .text p.info, .bp2 footer .block05 > div .text p.info {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.bp2 .top_content .block05 > div .text p.info, .bp2 footer .block05 > div .text p.info {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
.top_content .block06, footer .block06 {
	display: flex;
	margin: 80px 0;
	height: 50vw;
	max-height: 630px;
}
.sp .top_content .block06, .sp footer .block06 {
	margin: 40px 0;
	height: auto;
}
.top_content .block06 > div, footer .block06 > div {
	width: 50%;
}
.top_content .block06 .image, footer .block06 .image {
	background: url(../../images/block06_01.jpg) no-repeat center center;
	background-size: cover;
}
.top_content .block06 .text, footer .block06 .text {
	display: flex;
	position: relative;
	padding: 10px;
	align-items: center;
	background: #231815;
	padding: 50px;
}
.bp1 .top_content .block06 .text, .bp1 footer .block06 .text {
	padding: 25px;
}
.sp .top_content .block06 .text, .sp footer .block06 .text {
	padding: 15px;
}
.top_content .block06 .text::after, footer .block06 .text::after {
	content: "";
	position: absolute;
	display: block;
	width: 25rem;
	padding-top: 25rem;
	top: 54%;
	right: -10%;
	background: url(../images/bg_logo.png) no-repeat;
	background-size: 100% auto;
	opacity: 0.15;
}
.top_content .block06 .text h2, footer .block06 .text h2 {
	margin-bottom: 60px;
	color: #fff;
}
.bp1 .top_content .block06 .text h2, .bp1 footer .block06 .text h2 {
	margin-bottom: 40px;
}
.top_content .block06 .text p, footer .block06 .text p {
	color: #fff;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.top_content .block06 .text .button a, footer .block06 .text .button a {
	background: #fff;
	color: #000;
}
.sp .top_content .block06 .text .button a, .sp footer .block06 .text .button a {
	min-width: 0;
	width: 100%;
	max-width: 200px;
}
.top_content .block07 .inner, footer .block07 .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
}
.sp .top_content .block07 .inner, .sp footer .block07 .inner {
	padding: 0px 10px;
}
.top_content .block07 .inner a p, footer .block07 .inner a p {
	position: absolute;
	margin-top: 0;
	top: 50%;
	left: 40px;
	transform: translateY(-50%);
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 40.8px;
	line-height: 2.55rem;
	font-weight: bold;
	color: #000;
}

footer {
	margin-top: 140px;
	padding-bottom: 20px;
	background: #231815;
}
.sp footer {
	margin-top: 70px;
}
footer .footer_menu {
	background: #4F4643;
}
footer .footer_menu ul {
	display: flex;
	justify-content: center;
	max-width: 1220px;
	margin: auto;
	padding: 0 20px;
}
.sp footer .footer_menu ul {
	flex-wrap: wrap;
	justify-content: left;
	padding: 0;
}
footer .footer_menu ul li {
	background: #fff;
}
.sp footer .footer_menu ul li {
	width: 50%;
}
footer .footer_menu ul li a {
	display: block;
	padding: 30px 1rem;
	height: 100%;
	color: #fff;
	background: #4F4643;
	text-align: center;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .footer_menu ul li a:hover {
	opacity: 0.7;
}
.sp footer .footer_menu ul li a {
	padding: 10px;
}
footer .footer_content {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	display: flex;
	flex-wrap: wrap;
	padding: 70px 20px 20px;
}
.sp footer .footer_content {
	padding: 0px 10px;
}
footer .footer_content > div {
	width: 50%;
	padding: 35px 10px;
}
.sp footer .footer_content > div {
	width: 100%;
}
footer .footer_content h2 {
	color: #fff;
}
footer .footer_content p {
	color: #fff;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 40px;
	line-height: 2.5rem;
	text-align: center;
}
footer .footer_content p.small {
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
footer .footer_content .banner {
	margin-top: 15px;
	text-align: center;
}
footer .footer_content .banner a {
	display: inline-block;
	vertical-align: middle;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .footer_content .banner a:hover {
	opacity: 0.7;
}
footer .footer_content .banner a img {
	display: inline-block;
}
footer .footer_content .banner a + a {
	margin-left: 20px;
}
.tablet footer .footer_content .banner a {
	display: block;
	margin: 0 auto;
}
.tablet footer .footer_content .banner a + a {
	margin-top: 15px;
}
footer .sns {
	text-align: center;
	padding-bottom: 20px;
}
footer .sns li {
	display: inline-block;
}
footer .sns li + li {
	margin-left: 15px;
}
footer .sns li a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .sns li a:hover {
	opacity: 0.7;
}
footer .sns li img {
	height: 40px;
}
footer .copy {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	color: #fff;
	text-align: center;
}
