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

	#museum
	- vegas（スライドアニメーションplugin）
	- sModal
	- common
	- m_mv
	- content

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

/*----------------------------------------
	vegas
-----------------------------------------*/
.vegas-animation-kenburns {
    -webkit-animation: kenburns linear;
            animation: kenburns linear;
	-webkit-transform: translateX(-100px);
	    -ms-transform: translateX(-100px);
	        transform: translateX(-100px);
	width: calc(100% + 100px);
}

@-webkit-keyframes kenburns {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
    100% {
        -webkit-transform: translateX(-100px);
                transform: translateX(-100px);
    }
}

@keyframes kenburns {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
    100% {
        -webkit-transform: translateX(-100px);
                transform: translateX(-100px);
    }
}

/*----------------------------------------
	sModal
-----------------------------------------*/
body.enabled_modal {
	overflow: hidden;
	color: #000;
}
[class^="modals"] {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	overflow: auto;
}
.sModalOverlay {
	display: table;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 706px;
	height: 100%;
	margin: 0 auto;
	padding: 0 5px;
}
.sModal {
	display: table-cell;
    vertical-align: top;
    position: relative;
    margin: 30px auto;
}
.sModalInner {
	position: relative;
	margin: 60px 0;
}
.sModalBox {
	position: relative;
	z-index: 2;
	display: none;
    background-color: #fffae8;
}


.sModalslides {
	position: relative;
	display: block;
	background: #000;
	border-top: 100px solid #fffae8;
}
.sModalslides ul {
	position: relative;
}
.sModalslides ul li {
	position: absolute;
	top: 0;
	width: 100%;
	text-align: center;
	display: none;
	opacity: 0;
}
.sModalslides ul li.active {
	display: block;
	opacity: 1;
}
.sModalslides ul li span.main img {
	width: auto;
	position: relative;
	left: 50%;
	margin-left: -100%;
}
.sModalslides ul li span.main {
	position: relative;
	display: block;
	overflow: hidden;
}
.sModalslides ul li span.sub {
	position: absolute;
	top: auto;
	right: 0;
	left: 0;
	bottom: calc(100% - 15px);
	display: block;
}
.sModalslides ul li span.sub img {
	width: auto;
	max-width: calc(100% - 40px);
}
.sModalslides .mPrev,
.sModalslides .mNext {
	position: absolute;
	top: calc(50% - 30px);
	z-index: 999;
	width: 30px;
	height: 60px;
	background-color: #666;
	overflow: hidden;
	cursor: pointer;
}
.sModalslides .mPrev:hover,
.sModalslides .mNext:hover {
	opacity: 0.8;
}
.sModalslides .mPrev>span,
.sModalslides .mNext>span {
	position: absolute;
	top: calc(50% - 10px);
	left: calc(50% - 10px);
	width: 20px;
	height: 20px;
	-webkit-transform-origin: center;
	    -ms-transform-origin: center;
	        transform-origin: center;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.sModalslides .mPrev {
	left: 0;
}
.sModalslides .mNext {
	right: 0;
}
.sModalslides .mPrev>span {
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	margin-left: 6px;
}
.sModalslides .mNext>span {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	margin-left: -6px;
}

.captions {
	padding: 20px;
	background: #fffae8;
}
.captions ul {
	
}
.captions ul li {
	display: none;
	opacity: 0;
	font-size: 1.6rem;
}
.captions ul li.active {
	display: block;
	opacity: 1;
}

.mClose {
	padding: 0 20px 40px;
	text-align: center;
}
.mClose span {
	display: inline-block;
	min-width: 120px;
	padding: 0.5rem 0;
	font-size: 1.6rem;
	border: 1px solid #808080;
	text-align: center;
	cursor: pointer;
}
.mClose span:hover {
	background-color: #808080;
	color: #fff;
}

[class^="modals"] .loader {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 30px;
	height: 30px;
	margin: -15px 0 0 -15px;
	border: 2px solid #fff;
	border-top: 2px solid transparent;
	border-radius: 50%;
	-webkit-animation: loader 0.6s infinite linear;
	animation: loader 0.6s infinite linear;
}
@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@media print,screen and (max-width: 767px){
	.sModalOverlay {
		max-width: 690px;
		padding: 0 25px;
	}
	.sModalBox {
		padding-top: 1px;
	}
	.sModalslides {
		border-top: none;
		margin-top: 15%;
	}
	.sModalslides ul li span.sub {
		
	}
	.sModalslides ul li span.sub img {
		max-width: calc(100% - 60px);
	}
	.sModalslides ul li span.main img {
		width: 100%;
		margin-left: 0;
		left: 0;
	}
	.sModalslides .mPrev,
	.sModalslides .mNext {
		top: calc(50% - 20px);
		width: 20px;
		height: 40px;
	}
	.sModalslides .mPrev:hover,
	.sModalslides .mNext:hover {
		opacity: 1;
	}
	.sModalslides .mPrev>span,
	.sModalslides .mNext>span {
		top: calc(50% - 7px);
		left: calc(50% - 7px);
		width: 14px;
		height: 14px;
	}
	.sModalslides .mPrev>span {
		margin-left: 4px;
	}
	.sModalslides .mNext>span {
		margin-left: -4px;
	}
	/* modals01 */
	.modals01 .sModalslides ul li:nth-child(4) span.sub,
	.modals01 .sModalslides ul li:nth-child(6) span.sub,
	.modals01 .sModalslides ul li:nth-child(7) span.sub,
	.modals01 .sModalslides ul li:nth-child(8) span.sub {
		
	}
	/* modals02 */
	.modals02 .sModalslides ul li:nth-child(5) span.sub {
		
	}
	.captions ul li {
		font-size: 1.2rem;
	}
	.mClose {
		padding: 0 20px 25px;
	}
	.mClose span {
		padding: 0.5em 0;
		font-size: 1.2rem;
	}
}

/*----------------------------------------
	common
-----------------------------------------*/
/* efIn */
.efIn {
	display: block;
	opacity: 0;
	-webkit-transform: translateY(1em);
	    -ms-transform: translateY(1em);
	        transform: translateY(1em);
	-webkit-transition: 0.8s ease-out;
	-o-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.efIn.inLeft {
	-webkit-transform: translateX(20px);
	    -ms-transform: translateX(20px);
	        transform: translateX(20px);
}
.efIn.inRight {
	-webkit-transform: translateX(-20px);
	    -ms-transform: translateX(-20px);
	        transform: translateX(-20px);
}
@media print {
	.efIn {
		opacity: 1;
		-webkit-transform: translateY(0);
			-ms-transform: translateY(0);
				transform: translateY(0);
	}
	.efIn.inLeft {
		-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
				transform: translateX(0);
	}
	.efIn.inRight {
		-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
				transform: translateX(0);
	}
	#m_mv,
	.slideMv,
	#sec01 {
		height: 100vh !important;
	}
	.mv_blur_wrapper,
	.blur_wrapper {
		display: none;
	}
	#sec01 {
		position: relative;
		display: block;
	}
	.print {
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		height: 1px;
	}
	.print>[class*="col"] {
		opacity: 1;
		-webkit-transform: translateY(0px);
			-ms-transform: translateY(0px);
				transform: translateY(0px);
	}
	.print>[class*="col"] img {
		width: auto;
	}
	.sModalslides ul li .main img.pc {
		display: block !important;
	}
	.sModalslides ul li .main img.sp {
		display: none !important;
	}
}


body {
	background: #000;
	font-family: 'YuMincho', Yu Mincho, '游明朝', serif;
}
_:-ms-lang(x)::-ms-backdrop, body {
	font-family: serif;
}
main#main {
	width: 100%;
	background: #000;
}
#content {
	background: none;
	width: 50%;
	margin-left: auto;
	padding: 0;
	overflow: hidden;
}
#content>div {
	max-width: 100%;
	padding: 0;
}
.sepWrapper {
	position: relative;
}
svg{
	vertical-align: top;
}
.mv_blur_wrapper,
.blur_wrapper {
	position: relative;
}
[class*="col"]{
	position: absolute;
	top: 0;
	display: inline-block;
	-webkit-transition: 1.5s ease-out;
	-o-transition: 1.5s ease-out;
	transition: 1.5s ease-out;
	opacity: 0;
	-webkit-transform: translateY(30px);
	    -ms-transform: translateY(30px);
	        transform: translateY(30px);
}
img.sp {
	display: none;
}
/* font size */
[class*="font9"] {font-size: 0.9rem;}
[class*="font10"] {font-size: 1.0rem;}
[class*="font11"] {font-size: 1.1rem;}
[class*="font12"] {font-size: 1.2rem;}
[class*="font14"] {font-size: 1.4rem;}
[class*="font15"] {font-size: 1.5rem;}
[class*="font16"] {font-size: 1.6rem;}
[class*="font17"] {font-size: 1.7rem;}
[class*="font18"] {font-size: 1.8rem;}
[class*="font19"] {font-size: 1.9rem;}
[class*="font20"] {font-size: 2.0rem;}
[class*="font22"] {font-size: 2.2rem;}
[class*="font24"] {font-size: 2.4rem;}
[class*="font28"] {font-size: 2.8rem;}
@media print,screen and (max-width: 767px){
	img.pc {
		display: none;
	}
	img.sp {
		display: block;
	}
}
@media print,screen and (max-width: 1000px){
	#main {
		margin-top: 0;
	}
	[class*="blur_wrapper"] .tgt>p {
		text-align: center;
	}
	[class*="blur_wrapper"] svg {
		width: 70%;
		height: 70%;
	}
	/* font size */
	[class*="font"][class*="_9"] {font-size: 0.9rem;}
	[class*="font"][class*="_10"] {font-size: 1.0rem;}
	[class*="font"][class*="_11"] {font-size: 1.1rem;}
	[class*="font"][class*="_12"] {font-size: 1.2rem;}
	[class*="font"][class*="_14"] {font-size: 1.4rem;}
	[class*="font"][class*="_15"] {font-size: 1.5rem;}
	[class*="font"][class*="_16"] {font-size: 1.6rem;}
	[class*="font"][class*="_17"] {font-size: 1.7rem;}
	[class*="font"][class*="_18"] {font-size: 1.8rem;}
	[class*="font"][class*="_19"] {font-size: 1.9rem;}
	[class*="font"][class*="_20"] {font-size: 2.0rem;}
	[class*="font"][class*="_22"] {font-size: 2.2rem;}
}

/*----------------------------------------
	m_mv
-----------------------------------------*/
#m_mv {
	position: fixed;
	width: 50%;
	height: 100%;
}
_:-ms-lang(x)::-ms-backdrop, #m_mv{
	width: 50.1%;
}
#m_mv>div:first-child {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
}
#m_mv>div:first-child h1 {
	width: 162px;
	padding: 30px 20px;
}
#m_mv::before {
	/*content: "";*/
	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -o-linear-gradient(340deg,  rgba(0,0,0,1) 0%, rgba(0,0,0,1) 10%, rgba(0,0,0,0) 80%, rgba(0,0,0,0) 100%);
	background: linear-gradient(110deg,  rgba(0,0,0,1) 0%, rgba(0,0,0,1) 10%, rgba(0,0,0,0) 80%, rgba(0,0,0,0) 100%);
	opacity: 0.4;
}
#m_mv>div.slideMv {
	height: 100vh;
	pointer-events: none;
}
#m_mv>div.mv_btmMenu {
	position: absolute;
	z-index: 99;
	left: 0;
	bottom: 0;
}
#m_mv>div.mv_btmMenu ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	background: rgba(0,0,0,0.8);
}
#m_mv>div.mv_btmMenu ul li {
	position: relative;
	margin-left: -1px;
}
#m_mv>div.mv_btmMenu ul li+li::before {
	position: absolute;
	left: 0;
	top: 25%;
	content: "";
	width: 1px;
	height: 50%;
	background: #999;
	opacity: 0.8;
}
#m_mv>div.mv_btmMenu ul li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 34px;
	padding: 0 20px;
	color: #fff;
	font-size: 1.2rem;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-transition: 0.2s ease-out;
	-o-transition: 0.2s ease-out;
	transition: 0.2s ease-out;
}
#m_mv>div.mv_btmMenu ul li a:hover {
	opacity: 0.6;
}
#m_mv>div.mv_btmMenu ul li a span {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.firstImg {
	position: absolute;
	z-index: 10;
	top: 18%;
	left: 0;
	right: 0;
	width: 253px;
	margin: 0 auto;
}

.dots {
	position: absolute;
	bottom: 40px;
	z-index: 99;
	width: 100%;
	display: none;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.dots span {
	display: block;
	width: 9px;
	height: 9px;
	border: 1px solid #555;
	background: #fff;
	border-radius: 50%;
	-webkit-transition: 0.3s ease-out background;
	-o-transition: 0.3s ease-out background;
	transition: 0.3s ease-out background;
}
.dots span.crnt {
	background-color: #555;
}
.dots span+span {
	margin-left: 20px;
}
#m_mv .scrollIcon.sp,
#m_mv .langChange.sp {
	display: none;
}
@media print,screen and (max-width: 767px){
	#m_mv {
		position: relative;
		width: 100%;
		/*height: 100vh;*/
	}
	#content {
		width: 100%;
	}
	.dots {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	#m_mv>div:first-child h1 {
		width: 112px;
		padding: 22px 15px;
	}
	#m_mv>div.mv_btmMenu {
		display: none;
	}
	#m_mv .scrollIcon.sp {
		display: block;
		position: absolute;
		z-index: 99;
		bottom: 0;
		right: 20px;
		opacity: 0;
		-webkit-transform: translateY(-20px);
		    -ms-transform: translateY(-20px);
		        transform: translateY(-20px);
		-webkit-transition: 1.0s ease-out;
		-o-transition: 1.0s ease-out;
		transition: 1.0s ease-out;
	}
	#m_mv .scrollIcon.sp>span {
		display: block;
		width: 1px;
		height: 98px;
		margin: 15px auto 0;
		background: #fff;
	}
	#m_mv .langChange.sp {
		display: block;
		position: absolute;
		z-index: 99;
		top: 25px;
		right: 25px;
	}
	#m_mv .langChange.sp a {
		position: relative;
		color: rgba(255,255,255,0.3);
	}
	#m_mv .langChange.sp a::after {
		content: "";
		position: absolute;
		bottom: -5px;
		left: 0;
		width: 100%;
		border-bottom: 1px solid rgba(255,255,255,0.0);
		-webkit-transition: 0.1s;
		-o-transition: 0.1s;
		transition: 0.1s;
	}
	#m_mv .langChange.sp a.crnt {
		pointer-events: none;
	}
	#m_mv .langChange.sp a.crnt,
	#m_mv .langChange.sp a:hover {
		color: rgba(255,255,255,1.0);
	}
	#m_mv .langChange.sp a.crnt::after,
	#m_mv .langChange.sp a:hover::after {
		border-color: rgba(255,255,255,1.0);
	}
	#m_mv .langChange.sp a+a {
		margin-left: 1.5em;
	}
	#m_mv .langChange.sp a+a::before {
		content: "";
		position: absolute;
		top: 0.1em;
		left: -0.75em;
		height: 0.8em;
		border-left: 1px solid rgba(255,255,255,0.3);
		-webkit-transform-origin: center center;
		    -ms-transform-origin: center center;
		        transform-origin: center center;
		-webkit-transform: rotate(30deg);
		    -ms-transform: rotate(30deg);
		        transform: rotate(30deg);
	}
}

/*----------------------------------------
	content
-----------------------------------------*/
/* sec01 */
#sec01 {
	position: relative;
	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;
	height: 100vh;
	background: url("../img/m_bg_p01.png") no-repeat center top;
	background-size: cover;
}
#sec01 .col0 {
	top: -84px;
	left: calc(50% - 221.5px);
}
#sec01 .col1 {
	top: -180px;
	right: calc(50% + 10px);
}
#sec01 .scrollIcon {
	position: absolute;
	bottom: 0;
	left: 30px;
	opacity: 0;
	-webkit-transform: translateY(-20px);
	    -ms-transform: translateY(-20px);
	        transform: translateY(-20px);
	-webkit-transition: 1.0s ease-out;
	-o-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}
#sec01 .scrollIcon>span {
	display: block;
	width: 1px;
	height: 98px;
	margin: 15px auto 0;
	background: #808080;
}
#sec01 .langChange {
	position: absolute;
	z-index: 99;
	top: 20px;
	right: 20px;
}
#sec01 .langChange a {
	position: relative;
	color: rgba(255,255,255,0.3);
}
#sec01 .langChange a::after {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	border-bottom: 1px solid rgba(255,255,255,0.0);
	-webkit-transition: 0.1s;
	-o-transition: 0.1s;
	transition: 0.1s;
}
#sec01 .langChange a.crnt {
	pointer-events: none;
}
#sec01 .langChange a.crnt,
#sec01 .langChange a:hover {
	color: rgba(255,255,255,1.0);
}
#sec01 .langChange a.crnt::after,
#sec01 .langChange a:hover::after {
	border-color: rgba(255,255,255,1.0);
}
#sec01 .langChange a+a {
	margin-left: 1.5em;
}
#sec01 .langChange a+a::before {
	content: "";
	position: absolute;
	top: 0.1em;
	left: -0.75em;
	height: 0.8em;
	border-left: 1px solid rgba(255,255,255,0.3);
	-webkit-transform-origin: center center;
	    -ms-transform-origin: center center;
	        transform-origin: center center;
	-webkit-transform: rotate(30deg);
	    -ms-transform: rotate(30deg);
	        transform: rotate(30deg);
}

@media print,screen and (max-width: 767px){
	#sec01 .scrollIcon.pc,
	#sec01 .langChange.pc {
		display: none;
	}
	#sec01 {
		height: 600px;
		background: url("../img/m_bg_p01_sp.png") no-repeat;
		background-size: cover;
		background-position: bottom;
	}
	#sec01 .col0 {
		top: calc(-84px * 0.8);
		left: calc(50% - 221.5px);
	}
	#sec01 .col1 {
		top: calc(-180px * 0.8);
		right: calc(50% - 5px);
	}
}


/* sec02 */
#sec02 {
	padding: 100px 0 0;
	text-align: center;
}
#sec02>h1 {
	margin: 0 40px 40px;
}
#sec02>p {
	margin: 0 40px;
	line-height: 2.5;
}
#sec02 p+figure {
	margin: 80px 40px 0;
}
#sec02 figure {
	margin: 50px 40px 0;
	text-align: right;
}
#sec02 figure figcaption {
	margin-top: 10px;
}
@media print,screen and (max-width: 767px){
	#sec02 {
		padding-top: 40px;
	}
	#sec02>h1 {
		margin: 0 20px 20px;
	}
	#sec02>p {
		margin: 0 20px;
	}
	#sec02 figure {
		margin: 25px 20px 0;
	}
	#sec02 p+figure {
		margin: 40px 20px 0;
	}
}

/* sec03 */
#sec03 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 150px;
}
#sec03>div {
	display: block;
}
#sec03>div.pic {
	position: relative;
	width: 55%;
}
#sec03>div.pic::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(255,255,255,0.5);
	opacity: 0;
	-webkit-transition: 0.8s ease-out;
	-o-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
#sec03>div.pic.on::after {
	top: 20px;
	left: -20px;
	opacity: 1;
}
#sec03>div.text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 45%;
	padding: 0 40px 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#sec03>div.text p {
	line-height: 2.5;
}
#sec03>div.text .col0 {
	top: -150px;
	left: calc(50% + 20px);
}
#sec03>div.text .col1 {
	top: -150px;
	left: calc(50% - 20px);
}
#sec03>div.text .col2 {
	top: -150px;
	left: calc(50% - 60px);
}
@media print,screen and (max-width: 767px){
	#sec03 {
		margin-top: 60px;
	}
	#sec03>div.pic.on::after {
		top: 10px;
		left: -10px;
	}
	#sec03>div.text {
		padding: 0 20px 0 10px;
	}
	#sec03>div.text .col0 {
		top: -120px;
		left: calc(50% + 10px);
	}
	#sec03>div.text .col1 {
		top: -120px;
		left: calc(50% - 20px);
	}
	#sec03>div.text .col2 {
		top: -120px;
		left: calc(50% - 50px);
	}
}
/* sec04 */
#sec04 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 150px;
}
#sec04>div {
	display: block;
}
#sec04>div.pic {
	position: relative;
	width: 70%;
	height: 100%;
}
#sec04>div.pic::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	z-index: 9;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(255,255,255,0.5);
	opacity: 0;
	-webkit-transition: 0.8s ease-out;
	-o-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
#sec04>div.pic.on::after {
	top: 20px;
	right: -20px;
	opacity: 1;
}
#sec04>div.text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 30%;
    padding: 0 20px 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
#sec04>div.text p {
	line-height: 2.5;
}
#sec04>div.text .col0 {
	left: calc(50% + 20px);
}
#sec04>div.text .col1 {
	left: calc(50% - 20px);
}
#sec04>div.text .col2 {
	left: calc(50% - 60px);
}
@media print,screen and (max-width: 767px){
	#sec04 {
		margin-top: 100px;
	}
	#sec04>div.pic {
		width: 65%;
	}
	#sec04>div.pic.on::after {
		top: 10px;
		right: -10px;
	}
	#sec04>div.text {
		width: 35%;
		padding: 0 10px 0 20px;
	}
	#sec04>div.text .col0 {
		left: calc(50% + 20px);
	}
	#sec04>div.text .col1 {
		left: calc(50% - 10px);
	}
	#sec04>div.text .col2 {
		left: calc(50% - 40px);
	}
}

/* sec05 */
#sec05 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 150px;
}
#sec05>div {
	display: block;
}
#sec05>div.pic {
	position: relative;
	width: 55%;
	height: 100%;
}
#sec05>div.pic::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(255,255,255,0.5);
	opacity: 0;
	-webkit-transition: 0.8s ease-out;
	-o-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
#sec05>div.pic.on::after {
	top: 20px;
	left: -20px;
	opacity: 1;
}
#sec05>div.text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 45%;
	padding: 0 40px 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#sec05>div.text p {
	line-height: 2.5;
}
#sec05>div.text .col0 {
	top: -150px;
	left: calc(50% + 20px);
}
#sec05>div.text .col1 {
	top: -150px;
	left: calc(50% - 20px);
}
#sec05>div.text .col2 {
	top: -150px;
	left: calc(50% - 60px);
}
@media print,screen and (max-width: 767px){
	#sec05 {
		margin-top: 100px;
	}
	#sec05>div.pic.on::after {
		top: 10px;
		left: -10px;
	}
	#sec05>div.text {
		padding: 0 20px 0 10px;
	}
	#sec05>div.text .col0 {
		top: -120px;
		left: calc(50% + 10px);
	}
	#sec05>div.text .col1 {
		top: -120px;
		left: calc(50% - 20px);
	}
	#sec05>div.text .col2 {
		top: -120px;
		left: calc(50% - 50px);
	}
}

/* sec06 */
#sec06 {
	margin: 100px 40px 0;
	padding: 40px 30px;
	border: 1px solid rgba(255,255,255,0.5);
}
#sec06 .pic {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#sec06 .pic>p {
	display: block;
	width: calc(50% - 10px);
}
#sec06 .pic>p:nth-child(odd) {
	margin-right: 20px;
}
#sec06 .text {
	margin-top: 15px;
}
@media print,screen and (max-width: 767px){
	#sec06 {
		margin: 60px 25px 0;
		padding: 25px 20px;
	}
	#sec06 .pic>p {
		display: block;
		width: calc(50% - 5px);
	}
	#sec06 .pic>p:nth-child(odd) {
		margin-right: 10px;
	}
}

/* sec07 */
#sec07 {
	margin: 120px 40px 0;
}
#sec07 .title {
	padding-bottom: 4px;
	margin-bottom: 50px;
	border-bottom: 4px solid rgba(0,0,0,0);
	-webkit-box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
	        box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
}
#sec07 .title h1 {
	text-align: center;
	overflow: hidden;
}
#sec07 .title h1 img {
	width: auto;
}
#sec07 .title p {
	margin: 38px 0 28px 0;
	text-align: center;
}
#sec07 .box_wrapper {
	
}
#sec07 .box_wrapper .box+.box {
	margin-top: 40px;
}
#sec07 .box_wrapper .box figure {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#sec07 .box_wrapper .box figure>p {
	max-width: 271px;
	width: 48%;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 48%;
	        flex: 1 1 48%;
}
#sec07 .box_wrapper .box figure figcaption {
	width: 52%;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 52%;
	        flex: 1 1 52%;
	padding: 0 0 0 20px;
}
@media print,screen and (max-width: 767px){
	#sec07 {
		margin-left: 25px;
		margin-right: 25px;
	}
	#sec07 .title h1 img {
		width: 100%;
		max-width: 157px;
	}
	#sec07 .title p {
		margin: 30px 0 15px;
	}
	#sec07 .box_wrapper .box+.box {
		margin-top: 30px;
	}
	#sec07 .box_wrapper .box figure {
		display: block;
		text-align: center;
	}
	#sec07 .box_wrapper .box figure>p {
		max-width: 271px;
		width: 80%;
		margin: 0 auto;
	}
	#sec07 .box_wrapper .box figure figcaption {
		width: 80%;
		margin: 20px auto 0;
		padding: 0;
	}
}
/* sec08 */
#sec08 {
	margin: 100px 35px 0;
}
#sec08 .title {
	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;
	height: 100px;
	padding-bottom: 4px;
	margin-bottom: 50px;
	border-bottom: 4px solid rgba(0,0,0,0);
	-webkit-box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
	        box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
}
#sec08 .title .col0 {
	left: calc(50%);
}
#sec08 .title .col1 {
	left: calc(50% - 50px);
}
#sec08 .box+.box {
	margin-top: 90px;
}
#sec08 .box .box_title {
	padding: 0 15px;
}
#sec08 .box .box_title h2 {
	margin-bottom: 26px;
	text-align: center;
}
#sec08 .box .images {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 68px 0 0 0;
}
#sec08 .box .images .image {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 auto;
	        flex: 1 1 auto;
	max-width: 50%;
}
#sec08 .box .images .image+.image {
	margin-left: 15px;
}
#sec08 .box .images .image figure {
	position: relative;
}
#sec08 .box .images .image figure figcaption {
	position: absolute;
	top: auto;
	right: 0;
	left: 0;
	bottom: calc(100% - 10px);
	margin: 0 auto;
	padding: 0 10px;
	text-align: center;
}
#sec08 .box .images .image figure figcaption img {
	width: auto;
	max-width: 100%;
}

#sec08 .box .images.single {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
#sec08 .box .images.single .image {
	max-width: 100%;
}
#sec08 .box .images.single .image+.image {
	margin-top: 90px;
	margin-left: 0;
}
#sec08 .box .images.single .image figure {
	position: relative;
}
/*#sec08 .box .images.single .image figure figcaption {
	position: absolute;
	top: -30px;
	right: 20px;
}*/

#sec08 .box .images .image .btn01 {
	width: 60%;
	max-width: 150px;
	margin: 20px auto 0;
	text-align: center;
}
#sec08 .box .images .image .btn01 a {
	position: relative;
	display: block;
	padding: 0.7em 27px;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.5);
}
#sec08 .box .images .image .btn01 a span {
	padding-left: 0;
}
#sec08 .box .images .image .btn01 a::before {
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	right: 14px;
	width: 6px;
	height: 6px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform-origin: center center;
	    -ms-transform-origin: center center;
	        transform-origin: center center;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
#sec08 .box .images .image .btn01 a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 13px;
	border-bottom: 1px solid #fff;
}

#sec08 .box .box_text {
	margin-top: 60px;
	text-align: center;
}
@media print,screen and (max-width: 767px){
	#sec08 {
		margin-left: 25px;
		margin-right: 25px;
	}
	#sec08 .title {
		height: auto;
		margin-bottom: 40px;
	}
	#sec08 .title h1 img {
		width: 100%;
		max-width: 350px;
		margin-bottom: 20px;
	}
	#sec08 .box .box_title {
		padding: 0;
	}
	#sec08 .box .box_title h2 {
		margin-bottom: 10px;
	}
	#sec08 .box .images {
		display: block;
		margin-top: 50px;
	}
	#sec08 .box .images .image,
	#sec08 .box .images.single .image {
		max-width: 340px;
		margin: 0 auto;
	}
	#sec08 .box .images .image:first-child {
		margin-top: 36px;
	}
	#sec08 .box .images .image+.image,
	#sec08 .box .images.single .image+.image {
		margin-top: 60px;
		margin-left: auto;
	}
	#sec08 .box .images .image figure figcaption {
		top: -20px;
	}
	#sec08 .box .images .image .btn01 {
		width: 50%;
		max-width: 130px;
		margin: 15px auto 0;
	}
	#sec08 .box .images .image .btn01 a {
		position: relative;
		display: block;
		padding: 1.3em 10%;
	}
	#sec08 .box .images .image .btn01 a::before {
		right: 8%;
	}
	#sec08 .box .images .image .btn01 a::after {
		right: 8%;
		width: 10px;
	}
	#sec08 .box .box_text {
		margin-top: 40px;
		text-align: left;
	}
}

/* sec09 */
#sec09 {
	margin: 100px 35px 0;
}
#sec09 .title {
	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;
	height: 50px;
	padding-bottom: 4px;
	margin-bottom: 50px;
	border-bottom: 4px solid rgba(0,0,0,0);
	-webkit-box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
	        box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
}
#sec09 .title .col0 {
	left: calc(50% - 25px);
}
#sec09 .title+.map_text {
	max-width: 570px;
	margin: 0 auto;
	padding: 0 15px;
}
#sec09 .map {
	padding: 45px 40px 0;
	text-align: center;
}
#sec09 .map img {
	max-width: 505px;
}
#sec09 .map+.map_text {
	margin-top: 10px;
	text-align: right;
}
@media print,screen and (max-width: 767px){
	#sec09 {
		margin-left: 25px;
		margin-right: 25px;
	}
	#sec09 .title {
		height: auto;
		margin-bottom: 25px;
	}
	#sec09 .title h1 img {
		width: 100%;
		max-width: 320px;
		margin-bottom: 20px;
	}
	#sec09 .title+.map_text {
		padding: 0;
	}
	#sec09 .map {
		padding: 25px 20px 0;
	}
}

/* sec10 */
#sec10 {
	margin: 200px 50px 0;
}
#sec10 .title {
	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;
	height: 50px;
	padding-bottom: 4px;
	margin-bottom: 40px;
	border-bottom: 4px solid rgba(0,0,0,0);
	-webkit-box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
	        box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
}
#sec10 .title .col0 {
	left: calc(50% - 25px);
}
#sec10 .detail {
	margin-bottom: 100px;
}
#sec10 .detail dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px 0;
	border-bottom: 1px solid rgba(255,255,255,0.5);
}
#sec10 .detail dl dt {
	width: 25%;
}
#sec10 .detail dl dd {
	width: 75%;
}
#sec10 .detail dl dd .sub_text {
	padding: 0 0 0 1.0em;
	text-indent: -1.0em;
}
#sec10 .detail dl dd .boxTag {
	display: inline-block;
	margin-bottom: 5px;
	padding: 0 0.5em;
	border: 1px solid  rgba(255,255,255,0.5);
}
#sec10 .detail dl dd.access p+p {
	margin-top: 10px;
}
#sec10 .detail a {
	color: #fff;
	text-decoration: underline;
}
#sec10 .detail a:hover {
	text-decoration: none;
}
#sec10 .map {
	margin-bottom: 60px;
}

#sec10 .btn01 {
	width: 60%;
	max-width: 150px;
	margin: 20px auto 0;
	text-align: center;
}
#sec10 .btn01 a {
	position: relative;
	display: block;
	padding: 0.7em 27px;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.5);
}
#sec10 .btn01 a span {
	padding-left: 0;
}
#sec10 .btn01 a::before {
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	right: 14px;
	width: 6px;
	height: 6px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform-origin: center center;
	    -ms-transform-origin: center center;
	        transform-origin: center center;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
#sec10 .btn01 a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 13px;
	border-bottom: 1px solid #fff;
}
#sec10 .box {
	padding: 25px 30px;
	border: 1px solid rgba(255,255,255,0.5);
}
#sec10 .tel {
	pointer-events: none;
	color: #fff;
}
@media print,screen and (max-width: 767px){
	#sec10 {
		margin: 100px 25px 0;
	}
	#sec10 .title {
		height: auto;
		margin-bottom: 20px;
	}
	#sec10 .title h1 img {
		width: 100%;
		max-width: 320px;
		margin-bottom: 20px;
	}
	#sec10 .detail {
		margin-bottom: 40px;
	}
	#sec10 .detail dl {
		padding: 8px 0;
	}
	#sec10 .btn01 {
		width: 50%;
		max-width: 130px;
		margin: 15px auto 0;
	}
	#sec10 .btn01 a {
		position: relative;
		display: block;
		padding: 1.3em 10%;
	}
	#sec10 .btn01 a::before {
		right: 8%;
	}
	#sec10 .btn01 a::after {
		right: 8%;
		width: 10px;
	}
	#sec10 .box {
		padding: 15px 20px;
	}
}

/* sec11 */
#sec11 {
	margin: 200px 35px 0;
}
#sec11 .title {
	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;
	height: 50px;
	padding-bottom: 4px;
	margin-bottom: 50px;
	border-bottom: 4px solid rgba(0,0,0,0);
	-webkit-box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
	        box-shadow: 0 3px 0 0 rgba(255,255,255,0.5),inset 0 -1px 0 0 rgba(255,255,255,0.5);
}
#sec11 .title .col0 {
	left: calc(50% - 25px);
}
#sec11 .read {
	max-width: 570px;
	margin: 0 auto;
}
#sec11 .box_wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin-top: 45px;
}
#sec11 .box {
	width: calc(50% - 20px);
	margin-top: 60px;
}
#sec11 .box:nth-child(-n+2) {
	margin-top: 0;
}
#sec11 .box:nth-child(even) {
	margin-left: 40px;
}
#sec11 .box .box_title {
	position: relative;
	padding: 2px 0 13px 34px;
}
#sec11 .box .box_title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 28px;
	height: 28px;
}
#sec11 .box:nth-child(1) .box_title::before {
	background: url("../img/m_no01.png") no-repeat;
	background-size: 100% auto;
}
#sec11 .box:nth-child(2) .box_title::before {
	background: url("../img/m_no02.png") no-repeat;
	background-size: 100% auto;
}
#sec11 .box:nth-child(3) .box_title::before {
	background: url("../img/m_no03.png") no-repeat;
	background-size: 100% auto;
}
#sec11 .box:nth-child(4) .box_title::before {
	background: url("../img/m_no04.png") no-repeat;
	background-size: 100% auto;
}
#sec11 .box:nth-child(5) .box_title::before {
	background: url("../img/m_no05.png") no-repeat;
	background-size: 100% auto;
}
#sec11 .btn01 {
	width: 60%;
	max-width: 150px;
	margin: 20px auto 0;
	text-align: center;
}
#sec11 .btn01 a {
	position: relative;
	display: block;
	padding: 0.7em 27px;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.5);
}
#sec11 .btn01 a span {
	padding-left: 0;
}
#sec11 .btn01 a::before {
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	right: 14px;
	width: 6px;
	height: 6px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform-origin: center center;
	    -ms-transform-origin: center center;
	        transform-origin: center center;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
#sec11 .btn01 a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 13px;
	border-bottom: 1px solid #fff;
}
@media print,screen and (max-width: 767px){
	#sec11 {
		margin: 100px 25px 0;
	}
	#sec11 .title {
		height: auto;
		margin-bottom: 20px;
	}
	#sec11 .title h1 img {
		width: 100%;
		max-width: 339px;
		margin-bottom: 20px;
	}
	#sec11 .box_wrapper {
		margin-top: 20px;
	}
	#sec11 .box {
		width: calc(50% - 8px);
		margin-top: 25px;
	}
	#sec11 .box:nth-child(even) {
		margin-left: 16px;
	}
	#sec11 .box .box_title {
		padding: 3px 0 8px 27px;
	}
	#sec11 .box .box_title::before {
		width: 22px;
		height: 22px;
	}
	#sec11 .btn01 {
		width: 77%;
		max-width: 120px;
		margin: 15px auto 0;
	}
	#sec11 .btn01 a {
		position: relative;
		display: block;
		padding: 1.3em 10%;
	}
	#sec11 .btn01 a::before {
		right: 8%;
	}
	#sec11 .btn01 a::after {
		right: 8%;
		width: 10px;
	}
}

/* btn01 */
.btn01 a:hover {
	opacity: 0.5;
	-webkit-transition: 0.1s;
	-o-transition: 0.1s;
	transition: 0.1s;
}

/* bnr */
.bnr {
	margin-top: 150px;
	text-align: center;
	-webkit-transition: 0.1s ease-out;
	-o-transition: 0.1s ease-out;
	transition: 0.1s ease-out;
}
.bnr img {
	max-width: 400px;
}
.bnr:hover {
	opacity: 0.5;
}
@media print,screen and (max-width: 767px){
	.bnr {
		margin-top: 60px;
	}
	.bnr img {
		width: 80%;
		max-width: 240px;
	}
}

/* pagetop */
footer {
	position: relative;
}
footer>#pagetop {
	display: block;
    position: absolute;
    top: -100px;
    right: 30px;
    width: 58px;
    height: 58px;
    border-radius: 0;
    border: 1px solid rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.0);
    -webkit-box-shadow: none;
            box-shadow: none;
    opacity: 1;
}
footer > #pagetop::after {
	top: calc(50% - 4px);
    left: calc(50% - 10px);
    width: 20px;
    height: 20px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
footer > #pagetop:hover {
	border-color: rgba(255,255,255,0.5);
	background: rgba(255,255,255,0.0);
	opacity: 0.5;
}
footer > #pagetop:hover::after {
    border-width: 1px;
	opacity: 0.5;
}

/* copyright */
.copyright {
	width: 50%;
	margin: 150px 0 110px auto;
	text-align: center;
}
@media print,screen and (max-width: 767px){
	footer>#pagetop {
		display: block;
		position: absolute;
		top: -95px;
		right: 25px;
		width: 40px;
		height: 40px;
	}
	footer > #pagetop::after {
		left: calc(50% - 8px);
		width: 15px;
		height: 15px;
	}
	.copyright {
		width: auto;
		margin: 120px 25px 60px;
		text-align: center;
	}
	footer {
		display: block;
	}
	#main::after {
		display: none;
	}
}