body {
	color: #232323;
	background: #3c3f48;
	font-family: "YakuHanJP", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
	font-weight: 500;
	position: relative;
	letter-spacing: 0.1em
}
a {
	color: #2a2a2a;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer
}
#wrapper {
	position: relative
}
#l-main {
	overflow: hidden
}
img {
	max-width: 100%;
	height: auto
}
.bold {
	font-weight: 600
}
h2, h3, h4 {
	line-height: 1.4;
	font-weight: 600
}
.mincho {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-weight: 500 !important
}
.bigger {
	font-size: 1.8rem
}
@media all and (max-width: 639px) {
	.bigger {
		font-size: 1.25rem
	}
}
.en-big {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	text-transform: uppercase
}
.st1 {
	stroke-miterlimit: 5;
	stroke-width: 1;
	fill: none;
	stroke: #111
}
.st2 {
	stroke-miterlimit: 5;
	stroke-width: 0.9;
	fill: none;
	stroke: #e57e3c
}
.st3 {
	stroke-miterlimit: 5;
	stroke-width: 0.9;
	fill: none;
	stroke: #e57e3c
}
.st4 {
	stroke-miterlimit: 5;
	stroke-width: 0.9;
	fill: none;
	stroke: #e57e3c
}
#svg_wrap {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 30
}
#svg_wrap.off {
	background: transparent;
	-webkit-transition: 2s;
	transition: 2s;
	opacity: 0
}
#svg {
	width: 450px;
	height: 450px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
@media all and (max-width: 639px) {
	#svg {
		width: 200px;
		height: 200px
	}
}
#svg-after {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 450px;
	height: 450px
}
@media all and (max-width: 639px) {
	#svg-after {
		width: 200px;
		height: 200px
	}
}
@-webkit-keyframes view-zoomin {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.95);
		transform: scale(0.95)
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}
@keyframes view-zoomin {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.95);
		transform: scale(0.95)
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}
@-webkit-keyframes view-slideup {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, 35px);
		transform: translate(0, 35px)
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}
@keyframes view-slideup {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, 35px);
		transform: translate(0, 35px)
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}
.animation {
	opacity: 0
}
.slideup.on {
	opacity: 1;
	-webkit-animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1);
	animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1)
}
.zoomin.on {
	opacity: 1;
	-webkit-animation: view-zoomin 0.65s cubic-bezier(0.2, 1, 0.2, 1);
	animation: view-zoomin 0.65s cubic-bezier(0.2, 1, 0.2, 1)
}
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background: #000;
	text-align: center;
	color: #fff
}
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
#splash_logo .logo3 {
	width: 280px
}
#splash_logo svg {
	width: 460px
}
@media all and (max-width: 639px) {
	#splash_logo svg {
		width: 200px
	}
}
#mask path {
	-webkit-transition: fill-opacity 0.5s;
	transition: fill-opacity 0.5s;
	fill: #1d1d1d;
	stroke: #1d1d1d
}
#mask.done path {
	fill: #1d1d1d;
	fill-opacity: 1;
	stroke: none
}
.loader {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #000000;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999
}
.loader.off {
	display: none
}
.splashbg {
	display: none
}
.splashbg {
	display: block;
	content: "";
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #1d1d1d;
	-webkit-animation-name: PageAnime;
	animation-name: PageAnime;
	-webkit-animation-delay: 2s;
	animation-delay: 2s;
	-webkit-animation-duration: 1.2s;
	animation-duration: 1.2s;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards
}
@-webkit-keyframes PageAnime {
	0% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	50% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(1);
		transform: scaleX(1)
	}
	50.001% {
		-webkit-transform-origin: left;
		transform-origin: left
	}
	100% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
}
@keyframes PageAnime {
	0% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	50% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(1);
		transform: scaleX(1)
	}
	50.001% {
		-webkit-transform-origin: left;
		transform-origin: left
	}
	100% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
}
@-webkit-keyframes hd-scrolled {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -100%);
		transform: translate(0, -100%)
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}
@keyframes hd-scrolled {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -100%);
		transform: translate(0, -100%)
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0)
	}
}
.gradient {
	background: linear-gradient(45deg, #ccc, #002989, #eee);
	background-size: 600% 600%;
	-webkit-animation: anim-gradient 10s ease infinite;
	animation: anim-gradient 10s ease infinite
}
@-webkit-keyframes anim-gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}
@keyframes anim-gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}
#l-header {
	width: 100%;
	position: absolute;
	z-index: 200;
	top: 0;
	left: 0;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	/* padding: 15px 0 */
}
#l-header.is-fixed {
	margin: 0px auto;
	right: 0;
	position: fixed;
	padding: 0;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	background-color: #232323
}
#l-header.is-fixed:before {
	width: 140%
}
#l-header.is-fixed .head-right_tel a {
	color: #1d1d1d;
	position: relative
}
#l-header.is-fixed .head-right_tel a:hover {
	color: #b6b6b6
}
#l-header.is-fixed .inner {
	padding: 0
}
#l-header.is-fixed .inner:before {
	display: none
}
@media all and (max-width: 1100px) {
	#l-header.is-fixed .inner {
		padding: 10px 0
	}
}
@media all and (max-width: 680px) {
	#l-header.is-fixed .inner {
		padding: 0;
	}
}
#l-header.is-fixed .inner #logo {
    width: 230px;
	/* width: 300px; */
	position: relative;
	padding: 10px 10px 10px 35px
}
#l-header.is-fixed .inner #logo .logo1 {
	display: none
}
#l-header.is-fixed .inner #logo .logo2 {
	display: block
}
@media all and (max-width: 639px) {
	#l-header.is-fixed .inner #logo {
		width: 260px;
        padding: 4px 0 4px 10px;
	}
    #l-header.is-fixed .inner #logo .logo2{
        width: 130px;
        padding: 4px 0 4px 10px;
    }
}
#l-header.is-hide {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%)
}
#l-header .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 100%;
	margin: 0 auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
    padding: 10px;
}
@media all and (max-width: 1450px) {
	#l-header .inner {
		/* padding: 30px 10px 12px */
	}
}
@media all and (max-width: 1100px) {
	#l-header .inner {
		display: block
	}
}
@media all and (max-width: 896px) {
	#l-header .inner {
		min-width: initial
	}
}

#l-header .inner #logo {
    width: 230px;
	/* width: 390px; */
	padding-left: 35px
}
@media all and (max-width: 1100px) {
	#l-header .inner #logo {
		width: 320px;
		margin: 0 auto;
		text-align: center
	}
}
@media all and (max-width: 896px) {
	#l-header .inner #logo {
		width: 270px;
		margin: 0 auto;
		text-align: center
	}
}
@media all and (max-width: 680px) {
	#l-header .inner #logo {
		width: 130px;
		margin: 0 auto;
		text-align: center
	}
}
#l-header .inner #logo .logo1 {
	display: block
}
#l-header .inner #logo .logo2 {
	display: none
}
#l-header .head-right {
	margin-left: auto;
	margin-right: 5px
}
@media all and (max-width: 1100px) {
	#l-header .head-right {
		text-align: center;
		margin: 0 auto
	}
}
@media all and (max-width: 896px) {
	#l-header .head-right {
		display: none
	}
}
#l-header .head-right_contact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-left: auto
}
#l-header .head-right_tel a, #l-header .head-right_mail a {
	display: block;
	padding: 4px 10px;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	background: #585858;
	color: #fff;
	font-size: 1.3rem
}
#l-header .head-right_tel a:before, #l-header .head-right_mail a:before {
	margin-right: 5px
}
#l-header .head-right_tel a {
	background: transparent;
	color: #fff;
	font-weight: 600;
	font-size: 1.7rem;
	position: relative
}
@media all and (max-width: 896px) {
	#l-header .head-right_tel a {
		pointer-events: inherit
	}
}
#l-header .head-right_tel a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900
}
#l-header .head-right_tel a:hover {
	color: #373737
}
#l-header .head-right_mail {
	margin: 0 8px
}
#l-header .head-right_mail a {
	padding-left: 45px;
	position: relative;
	color: #fefefe
}
#l-header .head-right_mail a span {
	display: block;
	font-size: 12px;
	margin-bottom: -5px
}
#l-header .head-right_mail a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	position: absolute;
	left: 15px;
	top: 50%;
	font-size: 1.7rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
#l-header .head-right_mail a:hover {
	background: #002989
}
.header-right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
#header_nav {
	position: relative;
	width: 800px
}
@media all and (max-width: 1367px) {
	#header_nav {
		width: 600px
	}
}
@media all and (max-width: 1100px) {
	#header_nav {
		text-align: center;
		margin: 20px auto 0;
		width: 80%;
		width: 760px
	}
}
.is-fixed #header_nav {
	overflow: hidden
}
.is-fixed #header_nav .head-right_tel a {
	color: #b6b6b6
}
@media all and (max-width: 1100px) {
	.is-fixed #header_nav {
		margin: 0 auto 0
	}
}
.is-fixed #header_nav ul li a {
	color: #fff;
	padding: 26px 0;
	text-align: center
}
.is-fixed #header_nav ul li a::after {
	display: none
}
.is-fixed #header_nav ul li a span {
	display: none
}
.is-fixed #header_nav ul li a.active span, .is-fixed #header_nav ul li a:hover span {
	color: #fff
}
.is-fixed #header_nav ul li a:hover {
	color: #fff;
	background-color: #b6b6b6
}
#header_nav ul {
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
#header_nav ul li {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
	margin-right: 40px
}
#header_nav ul li a {
	display: block;
	position: relative;
	line-height: 1.5;
	font-size: 1.5rem;
	padding: 5px 0;
	color: #fff
}
#header_nav ul li a span {
	display: block;
	font-size: 1.3rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	color: #fdfdfd;
	position: relative;
	letter-spacing: 0.1rem
}
#header_nav ul li a:after {
	position: absolute;
	content: "";
	width: 0;
	height: 1px;
	background: #fff;
	left: 0;
	bottom: 0px;
	-webkit-transition: 0.2s width ease-in;
	transition: 0.2s width ease-in
}
@media all and (max-width: 1100px) {
	#header_nav ul li a:after {
		right: 0;
		text-align: center;
		margin: 0 auto
	}
}
#header_nav ul li a:hover span, #header_nav ul li a.active span {
	color: #ceb47b;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
#header_nav ul li a:hover:after, #header_nav ul li a.active:after {
	width: 20px
}
#header_nav .dropdown {
	display: none;
	position: absolute;
	left: 0;
	top: 45px;
	z-index: 999;
	padding-top: 30px
}
#header_nav .dropdown .dropdown-li {
	border-right: 0;
	margin: 0 0 5px;
	background: #111
}
#header_nav .dropdown .dropdown-li a {
	display: block;
	width: 160px;
	padding: 12px 8px;
	color: #fefefe
}
#header_nav .dropdown .dropdown-li.foot_only {
	display: none
}
.header-icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0px auto 0;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
@media all and (max-width: 639px) {
	.header-icon {
		display: none
	}
}
.header-icon li {
	position: relative;
	margin: 0 calc(2.33% + (2.33% / 2)) 5px 0
}
.header-icon li:nth-child(3n) {
	margin-right: 0
}
.header-icon li:hover .footer-icon_txt {
	display: block
}
.header-icon .sns_txt {
	border-radius: 10px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: #fff
}
.header-icon .sns_txt i {
	font-size: 1.4rem;
	color: #fff;
	padding-right: 5px
}
.header-icon .sns_txt:hover {
	color: #cfb25b
}
.header-icon .sns_txt:hover i {
	color: #cfb25b
}
.header-icon .sns_button {
	-webkit-transition: all 280ms ease;
	transition: all 280ms ease
}
.header-icon .sns_button a {
	display: table-cell;
	width: 40px;
	height: 40px;
	text-align: center;
	vertical-align: middle;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.header-icon .sns_button .fas {
	color: #fff;
	font-size: 1.6rem;
	vertical-align: middle
}
.header-icon .sns_button .sns-icon {
	display: block
}
.header-icon .sns_button .sns-icon-h {
	display: none
}
.header-icon .sns_button:hover {
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.header-icon .sns_button:hover .sns-icon {
	display: none;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.header-icon .sns_button:hover .sns-icon-h {
	display: block;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.is-fixed .header-icon {
	margin-top: 10px
}
.is-fixed .sns_button a {
	width: 30px;
	height: 30px
}
.header-icon_txt {
	display: none;
	font-size: 1rem;
	background-color: #fff;
	padding: 6px 20px;
	color: #3a200c;
	margin: 0 auto;
	text-align: center;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	border-radius: 50px;
	position: absolute;
	left: -66%;
	right: 0;
	bottom: -80%
}
.header-icon_txt.type2 {
	left: -96%
}
.header-icon_txt.type3 {
	left: -54%
}
#page-top {
	position: fixed;
	bottom: 10px;
	right: 7px;
	z-index: 200
}
#page-top a {
	display: block;
	background: #555;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px;
	box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px;
	color: #fff;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	font-size: 1.2rem;
	text-align: center
}
#page-top a:hover {
	opacity: 0.6
}
@media all and (max-width: 639px) {
	#page-top {
		bototm: 20px
	}
}
@-webkit-keyframes zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	100% {
		-webkit-transform: scale(1.12);
		transform: scale(1.12)
	}
}
@keyframes zoom-in {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	100% {
		-webkit-transform: scale(1.12);
		transform: scale(1.12)
	}
}
@-webkit-keyframes slideAnime {
	0% {
		-webkit-transform-origin: top;
		transform-origin: top;
		-webkit-transform: scaleY(0);
		transform: scaleY(0)
	}
	100% {
		-webkit-transform-origin: top;
		transform-origin: top;
		-webkit-transform: scaleY(1);
		transform: scaleY(1)
	}
}
@keyframes slideAnime {
	0% {
		-webkit-transform-origin: top;
		transform-origin: top;
		-webkit-transform: scaleY(0);
		transform: scaleY(0)
	}
	100% {
		-webkit-transform-origin: top;
		transform-origin: top;
		-webkit-transform: scaleY(1);
		transform: scaleY(1)
	}
}
@-webkit-keyframes slideAnime2 {
	0% {
		-webkit-transform-origin: bottom;
		transform-origin: bottom;
		-webkit-transform: scaleY(0);
		transform: scaleY(0)
	}
	100% {
		-webkit-transform-origin: bottom;
		transform-origin: bottom;
		-webkit-transform: scaleY(1);
		transform: scaleY(1)
	}
}
@keyframes slideAnime2 {
	0% {
		-webkit-transform-origin: bottom;
		transform-origin: bottom;
		-webkit-transform: scaleY(0);
		transform: scaleY(0)
	}
	100% {
		-webkit-transform-origin: bottom;
		transform-origin: bottom;
		-webkit-transform: scaleY(1);
		transform: scaleY(1)
	}
}
.swiper-slide-active .slide-img, .swiper-slide-duplicate-active .slide-img, .swiper-slide-prev .slide-img {
	-webkit-animation: slideAnime 2s linear 0s 1 normal both;
	animation: slideAnime 2s linear 0s 1 normal both
}
.swiper-slide-active .slide-img.type2, .swiper-slide-duplicate-active .slide-img.type2, .swiper-slide-prev .slide-img.type2 {
	-webkit-animation: slideAnime2 2s linear 0s 1 normal both;
	animation: slideAnime2 2s linear 0s 1 normal both
}
.slide-txt {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 700px;
	z-index: 3
}
@media all and (max-width: 896px) {
	.slide-txt {
		width: 80%
	}
}
.swiper-slide {
	position: relative
}
.swiper-slide:before {
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
	right: 0;
	top: 0;
	background-position: 50%;
	background-size: cover;
	z-index: -1
}
.swiper-slide.slide1:before {
	background-image: url(../img/1.jpg);
	background-position: 80% 50%
}
.swiper-slide.slide2:before {
	background-image: url(../img/2.jpg);
	background-position: 50% 100%
}
.swiper-slide.slide3:before {
	background-image: url(../img/3.jpg)
}
.slide-img {
	overflow: hidden;
	width: 100%;
	height: 100vh;
	margin-left: auto
}
.slide-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}
@media all and (max-width: 1100px) {
	.slide-img {
		height: 85vh
	}
}
@media screen and (max-width: 890px) and (orientation: landscape) {
	.slide-img {
		height: 82vh
	}
}
@media all and (max-width: 639px) {
	.slide-img {
		height: 70vh
	}
}
.slider {
	width: 100vw;
	height: 85vh;
	position: relative;
	overflow: hidden
}
.slider>div {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	position: absolute;
	left: 0;
	top: 0
}
.slider>div img.slider-img {
	display: none
}
.slider>div>div {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	background-repeat: no-repeat
}
@media all and (max-width: 1100px) {
	.slider {
		height: 50vh
	}
}
#slideshow {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
#slideshow:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #1d1d1d;
	top: 0;
	left: 0;
	z-index: 100;
	-webkit-animation: anime-logo2-2 3s ease-in forwards;
	animation: anime-logo2-2 3s ease-in forwards;
	opacity: 0
}
@media all and (max-width: 896px) {
	#slideshow {
		display: block
	}
}
#slide-wrap {
	position: relative
}
.swiper-container.type1, .swiper-container.type2, .swiper-container.type3 {
	width: 33.333333%
}
@media all and (max-width: 896px) {
	.swiper-container.type1, .swiper-container.type2, .swiper-container.type3 {
		width: 100%
	}
	.swiper-container.type1 .slide-img, .swiper-container.type2 .slide-img, .swiper-container.type3 .slide-img {
		height: 25vh
	}
}
@media all and (max-width: 639px) {
	.swiper-container.type1, .swiper-container.type2, .swiper-container.type3 {
		width: 100%
	}
	.swiper-container.type1 .slide-img, .swiper-container.type2 .slide-img, .swiper-container.type3 .slide-img {
		height: 25vh
	}
}
#catch {
	z-index: 100;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
	top: 46%;
	width: 70%;
	opacity: 1;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 6rem;
	color: #fff
}
#catch.on {
	opacity: 1;
	-webkit-transition: 2s;
	transition: 2s
}
@media all and (max-width: 1367px) {
	#catch {
		left: 2%;
		font-size: 4rem
	}
}
@media all and (max-width: 896px) {
	#catch {
		width: 60%;
		font-size: 3rem
	}
}
@media all and (max-width: 639px) {
	#catch {
		width: 90%;
		font-size: 2rem
	}
}
.catch2 {
	-webkit-animation: rotate-anime 35s linear infinite;
	animation: rotate-anime 35s linear infinite;
	position: absolute;
	left: 0;
	right: 0;
	top: -10%;
	margin: 0 auto;
	z-index: -1;
	width: 100%;
	text-align: center
}
@media all and (max-width: 1100px) {
	.catch2 {
		width: 50%
	}
}
@-webkit-keyframes rotate-anime {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}
@keyframes rotate-anime {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg)
	}
}
.catch1 {
	z-index: 50;
	width: 100%;
	text-align: center;
	opacity: 1 !important
}
#scrolldown {
	position: absolute;
	left: 15px;
	bottom: 60px;
	color: #fefefe;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
	-webkit-font-feature-settings: "pkna";
	font-feature-settings: "pkna";
	font-size: 1.4rem;
	z-index: 100;
	height: 210px
}
#scrolldown:before, #scrolldown:after {
	position: absolute;
	content: "";
	z-index: 2;
	left: 50%
}
#scrolldown:before {
	width: 1px;
	height: 100px;
	bottom: 0;
	background: #f0f0f0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
#scrolldown:after {
	width: 8px;
	height: 8px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 100%;
	top: 100px;
	margin-left: -4px;
	-webkit-animation: scroll-point 2.3s ease-out infinite;
	animation: scroll-point 2.3s ease-out infinite;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}
@media all and (max-width: 896px) {
	#scrolldown {
		display: none
	}
}
@-webkit-keyframes scroll-point {
	0% {
		bottom: 0;
		opacity: 0
	}
	20% {
		opacity: 1
	}
	50% {
		top: 180px;
		opacity: 1
	}
	80% {
		opacity: 0
	}
	100% {
		top: 210px;
		opacity: 0
	}
}
@keyframes scroll-point {
	0% {
		bottom: 0;
		opacity: 0
	}
	20% {
		opacity: 1
	}
	50% {
		top: 180px;
		opacity: 1
	}
	80% {
		opacity: 0
	}
	100% {
		top: 210px;
		opacity: 0
	}
}
.eachTextAnime span {
	opacity: 0
}
.eachTextAnime.appeartext span {
	-webkit-animation: text_anime_on ease-out forwards;
	animation: text_anime_on ease-out forwards
}
@-webkit-keyframes text_anime_on {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@keyframes text_anime_on {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
.slide-in {
	overflow: hidden;
	display: inline-block
}
.slide-in_inner {
	display: inline-block
}
.leftAnime {
	opacity: 0
}
.slideAnimeLeftRight {
	-webkit-animation-name: slideTextX100;
	animation-name: slideTextX100;
	-webkit-animation-duration: 2.8s;
	animation-duration: 2.8s;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	opacity: 0
}
@-webkit-keyframes slideTextX100 {
	from {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		opacity: 0
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1
	}
}
@keyframes slideTextX100 {
	from {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		opacity: 0
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1
	}
}
.slideAnimeRightLeft {
	-webkit-animation-name: slideTextX-100;
	animation-name: slideTextX-100;
	-webkit-animation-duration: 2.8s;
	animation-duration: 2.8s;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	opacity: 0
}
@-webkit-keyframes slideTextX-100 {
	from {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		opacity: 0
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1
	}
}
@keyframes slideTextX-100 {
	from {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		opacity: 0
	}
	to {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1
	}
}
.cls-1 {
	fill: none;
	stroke: #fff;
	stroke-width: 0.5;
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
	-webkit-animation: animeline 4s ease-in forwards;
	animation: animeline 4s ease-in forwards
}
@-webkit-keyframes animeline {
	to {
		stroke-dashoffset: 0
	}
}
@keyframes animeline {
	to {
		stroke-dashoffset: 0
	}
}
.catch-logo {
	width: 60%;
	margin: 0 auto;
	-webkit-animation: anime-logo2 3s ease-in 3.5s forwards;
	animation: anime-logo2 3s ease-in 3.5s forwards;
	position: relative
}
.logo-txt1 {
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s
}
.logo-txt2 {
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s
}
.logo-txt3 {
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s
}
.logo-txt4 {
	-webkit-animation-delay: 0.8s;
	animation-delay: 0.8s
}
.logo-txt5 {
	-webkit-animation-delay: 1s;
	animation-delay: 1s
}
.logo-txt6 {
	-webkit-animation-delay: 1.2s;
	animation-delay: 1.2s
}
.logo-txt7 {
	-webkit-animation-delay: 1.4s;
	animation-delay: 1.4s
}
.logo-txt8 {
	-webkit-animation-delay: 1.6s;
	animation-delay: 1.6s
}
.logo-txt9 {
	-webkit-animation-delay: 1.8s;
	animation-delay: 1.8s
}
.logo-txt10 {
	-webkit-animation-delay: 2s;
	animation-delay: 2s
}
.logo-txt11 {
	-webkit-animation-delay: 2.2s;
	animation-delay: 2.2s
}
.logo-txt12 {
	-webkit-animation-delay: 2.4s;
	animation-delay: 2.4s
}
@-webkit-keyframes anime-logo {
	0% {
		fill: none;
		stroke-dashoffset: 2500;
		stroke: #fff
	}
	80% {
		fill: none
	}
	100% {
		stroke-dashoffset: 0;
		stroke: #000;
		fill: #000
	}
}
@keyframes anime-logo {
	0% {
		fill: none;
		stroke-dashoffset: 2500;
		stroke: #fff
	}
	80% {
		fill: none
	}
	100% {
		stroke-dashoffset: 0;
		stroke: #000;
		fill: #000
	}
}
@-webkit-keyframes anime-logo2 {
	0% {
		opacity: 1
	}
	100% {
		opacity: 0
	}
}
@keyframes anime-logo2 {
	0% {
		opacity: 1
	}
	100% {
		opacity: 0
	}
}
@-webkit-keyframes anime-logo2-2 {
	0% {
		opacity: 1
	}
	70% {
		opacity: 1
	}
	100% {
		opacity: 0
	}
}
@keyframes anime-logo2-2 {
	0% {
		opacity: 1
	}
	70% {
		opacity: 1
	}
	100% {
		opacity: 0
	}
}
.catch-logo2 {
	-webkit-animation: anime-logo3 2s ease-in 4s forwards;
	animation: anime-logo3 2s ease-in 4s forwards;
	opacity: 0;
	margin-top: 0%
}
@-webkit-keyframes anime-logo3 {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@keyframes anime-logo3 {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
.contact_bnr {
	margin-bottom: 15px
}
.contact_bnr>li {
	width: 48%
}
@media all and (max-width: 639px) {
	.contact_bnr>li {
		width: 100%;
		margin: 0 auto 15px
	}
}
.contact_bnr>li .bnr_tel {
	white-space: nowrap;
	position: relative
}
.contact_bnr>li .bnr_tel:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	margin-right: 5px
}
.contact_bnr>li .bnr_mobile:before {
	font-family: "Font Awesome 5 Free";
	content: "\f3cd";
	font-weight: 900
}
.contact_bnr>li .bnr_fax {
	background: #fdfdfd;
	color: #1d1d1d
}
.contact_bnr>li .bnr_fax:before {
	font-family: "Font Awesome 5 Free";
	content: "\f1ac";
	font-weight: 900
}
.contact_bnr>li .bnr_mail {
	font-size: 1.6rem;
	padding: 15px 0;
	max-width: 400px;
	margin: 0 auto
}
.contact_bnr>li .bnr_mail:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900
}
@media all and (max-width: 639px) {
	.contact_bnr>li .bnr_mail {
		font-size: 1.2rem
	}
}
.contact_bnr>li a, .contact_bnr>li span {
	display: block;
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.2rem;
	padding: 12px 0;
	border: 0.9px solid #fff
}
.contact_bnr>li a:before, .contact_bnr>li span:before {
	margin-right: 5px;
	position: relative;
	display: inline-block
}
.contact_bnr>li a:hover, .contact_bnr>li span:hover {
	color: #002989
}
@media all and (max-width: 639px) {
	.contact_bnr>li a, .contact_bnr>li span {
		margin: 0 auto;
		white-space: nowrap;
		padding: 10px 0;
		width: 100%;
		font-size: 1.5rem
	}
	.contact_bnr>li a:before, .contact_bnr>li span:before {
		font-size: 1.3rem;
		-webkit-transform: translateY(-2px);
		transform: translateY(-2px)
	}
}
footer {
	background-size: cover
}
#l-footer {
	font-size: 1.4rem;
	position: relative;
	background-color: #272727
}
#l-footer .inner {
	margin: 0 auto;
	max-width: 1500px;
	position: relative;
	z-index: 3;
	padding: 60px 20px 30px;
	text-align: center;
	color: #fff
}
#l-footer .inner a {
	color: #fff
}
#l-footer .inner a:hover {
	color: #919ec0
}
@media all and (max-width: 1100px) {
	#l-footer .inner {
		width: 100%
	}
}
@media all and (max-width: 639px) {
	#l-footer {
		font-size: 1.2rem
	}
	#l-footer .inner {
		padding: 40px 20px 20px
	}
}
.footer-icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 900px;
	margin: 30px auto 0;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.footer-icon li {
	width: 31%;
	position: relative;
	max-width: 50px;
	margin: 0 calc(2.33% + (2.33% / 2)) 20px 0
}
.footer-icon li:nth-child(2n) {
	margin-right: 0
}
.footer-icon li:hover .footer-icon_txt {
	display: block
}
.footer-icon .sns_button {
	-webkit-transition: all 280ms ease;
	transition: all 280ms ease
}
.footer-icon .sns_button a {
	display: table-cell;
	width: 48px;
	height: 48px;
	text-align: center;
	vertical-align: middle;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.footer-icon .sns_button .fas {
	color: #fff;
	font-size: 1.6rem;
	vertical-align: middle
}
.footer-icon .sns_button .sns-icon {
	display: block
}
.footer-icon .sns_button .sns-icon-h {
	display: none
}
.footer-icon .sns_button:hover {
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.footer-icon .sns_button:hover .sns-icon {
	display: none;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.footer-icon .sns_button:hover .sns-icon-h {
	display: block;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.footer-icon_txt {
	display: none;
	font-size: 1rem;
	background-color: #fff;
	padding: 6px 20px;
	color: #3a200c;
	margin: 0 auto;
	text-align: center;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	border-radius: 50px;
	position: absolute;
	left: -66%;
	right: 0;
	bottom: -80%
}
.footer-icon_txt.type2 {
	left: -96%
}
.footer-icon_txt.type3 {
	left: -54%
}
.footer_navi {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	margin: 30px auto 0
}
.footer_navi ul {
	margin: 0 auto;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.footer_navi ul li {
	padding: 0 30px;
	margin-bottom: 8px
}
.footer_navi ul li a {
	color: #fff;
	font-size: 1.3rem;
	position: relative;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500
}
.footer_navi ul li a:before {
	content: "";
	background-color: #fff;
	width: 10px;
	height: 1px;
	position: absolute;
	top: 9px;
	left: -20px
}
.footer_navi ul li a:hover {
	color: #919ec0
}
.footer_navi ul li a span {
	display: none
}
.footer_navi ul li .dropdown {
	display: none
}
.footer_navi ul li .dropdown .dropdon-li a {
	font-size: 1.2rem
}
.flogo {
	margin: 0 auto 20px;
	min-height: 0;
	text-align: center;
	max-width: 400px
}
@media all and (max-width: 639px) {
	.flogo {
		margin: 0 auto 20px;
		width: 55%
	}
}
.address {
	color: #fefefe;
	font-size: 12px
}
.copyright {
	text-align: center;
	padding: 14px 50px 14px;
	font-size: 1.2rem;
	position: relative;
	z-index: 2;
	background: #232C3D;
	color: #fff
}
@media all and (max-width: 896px) {
	.copyright {
		font-size: 12px;
		margin-top: 0;
		padding-top: 0
	}
}
.top-lead {
	position: relative;
	margin: 0 auto;
	padding: 40px 20px;
	z-index: 2;
	max-width: 1500px
}
@media all and (max-width: 639px) {
	.top-lead {
		padding-left: 10px;
		padding-right: 10px
	}
}
.top-leadimg {
	max-width: 700px
}
.top-leadimg img {
	width: 100%
}
.top-lead-imgtxt {
	position: absolute;
	bottom: -10px;
	right: 0
}
.anime-txt {
	opacity: 0
}
.anime-txt-in {
	-webkit-animation: txt-in 1s linear 1s forwards;
	animation: txt-in 1s linear 1s forwards
}
@-webkit-keyframes txt-in {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@keyframes txt-in {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
.top-leadtxt {
	max-width: 750px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-weight: bold;
	font-size: 1.8rem;
	margin: 0 auto;
	margin-right: 4%
}
.top-leadtxt img {
	width: 100%
}
@media all and (max-width: 639px) {
	.top-leadtxt {
		margin: 20px 0px;
		font-size: 1.4rem
	}
}
.top-leadtxt .txt {
	font-size: 1.5rem;
	font-weight: 400
}
@media all and (max-width: 639px) {
	.top-leadtxt .txt {
		margin-bottom: 20px;
		font-size: 1.3rem
	}
}
@media all and (max-width: 1100px) {
	.top-leadtxt .btnarea .btn05 a {
		margin-bottom: 20px;
		font-size: 1.4rem
	}
}
@media all and (max-width: 639px) {
	.top-leadtxt .btnarea {
		margin-bottom: 40px
	}
}
.top-lead01 {
	text-align: center;
	padding: 160px 0;
	position: relative;
	z-index: 3;
	background: url(../img/bg-02.jpg) no-repeat;
	background-position: right
}
@media all and (max-width: 896px) {
	.top-lead01 {
		padding: 80px 00px
	}
}
.top-lead01 .single {
	padding: 60px 100px
}
@media all and (max-width: 896px) {
	.top-lead01 .single {
		padding: 60px 10px
	}
}
.top-lead02 {
	text-align: center;
	color: #fff;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	margin: 40px auto 20px;
	font-size: 4rem
}
@media all and (max-width: 896px) {
	.top-lead02 {
		font-size: 3rem
	}
}
@media all and (max-width: 639px) {
	.top-lead02 {
		font-size: 2.2rem
	}
}
.feature-list li {
	padding: 6px 8px;
	font-weight: 600;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 14px;
	border-bottom: 2px solid #ffff
}
.feature-list li span {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 2rem;
	line-height: 1.2;
	color: #1d1d1d
}
.feature-list li p {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 30px;
	font-size: 1.7rem
}
@media all and (max-width: 639px) {
	.feature-list li {
		padding: 8px 12px;
		letter-spacing: 0.1em;
		border: 0
	}
	.feature-list li span {
		font-size: 2.5rem
	}
	.feature-list li p {
		font-size: 1.3rem
	}
}
.menu-btn-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 10px;
	margin: 0 auto;
	max-width: 1600px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.menu-btn-list .child {
	width: 47%;
	background: #111
}
.menu-btn-list .child a {
	display: block;
	position: relative;
	z-index: 1
}
.menu-btn-list .child a figure {
	height: 350px;
	overflow: hidden;
	position: relative;
	z-index: -1
}
@media all and (max-width: 639px) {
	.menu-btn-list .child a figure {
		height: 200px
	}
}
.menu-btn-list .child a figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
	opacity: 0.5;
	-webkit-transition: 0.2s all ease-in;
	transition: 0.2s all ease-in
}
.menu-btn-list .child a:hover .menu-btn-title {
	color: #cfb25b
}
.menu-btn-list .child a:hover img {
	opacity: 0.8;
	-webkit-transform: scale(1.1);
	transform: scale(1.1)
}
@media all and (max-width: 639px) {
	.menu-btn-list .child {
		width: 100%;
		margin-bottom: 25px
	}
}
.menu-btn-list .menu-btn-title {
	margin: -40px 0 0;
	padding: 15px 15px 25px 15px;
	font-weight: 600;
	z-index: 4;
	text-align: right;
	font-size: 2.2rem
}
.menu-btn-list .menu-btn-title * {
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}
.menu-btn-list .menu-btn-title:before {
	position: absolute;
	content: "";
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 160px 180px;
	border-color: transparent transparent #002989 transparent
}
.menu-btn-list .menu-btn-title .eng {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 5rem;
	line-height: 1;
	margin-bottom: 10px
}
.menu-btn-list .menu-btn-title span {
	position: relative;
	z-index: 4;
	color: #fff
}
@media all and (max-width: 639px) {
	.menu-btn-list .menu-btn-title {
		font-size: 1.4rem
	}
	.menu-btn-list .menu-btn-title .eng {
		font-size: 4rem
	}
}
.menu-btn-txt {
	padding: 15px
}
.arrow {
	position: absolute;
	stroke-miterlimit: 5;
	stroke-width: 1;
	stroke: #fff;
	right: 20px;
	top: 250px;
	z-index: 4;
	width: 50px;
	height: 50px;
	text-align: center;
	padding-top: 13px
}
.arrow:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: 2px solid #fefefe;
	border-radius: 100%;
	z-index: -1
}
@media all and (max-width: 639px) {
	.arrow {
		width: 35px;
		height: 35px;
		padding-top: 5px;
		top: 130px
	}
	.arrow .arrow-svg {
		-webkit-transform: scale(0.6);
		transform: scale(0.6)
	}
}
.works-card li a {
	display: block;
	height: 220px;
	overflow: hidden
}
.works-card li a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}
@media all and (max-width: 639px) {
	.works-card {
		padding: 0 10px
	}
	.works-card a {
		height: 200px
	}
}
.news-box {
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	min-height: 200px
}
@media all and (max-width: 896px) {
	.news-box {
		margin-top: 0
	}
}
@media all and (max-width: 639px) {
	.news-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 20px 10px
	}
}
.news-title {
	text-align: center;
	margin-bottom: 60px;
	position: relative
}
.news-title span {
	display: block
}
.news-title .eng {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	color: #1d1d1d;
	position: relative;
	font-size: 3rem
}
.news-title .ja {
	font-size: 1.5rem;
	position: relative;
	font-weight: 600
}
@media all and (max-width: 639px) {
	.news-title {
		margin-bottom: 30px
	}
	.news-title .eng {
		font-size: 2.4rem
	}
	.news-title .ja {
		font-size: 1.4rem
	}
}
.news-right {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 80px
}
@media all and (max-width: 639px) {
	.news-right {
		width: 100%;
		margin: 10px 0 0
	}
}
.map-link {
	font-weight: 600;
	color: #1d1d1d;
	border-bottom: 1px solid #1d1d1d
}
.map-link:before {
	font-family: "Font Awesome 5 Free";
	content: "\f3c5";
	font-weight: 900;
	margin-right: 5px
}
.single {
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0;
	position: relative;
	z-index: 2
}
@media all and (max-width: 639px) {
	.single.sp100 {
		padding-top: 100px
	}
}
.single02 {
	width: calc(100% - 80px);
	margin: 0 auto;
	padding: 160px 0;
	position: relative;
	z-index: 1
}
@media all and (max-width: 639px) {
	.single02 {
		padding-top: 100px
	}
}
.single02.p60 {
	padding: 60px 0
}
@media all and (max-width: 639px) {
	.single02.p60 {
		padding: 40px 0
	}
}
.single02.p120 {
	padding: 120px 0
}
@media all and (max-width: 639px) {
	.single02.p120 {
		padding: 40px 0
	}
}
.single02.p130-80 {
	padding: 130px 0 80px
}
@media all and (max-width: 639px) {
	.single02.p130-80 {
		padding: 60px 0 40px
	}
}
.single03 {
	max-width: 1500px;
	margin: 0 auto;
	padding: 80px 0;
	position: relative
}
.margin-top {
	margin-top: -80px
}
@media all and (max-width: 639px) {
	.margin-top {
		margin-top: -30px
	}
}
.lsingle, .rsingle {
	width: 48.44%
}
.lsingle {
	float: left
}
.rsingle {
	float: right
}
.mbox-1 {
	max-width: 1500px;
	margin-right: auto;
	margin-left: auto
}
@media all and (max-width: 639px) {
	.mbox-1 {
		margin: 30px 15px
	}
}
.mbox {
	background: #fefefe;
	padding: 35px 30px;
	position: relative;
	z-index: 3;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto
}
.mbox.transparent {
	background: transparent
}
@media all and (max-width: 639px) {
	.mbox.transparent {
		padding: 0
	}
}
.mbox.transparent2 {
	background: transparent
}
@media all and (max-width: 639px) {
	.mbox.transparent2 {
		margin-top: 0px;
		padding: 10px
	}
}
.mbox.transparent3 {
	background: transparent
}
@media all and (max-width: 639px) {
	.mbox.transparent3 {
		margin-top: 0px;
		padding: 40px 10px
	}
}
.mbox.p40 {
	padding: 40px 40px
}
@media all and (max-width: 639px) {
	.mbox.p40 {
		padding: 20px 15px
	}
}
.mbox.p60 {
	padding: 60px 30px
}
@media all and (max-width: 639px) {
	.mbox.p60 {
		padding: 40px 10px
	}
}
.mbox.p0 {
	padding: 0 30px
}
@media all and (max-width: 639px) {
	.mbox.p0 {
		padding: 15px 10px
	}
}
.mbox.border {
	margin-top: 120px;
	border: 3px solid #232C3D;
	-webkit-box-shadow: 16px 13px 0px 0px #79869e;
	box-shadow: 16px 13px 0px 0px #79869e
}
@media all and (max-width: 639px) {
	.mbox.border {
		margin-top: 70px;
		-webkit-box-shadow: 2px 3px 0px 0px #79869e;
		box-shadow: 2px 3px 0px 0px #79869e
	}
}
@media all and (max-width: 639px) {
	.mbox {
		padding: 15px 15px
	}
	.mbox.sp-m10 {
		margin-left: 10px;
		margin-right: 10px
	}
}
.small-box {
	max-width: 850px;
	margin-right: auto;
	margin-left: auto
}
@media all and (max-width: 639px) {
	.small-box .mtitle_box {
		margin-bottom: 20px
	}
}
@media all and (max-width: 639px) {
	.small-box.p40-25 {
		padding: 0 20px
	}
}
.middle-box {
	max-width: 1020px;
	margin-right: auto;
	margin-left: auto
}
.sentence p+p {
	margin-top: 20px
}
.bg-grid {
	background: rgba(255, 255, 255, 0.9);
	background-image: -webkit-gradient(linear, left top, right top, color-stop(95%, transparent), color-stop(50%, rgba(204, 204, 204, 0.2)), to(rgba(204, 204, 204, 0.2))), -webkit-gradient(linear, left bottom, left top, color-stop(95%, transparent), color-stop(50%, rgba(204, 204, 204, 0.2)), to(rgba(204, 204, 204, 0.2)));
	background-image: linear-gradient(90deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2)), linear-gradient(0deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2));
	background-size: 20px 20px;
	background-repeat: repeat
}
.bg-map {
	background: url(../img/map.png) no-repeat right bottom
}
@media all and (max-width: 639px) {
	.bg-map {
		background-size: auto 200px;
		background-position: right top
	}
}
.bg-wall {
	background: url(../img/bg-wall.jpg)
}
#main {
	float: left;
	width: 76%
}
#main .mbox {
	min-height: 300px
}
@media all and (max-width: 896px) {
	#main .mbox {
		min-height: initial
	}
}
@media all and (max-width: 896px) {
	#main {
		float: none;
		width: 100%
	}
}
#side {
	float: right;
	position: -webkit-sticky;
	position: sticky;
	right: 0;
	top: 0;
	width: 21%;
	padding-right: 10px
}
@media all and (max-width: 896px) {
	#side {
		float: none;
		width: 100%;
		position: static;
		margin-top: 40px
	}
}
.mtitle {
	margin: 0 auto 40px;
	text-align: center
}
.mtitle.tleft {
	text-align: left
}
.mtitle.page {
	z-index: 100;
	position: relative;
	margin-top: 50px
}
.mtitle .eng {
	font-size: 5rem;
	color: #1d1d1d;
	position: relative;
	display: block;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	font-weight: 500
}
.mtitle .eng:before {
	position: absolute;
	content: "";
	width: 80px;
	height: 1px;
	background-color: #1d1d1d;
	left: 0;
	right: 0;
	bottom: -50px;
	margin: 0 auto
}
.mtitle .ja {
	font-size: 2rem;
	color: #333;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500
}
.mtitle .ja.type2 {
	color: #1d1d1d
}
.mtitle .ja:first-letter {
	color: #002989
}
.mtitle .ja.white {
	color: #fff
}
.mtitle.white {
	color: #fff;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.1)
}
.mtitle.white span {
	color: #fff;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.1)
}
.mtitle.white span:after {
	background-color: #eee
}
.mtitle.white span.eng {
	color: #fff
}
.mtitle.white span.eng:first-letter {
	color: #b6b6b6
}
.mtitle.white span.ja {
	color: #fff
}
.mtitle.black {
	color: #333
}
.mtitle.black span {
	color: #555
}
.mtitle.black span:after {
	background-color: #555
}
@media all and (max-width: 639px) {
	.mtitle {
		text-align: center
	}
	.mtitle .eng {
		font-size: 3rem
	}
	.mtitle .ja {
		font-size: 1.6rem
	}
	.mtitle.page {
		margin-top: 20px;
		margin-bottom: 50px
	}
}
.mtitle2 {
	margin: 0 auto 80px;
	text-align: center;
	position: relative
}
.mtitle2.tleft {
	text-align: left
}
.mtitle2.white .ja {
	color: #fff
}
.mtitle2 .eng {
	font-size: 10rem;
	color: #b6b6b6;
	display: block;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	position: absolute;
	opacity: 0.2;
	bottom: -56px;
	right: 0
}
.mtitle2 .ja {
	font-size: 4rem;
	color: #333;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	position: relative
}
.mtitle2 .ja:before {
	position: absolute;
	content: "";
	width: 100px;
	height: 1px;
	bottom: -30px;
	background-color: #1d1d1d
}
@media all and (max-width: 639px) {
	.mtitle2 {
		text-align: center
	}
	.mtitle2 .eng {
		font-size: 4rem
	}
	.mtitle2 .ja {
		font-size: 1.6rem
	}
	.mtitle2.type2 .ja {
		color: #fff
	}
}
.mtitle2-2 {
	margin: 0 auto 80px;
	text-align: center;
	position: relative
}
.mtitle2-2.tleft {
	text-align: left
}
.mtitle2-2 .eng {
	font-size: 10rem;
	color: #b6b6b6;
	display: block;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	position: absolute;
	opacity: 0.4;
	bottom: -56px;
	right: 0
}
.mtitle2-2 .ja {
	font-size: 3rem;
	color: #333;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	position: relative
}
.mtitle2-2 .ja:before {
	position: absolute;
	content: "";
	width: 100px;
	height: 1px;
	bottom: -30px;
	background-color: #1d1d1d
}
@media all and (max-width: 639px) {
	.mtitle2-2 {
		text-align: center
	}
	.mtitle2-2 .eng {
		font-size: 4rem
	}
	.mtitle2-2 .ja {
		font-size: 1.6rem
	}
}
.mtitle3 {
	margin: 0 auto 20px;
	text-align: center;
	position: relative
}
.mtitle3.tright {
	text-align: right
}
.mtitle3 .eng {
	font-size: 2rem;
	color: #fff;
	display: block;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	font-weight: 500
}
.mtitle3 .ja {
	font-size: 3rem;
	color: #fff;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	position: relative
}
.mtitle3 .ja:before {
	position: absolute;
	content: "";
	width: 70px;
	height: 1px;
	top: -11px;
	left: -40px;
	background-color: #fff
}
@media all and (max-width: 1100px) {
	.mtitle3 .ja:before {
		left: -240px
	}
}
@media all and (max-width: 639px) {
	.mtitle3 .ja:before {
		width: 30%
	}
}
@media all and (max-width: 1100px) {
	.mtitle3 .eng {
		font-size: 2rem
	}
	.mtitle3 .ja {
		font-size: 2rem
	}
}
@media all and (max-width: 639px) {
	.mtitle3 {
		text-align: center;
		margin-bottom: 0
	}
	.mtitle3 .eng {
		font-size: 1.8rem
	}
	.mtitle3 .ja {
		font-size: 1.6rem
	}
	.mtitle3.tright {
		text-align: center
	}
}
.mtitle4 {
	margin: 0 auto 80px;
	text-align: center;
	position: relative
}
.mtitle4.tleft {
	text-align: left
}
.mtitle4 .eng {
	font-size: 3rem;
	color: #374c6b;
	display: block;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	position: absolute;
	left: -35px
}
.mtitle4 .ja {
	font-size: 3rem;
	color: #333;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	position: relative;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl
}
.mtitle4 .ja:before {
	position: absolute;
	content: "";
	width: 80px;
	height: 1px;
	bottom: -30px;
	background-color: #1d1d1d
}
@media all and (max-width: 639px) {
	.mtitle4 {
		text-align: center
	}
	.mtitle4 .eng {
		font-size: 4rem;
		-webkit-writing-mode: inherit;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		position: inherit;
		left: auto;
		right: auto;
		bottom: auto;
		text-align: center
	}
	.mtitle4 .ja {
		font-size: 1.6rem;
		-webkit-writing-mode: inherit;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
		text-align: center;
		margin: 0 auto;
		display: block
	}
	.mtitle4 .ja:before {
		width: 70px;
		height: 1px;
		bottom: -10px
	}
}
.mtitle_sub {
	padding: 0 0 0 20px;
	position: relative;
	margin: 0px 0 15px 20px;
	font-size: 2.8rem;
	text-align: left;
	font-family: "Noto Serif JP", serif;
	font-weight: 500
}
.mtitle_sub .hissu {
	color: #fff;
	background: #373737;
	padding: 5px 8px;
	margin-right: 5px;
	font-size: 11px;
	border-radius: 20px
}
.mtitle_sub:before {
	position: absolute;
	left: -50px;
	top: 20px;
	content: "";
	width: 50px;
	height: 1px;
	background-color: #b6b6b6
}
.mtitle_sub.type2 {
	font-size: 2rem
}
.mtitle_sub.type2:before {
	position: absolute;
	left: -20px;
	top: 16px;
	content: "";
	width: 30px;
	height: 1px;
	background-color: #b6b6b6
}
@media all and (max-width: 639px) {
	.mtitle_sub.type2 {
		font-size: 1.4rem
	}
	.mtitle_sub.type2:before {
		top: 13px
	}
}
@media all and (max-width: 639px) {
	.mtitle_sub {
		font-size: 1.8rem
	}
}
.mtitle_box {
	background-image: -webkit-gradient(linear, left top, right top, from(#363636), to(#505050));
	color: #fff;
	font-size: 1.8rem;
	position: relative;
	padding: 15px 25px;
	margin-bottom: 25px;
	font-weight: 600;
	overflow: hidden
}
.mtitle_box.f-2 {
	text-align: center
}
.mtitle_box.f-2 span {
	font-size: 2rem;
	text-align: center
}
.mtitle_box span {
	font-weight: normal;
	font-size: 14px;
	padding-left: 10px
}
.mtitle_box:before {
	background-color: #fff;
	content: "";
	display: block;
	-webkit-transform: rotate(50deg);
	transform: rotate(50deg);
	position: absolute;
	bottom: -250px;
	right: -150px;
	width: 300px;
	height: 280px
}
@media all and (max-width: 896px) {
	.mtitle_box:before {
		font-size: 1.5rem;
		right: -200px
	}
}
@media all and (max-width: 639px) {
	.mtitle_box {
		font-size: 1.5rem;
		margin: 0 15px
	}
}
.mtitle_box.type1 {
	background-image: -webkit-gradient(linear, right top, left top, from(#1d1d1d), to(#b6b6b6))
}
.mtitle_box.type2 {
	background: #58cbb6
}
.mtitle_box2 {
	background: #fff;
	font-size: 2.2rem;
	color: #232323;
	position: relative;
	font-weight: 600;
	overflow: hidden;
	letter-spacing: 0.1rem;
	-webkit-box-shadow: 0 8px 8px rgba(29, 29, 29, 0.2);
	box-shadow: 0 8px 8px rgba(29, 29, 29, 0.2);
	padding: 60px 60px;
	margin-bottom: 25px
}
.mtitle_box2 .small-cap {
	font-weight: normal;
	font-size: 14px
}
.mtitle_box2:before {
	background-color: #1d1d1d;
	content: "";
	display: block;
	-webkit-transform: rotate(50deg);
	transform: rotate(50deg);
	position: absolute;
	bottom: -250px;
	right: -150px;
	width: 300px;
	height: 280px
}
@media all and (max-width: 639px) {
	.mtitle_box2 {
		font-size: 15px;
		line-height: 1.5;
		padding: 20px 0
	}
	.mtitle_box2 span {
		font-size: 2rem
	}
	.mtitle_box2:before {
		width: 215px;
		right: -170px
	}
}
.mtitle_box3 {
	background: #363636;
	color: #fff;
	padding: 10px 20px;
	font-weight: bold;
	position: relative;
	overflow: hidden;
	margin-bottom: 20px
}
.mtitle_box3::before {
	background-color: #fff;
	content: "";
	-webkit-transform: rotate(-144deg);
	transform: rotate(-144deg);
	display: block;
	opacity: 0.1;
	position: absolute;
	top: 350%;
	left: -4%;
	width: 200%;
	height: 930%
}
@media all and (max-width: 639px) {
	.mtitle_box3::before {
		top: 280%;
		left: -64%
	}
}
.mtitle_box3::after {
	background-color: #fff;
	content: "";
	display: block;
	opacity: 0.2;
	position: absolute;
	bottom: -190%;
	left: 85%;
	width: 10%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	height: 620%
}
@media all and (max-width: 639px) {
	.mtitle_box3::after {
		width: 40%
	}
}
.mtitle_box3 .photo {
	margin: 0 auto;
	text-align: center
}
.mtext1 {
	font-size: 2.2rem;
	line-height: 1.6;
	font-weight: 600
}
@media all and (max-width: 639px) {
	.mtext1 {
		font-size: 1.5rem;
		padding: 0;
		margin-top: 30px
	}
}
.s-txt {
	font-size: 1.8rem
}
@media all and (max-width: 639px) {
	.s-txt {
		font-size: 1.5rem;
		padding: 0 20px
	}
}
.mtext2-list {
	width: 95%;
	margin-top: 50px
}
.mtext2 {
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: 0.1rem;
	line-height: 1.6;
	text-align: center;
	margin: 0 auto
}
@media all and (max-width: 639px) {
	.mtext2 {
		font-size: 1.8rem;
		padding: 4px 8px
	}
}
.mtext3 {
	font-size: 1.8rem;
	letter-spacing: 0.15em
}
@media all and (max-width: 639px) {
	.mtext3 {
		font-size: 1.4rem
	}
}
.mtitle_category {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: normal
}
.mtitle_category:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0ca";
	font-weight: 900;
	margin-right: 5px;
	color: #1d1d1d
}
.btn01 a {
	background: #fefefe;
	text-align: center;
	width: 300px;
	margin: 15px auto;
	color: #3a200c;
	display: block;
	padding: 8px 5px;
	font-weight: 600;
	border: 2px solid #222
}
.btn01 a:hover {
	background: #1d1d1d;
	color: #fefefe
}
.btn01.mail {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%
}
.btn01.mail a {
	background: #cfb25b;
	margin: 15px auto 25px
}
.btn01.mail a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	margin-right: 5px
}
@media all and (max-width: 639px) {
	.btn01 a {
		width: 95%
	}
}
.btn02 {
	width: 300px;
	margin: 20px auto 20px
}
.btn02 a {
	display: block;
	position: relative;
	padding: 15px 0;
	background-color: #1d1d1d;
	line-height: 24px;
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	text-align: center;
	color: #ffffff
}
.btn02 a i {
	display: block;
	position: absolute;
	top: 50%;
	right: -10px;
	width: 50px;
	height: 1px;
	background-color: #ffffff;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease
}
.btn02 a:hover i {
	width: 34px
}
@media all and (max-width: 639px) {
	.btn02 {
		width: 260px
	}
	.btn02 a {
		font-size: 1.4rem
	}
}
.btn03 a {
	margin: 0 auto;
	display: block;
	color: #333;
	max-width: 400px;
	font-size: 1.6rem;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.2rem;
	padding: 12px 0;
	border: 0.9px solid #333
}
.btn03 a:before {
	margin-right: 5px;
	position: relative;
	display: inline-block
}
.btn03 a:hover {
	color: #fff;
	-webkit-box-shadow: rgba(27, 27, 27, 0.7) 0 80px 0px 2px inset;
	box-shadow: rgba(27, 27, 27, 0.7) 0 80px 0px 2px inset
}
@media all and (max-width: 639px) {
	.btn03 a {
		margin: 0 auto;
		white-space: nowrap;
		padding: 10px 0;
		width: 100%;
		font-size: 1.5rem
	}
	.btn03 a:before {
		font-size: 1.3rem;
		-webkit-transform: translateY(-2px);
		transform: translateY(-2px)
	}
}
.btn04 a, .btn04 span {
	display: block;
	color: #fff;
	max-width: 360px;
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.2rem;
	padding: 12px 0;
	border: 0.9px solid #1d1d1d;
	background-color: #1d1d1d
}
.btn04 a:before, .btn04 span:before {
	margin-right: 5px;
	position: relative;
	display: inline-block
}
.btn04 a:hover, .btn04 span:hover {
	color: #fff;
	-webkit-box-shadow: #000 0 80px 0px 2px inset;
	box-shadow: #000 0 80px 0px 2px inset
}
@media all and (max-width: 639px) {
	.btn04 a, .btn04 span {
		margin: 0 auto;
		white-space: nowrap;
		padding: 10px 0;
		width: 100%;
		font-size: 1.5rem
	}
	.btn04 a:before, .btn04 span:before {
		font-size: 1.3rem;
		-webkit-transform: translateY(-2px);
		transform: translateY(-2px)
	}
}
.btn05 {
	width: 300px;
	height: 70px;
	line-height: 70px;
	padding: 0;
	border: none;
	margin: 0 auto;
	background: transparent;
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	position: relative;
	display: inline-block;
	text-align: center
}
.btn05 span {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	color: #000
}
.btn05:before, .btn05:after {
	position: absolute;
	content: "";
	right: 0;
	bottom: 0;
	background: #000;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease
}
.btn05.black:before, .btn05.black:after {
	background: #000
}
.btn05:before {
	height: 50%;
	width: 1px
}
.btn05:after {
	width: 20%;
	height: 1px
}
.btn05:hover:before {
	height: 100%
}
.btn05:hover:after {
	width: 100%
}
.btn05 span:before, .btn05 span:after {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	background: #000000;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease
}
.btn05 span.black:before, .btn05 span.black:after {
	background: #000
}
.btn05 span:before {
	width: 1px;
	height: 50%
}
.btn05 span:after {
	width: 20%;
	height: 1px
}
.btn05 span:hover:after {
	width: 100%
}
.btn05 span:hover:before {
	height: 100%
}
.news .news-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 12px 0;
	border-top: 1px solid #333;
	font-size: 1.4rem;
	font-weight: 600
}
.news .news-inner:last-of-type {
	border-bottom: 1px solid #333
}
@media all and (max-width: 639px) {
	.news .news-inner {
		font-size: 13px;
		padding: 10px 4px
	}
}
.news dt {
	width: 7em;
	color: #1d1d1d;
	text-align: center
}
@media all and (max-width: 639px) {
	.news dt {
		width: 6em
	}
}
.news dd {
	width: calc(100% - 8.5em);
	margin-left: 8px
}
@media all and (max-width: 639px) {
	.news dd {
		width: calc(100% - 7.5em)
	}
}
.news-bl {
	overflow: hidden
}
.news-bl dt {
	float: left;
	width: 8em;
	padding: 5px;
	line-height: 1.3;
	color: #1d1d1d;
	text-align: center;
	border: 1px solid #1d1d1d;
	border-radius: 30px;
	background: #fff;
	font-size: 1.3rem
}
@media all and (max-width: 639px) {
	.news-bl dt {
		font-size: 1.2rem
	}
}
.news-bl dd {
	padding: 0 0 12px 9.2em;
	line-height: 1.6;
	border-bottom: 1px dotted #dddddd;
	margin: 0 0 10px
}
.news-bl dd a {
	color: #3a200c;
	background-image: -webkit-gradient(linear, left top, right top, from(#1d1d1d), to(#002989));
	background-image: linear-gradient(to right, #1d1d1d, #002989);
	padding-bottom: 0.25em;
	background-position: 100% 100%;
	background-size: 0% 1px;
	background-repeat: no-repeat;
	-webkit-transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	font-weight: 600
}
.news-bl dd a:hover {
	background-position: 0 100%;
	background-size: 100% 1px
}
.news-bl dd:last-child {
	margin: 0;
	border-bottom: none
}
@media all and (max-width: 639px) {
	.news-bl dt {
		float: none
	}
	.news-bl dd {
		padding: 8px 5px
	}
}
.page-title-hed {
	background-color: #1d1d1d;
    padding-top: 120px;
	/* padding-top: 80px */
}
.page-title-hed #l-header .inner:before {
	display: none
}
.page-title-hed #header_nav ul li a.active span {
	color: #cfb25b
}
.page-title-hed #header_nav ul li a:hover span, .page-title-hed #header_nav ul li a:active span {
	color: #cfb25b
}
@media all and (max-width: 896px) {
	.page-title-hed {
		padding-top: 78px
	}
}
.page-title {
	position: relative;
	z-index: 1
}
.page-title.type1 {
	background: url(../img/page-title01.jpg) no-repeat center 100%/cover
}
.page-title.type2 {
	background: url(../img/page-title02.jpg) no-repeat center 100%/cover
}
.page-title.type3 {
	background: url(../img/page-title03.jpg) no-repeat center 100%/cover
}
.page-title.type4 {
	background: url(../img/page-title04.jpg) no-repeat center 100%/cover
}
.page-title.type5 {
	background: url(../img/page-title05.jpg) no-repeat center 100%/cover
}
.page-title:before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0.4
}
.page-title:after {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background: #000;
	opacity: 0.5
}
.page-title .inner {
	margin: 0 auto;
	padding: 140px 0 140px;
	max-width: 1200px;
	position: relative
}
.page-title .inner .page-lead {
	color: #fefefe;
	text-align: center;
	font-size: 2.2rem;
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 0;
	bottom: -16px
}
.page-title .inner .page-lead span {
	background-color: #000;
	border-radius: 50px;
	padding: 10px 40px;
	z-index: 1
}
.page-title .inner .page-lead .eng {
	display: block;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 8rem;
	color: #000
}
.page-title .inner .page-lead .ja {
	color: #fff;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500
}
@media all and (max-width: 639px) {
	.page-title .inner .page-lead {
		font-size: 1.5rem;
		-webkit-transform: translateY(4px);
		transform: translateY(4px)
	}
	.page-title .inner .page-lead .eng {
		font-size: 3.5rem
	}
}
@media all and (max-width: 896px) {
	.page-title .inner {
		width: 100%
	}
}
@media all and (max-width: 896px) {
	.page-title .inner {
		padding: 120px 0 80px
	}
}
.bg-00 {
	position: relative;
	padding-bottom: 60px;
	margin-top: 80px
}
.bg-00:before {
	position: absolute;
	content: "";
	left: 0;
	top: 26%;
	width: 50%;
	height: 75%;
	background: url(../img/top-greet01.jpg) no-repeat center 40%/cover
}
.bg-00:after {
	position: absolute;
	content: "";
	right: 0;
	top: -14%;
	width: 50%;
	height: 75%;
	background: url(../img/top-greet02.jpg) no-repeat center 40%/cover
}
.bg-00 .single {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	position: relative
}
.bg-01 {
	margin-top: 40px;
	position: relative
}
.bg-01.b-p100 {
	padding-bottom: 100px
}
@media all and (max-width: 639px) {
	.bg-01.b-p100 {
		padding-bottom: 0px
	}
}
.bg-01-2 {
	position: relative;
	background-color: #ebecec
}
.bg-01-2:before {
	position: absolute;
	content: "KINKI AREA";
	color: #ebecec;
	font-size: 20rem;
	top: -250px;
	right: 0;
	font-family: "Noto Serif JP", serif;
	font-weight: 500
}
@media all and (max-width: 1100px) {
	.bg-01-2:before {
		font-size: 12rem;
		top: -156px
	}
}
@media all and (max-width: 639px) {
	.bg-01-2:before {
		font-size: 7rem;
		top: -102px
	}
}
@media all and (max-width: 639px) {
	.bg-01-2 {
		margin-top: 20px
	}
}
.bg-02 {
	position: relative;
	margin: 150px auto 0
}
.bg-02:before {
	position: absolute;
	content: "";
	background: url(../img/top-gallery.jpg) no-repeat;
	top: 0;
	width: 100%;
	height: 90%;
	max-height: 526px;
	background-size: cover
}
@media all and (max-width: 639px) {
	.bg-02:before {
		height: 60%
	}
}
@media all and (max-width: 639px) {
	.bg-02 {
		margin-bottom: 40px
	}
}
.bg-03 {
	position: relative;
	margin: 0 auto 0;
	background-color: #1d1d1d;
	background: url(../img/bg-contact.jpg) no-repeat center
}
.bg-03:before {
	position: absolute;
	content: "";
	width: 80%;
	height: 100%;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: rgba(255, 255, 255, 0.6)
}
@media all and (max-width: 639px) {
	.bg-03 {
		padding: 20px 0
	}
}
.bg-04 {
	position: relative;
	padding: 100px auto 0;
	background: url(../img/bg-area01.jpg) no-repeat center
}
@media all and (max-width: 639px) {
	.bg-04 {
		padding: 20px 0
	}
}
.bg-gray {
	margin: 50px auto 100px;
	z-index: 100;
	width: calc(100% - 80px);
	position: relative;
	background: #f4f4f4
}
.bg-gray.bg-half-bottom {
	background: transparent;
	background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, transparent), color-stop(50.1%, #f4f4f4), to(#f4f4f4));
	background-image: linear-gradient(to bottom, transparent 0%, transparent 50%, #f4f4f4 50.1%, #f4f4f4 100%)
}
.bg-gray.bg-half-upper {
	background: transparent;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), color-stop(50%, #f4f4f4), color-stop(50.1%, transparent), to(transparent));
	background-image: linear-gradient(to bottom, #f4f4f4 0%, #f4f4f4 50%, transparent 50.1%, transparent 100%)
}
@media all and (max-width: 896px) {
	.bg-gray {
		width: calc(100% - 20px);
		padding: 0 10px
	}
}
.bg-gray2 {
	background-image: linear-gradient(23deg, rgba(228, 228, 228, 0.02) 0%, rgba(202, 202, 202, 0.02) 13%, transparent 13%, transparent 80%, rgba(107, 107, 107, 0.02) 80%, rgba(11, 11, 11, 0.02) 100%), linear-gradient(42deg, rgba(98, 98, 98, 0.02) 0%, rgba(98, 98, 98, 0.02) 36%, transparent 36%, transparent 77%, rgba(252, 252, 252, 0.02) 77%, rgba(252, 252, 252, 0.02) 100%), linear-gradient(286deg, rgba(173, 173, 173, 0.02) 0%, rgba(173, 173, 173, 0.02) 2%, transparent 2%, transparent 12%, rgba(59, 59, 59, 0.02) 12%, rgba(59, 59, 59, 0.02) 100%), linear-gradient(77deg, rgba(87, 87, 87, 0.02) 0%, rgba(87, 87, 87, 0.02) 18%, transparent 18%, transparent 55%, rgba(247, 247, 247, 0.02) 55%, rgba(247, 247, 247, 0.02) 100%), linear-gradient(90deg, #fff, #fff)
}
.tbl {
	width: 100%
}
.tbl th, .tbl td {
	padding: 15px;
	vertical-align: middle;
	border: 1px solid #ddd
}
.tbl th {
	color: #1d1d1d;
	background: #f4f4f4;
	width: 25%
}
.tbl th span {
	font-size: 1.4rem
}
.tbl .cell01 {
	width: 25%
}
@media all and (max-width: 639px) {
	.tbl th {
		width: 35%;
		text-align: left
	}
	.tbl th, .tbl td {
		padding: 10px
	}
}
.tbl_new {
	width: 100%
}
.tbl_new tr th, .tbl_new tr td {
	vertical-align: middle;
	padding: 15px 10px
}
.tbl_new tr th {
	font-weight: 600;
	width: 20%;
	color: #1d1d1d;
	text-align: left;
	padding-left: 30px;
	letter-spacing: 0
}
@media all and (max-width: 639px) {
	.tbl_new tr th {
		padding-left: 10px
	}
}
.tbl_new tr:nth-child(odd) th, .tbl_new tr:nth-child(odd) td {
	background: #f0f0f0
}
.tbl_new2 {
	width: 100%
}
.tbl_new2 tr th, .tbl_new2 tr td {
	vertical-align: middle;
	padding: 15px 10px;
	border: 1px solid #d4d4d4
}
.tbl_new2 tr th {
	width: 80%
}
.tbl_new2 tr td {
	width: 20%
}
.tbl_new2 tr th {
	font-weight: 700
}
.tbl_new2 tr th span {
	font-size: 1.4rem
}
@media all and (max-width: 639px) {
	.tbl_new2 tr th span {
		font-size: 1.2rem
	}
}
.tbl-border {
	width: 100%
}
.tbl-border .t-right {
	text-align: right
}
.tbl-border th, .tbl-border td {
	padding: 15px;
	border-bottom: 2px solid #ddd;
	vertical-align: middle
}
.tbl-border th.type1, .tbl-border td.type1 {
	width: 190px
}
@media all and (max-width: 639px) {
	.tbl-border th.type1, .tbl-border td.type1 {
		width: 150px
	}
}
.tbl-border th.b-no, .tbl-border td.b-no {
	padding-bottom: 0;
	border-bottom: none
}
.tbl-border th.tm-no, .tbl-border td.tm-no {
	padding-top: 0
}
@media all and (max-width: 639px) {
	.tbl-border th, .tbl-border td {
		padding: 10px;
		font-size: 1.2rem
	}
}
.tbl-border th {
	width: 26%;
	text-align: left;
	font-weight: 600;
	border-bottom-color: #1d1d1d
}
.tbl-border th.th-1 {
	width: 45%
}
.list {
	position: relative;
	padding-left: 20px
}
.list::before {
	position: absolute;
	left: 0;
	top: 15px;
	content: "";
	width: 10px;
	height: 2px;
	background: #125fca
}
.company {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 5px
}
.company th, .company td {
	padding: 10px 10px;
	vertical-align: middle
}
.company th {
	text-align: left;
	width: 25%;
	position: relative;
	background: #e2efda;
	color: #fff;
	font-weight: 600
}
.company th::after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: #f9f9f9;
	border-width: 10px;
	border-left-color: #e2efda;
	margin-top: -10px
}
.company td {
	background: #f9f9f9;
	padding-left: 20px
}
.tbl0 {
	width: 100%
}
.tbl0 th, .tbl0 td {
	padding: 3px 5px;
	border: 0
}
.tbl0 th {
	padding-left: 0;
	font-weight: normal;
	background: none;
	width: 25%;
	color: #111
}
.tbl0 th:after, .tbl0 th:before {
	display: none
}
@media all and (max-width: 639px) {
	.tbl0 th {
		width: 40%
	}
}
.ggmapbox {
	width: 100%
}
.ggmap {
	position: relative;
	padding-bottom: 20%;
	height: 0;
	overflow: hidden
}
@media all and (max-width: 639px) {
	.ggmap {
		margin-bottom: 40px
	}
}
.ggmap iframe, .ggmap object, .ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.ggmap.type2 {
	padding-bottom: 35%
}
@media all and (max-width: 639px) {
	.ggmap.type2 {
		margin-bottom: 40px
	}
}
.g-ttl {
	background-color: #1d1d1d;
	color: #fff;
	padding: 5px 10px;
	font-size: 1.8rem
}
@media all and (max-width: 639px) {
	.g-ttl {
		font-size: 1.3rem
	}
}
.g-txt {
	margin-bottom: 20px
}
@media all and (max-width: 639px) {
	.g-txt {
		font-size: 1rem;
		margin-top: 10px;
		margin-bottom: 15px
	}
}
.list_common li {
	padding-bottom: 5px;
	padding-left: 1rem;
	margin-bottom: 5px;
	border-bottom: 1px dotted #cccccc
}
.list_common li:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none
}
.list-policy {
	background: rgba(255, 255, 255, 0.7);
	padding: 25px;
	margin-bottom: 40px
}
.list-policy li {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-size: 2rem;
	padding-bottom: 5px;
	margin-bottom: 6px;
	font-weight: 600
}
.list-policy li:before {
	content: "一、";
	margin-right: 7px;
	color: #1d1d1d
}
@media all and (max-width: 639px) {
	.list-policy {
		padding: 15px
	}
	.list-policy li {
		font-size: 1.4rem
	}
}
.list_check {
	display: none
}
.list_check.type1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.list_check.type1 li {
	background: #333;
	color: #fff;
	padding: 12px 8px;
	width: 48%
}
.list_check.type1 li:nth-child(2n) {
	margin-left: 4%
}
@media all and (max-width: 639px) {
	.list_check.type1 li {
		width: 95%;
		margin: 0 auto 5px
	}
	.list_check.type1 li:nth-child(2n) {
		margin-left: auto
	}
}
.list_check.type2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 96%;
	margin: 0 0 0 10%
}
.list_check.type2 li {
	width: 45%
}
@media all and (max-width: 639px) {
	.list_check.type2 li {
		width: 92%
	}
}
.list_check.type3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	margin: 0 0 0 5px
}
.list_check.type3 li {
	width: 100%;
	margin-bottom: 5px
}
@media all and (max-width: 639px) {
	.list_check.type3 li {
		width: 92%
	}
}
.list_check li {
	padding: 4px;
	padding-left: 30px;
	font-weight: 600;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 1.1em;
	position: relative;
	margin-bottom: 5px
}
.list_check li span {
	font-weight: normal;
	font-size: 0.9em;
	display: block;
	padding: 10px;
	background: rgba(233, 213, 185, 0.2);
	margin-top: 10px
}
.list_check li a {
	color: #1d1d1d;
	border-bottom: 1px dotted #1d1d1d
}
.list_check li:before {
	position: absolute;
	left: 0;
	top: 20px;
	content: "";
	width: 10px;
	height: 2px;
	background: #b6b6b6
}
@media all and (max-width: 639px) {
	.list_check li {
		width: 98%;
		margin: 0 auto 10px;
		font-size: 1.3rem
	}
}
.list_check2 li {
	padding: 8px;
	font-weight: 600
}
.list_check2 li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
	font-weight: 900;
	margin-right: 8px;
	color: #1d1d1d
}
.list_check2 li:not(:last-child) {
	margin-bottom: 4px;
	border-bottom: 1px solid #ccc
}
.list-inline2 {
	text-align: center
}
.list-inline2 li {
	display: inline-block;
	padding: 4px 15px;
	background: #fefefe;
	border: 1px solid #ddd;
	font-weight: 600;
	border-radius: 30px
}
.list-inline2 li:not(:last-child) {
	margin-right: 8px
}
.list-inline li {
	display: inline-block;
	padding: 3px
}
.list-inline li:not(:last-of-type):after {
	content: "/";
	margin: 0 5px;
	color: #1d1d1d;
	font-weight: normal
}
@media all and (max-width: 639px) {
	.list-inline li {
		display: block;
		padding: 0
	}
	.list-inline li:before {
		content: "-";
		color: #1d1d1d
	}
	.list-inline li:not(:last-of-type):after {
		display: none
	}
}
.ol-list {
	counter-reset: number;
	list-style: none;
	padding: 5px
}
.ol-list.type1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.ol-list.type1>li {
	width: 48%
}
.ol-list.type1>li:nth-child(2n) {
	margin-left: 4%
}
.ol-list li {
	line-height: 2;
	color: #3a200c;
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-weight: 600;
	font-size: 1.7rem
}
.ol-list li span {
	font-weight: normal;
	display: block;
	padding: 10px;
	line-height: 1.6
}
.ol-list li:before {
	counter-increment: number;
	content: counter(number);
	background: rgba(29, 29, 29, 0.6);
	display: inline-block;
	width: 2em;
	height: 2em;
	text-align: center;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-size: 2rem;
	color: #222;
	margin-right: 10px;
	border-radius: 100%
}
@media all and (max-width: 639px) {
	.ol-list li {
		font-size: 1.3rem
	}
	.ol-list li span {
		font-size: 0.9em
	}
	.ol-list li:before {
		font-size: 1.8rem
	}
}
.list_disc li {
	padding: 5px 0
}
.list_disc li:not(:last-of-type) {
	margin-bottom: 5px;
	border-bottom: 1px dashed #ccc
}
.list_disc li:before {
	content: "●";
	margin-right: 5px;
	color: #1d1d1d
}
.list-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.list-btn li {
	width: 32%;
	margin: 0 calc(1.33% + (1.33% / 2)) 10px 0
}
.list-btn li a {
	display: block;
	background: #002989;
	font-weight: 600;
	padding: 20px 3px;
	text-align: center;
	width: 100%;
	height: 100%;
	line-height: 1.5;
	font-size: 1.8rem;
	letter-spacing: 0;
	color: #fff
}
.list-btn li a:after {
	font-family: "Font Awesome 5 Free";
	content: "\f358";
	font-weight: 900;
	margin-left: 5px
}
.list-btn li:nth-child(2) a {
	background: #b6b6b6
}
.list-btn li:nth-child(3) a {
	background: #58cbb6
}
.list-btn li:nth-child(3n) {
	margin-right: 0
}
@media all and (max-width: 639px) {
	.list-btn li {
		width: 90%;
		margin: 0 auto 10px
	}
	.list-btn li a {
		font-size: 1.2rem
	}
	.list-btn li:nth-child(3n) {
		margin-right: auto
	}
}
.list-btn.type1 {
	max-width: 1000px;
	margin: 0 auto 20px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.list-btn.type1 li a {
	background: #e2efda;
	border: 1px solid #040404
}
.list-btn.type1 li a:hover {
	background: #fefefe
}
.list-btn.type1 li a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f13a";
	font-weight: 900;
	margin-right: 5px
}
.list-archive-wrapp {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.list-archive-wrapp .list-archivebox {
	width: 48%
}
.list-archive-wrapp .list-archivebox .mtitle_sub {
	margin-top: 0
}
@media all and (max-width: 1100px) {
	.list-archive-wrapp .list-archivebox {
		width: 100%
	}
	.list-archive-wrapp .list-archivebox:last-child {
		margin-top: 40px
	}
}
.list-archive li {
	width: 100%;
	font-size: 1.4rem;
	padding-bottom: 2px;
	margin-bottom: 10px
}
.list-archive li .date {
	display: inline-block;
	font-size: 1.2rem;
	color: #fff;
	background-color: #b6b6b6;
	padding: 4px 6px;
	margin: 0 20px;
	width: 100px;
	text-align: center
}
@media all and (max-width: 639px) {
	.list-archive li .date {
		display: block
	}
}
@media all and (max-width: 639px) {
	.list-archive li .link {
		display: block;
		margin: 0 20px
	}
}
.list-archive li a:hover {
	border-bottom: 1px solid #1d1d1d
}
@media all and (max-width: 639px) {
	.staff-list {
		margin-top: 40px
	}
}
.staff-list li {
	margin-bottom: 30px
}
.staff-list .ttlarea {
	position: relative
}
.staff-list .ttlarea .title {
	bottom: 0px;
	position: absolute;
	display: inline-block;
	margin: 1rem 0 1rem -10px;
	padding: 1rem 3rem;
	color: #fff;
	background: #232C3D;
	-webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
	box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2)
}
@media all and (max-width: 639px) {
	.staff-list .ttlarea .title {
		font-size: 1.5rem;
		padding: 10px 35px
	}
}
.staff-list .ttlarea .title:before {
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 0;
	height: 0;
	content: "";
	border-top: 10px solid #1d1d1d;
	border-left: 10px solid transparent
}
.staff-list .txtarea {
	padding: 10px;
	background-color: #fff
}
.staff-list .txtarea .txt-top {
	background-color: #333;
	color: #fff;
	padding: 4px 10px;
	text-align: center
}
.staff-list .staff-list-box {
	width: 28%;
	margin-right: 8%
}
.staff-list .staff-list-box:nth-child(2) {
	margin-top: 30px;
	margin-right: 0
}
.staff-list .staff-list-box:nth-child(3) {
	margin-top: 60px;
	margin-right: 0
}
.staff-list .staff-list-box figure {
	-webkit-box-shadow: 0 8px 8px rgba(29, 29, 29, 0.2);
	box-shadow: 0 8px 8px rgba(29, 29, 29, 0.2)
}
@media all and (max-width: 896px) {
	.staff-list .staff-list-box {
		width: 60%;
		margin: 0 auto 20px
	}
	.staff-list .staff-list-box:nth-child(2) {
		margin-top: 0px
	}
	.staff-list .staff-list-box:last-child {
		margin-right: auto
	}
}
@media all and (max-width: 639px) {
	.staff-list .staff-list-box {
		width: 86%;
		margin: 0 auto 20px
	}
	.staff-list .staff-list-box:nth-child(2) {
		margin-top: 0px
	}
	.staff-list .staff-list-box:last-child {
		margin-right: auto
	}
}
.staff-list .staff-list-box .txtbox {
	position: relative;
	background-color: #1d1d1d;
	padding: 25px 25px;
	color: #fff;
	font-size: 1.5rem;
	overflow: hidden;
	-webkit-box-shadow: 0 8px 8px rgba(29, 29, 29, 0.2);
	box-shadow: 0 8px 8px rgba(29, 29, 29, 0.2)
}
@media all and (max-width: 639px) {
	.staff-list .staff-list-box .txtbox {
		padding: 20px
	}
	.staff-list .staff-list-box .txtbox .txt {
		font-size: 1.4rem
	}
}
.staff-list .staff-list-box .txtbox:before {
	position: absolute;
	content: "";
	top: -10px;
	right: -64px;
	height: 2px;
	width: 116px;
	background: #c3a349;
	-webkit-transform: rotate(55deg);
	transform: rotate(55deg);
	-webkit-transform-origin: left top;
	transform-origin: left top;
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s
}
.staff-list .staff-list-box .txtbox:after {
	position: absolute;
	top: 20px;
	left: 0;
	content: "";
	width: 320px;
	height: 2px;
	background: #fff;
	-webkit-transform: rotate(-7deg);
	transform: rotate(-7deg);
	-webkit-transform-origin: left top;
	transform-origin: left top;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s
}
#top-blog .pages {
	display: none
}
#main .blog-wrap>li {
	width: 100%
}
@media all and (max-width: 1100px) {
	#main .blog-wrap>li {
		width: 100%;
		margin: 0 auto 20px
	}
}
@media all and (max-width: 639px) {
	#main .blog-wrap>li {
		width: 90%;
		margin: 0 auto 10px
	}
}
.blog-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.blog-wrap * {
	-webkit-transition: 0.3s;
	transition: 0.3s
}
.blog-wrap>li {
	max-width: 250px;
	width: 24%;
	margin: 0 1% 20px 0;
	position: relative;
	padding: 15px 10px;
	-webkit-box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.05), -3px -3px 3px 3px rgba(0, 0, 0, 0.05);
	box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.05), -3px -3px 3px 3px rgba(0, 0, 0, 0.05)
}
@media all and (max-width: 1100px) {
	.blog-wrap>li {
		width: 49%
	}
}
.blog-wrap>li>a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 10
}
.blog-wrap>li>a:hover~.blog-img img {
	opacity: 1;
	-webkit-transform: scale(1.2);
	transform: scale(1.2)
}
@media all and (max-width: 639px) {
	.blog-wrap li {
		width: 100%;
		margin: 0 auto 20px;
		display: block
	}
	.blog-wrap li .blog-img {
		width: 100%
	}
	.blog-wrap li .blog-detail {
		width: 100%;
		padding: 10px
	}
	.blog-wrap li .blog-txt {
		padding: 10px 0
	}
}
.blog-img {
	width: 100%;
	height: 150px;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
.blog-img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	font-family: "object-fit: cover;"
}
.blog-img:hover img {
	opacity: 1 !important;
	-webkit-transform: scale(1.2);
	transform: scale(1.2)
}
.blog-detail {
	width: 100%;
	padding: 15px 10px;
	background-color: #fff
}
.blog-detail-upper {
	position: relative;
	z-index: 2;
	margin: -31px 0 0;
	color: #fff;
	font-size: 12px
}
.blog-category {
	display: inline-block;
	padding: 5px;
	line-height: 1.3;
	text-align: center;
	background: #111
}
.blog-date {
	background: #374c6b;
	width: 100px;
	padding: 5px;
	line-height: 1.3;
	text-align: center;
	display: inline-block;
	color: #fff;
	font-size: 12px
}
.blog-date2 {
	color: #000;
	font-size: 0.9em;
	margin-bottom: 5px;
	margin-right: 5px
}
.blog-date2:before {
	font-family: "Font Awesome 5 Free";
	content: "\f017";
	font-weight: 900;
	margin-right: 5px
}
.blog-title {
	font-weight: 700;
	line-height: 1.3;
	margin: 10px 0;
	color: #3a200c
}
.blog-txt {
	line-height: 1.5;
	color: #333;
	font-size: 1.4rem;
	padding: 10px 0 0
}
@media all and (max-width: 639px) {
	.blog-txt {
		font-size: 12px
	}
}
.pages {
	text-align: center;
	margin-top: 30px
}
.pages .page_next, .pages .page_prev {
	display: inline-block;
	margin: 0 20px
}
.pages .page_next a, .pages .page_prev a {
	color: #1d1d1d;
	padding: 4px 5px;
	background: #fff;
	font-size: 12px
}
.category_nav {
	border: 1px solid #dddddd
}
.category_nav li a {
	display: block;
	padding: 15px;
	border-bottom: 1px dotted #dddddd;
	background-color: #ffffff
}
.category_nav li a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0a9";
	font-weight: 900;
	margin-right: 5px
}
.category_nav li a:hover {
	background: #f4f4f4
}
.category_nav li:last-child a {
	border-bottom: none
}
.cut {
	overflow: hidden;
	zoom: 1
}
.w300 {
	width: 300px
}
.spbr {
	display: none
}
.color1 {
	color: #1d1d1d
}
.color2 {
	color: #002989
}
.color3 {
	color: #111
}
.relative {
	position: relative
}
.num {
	font-weight: 600
}
.num a {
	color: #1d1d1d;
	font-size: 2.8rem;
	text-align: center;
	margin-left: 5px
}
@media all and (max-width: 639px) {
	.num a {
		font-size: 2rem
	}
}
.num a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	margin-right: 5px
}
.num a:hover {
	color: #f66009
}
.telbox {
	max-width: 600px;
	margin: 0 auto 20px;
	padding: 20px;
	background: #333;
	text-align: center
}
.telbox .inner {
	background: #fff;
	padding: 10px
}
.txt-link {
	font-weight: 600;
	text-decoration: underline;
	pointer-events: none
}
@media all and (max-width: 896px) {
	.txt-link {
		pointer-events: inherit
	}
}
.txt-link:hover {
	text-decoration: none
}
.telbnr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 30px auto 30px
}
.telbnr li {
	width: 47%;
	border: 3px solid #ccc;
	padding: 10px 10px;
	text-align: center;
	border-radius: 50px
}
.telbnr li.telbnr-mail a {
	pointer-events: inherit;
	font-size: 2rem;
	padding-top: 5px
}
.telbnr li.telbnr-mail a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900
}
@media all and (max-width: 639px) {
	.telbnr li.telbnr-mail a {
		font-size: 1.4rem;
		padding: 0
	}
}
.telbnr li a {
	display: block;
	font-size: 2.4rem;
	font-weight: 600;
	color: #1d1d1d;
	pointer-events: none
}
@media all and (max-width: 896px) {
	.telbnr li a {
		pointer-events: inherit
	}
}
.telbnr li a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	margin-right: 5px
}
.telbnr li a:hover {
	color: #1d1d1d
}
@media all and (max-width: 639px) {
	.telbnr {
		max-width: 90%
	}
	.telbnr li {
		width: 100%;
		margin: 0 auto 30px
	}
	.telbnr li a {
		font-size: 2rem
	}
}
.telbnr-ttl {
	font-weight: 600;
	font-size: 1.6rem;
	color: #333;
	margin-top: -30px
}
.telbnr-ttl span {
	background: #fff;
	padding: 0 20px
}
@media all and (max-width: 639px) {
	.telbnr-ttl {
		font-size: 1.3rem
	}
}
.topbox {
	position: relative
}
.breadcrumb {
	padding: 20px 30px;
	z-index: 101;
	max-width: 1200px;
	font-size: 1.2rem;
	position: absolute;
	bottom: 10px
}
.breadcrumb li {
	display: inline;
	color: #fff
}
.breadcrumb li a {
	color: #cfb25b
}
.breadcrumb li+li:before {
	margin: 0 10px;
	content: ">"
}
@media all and (max-width: 896px) {
	.breadcrumb {
		left: 0px
	}
}
@media all and (max-width: 639px) {
	.breadcrumb {
		font-size: 10px;
		padding: 14px 20px
	}
}
.form {
	margin: 0 auto;
	width: 90%
}
.form dl dt {
	float: left;
	width: 280px;
	padding-top: 20px;
	font-weight: 600
}
.form dl dt span {
	color: #fff;
	background: #1d1d1d;
	padding: 5px 8px;
	margin-right: 5px;
	font-size: 11px;
	border-radius: 20px;
	position: relative;
	top: -2px
}
.form dl dt span.nini {
	background: #cfb25b;
	color: #3a200c
}
.form dl dd {
	padding-left: 280px;
	padding-bottom: 20px;
	padding-top: 23px;
	line-height: 1.5;
	border-bottom: 1px dotted #cccccc
}
.form dl dd.type1 p {
	display: inline
}
.form dl dd.type1 .w20 {
	width: 20%
}
@media all and (max-width: 896px) {
	.form dl dd.type1 .w20 {
		width: 30%
	}
}
.form dl dd.type1 .w30 {
	width: 30%
}
@media all and (max-width: 639px) {
	.form dl dd.type1.type1-name .w30 {
		width: 48%
	}
}
.form dl dd.type1 .w60 {
	width: 60%
}
.form dl dd:last-child {
	border-bottom: none
}
.form .textarea, .form textarea {
	border: 0;
	padding: 15px;
	width: 100%;
	border-radius: 0;
	-webkit-appearance: none;
	background: #f0f0f0
}
.form .textarea02 {
	width: 48.5%;
	margin-right: 3%;
	background: #f9fcff;
	-webkit-box-shadow: 0 8px 8px rgba(165, 165, 165, 0.4);
	box-shadow: 0 8px 8px rgba(165, 165, 165, 0.4)
}
.form .textarea02:last-child {
	margin-right: 0
}
.form .textarea03 {
	width: 20%;
	margin-right: 1%
}
.form button {
	cursor: pointer;
	display: block;
	color: #fff;
	text-align: center;
	-webkit-transition: all 0.2s ease-in-out 0s;
	transition: all 0.2s ease-in-out 0s;
	border: 1px solid #363636;
	font-weight: 600;
	padding: 12px 5px;
	margin: 0 auto;
	width: 250px;
	background: #363636;
	border-radius: 25px
}
.form button:hover {
	background: #fff;
	color: #363636
}
.form button:before {
	font-weight: normal;
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	margin-right: 10px
}
.form .select-wrap {
	position: relative;
	overflow: hidden;
	display: inline-block;
	min-width: 192px;
	min-width: 12em;
	background-color: #ffffff;
	border: 1px solid #dddddd;
	color: #333
}
.form .select-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	z-index: 2;
	display: block;
	width: 200%;
	width: -webkit-calc(100% + 5em);
	margin: 0;
	padding: 11px 35px 11px 11px;
	padding: 0.6875rem 2.1875rem 0.6875rem 0.6875rem;
	background: transparent;
	border: 0;
	outline: none;
	line-height: 1.5
}
.form .entypo-down-open-mini:before {
	font-family: "FontAwesome";
	content: "\f0ab";
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 12px;
	right: 0.75rem;
	margin-top: -8px;
	margin-top: -0.5rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1;
	color: #1d1d1d
}
.form label.radio_text {
	cursor: pointer;
	position: relative;
	margin-right: 20px;
	overflow: hidden;
	padding-left: 20px;
	display: inline-block
}
.form label.radio_text:before {
	position: absolute;
	width: 15px;
	height: 15px;
	border: 1px solid #ccc;
	border-radius: 50%;
	left: 0px;
	top: 2px;
	content: "";
	z-index: 3
}
.form label.radio_text:after {
	content: "";
	position: absolute;
	width: 11px;
	height: 11px;
	border-radius: 100%;
	left: 2px;
	top: 4px;
	background-color: #1d1d1d;
	z-index: 1
}
.form label.radio_text input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	z-index: 2;
	width: 20px;
	height: 20px;
	left: -23px;
	top: 0px;
	margin: 0px;
	-webkit-box-shadow: 20px -1px #fff;
	box-shadow: 20px -1px #fff
}
.form label.radio_text input[type="radio"]:checked {
	-webkit-box-shadow: none;
	box-shadow: none
}
.form label.radio_text input[type="radio"]:focus {
	opacity: 0.2;
	-webkit-box-shadow: 20px -1px #eeebda;
	box-shadow: 20px -1px #eeebda
}
.form label.checkbox_text {
	cursor: pointer;
	position: relative;
	padding-left: 25px;
	margin: 0 20px 5px 0;
	overflow: hidden;
	display: inline-block
}
.form label.checkbox_text:before {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	left: 0px;
	top: 0;
	border: 1px solid #ccc;
	z-index: 3;
	padding: 1px
}
.form label.checkbox_text:after {
	content: "";
	position: absolute;
	top: 40%;
	left: 5px;
	display: block;
	margin-top: -9px;
	width: 8px;
	height: 12px;
	border-right: 3px solid #1d1d1d;
	border-bottom: 3px solid #1d1d1d;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 1
}
@media all and (max-width: 639px) {
	.form label.checkbox_text:after {
		margin-top: -18px
	}
}
.form label.checkbox_text input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	left: -40px;
	width: 20px;
	height: 20px;
	display: block;
	-webkit-box-shadow: 41px 0px #fff;
	box-shadow: 41px 0px #fff;
	z-index: 2;
	margin: 0px;
	padding: 0px
}
.form label.checkbox_text input[type="checkbox"]:checked {
	-webkit-box-shadow: none;
	box-shadow: none
}
.form label.checkbox_text input[type="checkbox"]:checked:focus {
	-webkit-box-shadow: 40px 0px #666;
	box-shadow: 40px 0px #666;
	opacity: 0.1
}
.form label.checkbox_text input[type="checkbox"]:focus {
	-webkit-box-shadow: 41px 0px #eee;
	box-shadow: 41px 0px #eee
}
.form input[type="text"], .form textarea {
	font-size: 16px
}
@media all and (max-width: 639px) {
	.form input[type="text"], .form textarea {
		-webkit-transform: scale(0.9);
		transform: scale(0.9);
		margin-left: -5px
	}
}
.fm-txt {
	font-size: 1.4rem;
	background: rgba(255, 255, 255, 0.5);
	padding: 5px
}
.thanks {
	padding: 40px;
	border: 3px solid #949494;
	max-width: 700px;
	margin: 0 auto
}
@media all and (max-width: 639px) {
	.thanks {
		max-width: 90%;
		padding: 30px 20px
	}
}
.shadow {
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15)
}
.policy {
	padding: 30px;
	background: rgba(255, 255, 255, 0.4)
}
.mtitle_small {
	position: relative;
	font-size: 1.6rem;
	margin-bottom: 20px;
	color: #1d1d1d;
	font-weight: 600;
	padding: 10px;
	border-bottom: 1px solid #ccc
}
.mtitle_small:before {
	content: "";
	width: 50px;
	height: 1px;
	background-color: #1d1d1d;
	position: absolute;
	left: 0;
	bottom: -1px
}
@media all and (max-width: 639px) {
	.mtitle_small {
		font-size: 1.4rem;
		line-height: 1.5
	}
}
.mtitle_small2 {
	position: relative;
	margin-bottom: 10px;
	padding-left: 20px
}
.mtitle_small2:before {
	content: "";
	background-color: #1d1d1d;
	width: 10px;
	height: 4px;
	position: absolute;
	top: 0.6em;
	left: 0
}
.works-detail {
	margin-bottom: 50px;
	padding: 0 20px;
	max-width: 1200px;
	margin: 0 auto 20px
}
.works-detail .news-bl {
	font-size: 1.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start
}
.works-detail .news-bl .inner {
	width: 48%
}
.gallery_box {
	position: relative;
	margin: 100px 20px
}
.gallery_ttl {
	position: absolute;
	top: -36px;
	left: 0
}
.gallery_ttl span {
	background-color: #232C3D;
	color: #fff;
	padding: 10px 20px
}
@media all and (max-width: 639px) {
	.gallery_ttl {
		top: -34px
	}
}
.gallery_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -2%;
	margin-bottom: -4%
}
@media all and (max-width: 639px) {
	.gallery_ul {
		margin-left: auto;
		margin-right: auto
	}
}
.gallery_ul>li {
	width: 31.33%;
	margin-left: 2%;
	margin-bottom: 4%;
	font-weight: 600
}
.gallery_ul>li .photobox-wrap {
	width: 100%;
	height: 220px;
	text-align: center;
	overflow: hidden;
	background: #aaa;
	margin-bottom: 10px
}
.gallery_ul>li .photobox-wrap img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	font-family: "object-fit:contain;";
	-o-object-position: 50% 50%;
	object-position: 50% 50%
}
@media all and (max-width: 896px) {
	.gallery_ul>li {
		width: 48%
	}
}
@media all and (max-width: 639px) {
	.gallery_ul>li {
		width: 85%;
		margin: 0 auto 30px
	}
	.gallery_ul>li .photobox-wrap {
		height: 180px
	}
}
.comment {
	font-size: 1.4rem;
	letter-spacing: 0;
	padding: 0 5px;
	color: #3a200c
}
@media all and (max-width: 639px) {
	.comment {
		font-size: 12px
	}
}
.gallery {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.gallery li {
	width: 24%;
	margin: 0 calc(1% + (1% / 3)) 25px 0
}
.gallery li:nth-child(4n) {
	margin-right: 0
}
.gallery li a {
	background: rgba(233, 213, 185, 0.2);
	display: block;
	text-align: center;
	padding: 0px;
	height: 200px
}
.gallery li a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}
.gallery li p {
	font-size: 14px;
	margin: 3px 0 10px
}
@media all and (max-width: 896px) {
	.gallery li {
		width: 48%;
		margin: 0 1% 20px
	}
	.gallery li:nth-child(2n) {
		margin-right: 0
	}
	.gallery li a {
		height: 120px
	}
	.gallery li p {
		font-size: 12px
	}
}
.list2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto
}
.list2.type1>li, .list2.type1 .child {
	background: #fefefe;
	padding: 15px
}
@media all and (max-width: 639px) {
	.list2.type2>li {
		width: 100%;
		margin: 0 auto 0
	}
	.list2.type2>li:nth-child(2) {
		margin-top: 30px
	}
}
.list2>li, .list2 .child {
	width: 50%
}
@media all and (max-width: 639px) {
	.list2>li, .list2 .child {
		width: 100%;
		margin: 25px auto 0
	}
}
.list2 .child2 {
	width: 34%;
	margin-top: 50px
}
.list2 .child2:nth-child(2n) {
	margin-left: 4%
}
@media all and (max-width: 639px) {
	.list2 .child2:nth-child(2n) {
		margin-left: auto
	}
}
@media all and (max-width: 639px) {
	.list2 .child2 {
		width: 100%;
		margin: 25px auto 0
	}
}
.list3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.list3.works-list3>li {
	margin-bottom: 80px
}
.list3.works-list3>li img {
	-webkit-box-shadow: 5px 5px rgba(182, 182, 182, 0.2);
	box-shadow: 5px 5px rgba(182, 182, 182, 0.2)
}
.list3.works-list3>li .text {
	padding: 8px;
	letter-spacing: 0
}
.list3.type1 li {
	background: #fefefe;
	padding: 15px;
	border-radius: 8px
}
.list3 li {
	width: 31%;
	position: relative;
	margin: 0 calc(2.33% + (2.33% / 2)) 30px 0
}
.list3 li.t-m200 {
	margin-top: 200px
}
.list3 li:nth-child(3n) {
	margin-right: 0
}
@media all and (max-width: 639px) {
	.list3 li {
		width: 95%;
		margin: 0 auto 20px
	}
	.list3 li:nth-child(3n) {
		margin-right: auto
	}
}
.list4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.list4 li {
	width: 24%;
	margin: 0 calc(1% + (1% / 3)) 25px 0
}
.list4 li:nth-child(4n) {
	margin-right: 0
}
.prv dt {
	color: #1d1d1d;
	border-bottom: 1px solid #ccc;
	margin: 10px 0
}
#works:before {
	content: "";
	height: 80px;
	margin-top: -80px;
	display: block;
	visibility: hidden
}
.note {
	padding: 15px;
	margin-top: 10px;
	background: #333;
	font-size: 1.4rem
}
@media all and (max-width: 639px) {
	.note {
		font-size: 12px
	}
}
.flow-dl .flow-inner {
	padding: 8px
}
.flow-dl .flow-inner:not(:last-of-type) {
	margin-bottom: 5px;
	border-bottom: solid 1px #aaa
}
.flow-dl .flow-inner dt {
	font-size: 1.6rem;
	font-weight: 600;
	color: #002989
}
.flow-dl .flow-inner dt .eng {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 2.5rem;
	color: #58cbb6;
	margin-right: 8px
}
.flow-dl .flow-inner dd {
	margin-top: 5px;
	padding-left: 40px
}
@media all and (max-width: 639px) {
	.flow-dl .flow-inner {
		padding: 6px
	}
	.flow-dl .flow-inner dt {
		font-size: 1.25rem
	}
	.flow-dl .flow-inner dt .eng {
		font-size: 1.7rem
	}
	.flow-dl .flow-inner dd {
		padding-left: 30px
	}
}
.txt1 {
	padding-left: 10px
}
.fee-box {
	margin: 10px 0 20px;
	font-weight: 600;
	background: lemonchiffon;
	padding: 5px
}
.fee-box span {
	display: block;
	font-weight: normal
}
.blog-month {
	margin-bottom: 10px
}
.blog-month ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.blog-month ul li {
	width: 49%;
	padding: 5px 0;
	margin-bottom: 5px;
	text-align: center;
	letter-spacing: 0;
	background: #333
}
@media all and (max-width: 639px) {
	.blog-month ul li {
		margin-left: 20px
	}
}
.blog-month ul li:nth-child(2n) {
	margin-left: 2%
}
.blog-month ul li a {
	color: #fff;
	font-size: 12px
}
.blog-month ul li a:hover {
	color: #cfb25b
}
#a01, #a02, #a03, #a04, #a05, #a06, #a07, #a08, #a09, #a10, #a11, #a12 {
	display: block;
	padding-top: 100px;
	margin-top: -100px
}
.list-center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.list-center li {
	width: 50%
}
@media all and (max-width: 639px) {
	.list-center {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}
	.list-center li {
		width: 100%
	}
}
.faq-dl .faq-inner {
	padding: 10px;
	margin-bottom: 20px
}
.faq-dl .faq-inner:not(:last-of-type) {
	margin-bottom: 35px;
	padding-bottom: 20px;
	border-bottom: 3px solid #eee
}
.faq-dl .faq-inner dt, .faq-dl .faq-inner dd {
	position: relative;
	padding: 10px 10px 10px 55px
}
.faq-dl .faq-inner dt:before, .faq-dl .faq-inner dd:before {
	position: absolute;
	content: "";
	width: 45px;
	height: 45px;
	line-height: 45px;
	text-align: center;
	left: 0;
	top: 0;
	font-family: "Noto Serif JP", serif;
	font-weight: 500
}
.faq-dl .faq-inner dt {
	margin-bottom: 10px;
	font-weight: 600
}
.faq-dl .faq-inner dt:before {
	content: "Q";
	color: #1d1d1d;
	font-size: 3rem;
	background: rgba(29, 29, 29, 0.2)
}
.faq-dl .faq-inner dd:before {
	content: "A";
	color: #f66009;
	font-size: 3rem;
	background: rgba(207, 178, 91, 0.2)
}
.point-title {
	font-weight: 600;
	font-size: 1.8rem
}
@media all and (max-width: 639px) {
	.point-title {
		font-size: 1.4rem
	}
}
.works-list>li {
	padding: 15px 20px;
	border-top: 2px solid #333;
	font-weight: 600
}
.works-list>li:before {
	content: "●";
	margin-right: 5px;
	color: #002989
}
.works-list>li:last-child {
	border-bottom: 2px solid #222
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	left: 30px !important;
	right: auto;
	background: rgba(29, 29, 29, 0.7)
}
@media all and (max-width: 639px) {
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
		left: 10px !important
	}
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	right: 30px !important;
	left: auto;
	background: rgba(29, 29, 29, 0.7)
}
@media all and (max-width: 639px) {
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
		right: 10px !important
	}
}
@media all and (max-width: 639px) {
	.swiper-button-next, .swiper-button-prev {
		width: 17px !important;
		height: 28px !important;
		background-size: 17px 28px !important
	}
}
.point-num {
	position: relative;
	z-index: 2;
	line-height: 1;
	color: #002989;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 5rem;
	text-align: center;
	margin: 0 auto -30px
}
.bnr-list {
	text-align: center
}
@media all and (max-width: 896px) {
	.bnr-list li {
		width: 48%;
		margin-right: 4%
	}
	.bnr-list li:nth-child(2n) {
		margin-right: 0
	}
}
.bnr-list a {
	display: block;
	text-align: center;
	background: #fefefe;
	padding: 8px 5px;
	font-size: 1.3rem;
	height: 100%
}
.bnr-list a img {
	width: auto;
	max-width: 100%;
	margin: 0 auto;
	height: 45px
}
@media all and (max-width: 639px) {
	.bnr-list a {
		font-size: 12px;
		line-height: 1.5
	}
	.bnr-list a img {
		height: 30px
	}
}
.bnr-list li.bnr-txt {
	font-size: 2rem;
	font-weight: 600;
	line-height: 60px;
	background: #fefefe
}
@media all and (max-width: 639px) {
	.bnr-list li.bnr-txt {
		font-size: 1.5rem
	}
}
.sns-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.sns-list.center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 15px 0
}
.sns-list li a {
	width: 35px;
	height: 35px;
	line-height: 35px;
	font-size: 18px;
	color: #fefefe;
	display: block;
	background: #333;
	border-radius: 100%;
	text-align: center;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	position: relative;
	font-weight: 600
}
.sns-list li a:hover {
	opacity: 0.7
}
.sns-list li a.btn-facebook {
	background: #1877f2
}
.sns-list li a.btn-twitter {
	background: #1da1f2
}
.sns-list li a.btn-line {
	background: #06c755;
	line-height: 1;
	padding-top: 8px
}
.sns-list li a.btn-line img {
	width: 18px
}
.sns-list li a.btn-instagram {
	overflow: hidden;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat
}
.sns-list li a.btn-instagram i {
	position: relative;
	z-index: 2
}
.sns-list li a.btn-instagram:before {
	content: "";
	position: absolute;
	top: 18px;
	left: -10px;
	width: 50px;
	height: 50px;
	background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%)
}
.sns-list li:not(:last-child) {
	margin-right: 10px
}
@media all and (max-width: 896px) {
	.sns-list li:not(:last-child) {
		margin-right: 5px;
		margin-bottom: 0
	}
}
.title01 {
	font-weight: 600;
	text-align: center;
	font-size: 2.6rem;
	margin: -80px auto 30px;
	letter-spacing: 0.2em;
	color: #1d1d1d
}
.title01 span {
	display: block;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 5rem;
	color: #cfb25b
}
@media all and (max-width: 639px) {
	.title01 {
		font-size: 2rem;
		margin-top: -40px
	}
	.title01 span {
		font-size: 2rem
	}
}
.title02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 45px
}
@media all and (max-width: 639px) {
	.title02 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		text-align: center
	}
}
.title02 .eng {
	font-size: 7rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	line-height: 1;
	color: rgba(88, 203, 182, 0.4)
}
@media all and (max-width: 639px) {
	.title02 .eng {
		font-size: 4rem
	}
}
.title02 .ja {
	font-size: 2.2rem;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin-left: 40px;
	line-height: 2;
	color: #1d1d1d
}
.title02 .ja p {
	font-size: 1.5rem;
	color: #333
}
@media all and (max-width: 639px) {
	.title02 .ja {
		font-size: 1.5rem;
		margin: 20px auto 0
	}
	.title02 .ja p {
		font-size: 1.2rem
	}
}
.title03 {
	margin: 10px 0
}
.title03 span {
	background: #58cbb6;
	padding: 2px 5px;
	font-weight: 600;
	font-size: 1.4rem;
	color: #fff
}
.greet-img {
	width: 450px;
	margin: 0 auto 30px
}
@media all and (max-width: 639px) {
	.greet-img {
		width: 80%
	}
}
.greet-txt {
	text-align: center;
	line-height: 2;
	font-weight: 600;
	max-width: 700px;
	margin: 0 auto
}
@media all and (max-width: 639px) {
	.greet-txt {
		font-size: 1.3rem
	}
}
.title-big {
	position: relative;
	z-index: 2;
	margin: -20px auto -50px;
	text-align: center;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	color: #fff;
	text-shadow: 0 0 15px rgba(29, 29, 29, 0.1);
	font-size: 8rem;
	letter-spacing: 0;
	line-height: 0.8
}
@media all and (max-width: 896px) {
	.title-big {
		margin-bottom: -40px
	}
}
@media all and (max-width: 639px) {
	.title-big {
		font-size: 3.8rem;
		line-height: 1;
		margin-bottom: -20px
	}
}
.title-big.type1 {
	margin: -60px 0 30px;
	text-align: right
}
.fixed-img {
	background: url(../img/bg-03.jpg) no-repeat center/cover;
	background-attachment: fixed
}
@media all and (max-width: 1100px) {
	.fixed-img {
		background-attachment: scroll
	}
}
@media all and (max-width: 896px) {
	.fixed-img {
		padding-top: 30px
	}
}
.top-recruit-box {
	max-width: 1600px;
	margin: 0 auto;
	background: url(../img/top-recruit.jpg) no-repeat center/cover;
	height: 450px
}
@media all and (max-width: 896px) {
	.top-recruit-box {
		max-width: 90%;
		margin: 0 auto
	}
}
@media all and (max-width: 639px) {
	.top-recruit-box {
		height: 250px;
		max-width: 100%
	}
}
.recruit-title {
	text-align: center;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 12rem;
	color: #fff;
	padding-top: 80px
}
@media all and (max-width: 639px) {
	.recruit-title {
		font-size: 5rem;
		padding-top: 40px
	}
}
.top-recruit-txt {
	max-width: 600px;
	position: relative;
	z-index: 2;
	margin: -100px auto 0
}
.top-recruit-txt .inner {
	background: #fff;
	padding: 80px 40px;
	font-weight: 600;
	text-align: center;
	position: relative;
	z-index: 2
}
@media all and (max-width: 639px) {
	.top-recruit-txt {
		max-width: 90%;
		margin-top: -40px
	}
	.top-recruit-txt .inner {
		padding: 30px 15px
	}
}
.column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.column2 .child {
	width: 48%
}
@media all and (max-width: 639px) {
	.column2 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}
	.column2 .child {
		width: 100%
	}
	.column2 .child.column2-img {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
		margin-bottom: 30px
	}
}
.concept-title {
	font-size: 2.2rem;
	color: #002989;
	margin-bottom: 15px
}
.concept-title span {
	font-size: 1.1em
}
.concept-title span.concept-num {
	font-size: 2.5rem;
	color: #1d1d1d;
	margin-right: 15px
}
@media all and (max-width: 639px) {
	.concept-title {
		font-size: 1.8rem
	}
	.concept-title span.concept-num {
		font-size: 1.8rem
	}
}
.fb-wrap {
	min-height: 400px;
	text-align: center;
	margin: 0 auto
}
.voice-wrap {
	padding: 25px;
	background: #fff;
	-webkit-box-shadow: 6px 6px rgba(29, 29, 29, 0.2);
	box-shadow: 6px 6px rgba(29, 29, 29, 0.2)
}
.voice-wrap+.voice-wrap {
	margin-top: 45px
}
.voice-wrap .voice-title {
	border-left: 3px solid #1d1d1d;
	padding: 5px 8px 5px 15px;
	font-weight: 600;
	font-size: 1.1em;
	color: #002989;
	margin-bottom: 10px
}
.box1 {
	position: relative;
	z-index: 4;
	max-width: 1500px;
	margin: 0 auto 40px;
	background: #fff;
	padding: 25px
}
.box1.p40-25 {
	padding: 40px 25px
}
@media all and (max-width: 1100px) {
	.box1.p40-25 {
		margin: 0 20px 40px;
		padding: 15px
	}
}
@media all and (max-width: 639px) {
	.box1.p40-25 {
		padding: 20px 10px
	}
}
.box1 .flex {
	max-width: 1500px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 auto
}
@media all and (max-width: 639px) {
	.box1 {
		padding: 15px
	}
}
.box1.type1 {
	margin-top: -40px
}
.box1.type2 {
	padding: 40px 25px;
	border-top: 4px solid #1d1d1d
}
.box1.type2 .box-content {
	max-width: 800px;
	margin: 30px auto 0;
	padding: 40px 20px;
	background: rgba(0, 41, 137, 0.1)
}
@media all and (max-width: 639px) {
	.box1.type2 .box-content p {
		text-align: left
	}
}
.box1.type2 .box-content .mtext2 {
	text-align: center;
	font-size: 2rem
}
@media all and (max-width: 639px) {
	.box1.type2 .box-content .mtext2 {
		font-size: 1.6rem
	}
}
.box1.type3 {
	padding: 40px 25px;
	border-top: 4px solid #1d1d1d;
	margin-bottom: 0
}
.box1.type3 .box-content {
	max-width: 800px;
	margin: 30px auto 0;
	padding: 40px 20px;
	background: rgba(0, 41, 137, 0.1)
}
@media all and (max-width: 639px) {
	.box1.type3 .box-content p {
		text-align: left
	}
}
.box1.type3 .box-content .mtext2 {
	text-align: center;
	font-size: 2rem
}
@media all and (max-width: 639px) {
	.box1.type3 .box-content .mtext2 {
		font-size: 1.6rem
	}
}
.box2 {
	font-weight: 600;
	background: rgba(255, 255, 255, 0.1);
	padding: 20px;
	color: #fff
}
.map-img {
	width: 400px;
	margin: 0 auto 35px
}
@media all and (max-width: 639px) {
	.map-img {
		width: 80%
	}
}
.box-txtarea {
	padding: 0 70px
}
@media all and (max-width: 1100px) {
	.box-txtarea {
		padding: 0 40px
	}
}
@media all and (max-width: 639px) {
	.box-txtarea {
		padding: 0 10px
	}
}
.top-gallery {
	margin: 30px auto
}
.top-gallery li {
	margin: 0 8px
}
.top-gallery li a {
	display: block;
	width: 100%;
	height: 200px;
	overflow: hidden
}
.top-gallery li a img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}
@media all and (max-width: 639px) {
	.top-gallery li a {
		height: 250px
	}
}
.slick-prev, .slick-next {
	background: rgba(255, 255, 255, 0.8) !important;
	width: 35px !important;
	height: 35px !important;
	z-index: 20 !important;
	border-radius: 50% !important;
	border: 1px solid #aaa !important;
	top: 40%;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in
}
.slick-prev:before, .slick-next:before {
	color: #333 !important
}
.slick-prev:hover, .slick-next:hover {
	background: #f4f4f4
}
.slick-prev {
	left: 0 !important
}
.slick-next {
	right: 0 !important
}
.rssBox {
	height: 450px;
	overflow: auto
}
.rssBox li {
	border-bottom: 1px dashed #aaa;
	margin-bottom: 10px;
	padding: 10px 0 10px 20px
}
.rssBox li:after {
	display: block;
	content: "";
	clear: both
}
.rssBox .rss-img {
	width: 140px;
	height: 120px;
	overflow: hidden;
	float: left;
	margin-right: 25px;
	background: rgba(29, 29, 29, 0.4)
}
.rssBox .rss-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit:cover"
}
.rssBox span {
	display: block;
	font-size: 11px
}
@media all and (max-width: 639px) {
	.rssBox {
		height: 300px
	}
	.rssBox .rss-img {
		width: 100px;
		height: 80px
	}
}
.rssBox__article {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	color: #19262e
}
.scroll_sp {
	overflow: auto;
	margin-bottom: 10px
}
.scroll_sp::-webkit-scrollbar {
	width: 5px;
	background: #ccc
}
.scroll_sp::-webkit-scrollbar:horizontal {
	height: 5px;
	background: #ccc
}
.scroll_sp::-webkit-scrollbar-thumb {
	background: #969696;
	border-radius: 2px
}
.scroll_sp::-webkit-scrollbar-thumb:horizontal {
	background: #969696;
	border-radius: 2px
}
.bg-triangle {
	position: relative;
	overflow: hidden
}
.bg-triangle:before {
	position: absolute;
	content: "";
	width: 25%;
	height: 100%;
	bottom: -40%;
	right: 10%;
	background-image: -webkit-gradient(linear, left bottom, left top, from(#b6b6b6), to(rgba(29, 29, 29, 0.6)));
	background-image: linear-gradient(to top, #b6b6b6, rgba(29, 29, 29, 0.6));
	-webkit-transform: skew(-50deg);
	transform: skew(-50deg);
	z-index: 2
}
.bg-triangle:after {
	position: absolute;
	content: "";
	width: 42%;
	height: 100%;
	right: 2%;
	top: -53%;
	background: #125fca;
	-webkit-transform: skew(-59deg);
	transform: skew(-59deg);
	opacity: 0.5
}
@media all and (max-width: 896px) {
	.bg-triangle:before {
		left: -180px
	}
}
@media all and (max-width: 639px) {
	.bg-triangle:before {
		left: -80px;
		-webkit-transform: skew(10deg);
		transform: skew(10deg);
		width: 40%
	}
	.bg-triangle:after {
		display: none
	}
}
.bg-triangle.type1:before, .bg-triangle.type1:after {
	opacity: 0.2
}
.content-head {
	height: 350px;
	background: url(../img/content-head.jpg) no-repeat center/cover
}
@media all and (max-width: 639px) {
	.content-head {
		height: 280px
	}
}
.works-title01 {
	margin-top: 10px;
	position: relative;
	font-size: 1.4rem;
	color: #1d1d1d
}
.works-title01 span {
	position: relative;
	background: #1d1d1d;
	color: #fff;
	padding: 3px 8px;
	margin-right: 4px;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 13px
}
.people-block {
	position: relative
}
.people-block .name-block {
	position: absolute;
	left: 30px;
	top: 0;
	z-index: 2
}
@media all and (max-width: 639px) {
	.people-block .name-block {
		position: relative;
		left: auto
	}
}
.profi-box {
	position: relative;
	max-width: 440px;
	width: 100%
}
.profi-box img {
	width: 100%
}
@media all and (max-width: 639px) {
	.profi-txtarea {
		padding: 0 20px
	}
}
.name {
	width: 200px;
	margin: -20px auto 20px;
	position: absolute;
	z-index: 2;
	background: #b6b6b6;
	color: #fff;
	font-weight: 600;
	text-align: center;
	padding: 15px 6px;
	-webkit-box-shadow: 0 0 8px rgba(58, 32, 12, 0.05);
	box-shadow: 0 0 8px rgba(58, 32, 12, 0.05);
	line-height: 1.5;
	font-size: 1.6rem;
	bottom: 0;
	-webkit-filter: drop-shadow(6px 5px 1px rgba(0, 0, 0, 0.6));
	filter: drop-shadow(6px 5px 1px rgba(0, 0, 0, 0.6))
}
.name .small {
	font-size: 0.8em
}
.profi-txt {
	background-color: #fff;
	border-top: 2px solid #b6b6b6;
	text-align: left;
	padding: 20px
}
.profi-txt span {
	color: #1d1d1d;
	font-weight: bold;
	padding-right: 8px
}
.txtdeko {
	font-size: 1.8rem;
	font-weight: bold;
	color: #1d1d1d;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	padding: 5px 10px;
	border: 1px solid #1d1d1d;
	margin-right: 5px
}
@media all and (max-width: 896px) {
	.txtdeko {
		font-size: 1.4rem;
		line-height: 3.4rem
	}
}
.txtdeko.white {
	color: #fff;
	border: 1px solid #fff;
	padding: 10px 20px
}
@media all and (max-width: 896px) {
	.txtdeko.white {
		font-size: 1.4rem;
		display: block
	}
}
.txtdeko span {
	font-size: 4rem;
	font-style: italic
}
@media all and (max-width: 896px) {
	.txtdeko span {
		font-size: 2rem
	}
}
.txtdeko-2 {
	font-size: 1.4rem;
	font-weight: bold;
	color: #1d1d1d;
	padding: 5px 10px;
	border: 1px solid #1d1d1d;
	margin-right: 5px
}
@media all and (max-width: 896px) {
	.txtdeko-2 {
		font-size: 1.3rem;
		line-height: 3.4rem
	}
}
.txtdeko2 {
	color: #fff;
	background-color: #1d1d1d;
	padding: 5px 15px;
	margin-right: 5px;
	line-height: 3rem
}
.txtdeko3 {
	color: #fff;
	background-color: #1d1d1d;
	padding: 5px 15px;
	margin-right: 5px;
	line-height: 3rem
}
.txtdeko-list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
@media all and (max-width: 896px) {
	.txtdeko-list li {
		display: block
	}
}
.txtdeko-list li i {
	color: #1d1d1d;
	padding-right: 5px;
	padding-top: 7px
}
@media all and (max-width: 896px) {
	.txtdeko-list li p {
		display: contents
	}
}
.greeting_contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
@media all and (max-width: 896px) {
	.greeting_contents {
		display: block
	}
}
.greeting_contents .image {
	width: 62%
}
.greeting_contents .image img {
	display: block;
	width: 100%;
	height: 100%;
	font-family: "object-fit: cover; object-position: center;";
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	opacity: 0.8
}
@media all and (max-width: 896px) {
	.greeting_contents .image {
		width: 100%
	}
}
.greeting_contents .detail {
	position: relative;
	margin-left: -150px;
	width: 42%;
	padding: 30px 0;
	font-weight: 600
}
@media all and (max-width: 1100px) {
	.greeting_contents .detail {
		width: 45%
	}
}
@media all and (max-width: 896px) {
	.greeting_contents .detail {
		margin: 0 auto;
		margin-top: 5.33333vw;
		width: 84vw
	}
}
@media all and (max-width: 639px) {
	.greeting_contents .detail {
		width: 95%
	}
}
.greeting_contents .txt {
	margin-bottom: 40px;
	line-height: 2
}
.staff-img {
	position: relative;
	text-align: center
}
.staff-img img {
	margin: 0 auto
}
.staff-txt {
	color: #fff;
	font-weight: 600;
	margin-top: 30px;
	padding: 0 5px
}
#side-fixed {
	position: fixed;
	right: 0;
	top: 150px;
	z-index: 200
}
#side-fixed a {
	display: block;
	padding: 15px 8px;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: mixed;
	text-orientation: mixed;
	-webkit-font-feature-settings: "pkna";
	font-feature-settings: "pkna";
	background-image: -webkit-gradient(linear, left top, left bottom, from(#303030), to(#1d1d1d));
	background-image: linear-gradient(to bottom, #303030, #1d1d1d);
	color: #fff;
	-webkit-transform: translateX(30px);
	transform: translateX(30px);
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	-webkit-box-shadow: 2px 2px 5px rgba(17, 17, 17, 0.4);
	box-shadow: 2px 2px 5px rgba(17, 17, 17, 0.4);
	border-right: 0
}
#side-fixed a.type2 {
	background-color: #b6b6b6
}
#side-fixed a:hover {
	-webkit-transform: translateX(0);
	transform: translateX(0)
}
#side-fixed a .eng {
	display: block;
	font-size: 1.6rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	color: #fff;
	line-height: 1
}
#side-fixed a .ja {
	font-weight: 600;
	padding: 0 10px 0 5px;
	display: inline-block;
	font-size: 1.7rem;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
#side-fixed a img {
	width: 22px;
	background: #fff;
	border-radius: 50%;
	margin-bottom: 8px
}
@media all and (max-width: 639px) {
	#side-fixed {
		top: 100px
	}
	#side-fixed a .ja {
		font-size: 1.3rem
	}
	#side-fixed a img {
		width: 15px
	}
}
.flow-list {
	padding-left: 120px;
	position: relative;
	margin: 0 auto;
	max-width: 1500px
}
.flow-list:before {
	content: "";
	width: 4px;
	height: 100%;
	background: #bbbbbb;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px
}
@media all and (max-width: 639px) {
	.flow-list:before {
		left: 74px
	}
}
.flow-list li {
	position: relative
}
.flow-list li:not(:last-child) {
	margin-bottom: 70px
}
.flow-list li .icon {
	font-size: 3rem;
	color: #363636;
	padding: 8px 20px;
	display: block;
	position: absolute;
	top: 0;
	left: -120px;
	z-index: 100
}
@media all and (max-width: 639px) {
	.flow-list li .icon {
		font-size: 2rem;
		padding: 8px 10px
	}
}
.flow-list li .icon::after {
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #363636;
	position: absolute;
	top: 50%;
	left: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.flow-list li .txtarea {
	padding-left: 70px;
	position: relative
}
@media all and (max-width: 639px) {
	.flow-list li .txtarea {
		padding-left: 0px;
		margin-right: 10px
	}
}
.flow-list li .txtarea:before, .flow-list li .txtarea:after {
	content: "";
	display: block;
	position: absolute;
	top: 15px
}
.flow-list li .txtarea:before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #1d1d1d;
	border-radius: 50%;
	left: -9px
}
@media all and (max-width: 639px) {
	.flow-list li .txtarea:before {
		left: -55px
	}
}
.flow-list li .txtarea:after {
	width: 50px;
	border-bottom: 1px dashed #1d1d1d;
	position: absolute;
	left: 5px
}
@media all and (max-width: 639px) {
	.flow-list li .txtarea:after {
		width: 20px;
		left: -40px
	}
}
.flow-list li .txtarea .txtarea {
	margin-bottom: 40px
}
.flow-list li .txtarea .ttl {
	font-size: 2rem;
	color: #1d1d1d;
	margin-bottom: 10px;
	font-weight: bold
}
@media all and (max-width: 639px) {
	.flow-list li .txtarea .ttl {
		font-size: 1.4rem
	}
}
.flow-list li .txtarea .txt {
	font-size: 1.5rem;
	color: #333
}
@media all and (max-width: 639px) {
	.flow-list li .txtarea .txt {
		margin-top: 10px;
		font-size: 1.2rem
	}
}
.flow-list2 {
	padding-left: 120px;
	position: relative;
	margin: 0 auto;
	max-width: 1500px
}
.flow-list2:before {
	content: "";
	width: 4px;
	height: 100%;
	background: #bbbbbb;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px
}
@media all and (max-width: 639px) {
	.flow-list2:before {
		left: 74px
	}
}
.flow-list2 li {
	position: relative
}
.flow-list2 li:not(:last-child) {
	margin-bottom: 70px
}
.flow-list2 li .icon {
	font-size: 3rem;
	color: #363636;
	padding: 8px 20px;
	display: block;
	position: absolute;
	top: 0;
	left: -120px;
	z-index: 100
}
@media all and (max-width: 639px) {
	.flow-list2 li .icon {
		font-size: 2rem;
		padding: 8px 10px
	}
}
.flow-list2 li .icon::after {
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #363636;
	position: absolute;
	top: 50%;
	left: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.flow-list2 li .txtarea {
	padding-left: 70px;
	position: relative
}
@media all and (max-width: 639px) {
	.flow-list2 li .txtarea {
		padding-left: 0px;
		margin-right: 10px
	}
}
.flow-list2 li .txtarea:before, .flow-list2 li .txtarea:after {
	content: "";
	display: block;
	position: absolute;
	top: 15px
}
.flow-list2 li .txtarea:before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #1d1d1d;
	border-radius: 50%;
	left: -9px
}
@media all and (max-width: 639px) {
	.flow-list2 li .txtarea:before {
		left: -55px
	}
}
.flow-list2 li .txtarea:after {
	width: 50px;
	border-bottom: 1px dashed #1d1d1d;
	position: absolute;
	left: 5px
}
@media all and (max-width: 639px) {
	.flow-list2 li .txtarea:after {
		width: 20px;
		left: -40px
	}
}
.flow-list2 li .txtarea .txtarea {
	margin-bottom: 40px
}
.flow-list2 li .txtarea .ttl {
	font-size: 2rem;
	color: #363636;
	margin-bottom: 10px
}
@media all and (max-width: 639px) {
	.flow-list2 li .txtarea .ttl {
		font-size: 1.4rem
	}
}
.flow-list2 li .txtarea .txt {
	font-size: 1.5rem;
	color: #333
}
@media all and (max-width: 639px) {
	.flow-list2 li .txtarea .txt {
		margin-top: 10px;
		font-size: 1.2rem
	}
}
.price-dl dt {
	background: #e3c9a6;
	padding: 14px 20px;
	color: #3a200c;
	border-top: 1px solid #b6b6b6;
	border-bottom: 1px solid #b6b6b6
}
.price-dl dd {
	padding: 20px;
	margin-bottom: 25px
}
.kiritori {
	height: 1px;
	border-top: 1px solid rgba(29, 29, 29, 0.4);
	margin: 50px auto;
	width: 95%;
	display: block
}
.column2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.column2 .child {
	width: 48%
}
@media all and (max-width: 639px) {
	.column2 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}
	.column2 .child {
		width: 100%
	}
	.column2 .child.column2-img {
		-webkit-box-ordinal-group: 0;
		-ms-flex-order: -1;
		order: -1;
		margin-bottom: 30px
	}
}
.txt-contact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.txt-contact>li a {
	display: block;
	position: relative;
	padding-left: 1.8em
}
.txt-contact>li a:before {
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.txt-contact>li.tel a {
	color: #002989;
	font-size: 2rem
}
.txt-contact>li.tel a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	margin-right: 8px
}
@media all and (max-width: 639px) {
	.txt-contact>li.tel a {
		font-size: 1.5rem
	}
	.txt-contact>li.tel a:before {
		margin-right: 0
	}
}
.txt-contact>li.mail {
	margin-left: 15px
}
.txt-contact>li.mail a {
	color: #b6b6b6;
	font-size: 1.5rem;
	line-height: 1.3
}
.txt-contact>li.mail a span {
	display: block
}
.txt-contact>li.mail a:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900;
	margin-right: 8px;
	font-size: 2rem
}
@media all and (max-width: 639px) {
	.txt-contact>li.mail {
		margin-left: 0
	}
	.txt-contact>li.mail a {
		font-size: 1.3rem
	}
	.txt-contact>li.mail a:before {
		font-size: 1.4rem
	}
}
.buttonBox {
	margin: 0 auto 40px;
	position: relative;
	width: 100%;
	max-width: 420px;
	min-width: 150px
}
.buttonBox.type-bm0 {
	margin-bottom: 0px
}
.buttonBox.type-tm30 {
	margin-top: 30px
}
.buttonBox .button {
	padding: 5% 0 0;
	width: 100%;
	height: 80px;
	position: relative;
	text-transform: uppercase;
	color: #1d1d1d;
	font-weight: 700;
	letter-spacing: 1px;
	border: none;
	font-size: 2rem;
	text-align: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	outline: none;
	cursor: pointer;
	-webkit-transition: 0.3s;
	transition: 0.3s
}
@media all and (max-width: 896px) {
	.buttonBox .button {
		padding: 6% 0 0
	}
}
@media all and (max-width: 639px) {
	.buttonBox .button {
		padding: 8% 0 0
	}
}
.buttonBox .button .button_bnr {
	color: #1d1d1d
}
.buttonBox .button .button_bnr span {
	text-align: center;
	margin: 0 auto;
	display: block;
	overflow: hidden;
	text-decoration: none;
	color: #1d1d1d;
	position: relative;
	font-size: 2rem
}
@media all and (max-width: 639px) {
	.buttonBox .button .button_bnr span {
		font-size: 1.3rem;
		padding-right: 60px
	}
}
.buttonBox .button .button_bnr span::before, .buttonBox .button .button_bnr span::after {
	content: "";
	position: absolute;
	background: #1d1d1d
}
.buttonBox .button .button_bnr span::before {
	top: 21px;
	right: 20px;
	height: 1px;
	width: 42px
}
.buttonBox .button .button_bnr span::after {
	top: 17px;
	right: 19px;
	height: 1px;
	width: 10px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}
@media all and (max-width: 639px) {
	.buttonBox.type-w {
		margin: 30px auto;
		text-align: center;
		max-width: 320px
	}
}
.buttonBox::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #b6b6b6;
	-webkit-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: -webkit-transform ease 0.3s;
	transition: -webkit-transform ease 0.3s;
	transition: transform ease 0.3s;
	transition: transform ease 0.3s, -webkit-transform ease 0.3s
}
.buttonBox:hover {
	color: #fff
}
.buttonBox:hover .button_bnr span {
	color: #fff
}
.buttonBox:hover .button_bnr span::before, .buttonBox:hover .button_bnr span::after {
	content: "";
	position: absolute;
	background: #fff
}
.buttonBox:hover::before {
	background: #0044a3;
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transform: scaleX(1);
	transform: scaleX(1)
}
.buttonBox:hover::before .button {
	background: #0044a3
}
.buttonBox .border, .buttonBox .border2 {
	position: absolute;
	background: none;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out
}
.buttonBox .border {
	top: 0;
	left: 0;
	border-left: 1px solid #1d1d1d;
	border-top: 1px solid #1d1d1d;
	width: 30px;
	height: 30px
}
.buttonBox .border2 {
	bottom: 0;
	right: 0;
	border-right: 1px solid #1d1d1d;
	border-bottom: 1px solid #1d1d1d;
	width: 30px;
	height: 30px
}
.buttonBox:hover .border, .buttonBox:hover .border2 {
	width: 102%;
	height: 105%
}
.buttonBox.type1 .button {
	background: #1d1d1d;
	color: #fff
}
.buttonBox.type1 .button_bnr span {
	color: #fff
}
.buttonBox.type1 .button_bnr span::before, .buttonBox.type1 .button_bnr span::after {
	content: "";
	position: absolute;
	background: #fff
}
.buttonBox.type1 .border {
	border-left: 1px solid #58cbb6;
	border-top: 1px solid #58cbb6
}
.buttonBox.type1 .border2 {
	border-right: 1px solid #58cbb6;
	border-bottom: 1px solid #58cbb6
}
.buttonBox.type1:hover {
	color: #fff
}
.buttonBox.type1:hover .button_bnr span {
	color: #fff
}
.buttonBox.type1:hover .button_bnr span::before, .buttonBox.type1:hover .button_bnr span::after {
	content: "";
	position: absolute;
	background: #fff
}
.buttonBox.type1:hover::before {
	background: #0044a3;
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transform: scaleX(1);
	transform: scaleX(1)
}
.buttonBox.type1:hover::before .button {
	background: #0044a3
}
.animation-content .animation-bar {
	position: relative;
	width: 100%;
	display: inline-block;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.animation-content .animation-bar::before {
	-webkit-animation: animation-bar 0.8s ease 0s 1 normal forwards;
	animation: animation-bar 0.8s ease 0s 1 normal forwards
}
.top-concept-box {
	margin: 0 auto 0;
	max-width: 980px;
	padding: 50px 0 60px;
	position: relative;
	z-index: 2;
	background-color: #fff
}
.top-concept-box::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 70px;
	top: -5%;
	left: 50%;
	background: #b6b6b6
}
@media all and (max-width: 639px) {
	.top-concept-box {
		padding-bottom: 30px
	}
}
.title-big {
	text-align: center
}
.title-big .eng {
	display: block;
	font-size: 3rem;
	font-weight: 600
}
.title-big .ja {
	font-size: 3rem;
	font-weight: 900;
	color: #1d1d1d
}
@media all and (max-width: 639px) {
	.title-big .eng {
		display: block;
		font-size: 1.8rem;
		font-weight: 600
	}
	.title-big .ja {
		font-size: 1.5rem;
		font-weight: 900;
		color: #1d1d1d
	}
}
.top-concept-box .top-concept-txt {
	font-size: 1.3rem
}
.top-concept-box p {
	padding: 0 30px;
	font-size: 1.6rem
}
@media all and (max-width: 639px) {
	.top-concept-box p {
		font-size: 1.2rem
	}
}
.animation-content .animation-bar {
	position: relative;
	width: 100%;
	display: inline-block;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.animation-content .animation-bar::before {
	-webkit-animation: animation-bar 0.8s ease 0s 1 normal forwards;
	animation: animation-bar 0.8s ease 0s 1 normal forwards
}
.business-box {
	max-width: 1500px;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	margin-bottom: 100px
}
.business-box.type-b0 {
	margin-bottom: 0
}
.business-box .ttl {
	margin: 20px 0;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	position: relative;
	font-size: 2rem
}
.business-box .ttl:before {
	position: absolute;
	content: "";
	width: 70px;
	height: 1px;
	background-color: #1d1d1d;
	top: 15px;
	left: -90px
}
.business-box .txtarea {
	margin: 0 auto 50px;
	background: #fff;
	padding: 30px 25px 10px
}
@media all and (max-width: 639px) {
	.business-box {
		margin-bottom: 20px;
		position: relative
	}
	.business-box .photo {
		width: 100% !important;
		position: relative;
		overflow: hidden
	}
	.business-box .photo:before {
		position: absolute;
		content: "";
		width: 100%;
		height: 50%;
		bottom: 0;
		background: #ececec;
		background: -webkit-gradient(linear, left top, left bottom, from(rgba(236, 236, 236, 0)), to(rgba(0, 0, 0, 0.8)));
		background: linear-gradient(180deg, rgba(236, 236, 236, 0) 0%, rgba(0, 0, 0, 0.8) 100%)
	}
	.business-box .photo img {
		width: 100%;
		height: 200px;
		-o-object-fit: cover;
		object-fit: cover
	}
	.business-box .ttl {
		margin: -44px auto 10px;
		font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
		font-weight: 500;
		position: relative;
		font-size: 1.6rem;
		text-align: center;
		color: #fff
	}
	.business-box .ttl:before {
		position: absolute;
		content: "";
		width: 20px;
		height: 1px;
		background-color: #1d1d1d;
		top: 15px;
		left: -10px
	}
	.business-box .txtarea {
		margin: 0 auto 50px;
		background: #fff;
		padding: 20px 20px
	}
}
.business-box.reverse .photo {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2
}
.business-box.reverse .detail {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	margin-left: 0;
	margin-right: 4%
}
.business-box.reverse .ttl {
	margin-right: 0;
	text-align: right
}
.business-box.reverse .ttl:before {
	position: absolute;
	content: "";
	width: 70px;
	height: 1px;
	background-color: #1d1d1d;
	top: 15px;
	left: auto;
	right: -90px
}
@media all and (max-width: 639px) {
	.business-box.reverse .photo {
		width: 100% !important;
		position: relative;
		overflow: hidden
	}
	.business-box.reverse .photo:before {
		position: absolute;
		content: "";
		width: 100%;
		height: 50%;
		bottom: 0;
		background: #ececec;
		background: -webkit-gradient(linear, left top, left bottom, from(rgba(236, 236, 236, 0)), to(rgba(0, 0, 0, 0.8)));
		background: linear-gradient(180deg, rgba(236, 236, 236, 0) 0%, rgba(0, 0, 0, 0.8) 100%)
	}
	.business-box.reverse .photo img {
		width: 100%;
		height: 200px;
		-o-object-fit: cover;
		object-fit: cover
	}
	.business-box.reverse .detail {
		margin-left: auto;
		margin-right: auto
	}
	.business-box.reverse .ttl {
		margin: -44px auto 10px;
		font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
		font-weight: 500;
		position: relative;
		font-size: 1.6rem;
		text-align: center
	}
	.business-box.reverse .ttl:before {
		position: absolute;
		content: "";
		width: 20px;
		height: 1px;
		background-color: #1d1d1d;
		top: 15px;
		right: -10px
	}
	.business-box.reverse .txtarea {
		margin: 0 auto 50px;
		background: #fff;
		padding: 20px 20px
	}
}
.gallary-box {
	margin-top: 100px
}
.contact-box {
	max-width: 1500px;
	width: calc(100% - 100px);
	margin: 0 auto
}
@media all and (max-width: 896px) {
	.contact-box {
		width: calc(100% - 40px)
	}
}
@media all and (max-width: 639px) {
	.contact-box {
		width: calc(100% - 20px);
		margin-top: 0
	}
}
.contact-box .contact-ttl {
	text-align: center;
	color: #000;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500
}
.contact-box .contact-ttl .eng {
	font-size: 5rem
}
.contact-box .contact-ttl .ja {
	display: block;
	font-size: 2rem
}
.company-box {
	position: relative;
	max-width: 1200px;
	margin: 0px auto 50px;
	z-index: 100
}
.company-box .txtarea {
	padding: 30px 60px
}
.company-box .txtarea .ttl {
	font-size: 2.3rem;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	color: #fff;
	position: relative;
	margin-bottom: 50px
}
.company-box .txtarea .ttl:before {
	position: absolute;
	content: "";
	width: 20%;
	height: 1px;
	background-color: #374c6b;
	bottom: -20px;
	left: 0
}
.company-box .txtarea .name-img {
	width: 100%;
	margin-left: auto;
	margin-right: 0;
	margin-top: 20px;
	text-align: right
}
@media all and (max-width: 639px) {
	.company-box .txtarea {
		padding: 30px 0px
	}
	.company-box .txtarea .ttl {
		font-size: 1.6rem
	}
	.company-box .txtarea .ttl:before {
		position: absolute;
		content: "";
		width: 30%;
		height: 1px;
		background-color: #374c6b;
		bottom: -20px;
		left: 0
	}
}
.company-box .company-img {
	position: relative
}
.company-box .company-img:before {
	position: absolute;
	content: "";
	background: url(../img/blue-dot.png) repeat;
	background-size: 8px 5px;
	width: 90%;
	height: 90%;
	top: 30px;
	right: -40px;
	z-index: -1
}
@media all and (max-width: 639px) {
	.company-box .company-img:before {
		width: 80%;
		height: 98%;
		right: -20px
	}
}
@media all and (max-width: 639px) {
	.company-box .company-img {
		width: 80%;
		height: 98%
	}
}
.company-box .company-img img {
	width: 100%
}
.style-nav {
	max-width: 1200px;
	margin: 100px auto 50px;
	text-align: center;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500
}
.style-nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.style-nav ul li {
	margin: 0 1% 30px
}
.style-nav ul li a {
	padding: 10px 30px;
	color: #333;
	border: 1px solid #333
}
.style-nav ul li a:hover {
	color: #fff;
	background-color: #666565;
	background-color: #333
}
@media all and (max-width: 639px) {
	.style-nav {
		padding: 0 20px;
		margin: 50px auto
	}
	.style-nav ul {
		-webkit-box-pack: left;
		-ms-flex-pack: left;
		justify-content: left
	}
	.style-nav ul li {
		margin-bottom: 12px
	}
	.style-nav ul li a {
		padding: 5px 10px
	}
}
.style-box {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 100px
}
.style-box.type-p0 {
	padding-top: 0
}
.style-box .ttlarea {
	position: relative
}
.style-box .sub-ttl {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	position: absolute;
	font-size: 7rem;
	opacity: 0.2;
	top: -52px;
	right: 0
}
.style-box .ttl {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 3rem;
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid #5f5f5f
}
.style-box .style-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.style-box .style-list li {
	width: 18%;
	margin: 0 1% 20px
}
.style-box .style-list li:nth-child(5n) {
	margin-right: 0
}
@media all and (max-width: 639px) {
	.style-box .sub-ttl {
		font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
		font-weight: 500;
		position: inherit;
		font-size: 2rem;
		line-height: 1rem;
		opacity: 0.2;
		top: 0;
		right: 0
	}
	.style-box .ttl {
		font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
		font-weight: 500;
		font-size: 1.8rem;
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: 1px solid #5f5f5f
	}
	.style-box .style-list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
	.style-box .style-list li {
		width: 30%;
		margin: 0 1% 20px
	}
	.style-box .style-list li:nth-child(3n) {
		margin-right: auto
	}
	.style-box .style-list li:nth-child(5n) {
		margin-right: 1%
	}
}
.point-box {
	position: relative;
	margin: 60px auto 0;
	max-width: 1500px;
	width: calc(100% - 100px)
}
.point-box .txtarea {
	padding: 40px;
	text-align: center
}
.point-box .btn {
	margin-top: 30px
}
.point-box .btn .btn05 span {
	color: #1d1d1d
}
@media all and (max-width: 896px) {
	.point-box {
		width: calc(100% - 40px)
	}
}
@media all and (max-width: 639px) {
	.point-box {
		width: calc(100% - 20px);
		margin-top: 0
	}
	.point-box .txtarea {
		padding: 40px 0
	}
}
.point-box2 .ttl {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	text-align: center;
	font-size: 3rem;
	position: relative
}
.point-box2 .ttl:before {
	position: absolute;
	content: "";
	width: 1200px;
	height: 2px;
	background-color: #d6d5d5;
	bottom: -15px;
	left: 0;
	right: 0;
	margin: 0 auto
}
.point-box2 .ttl:after {
	position: absolute;
	content: "";
	width: 50px;
	height: 2px;
	background-color: #1d1d1d;
	bottom: -15px;
	left: 0;
	right: 0;
	margin: 0 auto
}
.point-box2 .txt {
	margin-top: 35px;
	text-align: center;
	position: relative
}
@media all and (max-width: 639px) {
	.point-box2 .ttl {
		font-size: 2rem;
		line-height: 2.8rem
	}
	.point-box2 .ttl:before {
		width: 90%
	}
	.point-box2 .txt {
		margin: 35px 15px;
		text-align: left
	}
}
.topic-area {
	position: absolute;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -70px;
	z-index: 10
}
@media all and (max-width: 639px) {
	.topic-area {
		margin-top: 20px;
		position: inherit;
		bottom: 0
	}
}
.topic-box {
	display: table;
	width: calc(100% - 100px);
	margin: 0 auto
}
.topic-box .ttl-area {
	display: table-cell;
	width: 15%;
	background-color: #1d1d1d;
	vertical-align: middle
}
.topic-box .ttl-area .ttl-area-inner {
	padding: 20px 40px
}
@media all and (max-width: 639px) {
	.topic-box .ttl-area .ttl-area-inner {
		padding: 0 40px 0px
	}
}
.topic-box .list-area {
	display: table-cell;
	width: 75%;
	padding: 20px 30px;
	background-color: #f8f6f6
}
@media all and (max-width: 1367px) {
	.topic-box .ttl-area {
		width: 25%
	}
}
@media all and (max-width: 639px) {
	.topic-box {
		display: block;
		width: calc(100% - 20px)
	}
	.topic-box .ttl-area {
		display: block;
		width: 100%;
		padding: 50px 40px
	}
	.topic-box .list-area {
		display: block;
		width: 100%;
		padding: 40px 30px
	}
}
@media all and (max-width: 639px) {
	.topic-box {
		display: block
	}
	.topic-box .ttl-area {
		display: block;
		width: 100%;
		padding: 30px 30px 20px
	}
	.topic-box .list-area {
		padding: 20px 20px
	}
}
.about-area {
	position: relative;
	margin: 0 auto;
	padding-bottom: 150px
}
.about-area:before {
	position: absolute;
	content: "";
	width: 65%;
	height: 500px;
	left: 0;
	bottom: 60px;
	background-color: #ffffff
}
@media all and (max-width: 1100px) {
	.about-area:before {
		position: absolute;
		content: "";
		width: 100%;
		height: 500px;
		left: 0
	}
}
@media all and (max-width: 639px) {
	.about-area:before {
		position: absolute;
		content: "";
		width: 100%;
		height: 600px;
		left: 0;
		bottom: 160px
	}
}
@media all and (max-width: 400px) {
	.about-area:before {
		position: absolute;
		content: "";
		width: 100%;
		height: 600px;
		left: 0;
		bottom: 110px
	}
}
.about-area .subtxtarea {
	position: relative;
	max-width: 50%;
	margin: 0 auto 0 10%;
	padding: 30px 0;
	font-size: 1.6rem
}
@media all and (max-width: 1100px) {
	.about-area .subtxtarea {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 30px 50px
	}
}
@media all and (max-width: 639px) {
	.about-area .subtxtarea {
		font-size: 1.2rem
	}
}
.about-box {
	display: block;
	padding: 40px 60px;
	margin: 40px auto 0;
	position: relative;
	max-width: 1200px
}
.about-box .photo {
	margin: 0 auto;
	text-align: center;
	max-width: 800px
}
.about-box .photo img {
	width: 100%
}
.about-box .mainttl-box {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 6rem;
	position: absolute;
	color: #fff;
	top: -50px;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	height: 680px;
	right: 0
}
@media all and (max-width: 1100px) {
	.about-box .mainttl-box {
		-webkit-writing-mode: inherit;
		-ms-writing-mode: inherit;
		writing-mode: inherit
	}
}
@media all and (max-width: 639px) {
	.about-box .mainttl-box {
		font-size: 2rem;
		position: inherit;
		top: 0;
		height: 80px
	}
}
.about-box .mainttl {
	position: relative;
	z-index: 1
}
.about-box .mainttl:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #000;
	left: -20px;
	top: 20px;
	z-index: -1
}
.about-box .txtarea {
	color: #fff;
	padding: 0;
	width: 600px;
	background-color: #232c3d;
	position: absolute;
	top: 230px;
	left: 0
}
@media all and (max-width: 1100px) {
	.about-box .txtarea {
		position: inherit;
		top: -40px;
		right: 0;
		margin: 0 auto
	}
}
@media all and (max-width: 639px) {
	.about-box .txtarea {
		position: inherit;
		top: -40px;
		right: 0;
		margin: 0 auto
	}
}
.about-box .ttl {
	padding: 50px 40px 30px;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 3rem;
	text-align: center;
	position: relative
}
.about-box .ttl:before {
	position: absolute;
	content: "";
	width: 40px;
	height: 1px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: #fff;
	bottom: 15px
}
.about-box .txt {
	padding: 0px 40px 30px;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 1.5rem;
	text-align: center
}
.about-box .btn {
	padding-bottom: 50px
}
@media all and (max-width: 639px) {
	.about-box {
		padding: 10px 20px 0px
	}
	.about-box .photo {
		position: inherit;
		bottom: -40px;
		right: -90px
	}
	.about-box .txtarea {
		position: inherit;
		width: 100%;
		top: 0
	}
	.about-box .ttl {
		font-size: 1.7rem
	}
	.about-box .txt {
		font-size: 1.2rem;
		padding: 0 15px 30px;
		text-align: left
	}
}
.page-box {
	position: relative;
	margin-top: 100px
}
@media all and (max-width: 639px) {
	.page-box {
		margin-top: 50px
	}
}
.page-box .ttlarea {
	position: relative
}
.page-box .ttlarea .ttlsub {
	font-size: 1.8rem;
	line-height: 1;
	text-align: center
}
.page-box .ttlarea .ttlmain {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 3rem;
	margin: 0 auto;
	position: relative;
	text-align: center
}
@media all and (max-width: 639px) {
	.page-box .ttlarea .ttlmain {
		margin-top: 20px;
		font-size: 1.8rem
	}
}
.page-box .txtarea {
	margin-top: 30px
}
@media all and (max-width: 639px) {
	.page-box .txtarea {
		margin-top: 10px
	}
}
.page-box3 {
	position: relative
}
.page-box3 .ttlarea {
	position: relative
}
.page-box3 .ttlarea .photo {
	position: relative
}
.page-box3 .ttlarea .photo:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0.2
}
.page-box3 .ttlarea .photo img {
	z-index: 1
}
.page-box3 .ttlarea .photo .bgextend {
	z-index: -1
}
.page-box3 .ttlarea .photo .bgextend:before {
	z-index: -1
}
.page-box3 .ttlarea .ttl .ttlmain {
	font-size: 2.6rem;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	margin-bottom: 20px;
	position: absolute;
	left: 0;
	margin: 0 auto;
	top: -20px;
	text-align: left;
	padding: 15px 30px;
	background-color: #fff;
	width: auto;
	overflow: inherit
}
.page-box3 .ttlarea .ttl .ttlmain:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	bottom: 0px;
	left: 0;
	border-bottom: 1px solid #1d1d1d
}
.page-box3 .ttlarea .ttl .ttlmain:before {
	top: 0;
	left: 0
}
.page-box3 .ttlarea .ttl .txtsub {
	margin-top: 10%;
	color: #b6b6b6;
	font-size: 2rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	text-align: right
}
.page-box3 .txtarea {
	margin-top: 20px;
	border: 1px solid #b6b6b6;
	padding: 40px
}
@media all and (max-width: 639px) {
	.page-box3 .photo {
		margin-top: 10px
	}
	.page-box3 .photo img {
		height: 150px;
		width: 100%;
		-o-object-fit: cover;
		object-fit: cover
	}
	.page-box3 .ttlarea {
		position: relative
	}
	.page-box3 .ttlarea .photo {
		position: relative
	}
	.page-box3 .ttlarea .photo:before {
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		background-color: #fff;
		opacity: 0.2
	}
	.page-box3 .ttlarea .photo img {
		z-index: 1
	}
	.page-box3 .ttlarea .photo .bgextend {
		z-index: -1
	}
	.page-box3 .ttlarea .photo .bgextend:before {
		z-index: -1
	}
	.page-box3 .ttlarea .ttl .ttlmain {
		top: -10px;
		font-size: 1.8rem;
		padding: 0px 0px 0px;
		margin-bottom: 10px;
		display: block
	}
	.page-box3 .txtarea {
		padding: 20px
	}
}
.recruit-box .txtarea {
	margin-right: 4%
}
.recruit-box .ttl-sub {
	border: 1px solid #7d8faf;
	padding: 10px 20px;
	font-size: 1.4rem;
	max-width: 300px
}
.recruit-box .ttl {
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	font-size: 2.6rem
}
.area-box {
	position: relative
}
@media all and (max-width: 639px) {
	.area-box {
		margin-top: 50px
	}
	.area-box .area-boxtxt {
		text-align: center
	}
}
.service-box {
	position: relative;
	margin: 0 auto
}
.service-box .txtarea {
	position: relative
}
.service-box .txtarea .ttl {
	font-weight: bold;
	font-size: 3rem;
	margin-left: 10px;
	color: #fff
}
.service-box .txtarea .ttl.type1 {
	color: #1d1d1d
}
.service-box .txtarea .txt {
	margin-top: 20px
}
.service-box .txtarea .num {
	font-size: 7rem;
	top: -60px;
	left: 32px;
	color: #cfb25b
}
.service-box .txtarea .num.type2 {
	color: #363636
}
.service-box .photoarea {
	position: absolute;
	right: 10%;
	bottom: -100px;
	width: 280px
}
.service-box .photoarea img {
	width: 100%
}
@media all and (max-width: 896px) {
	.service-box .photoarea {
		right: 4%;
		bottom: -100px;
		width: 240px
	}
}
@media all and (max-width: 639px) {
	.service-box {
		margin: 0px auto 40px
	}
	.service-box .txtarea {
		padding: 30px 15px
	}
	.service-box .txtarea .ttl {
		font-size: 1.8rem
	}
	.service-box .txtarea .num {
		font-size: 3rem;
		top: -34px;
		left: 12px
	}
	.service-box .photoarea {
		position: inherit;
		right: auto;
		left: 0;
		bottom: 20px;
		width: 180px;
		margin-right: auto;
		margin-left: auto
	}
}
.service-box.reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	margin: 0 auto 50px
}
.service-box.reverse .photoarea {
	position: absolute;
	left: 0;
	top: -30px;
	width: 440px
}
@media all and (max-width: 896px) {
	.service-box.reverse .photoarea {
		top: -50px;
		width: 360px
	}
}
@media all and (max-width: 639px) {
	.service-box.reverse .photoarea {
		position: inherit;
		right: auto;
		left: 0;
		top: -22px;
		width: 300px;
		margin-right: auto;
		margin-left: auto
	}
}
.service-list {
	margin-top: 40px
}
.service-list li {
	background-color: #fff;
	border-radius: 5px;
	padding: 20px
}
.service-list li:hover {
	background-color: rgba(255, 255, 255, 0.7)
}
.service-list a {
	display: block
}
.service-list .txt {
	text-align: center;
	color: #000;
	font-weight: bold;
	margin-top: 10px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: absolute;
	top: -10px;
	left: 20px;
	background-color: #363636;
	color: #fff;
	padding: 10px 8px 20px
}
.service-list .icon {
	max-width: 160px;
	margin: 0 auto
}
.service-list .icon img {
	width: 100%
}
.info-list {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	-webkit-box-pack: left;
	-ms-flex-pack: left;
	justify-content: left
}
.info-list li .ttl {
	border-top: 2px solid #b6b6b6;
	text-align: center;
	padding-top: 10px;
	font-weight: bold
}
.info-list li .txt {
	margin-top: 10px;
	font-size: 1.4rem
}
.info-list li .txt span {
	color: #1d1d1d
}
.business-list {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	-webkit-box-pack: left;
	-ms-flex-pack: left;
	justify-content: left
}
.business-list li {
	margin-bottom: 40px
}
.business-list li:last-child {
	margin-bottom: 0
}
.business-list li .ttl {
	padding-top: 10px;
	font-weight: bold
}
.business-list li .ttl span {
	color: #fff;
	background-color: #1d1d1d;
	padding: 5px 20px
}
.business-list li .ttl span.m-10 {
	margin-right: 10px
}
.business-list li .txt {
	margin-top: 10px;
	font-size: 1.4rem
}
.business-list li .txt span {
	color: #1d1d1d
}
.news-list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	padding: 4px 4px 6px;
	border-bottom: 0.9px solid #ddd
}
.news-list li:not(:last-of-type) {
	margin-bottom: 15px
}
.news-list li .data {
	width: 12%;
	font-size: 1.6rem;
	color: #fff;
	padding: 4px 6px;
	background-color: #232c3d;
	max-width: 110px
}
@media all and (max-width: 1367px) {
	.news-list li .data {
		width: 18%
	}
}
@media all and (max-width: 639px) {
	.news-list li .data {
		font-size: 12px
	}
}
.news-list li .tag {
	font-size: 1.4rem;
	color: #fff;
	background-color: #1d1d1d;
	border: 0.9px solid #1d1d1d;
	padding: 4px 6px;
	margin-left: 20px;
	width: 120px;
	text-align: center
}
@media all and (max-width: 639px) {
	.news-list li .tag {
		font-size: 12px;
		margin-left: 0px
	}
}
.news-list li .txt {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0;
	font-size: 1.6rem;
	line-height: 1.4;
	margin-left: 10px
}
.news-list li a {
	width: 85%;
	margin-left: 2%;
	color: #000;
	text-decoration: underline
}
.news-list li a:hover {
	opacity: 0.5
}
@media all and (max-width: 896px) {
	.news-list li {
		display: block
	}
	.news-list li .data {
		display: inline-block;
		font-size: 1.2rem;
		padding: 4px;
		margin-left: 0;
		width: auto
	}
	.news-list li .txt {
		margin: 5px 0 0;
		display: block;
		font-size: 1.2rem
	}
}
.single.type1 {
	padding-bottom: 0
}
.single.type2 {
	padding: 20px 0 40px
}
.single.type4 {
	padding: 20px 0 40px
}
@media all and (max-width: 639px) {
	.single.type4 {
		padding: 20px 20px 40px
	}
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
@media all and (max-width: 639px) {
	.flex {
		display: block
	}
}
.flex.w-100 {
	width: 100%
}
.flex.j-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.flex.a-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.flex.a-first {
	-ms-flex-wrap: inherit;
	flex-wrap: inherit;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start
}
@media all and (max-width: 1100px) {
	.flex.flex-pro {
		display: block
	}
}
@media all and (max-width: 1100px) {
	.flex.flex-pro .flex-48 {
		width: 100%;
		margin: 0 auto
	}
}
.flex.flex-pro .flex-60 {
	width: 60%
}
@media all and (max-width: 1100px) {
	.flex.flex-pro .flex-60 {
		width: 100%;
		margin: 0 auto
	}
}
@media all and (max-width: 896px) {
	.flex.flex-tablet {
		display: block
	}
}
.flex.flex-tablet .flex-30 {
	width: 30%
}
@media all and (max-width: 896px) {
	.flex.flex-tablet .flex-30 {
		width: 90%;
		margin: 0 auto
	}
}
.flex.flex-tablet .flex-40 {
	width: 40%
}
@media all and (max-width: 896px) {
	.flex.flex-tablet .flex-40 {
		width: 100%
	}
}
.flex.flex-tablet .flex-50 {
	width: 50%
}
@media all and (max-width: 896px) {
	.flex.flex-tablet .flex-50 {
		width: 100%
	}
}
.flex.flex-tablet .flex-60 {
	width: 60%
}
@media all and (max-width: 896px) {
	.flex.flex-tablet .flex-60 {
		width: 90%;
		margin: 0 auto
	}
}
.flex.flex-tablet .flex-70 {
	width: 70%
}
@media all and (max-width: 896px) {
	.flex.flex-tablet .flex-70 {
		width: 100%
	}
}
.flex .flex-15 {
	width: 15%
}
@media all and (max-width: 639px) {
	.flex .flex-15 {
		width: 50%;
		margin: 0 auto
	}
}
.flex .flex-20 {
	width: 20%
}
@media all and (max-width: 639px) {
	.flex .flex-20 {
		width: 90%;
		margin: 0 auto
	}
}
.flex .flex-25 {
	width: 25%
}
@media all and (max-width: 639px) {
	.flex .flex-25 {
		width: 90%;
		margin: 0 auto
	}
}
.flex .flex-30 {
	width: 30%
}
@media all and (max-width: 639px) {
	.flex .flex-30 {
		width: 90%;
		margin: 0 auto
	}
}
.flex .flex-38 {
	width: 38%
}
@media all and (max-width: 639px) {
	.flex .flex-38 {
		width: 80%;
		margin: 0 auto
	}
}
.flex .flex-40 {
	width: 40%
}
@media all and (max-width: 639px) {
	.flex .flex-40 {
		width: 100%;
		margin-left: auto;
		margin-right: auto
	}
}
.flex .flex-48 {
	width: 48%
}
@media all and (max-width: 639px) {
	.flex .flex-48 {
		width: 90%;
		margin-left: auto;
		margin-right: auto
	}
}
.flex .flex-48.l-m2 {
	margin-left: 2%
}
@media all and (max-width: 639px) {
	.flex .flex-48.l-m2 {
		width: 90%;
		margin-left: auto;
		margin-right: auto
	}
}
.flex .flex-48.l-m4 {
	margin-left: 4%
}
@media all and (max-width: 639px) {
	.flex .flex-48.l-m4 {
		width: 90%;
		margin-left: auto;
		margin-right: auto
	}
}
.flex .flex-50 {
	width: 50%
}
@media all and (max-width: 896px) {
	.flex .flex-50 {
		width: 100%
	}
}
.flex .flex-56 {
	width: 56%
}
.flex .flex-56.l-m4 {
	margin-left: 4%
}
@media all and (max-width: 896px) {
	.flex .flex-56.l-m4 {
		width: 100%;
		margin-left: auto;
		margin-right: auto
	}
}
@media all and (max-width: 896px) {
	.flex .flex-56 {
		width: 100%
	}
}
.flex .flex-58 {
	width: 58%
}
@media all and (max-width: 639px) {
	.flex .flex-58 {
		width: 90%;
		margin-left: auto;
		margin-right: auto
	}
}
.flex .flex-58.l-m2 {
	margin-left: 2%
}
@media all and (max-width: 639px) {
	.flex .flex-58.l-m2 {
		width: 90%;
		margin-left: auto;
		margin-right: auto
	}
}
.flex .flex-60 {
	width: 60%
}
@media all and (max-width: 639px) {
	.flex .flex-60 {
		width: 100%
	}
}
.flex .flex-62 {
	width: 62%;
	margin-left: 4%
}
@media all and (max-width: 639px) {
	.flex .flex-62 {
		width: 100%;
		margin-left: auto
	}
}
.flex .flex-68 {
	width: 68%;
	margin-left: 2%
}
@media all and (max-width: 639px) {
	.flex .flex-68 {
		margin-left: auto;
		width: 100%
	}
}
.flex .flex-70 {
	width: 70%
}
@media all and (max-width: 639px) {
	.flex .flex-70 {
		width: 100%
	}
}
.flex .flex-78 {
	width: 78%;
	margin-left: 2%
}
@media all and (max-width: 639px) {
	.flex .flex-78 {
		margin-left: auto;
		width: 100%
	}
}
.flex .flex-80 {
	width: 80%;
	margin-left: 3%
}
@media all and (max-width: 639px) {
	.flex .flex-80 {
		margin-left: auto;
		width: 100%
	}
}
.flex .flex-83 {
	width: 83%;
	margin-left: 2%
}
@media all and (max-width: 639px) {
	.flex .flex-83 {
		margin-left: auto;
		width: 100%
	}
}
.contentlist {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.contentlist li {
	width: 22%;
	margin-left: 2%;
	padding: 30px 30px;
	border: 5px solid #ebecec;
	position: relative
}
.contentlist li:first-child {
	margin-left: 0
}
@media all and (max-width: 1100px) {
	.contentlist li {
		width: 48%;
		margin-bottom: 20px
	}
	.contentlist li:first-child {
		margin-left: 0
	}
	.contentlist li:nth-child(3) {
		margin-left: 0
	}
}
@media all and (max-width: 1100px) {
	.contentlist li {
		width: 90%;
		margin: 0 auto 20px
	}
	.contentlist li:first-child {
		margin-left: auto
	}
	.contentlist li:nth-child(3) {
		margin-left: auto
	}
}
.contentlist li .ttl {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center
}
.contentlist li .txtarea {
	margin-top: 15px
}
.contentlist li .txt {
	position: relative;
	padding-left: 20px
}
.contentlist li .txt:before {
	position: absolute;
	content: "";
	left: 0;
	top: 12px;
	width: 12px;
	height: 4px;
	background-color: #1d1d1d
}
.contentlist li .txt:after {
	position: absolute;
	content: "";
	left: 0;
	top: 16px;
	width: 12px;
	height: 2px;
	background-color: #374c6b
}
.slide_list li {
	margin-right: 1%
}
@media all and (max-width: 639px) {
	.slide_list li {
		width: 180px;
		height: 205px
	}
}
.business_btn {
	margin: 10px auto 20px
}
.business_btn a {
	display: inline-block;
	background-color: rgba(29, 29, 29, 0.8);
	color: #fff;
	padding: 5px 10px;
	border-radius: 5px;
	margin-right: 5px
}
.business_btn a:hover {
	background-color: #b6b6b6
}
.arrow-line {
	position: absolute;
	color: #fff;
	display: inline-block;
	text-decoration: none;
	outline: none;
	width: 150px;
	bottom: 40px;
	right: 50px
}
@media all and (max-width: 1100px) {
	.arrow-line {
		width: 100px
	}
}
@media all and (max-width: 896px) {
	.arrow-line {
		width: 70px;
		bottom: 30px
	}
}
@media all and (max-width: 639px) {
	.arrow-line {
		width: 50px;
		bottom: 30px
	}
}
.arrow-line:before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 200px;
	height: 1px;
	background: #fff
}
.arrow-line:after {
	content: "";
	position: absolute;
	bottom: -2px;
	right: 10px;
	width: 21px;
	height: 11px;
	border-top: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}
@media all and (max-width: 639px) {
	.arrow-line:after {
		bottom: -3px;
		width: 18px
	}
}
.arrow-line:before {
	-webkit-animation: arrowlong01 2s ease infinite;
	animation: arrowlong01 2s ease infinite
}
.arrow-line:after {
	-webkit-animation: arrowlong02 2s ease infinite;
	animation: arrowlong02 2s ease infinite
}
@-webkit-keyframes arrowlong01 {
	0% {
		width: 0;
		opacity: 0
	}
	20% {
		width: 0;
		opacity: 1
	}
	80% {
		width: 105%;
		opacity: 1
	}
	100% {
		width: 105%;
		opacity: 0
	}
}
@keyframes arrowlong01 {
	0% {
		width: 0;
		opacity: 0
	}
	20% {
		width: 0;
		opacity: 1
	}
	80% {
		width: 105%;
		opacity: 1
	}
	100% {
		width: 105%;
		opacity: 0
	}
}
@-webkit-keyframes arrowlong02 {
	0% {
		left: 0;
		opacity: 0
	}
	20% {
		left: 0;
		opacity: 1
	}
	80% {
		left: 100%;
		opacity: 1
	}
	100% {
		left: 100%;
		opacity: 0
	}
}
@keyframes arrowlong02 {
	0% {
		left: 0;
		opacity: 0
	}
	20% {
		left: 0;
		opacity: 1
	}
	80% {
		left: 100%;
		opacity: 1
	}
	100% {
		left: 100%;
		opacity: 0
	}
}
.bg-green {
	background-color: #1f8836
}
@media all and (max-width: 896px) {
	.recruitbox {
		padding-bottom: 30px
	}
}
.recruitbox .txt {
	font-size: 2rem;
	font-weight: bold
}
@media all and (max-width: 896px) {
	.recruitbox .txt {
		font-size: 1.6rem
	}
}
.recruitbox figure {
	-webkit-clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
	clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%)
}
@media all and (max-width: 896px) {
	.recruitbox figure {
		padding: 30px 0;
		-webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%)
	}
}
@media all and (max-width: 896px) {
	.recruitbox {
		margin-top: 0px
	}
	.recruitbox .recruitbox-txt {
		padding: 0 20px
	}
}
a.btn_08 {
	position: relative;
	display: block;
	color: #ffffff;
	font-size: 16px;
	text-decoration: none;
	text-align: center;
	width: 400px;
	height: 50px;
	margin: 40px auto 0;
	text-align: center
}
@media all and (max-width: 896px) {
	a.btn_08 {
		width: 300px
	}
}
a.btn_08::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	width: 400px;
	height: 50px;
	background: linear-gradient(155deg, silver 20%, silver 40%, silver 51%, silver 80%);
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
@media all and (max-width: 896px) {
	a.btn_08::before {
		width: 300px
	}
}
a.btn_08::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	width: 400px;
	height: 50px;
	background-color: #333;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transform: translate(0, -10px);
	transform: translate(0, -10px)
}
@media all and (max-width: 896px) {
	a.btn_08::after {
		width: 300px
	}
}
a.btn_08 span {
	position: relative;
	display: block;
	margin: 0 auto;
	text-align: center;
	overflow: hidden;
	z-index: +1;
	height: 50px
}
a.btn_08 span::before {
	content: "";
	position: absolute;
	top: -180px;
	left: 0;
	width: 30px;
	height: 120px;
	background-color: rgba(255, 255, 255, 0.8);
	opacity: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}
a.btn_08::after, a.btn_08 span {
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s
}
a.btn_08:hover::after, a.btn_08:hover span {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0)
}
a.btn_08:hover span::before {
	-webkit-animation: shine 1s ease-in-out 1;
	animation: shine 1s ease-in-out 1
}
@-webkit-keyframes shine {
	0% {
		-webkit-transform: scale(1) rotate(45deg);
		transform: scale(1) rotate(45deg);
		opacity: 0
	}
	10% {
		-webkit-transform: scale(1) rotate(45deg);
		transform: scale(1) rotate(45deg);
		opacity: 0.5
	}
	20% {
		-webkit-transform: scale(4) rotate(45deg);
		transform: scale(4) rotate(45deg);
		opacity: 1
	}
	80% {
		-webkit-transform: scale(50) rotate(45deg);
		transform: scale(50) rotate(45deg);
		opacity: 0
	}
}
@keyframes shine {
	0% {
		-webkit-transform: scale(1) rotate(45deg);
		transform: scale(1) rotate(45deg);
		opacity: 0
	}
	10% {
		-webkit-transform: scale(1) rotate(45deg);
		transform: scale(1) rotate(45deg);
		opacity: 0.5
	}
	20% {
		-webkit-transform: scale(4) rotate(45deg);
		transform: scale(4) rotate(45deg);
		opacity: 1
	}
	80% {
		-webkit-transform: scale(50) rotate(45deg);
		transform: scale(50) rotate(45deg);
		opacity: 0
	}
}
.contact_bnr2 li {
	border-radius: 40px;
	padding: 12px 0
}
@media all and (max-width: 639px) {
	.contact_bnr2 li {
		padding: 14px 0;
		max-width: 300px
	}
}
.contact_bnr2 a {
	display: block;
	width: 100%
}
.contact_bnr2 .bnr_tel {
	white-space: nowrap;
	position: relative;
	margin: 0 auto
}
.contact_bnr2 .bnr_tel:before {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
	font-weight: 900;
	margin-right: 5px
}
.contact_bnr2 .bnr_mobile:before {
	font-family: "Font Awesome 5 Free";
	content: "\f3cd";
	font-weight: 900
}
.contact_bnr2 .bnr_fax {
	background: #fdfdfd;
	color: #1d1d1d
}
.contact_bnr2 .bnr_fax:before {
	font-family: "Font Awesome 5 Free";
	content: "\f1ac";
	font-weight: 900
}
.contact_bnr2 .bnr_mail {
	font-size: 1.6rem;
	max-width: 400px;
	margin: 0 auto
}
.contact_bnr2 .bnr_mail:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 900
}
@media all and (max-width: 639px) {
	.contact_bnr2 .bnr_mail {
		font-size: 1.2rem
	}
}
.work-txt.bold span {
	display: inline-block;
	border-bottom: 3px solid #c9c9c9
}
.top-menu {
	position: relative;
	margin: 0 auto;
	padding: 40px 30px;
	z-index: 2;
	max-width: 1500px
}
.top-menu:before {
	position: absolute;
	content: "";
	width: 380px;
	height: 380px;
	background-color: #fff;
	top: 0;
	left: -20px;
	z-index: -1
}
.top-menu:after {
	position: absolute;
	content: "";
	width: 300px;
	height: 200px;
	background-color: rgba(39, 41, 49, 0.3);
	top: 300px;
	left: -200px;
	z-index: -1
}
@media all and (max-width: 639px) {
	.top-menu {
		padding-left: 10px;
		padding-right: 10px
	}
	.top-menu:before {
		position: absolute;
		content: "";
		width: 290px;
		height: 240px;
		background-color: rgba(255, 255, 255, 0.8);
		top: 20px;
		left: -20px;
		z-index: -1
	}
	.top-menu .top-menutxt .ja {
		color: #000
	}
}
.top-menuimg {
	margin-top: 70px;
	max-width: 700px
}
.top-menuimg img {
	width: 100%
}
.top-menuimg .top-menuimg-box {
	display: table;
	width: 100%;
	-webkit-box-shadow: 10px 10px 26px -6px rgba(0, 0, 0, 0.6);
	box-shadow: 10px 10px 26px -6px rgba(0, 0, 0, 0.6);
	margin-bottom: 40px;
	max-width: 710px;
	position: relative
}
.top-menuimg .top-menuimg-box .icon {
	position: absolute;
	top: -40px;
	left: 10px;
	width: 60px;
	z-index: 10
}
.top-menuimg .top-menuimg-box.type2 {
	margin-left: 8%
}
.top-menuimg .top-menuimg-box.type3 {
	margin-left: 16%
}
.top-menuimg .top-menuimg-box figure {
	display: table-cell;
	width: 70%
}
.top-menuimg .top-menuimg-box .txtarea {
	width: 30%;
	background-color: #232C3D;
	color: #fff;
	display: table-cell;
	vertical-align: middle;
	padding: 20px;
	position: relative
}
.top-menuimg .top-menuimg-box .txtarea .ttl {
	font-size: 2rem;
	padding-bottom: 10px;
	margin-bottom: 10px;
	position: relative
}
.top-menuimg .top-menuimg-box .txtarea .ttl:before {
	position: absolute;
	content: "";
	width: 40px;
	height: 1px;
	background-color: #fff;
	left: 0px;
	bottom: 0px
}
.top-menuimg .top-menuimg-box .txtarea .subttl {
	color: #fff;
	font-size: 1.2rem
}
.top-menuimg .top-menuimg-box .txtarea::after {
	content: "";
	position: absolute;
	top: 47%;
	right: 20px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: 0.8s;
	transition: 0.8s
}
.top-menuimg .top-menuimg-box:hover figure {
	overflow: hidden
}
.top-menuimg .top-menuimg-box:hover figure img {
	-webkit-transition: 0.8s;
	transition: 0.8s;
	-webkit-transform: scale(1.08);
	transform: scale(1.08)
}
.top-menuimg .top-menuimg-box:hover .txtarea:after {
	right: 11px
}
@media all and (max-width: 1100px) {
	.top-menuimg {
		margin-top: 30px
	}
	.top-menuimg .top-menuimg-box {
		width: 84%
	}
	.top-menuimg .top-menuimg-box figure img {
		width: 100%;
		min-height: 170px;
		-o-object-fit: cover;
		object-fit: cover
	}
}
@media all and (max-width: 639px) {
	.top-menuimg {
		margin-top: 0px;
		padding-top: 0px
	}
	.top-menuimg .top-menuimg-box {
		width: 100%;
		display: block;
		margin: 50px auto 0px
	}
	.top-menuimg .top-menuimg-box figure {
		width: 100%;
		display: block
	}
	.top-menuimg .top-menuimg-box .txtarea {
		width: 100%;
		display: block
	}
	.top-menuimg .top-menuimg-box .txtarea .ttl {
		font-size: 1.4rem
	}
	.top-menuimg .top-menuimg-box.type2 {
		margin-left: auto
	}
	.top-menuimg .top-menuimg-box.type3 {
		margin-left: auto
	}
}
.top-menutxt {
	max-width: 750px;
	font-weight: bold;
	font-size: 1.8rem;
	margin: 100px auto 0 0;
	margin-right: 4%
}
.top-menutxt.type2 {
	margin-right: auto;
	margin-left: 4%
}
.top-menutxt img {
	width: 100%
}
@media all and (max-width: 639px) {
	.top-menutxt {
		margin: 20px 0px;
		font-size: 1.4rem
	}
}
.top-menutxt .txt {
	font-size: 1.5rem;
	font-weight: 400
}
.top-menutxt .txt.white {
	color: #fff
}
@media all and (max-width: 639px) {
	.top-menutxt .txt {
		margin-bottom: 20px;
		font-size: 1.3rem
	}
}
@media all and (max-width: 1100px) {
	.top-menutxt .btnarea .btn05 a {
		margin-bottom: 20px;
		font-size: 1.4rem
	}
}
@media all and (max-width: 639px) {
	.top-menutxt .btnarea {
		margin-bottom: 40px
	}
}
.top-greet-box {
	margin: 0 auto 0;
	padding: 80px 0 90px;
	position: relative;
	z-index: 2;
	background-color: #fff
}
@media all and (max-width: 896px) {
	.top-greet-box {
		width: 80%
	}
}
@media all and (max-width: 639px) {
	.top-greet-box {
		padding-bottom: 30px
	}
}
.top-greet-box .top-greet-txt {
	font-size: 1.3rem
}
.top-greet-box p {
	padding: 0 30px;
	font-size: 1.6rem
}
@media all and (max-width: 639px) {
	.top-greet-box p {
		font-size: 1.2rem
	}
}
.greet-box {
	position: relative
}
@media all and (max-width: 1367px) {
	.greet-box .flex-48 {
		width: 48%
	}
	.greet-box .flex-50 {
		width: 48%
	}
}
@media all and (max-width: 1100px) {
	.greet-box {
		display: block
	}
	.greet-box .flex-40 {
		width: 100%
	}
	.greet-box .flex-50 {
		width: 90%
	}
	.greet-box .greet-photobox {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}
	.greet-box .greet-photobox .greet-photo {
		width: 31%;
		margin-right: 1%
	}
	.greet-box .greet-photobox .greet-photo:last-child {
		margin-right: 0;
		margin-left: 0;
		margin-top: 0
	}
	.greet-box .greet-photobox .greet-photo2 {
		margin-top: 30px
	}
}
.greet-photobox {
	position: relative;
	z-index: 1
}
.greet-photo2 {
	margin-top: 30px
}
.greet-photo3 {
	margin-top: 30px;
	margin-left: 36%;
	width: 70%
}
.greet-photo3 img {
	width: 100%
}
.greet-subbox {
	position: relative
}
.greet-subbox .greet-photo3 {
	margin-top: 80px;
	margin-left: 2%
}
.txt-line {
	padding-bottom: 5px;
	margin-bottom: 10px;
	position: relative
}
.txt-line::before {
	position: absolute;
	content: "";
	width: 30px;
	height: 2px;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0 auto;
	background-color: #8a8a8a
}
.txt-filter {
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff
}
.whitebox {
	padding: 40px 0;
	background-color: #fff;
	-webkit-box-shadow: 0px 7px 0px 0px rgba(0, 0, 0, 0.6);
	box-shadow: 0px 7px 0px 0px rgba(0, 0, 0, 0.6)
}
.whitebox .f-tel {
	color: #fff;
	border-bottom: 1px solid #fff
}
.whitebox .f-tel:hover {
	opacity: 0.6
}
.whitebox.p0 {
	padding: 0;
	background-color: transparent;
	-webkit-box-shadow: none;
	box-shadow: none
}
.whitebox.white {
	color: #fff
}
.border-box {
	padding: 40px 30px;
	border: 1px solid #363636
}
@media all and (max-width: 639px) {
	.photo-h img {
		width: 100%;
		height: 110px;
		-o-object-fit: cover;
		object-fit: cover
	}
}
.bgextend {
	-webkit-animation-name: bgextendAnimeBase;
	animation-name: bgextendAnimeBase;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	opacity: 0
}
@-webkit-keyframes bgextendAnimeBase {
	from {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
@keyframes bgextendAnimeBase {
	from {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
.bgappear {
	-webkit-animation-name: bgextendAnimeSecond;
	animation-name: bgextendAnimeSecond;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	opacity: 0
}
@-webkit-keyframes bgextendAnimeSecond {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@keyframes bgextendAnimeSecond {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
.bgLRextend::before {
	-webkit-animation-name: bgLRextendAnime;
	animation-name: bgLRextendAnime;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background-color: #111
}
@-webkit-keyframes bgLRextendAnime {
	0% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	50% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(1);
		transform: scaleX(1)
	}
	51% {
		-webkit-transform-origin: right;
		transform-origin: right
	}
	100% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
}
@keyframes bgLRextendAnime {
	0% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	50% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(1);
		transform: scaleX(1)
	}
	51% {
		-webkit-transform-origin: right;
		transform-origin: right
	}
	100% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
}
.bgRLextend::before {
	-webkit-animation-name: bgRLextendAnime;
	animation-name: bgRLextendAnime;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #111
}
@-webkit-keyframes bgRLextendAnime {
	0% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	50% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(1);
		transform: scaleX(1)
	}
	51% {
		-webkit-transform-origin: left;
		transform-origin: left
	}
	100% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
}
@keyframes bgRLextendAnime {
	0% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	50% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(1);
		transform: scaleX(1)
	}
	51% {
		-webkit-transform-origin: left;
		transform-origin: left
	}
	100% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
}
.bgappearTrigger, .bgUDextendTrigger, .bgDUextendTrigger, .bgRLextendTrigger, .bgLRextendTrigger {
	opacity: 0
}
.qa-list dl {
	position: relative;
	margin: 30px 0 0;
	cursor: pointer;
	border: 1px solid #374c6b
}
.qa-list dl:first-child {
	margin-top: 0
}
.qa-list dl:after {
	position: absolute;
	top: 27px;
	right: 26px;
	display: block;
	width: 7px;
	height: 7px;
	margin: auto;
	content: "";
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	border-top: 2px solid #000;
	border-right: 2px solid #000
}
.qa-list .open::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg)
}
.qa-list dl dt {
	position: relative;
	margin: 0;
	padding: 20px 20px 20px 60px;
	font-weight: bold;
	background: #f9fbff
}
.qa-list dl dt:before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	top: 20px;
	left: 20px;
	display: block;
	content: "Q.";
	color: #1d1d1d
}
.qa-list dl dd {
	position: relative;
	margin: 0;
	padding: 20px 20px 20px 60px
}
.qa-list dl dd:before {
	font-size: 22px;
	line-height: 1;
	position: absolute;
	left: 20px;
	display: block;
	content: "A.";
	font-weight: bold;
	color: maroon
}
.qa-list dl dd p {
	margin: 30px 0 0
}
.qa-list dl dd p:first-child {
	margin-top: 0
}
@media all and (max-width: 896px) {
	.qa-list dl {
		margin: 10px 0 0
	}
	.qa-list dl:after {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px
	}
	.qa-list dl dt {
		padding: 16px 26px 16px 40px;
		font-size: 14px
	}
	.qa-list dl dt:before {
		font-size: 14px;
		top: 20px;
		left: 15px
	}
	.qa-list dl dd {
		margin: 0;
		padding: 16px 16px 16px 40px;
		font-size: 14px
	}
	.qa-list dl dd:before {
		font-size: 14px;
		left: 15px;
		margin-top: 5px
	}
	.qa-list dl dd p {
		margin: 30px 0 0
	}
	.qa-list dl dd p:first-child {
		margin-top: 0
	}
}
.menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 8px 4px
}
.menu:before {
	background: radial-gradient(#aaa 20%, transparent 0) center center/8px 8px;
	content: "";
	display: inline-block;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	height: 4px;
	margin: 0 1.2em
}
.menu .left {
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
	max-width: 65%;
	letter-spacing: 0.1rem;
	font-weight: 600;
	position: relative;
	font-size: 2rem
}
.menu .right {
	max-width: 55%;
	text-align: right;
	color: #623b1c;
	font-size: 1.5em
}
@media all and (max-width: 639px) {
	.menu .left {
		font-size: 1.4rem
	}
	.menu .right {
		font-size: 1.4rem
	}
}
.menu-box li {
	margin-bottom: 20px;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500
}
.menu-box li:nth-child(2n) {
	margin-right: 0
}
.menu-box li .txt {
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
	letter-spacing: 0.1rem;
	position: relative;
	font-size: 1.6rem;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #ddd
}
.menu-box li .txt span {
	margin-top: -10px;
	font-size: 1.3rem;
	color: #777676
}
.menu-box li .price {
	text-align: right;
	color: #4e2808;
	font-size: 1.7rem;
	position: relative
}
@media all and (max-width: 639px) {
	.menu-box {
		display: block
	}
	.menu-box li {
		width: 100%;
		margin-right: auto;
		margin: 0 auto 20px
	}
	.menu-box li:nth-child(2n) {
		margin-right: auto
	}
	.menu-box li .txt {
		font-size: 1.2rem
	}
	.menu-box li .price {
		font-size: 1.2rem
	}
}
.menu-list {
	width: 100%;
	margin: 0 auto
}
.menu-list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 2px 4px;
	position: relative;
	font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
	font-weight: 500;
	margin-bottom: 20px
}
.menu-list li:before {
	background: url(../img/price-dot.png) repeat-x;
	content: "";
	display: inline-block;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	width: 100%;
	height: 1px;
	margin: 0 1.2em
}
.menu-list li.no-price:before {
	display: none
}
.menu-list .txt {
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
	max-width: 65%;
	letter-spacing: 0.1rem;
	position: relative;
	font-size: 1.6rem
}
.menu-list .price {
	max-width: 55%;
	text-align: right;
	color: #4e2808;
	font-size: 1.7rem
}
@media all and (max-width: 639px) {
	.menu-list .txt {
		font-size: 1.2rem;
		max-width: 100%
	}
	.menu-list .price {
		font-size: 1.2rem
	}
}
.menu-list2 {
	width: 100%;
	margin: 0 auto
}
.menu-list2 .ttl {
	padding: 2px 4px;
	font-weight: bold;
	width: 20%
}
.menu-list2 .dtl-box {
	width: 80%
}
.menu-list2 .dtl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 2px 4px;
	position: relative
}
.menu-list2 .dtl:before {
	background: radial-gradient(#aaa 20%, transparent 0) center center/8px 8px;
	content: "";
	display: inline-block;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	height: 4px;
	margin: 0 1.2em
}
.menu-list2 .left {
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
	max-width: 65%;
	letter-spacing: 0.1rem;
	position: relative;
	font-size: 1.6rem;
	font-weight: bold
}
.menu-list2 .right {
	max-width: 55%;
	text-align: right;
	color: #4e2808;
	font-size: 1.7rem;
	font-weight: bold
}
@media all and (max-width: 639px) {
	.menu-list2 .ttl {
		width: 100%
	}
	.menu-list2 .dtl-box {
		width: 100%;
		margin-bottom: 10px
	}
	.menu-list2 .left {
		font-size: 1.2rem
	}
	.menu-list2 .right {
		font-size: 1.2rem
	}
}
.clickdown {
	position: absolute;
	bottom: 5%;
	right: 0;
	left: 0;
	margin: 0 auto;
	-webkit-animation: arrowmove 1s ease-in-out infinite;
	animation: arrowmove 1s ease-in-out infinite;
	width: 0px;
	height: 2px
}
.clickdown span {
	position: absolute;
	left: -20px;
	bottom: 10px;
	color: #fff;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl
}
.clickdown:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: -6px;
	width: 1px;
	height: 20px;
	background: #fff;
	-webkit-transform: skewX(-31deg);
	transform: skewX(-31deg)
}
.clickdown:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 1px;
	height: 50px;
	background: #fff
}
@-webkit-keyframes arrowmove {
	0% {
		bottom: 5%
	}
	50% {
		bottom: 7%
	}
	100% {
		bottom: 5%
	}
}
@keyframes arrowmove {
	0% {
		bottom: 5%
	}
	50% {
		bottom: 7%
	}
	100% {
		bottom: 5%
	}
}
@media all and (max-width: 639px) {
	.pconly {
		display: none
	}
}
.sponly {
	display: none
}
@media all and (max-width: 639px) {
	.sponly {
		display: block
	}
}
/*# sourceMappingURL=basis.css.map */