@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:400,700);
@font-face {
  font-family: "微軟正黑體";
  font-style: normal;
  src: url(fonts/SourceHanSerif-Light-sub.eot);
  src: url(fonts/SourceHanSerif-Light-sub.eot?#iefix) format('embedded-opentype'),
       url(fonts/SourceHanSerif-Light-sub.woff) format('woff');
}



html {overflow-y: scroll;}

body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, header, address,
figure, figcaption {
	margin: 0;
	padding: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal;
}

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

caption, th {text-align: left;}

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

object, embed {verticalc-align: top;}

legend {display: none;}

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

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

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}

ul li {list-style-type: none;}

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
  font-size: 93.75%;
}
body {
	color: #222;
	text-align: left;
	line-height: 1.8;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-family: "微軟正黑體" !important;
	overflow: hidden;
}



/*-----------------------------------------------*/
a {
	cursol: pointer;
}
.main a {
	text-decoration: underline;
	color: #968850;
	outline: none;
	-moz-transition: color .2s linear;
	-webkit-transition: color .2s linear;
	transition: color .2s linear;
}
html:not(.sp) .main a:hover {
	text-decoration: none;
	color: #968850c;
}
.main h2 a {
  text-decoration: none;
}


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

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

@font-face {
	font-family: "微軟正黑體";
	font-weight: 500;
	src: local("YuGothic-Medium"),
	     local("Yu Gothic"),	/* for Chrome */
	     local("YuGothic-Regular");
}
@font-face {
	font-family:"微軟正黑體";
	font-weight: bold;
	src: local("YuGothic-Bold"),
	     local("Yu Gothic");	/* for Chrome */
}

body {font-family: -apple-system, BlinkMacSystemFont, MyYuGothicM, Meiryo, "Hiragino kaku Gothic ProN", sans-serif;}


@media all and (-ms-high-contrast:none) {
	body {font-family: "微軟正黑體";}
}

input,
select,
textarea,
button {font-family: inherit;}




/* 指定 */
.main .copy,
.main h2:not([class*="heading"]),
.main h3:not([class*="heading"]),
.main h4:not([class*="heading"]),
.main h5:not([class*="heading"]),
.main h6:not([class*="heading"]),
.main .heading1,
.main .heading2,
.main .heading3,
.main .heading4,
.main .heading5,
.main .box .heading,
.main .frame .heading {/* font-family: "Noto Sans Japanese", -apple-system, BlinkMacSystemFont, MyYuGothicM, Meiryo, "Hiragino kaku Gothic ProN", sans-serif; */}

/* IEにメイリオを指定（下余白対策） */
@media all and (-ms-high-contrast:none) {
	.main .copy,
	.main h2:not([class*="heading"]),
	.main h3:not([class*="heading"]),
	.main h4:not([class*="heading"]),
	.main h5:not([class*="heading"]),
	.main h6:not([class*="heading"]),
	.main .heading1,
	.main .heading2,
	.main .heading3,
	.main .heading4,
	.main .heading5,
	.main .box .heading,
	.main .frame .heading {font-family: "微軟正黑體";}
}



/* ----- Web（Google Fonts） ----- */



.txt-en {font-family: "微軟正黑體" !important;}



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

#wrapper {min-width: 320px;}

main {display: block;}

.main .content {
	padding-top: 30px;
	padding-bottom: 30px;
	background-color: #fff;
	overflow: hidden;
}
.main .content:not([class*="bg-"]) + .content:not([class*="bg-"]) {padding-top: 0;}

.row {
	max-width: 1170px;
	margin: 0 auto;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
.row .row {padding: 0;}

.main .row > :last-child {
  margin-bottom: 0 !important;
}
.main article {
  margin-bottom: 20px;
}


/*---------------------------------------------
	強制指定
  ---------------------------------------------*/

/* ----- 上下左右中央 ----- */

.main .left {text-align: left !important;}
.main .center {text-align: center !important;}
.main .right {text-align: right !important;}
.main .top {vertical-align: top !important;}
.main .middle {vertical-align: middle !important;}
.main .bottom {vertical-align: bottom !important;}
.main .tag.center,
.main .label.center,
.main .btn.center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.main .tag.right,
.main .label.right,
.main .btn.right {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
.main .panel-vertical .badge.center {
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
.main .panel-vertical .badge.right {
	left: auto;
	right: 0;
}
.main .panel-horizontal .txt.middle,
.main .panel-covered .txt.middle {
	-ms-flex-flex-item-align: center !important;
	-webkit-align-self: center !important;
	align-self: center !important;
}
.main .panel-horizontal .txt.bottom,
.main .panel-covered .txt.bottom {
	-ms-flex-flex-item-align: end !important;
	-webkit-align-self: flex-end !important;
	align-self: flex-end !important;
}



/* ----- 表示／非表示 ----- */

@media screen and (min-width: 768px) {
	.show-sp {display: none !important;}
}



/* ----- 文字----- */

.main .l {font-size: 1.33rem !important;}
.main .m {font-size: 1rem !important;}
.main .s {font-size: .8rem !important;}
.main .note.s {margin-bottom:20px !important;}



/* ----- 幅 ----- */

.main .w50 {width: 50px !important;}
.main .w60 {width: 60px !important;}
.main .w70 {width: 70px !important;}
.main .w80 {width: 80px !important;}
.main .w90 {width: 90px !important;}
.main .w100 {width: 100px !important;}
.main .w110 {width: 110px !important;}
.main .w120 {width: 120px !important;}
.main .w130 {width: 130px !important;}
.main .w140 {width: 140px !important;}
.main .w150 {width: 150px !important;}
.main .w160 {width: 160px !important;}
.main .w170 {width: 170px !important;}
.main .w180 {width: 180px !important;}
.main .w190 {width: 190px !important;}
.main .w200 {width: 200px !important;}

.main .w1-2 {width: calc(100% / 2 - 30px);}
.main .w1-3 {width: calc(100% / 3 - 30px);}
.main .w1-4 {width: calc(100% / 4 - 30px);}

/* ----- 下余白 ----- */

.main .mb0 {margin-bottom: 0 !important;}
.main .mb10 {margin-bottom: 10px !important;}
.main .mb20 {margin-bottom: 20px !important;}
.main .mb30 {margin-bottom: 30px !important;}
.main .mb40 {margin-bottom: 40px !important;}
.main .mb50 {margin-bottom: 50px !important;}
.main .mb60 {margin-bottom: 60px !important;}
.main .mb70 {margin-bottom: 70px !important;}
.main .mb80 {margin-bottom: 80px !important;}
.main .mb90 {margin-bottom: 90px !important;}
.main .mb100 {margin-bottom: 100px !important;}

/* ----- 上白 ----- */
.main .pt0 {padding-top: 0 !important;}


/* ----- 背景色 ----- */

.main .bg-white {background-color: #fff !important;}		/* 白 */
.main .bg-light {background-color: #e5e5e5 !important;}		/* */
.main .bg-gray {background-color: #e5e9e9 !important;}		/* */
.main .bg-dark {background-color: #5b5331 !important;}		/*  */
.main .bg-red {background-color: #e83636 !important;}		/* */
.main .bg-color1 {background-color: #5b5331 !important;}	/*  */
.main .bg-color2 {background-color: #d5d662 !important;}	/*  */
.main .bg-color3 {background-color: #68a3a5 !important;}	/*  */
.main .bg-color4 {background-color: #5b5331 !important;}	/* */
.main .bg-color5 {background-color: #968850 !important;}	/* base*/
.main .bg-color6 {background-color: #b0d561 !important;}	/* 黄緑 */
.main .bg-color7 {background-color: #44b98e !important;}
.main .bg-img {
	background-repeat: no-repeat;
	background-position: center center;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
}



/* ----- 文字色（白） ----- */

.main .txt-white *,
.main .panel-covered * {color: #fff !important;}

.main .txt-white h2:not([class*="heading"]):after,
.main .txt-white h3:not([class*="heading"]):after,
.main .txt-white h4:not([class*="heading"]):after,
.main .txt-white .heading1:after,
.main .txt-white .heading2:after,
.main .txt-white .heading3:after,
.main .txt-white ul li:before,
.main .panel-covered h2:not([class*="heading"]):after,
.main .panel-covered h3:not([class*="heading"]):after,
.main .panel-covered h4:not([class*="heading"]):after,
.main .panel-covered .heading1:after,
.main .panel-covered .heading2:after,
.main .panel-covered .heading3:after,
.main .panel-covered ul li:before {background-color: #fff;}

.main .txt-white h3:not([class*="heading"]),
.main .panel-covered h3:not([class*="heading"])  {border-bottom-color: rgba(255, 255, 255, .2);}

.main .panel-vertical.txt-white .tag,
.main .panel-vertical.txt-white .link-horizontal,
.main .panel-covered .tag,
.main .panel-covered .link-horizontal {border-top: solid 1px rgba(255, 255, 255, .2);}

.main .txt-white .link-horizontal a:not(:last-child):after,
.main .panel-covered .link-horizontal a:not(:last-child):after {background-color: rgba(255, 255, 255, .2);}

.main .txt-white .link-icon a:after,
.main .txt-white a .link-icon:after,
.main .panel-covered .link-icon a:after,
.main .panel-covered a .link-icon:after {background-position-y: -120px !important;}


/*  */
.main .txt-white .btn .ghost:not(:hover),
.main .panel-covered .btn .ghost:not(:hover) {border: solid 2px rgba(255, 255, 255, .5);}
.main .txt-white .btn .icon-back.ghost:before,
.main .panel-covered .btn .icon-back.ghost:before,
.main .txt-white .btn .ghost:after,
.main .panel-covered .btn .ghost:after {background-position-y: -120px;}
html:not(.sp) .main .txt-white .btn .ghost:hover,
html:not(.sp) .main .panel-covered .btn .ghost:hover {color: #434c4d !important; background-color: #fff !important; border: solid 2px #fff !important;}
html:not(.sp) .main .txt-white .btn .icon-back.ghost:hover:before,
html:not(.sp) .main .panel-covered .btn .icon-back.ghost:hover:before,
html:not(.sp) .main .txt-white .btn .ghost:hover:after,
html:not(.sp) .main .panel-covered .btn .ghost:hover:after {background-position-y: -96px !important;}

.main a.link-normal {color: #222; text-decoration: none;}

/*---------------------------------------------
	一括指定
  ---------------------------------------------*/

/* ----- margin ----- */

.main .row .no-gutter,
.main p,
.main .img,
.main figure,
.main h2,
.main h3,
.main h4,
.main h5,
.main h6,
.main [class*="heading"],
.main ul,
.main ol,
.main dl,
.main table,
.main .nav-content,
.main .row .tab,
.main .embed-video,
.main hr {margin-bottom: 20px;}
.main hr {margin-top: 60px;}

.main .box,
.main .frame,
.main ul.col-set li,
.main .panel-vertical,
.main .row .panel-horizontal,
.main .col-set:not(.no-gutter) .panel-covered,
.main .slider {margin-bottom: 40px;}

.main .tab,
.main .form dl.border-set {margin-bottom: 50px;}

.main .tag,
.main .btn-share,
.main .link-horizontal,
.main .label {margin-bottom: 10px;}

.main .caption,
.main .link-icon:not(li) + .link-icon {margin-top: -10px;}

.main .note + .note,
.main .note-num + .note-num {margin-top: -15px;}

.main .btn {margin-right: -30px;}
.main .btn > * {margin: 0 30px 30px 0;}

.main .panel-vertical .badge {
	margin-left: 30px;
	margin-right: 30px;
}


/* ----- margin + padding ----- */

.main .box,
.main .frame,
.main .panel-vertical .txt,
.main .panel-horizontal .txt,
.main .panel-covered .txt,
.mfp-inline-holder .mfp-content .content {padding: 25px 25px 10px;}

.main .img-txt .img {
	margin-right: 15px;
	padding-right: 15px;
}

.main .img-txt .img.right {
	margin-right: 0;
	padding-right: 0;
	margin-left: 15px;
	padding-left: 15px;
}

.main .box .heading:first-child {
	margin: -30px -30px 30px;
	padding: 12px 30px;
}

.main .frame .heading:first-child {
	margin: -30px -25px 30px;
	padding: 20px 30px;
}

.main .panel-vertical .link-horizontal,
.main .panel-covered .link-horizontal {padding: 15px 20px 5px 30px;}

.main .panel-vertical .tag,
.main .panel-covered .tag {padding: 15px 22px 7px 30px;}

.main .panel-covered .link-horizontal,
.main .panel-covered .tag {margin: 0 -30px -10px;}

.main .tab-element {padding: 30px 0 10px;}
.main .row .tab .tab-element {
	padding-left: 30px;
	padding-right: 30px;
}

/* ----- right / bottom ----- */

#btn-pagetop {right: 30px;}
#btn-pagetop.show {bottom: 30px;}



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

.col-set {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: calc(100% + 30px);
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.no-gutter {width: 100%;}

.col1-2 {width: calc(100% / 2 - 30px);}
.col1-3 {width: calc(100% / 3 - 30px);}
.col2-3 {width: calc(100% / 3 * 2 - 30px);}
.col1-4 {width: calc(100% / 4 - 30px);}
.col3-4 {width: calc(100% / 4 * 3 - 30px);}
.col1-5 {width: calc(100% / 5 - 30px);}
.col2-5 {width: calc(100% / 5 * 2 - 30px);}
.col3-5 {width: calc(100% / 5 * 3 - 30px);}
.col1-6 {width: calc(100% / 6  - 30px);}
.no-gutter > .col1-2 {width: calc(100% / 2);}
.no-gutter > .col1-3 {width: calc(100% / 3);}
.no-gutter > .col2-3 {width: calc(100% / 3 * 2);}
.no-gutter > .col1-4 {width: calc(100% / 4);}
.no-gutter > .col3-4 {width: calc(100% / 4 * 3);}
.no-gutter > .col1-5 {width: calc(100% / 5);}
.no-gutter > .col1-6 {width: calc(100% / 6);}

.col1-2,
.col1-3,
.col2-3,
.col1-4,
.col3-4,
.col1-5,
.col2-5,
.col1-6 {margin-right: 30px;}
.no-gutter > .col1-2,
.no-gutter > .col1-3,
.no-gutter > .col2-3,
.no-gutter > .col1-4,
.no-gutter > .col3-4,
.no-gutter > .col1-5,
.no-gutter > .col1-6 {margin-right: 0;}

.col-set.media-col {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.col-set.media-col .col {
  width: calc(50% - 30px);
  margin: 0 30px 10px 0;
}
.col-set.media-col .col img {max-height: 47.5vw;}

/*---------------------------------------------
	[HD] 
  ---------------------------------------------*/

/* margin-「一括指定」参照 */

.main h2:not([class*="heading"]),
.main .heading1 {
	color: #000;
	font-size: 2rem;
	line-height: 1.6;
}
.main h2:not([class*="heading"]):after,
.main .heading1:after {
	content: "";
	display: block;
	width: 100px;
	height: 3px;
	margin: 10px 0 0;
	background-color: #968850;
}
.main h2:not([class*="heading"]).center:after,
.main .heading1.center:after {margin: 10px auto 0;}

.main h3:not([class*="heading"]),
.main .heading2 {
	position: relative;
	padding: 0;
	color: #000;
	font-size: 1.66rem;
	font-weight: bold;
	line-height: 1.6;
}

.main h4:not([class*="heading"]),
.main .heading3 {
	position: relative;
	padding: 0;
	color: #000;
	font-size: 1.33rem;
	font-weight: bold;
	line-height: 1.6;
}

.main h5:not([class*="heading"]),
.main .heading4 {
	color: #000;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.6;
}

.main h6:not([class*="heading"]),
.main .heading5 {
	color: #000;
	font-size: 1.06rem;
	font-weight: bold;
	line-height: 1.6;
}

.main h2,
.main h3,
.main h4,
.main h5,
.main h6,
.main [class*="heading"] {margin-top: 50px;}

.main h2 + h3,
.main h2 + h4,
.main h3 + h4,
.main h2 + h5,
.main h3 + h5,
.main h4 + h5,
.main h2 + h6,
.main h3 + h6,
.main h4 + h6,
.main h5 + h6,
.main h2 + [class*="heading"],
.main h3 + [class*="heading"],
.main h4 + [class*="heading"],
.main h5 + [class*="heading"],
.main h6 + [class*="heading"],
.main [class*="heading"] + h2,
.main [class*="heading"] + h3,
.main [class*="heading"] + h4,
.main [class*="heading"] + h5,
.main [class*="heading"] + h6,
.main [class*="heading"] + [class*="heading"],
.main h2:first-child,
.main h3:first-child,
.main h4:first-child,
.main h5:first-child,
.main h6:first-child,
.main [class*="heading"]:first-child {margin-top: 0;}

.main .col-set + h2,
.main .col-set + h3,
.main .col-set + h4,
.main .col-set + h5,
.main .col-set + h6,
.main .col-set + [class*="heading"] {margin-top: 30px;}



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

.main strong {
	color: #000;
	font-weight: bold;
}

.main .caution {color: #f2646e !important;}

.main .copy {
	color: #968850;
	font-size: 1.46rem;
	font-weight: bold;
	line-height: 1.6;
}


/* ----- 注記 ----- */

.main .note {
	position: relative;
	padding-left: 1.4em;
}

.main .note-num {
	position: relative;
	padding-left: 2.4em;
}

.main .note:before,
.main .note-num:before {
	content: "※";
	position: absolute;
	width: auto;
	height: auto;
	top: 0;
	left: 0;
	margin: 0;
	background-color: transparent !important;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
}
.main .note-num:before {content: "※" attr(data-num);}


/* ----- 省略 ----- */

.txt-ellipsis {overflow: hidden;}
.txt-ellipsis:not([data-line]),
.txt-ellipsis[data-line="1"] {
	white-space: nowrap;
	text-overflow: ellipsis;
}
.txt-ellipsis[data-line]:not([data-line="1"]) {
	display: -webkit-box;
	-webkit-box-orient: vertical;
}
.txt-ellipsis[data-line="2"] {height: 3.6em; -webkit-line-clamp: 2;}
.txt-ellipsis[data-line="3"] {height: 5.4em; -webkit-line-clamp: 3;}
.txt-ellipsis[data-line="4"] {height: 7.2em; -webkit-line-clamp: 4;}
.txt-ellipsis[data-line="5"] {height: 9.0em; -webkit-line-clamp: 5;}
[class*="panel"] .txt-ellipsis[data-line="2"] {height: 3.2em;}
[class*="panel"] .txt-ellipsis[data-line="3"] {height: 4.8em;}
[class*="panel"] .txt-ellipsis[data-line="4"] {height: 6.4em;}
[class*="panel"] .txt-ellipsis[data-line="5"] {height: 8.0em;}



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

/* margin-bottom「一括指定」参照 */
.main hr {
	clear: both;
	background: none transparent;
	color: #fff;
	border-top: 0px none transparent;
	border-right: 0px none transparent;
	border-left: 0px none transparent;
	border-bottom: 1px solid #e5e9e9;
}



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

.main .img {text-align: center;}

.main .img > a {
	position: relative;
	display: inline-block;
	max-width: 100%;
	vertical-align: top;
	overflow: hidden;
}
.main .img .modal-video:before,
.main .modal-video .img:before {
	content: "";
	position: absolute;
	z-index: 1;
	display: block;
	width: 64px;
	height: 64px;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background-image: url(img/icon_arrow_circle.png);
	background-repeat: no-repeat;
	-moz-background-size: 100%;
	-webkit-background-size: 100%;
	background-size: 100%;
}

.main .img.full img {width: 100%;}


/*  */

.main .img > a:after,
/*.main .panel-vertical > a .img:after,
.main .panel-horizontal > a .img:after,*/
.main .panel-covered .img:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: solid 0 rgba(255, 255, 255, .2);
	background-color: rgba(0, 0, 0, 0);
	-moz-transition: border-width .2s ease-out, background-color .2s linear;
	-wenkit-transition: border-width .2s ease-out, background-color .2s linear;
	transition: border-width .2s ease-out, background-color .2s linear;
}
/*.main .panel-covered .img:after,
.main .img .modal-video:after,
.main .modal-video .img:after {background-color: rgba(0, 0, 0, .5) !important;}
.main .panel-covered .img:after {background-color: transparent !important;}

html:not(.sp) .main .img > a:hover:after,
html:not(.sp) .main .panel-vertical > a:hover .img:after,
html:not(.sp) .main .panel-horizontal > a:hover .img:after {
	border-width: 10px;
	background-color: rgba(0, 0, 0, .5);
}
html:not(.sp) .main .panel-covered > a:hover .img:after {border-width: 10px;}*/

.main .panel-vertical > a .img {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main .panel-vertical > a .img:before {
  content: "";
  display: block;
  padding-top: calc(100% / 3 * 2);
}
.main .panel-vertical > a .img img {
  position: absolute;
  left: 50%;
  top: 50%;
  right: 0;
  bottom: 0;
	-moz-transform: translate(-50%, -50%) scale(1);
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	-moz-transition: -moz-transform .2s ease-out, color .2s ease-out;
	-webkit-transition: -webkit-transform .2s ease-out, color .2s ease-out;
	transition: transform .2s ease-out, color .2s ease-out;
}
.main .panel-vertical > a .img.portrait img {
  width: auto;
  height: 100%;
}

.main .img > a img,
.main .panel-vertical > a .txt,
.main .panel-vertical > a .txt > *,
.main .panel-horizontal > a .img div,
.main .panel-horizontal .img > a div,
.main .panel-covered > a .img div {
	-moz-transition: -moz-transform .2s ease-out, color .2s ease-out;
	-webkit-transition: -webkit-transform .2s ease-out, color .2s ease-out;
	transition: transform .2s ease-out, color .2s ease-out;
}
html:not(.sp) .main .img > a:hover img,
html:not(.sp) .main .panel-horizontal > a:hover .img div,
html:not(.sp) .main .panel-horizontal .img a:hover div,
html:not(.sp) .main .panel-covered > a:hover .img div {
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
html:not(.sp) .main .panel-vertical > a:hover .img img {
	-moz-transform: translate(-50%, -50%) scale(1.1);
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
}
html:not(.sp) .main .panel-vertical,
html:not(.sp) .main .panel-horizontal {
	-moz-transition: -moz-background-color .2s ease-out;
	-webkit-transition: -webkit-background-color .2s ease-out;
	transition: background-color .2s ease-out;
}
html:not(.sp) .main .panel-vertical:not(.current) a:hover,
html:not(.sp) .main .panel-horizontal a:hover {
  color: #fff;
  background: #968850;
}

.main .panel-vertical.current > a {
  pointer-events: none;
}
.main .panel-vertical.current > a .ghost {
  display: none;
}

/* ----- [IG2] 画像  ----- */

.main .caption {
	display: block;
	margin-left: auto;
	margin-right: auto;
	font-size: .8rem;
}
.main .left .caption {margin-left: 0;}
.main .right .caption {margin-right: 0;}
.main .img .caption {margin-top: 20px;}
.main figure.left {margin-left: 0;}


/* ----- [IG3] 画像 > 画像 ----- */

.main .img-txt {overflow: hidden;}

/* margin、padding「一括指定」参照 */
.main .img-txt .img {
	float: left;
	max-width: 50%;
}
.main .img-txt .img.right {
	float: right;
	max-width: 50%;
}
.main .img-txt.no-wrap > .img + .txt {overflow: hidden;}

.main .img-txt .img.on-label {
  position: relative;
}
.main .img-txt .img.on-label .label {
  position: absolute;
  left: 0;
  top: 0;
}

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

/* margin-bottom「一括指定」参照 */

.main ol {padding: 0;}
.main ul ul,
.main ol ol,
.main ol ul {margin: 10px 0 0;}

.main ul li {
	position: relative;
	text-align: center;
	margin-bottom: 10px;
	padding: 0 1em 0 1em;
}
.main ol li {
  position: relative;
	margin: 0 0 10px 0;
	padding: 0 0 0 1.5em;
}
.main ul li:last-of-type,
.main ol li:last-of-type {margin-bottom: 0;}

.main ol li{
  counter-reset: mycount;
  list-style: none;
}
.main ol li:before {
  content: counter(mycount) ". ";
  counter-increment: mycount;
  position: absolute;
  left: 0;
  top: 0;
  color: #968850;
  font-weight: bold;
}

.main ul li:before {
	content: "";
	position: absolute;
	display: block;
	width: 4px;
	height: 4px;
	top: .8em;
	left: .5em;
	margin: -2px 0 0 -2px;
	background-color: #000;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	border-radius: 100%;
}

.main ul.col-set {margin-bottom: 0;}

/* margin-bottom「一括指定」参照 */
.main ul.col-set li {padding-left: 0;}
.main ul.col-set li:before {display: none;}


/* -----  定義----- */

/* margin-bottom「一括指定」参照 */

.main dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	overflow: hidden;
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.main dl.border-set {border-bottom: solid 1px #e7eff4;}

.main dt {
	width: 250px;
	padding: 0 0 10px;
	font-weight: bold;
	color: #000;
}
.main .w50 ~ dt {width: 50px;}
.main .w60 ~ dt {width: 60px;}
.main .w70 ~ dt {width: 70px;}
.main .w80 ~ dt {width: 80px;}
.main .w90 ~ dt {width: 90px;}
.main .w100 ~ dt {width: 100px;}
.main .w110 ~ dt {width: 110px;}
.main .w120 ~ dt {width: 120px;}
.main .w130 ~ dt {width: 130px;}
.main .w140 ~ dt {width: 140px;}
.main .w150 ~ dt {width: 150px;}
.main .w160 ~ dt {width: 160px;}
.main .w170 ~ dt {width: 170px;}
.main .w180 ~ dt {width: 180px;}
.main .w190 ~ dt {width: 190px;}
.main .w200 ~ dt {width: 200px;}
.main .w210 ~ dt {width: 210px;}
.main .w220 ~ dt {width: 220px;}
.main .w230 ~ dt {width: 230px;}
.main .w240 ~ dt {width: 240px;}

.main dl.border-set > dt {
	border-top: solid 1px #e7eff4;
	padding: 20px 0;
}

.main dd {
	width: calc(100% - 250px);
	padding: 0 0 10px 30px;
}
.main .w50 ~ dd {width: calc(100% - 50px);}
.main .w60 ~ dd {width: calc(100% - 60px);}
.main .w70 ~ dd {width: calc(100% - 70px);}
.main .w80 ~ dd {width: calc(100% - 80px);}
.main .w90 ~ dd {width: calc(100% - 90px);}
.main .w100 ~ dd {width: calc(100% - 100px);}
.main .w110 ~ dd {width: calc(100% - 110px);}
.main .w120 ~ dd {width: calc(100% - 120px);}
.main .w130 ~ dd {width: calc(100% - 130px);}
.main .w140 ~ dd {width: calc(100% - 140px);}
.main .w150 ~ dd {width: calc(100% - 150px);}
.main .w160 ~ dd {width: calc(100% - 160px);}
.main .w170 ~ dd {width: calc(100% - 170px);}
.main .w180 ~ dd {width: calc(100% - 180px);}
.main .w190 ~ dd {width: calc(100% - 190px);}
.main .w200 ~ dd {width: calc(100% - 200px);}
.main .w210 ~ dd {width: calc(100% - 210px);}
.main .w220 ~ dd {width: calc(100% - 220px);}
.main .w230 ~ dd {width: calc(100% - 230px);}
.main .w240 ~ dd {width: calc(100% - 240px);}

.main dl.border-set > dd {
	border-top: solid 1px #e7eff4;
	padding: 20px 0 20px 30px;
}

.main dl:not(.border-set) dt:last-of-type,
.main dl:not(.border-set) dd:last-of-type {padding-bottom: 0;}

.main dl p:last-child,
.main dl ul:last-child,
.main dl ol:last-child,
.main dl dl:last-child {margin-bottom: 0;}

.main dl.news > dt {width: 5em;}

.main dl.news > dd {
	width: calc(100% - 10em);
	padding-left: 0;
}

.main dl.news > dd .tag,
.main dl.news > dd .label {
	clear: both;
	float: left;
	height: 1.8em;
	margin: 20px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.main dl.news > dd .tag a,
.main dl.news > dd .label span {
	width: 10em;
	margin: 20;
	padding: 7px 10px;
	font-size: .8rem;
  border-radius: 5px;
}

.main dl.news > dd p {
	overflow: hidden;
	margin-bottom: 10px;
}
/*.main dl.news > dd .link-icon:not(li) + .link-icon {margin-top: 0;}*/
.main dl.news > dd p:last-child {margin-bottom: 0;}

.main dl.news > dd .tag + p a {font-weight: normal;}
.main dl.news > dd .tag + p a:not(:hover) {color: #555; text-decoration: none;}



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

.main .link-icon a,
.main a .link-icon {
	position: relative;
	display: inline-block;
	padding-right: 26px;
	font-weight: bold;
	text-decoration: none;
}
.main .link-icon a:after,
.main a .link-icon:after {
	content: "";
	position: absolute;
	display: block;
	width: 24px;
	height: 24px;
	top: 50%;
	right: 0;
	margin-top: -12px;
	background-image: url(../img/icon_link.png);
	background-repeat: no-repeat;
	-moz-background-size: 480px 240px;
	-webkit-background-size: 480px 240px;
	background-size: 480px 240px;
}
.main .link-icon:not([class*="icon-"]) a:after,
.main a .link-icon:not([class*="icon-"]):after {
	right: 3px;
	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
html:not(.sp) .main .link-icon:not([class*="icon-"]) a:hover:after,
html:not(.sp) .main a:hover .link-icon:not([class*="icon-"]):after {
	-moz-transform: translate3d(3px, 0, 0);
	-webkit-transform: translate3d(3px, 0, 0);
	transform: translate3d(3px, 0, 0);
}

.main .link-icon.icon-download a:after,
.main a .link-icon.icon-download:after {background-position: -24px 0;}
.main .link-icon.icon-window a:after,
.main a .link-icon.icon-window:after {background-position: -48px 0;}
.main .link-icon.icon-pdf a:after,
.main a .link-icon.icon-pdf:after {background-position: -72px 0;}
.main .link-icon.icon-enlarge a:after,
.main a .link-icon.icon-enlarge:after {background-position: -168px 0;}
.main .link-icon.icon-search a:after,
.main a .link-icon.icon-search:after {background-position: -192px 0;}
.main .link-icon.icon-contact a:after,
.main a .link-icon.icon-contact:after {background-position: -216px 0;}
.main .link-icon.icon-play a:after,
.main a .link-icon.icon-play:after {background-position: -240px 0;}

.main .link-icon.icon-anchor a:after,
.main a .link-icon.icon-anchor a:after {
	margin-top: -12px;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);

	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
html:not(.sp) .main .link-icon.icon-anchor a:hover:after,
html:not(.sp) .main a:hover .link-icon.icon-anchor a:after {
	-moz-transform: translate3d(0, 3px, 0) rotate(90deg);
	-webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
	transform: translate3d(0, 3px, 0) rotate(90deg);
}

.main li.link-icon {padding-left: 0;}
.main li.link-icon:before {display: none;}



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

/* margin-bottom「一括指定」参照 */

.main .link-horizontal {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin-right: -15px;
	line-height: 1;
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.main .link-horizontal a {
	position: relative;
	margin: 0 0 10px;
}
.main .link-horizontal a:last-child {margin-right: 15px;}
.main .link-horizontal a:not(:last-child):after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 1em;
	margin: 0 15px;
	vertical-align: top;
	background-color: rgba(0, 0, 0, .15);
}
.main .link-horizontal a {text-decoration: none;}
.main .link-horizontal a.current,
html:not(.sp) .main .link-horizontal a:hover {text-decoration: underline;}


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

/* margin-bottom「一括指定」参照 */

.main .tag,
.main .label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.main .tag,
.main .label {margin-right: -10px;}

.main .tag a {
	position: relative;
	display: block;
	margin: 0 8px 8px 0;
	padding: 8px 15px;
	font-size: .8rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	overflow: hidden;
}
.main .tag a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	margin: 0;
	background-color: #fff;
	opacity: 0;

	-moz-transition: opacity .2s linear;
	-webkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
}
html:not(.sp) .main .tag a:hover:before {opacity: .2;}

.main .tag span,
.main .label span {
	display: block;
	margin: 0 10px 10px 0;
	padding: 10px 15px;
	font-size: .8rem;
	line-height: 1;
	text-align: center;
}
.main .news.tag span {
  border-radius: 5px;
}
.label-inline {
	display: inline-block;
	margin: 0 10px;
	padding: 4px 6px 3px;
	font-size: .69rem;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	text-transform: uppercase;
	vertical-align: middle;
}

/* 色 */
.main .tag a,
.main .tag span,
.main .label span,
.label-inline {
	color: #fff !important;
	background-color: #bcbdc1;
}
.main .tag a:before {background-color: #fff;}
html:not(.sp) .main .tag a:hover:before {opacity: .2;}
.main .tag a.bg-white,
.main .tag a.bg-light,
.main .tag a.bg-gray,
.main .label span.bg-white,
.main .label span.bg-light,
.main .label span.bg-gray,
.label-inline.bg-white,
.label-inline.bg-light,
.label-inline.bg-gray {color: #555 !important;}
.main .tag a.bg-white:before,
.main .tag a.bg-light:before,
.main .tag a.bg-gray:before {background-color: #000;}
html:not(.sp) .main .tag a.bg-white:hover:before,
html:not(.sp) .main .tag a.bg-light:hover:before,
html:not(.sp) .main .tag a.bg-gray:hover:before {opacity: .07;}



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

/* margin「一括指定」参照 */
.main .btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin-bottom: 0;
	line-height: 1.6;
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* margin「一括指定」参照 */
.main .btn > * {
	position: relative;
	display: block;
	min-width: 150px;
  width: calc(25% - 30px);
	padding: 18px 30px 18px 13px;
	font-size: 1.06rem;
	text-decoration: none;
	cursor: pointer;
	outline: none;
  box-sizing: border-box;
}
.main .btn a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;

	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.main .btn.full > * {
	width: 100%;
	min-width: 0;
}
.main .btn > .round {border-radius: 100px;}
.main .btn .ghost,
.main p.ghost {
  position: relative;
	padding: 5px 40px 4px 30px;
  border-radius: 100px;
	-moz-transition: background-color .2s linear, border .2s linear;
	-webkit-transition: background-color .2s linear, border .2s linear;
	transition: background-color .2s linear, border .2s linear;
}
.main .btn > *:not(.icon-back):not(.icon-contact):before,
.main .btn > .icon-back:after,
.main .btn > .icon-contact:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;

	-moz-transition: opacity .2s linear;
	-webkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
}
.main .btn > .ghost:not(.icon-back):before,
.main .btn > .ghost.icon-back:after {display: none;}

.main a.add-icon {
  position: relative;
  display: inline-block;
  background: #000;
}

.main .btn .ghost:after,
.main p.ghost:after,
.main a.add-icon:before,
.main .btn > .icon-back:before,
.main .btn > .icon-contact:before,
.main .btn > *:not(.icon-back):not(.icon-contact):after {
	content: "";
  position: absolute;
	display: block;
  top: 50%;
  right: 10px;
	width: 24px;
	min-width: 24px;
	height: 24px;
	margin: -12px 0 0 3px;
	vertical-align: middle;
	background-image: url(img/icon_link.png);
	background-repeat: no-repeat;
	-moz-background-size: 480px 240px;
	-webkit-background-size: 480px 240px;
	background-size: 480px 240px;
	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
.main .btn > .icon-back:before {
  left: 10px;
  right: auto;
}
.main .btn > .icon-contact:before {
  position: static;
  margin-top: 0;
}
.main .btn > button.icon-back:before,
.main .btn > button.icon-contact:before,
.main .btn > button:not(.icon-back):not(.icon-contact):after {
	display: inline-block;
}

.main .btn .icon-download:after {background-position-x: -24px;}
.main .btn .icon-window:after {background-position-x: -48px;}
.main .btn .icon-pdf:after {background-position-x: -72px;}
.main .btn .icon-index:after {background-position-x: -96px;}
.main .btn .icon-open:after {background-position-x: -120px;}
.main .btn .icon-close:after {background-position-x: -144px;}
.main .btn .icon-enlarge:after {background-position-x: -168px;}
.main .btn .icon-search:after {background-position-x: -192px;}
.main .btn .icon-contact:before {background-position-x: -216px;}
.main .btn .icon-play:after {background-position-x: -240px;}


.main a.add-icon:before {
  left: 50%;
  width: 66px;
  height: 66px;
  margin: -33px 0 0 -33px;
  border: 2px solid #fff;
  box-sizing: border-box;
  border-radius: 50%;
	-moz-background-size: 960px 480px;
	-webkit-background-size: 960px 480px;
	background-size: 960px 480px;
  z-index:  5;
}
.main .add-icon.icon-window:before {background-position-x: -86px; background-position-y: -232px;}
.main .add-icon.icon-enlarge:before {background-position-x: -328px; background-position-y: -232px;}

html:not(.sp) .main a.add-icon:hover img {opacity: 0.8;}
html:not(.sp) .main a:hover p.ghost:after,
html:not(.sp) .main .btn > *:not([class*="icon-"]):hover:after {
	-moz-transform: translate3d(3px, 0, 0);
	-webkit-transform: translate3d(3px, 0, 0);
	transform: translate3d(3px, 0, 0);
}



/*  */
.main .btn .icon-back {
	padding-left: 13px;
	padding-right: 30px;
}
.main .btn .icon-back:before {
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);

	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
html:not(.sp) .main .btn .icon-back:hover:before {
	-moz-transform: translate3d(-3px, 0, 0) rotate(180deg);
	-webkit-transform: translate3d(-3px, 0, 0) rotate(180deg);
	transform: translate3d(-3px, 0, 0) rotate(180deg);
}


/*  */

.main .btn .icon-anchor:after {
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);

	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
html:not(.sp) .main .btn .icon-anchor:hover:after {
	-moz-transform: translate3d(0, 3px, 0) rotate(90deg);
	-webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
	transform: translate3d(0, 3px, 0) rotate(90deg);
}


/* ----- 色 ----- */

.main .btn > * {color: #968850; background-color: #fff; border: 1px solid #968850;}
.main .btn > .icon-contact {color: #fff; background-color: #5b5331; border: none;}
.main .btn > .icon-contact:before {background-position-y: -120px;}
.main .btn > .icon-back:before,
.main .btn > .icon-contact:before,
.main .btn > *:after {background-position-y: 0;}
html:not(.sp) .main .btn > *:hover {color: #fff; background-color: #968850;}
html:not(.sp) .main .btn .icon-contact:hover {background-color: #5b5331;}
.main .btn > *:not(.icon-back):not(.icon-contact):before,
.main .btn > .icon-back:after {background-color: #fff;}
html:not(.sp) .main .btn > *:not(.icon-contact):not(.icon-back):hover:after,
html:not(.sp) .main .btn > .icon-back:hover:before,
.main .btn > .icon-contact:before,
html:not(.sp) .main .btn > .icon-contact:hover:before {background-position-y: -120px;}

.main .btn .bg-white,
.main .btn .bg-light,
.main .btn .bg-gray {color: #555 !important;}
.main .btn .icon-back.bg-white:not(.ghost):before,
.main .btn .icon-back.bg-light:not(.ghost):before,
.main .btn .icon-back.bg-gray:not(.ghost):before,
.main .btn .bg-white:not(.ghost):after,
.main .btn .bg-light:not(.ghost):after,
.main .btn .bg-gray:not(.ghost):after {background-position-y: -96px;}
.main .btn .bg-white:not(.icon-back):before,
.main .btn .bg-ligh:not(.icon-back):before,
.main .btn .bg-gray:not(.icon-back):before,
.main .btn .icon-back.bg-white:after,
.main .btn .icon-back.bg-light:after,
.main .btn .icon-back.bg-gray:after {background-color: #000;}
html:not(.sp) .main .btn .bg-white:not(.icon-back):hover:before,
html:not(.sp) .main .btn .bg-light:not(.icon-back):hover:before,
html:not(.sp) .main .btn .bg-gray:not(.icon-back):hover:before,
html:not(.sp) .main .btn .icon-back.bg-white:hover:after,
html:not(.sp) .main .btn .icon-back.bg-light:hover:after,
html:not(.sp) .main .btn .icon-back.bg-gray:hover:after {opacity: .07;}

/*  */
.main p.ghost,
.main .btn .ghost {color: #968850; border: solid 1px #968850; background-color: transparent !important;}
.main .btn .icon-back.ghost:before,
.main p.ghost:after,
.main .btn .ghost:after {background-position-y: 0;}
html:not(.sp) .main .panel-vertical a:hover p.ghost,
html:not(.sp) .main .panel-horizontal a:hover p.ghost {background-color: #fff !important;}
html:not(.sp) .main .btn .ghost:hover {background-color: #968850 !important;}
html:not(.sp) .main .btn .icon-back.ghost:hover:before,
html:not(.sp) .main .btn .ghost:hover:after {background-position-y: -120px;}
html:not(.sp) .main a:hover p.ghost:after {background-position-y: 0;}


/*  黄緑 */
.main .btn .ghost.bg-color1 {color: #b2c473; border: solid 2px #b2c473;}
.main .btn .icon-back.ghost.bg-color1:before,
.main .btn .ghost.bg-color1:after {background-position-y: -24px;}
html:not(.sp) .main .btn .ghost.bg-color1:hover {background-color: #b2c473 !important;}

/*  */
.main .btn .ghost.bg-color2 {color: #efa55e; border: solid 2px #efa55e;}
.main .btn .icon-back.ghost.bg-color2:before,
.main .btn .ghost.bg-color2:after {background-position-y: -48px;}
html:not(.sp) .main .btn .ghost.bg-color2:hover {background-color: #efa55e !important;}

/*  */
.main .btn .ghost.bg-color3 {color: #5b5331; border: solid 2px #5b5331;}
.main .btn .icon-back.ghost.bg-color3:before,
.main .btn .ghost.bg-color3:after {background-position-y: -72px;}
html:not(.sp) .main .btn .ghost.bg-color3:hover {background-color: #5b5331 !important;}

/*  */
.main .btn .ghost.bg-dark {color: #434c4d; border: solid 2px #434c4d;}
.main .btn .icon-back.ghost.bg-dark:before,
.main .btn .ghost.bg-dark:after {background-position-y: -96px;}
html:not(.sp) .main .btn .ghost.bg-dark:hover {background-color: #434c4d !important;}



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

.main .btn-share {
	margin-right: -10px;
	text-align: right;
}

.main .btn-share > div {
	display: inline-block;
	height: 20px;
	margin: 0 10px 10px 0;
	text-align: left;
	vertical-align: top;
	overflow: hidden;
}

.main .btn-share .share-facebook .fb-like > span {vertical-align: top !important;}



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

#btn-menu {
	position: relative;
	z-index: 1000;
	width: 50px;
	height: 50px;
	background-color: #c4b98e;
	overflow: hidden;

	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;

	-moz-transition: background-color .2s linear;
	-webkit-transition: background-color .2s linear;
	transition: background-color .2s linear;
}
html:not(.sp) #btn-menu:hover {/* background-color: #8bd1d7; */}

#btn-menu button {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	border: 0 none;
	background-color: transparent;
	cursor: pointer;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#btn-menu:after {
	content: "";
	position: absolute;
	z-index: 1;
	display: block;
	width: 18px;
	height: 2px;
	top: 17px;
	right: 16px;
	background-color: #fff;

	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;

	-moz-transition: -moz-transform .3s ease-out, top .3s ease-out, width .3s ease-out;
	-webkit-transition: -webkit-transform .3s ease-out, top .3s ease-out, width .3s ease-out;
	transition:  transform .3s ease-out, top .3s ease-out, width .3s ease-out;
}
#btn-menu button:before {
	content: "";
	position: absolute;
	z-index: 1;
	display: block;
	width: 18px;
	height: 2px;
	top: 24px;
	right: 16px;
	background-color: #fff;

	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;

	-moz-transition: width .3s ease-out, right .3s ease-out;
	-webkit-transition: width .3s ease-out, right .3s ease-out;
	transition: width .3s ease-out, right .3s ease-out;
}
#btn-menu button:after {
	content: "";
	position: absolute;
	z-index: 1;
	display: block;
	width: 18px;
	height: 2px;
	top: 31px;
	right: 16px;
	background-color: #fff;

	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;

	-moz-transition: -moz-transform .3s ease-out, top .3s ease-out;
	-webkit-transition: -webkit-transform .3s ease-out, top .3s ease-out;
	transition: transform .3s ease-out, top .3s ease-out;
}

html:not(.sp) #btn-menu:hover:after {width: 14px;}
html:not(.sp) #btn-menu button:hover:before {width: 10px;}

#btn-menu.on:after {
	width: 18px !important;
	top: 24px;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#btn-menu.on button:before {
	width: 0 !important;
	right: 25px;
}
#btn-menu.on button:after {
	top: 24px;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}



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

#btn-pagetop {
	position: fixed;
	z-index: 1000;
	width: 50px;
	height: 50px;
	bottom: -50px;
	overflow: hidden;
	background-color: #c4b98e;

	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;

	-moz-transition: bottom .3s ease-out, background-color .2s linear;
	-webkit-transition: bottom .3s ease-out, background-color .2s linear;
	transition: bottom .3s ease-out, background-color .2s linear;
}
html:not(.sp) #btn-pagetop:hover {background-color: #8bd1d7;}

#btn-pagetop a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
}
#btn-pagetop a:before,
#btn-pagetop a:after {
	content: "";
	position: absolute;
	display: block;
	width: 10px;
	height: 2px;
	top: 23px;
	background-color: #fff;

	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;

	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
#btn-pagetop a:before {
	left: 17px;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btn-pagetop a:after {
	left: 23px;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
html:not(.sp) #btn-pagetop a:hover:before {
	-moz-transform: translate3d(0, -3px, 0) rotate(-45deg);
	-webkit-transform: translate3d(0, -3px, 0) rotate(-45deg);
	transform: translate3d(0, -3px, 0) rotate(-45deg);
}
html:not(.sp) #btn-pagetop a:hover:after {
	-moz-transform: translate3d(0, -3px, 0) rotate(45deg);
	-webkit-transform: translate3d(0, -3px, 0) rotate(45deg);
	transform: translate3d(0, -3px, 0) rotate(45deg);
}



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

/* margin、padding「一括指定」参照 */

.main .box {
	background-color: #f2f5f7;
	overflow: hidden;
}

.main .box .heading {
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1.6;
	background-color: rgba(0, 0, 0, .07);
}



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

/* margin、padding「一括指定」参照 */

.main .frame {
	position: relative;
	background: none transparent !important;
	border: solid 1px #f2f5f7;
}


.main .frame .heading {
	font-weight: bold;
	font-size: 1.33rem;
	line-height: 1.6;
	color: #000;
	background-color: #000;
}



/* ----- 色変更 ----- */

.main .frame.bg-white {border-color: #fff;}
.main .frame.bg-light {border-color: #f2f4f4;}
.main .frame.bg-gray {border-color: #e5e9e9;}
.main .frame.bg-dark {border-color: #434c4d;}
.main .frame.bg-color0 {border-color: #59bdc6;}
.main .frame.bg-color1 {border-color: #b2c473;}
.main .frame.bg-color2 {border-color: #efa55e;}
.main .frame.bg-color3 {border-color: #f2646e;}

.main .frame.bg-color4 {
	border-top-color: transparent;
	border-bottom-color: transparent;
	border-left-color: #f79be5;
	border-right-color: #7e88e8;
}
.main .frame.bg-color4:before,
.main .frame.bg-color4:after {
	content: "";
	position: absolute;
	display: block;
	width: calc(100% + 20px);
	height: 10px;
	left: -10px;
	background: -moz-linear-gradient(left, #f79be5 0, #7e88e8 100%);
	background: -webkit-linear-gradient(left, #f79be5 0, #7e88e8 100%);
	background: linear-gradient(to right, #f79be5 0, #7e88e8 100%);
}
.main .frame.bg-color4:before {top: -10px;}
.main .frame.bg-color4:after {bottom: -10px;}
.main .frame.bg-img {border-image: 10 stretch;}

.main .frame.bg-white .heading {border-color: #fff;}
.main .frame.bg-light .heading {color: #fff; background-color: #f2f4f4;}
.main .frame.bg-gray .heading {color: #fff; background-color: #e5e9e9;}
.main .frame.bg-dark .heading {color: #fff; background-color: #434c4d;}
.main .frame.bg-color0 .heading {color: #fff; background-color: #59bdc6;}
.main .frame.bg-color1 .heading {color: #fff; background-color: #b2c473;}
.main .frame.bg-color2 .heading {color: #fff; background-color: #efa55e;}
.main .frame.bg-color3 .heading {color: #fff; background-color: #f2646e;}
.main .frame.bg-color4 .heading {
	color: #fff;
	background: -moz-linear-gradient(left, #f79be5 0, #7e88e8 100%);
	background: -webkit-linear-gradient(left, #f79be5 0, #7e88e8 100%);
	background: linear-gradient(to right, #f79be5 0, #7e88e8 100%);
}



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


/* margin-bottom「一括指定」参照 */
.main .panel-vertical {
	position: relative;
	background-color: #f2f5f7;
	overflow: hidden;
}

.main .panel-vertical > a {
	display: block;
	text-decoration: none;
}
.main .panel-vertical > a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.main .panel-vertical .img {
	position: relative;
	margin: 0;
	overflow: hidden;
}

.main .panel-vertical .img img {width: 100%;}

/* padding「一括指定」参照 */
.main .panel-vertical .txt {position: relative;}

.main .panel-vertical [class*="heading"],
.main .panel-horizontal [class*="heading"] {
	margin-top: 0;
	padding: 0;
	font-size: 1.06rem;
	font-weight: bold;
	color: #222;
	line-height: 1.6;
}

.main .panel-vertical p,
.main .panel-horizontal p {
	font-size: .93rem;
	line-height: 1.6;
	-moz-transition: color .2s linear;
	-wenkit-transition: color .2s linear;
	transition: color .2s linear;
}

.main .panel-vertical:not(.txt-white) a p:not(.link-icon):not(.ghost),
.main .panel-horizontal:not(.txt-white) a p:not(.link-icon):not(.ghost) {color: #222;}

html:not(.sp) .main .panel-vertical > a:hover .heading,
html:not(.sp) .main .panel-vertical > a:hover p:not(.link-icon):not(.ghost),
html:not(.sp) .main .panel-vertical > a:hover .date,
html:not(.sp) .main .panel-horizontal > a:hover .heading,
html:not(.sp) .main .panel-horizontal > a:hover p:not(.link-icon):not(.ghost),
html:not(.sp) .main .panel-horizontal > a:hover .date {
  color: #fff;
}

.main p.ghost {
  display: inline-block;
  color: #968850;
	font-size: .8rem;
}

html:not(.sp) .main a:hover .ghost {
  color: #968850;
}

.main .panel-vertical .date,
.main .panel-horizontal .date {
	font-size: .93rem;
}


/* margin「一括指定」参照 */
.main .panel-vertical .badge + .txt {padding-top: 40px;}

/* padding「一括指定」参照 */
.main .panel-vertical .tag,
.main .panel-vertical .link-horizontal {
	position: relative;
	margin: 0;
	line-height: 1;
	border-top: solid 1px #fff;
	background-color: inherit;
}
.main .panel-vertical .tag:before,
.main .panel-vertical .link-horizontal:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 300px;
	top: 0;
	left: 0;
	background-color: inherit;
}



/* -----  画像左右 ----- */

/* margin-bottom「一括指定」参照 */
.main .panel-horizontal {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	background-color: #f2f5f7;
	overflow: hidden;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}

.main .panel-horizontal > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	text-decoration: none;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}

/* for IE11 */
.main .panel-horizontal:before,
.main .panel-horizontal > a:before {
	content: "";
	display: block;
	height: 260px;			/* パネルの最小高 */
}

.main .panel-horizontal .img {
	position: relative;
	z-index: 1;
	width: 50%;
	margin: 0;
	overflow: hidden;
}
.main .panel-horizontal .img.right {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 2;
	-webkit-order: 2;
	order: 2;
}

.main .panel-horizontal .img div {
	position: absolute;
	top: 0;
	left: 0;
}

.main .panel-horizontal .img > a {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/* paddingは「一括指定」参照 */
.main .panel-horizontal .txt {
	position: relative;
	z-index: 1;
	width: 50%;
	margin: 0;
}
.main .panel-horizontal .img.right + .badge + .txt {padding-right: 40px;}
.main .panel-horizontal .img:not(.right) + .badge + .txt {padding-left: 40px;}

.main .panel-horizontal .col3-4 {width: 75%;}
.main .panel-horizontal .col2-3 {width: 66.66666666%;}
.main .panel-horizontal .col1-2 {width: 50%;}
.main .panel-horizontal .col1-3 {width: 33.33333333%;}
.main .panel-horizontal .col1-4 {width: 25%;}

.main .panel-horizontal h2:not([class*="heading"]),
.main .panel-horizontal .heading1 {font-size: 1.5rem;}

.main .panel-horizontal .badge {top: 50%;}
.main .panel-horizontal .img:not(.right) + .badge {left: 50%;}
.main .panel-horizontal .img.col3-4:not(.right) + .badge {left: 75%;}
.main .panel-horizontal .img.col2-3:not(.right) + .badge {left: 66.66666666%;}
.main .panel-horizontal .img.col1-2:not(.right) + .badge {left: 50%;}
.main .panel-horizontal .img.col1-3:not(.right) + .badge {left: 33.33333333%;}
.main .panel-horizontal .img.col1-4:not(.right) + .badge {left: 25%;}
.main .panel-horizontal .img.right + .badge {left: 50%;}
.main .panel-horizontal .img.col3-4.right + .badge {left: 25%;}
.main .panel-horizontal .img.col2-3.right + .badge {left: 33.33333333%;}
.main .panel-horizontal .img.col1-2.right + .badge {left: 50%;}
.main .panel-horizontal .img.col1-3.right + .badge {left: 66.66666666%;}
.main .panel-horizontal .img.col1-4.right + .badge {left: 75%;}



/* -----  背景画像 ----- */

/* margin-bottom「一括指定」参照 */
.main .panel-covered {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	position: relative;
	overflow: hidden;
}

.main .panel-covered > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	text-decoration: none;
	-ms-flex-flex-item-align: stretch;
	-webkit-align-self: stretch;
	align-self: stretch;
}

/* for IE11 */
.main .panel-covered:before,
.main .panel-covered > a:before {
	content: "";
	display: block;
}

.main .panel-covered .img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
}

/* paddingは「一括指定」参照 */
.main .panel-covered .txt {width: 100%;}

.main .panel-covered .txt.bottom {
	position: relative;
	margin-top: -20px;
	padding-top: 50px;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 50px);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 50px);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 50px);
}
.main .panel-covered .txt:not(.bottom):before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, .5);
}

.main .panel-covered .txt > * {position: relative;}

.main .panel-covered p {line-height: 1.6;}

.main .panel-covered .date {font-size: .93rem;}

.main .panel-covered h2:not([class*="heading"]),
.main .panel-covered .heading1 {font-size: 1.5rem;}

.main .panel-covered .heading {
	padding: 0;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.6;
}



/* -----  共通設定 ----- */

.main .panel-vertical > a:before,
.main .panel-horizontal > a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #000;
	opacity: 0;
	-moz-transition: opacity .2s linear;
	-wenkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
}
html:not(.sp) .main .panel-vertical > a:hover:before,
html:not(.sp) .main .panel-horizontal > a:hover:after {opacity: .05;}
.main .panel-vertical.txt-white > a:before,
.main .panel-horizontal.txt-white > a:after {background-color: #fff;}
html:not(.sp) .main .panel-vertical.txt-white  > a:hover:before,
html:not(.sp) .main .panel-horizontal.txt-white  > a:hover:after {opacity: .2;}

.main .panel-horizontal .img div,
.main .panel-covered .img div {
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
}

.main .panel-vertical .txt p + *,
.main .panel-horizontal .txt p + *,
.main .panel-covered .txt p + * {margin-top: -5px;}

.main .panel-vertical .txt .date + *,
.main .panel-horizontal .txt .date + *,
.main .panel-covered .txt .date + *,
.main .panel-vertical .txt .heading + *,
.main .panel-horizontal .txt .heading + *,
.main .panel-covered .txt .heading + * {margin-top: -10px;}

.main .panel-vertical .txt .btn,
.main .panel-horizontal .txt .btn,
.main .panel-covered .txt .btn,
.main .panel-vertical .txt .link-icon,
.main .panel-horizontal .txt .link-icon,
.main .panel-covered .txt .link-icon {margin-top: 0;}

.main .panel-vertical .label,
.main .panel-horizontal .label,
.main .panel-covered .label {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	margin-bottom: 0;
}

.main .panel-vertical .txt .label,
.main .panel-horizontal .txt .label,
.main .panel-covered .txt .label {
	position: static;
	margin-bottom: 15px;
}

.main .panel-vertical .label span,
.main .panel-horizontal .label span,
.main .panel-covered .label span {
	float: left;
	display: block;
	margin: 0;
	font-size: .8rem;
}

.main .panel-vertical .tag a,
.main .panel-horizontal .tag a,
.main .panel-covered .tag a {
	padding: 4px 10px;
	font-size: .8rem;
}

.main .panel-vertical .link-horizontal a,
.main .panel-horizontal .link-horizontal a,
.main .panel-covered .link-horizontal a {font-size: .8rem;}
.main .panel-vertical .link-horizontal a:after,
.main .panel-horizontal .link-horizontal a:after,
.main .panel-covered .link-horizontal a:after {margin: 0 10px;}

.main .badge {
	position: absolute;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	padding: 3px;
	font-size: .75rem !important;
	line-height: 1.4 !important;
	overflow: hidden;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;

	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.main .badge a {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 60px;
	height: 60px;
	margin: -3px;
	padding: 3px;
	text-decoration: none;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;

	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;

	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.main .badge a:after {
	content: "";
	position: absolute;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;

	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	border-radius: 100px;

	-moz-transition: opacity .2s linear;
	-webkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
}

.main .badge img {
	display: block;
	width: calc(100% + 6px);
	max-width: none;
	margin: -3px;
}

/* 色 */
.main .badge {color: #fff !important; background-color: #59bdc6;}
.main .badge a {color: #fff !important;}
.main .badge a:after {background-color: #fff;}
html:not(.sp) .main .badge a:hover:after {opacity: .2;}
.main .badge.bg-white,
.main .badge.bg-light,
.main .badge.bg-gray,
.main .badge.bg-white a,
.main .badge.bg-light a,
.main .badge.bg-gray a {color: #555 !important;}
.main .badge.bg-white a:after,
.main .badge.bg-light a:after,
.main .badge.bg-gray a:after {background-color: #000;}
html:not(.sp) .main .badge.bg-white a:hover:after,
html:not(.sp) .main .badge.bg-light a:hover:after,
html:not(.sp) .main .badge.bg-gray a:hover:after {opacity: .07;}



/*---------------------------------------------
	[TB] 表
  ---------------------------------------------*/

/* margin-bottom「一括指定」参照 */
.main table {
	width: 100%;
	border-spacing: 0;
}

.main table td {
	padding: 26px 20px;	
}


.main table th {
	min-width: 7em;
	padding: 26px 20px;
	color: #000;
	font-weight: bold;
  text-align: center;
	background-color: #f2f5f7;
}

.main table tr:first-child th {border-top: 0 none;}


.main table thead th {
	min-width: 7em;
	background-color: #f2f5f7;	
}



.main table td p:last-child,
.main table td ul:last-child,
.main table td ol:last-child,
.main table td dl:last-child {margin-bottom: 0;}



/*---------------------------------------------
	[NV1] 
  ---------------------------------------------*/

/* margin-bottom「一括指定」参照 */

.main nav.nav-content {
  height: auto;
}
.main .nav-content ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	-webkit-box-lines: single;
	-ms-flex-wrap: nowrap;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;

	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}

.main .nav-content li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 2000px;
  height: auto;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 1.6;
	overflow: hidden;

	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.main .nav-content li:before {display: none;}

.main .nav-content a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
  min-height: 72px;
	padding: 10px 15px;
	text-decoration: none;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;

	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;

	-moz-transition: background-color .2s linear, border-color .2s linear;
	-webkit-transition: background-color .2s linear, border-color .2s linear;
	transition: background-color .2s linear, border-color .2s linear;
}
.main .nav-content.link-internal a:after {
	content: "";
	display: block;
	width: 24px;
	min-width: 24px;
	height: 24px;
	margin: 0 -5px 0 5px;
	background-image: url(img/icon_link.png);
	background-repeat: no-repeat;
	-moz-background-size: 480px 240px;
	-webkit-background-size: 480px 240px;
	background-size: 480px 240px;

	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);

	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
html:not(.sp) .main .nav-content.link-internal a:hover:after {
	-moz-transform: translate3d(0, 3px, 0) rotate(90deg);
	-webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
	transform: translate3d(0, 3px, 0) rotate(90deg);
}

.main .nav-content a figure {
  margin-bottom: 0;
}

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

	.main .row .nav-content ul,
	.main .nav-content ul:not(.row) {border-left: 0 none !important;}

	.main .row .nav-content li:last-of-type a,
	.main .nav-content ul:not(.row) li:last-of-type a {
		margin-right: -1px;
		border-right: 0 none;
	}

}

/* Defaulf Color */
.main .nav-content {background-color: #968850;}
.main .nav-content ul {border-left: solid 1px #497094;}
.main .nav-content a {color: #fff; border-right: solid 1px #497094;}
.main .nav-content .current a {color: #000222; font-weight: bold; background-color: #f2f5f7; border-color: #f2f5f7;}
html:not(.sp) .main .nav-content li:not(.current) a:hover {color: #fff; background-color: #497094; border-color: #497094;}
html:not(.sp) .main .nav-content li.current a:hover {color: #000222; cursor: default; pointer-events: none;}
.main .nav-content.link-internal a:after {background-position-y: -120px;}
.main .nav-content.link-internal .current a:after {background-position-y: -96px;}

/* Dark Color */
.main .nav-content.bg-dark ul {border-color: #5f6768;}
.main .nav-content.bg-dark a {color: #fff; border-color: #5f6768;}
.main .nav-content.bg-dark.link-internal a:after {background-position-y: -120px;}



/*---------------------------------------------
	[NV2] 
  ---------------------------------------------*/

/* margin-bottom「一括指定」参照 */

.main .tab-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin: 0 auto;
	overflow: hidden;
	-webkit-box-lines: single;
	-ms-flex-wrap: nowrap;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;

	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}

.main .sp-tab-nav {display: none;}

.main .tab-nav li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 2000px;
	min-height: 60px;
	margin: 0;
	padding: 0;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.main .tab-nav li:last-of-type {
	margin-right: -1px;
	border-right: 0 none;
}
.main .tab-nav li:before {display: none;}

.main .tab-nav li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
  height: 72px;
	padding: 10px 15px;
	text-align: center;
	line-height: 1.6;
	text-decoration: none;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;

	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;

	-moz-transition: background-color .2s linear, border-right-color .2s linear;
	-webkit-transition: background-color .2s linear, border-right-color .2s linear;
	transition: background-color .2s linear, border-right-color .2s linear;
}

/* 色指定 */
.main .tab-nav li a {color: #fff; background-color: #968850; border-right: solid 1px #C4B98E;}
.main .tab-nav li.current a {color: #C4B98E !important; font-weight: bold; background-color: #f2f5f7 !important; border-right-color: #f2f5f7 !important; cursor: default;}
html:not(.sp) .main .tab-nav li a:hover {color: #fff; background-color: #C4B98E;}


.main .tab-nav2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin: 0 auto;
	overflow: hidden;
	-webkit-box-lines: single;
	-ms-flex-wrap: nowrap;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;

	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}

.main .sp-tab-nav {display: none;}

.main .tab-nav2 li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 2000px;
	min-height: 60px;
	margin: 0;
	padding: 0;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.main .tab-nav2 li:last-of-type {
	margin-right: -1px;
	border-right: 0 none;
}
.main .tab-nav2 li:before {display: none;}

.main .tab-nav2 li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	padding: 10px 15px;
	text-align: center;
	line-height: 1.6;
	text-decoration: none;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;

	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;

	-moz-transition: background-color .2s linear, border-right-color .2s linear;
	-webkit-transition: background-color .2s linear, border-right-color .2s linear;
	transition: background-color .2s linear, border-right-color .2s linear;
}

/* 色指定 */
.main .tab-nav2 li a {color: #fff; background-color: #5B5331; border-right: solid 1px #5f6768;}
.main .tab-nav2 li.current a {color: #000 !important; background-color: #f2f4f4 !important; border-right-color: #f2f4f4 !important;}
html:not(.sp) .main .tab-nav2 li a:hover {color: #fff; background-color: #5f6768;}
.main .tab-content2 {
	background-color: #f2f4f4;
	overflow: hidden;
}
.main .row .tab-content2 {padding: 0;}

.main .tab-container2 {overflow: hidden;}

.main .tab-content {
	background-color: #f2f5f7;
	overflow: hidden;
}
.main .row .tab-content {padding: 0;}

.main .tab-container {overflow: hidden;}

.main .tab-slider {
	position: relative;
	width: 1000%;
}

/* paddingは「一括指定」参照 */
.main .tab-element {
	float: left;
	display: none;
}
.main .tab-slider .tab-element {width: 10%;}
.main .tab-element:first-of-type {display: block;}

.main .tab-slider .tab-element h2.heading {
  font-size: 1.66rem;
  font-weight: bold;
}


/*---------------------------------------------
	[NV3] 
  ---------------------------------------------*/

.main .pagination {
  display: block;
  height: auto;
  background: none;
}
.main .pagination p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.main .pagination a,
.main .pagination span {
	position: relative;
	display: inline-block;
	min-width: 45px;
	height: 45px;
	margin: 0 1px 1px 0;
	padding: 0 5px;
	color: #968850;
	font-size: 1.2rem;
	text-align: center;
	line-height: 45px;
}
.main .pagination a {
	text-decoration: none;
	background-color: #f2f5f7;
	-moz-transition: background-color .2s linear, color .2s linear;
	-webkit-transition: background-color .2s linear, color .2s linear;
	transition: background-color .2s linear, color .2s linear;
}
html:not(.sp) .main .pagination a:hover {
	color: #fff;
	background-color: #968850;
}

.main .pagination .current {
	color: #fff;
	background-color: #968850;
}
.main .pagination .prev {padding: 0 10px 0 30px;}
.main .pagination .next {padding: 0 30px 0 10px;}

.main .pagination .prev:before,
.main .pagination .next:before {
	content: "";
	position: absolute;
	display: block;
	width: 24px;
	height: 24px;
	top: 50%;
	margin-top: -12px;
	background-image: url(img/icon_link.png);
	background-repeat: no-repeat;
	background-position: 0 0;

	-moz-background-size: 480px 240px;
	-webkit-background-size: 480px 240px;
	background-size: 480px 240px;

	-moz-transition: left .2s linear, right .2s linear;
	-webkit-transition: left .2s linear, right .2s linear;
	transition: left .2s linear, right .2s linear;
}
.main .pagination .prev:before {
	left: 6px;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.main .pagination .next:before {
	right: 6px;
}
html:not(.sp) .main .pagination .prev:hover:before {
	left: 3px;
	background-position: 0 -120px;
}
html:not(.sp) .main .pagination .next:hover:before {
	right: 3px;
	background-position: 0 -120px;
}



/*---------------------------------------------
	[FM] 
  ---------------------------------------------*/

.main .form dl.border-set > dt {padding: 25px 0;}

.main .form .caption {
	margin: 0;
	padding: 5px 0;
}

.main .form input,
.main .form select,
.main .form textarea,
.main .form span {
	-webkit-transition-duration: .2s;
	transition-duration: .2s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}

.main .form input[type="text"],
.main .form input[type="tel"],
.main .form input[type="email"],
.main .form textarea {
	width: 100%;
	margin: 6px 0;
	padding: 6px;
	font-size: 16px;
	line-height: 1.6;
	border: 1px solid #c5c5c5;
	vertical-align: middle;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
  border-radius: 5px;
}
.main .form input[type="text"]:focus,
.main .form input[type="tel"]:focus,
.main .form input[type="email"]:focus,
.main .form textarea:focus {
  outline: 0;
}

.main .form input[type="text"]::placeholder,
.main .form input[type="tel"]::placeholder,
.main .form input[type="email"]::placeholder,
.main .form textarea::placeholder {
  color: #c5c5c5;
}
.main .form input[type="text"]:focus::placeholder,
.main .form input[type="tel"]:focus::placeholder,
.main .form input[type="email"]:focus::placeholder,
.main .form textarea:focus::placeholder {
  color: transparent;
}

/* margin-bottom「一括指定」参照 */
.main .form select {
	position: relative;
	margin: 5px 0;
	padding: 5px 40px 5px 5px;
	font-size: 16px;
	line-height: 1.6;
	border: 1px solid #e5e9e9;
	vertical-align: middle;
	cursor: pointer;
	background: #fff url(img/btn_select.gif) right center no-repeat ;
	background-size: 30px 45px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
html:not(.sp) .main .form input[type="text"]:focus,
html:not(.sp) .main .form input[type="tel"]:focus,
html:not(.sp) .main .form input[type="email"]:focus,
html:not(.sp) .main .form textarea:focus,
html:not(.sp) .main .form select:focus,
html:not(.sp) .main .form input[type="text"]:hover,
html:not(.sp) .main .form input[type="tel"]:hover,
html:not(.sp) .main .form input[type="email"]:hover,
html:not(.sp) .main .form textarea:hover,
html:not(.sp) .main .form select:hover {border: 1px solid #968850;}

.main .form select::-ms-expand {display: none;}

.main .form label {
	display: inline-block;
	margin: 5px 20px 5px 0;
	cursor: pointer;
}
.main .form input[type="radio"] {display: none;}

.main .form input[type="radio"] + span {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	background: #fff;
	width: 18px;
	height: 18px;
	margin: 5px 6px 5px 2px;
	border: 4px solid #fff;
  box-shadow : 0 0 0 1px #c5c5c5;
	-webkit-border-radius: 9px;
	-moz-border-radius: 9px;
	border-radius: 9px;
  box-sizing: border-box;
}
.main .form input[type="radio"]:checked + span {background: #968850;}
.main .form input[type="checkbox"] {display: none;}

.main .form input[type="checkbox"] + span {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	background: #e5e9e9;
	width: 18px;
	height: 18px;
	margin: 5px 6px 5px 0;
}
.main .form input[type="checkbox"]:checked + span {background: #59bdc6;}
.main .form input[type="checkbox"]:checked + span:before {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 10px;
	height: 6px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg) ;
	-ms-transform: rotate(-45deg) ;
	transform: rotate(-45deg) ;
}

.main .form .zip input[type="text"] {width: 60px;}
.main .form .zip input[type="text"]:last-child {width: 80px;}

.main .form .btn-upload {
	position: relative ;
	margin: 5px 0;
	overflow: hidden ;
	cursor: pointer ;
	white-space: nowrap ;
}

.main .form .btn-upload span {
	display: inline-block ;
	background: #59bdc6 ;
	padding: 5px 10px ;
	border: none ;
	vertical-align: middle ;
	font-size: .88rem;
	line-height: 1.6;
	border: 1px solid #59bdc6 ;
	color: #ffffff ;
}
html:not(.sp) .main .form .btn-upload span:hover {background: #db321c;}

.main .form .btn-upload input[type=file] {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	cursor:pointer;
	opacity:0;
}
.main .form .btn-upload .upload-value {
	display: inline-block ;
	background: #f2f4f4 ;
	width: 240px ;
	margin: 0 ;
	padding: 5px 10px ;
	font-size: .88rem;
	border: 1px solid #f2f4f4 ;
	vertical-align: middle ;
}
html:not(.sp) .main .form .btn-upload:hover span {
	border-color: #8bd1d7;
	background-color: #8bd1d7;
}
html:not(.sp) .main .form .btn-upload:hover .upload-value {border: 1px solid #e5e9e9;}



/*---------------------------------------------
	[EB1] 
  ---------------------------------------------*/

/* margin-bottom「一括指定」参照 */
.main .embed-video {
	position: relative;
	padding: 56.25% 0 0;
}

.main .embed-video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	border: 0 none;
}



/*---------------------------------------------
	[EB2] 
  ---------------------------------------------*/

/* Magnific Popup CSS */

.mfp-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	overflow: hidden;
	background: #000;
	opacity: .9;
	-moz-animation: mfp-bg-fadein .3s linear;
	-webkit-animation: mfp-bg-fadein .3s linear;
	animation: mfp-bg-fadein .3s linear;
}

@-moz-keyframes mfp-bg-fadein {
	0% {opacity: 0;}
	100% {opacity: .9;}
}
@-webkit-keyframes mfp-bg-fadein {
	0% {opacity: 0;}
	100% {opacity: .9;}
}
@keyframes mfp-bg-fadein {
	0% {opacity: 0;}
	100% {opacity: .9;}
}
.mfp-bg.mfp-ready.mfp-removing {
	opacity: 0;
	transition: opacity .3s linear .3s;
}

.mfp-wrap {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10001;
	position: fixed;
	outline: none !important;
	opacity: 0;
	-webkit-backface-visibility: hidden;
	-moz-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.mfp-wrap.mfp-ready {
	opacity: 1;
	-moz-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);

	-moz-transition: -moz-transform .3s ease-out, opacity .3s linear;
	-webkit-transition: -webkit-transform .3s ease-out, opacity .3s linear;
	transition: transform .3s ease-out, opacity .3s linear;
}
.mfp-wrap.mfp-ready.mfp-removing {
	opacity: 0;
	-moz-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);

	-moz-transition: -moz-transform .3s ease-in .3s, opacity .3s linear .3s;
	-webkit-transition: -webkit-transform .3s ease-in .3s, opacity .3s linear .3s;
	transition: transform .3s ease-in .3s, opacity .3s linear .3s;
}

.mfp-container {
	position: absolute;
	width: 100%;
	max-width: none;
	height: 100%;
	left: 0;
	top: 0;
	text-align: center;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.mfp-container:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
	display: none;
}

.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
	width: 100%;
	padding: 40px 0;
	cursor: auto;
}

.mfp-inline-holder .mfp-content > div {
	position: relative;
	margin: 0 auto;
	-moz-box-shadow: 0 0 50px rgba(0, 0, 0, .6);
	-webkit-box-shadow: 0 0 50px rgba(0, 0, 0, .6);
	box-shadow: 0 0 50px rgba(0, 0, 0, .6);
}

/* padding「一括指定」参照 */
.mfp-inline-holder .mfp-content .content {position: relative;}

.mfp-ajax-cur {cursor: progress;}

/*.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {*/
.mfp-zoom-out-cur {
	cursor: -moz-zoom-out;
	cursor: -webkit-zoom-out;
	cursor: zoom-out;
}

.mfp-zoom {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {cursor: auto;}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.mfp-loading.mfp-figure {display: none;}

.mfp-hide {display: none !important;}

.mfp-preloader {
	color: #CCC;
	position: absolute;
	top: 50%;
	width: auto;
	text-align: center;
	margin-top: -.8em;
	left: 8px;
	right: 8px;
	z-index: 1044;
}

.mfp-preloader a {color: #ccc;}
html:not(.sp) .mfp-preloader a:hover {color: #fff;}

.mfp-s-ready .mfp-preloader {display: none;}

.mfp-s-error .mfp-content {display: none;}

/*button.mfp-close,*/
button.mfp-arrow {
	overflow: visible;
	cursor: pointer;
	background: transparent;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: none;
	padding: 0;
	z-index: 1046;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	touch-action: manipulation;
}

button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

button.mfp-close {
	background: none;
	outline: none;
}

.mfp-close {
	position: absolute;
	width: 30px;
	height: 30px;
	right: 0;
	top: 40px;
	text-indent: -9999px;
	cursor: pointer;
	overflow: hidden;
	border: solid 2px rgba(255, 255, 255, .5);
	opacity: .5;

	border-radius: 15px;
}
.mfp-ready .mfp-close {
	top: 2px;
	-moz-transition: top .3s cubic-bezier(.47, 1.83, .71, 1) .3s, -moz-transform .3s ease-in-out, opacity .3s linear;
	-webkit-transition: top .3s cubic-bezier(.47, 1.83, .71, 1) .3s, -webkit-transform .3s ease-in-out, opacity .3s linear;
	transition: top .3s cubic-bezier(.47, 1.83, .71, 1) .3s, transform .3s ease-in-out, opacity .3s linear;
}
.mfp-ready.mfp-removing .mfp-close {
	top: 40px;
	-moz-transition: top .3s ease-in 0s;
	-webkit-transition: top .3s ease-in 0s;
	transition: top .3s ease-in 0s;
}
.mfp-ready .mfp-iframe-holder .mfp-close,
.mfp-ready .mfp-inline-holder .mfp-close {top: -38px;}
.mfp-ready.mfp-removing .mfp-iframe-holder .mfp-close,
.mfp-ready.mfp-removing .mfp-inline-holder .mfp-close {top: 0;}

html:not(.sp) .mfp-close:hover {
	opacity: 1;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.mfp-close:before,
.mfp-close:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 18px;
	right: 12px;
	top: 4px;
	background-color: #fff;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
}
.mfp-close:before {
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.mfp-close:after {
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.mfp-counter {
	position: absolute;
	top: 0;
	right: 0;
	color: #ccc;
	font-size: .75rem;
	line-height: 1.2;
	white-space: nowrap;
}

.mfp-arrow {
	position: absolute;
	opacity: .65;
	margin: 0;
	top: 50%;
	margin-top: -55px;
	padding: 0;
	width: 90px;
	height: 110px;
	-webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {margin-top: -54px;}

html:not(.sp) .mfp-arrow:hover,
html:not(.sp) .mfp-arrow:focus {opacity: 1;}
.mfp-arrow:before,
.mfp-arrow:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: medium inset transparent;
}
.mfp-arrow:after {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px;
}
.mfp-arrow:before {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: .7;
}

.mfp-arrow-left {
	left: 0;
}
.mfp-arrow-left:after {
	border-right: 17px solid #FFF;
	margin-left: 31px;
}
.mfp-arrow-left:before {
	margin-left: 25px;
	border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
	right: 0;
}
.mfp-arrow-right:after {
	border-left: 17px solid #FFF;
	margin-left: 39px;
}
.mfp-arrow-right:before {
	border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder .mfp-content {
	line-height: 0;
	width: 100%;
	max-width: 900px;
	padding-top: 40px;
	padding-bottom: 40px;
}

.mfp-iframe-scaler {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-moz-box-shadow: 0 0 30px rgba(0, 0, 0, .6);
	-webkit-box-shadow: 0 0 30px rgba(0, 0, 0, .6);
	box-shadow: 0 0 30px rgba(0, 0, 0, .6);
	background: #000;
}

/* Main image in popup */
img.mfp-img {
	position: relative;
	z-index: 1;
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	line-height: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* The shadow behind the image */
.mfp-figure {
	line-height: 0;
	padding: 40px 0;
}
.mfp-figure:after {
	content: '';
	position: absolute;
	z-index: -1;
	display: block;
	width: auto;
	height: auto;
	left: 0;
	top: 40px;
	bottom: 40px;
	right: 0;
	background: #444;
	-moz-box-shadow: 0 0 50px rgba(0, 0, 0, .6);
	-webkit-box-shadow: 0 0 50px rgba(0, 0, 0, .6);
	box-shadow: 0 0 50px rgba(0, 0, 0, .6);
}

.mfp-figure small {
	color: #BDBDBD;
	display: block;
	font-size: .75rem;
	line-height: 1.6;
}

.mfp-figure figure {
	position: relative;
	margin: 0;
}

.mfp-bottom-bar {
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
	cursor: auto;
}
.mfp-ready .mfp-bottom-bar {
	bottom: -25px;
	-moz-transition: bottom .3s cubic-bezier(.47, 1.83, .71, 1) .3s, -moz-transform .2s ease-in-out, opacity .2s linear;
	-webkit-transition: bottom .3s cubic-bezier(.47, 1.83, .71, 1) .3s, -webkit-transform .2s ease-in-out, opacity .2s linear;
	transition: bottom .3s cubic-bezier(.47, 1.83, .71, 1) .3s, transform .2s ease-in-out, opacity .2s linear;
}
.mfp-ready.mfp-removing .mfp-bottom-bar {
	bottom: 10px;
	-moz-transition: bottom .3s ease-in 0s;
	-webkit-transition: bottom .3s ease-in 0s;
	transition: bottom .3s ease-in 0s;
}
.mfp-ready .mfp-iframe-holder .mfp-bottom-bar {bottom: 0;}
.mfp-ready.mfp-removing .mfp-iframe-holder .mfp-bottom-bar {bottom: -35px;}

.mfp-title {
	text-align: left;
	color: #fff;
	word-wrap: break-word;
	padding-right: 35px;
}

.mfp-image-holder .mfp-content {max-width: 100%;}

.mfp-gallery .mfp-image-holder .mfp-figure {cursor: pointer;}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {

	/* Remove all paddings around the image on small screen */

	.mfp-img-mobile .mfp-image-holder {
		padding-left: 0;
		padding-right: 0;
	}

	.mfp-img-mobile img.mfp-img {
		padding: 0;
	}

	.mfp-img-mobile .mfp-figure:after {
		top: 0;
		bottom: 0;
	}

	.mfp-img-mobile .mfp-figure small {
		display: inline;
		margin-left: 5px;
	}

	.mfp-img-mobile .mfp-bottom-bar {
		background: rgba(0, 0, 0, .6);
		bottom: 0;
		margin: 0;
		top: auto;
		padding: 3px 5px;
		position: fixed;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.mfp-img-mobile .mfp-bottom-bar:empty {
		padding: 0;
	}

	.mfp-img-mobile .mfp-counter {
		right: 5px;
		top: 3px;
	}

	.mfp-img-mobile .mfp-close {
		top: 0;
		right: 0;
		width: 35px;
		height: 35px;
		line-height: 2;
		background: rgba(0, 0, 0, .6);
		position: fixed;
		text-align: center;
		padding: 0;
	}
}

@media all and (max-width: 900px) {

	.mfp-arrow {
		-mozt-transform: scale(.75);
		-webkit-transform: scale(.75);
		transform: scale(.75);
	}

	.mfp-arrow-left {
		-moz-transform-origin: 0;
		-webkit-transform-origin: 0;
		transform-origin: 0;
	}

	.mfp-arrow-right {
		-moz-transform-origin: 100%;
		-webkit-transform-origin: 100%;
		transform-origin: 100%;
	}

}



/*---------------------------------------------
	[SL] 
  ---------------------------------------------*/

/* margin-bottom「一括指定」参照 */
.main .slider {position: relative;}

.main .slider-container {
	width: 100%;
	overflow: hidden;
}

.main .slider .panel-vertical,
.main .slider .panel-covered {margin-bottom: 0;}



/* ----- Slick Slider ----- */

.main .slick-slider {
	display: block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.main .slick-list{
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.main .slick-list:focus{outline: none;}
.main .slick-list.dragging{
	cursor: pointer;
	cursor: hand;
}

.main .slick-slider .slick-track,
.main .slick-slider .slick-list{
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.main .slick-track{
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	position: relative;
	top: 0;
	left: 0;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.main .slick-track:before,
.main .slick-track:after {
	display: table;
	content: '';
}
.main .slick-track:after {clear: both;}

.main .slick-loading .slick-track {visibility: hidden;}

.main .slick-slide {
	display: none;
	min-height: 1px;
	margin-bottom: 0;
}

.main .slick-slide img {display: block;}

.main .slick-slide.slick-loading img {display: none;}

.main .slick-slide.dragging img {pointer-events: none;}

.main .slick-initialized .slick-slide {display: block;}

.main .slick-loading .slick-slide {visibility: hidden;}

.main .slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.main .slick-arrow.slick-hidden {display: none;}

.main .slick-arrow {
	position: absolute;
	z-index: 2;
	width: 60px;
	height: 60px;
	top: 50%;
	margin: 0;
	text-indent: -9999px;
	background-color: #968850;
	border: 0 none;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
.main .slick-arrow:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #fff;
	opacity: 0;
	-moz-transition: opacity .2s linear;
	-webkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
}
.main .slick-arrow:hover:before {opacity: .2;}

.main .slick-arrow:after {
	content: "";
	position: absolute;
	display: block;
	width: 48px;
	height: 48px;
	top: 50%;
	margin-top: -24px;
	background-image: url(img/icon_link.png);
	background-repeat: no-repeat;
	background-position: 0 -240px;
	-moz-background-size: 960px 480px;
	-webkit-background-size: 480px 240px;
	background-size: 960px 480px;

	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}

.main .slick-prev {left: 0;}
.main .slick-next {right: 0;}

.main .slick-prev:after {
	left: 3px;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
html:not(.sp) .main .slick-prev:hover:after {
	-moz-transform: translate3d(-3px, 0, 0)  rotate(180deg);
	-webkit-transform: translate3d(-3px, 0, 0)  rotate(180deg);
	transform: translate3d(-3px, 0, 0)  rotate(180deg);
}

.main .slick-next:after {right: 6px;}
html:not(.sp) .main .slick-next:hover:after {
	-moz-transform: translate3d(3px, 0, 0);
	-webkit-transform: translate3d(3px, 0, 0);
	transform: translate3d(3px, 0, 0);
}

.main .slick-track .img {margin-bottom: 0;}

.main .slick-dots {
	margin: 5px 0 0;
	padding: 0 15px 0 0;
	text-align: center;
}

.main .slick-dots li {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: 2px !important;
	padding: 3px !important;
	text-align: center;
	vertical-align: middle;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;

	transition: background-color .2s linear;

}
.main .slick-dots li:before {display: none;}
html:not(.sp) .main .slick-dots li:hover,
.main .slick-dots .slick-active {
	background-color: rgba(139, 209, 215, .4);
}

.main .slick-dots li button {
	position: relative;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	background-color: rgba(128, 139, 140, .3);
	overflow: hidden;
	border: 0 none;
	cursor: pointer;
	outline: none;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;

	transition: background-color .2s linear;
}
html:not(.sp) .main .slick-dots li:hover button,
.main .slick-dots .slick-active button {background-color: #8bd1d7;}



/*---------------------------------------------
	[SC] 
  ---------------------------------------------*/

/* ----- [SC1] ----- */

.fadein {
	opacity: 0;
	-moz-transform: translate3d(0, 50px, 0);
	-webkit-transform: translate3d(0, 50px, 0);
	transform: translate3d(0, 50px, 0);
}


/* ----- [SC2]  ----- */

.slidein {visibility: hidden;}

.slidein-bg {
	position: absolute;
	z-index: 1000;
	display: block;
	overflow: hidden;
}
.slidein-bg span {
	position: absolute;
	display: block;
	width: 120%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #434c4d;
	-moz-transform: translate3d(-100%, 0, 0);
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}





/*---------------------------------------------
	1200px未満
  ---------------------------------------------*/

@media screen and (max-width: 1199px), print {

	/* ----- 基本 -----

	html {font-size: .94rem;} */



	/* ----- メインコンテンツ ----- */

	.main .content {
		padding-top: 40px;
		padding-bottom: 30px;
	}



	/* ----- 一括指定 ----- */

	/* margin */

	.main .row .no-gutter,
	.main p,
	.main .img,
	.main figure,
	.main h2,
	.main h3,
	.main h4,
	.main h5,
	.main h6,
	.main [class*="heading"],
	.main ul,
	.main ol,
	.main dl,
	.main table,
	.main .nav-content,
	.main .row .tab,
	.main .embed-video,
	.main hr {margin-bottom: 20px;}
  .main hr {margin-top: 40px;}

	.main .box,
	.main .frame,
	.main ul.col-set li,
	.main .panel-vertical,
	.main .row .panel-horizontal,
	.main .col-set:not(.no-gutter) .panel-covered,
	.main .slider {margin-bottom: 20px;}

	.main .tab,
	.main .form dl.border-set {margin-bottom: 40px;}

	.main .tag {margin-bottom: 12px;}

	.main .btn-share,
	.main .link-horizontal,
	.main .label {margin-bottom: 10px;}

	.main .caption,
	.main .link-icon:not(li) + .link-icon {margin-top: -10px;}

	.main .btn {margin-right: -30px;}
	.main .btn > * {margin: 0 30px 30px 0;}

	.main .panel-vertical .badge {
		margin-left: 20px;
		margin-right: 20px;
	}


	/* margin + padding */

	.main .box,
	.main .frame,
	.main .panel-vertical .txt,
	.main .panel-horizontal .txt,
	.main .panel-covered .txt,
	.mfp-inline-holder .mfp-content .content {padding: 20px 20px 0;}

	.main .img-txt .img {
		margin-right: 10px;
		padding-right: 10px;
	}

	.main .img-txt .img.right {
		margin-right: 0;
		padding-right: 0;
		margin-left: 10px;
		padding-left: 10px;
	}

	.main .box .heading:first-child {
		margin: -20px -20px 20px;
		padding: 12px 20px;
	}

	.main .frame .heading:first-child {
		margin: -20px -20px 20px;
		padding: 20px 12px;
	}

	.main .panel-vertical .link-horizontal,
	.main .panel-covered .link-horizontal {padding: 15px 10px 5px 20px;}

	.main .panel-vertical .tag,
	.main .panel-covered .tag {padding: 15px 17px 7px 20px;}

	.main .panel-covered .link-horizontal,
	.main .panel-covered .tag {margin: 0 -20px;}

	.main .tab-element {padding: 20px 0 10px;}
	.main .row .tab .tab-element {
		padding-left: 20px;
		padding-right: 20px;
	}

	/* right / bottom */

	#btn-pagetop {right: 20px;}
	#btn-pagetop.show {bottom: 20px;}



	/* ----- [CL] カラム ----- */

	.row {padding: 0 20px;}

	.col-set {width: calc(100% + 20px);}
	.no-gutter {width: 100%;}

	.col1-2 {width: calc(100% / 2 - 20px);}
	.col1-3 {width: calc(100% / 3 - 20px);}
	.col2-3 {width: calc(100% / 3 * 2 - 20px);}
	.col1-4 {width: calc(100% / 4 - 20px);}
	.col3-4 {width: calc(100% / 4 * 3 - 20px);}
	.col1-5 {width: calc(100% / 5 - 20px);}
	.col2-5 {width: calc(100% / 5 * 2 - 20px);}
	.col3-5 {width: calc(100% / 5 * 3 - 20px);}
	.col1-6 {width: calc(100% / 6  - 20px);}

	.col1-2,
	.col1-3,
	.col2-3,
	.col1-4,
	.col3-4,
	.col1-5,
	.col2-5,
	.col1-6 {margin-right: 20px;}

  .col-set.media-col .col {
		width: calc(50% - 20px);
		margin: 0 20px 0 0;
  }

}





/*---------------------------------------------
	768px未満
  ---------------------------------------------*/

@media screen and (max-width: 767px) {
  html {
    font-size: 87.5%;
  }
	body {
		font-family: -apple-system, BlinkMacSystemFont, MyYuGothicM, Meiryo, "Hiragino kaku Gothic ProN", sans-serif !important;
	}

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

	.main .content {
		padding-top: 40px;
		padding-bottom: 30px;
	}

  .main .btn > * {width: auto; padding: 10px 36px;}
  .main .nav-content a,
  .main .tab-nav li a {height: 5em;}

  .main table th {min-width: 10em; padding: 15px 20px;}
  .main table td {padding: 15px 20px;}
  
	/* ----- 強制指定 ----- */

	/* 中央*/
	.main .sp-center {text-align: center !important;}

	/* 表示／非表示 */
	.show-pc {display: none !important;}



	/* ----- 一括指定 ----- */

	/* margin */

	.main .row .no-gutter,
	.main p,
	.main .img,
	.main figure,
	.main h2,
	.main h3,
	.main h4,
	.main h5,
	.main h6,
	.main [class*="heading"],
	.main ul,
	.main ol,
	.main dl,
	.main table,
	.main .nav-content,
	.main .row .tab,
	.main .embed-video,
	.main .btn-share,
	.main hr {margin-bottom: 15px;}

	.main .box,
	.main .frame,
	.main ul.col-set li,
	.main .panel-vertical,
	.main .row .panel-horizontal,
	.main .col-set:not(.no-gutter) .panel-covered,
	.main .slider {margin-bottom: 15px;}

	.main .tab,
	.main .form dl.border-set {margin-bottom: 40px;}

	.main .tag {margin-bottom: 7px;}

	.main .btn-share,
	.main .link-horizontal,
	.main .label {margin-bottom: 5px;}

	.main .caption,
	.main .link-icon:not(li) + .link-icon {margin-top: -5px;}

	.main .note + .note,
	.main .note-num + .note-num {margin-top: -10px;}

	.main .btn {margin-right: -15px;}
	.main .btn > * {margin: 0 15px 15px 0;}

	.main .panel-vertical .badge {
		margin-left: 15px;
		margin-right: 15px;
	}


	/* margin + padding  */

	.main .box,
	.main .frame,
	.main .panel-vertical .txt,
	.main .panel-horizontal .txt,
	.main .panel-covered .txt,
	.mfp-inline-holder .mfp-content .content {padding: 15px 15px 0;}

	.main .img-txt .img {
		margin-right: 7.5px;
		padding-right: 7.5px;
	}

	.main .img-txt .img.right {
		margin-right: 0;
		padding-right: 0;
		margin-left: 7.5px;
		padding-left: 7.5px;
	}

	.main .box .heading:first-child {
		margin: -15px -15px 15px;
		padding: 12px 15px;
	}

	.main .frame .heading:first-child {
		margin: -15px -15px 15px;
		padding: 2px 15px 12px;
	}

	.main .panel-vertical .link-horizontal,
	.main .panel-covered .link-horizontal {padding: 12px 5px 2px 15px;}

	.main .panel-vertical .tag,
	.main .panel-covered .tag {padding: 10px 7px 2px 15px;}

	.main .panel-covered .link-horizontal,
	.main .panel-covered .tag {margin: 0 -15px;}

	.main .tab-container {margin: 0 -15px;}
	.main .row .tab .tab-container {margin: 0;}
	.main .tab-element {padding: 15px 15px 5px !important;}

	/* right / bottom */

	#btn-pagetop {right: 15px;}
	#btn-pagetop.show {bottom: 15px;}



	/* ----- [CL] ----- */

	.row {padding: 0 40px;}

	.col-set {width: calc(100% + 15px);}
	.no-gutter {width: 100%;}

	.col1-2,
	.col1-3,
	.col2-3,
	.col1-4,
	.col3-4,
	.col1-5,
	.col2-5,
	.col3-5,
	.col1-6 {
		width: calc(100% - 15px);
		margin-right: 15px;
	}
	.no-gutter > .col1-2,
	.no-gutter > .col1-3,
	.no-gutter > .col2-3,
	.no-gutter > .col1-4,
	.no-gutter > .col3-4,
	.no-gutter > .col1-5,
	.no-gutter > .col1-6 {width: 100%;}

	.sp-col1-2 {width: calc(50% - 15px);}
	.no-gutter > .sp-col1-2 {width: 50%;}

  .col-set.media-col .col {
    width: calc(100% - 15px);
    margin: 0 15px 0 0;
  }
  .col-set.media-col .col img {max-height: 80vw;}
  

	/* ----- [HG] ----- */

	.main h2:not([class*="heading"]),
	.main .heading1 {font-size: 1.69rem;}

	.main h3:not([class*="heading"]),
	.main .heading2 {font-size: 1.53rem;}

	.main h4:not([class*="heading"]),
	.main .heading3 {font-size: 1.3rem;}

	.main h5:not([class*="heading"]),
	.main .heading4 {font-size: 1.15rem;}

	.main h6:not([class*="heading"]),
	.main .heading5 {font-size:  1.07rem;}

	.main h2,
	.main h3,
	.main h4,
	.main h5,
	.main h6,
	.main [class*="heading"] {margin-top: 40px;}

	.main .col-set + h2,
	.main .col-set + h3,
	.main .col-set + h4,
	.main .col-set + h5,
	.main .col-set + h6,
	.main .col-set + [class*="heading"] {margin-top: 25px;}



	/* ----- [TX]  ----- */

	.main .copy {font-size: 1.3rem;}



	/* ----- [LT]  ----- */

	/*  定義*/

	.main dl {display: block;}

	.main dt {
		width: auto !important;
		padding-bottom: 5px !important;
	}

	.main dd {
		width: auto !important;
		padding: 0 0 15px;
	}

	.main dl.border-set {
		border-bottom: 0 none;
		border-top: solid 1px #e7eff4;
	}

	.main dl.border-set > dt {
		padding: 15px 0 5px;
		border-top: 0 none;
	}

	.main dl.border-set > dd {
		width: auto;
		padding: 0 0 15px;
		border-top: 0 none;
		border-bottom: solid 1px #e7eff4;
	}

	.main dl.news > dt {
		float: left;
		padding-right: 15px;
	}
	.main dl.news.border-set > dt {
		
		float: left;
		padding-top: 15px;
		border-top: 0 none;
	}

	.main dl.news > dd .tag,
	.main dl.news > dd .label {
		clear: none;
		float: right;
		margin: 0 0 5px;
	}
	.main dl.news.border-set .tag,
	.main dl.news.border-set .label {margin-top: 15px;}
	.main dl.news.border-set p + .tag,
	.main dl.news.border-set p + .label {margin-top: 0;}

	.main dl.news .tag + p {clear: both;}



	/* ----- [BT3]  ----- */

	.main .btn-share {text-align: center;}



	/* ----- [PL]  ----- */

	/* 画像上 */

	.main .sp-panel-holizontal > a:after {
		content: "";
		display: block;
		clear: both;
	}

	.main .sp-panel-holizontal .img {
		float: left;
		width: 25%;
		margin: 15px;
	}

	.main .sp-panel-holizontal .badge {
		position: static;
		clear: both;
		float: left;
		width: 25%;
		height: auto;
		margin: -15px 15px 15px 15px;
		border-radius: 0;
	}

	.main .sp-panel-holizontal .badge > * {
		display: block;
		width: auto;
		height: auto;
		padding: 8px 10px;
		font-size: .69rem;
		line-height: 1;
	}

	.main .sp-panel-holizontal .txt,
	.main .sp-panel-holizontal .badge + .txt {
		padding: 15px 15px 0 0;
		overflow: hidden;
	}

	.main .sp-panel-holizontal .label {
		position: relative;
		display: block;
		margin: 0;
		padding: 0;
	}

	.main .sp-panel-holizontal .label span {
		float: none;
		display: block;
		margin: 0;
		text-align: center;
		border: 0 none !important;
	}


	/* [PL2]  画像左右 */

	.main .panel-horizontal,
	.main .panel-horizontal > a {display: block;}
	.main .panel-horizontal:before,
	.main .panel-horizontal > a:before {display: none;}

	.main .panel-horizontal .img {width: auto !important;}

	.main .panel-horizontal .img > a {position: relative;}

	.main .panel-horizontal .img div {
		position: relative;
		width: 100%;
		height: 0;
		padding: 56.25% 0 0;
	}

	.main .panel-horizontal .txt {
		width: auto !important;
		left: 0 !important;
	}

	.main .panel-horizontal .badge {
		top: auto !important;
		left: 50% !important;
	}

	.main .panel-horizontal .badge + .txt {
		padding-left: 15px !important;
		padding-right: 15px !important;
		padding-top: 40px !important;
	}



	/* ----- [TB] 表 ----- */

	/*  */

	.main .scroll {
		margin: 0 0 15px;
		overflow-x: auto;
	}
	.main .scroll::-webkit-scrollbar {height: 5px;}
	.main .scroll::-webkit-scrollbar-track {
		background: #f2f5f7;
		-webkit-border-radius: 100px;

	}
	.main .scroll::-webkit-scrollbar-thumb {
		background: #968850;
		-webkit-border-radius: 100px;
	}

	.main .scroll > * {
		min-width: 738px;
		margin-bottom: 15px;
	}



	/* ----- [NV1] コンテンツナビゲーション ----- */

	.main .nav-content {overflow: hidden;}

	.main .nav-content ul {
		width: calc(100% + 1px);
		margin-bottom: -1px;
		border-left: 0 none !important;
		-webkit-box-lines: multiple;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.main .nav-content li {
		width: 50%;
		min-height: 50px;
	}

	.main .nav-content a {padding: 5px 10px;}
	.main .nav-content.link-internal a {padding-right: 30px;}
	.main .nav-content ul li:nth-of-type(2n) a {border-right: 0 none !important;}
	.main .nav-content.link-internal a:after {
		position: absolute;
		top: 50%;
		right: 5px;
		margin: -12px 0 0;
	}
	html:not(.sp) .main .nav-content.link-internal a:hover:after {margin-top: -9px;}

	/* Defaulf Color */
	.main .nav-content a {border-bottom: solid 1px #497094;}
	.main .nav-content .current a {border-color: #968850 !important;}
	html:not(.sp) .main .nav-content li:not(.current) a:hover {border-color: #497094 !important;}

	/* Dark Color */
	.main .nav-content.bg-dark a {border-color: #5f6768;}




	/* ----- [NV2]  ----- */

	.main .sp-accordion .tab-nav {display: none;}

	.main .tab-nav li {min-height: 50px;}

	.main .tab-nav li a {padding: 5px 15px;}

	.main .sp-accordion .tab-nav2 {display: none;}

	.main .tab-nav2 li {min-height: 50px;}

	.main .tab-nav2 li a {padding: 5px 15px;}


	.main .sp-accordion .tab-slider {width: auto;}

	.main .sp-accordion .sp-tab-nav {
		display: block;
		margin: 0;
	}

	.main .sp-accordion .sp-tab-nav a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		position: relative;
		min-height: 50px;
		padding: 5px 50px 5px 15px;
		color: #fff !important;
		text-decoration: none;
		text-align: center;
		background-color: #434c4d;
		border-top: solid 1px #5f6768;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;

		-webkit-box-align: center;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;

		-moz-transition: background-color .2s linear, border-top-color .2s linear;
		-webkit-transition: background-color .2s linear, border-top-color .2s linear;
		transition: background-color .2s linear, border-top-color .2s linear;
	}
	html:not(.sp) .main .sp-accordion .sp-tab-nav:not(.current) a:hover {background-color: #5f6768;}
	.main .sp-accordion .sp-tab-nav:first-of-type a,
	.main .sp-accordion .sp-tab-nav.current + .tab-element + .sp-tab-nav a  {border-top-color: #434c4d;}
	.main .sp-accordion .sp-tab-nav.current a {
		background-color: #59bdc6;
		border-top-color: #59bdc6 !important;
	}

	.main .sp-accordion .sp-tab-nav a span {
		position: absolute;
		display: block;
		width: 30px;
		height: 30px;
		top: 50%;
		right: 10px;
		margin-top: -15px;
		border: solid 1.5px rgba(255, 255, 255, .5);

		-moz-border-radius: 50%;
		-webkit-border-radius: 50%;
		border-radius: 50%;
	}
	.main .sp-accordion .sp-tab-nav a span:before,
	.main .sp-accordion .sp-tab-nav a span:after {
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		left: 50%;
		background-color: #fff;

		-moz-border-radius: 2px;
		-webkit-border-radius: 2px;
		border-radius: 2px;
	}
	.main .sp-accordion .sp-tab-nav a span:before {
		width: 12px;
		height: 2px;
		margin: -1px 0 0 -6px;
	}
	.main .sp-accordion .sp-tab-nav a span:after {
		width: 2px;
		height: 12px;
		margin: -6px 0 0 -1px;

		-moz-transition: -moz-transform .2s linear;
		-webkit-transition: -webkit-transform .2s linear;
		transition: transform .2s linear;
	}
	html:not(.sp) .main .sp-accordion .sp-tab-nav a:hover span:after,
	.main .sp-accordion .sp-tab-nav.current a span:after {
		-moz-transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	.main .sp-accordion .tab-element {
		float: none;
		width: auto;
	}



	/* ----- [FM] フォーム ----- */

	.main .form dl.border-set > dt {padding: 15px 0 5px;}



	/* ----- [SL] スライダー ----- */
  .main .slick-arrow {
    width: 40px;
    height: 40px;
  }
  .main .slick-arrow:after {
    width: 24px;
    height: 24px;
    margin-top: -12px;
    background-position: 0 -120px;
    -moz-background-size: 480px 240px;
    -webkit-background-size: 480px 240px;
    background-size: 480px 240px;
  }
  .main .slick-prev:after {left: 7px;}
  .main .slick-next:after {right: 7px;}
  .main .row .slider {
		margin-left: -15px;
		margin-right: -15px;
	}

}



/*---------------------------------------------
	480px未満
  ---------------------------------------------*/

@media screen and (max-width: 479px) {

	/* ----- [BT] ボタン ----- */

	.main .btn > * {width: 100%;}

}





/*---------------------------------------------
	印刷用
  ---------------------------------------------*/

@media print {

	* {-webkit-print-color-adjust: exact;}

	body {
		width: 1024px;
		background-color: #fff;
	}

	.slick-track {
		width: 50000px !important;
		-webkit-transform: translate3d(0, 0, 0) !important;
		-ms-transform: translate3d(0, 0, 0) !important;
		transform: translate3d(0, 0, 0) !important;
	}

	.slider .col1-2 {width: 482px !important;}
	.slider .col1-3 {width: 314.66666666px !important;}
	.slider .col1-4 {width: 231px !important;}
	.slider .col1-5 {width: 180.8px !important;}
	.slider .col1-6 {width: 147.33333333px !important;}

	.slick-list {padding: 0 !important;}

	.slick-arrow {display: none !important;}

	.slick-dots {display: none !important;}

}