@charset "utf-8";

/* ------------------------------
main
※web版から流用
------------------------------ */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}
body {
	line-height: 1
}
ol,
ul {
	list-style: none
}
blockquote,
q {
	quotes: none
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
button {
	background-color: rgba(0, 0, 0, 0);
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
body {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	line-height: 1.5
}
ul[class],
ol[class] {
	list-style: none
}
a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto
}
img {
	max-width: 100%;
	display: block
}
input,
button,
textarea,
select {
	font: inherit
}
*:focus {
	outline: none
}
@media(prefers-reduced-motion: reduce) {
	* {
			-webkit-animation-duration: 0.01ms !important;
			animation-duration: 0.01ms !important;
			-webkit-animation-iteration-count: 1 !important;
			animation-iteration-count: 1 !important;
			-webkit-transition-duration: 0.01ms !important;
			transition-duration: 0.01ms !important;
			scroll-behavior: auto !important
	}
}
html {
	font-size: 62.5%
}
body {
	background-color: #dcdcdc;
	color: #424242;
	font-size: 14px;
	font-weight: 300;
	width: 100%;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	position: relative;
	-ms-overflow-style: none
}
@media screen and (max-width: 767px) {
	body {
			font-size: 3.733vw
	}
}
input,
textarea {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
}
p {
	line-height: 2
}
a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	outline: none;
	font-weight: 300;
	-webkit-transition: all 0.1s linear;
	transition: all 0.1s linear
}
a:link {
	text-decoration: none
}
sup {
	vertical-align: super;
	font-size: smaller
}
@media(min-width: 768px) {
	a[href^="tel:"] {
			pointer-events: none
	}
}
.header {
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1000;
	opacity: 1
}
.header .container {
	width: 100%;
	padding: 0;
	height: auto;
	background-color: #676862;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.header .container .btn_toTop,
.header .container .sitetitle {
	height: 256px
}
.header .container .btn_toTop {
	width: 256px;
	background-color: #434342
}
.header .container .btn_toTop a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	height: 256px
}
.header .container .btn_toTop a .icon_toTop {
	display: block;
	margin-top: 60px
}
.header .container .btn_toTop a .text {
	color: #fff;
	font-size: 37px;
	width: 100%;
	display: block;
	text-align: center;
	margin-top: -15px
}
.header .container .btn_toTop a:hover {
	opacity: .5
}
.header .page_main-visual {
	background-color: #676862
}
.header .page_main-visual .sitetitle {
	width: 90%;
	max-width: 1094px;
	margin: auto
}
.header .page_main-visual .sitetitle .img_sitetitle {
	display: block;
	width: 100%
}
.control_block {
	display: none
}
.control_block .btn_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap
}
.control_block .btn_list .item {
	width: 34%;
	background-color: #fff;
	border: 1px solid #c3c3c3
}
.control_block .btn_list .item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 114px
}
.control_block .btn_list .item.back a img {
	margin-top: -7px
}
.breadcrumbs {
	padding: 0 52px;
	margin-top: 20px
}
.breadcrumbs .breadcrumbs_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.breadcrumbs .breadcrumbs_list .item a,
.breadcrumbs .breadcrumbs_list .item span {
	display: block;
	font-size: 16px;
	color: #424242
}
.breadcrumbs .breadcrumbs_list .item.arrow span {
	padding: 0 10px
}
@media screen and (max-width: 767px) {
	.header {
			position: static
	}
	.header .page_main-visual .sitetitle {
			width: 100%;
			margin: 0;
			padding-right: 19vw;
			padding-left: 5vw;
			height: 19vw
	}
	.header .page_main-visual .sitetitle .img_sitetitle {
			width: auto;
			height: 19vw;
			margin-right: auto
	}
	.breadcrumbs {
			padding: 0 5vw;
			margin-top: 2.5vw
	}
	.breadcrumbs .breadcrumbs_list .item a,
	.breadcrumbs .breadcrumbs_list .item span {
			font-size: 0.9em
	}
	.breadcrumbs .breadcrumbs_list .item.arrow span {
			padding: 0 0.5em
	}
}
@-webkit-keyframes showHeader {
	0% {
			opacity: 0;
			top: -10px
	}
	100% {
			opacity: 1;
			top: 0
	}
}
@keyframes showHeader {
	0% {
			opacity: 0;
			top: -10px
	}
	100% {
			opacity: 1;
			top: 0
	}
}
@-webkit-keyframes showEntryBtn {
	0% {
			opacity: 0;
			right: -13px
	}
	100% {
			opacity: 1;
			right: -3px
	}
}
@keyframes showEntryBtn {
	0% {
			opacity: 0;
			right: -13px
	}
	100% {
			opacity: 1;
			right: -3px
	}
}
@-webkit-keyframes hiddenEntryBtn {
	0% {
			opacity: 1;
			right: -3px
	}
	100% {
			opacity: 0;
			right: -13px;
			visibility: hidden
	}
}
@keyframes hiddenEntryBtn {
	0% {
			opacity: 1;
			right: -3px
	}
	100% {
			opacity: 0;
			right: -13px;
			visibility: hidden
	}
}
@-webkit-keyframes showEntryBtnSP {
	0% {
			opacity: 0;
			-webkit-transform: translateX(10px);
			transform: translateX(10px)
	}
	100% {
			opacity: 1;
			-webkit-transform: translateX(0px);
			transform: translateX(0px)
	}
}
@keyframes showEntryBtnSP {
	0% {
			opacity: 0;
			-webkit-transform: translateX(10px);
			transform: translateX(10px)
	}
	100% {
			opacity: 1;
			-webkit-transform: translateX(0px);
			transform: translateX(0px)
	}
}
.nav_block.nav_fixed {
	position: fixed;
	top: 0;
	width: 100%;
	-webkit-animation: navFixed 0.3s forwards;
	animation: navFixed 0.3s forwards
}
@-webkit-keyframes navFixed {
	0% {
			opacity: 0;
			-webkit-transform: translateY(-20px);
			transform: translateY(-20px)
	}
	100% {
			opacity: 1;
			-webkit-transform: translateY(0);
			transform: translateY(0)
	}
}
@keyframes navFixed {
	0% {
			opacity: 0;
			-webkit-transform: translateY(-20px);
			transform: translateY(-20px)
	}
	100% {
			opacity: 1;
			-webkit-transform: translateY(0);
			transform: translateY(0)
	}
}
.nav_trigger {
	display: none
}
.nav {
	background-color: #f4f4f5;
	width: 100%;
	position: relative
}
.nav .nav_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	margin: auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap
}
.nav .nav_list .item {
	position: relative;
	width: 20%;
	border-left: 1px solid #676862
}
.nav .nav_list .item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 66px;
	padding-top: 0;
	padding-bottom: 0;
	position: relative;
	z-index: 1000;
	background: #434342;
	color: #fff;
	text-align: center;
	font-size: 1.1em;
	font-weight: 400
}
.nav .nav_list .item a:hover {
	background: #fff;
	color: #424242
}
.nav .nav_list .item.current a {
	background: #fff;
	color: #424242
}
.nav .nav_list .item.current a:hover {
	opacity: .6
}
.nav .nav_list .item.top {
	width: 66px;
	min-width: 66px;
	height: 66px;
	border: none
}
.nav .nav_list .item.top a .icon {
	display: block;
	width: 42%;
	height: auto;
	-webkit-transition: 0.3s;
	transition: 0.3s
}
.nav .nav_list .item.top a .icon .nav_top {
	width: 100%;
	height: auto
}
.nav .nav_list .item.top a .text {
	display: none
}
.nav .nav_list .item.top a:hover {
	background: #434342
}
.nav .nav_list .item.top a:hover .icon {
	opacity: .6
}
.nav .nav_list .item.sp_pulldown {
	display: none
}
.nav .nav_list .item.sp_pulldown a.link_invalid {
	pointer-events: none;
	cursor: pointer
}
.nav .nav_list .item .sub_menu__block {
	display: none;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 20px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 260px;
	height: auto;
	padding: 0;
	z-index: 999
}
.nav .nav_list .item .sub_menu__block .sub_menu__list {
	padding: 0 20px 0 30px;
	width: 100%;
	background-color: #fff;
	border-left: 3px solid #0d0d0d;
	border-right: 3px solid #0d0d0d;
	margin: auto;
	display: block;
	opacity: 0;
	-webkit-transform: translate(-10px, 0);
	transform: translate(-10px, 0)
}
.nav .nav_list .item .sub_menu__block .sub_menu__list .sub_item {
	margin: 0;
	padding-left: 1em;
	text-indent: -1em
}
.nav .nav_list .item .sub_menu__block .sub_menu__list .sub_item a {
	display: block;
	height: auto;
	line-height: 1.6;
	padding: 5px;
	text-align: left
}
.nav .nav_list .item .sub_menu__block .sub_menu__list .sub_item a .red {
	display: inline
}
.nav .nav_list .item .sub_menu__block .sub_menu__list .sub_item a:hover::after {
	display: none
}
.nav .nav_list .item .sub_menu__block.active {
	display: block;
	opacity: 1;
	visibility: visible;
	-webkit-animation: submenu_show 0.5s forwards;
	animation: submenu_show 0.5s forwards
}
.nav .nav_list .item .sub_menu__block.active .sub_menu__list {
	opacity: 1;
	visibility: visible
}
@media screen and (min-width: 768px)and (max-width: 1080px) {
	.nav .nav_list .item a {
			height: 70px;
			line-height: 1.4
	}
	.nav .nav_list .item.top {
			height: 70px;
			width: 63px;
			min-width: 63px
	}
}
@media screen and (max-width: 767px) {
	.nav_block.nav_fixed {
			position: static;
			-webkit-animation: none;
			animation: none
	}
	.nav_trigger {
			background-color: #434342;
			display: block;
			cursor: pointer;
			width: 19vw;
			height: 19vw;
			z-index: 999;
			margin-left: auto;
			position: fixed;
			top: 0;
			right: 0;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: end;
			-ms-flex-pack: end;
			justify-content: flex-end;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			padding: 4vw;
			-webkit-box-sizing: border-box;
			box-sizing: border-box
	}
	.nav_trigger span {
			display: block;
			width: 100%;
			height: 2px;
			background-color: #fff;
			-webkit-transition: all 0.4s;
			transition: all 0.4s;
			-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.175);
			transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.175)
	}
	.nav_trigger.active span::before {
			display: none
	}
	.nav_trigger.active span.top {
			-webkit-transform: translateY(3vw) rotate(-135deg);
			transform: translateY(3vw) rotate(-135deg);
			width: 100%
	}
	.nav_trigger.active span.middle {
			opacity: 0;
			left: -10px
	}
	.nav_trigger.active span.bottom {
			-webkit-transform: translateY(-4.1vw) rotate(135deg);
			transform: translateY(-4.1vw) rotate(135deg);
			width: 100%
	}
	.nav {
			background-color: #434342;
			padding: 19vw 0 19vw 9.5vw;
			width: 0;
			height: calc(100vh - 60px);
			opacity: 0;
			visibility: hidden;
			display: none;
			overflow: scroll
	}
	.nav.active {
			position: fixed;
			top: 0;
			right: 0;
			opacity: 1;
			visibility: visible;
			z-index: 10;
			display: block;
			-webkit-animation: navOpen 0.3s forwards;
			animation: navOpen 0.3s forwards
	}
	.nav .nav_list {
			display: block;
			width: 100%;
			max-width: 100%;
			visibility: hidden;
			opacity: 0;
			-webkit-transform: translateX(10px);
			transform: translateX(10px)
	}
	.nav .nav_list .item {
			border: none;
			border-bottom: 1px solid #fff;
			height: auto;
			line-height: 1.8;
			width: 100%;
			margin: 0
	}
	.nav .nav_list .item a {
			color: #fff;
			padding: 0.6em 0;
			margin: 0;
			height: auto;
			line-height: 1.4;
			font-size: 1.24em;
			letter-spacing: 0.08em;
			text-align: left
	}
	.nav .nav_list .item a:hover {
			opacity: 1;
			background: #434342;
			color: #fff
	}
	.nav .nav_list .item a span {
			display: block;
			width: 100%
	}
	.nav .nav_list .item a span.eng {
			font-size: 1.9em;
			line-height: 0.8em
	}
	.nav .nav_list .item a span.ja {
			font-size: 1em;
			line-height: 1.1em;
			margin-top: 2px
	}
	.nav .nav_list .item.top {
			background: none;
			width: 100%;
			min-width: 100%;
			height: auto;
			border-bottom: 1px solid #fff;
			border-top: 1px solid #fff
	}
	.nav .nav_list .item.top a .icon {
			display: none
	}
	.nav .nav_list .item.top a .text {
			display: block !important
	}
	.nav .nav_list .item.top a:hover {
			opacity: 1;
			background: #434342;
			color: #fff
	}
	.nav .nav_list .item.current a {
			background: #434342;
			color: #fff
	}
	.nav .nav_list .item.current a:hover {
			opacity: 1;
			background: #434342;
			color: #fff
	}
	.nav .nav_list .item.sp_pulldown {
			cursor: pointer
	}
	.nav .nav_list .item.sp_pulldown a.link_invalid {
			pointer-events: none;
			cursor: pointer
	}
	.nav .nav_list .item.sp_pulldown a.link_invalid.active::after {
			display: none
	}
	.nav .nav_list .item .sub_menu__block {
			display: none;
			width: 100%;
			position: static;
			top: auto;
			left: auto;
			padding: 0;
			-webkit-box-shadow: none;
			box-shadow: none;
			-webkit-transform: none;
			transform: none;
			background-color: rgba(0, 0, 0, 0)
	}
	.nav .nav_list .item .sub_menu__block::before,
	.nav .nav_list .item .sub_menu__block::after {
			display: none
	}
	.nav .nav_list .item .sub_menu__block .sub_menu__list {
			width: 100%;
			max-width: 100%;
			display: block;
			padding: 0;
			border: none;
			background: none
	}
	.nav .nav_list .item .sub_menu__block .sub_menu__list .sub_item {
			margin: 0.9em 0;
			padding-left: 2em
	}
	.nav .nav_list .item .sub_menu__block .sub_menu__list .sub_item a {
			text-indent: -1em;
			padding: 0 0 0 1em;
			font-size: 1em
	}
	.nav .nav_list .item .sub_menu__block .sub_menu__list::before,
	.nav .nav_list .item .sub_menu__block .sub_menu__list::after {
			display: none
	}
	.nav .nav_list .item .sub_menu__block.open {
			display: block;
			opacity: 1;
			visibility: visible;
			margin-top: 10px
	}
	.nav .nav_list .item .sub_menu__block.open .sub_menu__list {
			opacity: 1
	}
	.nav .nav_list.active {
			z-index: 9999;
			-webkit-animation: navListShow 0.3s forwards;
			animation: navListShow 0.3s forwards;
			-webkit-animation-delay: 0.3s;
			animation-delay: 0.3s
	}
	.nav .nav_list.active li {
			width: 100%;
			padding: 0 5%;
			opacity: 1;
			-webkit-transform: translateX(0);
			transform: translateX(0)
	}
}
@-webkit-keyframes navOpen {
	0% {
			opacity: 0;
			width: 0
	}
	100% {
			opacity: 1;
			width: 88%
	}
}
@keyframes navOpen {
	0% {
			opacity: 0;
			width: 0
	}
	100% {
			opacity: 1;
			width: 88%
	}
}
@-webkit-keyframes navListShow {
	0% {
			-webkit-transform: translateX(10px);
			transform: translateX(10px);
			visibility: hidden;
			opacity: 0
	}
	100% {
			-webkit-transform: translateX(0px);
			transform: translateX(0px);
			visibility: visible;
			opacity: 1
	}
}
@keyframes navListShow {
	0% {
			-webkit-transform: translateX(10px);
			transform: translateX(10px);
			visibility: hidden;
			opacity: 0
	}
	100% {
			-webkit-transform: translateX(0px);
			transform: translateX(0px);
			visibility: visible;
			opacity: 1
	}
}
@-webkit-keyframes submenu_show {
	0% {
			opacity: 0
	}
	100% {
			opacity: 1
	}
}
@keyframes submenu_show {
	0% {
			opacity: 0
	}
	100% {
			opacity: 1
	}
}
@keyframes showHeader {
	0% {
			opacity: 0;
			top: -10px
	}
	100% {
			opacity: 1;
			top: 0
	}
}
@-webkit-keyframes showTopSection {
	0% {
			opacity: 0;
			-webkit-transform: translate(-10px, 0);
			transform: translate(-10px, 0)
	}
	100% {
			opacity: 1;
			-webkit-transform: translate(0, 0);
			transform: translate(0, 0)
	}
}
@keyframes showTopSection {
	0% {
			opacity: 0;
			-webkit-transform: translate(-10px, 0);
			transform: translate(-10px, 0)
	}
	100% {
			opacity: 1;
			-webkit-transform: translate(0, 0);
			transform: translate(0, 0)
	}
}
@keyframes showEntryBtn {
	0% {
			opacity: 0;
			right: -13px
	}
	100% {
			opacity: 1;
			right: -3px
	}
}
@keyframes hiddenEntryBtn {
	0% {
			opacity: 1;
			right: -3px
	}
	100% {
			opacity: 0;
			right: -13px;
			visibility: hidden
	}
}
@keyframes showEntryBtnSP {
	0% {
			opacity: 0;
			-webkit-transform: translateX(10px);
			transform: translateX(10px)
	}
	100% {
			opacity: 1;
			-webkit-transform: translateX(0px);
			transform: translateX(0px)
	}
}
@-webkit-keyframes sp_navList_active {
	0% {
			opacity: 0;
			-webkit-transform: translateX(20px);
			transform: translateX(20px)
	}
	100% {
			opacity: 1;
			-webkit-transform: translateX(0);
			transform: translateX(0)
	}
}
@keyframes sp_navList_active {
	0% {
			opacity: 0;
			-webkit-transform: translateX(20px);
			transform: translateX(20px)
	}
	100% {
			opacity: 1;
			-webkit-transform: translateX(0);
			transform: translateX(0)
	}
}
.footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	background-color: #434342
}
.footer .container {
	width: 100%;
	margin: 0 auto;
	padding: 0
}
.footer .container .box {
	height: 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.footer .container .box .img_footer_title {
	display: block;
	width: auto;
	height: auto
}
.page .footer {
	position: relative
}
#to-top {
	position: absolute;
	right: 30px;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s
}
#to-top a {
	display: block;
	width: 100px;
	height: 100px
}
#to-top a:hover {
	opacity: .6
}
#to-top.fadein {
	opacity: 1
}
@media screen and (max-width: 767px) {
	.footer .container .box {
			height: 16vw
	}
	.footer .container .box .img_footer_title {
			width: 55%
	}
	#to-top {
			right: 10px
	}
	#to-top a {
			width: 13.3vw;
			height: 13.3vw
	}
	#to-top a:hover {
			opacity: 1
	}
	#to-top a:active {
			opacity: .6
	}
}
.wrapper {
	width: 100%;
	margin: auto;
	position: relative;
	opacity: 0;
	visibility: hidden
}
.wrapper.show {
	opacity: 1;
	visibility: visible
}
@media screen and (max-width: 767px) {
	.wrapper {
			min-width: 100%
	}
}
.pc {
	display: block !important
}
@media screen and (max-width: 767px) {
	.pc {
			display: none !important
	}
}
.sp {
	display: none !important
}
@media screen and (max-width: 767px) {
	.sp {
			display: block !important
	}
}
.tablet {
	display: none !important
}
@media screen and (min-width: 768px)and (max-width: 1080px) {
	.tablet {
			display: block !important
	}
}
.bold {
	font-weight: bold
}
#loading {
	display: none !important;
	width: 100%;
	height: 100vh;
	background-color: rgba(255, 255, 255, .9);
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 10000;
	opacity: 1;
	display: block;
	overflow: hidden
}
#loading.hidden_animation {
	opacity: 1;
	display: block;
	-webkit-animation: hidden_animation 1.3s forwards;
	animation: hidden_animation 1.3s forwards;
	-webkit-animation-delay: 0;
	animation-delay: 0
}
@-webkit-keyframes hidden_animation {
	0% {
			opacity: 1;
			display: block
	}
	100% {
			opacity: 0;
			display: none;
			visibility: hidden
	}
}
@keyframes hidden_animation {
	0% {
			opacity: 1;
			display: block
	}
	100% {
			opacity: 0;
			display: none;
			visibility: hidden
	}
}
#loading .catch {
	width: 80px;
	height: 80px;
	border-radius: 100vh;
	border: 5px solid;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(0);
	transform: translate(-50%, -50%) rotate(0);
	-webkit-animation: is_loading 1.1s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
	animation: is_loading 1.1s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86)
}
@-webkit-keyframes is_loading {
	0% {
			-webkit-transform: translate(-50%, -50%) rotate(0deg);
			transform: translate(-50%, -50%) rotate(0deg)
	}
	100% {
			-webkit-transform: translate(-50%, -50%) rotate(360deg);
			transform: translate(-50%, -50%) rotate(360deg)
	}
}
@keyframes is_loading {
	0% {
			-webkit-transform: translate(-50%, -50%) rotate(0deg);
			transform: translate(-50%, -50%) rotate(0deg)
	}
	100% {
			-webkit-transform: translate(-50%, -50%) rotate(360deg);
			transform: translate(-50%, -50%) rotate(360deg)
	}
}
#loading .catch.hidden_catch {
	opacity: 0;
	-webkit-transition: 0.8s;
	transition: 0.8s
}
@media screen and (max-width: 767px) {
	#loading .catch {
			width: 60px;
			height: 60px;
			border-width: 3px
	}
}
.hidden {
	opacity: 0;
	-webkit-transition: all 0.6s;
	transition: all 0.6s
}
.hidden_slide {
	opacity: 0;
	-webkit-transform: translateX(50px);
	transform: translateX(50px);
	-webkit-transition: all 0.6s;
	transition: all 0.6s
}
.hidden_slideRight {
	opacity: 0;
	-webkit-transform: translateX(30px);
	transform: translateX(30px);
	-webkit-transition: all 0.6s;
	transition: all 0.6s
}
.hidden_slideLeft {
	opacity: 0;
	-webkit-transform: translateX(-30px);
	transform: translateX(-30px);
	-webkit-transition: all 0.6s;
	transition: all 0.6s
}
.hidden_fadeup {
	opacity: 0;
	-webkit-transform: translateY(30px);
	transform: translateY(30px);
	-webkit-transition: all 0.6s;
	transition: all 0.6s
}
.show_fadein {
	opacity: 1;
	-webkit-transition: opacity 0.6s;
	transition: opacity 0.6s
}
.show_slide {
	opacity: 1;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s
}
.show_fadeup {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.6s;
	transition: all 0.6s
}
.show_scaleUp {
	opacity: 1;
	-webkit-animation: scaleUp 0.8s forwards cubic-bezier(0.645, 0.045, 0.355, 1);
	animation: scaleUp 0.8s forwards cubic-bezier(0.645, 0.045, 0.355, 1)
}
@-webkit-keyframes scaleUp {
	0% {
			-webkit-transform: scale(0.9);
			transform: scale(0.9)
	}
	50% {
			-webkit-transform: scale(1.1);
			transform: scale(1.1)
	}
	100% {
			-webkit-transform: scale(1);
			transform: scale(1)
	}
}
@keyframes scaleUp {
	0% {
			-webkit-transform: scale(0.9);
			transform: scale(0.9)
	}
	50% {
			-webkit-transform: scale(1.1);
			transform: scale(1.1)
	}
	100% {
			-webkit-transform: scale(1);
			transform: scale(1)
	}
}
.delay_200 {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s
}
.delay_400 {
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s
}
.delay_600 {
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s
}
.delay_800 {
	-webkit-transition-delay: 0.8s;
	transition-delay: 0.8s
}
.delay_1000 {
	-webkit-transition-delay: 1s;
	transition-delay: 1s
}
.delay_1200 {
	-webkit-transition-delay: 1.2s;
	transition-delay: 1.2s
}
.delay_1400 {
	-webkit-transition-delay: 1.4s;
	transition-delay: 1.4s
}
.delay_1600 {
	-webkit-transition-delay: 1.6s;
	transition-delay: 1.6s
}
.delay_1800 {
	-webkit-transition-delay: 1.8s;
	transition-delay: 1.8s
}
.delay_2000 {
	-webkit-transition-delay: 2s;
	transition-delay: 2s
}
.delay_2400 {
	-webkit-transition-delay: 2.4s;
	transition-delay: 2.4s
}
.delay_2800 {
	-webkit-transition-delay: 2.8s;
	transition-delay: 2.8s
}
.delay_3200 {
	-webkit-transition-delay: 3.2s;
	transition-delay: 3.2s
}
.delay_4000 {
	-webkit-transition-delay: 4s;
	transition-delay: 4s
}
main {
	display: block
}
main .container {
	width: auto;
	margin: 0 auto;
	padding: 0;
	position: relative
}
main .container .box {
	width: 100%;
	margin: 0 auto 2em
}
main .container .box:last-child {
	margin-bottom: 0
}
main .container.widthM {
	width: 90%;
	max-width: 800px
}
@media screen and (max-width: 767px) {
	main .container.widthM {
			width: 100%;
			max-width: 100%;
			padding-left: 5vw;
			padding-right: 5vw
	}
}
.page-type__index .wrapper {
	height: auto;
	overflow: hidden
}
.link_section {
	padding: 0
}
.link_section .container .box .btn_list .item {
	width: 100%;
	margin-bottom: 2.6em
}
.link_section .container .box .btn_list .item:last-child {
	margin-bottom: 0
}
.link_section .container .box .btn_list .item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: auto;
	padding: 0.6em 0;
	color: #fff;
	font-size: 2.2em;
	text-align: center;
	border: 1px solid #fff;
	border-radius: 2px
}
.link_section .container .box .btn_list .item a.min {
	font-size: 39px
}
.link_section .container .box .btn_list .item a:hover {
	color: #676862;
	background-color: #fff
}
.link_section .container .box .btn_list.color-gray .item a {
	color: #424242;
	border: 1px solid #424242
}
.link_section .container .box .btn_list.color-gray .item a:hover {
	color: #fff;
	background-color: #424242
}
.link_section .container .box .btn_list.color-white .item a {
	color: #424242;
	border: 1px solid #424242;
	background-color: #fff
}
.link_section .container .box .btn_list.color-white .item a:hover {
	color: #fff;
	background-color: #424242
}
@media screen and (max-width: 767px) {
	.link_section .container .box .btn_list .item {
			margin-bottom: 1.3em
	}
	.link_section .container .box .btn_list .item a {
			padding: 0.6em 0;
			font-size: 1.23em
	}
	.link_section .container .box .btn_list .item a.min {
			font-size: 1em
	}
	.link_section .container .box .btn_list .item a:hover {
			color: #fff;
			background-color: rgba(0, 0, 0, 0)
	}
	.link_section .container .box .btn_list .item a:active {
			color: #676862;
			background-color: #fff
	}
	.link_section .container .box .btn_list.color-gray .item a:hover {
			color: #424242;
			background-color: rgba(0, 0, 0, 0)
	}
	.link_section .container .box .btn_list.color-gray .item a:active {
			color: #fff;
			background-color: #424242
	}
	.link_section .container .box .btn_list.color-white .item a:hover {
			color: #424242;
			background-color: #fff
	}
	.link_section .container .box .btn_list.color-white .item a:active {
			color: #fff;
			background-color: #424242
	}
}
.page_title {
	font-size: 2.8em;
	text-align: center;
	letter-spacing: 4px
}
.page_title .min {
	display: block;
	font-size: 0.7em
}
.page_title .underline {
	border-bottom: 1px solid #424242;
	padding-top: 10px;
	padding-bottom: 10px
}
.page_title .decoration {
	display: block;
	padding-top: 50px;
	padding-bottom: 50px;
	background: url('../images/common/title_deco.png') no-repeat;
	background-size: auto;
	background-position: center bottom
}
.page_title .decoration.min08em {
	font-size: 0.8em
}
.page_title .decoration.min07em {
	font-size: 0.73em
}
.page_title.font48 {
	font-size: 48px
}
@media screen and (max-width: 767px) {
	.page_title {
			font-size: 1.5em;
			letter-spacing: 0.05em
	}
	.page_title .min {
			font-size: 0.7em
	}
	.page_title .underline {
			border-bottom: 1px solid #a6a6a6;
			padding-top: 0.3em;
			padding-bottom: 0.5em
	}
	.page_title .decoration {
			padding-top: 0.6em;
			padding-bottom: 0.8em;
			background-size: 58%
	}
	.page_title .decoration.min08em {
			font-size: 1em
	}
	.page_title .decoration.min07em {
			font-size: 1em
	}
}
.page_catch {
	text-align: center;
	padding: 3.2em 0;
	letter-spacing: 4px
}
.page_catch .large {
	display: block;
	font-size: 2.8em;
	line-height: 1.3em
}
.page_catch .mid {
	display: block;
	font-size: 2.14em;
	padding: 0.4em 0
}
.page_catch .min {
	display: block;
	font-size: 1.43em
}
.page_catch .narrow {
	letter-spacing: 2px
}
@media screen and (max-width: 767px) {
	.page_catch {
			padding: 1.4em 0;
			letter-spacing: 0.05em
	}
	.page_catch .large {
			font-size: 1.5em
	}
	.page_catch .mid {
			font-size: 1.4em;
			padding: 0.4em 0
	}
	.page_catch .min {
			font-size: 1em
	}
	.page_catch .narrow {
			letter-spacing: 0
	}
}
.text_block {
	padding: 0 0 100px
}
.text_block:last-child {
	padding-bottom: 0
}
.text_block p {
	font-size: 1.43em;
	line-height: 1.8;
	padding-bottom: 0.8em
}
.text_block p:last-child {
	padding-bottom: 0
}
.text_block dl dt,
.text_block dl dd {
	font-size: 1.43em;
	line-height: 1.8
}
.text_block dl .flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	padding-bottom: 3px
}
.text_block .photo {
	padding-top: 20px;
	padding-bottom: 35px;
	margin: auto
}
.text_block .photo.size430 {
	width: 430px
}
.text_block .photo img {
	width: 100%;
	display: block;
	margin: auto
}
.text_block.separate {
	border-bottom: 1px solid #424242;
	margin-bottom: 60px
}
@media screen and (max-width: 767px) {
	.text_block {
			padding: 0 0 3em
	}
	.text_block p {
			font-size: 1em;
			text-align: justify;
			text-justify: inter-ideograph
	}
	.text_block dl dt,
	.text_block dl dd {
			font-size: 1em
	}
	.text_block dl .flexbox {
			padding-bottom: 1vw
	}
	.text_block .photo {
			padding-top: 1em;
			padding-bottom: 2em;
			margin: auto
	}
	.text_block .photo.size430 {
			width: 90%;
			max-width: 430px
	}
	.text_block.separate {
			border-bottom: 1px solid #424242;
			margin-bottom: 3em
	}
}
.text_block[id]::before {
	content: "";
	display: block
}
.p_bottom60 {
	padding-bottom: 60px !important
}
@media screen and (max-width: 767px) {
	.p_bottom60 {
			padding-bottom: 5vw !important
	}
}
.m_bottom60 {
	margin-bottom: 60px !important
}
@media screen and (max-width: 767px) {
	.m_bottom60 {
			margin-bottom: 5vw !important
	}
}
.p_top60 {
	padding-top: 60px !important
}
@media screen and (max-width: 767px) {
	.p_top60 {
			padding-top: 5vw !important
	}
}
.m_top60 {
	margin-top: 60px !important
}
@media screen and (max-width: 767px) {
	.m_top60 {
			margin-top: 5vw !important
	}
}
#gallery_modal {
	display: none
}
.modal__block {
	width: 90%;
	max-width: 960px;
	padding: 10px
}
.modal__block .inner img {
	width: 100%;
	margin: auto
}
.modal__block .fancybox-close-small {
	background-color: #fff;
	right: 0;
	top: 0;
	opacity: 1;
	width: 70px;
	height: 70px
}
.fancybox-navigation .fancybox-button div {
	padding: 0
}
.fancybox-navigation .fancybox-button {
	width: 80px;
	height: 110px;
	background-color: #fff
}
.fancybox-button--arrow_left,
.fancybox-button--arrow_right {
	opacity: 1
}
.fancybox-button--arrow_left .arrow,
.fancybox-button--arrow_right .arrow {
	background-color: #434342;
	width: 20px;
	height: 3px;
	padding: 0;
	position: absolute;
	top: 48px;
	left: 40px;
	-webkit-transform: rotate(40deg);
	transform: rotate(40deg)
}
.fancybox-button--arrow_left .arrow:last-child,
.fancybox-button--arrow_right .arrow:last-child {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 60px
}
.fancybox-button--arrow_left .arrow {
	left: auto;
	right: 40px;
	-webkit-transform: rotate(-40deg);
	transform: rotate(-40deg)
}
.fancybox-button--arrow_left .arrow:last-child {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}
@media screen and (max-width: 767px) {
	.modal__block {
			padding: 5px
	}
	.modal__block .fancybox-close-small {
			width: 40px;
			height: 40px;
			padding: 0
	}
	.fancybox-navigation .fancybox-button {
			width: 60px;
			height: 100px
	}
	.fancybox-button--arrow_left .arrow,
	.fancybox-button--arrow_right .arrow {
			width: 14px;
			height: 2px;
			top: 45px;
			left: 34px
	}
	.fancybox-button--arrow_left .arrow:last-child,
	.fancybox-button--arrow_right .arrow:last-child {
			top: 54px
	}
	.fancybox-button--arrow_left .arrow {
			left: auto;
			right: 34px
	}
}
.font08em {
	font-size: 0.8em
}
.btn-block_pdf {
	margin-top: 20px
}
.btn-block_pdf .list .item {
	width: 380px;
	margin: auto
}
.btn-block_pdf .list .item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #424242;
	text-align: center;
	font-size: 1.57em;
	font-size: 22px;
	border: 1px solid #424242;
	border-radius: 2px;
	background: url('../images/common/icon_download.svg') no-repeat;
	background-size: auto 60%;
	background-position: center left 10px;
	background-color: #fff;
	padding: 0.2em 0
}
@media screen and (max-width: 767px) {
	.btn-block_pdf {
			margin-top: 5vw
	}
	.btn-block_pdf .list .item {
			width: 70%
	}
	.btn-block_pdf .list .item a {
			font-size: 1em;
			padding: 0.3em 0
	}
}




/* ------------------------------
kinenkan
------------------------------ */
body {
	font-size: 20px;
	color: #231815;
	font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	background-color: #FFF;
	line-height: 1.6;
}

p {
	line-height: 1.8;
}

main {
	padding-bottom: 100px;
}

.header {
	position: static;
	top: auto;
}
.header .page_main-visual {
	height: 300px;
	background: url(../images/mv.png) no-repeat;
	background-size: cover;
	background-position: center;
}

.footer {
	position: static;
	bottom: auto;
	background-color: #123e59;
}

#to-top {
	border-radius: 100vh;
}

.title_block {
	padding: 70px 0 30px;
}
.sitetitle {
	padding: 15px 0;
}
.img_title {
	margin: auto;
	width: 100%;
	max-width: 688px;
}
.lead {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	margin-bottom: 70px;
}

.photo {
	width: 100%;
	max-width: 740px;
	margin: auto;
	padding-bottom: 20px;
}
.photo img {
	width: 100%;
}
.photo p {
	font-size: 0.9em;
	color: #123e59;
}

.information {
	width: 100%;
	max-width: 562px;
	margin: 50px auto 70px auto;
	/* padding: 30px 0 0; */
	/* border-top: 1px solid #000; */
}
.information p {
}
.information .img_map {
	margin: auto;
	margin-bottom: 30px;
}
.information .tel {
	color: #036eb7;
}
.information .email {
	line-height: 1.1em;
	display: block;
	padding-bottom: 0.5em;
}
.information .caution {
	font-size: 1em;
	border: 1px solid #036eb7;
	color: #036eb7;
	text-align: center;
	padding: 0.2em;
	margin-top: 10px;
}

.banner_block {
	width: 100%;
	max-width: 740px;
	margin: auto;
}
.banner_block .banner_list {
	width: 100%;
}
.banner_block .banner_list .item {
	width: 100%;
	margin-bottom: 30px;
}
.banner_block .banner_list .item:last-child {
	margin-bottom: 0;
}
.banner_block .banner_list .item a {
	display: block;
	width: 100%;
	opacity: 1;
	transition: 0.3s;
}
.banner_block .banner_list .item a:hover {
	opacity: 0.7;
}
.banner_block .banner_list .item a img {
	display: block;
	width: 100%;
}


/* ------------------------------
utility
------------------------------ */
.u-textcenter {
	text-align: center;
}
.u-textleft {
	text-align: left;
}
.u-textright {
	text-align: right;
}
.u-margin-auto {
	margin: auto;
}

.u-text-blue {
	color: #123e59;
}
.u-text-min {
	font-size: 0.8em;
}
.u-text-lg {
	font-size: 1.3em;
}
.u-text-bold {
	font-weight: bold;
}
.u-text-space {
	letter-spacing: 0.05em;
}


@media screen and (max-width: 767px) {
	body {
		/* font-size: 16px; */
		font-size: 3.8vw;
	}
	main {
		padding-bottom: 10vw;
	}
	.header .page_main-visual {
		/* height: 200px; */
		height: 40vw;
	}
	.sitetitle {
    padding: 3vw 0;
	}
	.img_title {
    max-width: 100%;
	}
	.title_block {
    padding: 8vw 0 3vw;
	}
	.lead {
		margin-bottom: 8vw;
	}
	.lead p {
    font-size: 4.2vw;
	}
	.photo {
		max-width: 100%;
		padding-bottom: 4vw;
	}
	.photo p {
		font-size: 0.95em;
	}
	.photo img {
		width: 100%;
	}
	.information {
		max-width: 100%;
		margin: 5vw auto 8vw auto;
		/* padding: 8vw 0 0; */
	}
	.information .img_map {
		width: 100%;
    margin-bottom: 4vw;
	}
	.information .caution {
		font-size: 0.87em;
		margin-top: 3vw;
	}
	.banner_block {
    max-width: 100%;
	}
	.banner_block .banner_list .item {
    margin-bottom: 4vw;
	}
}

