/* /////////////// reset /////////////// */
* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	box-sizing: border-box;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 1em;
	font-weight: normal;
}

table {
	border-collapse: separate;
	border-spacing: 0px;
}

ol, ul {
list-style: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
abbr {
	border: none;
	text-decoration: none;
}
span.field-description[title] {
	border-bottom: 1px dotted #aaa;
	cursor: help;
}





fieldset,img,abbr,acronym {
    border: 0;
}

ol,ul {
    list-style: none;
}
q:before,q:after {
    content: '';
}
a {
    text-decoration: underline;
    outline: none;
		text-decoration-skip-ink: none;
}
hr {
	display: none;
}
a img,:link img,:visited img {
    border: none;
}


.clr {
	clear: both;
}


article p {
	display: inline-block;
}


.txnowrap {
	white-space: nowrap;
}



.font-s {
	font-size: 11px;
	line-height: 1.6em;
}
img {
	/* height: auto; */
}

/*
:focus {
outline: 2px solid rgba(219,70,154,1.00) !important;
}
*/
:focus-visible {
outline: 2px solid rgba(219,70,154,1.00) !important;
}

@media all and (-ms-high-contrast: none) {
	header p,
	article p,
	footer p {
		-ms-transform: rotate(0.05deg);
		-moz-transform: rotate(0.05deg);
		-webkit-transform: rotate(0.05deg);
		transform: rotate(0.05deg);
	}
	header p img,
	article p img,
	footer p img {
		-ms-transform: rotate(-0.05deg);
		-moz-transform: rotate(-0.05deg);
		-webkit-transform: rotate(-0.05deg);
		transform: rotate(-0.05deg);
	}
}

@supports (-ms-ime-align: auto) {
	header p,
	article p,
	footer p {
		-ms-transform: rotate(0.05deg);
		-moz-transform: rotate(0.05deg);
		-webkit-transform: rotate(0.05deg);
		transform: rotate(0.05deg);
	}
	header p img,
	article p img,
	footer p img {
		-ms-transform: rotate(-0.05deg);
		-moz-transform: rotate(-0.05deg);
		-webkit-transform: rotate(-0.05deg);
		transform: rotate(-0.05deg);
	}
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	header p,
	article p,
	footer p {
		-ms-transform: rotate(0.05deg);
		-moz-transform: rotate(0.05deg);
		-webkit-transform: rotate(0.05deg);
		transform: rotate(0.05deg);
	}
	header p img,
	article p img,
	footer p img {
		-ms-transform: rotate(-0.05deg);
		-moz-transform: rotate(-0.05deg);
		-webkit-transform: rotate(-0.05deg);
		transform: rotate(-0.05deg);
	}
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	header p,
	article p,
	footer p {
		-ms-transform: rotate(0.05deg);
		-moz-transform: rotate(0.05deg);
		-webkit-transform: rotate(0.05deg);
		transform: rotate(0.05deg);
	}
	header p img,
	article p img,
	footer p img {
		-ms-transform: rotate(-0.05deg);
		-moz-transform: rotate(-0.05deg);
		-webkit-transform: rotate(-0.05deg);
		transform: rotate(-0.05deg);
	}
}





@media print, screen and (min-width: 768px) {
.font-s {
	font-size: 12px;
	line-height: 1.6em;
}

}

@media print, screen and (min-width: 1024px) {
.font-s {
	font-size: 13px;
	line-height: 1.6em;
}

}

@media print, screen and (min-width: 1200px) {

}

@media print, screen and (min-width: 1400px) {

}





/* Global ----------------------------------------------------------------- */

section {
  opacity: 0;
	/* -webkit-animation-duration: 1s;
  animation-duration: 1s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	transform: scale(0.95,0.95); */
	transition: all 1.0s;
}
.img-blur {
	/*
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
	*/
	transform: scale(1.0,1.0);
  opacity: 1;
}




#top-mainvisual img,
#atop-mainvisual img,
#page-mainvisual img {
  opacity: 1;
	transform: scale(1,1);
	-webkit-animation-duration: 2s;
  animation-duration: 2s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}
.img-blur-top {
	-webkit-animation-duration: 2s;
  animation-duration: 2s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	
  -webkit-animation-name: imageBlurTop;
  animation-name: imageBlurTop;
	-ms-animation-name: imageBlurTop;
}

 
.main-zoom {
  opacity: 0;
	-webkit-animation-duration: 2s;
  animation-duration: 2s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-name: MainZoom;
  animation-name: MainZoom;
}
.main-zoomup {
 	opacity: 0;
	-webkit-animation-duration: 3s;
  animation-duration: 3s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
  -webkit-animation-name: MainZoomup;
  animation-name: MainZoomup;
}
.main-zoom-top {
  opacity: 0;
}
.main-zoomup-top {
 	opacity: 0;
	-webkit-animation-duration: 3s;
  animation-duration: 3s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
  -webkit-animation-name: MainZoomuptop;
  animation-name: MainZoomuptop;
}


@-webkit-keyframes imageBlur {
  0% {
    opacity: 0.0;
		/* transform: scale(0.7,0.7); */
  }
  100% {
    opacity: 1;
		/* transform: scale(1.0,1.0); */
  }
}
@keyframes imageBlur {
  0% {
    opacity: 0.0;
		/* transform: scale(0.7,0.7); */
  }
  100% {
    opacity: 1;
		/* transform: scale(1.0,1.0); */
  }
}


@-webkit-keyframes imageBlurTop {
  0% {
    opacity: 0.0;
		transform: scale(0.7,0.7);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}
@keyframes imageBlurTop {
  0% {
    opacity: 0.0;
		transform: scale(0.7,0.7);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}


@-webkit-keyframes MainZoom {
  0% {
    opacity: 0.0;
		/* transform: scale(0.99,0.99); */
  }
  100% {
    opacity: 1;
		/* transform: scale(0.99,0.99); */
  }
}
@keyframes MainZoom {
  0% {
    opacity: 0.0;
		/* transform: scale(0.99,0.99); */
  }
  100% {
    opacity: 1;
		/* transform: scale(0.99,0.99); */
  }
}
@-webkit-keyframes MainZoomup {
  0% {
    opacity: 0.0;
		transform: scale(0.99,0.99);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}
@keyframes MainZoomup {
  0% {
    opacity: 0.0;
		transform: scale(0.99,0.99);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}
@-webkit-keyframes MainZoomuptop {
  0% {
    opacity: 0.0;
		transform: scale(0.8,0.8);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}
@keyframes MainZoomuptop {
  0% {
    opacity: 0.0;
		transform: scale(0.8,0.8);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}




.cap-text {
	font-size: 12px;
	line-height: 1.6em;
}
.pcap-text,
.pcap-text-shadow {
	font-size: 11px;
	line-height: 1.5em;
	color: rgba(255,255,255,1.0);
	background: linear-gradient(0deg, rgba(0,0,0,0.6), rgba(0,0,0,0));
	/* background: linear-gradient(120deg, rgba(170, 170, 170, 1.0), rgba(119,119,119,1.0)); */
	display: block;
	padding: 20px 3px 2px;
	width: 100%;
	position: absolute;
	left: 0px;
	bottom: 0px;
	text-align: right;
	opacity: 0;
	transition: all 1.0s;
	letter-spacing: 0em;	/* transform: scale(0.5,1.0) translateY(-20px); */
}
.pcap-text-shadow {
	background: linear-gradient(0deg, rgba(0,0,0,0.3), rgba(0,0,0,0));
	text-shadow: 1px 1px 8px rgba(0, 0, 0, 1.0), 1px 1px 16px rgba(0, 0, 0, 1.0), 1px 1px 24px rgba(0, 0, 0, 1.0), 1px 1px 32px rgba(0, 0, 0, 1.0);
}




.pcap-text.capactive,
.out-cap-text.capactive,
.res-cap-text.capactive,
.pcap-text-shadow.capactive {
	opacity: 1;
	/* transform: scale(1.0,1.0) translateY(0px); */
}

.out-cap-text,
.res-cap-text,
.gallery-catch {
	font-size: 11px;
	line-height: 1.5em;
	text-align: right;
	padding: 3px 0px 0px;
	opacity: 0;
	transition: all 1.0s;
	/* transform: translateY(-20px); */
}
.gallery-catch,
#page-mainvisual li.page-sub .cap-text {
	opacity: 1;
	/* transform: translateY(0px); */
}


.kome-text p {
	font-size: 10px;
	line-height: 1.6em;
	text-indent: -1em;
	display: block;
	margin: 0px 0px 0px 1em;
}

.kome-text2 p {
	font-size: 11px;
	line-height: 1.6em;
	text-indent: -2em;
	display: block;
	margin: 0px 0px 0px 2em;
}



.line1200 {
	background: rgba(255, 255, 255, 1.0);
	margin: 0px auto;
	height: 1px;
	width: 100%;
	max-width: 1162px;
}
.line1200-g {
	background: rgba(187, 187, 187, 1.0);
	margin: 0px auto;
	height: 1px;
	width: 100%;
	max-width: 1162px;
}
.maxw1200 {
	margin: 0px auto;
	max-width: 1162px;
}

.maxw1200-pad {
	margin: 0px auto;
	max-width: 1162px;
	padding: 0px 15px;
}

.pat0pab0 {
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}
.pat0 {
	padding-top: 0px !important;
}
.pab0 {
	padding-bottom: 0px !important;
}

.text-shadow-w {
 text-shadow: 1px 1px 6px rgba(255, 255, 255, 1.0), 1px 1px 12px rgba(255, 255, 255, 1.0), 1px 1px 24px rgba(255, 255, 255, 1.0), 1px 1px 30px rgba(255, 255, 255, 1.0), 1px 1px 35px rgba(255, 255, 255, 1.0);
}
.text-shadow-s {
 text-shadow: 1px 1px 5px rgba(255, 255, 255, 1.0), 1px 1px 9px rgba(255, 255, 255, 1.0), 1px 1px 13px rgba(255, 255, 255, 1.0), 1px 1px 18px rgba(255, 255, 255, 1.0);
}

.text-shadow-b-w {
 text-shadow: 1px 1px 6px rgba(0, 0, 0, 1.0), 1px 1px 12px rgba(0, 0, 0, 1.0), 1px 1px 24px rgba(0, 0, 0, 1.0), 1px 1px 30px rgba(0, 0, 0, 1.0), 1px 1px 35px rgba(0, 0, 0, 1.0);
}
.text-shadow-b-w2 {
 text-shadow: 1px 1px 8px rgba(0, 0, 0, 1.0), 1px 1px 16px rgba(0, 0, 0, 1.0), 1px 1px 24px rgba(0, 0, 0, 1.0), 1px 1px 32px rgba(0, 0, 0, 1.0);
}
.text-shadow-b-w3 {
 text-shadow: 1px 1px 12px rgba(0, 0, 0, 1.0), 1px 1px 20px rgba(0, 0, 0, 1.0), 1px 1px 30px rgba(0, 0, 0, 1.0);
}

.rpat10 {
	padding-top: 6px !important;
}
.rpat15 {
	padding-top: 10px !important;
}
.rpat20 {
	padding-top: 12px !important;
}
.rpat30 {
	padding-top: 18px !important;
}

.rpab20 {
	padding-bottom: 12px !important;
}
.rpab30 {
	padding-bottom: 18px !important;
}


.rmat10 {
	margin-top: 6px !important;
}
.rmat30 {
	margin-top: 15px !important;
}
.rmat40 {
	margin-top: 20px;
}
.rmab01 {
	margin-bottom: 1px !important;
}
.rmab02 {
	margin-bottom: 2px !important;
}
.resmab10 {
	margin-bottom: 6px !important;
}
.rmab15 {
	margin-bottom: 10px;
}
.rmab30 {
	margin-bottom: 15px;
}
.rmab40 {
	margin-bottom: 20px !important;
}
.rmab50 {
	margin-bottom: 30px !important;
}
.rmab60 {
	margin-bottom: 40px !important;
}

.resletter {
	letter-spacing: 0em !important;
}
.font95 {
	font-size: 95% !important;
}

.t-right {
  text-align: right;
}



/* ローディング */
#loader-bg {
	/* display: none;　*/
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	/* z-index: 1; */
	z-index: -1;
}
#loader {
	/* display: none;　*/
	position: fixed;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	margin-left: -12px;
	text-align: center;
	/* z-index: 2; */
}
#loader img {
	height: auto;
	width: 100%;
}



.table-block,
.table-over {
	overflow: auto;
}
.table-block::-webkit-scrollbar,
.table-over::-webkit-scrollbar {
 height: 4px;
}
.table-block::-webkit-scrollbar-track,
.table-over::-webkit-scrollbar-track {
 background: rgba(170, 170, 170, 1.0);
}
.table-block::-webkit-scrollbar-thumb,
.table-over::-webkit-scrollbar-thumb {
 background: rgba(100, 100, 100, 1.0);
}

.width-auto {
  width: auto !important;
}




@media print, screen and (min-width: 375px) {
.kome-text p {
	font-size: 11px;
	line-height: 1.6em;
	letter-spacing: 0em;
	text-align: left;
}

.kome-text2 p {
	font-size: 12px;
	line-height: 1.6em;
}


.rpat10 {
	padding-top: 8px !important;
}
.rpat15 {
	padding-top: 13px !important;
}
.rpat20 {
	padding-top: 16px !important;
}
.rpat30 {
	padding-top: 24px !important;
}

.rpab20 {
	padding-bottom: 16px !important;
}
.rpab30 {
	padding-bottom: 24px !important;
}


.rmat30 {
	margin-top: 18px !important;
}
.rmat40 {
	margin-top: 25px;
}
.resmab10 {
	margin-bottom: 8px !important;
}
.rmab15 {
	margin-bottom: 12px;
}
.rmab30 {
	margin-bottom: 18px !important;
}
.rmab40 {
	margin-bottom: 25px !important;
}

.rmab50 {
	margin-bottom: 35px !important;
}
.rmab60 {
	margin-bottom: 45px !important;
}

.resletter {
	letter-spacing: 0em !important;
}

.font95 {
	font-size: 95% !important;
}
}




@media print, screen and (min-width: 768px) {
.pcap-text,
.pcap-text-shadow {
	font-size: 12px;
	line-height: 1.5em;
	padding: 20px 5px 3px;
	letter-spacing: 0em;
	/* transform: scale(0.5,1.0) translateY(-20px); */
}
.out-cap-text {
	font-size: 12px;
	line-height: 1.5em;
	padding: 4px 0px 0px;
	/* transform: translateY(-30px); */
}
.res-cap-text {
	font-size: 13px;
	line-height: 1.5em;
	color: rgba(255,255,255,1.0);
	background: linear-gradient(0deg, rgba(0,0,0,0.6), rgba(0,0,0,0));
	display: block;
	padding: 20px 5px 3px;
	width: 100%;
	position: absolute;
	left: 0px;
	bottom: 0px;
	text-align: right;
	opacity: 0;
	transition: all 1.0s;
	/* transform: scale(0.5,1.0) translateY(-20px); */
}


.maxw1200-pad {
	padding: 0px 25px;
}


.rpat10 {
	padding-top: 10px !important;
}
.rpat15 {
	padding-top: 15px !important;
}
.rpat20 {
	padding-top: 19px !important;
}
.rpat30 {
	padding-top: 28px !important;
}

.rpab20 {
	padding-bottom: 19px !important;
}
.rpab30 {
	padding-bottom: 28px !important;
}




.rmat30 {
	margin-top: 24px !important;
}
.rmat40 {
	margin-top: 30px !important;
}

.resmab10 {
	margin-bottom: 12px !important;
}
.rmab15 {
	margin-bottom: 15px;
}
.rmab30 {
	margin-bottom: 20px !important;
}
.rmab40 {
	margin-bottom: 30px;
}

.rmab50 {
	margin-bottom: 45px !important;
}
.rmab60 {
	margin-bottom: 55px !important;
}


.cap-text {
	font-size: 13px;
	line-height: 1.6em;
}
.text-shadow-w {
 text-shadow: 1px 1px 6px rgba(255, 255, 255, 1.0), 1px 1px 12px rgba(255, 255, 255, 1.0), 1px 1px 19px rgba(255, 255, 255, 1.0), 1px 1px 24px rgba(255, 255, 255, 1.0), 1px 1px 30px rgba(255, 255, 255, 1.0), 1px 1px 35px rgba(255, 255, 255, 1.0);
}


.text-shadow-b-w {
 text-shadow: 1px 1px 8px rgba(0, 0, 0, 1.0), 1px 1px 14px rgba(0, 0, 0, 1.0), 1px 1px 26px rgba(0, 0, 0, 1.0), 1px 1px 34px rgba(0, 0, 0, 1.0), 1px 1px 40px rgba(0, 0, 0, 1.0), 1px 1px 46px rgba(0, 0, 0, 1.0);
}
.text-shadow-b-w2 {
 text-shadow: 1px 1px 10px rgba(0, 0, 0, 1.0), 1px 1px 18px rgba(0, 0, 0, 1.0), 1px 1px 26px rgba(0, 0, 0, 1.0), 1px 1px 34px rgba(0, 0, 0, 1.0), 1px 1px 42px rgba(0, 0, 0, 1.0);
}
.text-shadow-b-w3 {
 text-shadow: 1px 1px 15px rgba(0, 0, 0, 1.0), 1px 1px 25px rgba(0, 0, 0, 1.0), 1px 1px 40px rgba(0, 0, 0, 1.0);
}

.kome-text p {
	font-size: 12px;
	line-height: 1.6em;
}
.kome-text2 p {
	font-size: 13px;
	line-height: 1.6em;
}


.resletter {
	letter-spacing: 0.05em;
}
.font95 {
	font-size: 100% !important;
}


#loader {
	width: 48px;
	height: 48px;
}
}

@media print, screen and (min-width: 1024px) {
.pcap-text,
.pcap-text-shadow {
	font-size: 13px;
	line-height: 1.5em;
	padding: 20px 10px 5px;
	letter-spacing: 0em;
	/* transform: scale(0.5,1.0) translateY(-20px); */
}
.out-cap-text {
	font-size: 12px;
	line-height: 1.5em;
	padding: 4px 0px 0px;
	transform: translateY(-30px);
}
.gallery-catch {
	font-size: 12px;
	line-height: 1.5em;
	color: rgba(255,255,255,1.0);
	background: linear-gradient(0deg, rgba(0,0,0,0.6), rgba(0,0,0,0));
	display: block;
	padding: 20px 5px 3px;
	width: 100%;
	position: absolute;
	left: 0px;
	bottom: 0px;
	text-align: right;
}


.maxw1200-pad {
	padding: 0px 30px;
}



.rpat10 {
	padding-top: 12px !important;
}
.rpat15 {
	padding-top: 17px !important;
}
.rpat20 {
	padding-top: 21px !important;
}
.rpat30 {
	padding-top: 32px !important;
}

.rpab20 {
	padding-bottom: 21px !important;
}
.rpab30 {
	padding-bottom: 32px !important;
}

.rmab50 {
	margin-bottom: 50px !important;
}
.rmab60 {
	margin-bottom: 60px !important;
}


.rmat30 {
	margin-top: 30px !important;
}
.rmat40 {
	margin-top: 35px;
}

.resmab10 {
	margin-bottom: 14px !important;
}
.rmab15 {
	margin-bottom: 18px;
}
.rmab30 {
	margin-bottom: 25px !important;
}
.rmab40 {
	margin-bottom: 35px !important;
}


.cap-text {
	font-size: 14px;
	line-height: 1.6em;
}
.text-shadow-w {
 text-shadow: 1px 1px 6px rgba(255, 255, 255, 1.0), 1px 1px 12px rgba(255, 255, 255, 1.0), 1px 1px 19px rgba(255, 255, 255, 1.0), 1px 1px 24px rgba(255, 255, 255, 1.0), 1px 1px 30px rgba(255, 255, 255, 1.0), 1px 1px 35px rgba(255, 255, 255, 1.0), 1px 1px 40px rgba(255, 255, 255, 1.0);
}

.resletter {
	letter-spacing: 0.1em;
}

.table-block,
.table-over {
	overflow: visible;
}




@-webkit-keyframes MainZoomuptop {
  0% {
    opacity: 0.0;
		transform: scale(1.0,1.0);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}
@keyframes MainZoomuptop {
  0% {
    opacity: 0.0;
		transform: scale(1.0,1.0);
  }
  100% {
    opacity: 1;
		transform: scale(1.0,1.0);
  }
}

}

@media print, screen and (min-width: 1200px) {
.out-cap-text {
	font-size: 13px;
	line-height: 1.5em;
	padding: 4px 0px 0px;
	transform: translateY(-30px);
}


.maxw1200-pad {
	padding: 0px;
}



.rpat10 {
	padding-top: 15px !important;
}
.rpat15 {
	padding-top: 19px !important;
}
.rpat20 {
	padding-top: 24px !important;
}
.rpat30 {
	padding-top: 35px !important;
}

.rpab20 {
	padding-bottom: 24px !important;
}
.rpab30 {
	padding-bottom: 35px !important;
}



.rmat30 {
	margin-top: 35px !important;
}
.rmat40 {
	margin-top: 40px;
}

.resmab10 {
	margin-bottom: 16px !important;
}
.rmab30 {
	margin-bottom: 30px !important;
}
.rmab40 {
	margin-bottom: 40px !important;
}

.rmab50 {
	margin-bottom: 55px !important;
}
.rmab60 {
	margin-bottom: 65px !important;
}

}


@media print, screen and (min-width: 1400px) {

.rpat10 {
	padding-top: 17px !important;
}
.rpat15 {
	padding-top: 21px !important;
}
.rpat20 {
	padding-top: 28px !important;
}
.rpat30 {
	padding-top: 40px !important;
}

.rpab20 {
	padding-bottom: 28px !important;
}
.rpab30 {
	padding-bottom: 40px !important;
}



.rmat40 {
	margin-top: 45px;
}
.rmab30 {
	margin-bottom: 35px !important;
}
.rmab40 {
	margin-bottom: 45px !important;
}
}






a.img-over,
a.img-over2,
a.img-plan-over {
	overflow: hidden;
	position: relative;
	display: block;
}
.img-over:hover {
}
a.img-over img,
a.img-over2 img,
a.img-plan-over img {
	padding: 0px;
	display: block;
	margin: 0px;
	height: auto;
	width: 100%;
	transition: all 1.0s;
}

a:hover.img-over img {
	/* transform: scale(1.01) !important; */
}
a:hover.img-over2 img {
	transform: scale(1.03) !important;
}
a:hover.img-plan-over img {
	/* transform: scale(1.00) !important; */
}


a.img-over:after,
a.img-over2:after,
a.img-plan-over:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	/* background: radial-gradient(rgba(96,76,63, 0.2), rgba(96,76,63,0.8)); */
	background: radial-gradient(rgba(255,255,255, 0), rgba(0,0,0,0.1));
	left: 0px;
	top: 0px;
	z-index: 2;
	opacity: 0;
	transition: all 0.5s;
	cursor: pointer;
}
a.img-over2:after,
a.img-plan-over:after {
	background: radial-gradient(rgba(255,255,255, 0), rgba(0,0,0,0.1));
}
a:hover.img-over:after,
a:hover.img-over2:after,
a:hover.img-plan-over:after {
	opacity: 1;
}






input.photo-over:hover {
	-moz-opacity:0.6;
	opacity:0.6;
	cursor: default;
}
img.photo-off {
	-moz-opacity:0.5;
	opacity:0.5;
}













@media print, screen and (min-width: 768px) {

}


@media print, screen and (min-width: 1024px) {

}


@media print, screen and (min-width: 1400px) {

}




/* Utilities ----------------------------------------------------------------- */

.inline { display: inline; }
.hidden { display: none; }




/*
#scroll-arrow {
	display: none;
}
*/

.scrolldown a {
	position: absolute;
	z-index: 100;
	display: inline-block;
	-webkit-transform: translate(0, -30%);
	transform: translate(0, -30%);
	color: rgba(255,255,255,1.0) !important;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: opacity 0.3s;
	bottom: 20%;
	left: calc(50% - 15px);
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-shadow: 0px 3px 6px rgba(0,0,0,1.0);
	cursor: default;
	font-size: 12px;
	line-height: 1.0em;
}
/*
.scrolldown a:hover {
  opacity: 0.5;
}
*/
#scroll-arrow a {
  padding-top: 60px;
	cursor: default;
}
#scroll-arrow a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb05 1.5s infinite;
  animation: sdb05 1.5s infinite;
  box-sizing: border-box;
	/* box-shadow: 0px 0px 18px 2px rgba(0,0,0,0.8);
	filter: drop-shadow(0px 0px 18px 2px rgba(0,0,0,0.8)); */
	filter: drop-shadow(0px 4px 5px rgba(0,0,0,1.0));
}
#scroll-arrow a:hover {
	text-decoration: none;
}
@-webkit-keyframes sdb05 {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb05 {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}








/* page-top */
#page-top {
	position: fixed;
	bottom: -100px;
	right: 10px;
	font-size: 77%;
	z-index: 100;
}
#page-top a {
	background: rgba(119,119,119,1.0);
	text-decoration: none;
	color: #fff;
	width: 40px;
	height: 40px;
	text-align: center;
	display: block;
	border-radius: 50%;
	text-indent: -9999px;
	transition: all 0.5s;
	box-shadow: 0px 0px 12px 2px rgba(255,255,255, 1.0);
}
#page-top a:hover {
	text-decoration: none;
	opacity: 1.0;
	background: rgba(160,160,160, 1.0);
	box-shadow: 0px 0px 14px 3px rgba(255,255,255, 1.0);
}
#page-top a:after {
	content: '';
	width: 12px;
	height: 12px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 15px;
	left: 14px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
}


@media print, screen and (min-width: 768px) {
#page-top {
	bottom: -100px;
	right: 16px;
}
#page-top a {
	width: 50px;
	height: 50px;
	box-shadow: 0px 0px 14px 3px rgba(255,255,255, 1.0);
}
#page-top a:after {
	content: '';
	width: 15px;
	height: 15px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 20px;
	left: 17px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
}


.scrolldown a {
	bottom: 25%;
	left: calc(50% - 20px);
	font-size: 13px;
	line-height: 1.0em;
}

#scroll-arrow a {
  padding-top: 70px;
}
#scroll-arrow a span {
  top: 0;
  left: 50%;
  width: 32px;
  height: 32px;
  margin-left: -16px;
}
}


@media print, screen and (min-width: 1024px) {
#scroll-arrow {
	display: block;
}


#page-top {
	bottom: -100px;
	right: 18px;
}

}


@media print, screen and (min-width: 1200px) {



#page-top {
	bottom: -100px;
	right: 15px;
	font-size: 77%;
}
#page-top a {
	width: 56px;
	height: 56px;
	box-shadow: 0px 0px 14px 3px rgba(255,255,255, 1.0);
}
#page-top a:hover {
	box-shadow: 0px 0px 16px 5px rgba(255,255,255, 1.0);
}
#page-top a:after {
	content: '';
	width: 17px;
	height: 17px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 20px;
	left: 18px;
}
}


@media print, screen and (min-width: 1400px) {

}








/* Toggle Button */
#nav-toggle {
	position: fixed;
	right: 8px;
	top: 6px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	text-align: center;
	z-index: 1001;
	border-radius: 50%;
	padding: 10px 9px 8px;
	background-color: rgba(0,34,99,1.00);
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: rgba(255,255,255,1.0);
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 7px;
}
#nav-toggle span:nth-child(3) {
    top: 14px;
}
#nav-toggle.open span:nth-child(1) {
		top: 7px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
}
#nav-toggle.open span:nth-child(2) {
		width: 0;
		left: 50%;
}
#nav-toggle.open span:nth-child(3) {
		top: 7px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
}


@media print, screen and (min-width: 375px) {
/* Toggle Button */
#nav-toggle {
	right: 10px;
	top: 7px;
	width: 38px;
	height: 38px;
	padding: 11px 10px 8px;
}

}



@media print, screen and (min-width: 768px) {
/* Toggle Button */
#nav-toggle {
	right: 15px;
	top: 9px;
	width: 42px;
	height: 42px;
	padding: 12px 11px 15px;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 8px;
}
#nav-toggle span:nth-child(3) {
    top: 16px;
}
#nav-toggle.open span:nth-child(1) {
		top: 9px;
}
#nav-toggle.open span:nth-child(3) {
		top: 9px;
}
}
@media print, screen and (min-width: 1024px) {
#nav-toggle {
	right: 20px;
	top: 14px;
}
}


@media print, screen and (min-width: 1200px) {
#nav-toggle {
	display: none;
}
}


@media print, screen and (min-width: 1400px) {
}








/* リンクボタン */
.gold-button a,
.bule-button a {
	font-size: 14px;
	line-height: 1.3em;
	letter-spacing: 0.05em;
	/* font-weight: bold; */
	color: rgba(255,255,255,1.0) !important;
	background: linear-gradient(120deg, rgba(170, 170, 170, 1.0), rgba(119,119,119,1.0));
	border-radius: 45px;
	box-shadow: 0px 1px 15px 2px rgba(255,255,255, 0.6);
	transition: all 0.5s ease 0s;
	cursor: pointer;
	outline: none;
	text-align: center;
	padding: 10px 35px;
	width: auto;
	display: inline-block;
	position: relative;
}

.gold-button a {
	background: linear-gradient(120deg, rgba(206, 186, 128, 1.0), rgba(115,101,81,1.0));
	padding: 10px 20px;
}
.bule-button a {
	background: linear-gradient(120deg, rgba(136, 183, 233, 1.0), rgba(91,110,129,1.0));
	padding: 10px 20px;
}

.gold-button a p,
.bule-button a p {
	position: relative;
	z-index: 3;
}
.gold-button a:hover,
.bule-button a:hover {
	text-decoration: none;
	color: rgba(68,68,68,1.0) !important;
	transform: translateY(-2px);
	box-shadow: 0px 5px 20px 1px rgba(0,0,0, 0.4);
}
.gold-button a:hover,
.bule-button a:hover {
	color: rgba(255,255,255,1.0) !important;
}

.gold-button a:after,
.bule-button a:after {
  content: " ";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
	border-radius: 45px;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(120deg, rgba(255, 255, 255, 1.0), rgba(220,220,220,1.0));
	opacity: 0; 
  transition: all 0.4s;
}
.gold-button a:after {
	background: linear-gradient(120deg, rgba(250, 240, 200, 1.0), rgba(124,106,74,1.0));
}
.bule-button a:after {
	background: linear-gradient(120deg, rgba(179, 216, 255, 1.0), rgba(135,161,195,1.0));
}
.gold-button a:hover:after,
.bule-button a:hover:after {
  opacity: 1;
}



/*
short-button other-site-icon
*/

a.default-button,
a.button-100,
a.short-button {
  font-size: 12px;
  line-height: 1.3em;
  letter-spacing: 0.00em;
  font-weight: bold;
  color: rgba(17,17,17,1.0);
  background: rgba(255,255,255,1.0);
  border-radius: 45px;
  box-shadow: 0px 0px 10px 1px rgba(0,0,0, 0.3);
  transition: all 0.5s;
  cursor: pointer;
  outline: none;
  text-align: center;
  padding: 10px 5px;
  width: 100%;
  display: block;
  position: relative;
  margin: 0px auto;
  white-space: nowrap;
  overflow: hidden;
}
a.default-button.pink-link.pexternal {
color: rgba(206,0,116,1.00);
}

a.default-button:after,
a.button-100:after,
a.short-button:after {
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  border: 1px solid;
  border-color: rgba(0,34,99,1.00) rgba(0,34,99,1.00) transparent transparent;
  transform: rotate(45deg);
  right: 10px;
  top: calc(50% - 4px);
	transition: all 0.5s;
}
a.default-button:hover,
a.button-100:hover,
a.short-button:hover  {
  text-decoration: none;
  transform: translateY(-3px);
  color: rgba(255,255,255,1.0);
  background-color: rgba(0,34,99,1.00);
  box-shadow: 0px 3px 10px 1px rgba(0,0,0,0.50);
  /*
  box-shadow: 0px 3px 12px 1px rgba(255,0,196,0.50);
  -webkit-box-shadow: 0px 3px 12px 1px rgba(255,0,196,0.50);
  */
}
a.default-button.pink-link.pexternal:hover {
color: rgba(255,255,255,1.0);
}
a.default-button:hover:after,
a.button-100:hover:after,
a.short-button:hover:after {
  border-color: rgba(255,255,255,1.00) rgba(255,255,255,1.00) transparent transparent;
}

a.default-button.pdf-icon {
}
a.default-button.pdf-icon:after,
a.button-100.pdf-icon:after {
  display: none;
}

a.default-button.pdf-icon:before,
a.short-button.pdf-icon:before,
a.button-100.pdf-icon:before {
  content: "";
  width: calc(48px / 3);
  height: calc(48px / 3);
  display: inline-block;
  padding-right: 5px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 0px 0px;
  background-image: url(../../../common/images/icon_pdf.png);
  background-size: calc(48px / 3) auto;
}

a.default-button.external-icon:after,
a.default-button.pdf:after,
a.default-button.pink-link.pexternal:after {
display: none;
}
a.default-button.external-icon::before,
a.default-button.pink-link.pexternal::before {
content: "";
width: 14px;
height: 14px;
display: block;
position: absolute;
background-image: url(../../../common/images/icon_external.svg);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
right: 6px;
top: calc(50% - 7px);
transition: all 0.5s;
}
a.default-button.pink-link.pexternal::before {
background-image: url(../../../common/images/icon_external_p.svg);
}
a.default-button.external-icon:hover::before,
a.default-button.pink-link.pexternal:hover::before {
background-image: url(../../../common/images/icon_external_w.svg);
}
a.default-button.pdf::before {
content: "";
width: 14px;
height: 14px;
display: block;
position: absolute;
background-image: url(../../../common/images/icon_pdf.svg);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
right: 6px;
top: calc(50% - 7px);
transition: all 0.5s;
}





a.button-100.holiday {
  color: rgba(221,17,108,1.00);
}
a.button-100.time-icon:after {
  display: none;
}
a.button-100.time-icon:before {
  content: "";
  width: calc(50px / 2);
  height: 100%;
  display: block;
  position: absolute;
  top: 0px;
  left: 4px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 0px center;
  background-image: url(../../../train/station/images/icon_clock.png);
  background-size: calc(50px / 2) auto;
}
a.button-100.time-icon.holiday:before {
  background-image: url(../../../train/station/images/icon_clock_p.png);
}
a.button-100.time-icon.holiday:hover {
  color: rgba(255,255,255,1.0);
}
a.button-100.time-icon:hover:before {
  background-image: url(../../../train/station/images/icon_clock_w.png);
}



a.short-button {
	font-size: 12px;
	line-height: 1.3em;
	padding: 10px 25px 10px 18px;
}
a.short-button.other-site-icon:after,
a.default-button.other-site-icon:after,
a.short-button.pdf-icon:after {
  display: none;
}
a.short-button.other-site-icon:before,
a.default-button.other-site-icon:before {
  content: "";
  width: calc(30px / 2.5);
  height: 100%;
  display: block;
  position: absolute;
  top: 0px;
  right: 6px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 0px center;
  background-image: url(../../../common/images/icon_anothersite.png);
  background-size: calc(30px / 2.5) auto;
}
a.short-button.other-site-icon:hover:before,
a.default-button.other-site-icon:hover:before{
	background-image: url(../../../common/images/icon_anothersite_w.png);
}





sup {
	font-size: 50%;
	vertical-align: top;
	position: relative;
	top: -0.2em;
}



.kome-text li p,
.ind-list li p {
	text-indent: -1em;
	margin: 0px 0px 0px 1em;
	font-size: 12px;
	line-height: 1.6em;
}
.kome-textdiv p {
	text-indent: -1em;
	margin: 0px 0px 0px 1em;
	font-size: 85%;
	line-height: 1.6em;
	font-weight: normal;
}


.photo-zoom {
	background: rgba(255, 255, 255, 0.4);
	padding: 3px;
	position: absolute;
	right: 0px;
	bottom: 0px;
}
.photo-zoom img {
	width: calc(72px / 4) !important;
	height: calc(72px / 4) !important;
}



.photo-out {
	overflow: hidden;
	position: relative;
}
.photo-out img {
	height: auto;
	width: 100%;
}



.outline-table {
	width: 100%;
	border-top: 1px solid rgba(0, 0, 0, 0.5);
	border-left: 1px solid rgba(0, 0, 0, 0.5);
}
.outline-table td,
.outline-table th {
	font-size: 12px;
	line-height: 1.5em;
	font-weight: normal;
	text-align: left;
	padding: 5px 8px;
	border-right: 1px solid rgba(0, 0, 0, 0.5);
	border-bottom: 1px solid rgba(0, 0, 0, 0.5);
	white-space: nowrap;
}
.outline-table th {
	background: rgba(0, 0, 0, 0.1);
}




@media print, screen and (min-width: 375px) {
.gold-button a,
.bule-button a {
	font-size: 16px;
	line-height: 1.3em;
	letter-spacing: 0.05em;
	border-radius: 45px;
	box-shadow: 0px 1px 18px 2px rgba(255,255,255, 0.6);
	padding: 12px 50px;
}
.gold-button a {
	padding: 11px 20px;
}
.bule-button a {
	padding: 11px 20px;
}
.gold-button a:hover,
.bule-button a:hover {
	box-shadow: 0px 5px 24px 1px rgba(0,0,0, 0.4);
}

a.default-button,
a.button-100 {
  font-size: 15px;
  line-height: 1.3em;
  padding: 10px 5px;
  width: 100%;
  box-shadow: 0px 0px 12px 1px rgba(0,0,0, 0.3);
}

a.default-button:hover,
a.button-100:hover {
  transform: translateY(-3px);
  box-shadow: 0px 3px 12px 1px rgba(0,0,0,0.50);
}


.page-pad {
	padding-right: 15px;
	padding-left: 15px;
}

.outline-table td,
.outline-table th {
	font-size: 13px;
	line-height: 1.5em;
	padding: 6px 10px;
}


a.short-button {
	font-size: 15px;
	line-height: 1.3em;
	padding: 10px 25px 10px 18px;
}
a.short-button.other-site-icon:before,
a.default-button.other-site-icon:before {
  width: calc(30px / 2.3);
  top: 0px;
  right: 8px;
  background-size: calc(30px / 2.3) auto;
}



}


@media print, screen and (min-width: 768px) {
.gold-button a,
.bule-button a {
	font-size: 17px;
	line-height: 1.3em;
	letter-spacing: 0.1em;
	border-radius: 45px;
	box-shadow: 0px 1px 20px 2px rgba(255,255,255, 0.6);
	padding: 13px 65px;
}
.gold-button a:hover,
.bule-button a:hover {
	box-shadow: 0px 5px 24px 1px rgba(0,0,0, 0.4);
}

a.default-button {
  font-size: 16px;
  line-height: 1.3em;
  padding: 12px 5px;
  width: 50%;
  box-shadow: 0px 0px 12px 1px rgba(0,0,0, 0.3);
}
a.default-button:after {
  content: "";
  width: 8px;
  height: 8px;
  right: 10px;
  top: calc(50% - 5px);
}

a.default-button.pdf-icon:before,
a.short-button.pdf-icon:before,
a.button-100.pdf-icon:before {
  content: "";
  width: calc(48px / 2.5);
  height: calc(48px / 2.5);
  padding-right: 5px;
  background-size: calc(48px / 2.5) auto;
}


a.default-button:hover  {
  transform: translateY(-3px);
  box-shadow: 0px 3px 12px 1px rgba(0,0,0,0.50);
}

a.button-100 {
  font-size: 15px;
  line-height: 1.3em;
  padding: 10px 5px;
  box-shadow: 0px 0px 12px 1px rgba(0,0,0, 0.3);
}
a.button-100.time-icon:before {
  left: 4px;
}


a.short-button {
	font-size: 15px;
	line-height: 1.3em;
	padding: 11px 30px 11px 22px;
}
a.short-button.other-site-icon:before,
a.default-button.other-site-icon:before {
  width: calc(30px / 2);
  top: 0px;
  right: 10px;
  background-size: calc(30px / 2) auto;
}



.kome-text li p {
	font-size: 13px;
	line-height: 1.6em;
}
.kome-textdiv p {
	font-size: 90%;
	line-height: 1.6em;
	font-weight: normal;
}



.page-pad {
	padding-right: 25px;
	padding-left: 25px;
}

.photo-zoom img {
	width: calc(72px / 3) !important;
	height: calc(72px / 3) !important;
}



.outline-table td,
.outline-table th {
	font-size: 14px;
	line-height: 1.5em;
	padding: 8px 12px;
}


a.default-button.external-icon::before,
a.default-button.pdf::before,
a.default-button.pink-link.pexternal::before {
width: 18px;
height: 18px;
right: 8px;
top: calc(50% - 9px);
}

}


@media print, screen and (min-width: 1024px) {
.gold-button a,
.bule-button a {
	font-size: 18px;
	line-height: 1.3em;
	letter-spacing: 0.1em;
	border-radius: 45px;
	padding: 14px 75px;
}


a.default-button {
  font-size: 17px;
  line-height: 1.3em;
  padding: 13px 100px;
  width: auto;
  box-shadow: 0px 0px 13px 1px rgba(0,0,0, 0.3);
  display: table;
}
a.default-button:hover  {
  transform: translateY(-3px);
  box-shadow: 0px 3px 13px 1px rgba(0,0,0,0.50);
}


a.button-100 {
  font-size: 16px;
  line-height: 1.3em;
  padding: 11px 5px;
  box-shadow: 0px 0px 13px 1px rgba(0,0,0, 0.3);
}
a.button-100.time-icon:before {
  left: 8px;
}



a.short-button {
	font-size: 16px;
	line-height: 1.3em;
	padding: 12px 34px 12px 26px;
}
a.short-button.other-site-icon:before,
a.default-button.other-site-icon:before {
  top: 0px;
  right: 12px;
}




.kome-text li p {
	font-size: 14px;
	line-height: 1.6em;
}



.page-pad {
	padding-right: 30px;
	padding-left: 30px;
}


.outline-table td,
.outline-table th {
	font-size: 15px;
	line-height: 1.5em;
	padding: 10px 15px;
}

a.default-button.external-icon::before,
a.default-button.pdf::before,
a.default-button.pink-link.pexternal::before {
width: 20px;
height: 20px;
right: 10px;
top: calc(50% - 10px);
}

}







@media print, screen and (min-width: 1200px) {

.gold-button a,
.bule-button a {
	font-size: 18px;
	line-height: 1.3em;
	letter-spacing: 0.1em;
	border-radius: 45px;
	padding: 15px 90px;
}


.page-pad {
	padding-right: 0px;
	padding-left: 0px;
}


a.default-button {
  font-size: 18px;
  line-height: 1.3em;
  padding: 13px 120px;
  width: auto;
  box-shadow: 0px 0px 13px 1px rgba(0,0,0, 0.3);
}
a.default-button:hover  {
  transform: translateY(-3px);
  box-shadow: 0px 3px 13px 1px rgba(0,0,0,0.50);
}

a.default-button.pdf-icon:before,
a.short-button.pdf-icon:before,
a.button-100.pdf-icon:before {
  content: "";
  width: calc(48px / 2);
  height: calc(48px / 2);
  padding-right: 5px;
  background-size: calc(48px / 2) auto;
}

a.button-100 {
  font-size: 17px;
  line-height: 1.3em;
  padding: 12px 5px;
  box-shadow: 0px 0px 13px 1px rgba(0,0,0, 0.3);
}
a.button-100.time-icon:before {
  left: 9px;
}


}


@media print, screen and (min-width: 1400px) {
.gold-button a,
.bule-button a {
	font-size: 19px;
	line-height: 1.3em;
	letter-spacing: 0.1em;
	border-radius: 45px;
	padding: 16px 110px;
}


}













@media print{
.print-off {
    display: none;
}
body #print img {
  height: auto !important;
	width: 100% !important;
}
}
