﻿@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Abel);
@import url(https://fonts.googleapis.com/css?family=Playfair+Display:400,700);

/*---------------------------------------------
	仕様
  ---------------------------------------------
	コンテンツ最大幅	: 1170px
	余白			: 1200px～	30px
				: ～1200px	20px
				: ～768px	15px
	ブレ－クポイント	: メジャー	768px
				: マイナー	1200px、480px
	基準文字サイズ		: 1200px～	16px
				: ～1200px	15px
	文字サイズ(1200px～)	: 30px		1.88rem
				: 29px		1.81rem
				: 28px		1.75rem
				: 27px		1.69rem
				: 26px		1.63rem
				: 25px		1.56rem
				: 24px		1.5rem
				: 23px		1.44rem
				: 22px		1.38rem
				: 21px		1.31rem
				: 20px		1.25rem
				: 19px		1.19rem
				: 18px		1.13rem
				: 17px		1.06rem
				: 16px		1rem
				: 15px		0.94rem
				: 14px		0.88rem
				: 13px		0.81rem
				: 12px		0.75rem
				: 11px		0.69rem
				: 10px		0.63rem
				: 9px		0.56rem
	色			: 青緑		#59bdc6
				: 黄緑		#b2c473
				: オレンジ	#efa55e
				: 赤		#f2646e
				: ピンク	#f79be5
				: 青紫		#7e88e8
				: 白		#fff
				: ライトグレー	#f2f4f4
				: グレー	#e5e9e9
				: ダークグレー	#434c4d
	文字色			: 標準		#555
				: 強調		#000
				: 注意		#f2646e
				: 注記		#999
				: リンク	#1c89a6
	ホバー色		: 青緑		#8bd1d7
				: リンク	#49a1b8
 ----------------------------------------------*/



/*---------------------------------------------
	目次
  ---------------------------------------------
	リセット
	リンク
	フォント
	メインコンテンツ
	強制指定
	[CL]  カラム
	[HD]  見出し
	[TX]  テキスト
	[HR]  区切り線
	[IG]  画像
	[LT]  リスト
	[LK1]  アイコンリンク
	[LK2]  横並びリンク
	[TG1] タグ
	[TG2] ラベル
	[BT]  ボタン
	[BT3] シェアボタン
	[BT4] メニューボタン
	[BT5] ページトップボタン
	[BX]  ボックス
	[FR]  枠
	[PL]  パネル
	[TB]  表
	[NV1] コンテンツナビゲーション
	[NV2] タブ
	[NV3] ページネーション
	[FM]  フォーム
	[EB1] 動画埋め込み
	[EB2] モーダル
	[SL]  スライダー
	[SC]  スクロールエフェクト

	1200px未満
	768px未満
	480px未満
	印刷用
 ----------------------------------------------*/



/*---------------------------------------------
	リセット
  ---------------------------------------------*/

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;
}

body {
	color: #222;
	font-size: 15px;
	text-align: left;
	line-height: 1.6;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}



/*---------------------------------------------
	リンク
  ---------------------------------------------*/

.main a {
	text-decoration: underline;
	color: #222;
	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: #222;
}



/*---------------------------------------------
	フォント
  ---------------------------------------------*/

/* ----- 游ゴシック ----- */

@font-face {
	font-family: "MyYuGothicM";
	src: local("YuGothic-Medium"),
	     local("YuGothic-Regular");
}
@font-face {
	font-family: "MyYuGothicM";
	font-weight: bold;
	src: local("YuGothic-Bold")
}

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

/* IEにメイリオを指定（下余白対策） */
@media all and (-ms-high-contrast:none) {
	body {font-family: Meiryo, sans-serif;}
}

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



/* ----- Webフォント（Google Fonts） ----- */

/* フォントの読み込みは本CSSの最初に記述 */

.font-en {font-family: 'Abel', sans-serif !important;}
.font-en02 {font-family: 'Playfair Display', serif !important;}




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

#wrapper {
	min-width: 320px;
	overflow: hidden;
}

main {display: block;}

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

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

.anchor:before {
	content: "";
	display: block;
	margin-top: -70px;	/* 固定ヘッダーの高さ */
	padding-top: 70px;
}
.fixed {
	position: fixed;
	z-index: 10000;
	width: 100%;
	height: 0;
}




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

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

.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;}



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

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



/* ----- 文字サイズ ----- */

.main .l {font-size: 1.06rem !important;}
.main .m {font-size: .88rem !important;}
.main .s {font-size: .75rem !important;}



/* ----- 文字装飾 ----- */

.main .normal {font-weight: normal !important;}
.winChrome .main .normal {font-weight: 500 !important;}
.main .bold {font-weight: bold !important;}
.main .italic {font-style: italic !important;}
.main .oblique {font-style: oblique !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 .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 .mb110 {margin-bottom: 110px !important;}
.main .mb120 {margin-bottom: 120px !important;}




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

.main .bg-main {background-color: #f7f7f3 !important;} /* メインカラー　*/
.main .bg-white {background-color: #fff !important;}		/* 白 */
.main .bg-light {background-color: #f2f4f4 !important;}		/* ライトグレー */
.main .bg-gray {background-color: #e5e9e9 !important;}		/* グレー */
.main .bg-dark {background-color: #434c4d !important;}		/* ダークグレー */
.main .bg-color0 {background-color: #59bdc6 !important;}	/* 青緑 */
.main .bg-color1 {background-color: #b2c473 !important;}	/* 黄緑 */
.main .bg-color2 {background-color: #efa55e !important;}	/* オレンジ */
.main .bg-color3 {background-color: #f2646e !important;}	/* 赤 */
.main .bg-gradation1 {						/* グラデーション（ピンク－青紫） */
	background: #f79be5 !important;
	background: -moz-linear-gradient(45deg, #f79be5 0, #7e88e8 100%) !important;
	background: -webkit-linear-gradient(45deg, #f79be5 0, #7e88e8 100%) !important;
	background: linear-gradient(45deg, #f79be5 0, #7e88e8 100%) !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 * {color: #fff !important;}



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

.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%;}
.row .no-gutter {margin-bottom: 20px;}

.col1-2 {width: calc(50% - 30px);}
.col1-3 {width: calc(33.33333333% - 30px);}
.col2-3 {width: calc(66.66666666% - 30px);}
.col1-4 {width: calc(25% - 30px);}
.col3-4 {width: calc(75% - 30px);}
.col1-5 {width: calc(20% - 30px);}
.col1-6 {width: calc(16.66666666%  - 30px);}
.no-gutter > .col1-2 {width: 50%;}
.no-gutter > .col1-3 {width: 33.33333333%;}
.no-gutter > .col2-3 {width: 66.66666666%;}
.no-gutter > .col1-4 {width: 25%;}
.no-gutter > .col3-4 {width: 75%;}
.no-gutter > .col1-5 {width: 20%;}
.no-gutter > .col1-6 {width: 16.66666666%;}

.col1-2,
.col1-3,
.col2-3,
.col1-4,
.col3-4,
.col1-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;}



/*---------------------------------------------
	[HD] 見出し
  ---------------------------------------------*/

.main h2:not([class*="heading"]),
.main .heading1 {
	margin: 50px 0 20px;
	color: #000;
	font-size: 1.75rem;
	/* font-weight: bold; */
	line-height: 1.6;
}
.main h2.font-en {
	margin-bottom: 40px;
	font-size: 3.125rem;
	letter-spacing: .1em;
}
.main h2:not([class*="heading"]):after,
.main .heading1:after {
	content: "";
	display: block;
	width: 88px;
	height: 2px;
	margin: 7px auto 0;
	background-color: #a69e2f;
}
.main h2:not([class*="heading"]).center:after,
.main .heading1.center:after {margin: 10px auto 0;}

.main h3:not([class*="heading"]),
.main .heading2 {
	position: relative;
	margin: 40px 0 20px;
	padding: 0 0 10px;
	color: #222;
	font-size: 1.38rem;
	font-weight: bold;
	line-height: 1.6;
	/* border-bottom: solid 1px rgba(0, 0, 0, .07); */
}
/* .main h3:not([class*="heading"]):after,
.main .heading2:after {
	content: "";
	position: absolute;
	display: block;
	width: 80px;
	height: 1px;
	left: 0;
	bottom: -1px;
	background-color: #59bdc6;
} */

.main h4:not([class*="heading"]),
.main .heading3 {
	position: relative;
	margin: 30px 0 20px;
	padding: 0 0 0 20px;
	color: #000;
	font-size: 1.38rem;
	font-weight: bold;
	line-height: 1.6;
}
.main h4:not([class*="heading"]):after,
.main .heading3:after {
	content: "";
	position: absolute;
	display: block;
	width: 10px;
	height: 3px;
	left: 0;
	top: calc(.8em - 1.5px);
	background-color: #59bdc6;
}

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

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

.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 {margin-top: 30px;}
.main .col-set + h3 {margin-top: 20px;}
.main .col-set + h4 {margin-top: 10px;}
.main .col-set + h5 {margin-top: 0;}
.main .col-set + h6 {margin-top: 0;}
.main .col-set + .heading1 {margin-top: 30px;}
.main .col-set + .heading2 {margin-top: 20px;}
.main .col-set + .heading3 {margin-top: 10px;}
.main .col-set + .heading4 {margin-top: 0;}
.main .col-set + .heading5 {margin-top: 0;}

/* 文字色 - 白 */
.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 {background-color: #fff;}

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



/*---------------------------------------------
	[TX] テキスト
  ---------------------------------------------*/

.main p {
	margin-bottom: 30px;
	letter-spacing: .1em;
}

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

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

.main .copy {
	color: #000;
	font-size: 1.63rem;
	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 + .note,
.main .note-num + .note-num {margin-top: -15px;}

.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);}


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

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



/*---------------------------------------------
	[HR] 区切り線
  ---------------------------------------------*/

.main hr {
	clear: both;
	margin-bottom: 20px;
	color: #fff;
	background: none transparent;
	border-top: 0px none transparent;
	border-right: 0px none transparent;
	border-left: 0px none transparent;
	border-bottom: 1px solid #e5e9e9;
}



/*---------------------------------------------
	[IG] 画像
  ---------------------------------------------*/

.main .img {
	margin-bottom: 20px;
	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(../images/icon_play.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 a .img: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;
}

.main .img .modal-video:after,
.main .modal-video .img:after {opacity: .5 !important;}

html:not(.sp) .main .img > a:hover:after,
html:not(.sp) .main a:hover .img:after {opacity: .5;}

.main .img > a img,
.main .img > a .bg-img,
.main a .img img,
.main a .img .bg-img {
	-moz-transition: -moz-transform .2s ease-out;
	-webkit-transition: -webkit-transform .2s ease-out;
	transition: transform .2s ease-out;
}
html:not(.sp) .main .img > a:hover img,
html:not(.sp) .main .img > a:hover .bg-img,
html:not(.sp) .main a:hover .img img,
html:not(.sp) .main a:hover .img .bg-img {
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}



/* ----- [IG2] 画像 > キャプションあり ----- */

.main figure {margin-bottom: 20px;}

.main .caption {
	display: block;
	margin-top: -10px;
	margin-left: auto;
	margin-right: auto;
	font-size: .88rem;
	color: #777;
}
.main .left .caption {margin-left: 0;}
.main .right .caption {margin-right: 0;}
.main .img .caption {margin-top: 10px;}



/* ----- [IG3] 画像 > 画像＋テキスト ----- */

.main .img-set,
.main .thumb-set {overflow: hidden;}

.main .img-set .img,
.main .thumb-set .img {
	float: left;
	max-width: 50%;
	margin-right: 15px;
	padding-right: 15px;
}
.main .img-set .img.right,
.main .thumb-set .img.right {
	float: right;
	max-width: 50%;
	margin-right: 0;
	padding-right: 0;
	margin-left: 15px;
	padding-left: 15px;
}
.main .thumb-set > .img + .txt {overflow: hidden;}



/*---------------------------------------------
	[LT] リスト
  ---------------------------------------------*/

.main ul,
.main ol {margin-bottom: 20px;}

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

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

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

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

.main ul.col-set li {
	margin-bottom: 30px;
	padding-left: 0;
}
.main ul.col-set li:before {display: none;}


/* ----- [LT3] リスト > 定義リスト ----- */

.main dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin-bottom: 20px;
	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 #dfdfdf;}

.main dt {
	width: 200px;
	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 dl.border-set > dt {
	border-top: solid 1px #e5e9e9;
	padding: 20px 0;
}

.main dd {
	width: calc(100% - 200px);
	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 dl.border-set > dd {
	border-top: solid 1px #e5e9e9;
	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: 10em;
	letter-spacing: .03em;
}

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

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

.main dl.news > dd .tag a,
.main dl.news > dd .tag span,
.main dl.news > dt .tag span ,
.main dl.news > dd .label span {
	/* width: 10em; */
	margin: 0;
	padding: 0;
	font-size: 0.81rem;
	line-height: 2;
	text-align: center;
	/* padding: 4px 10px; */
	/* font-size: .69rem; */
}
.main dl.news > dd .tag a,
.main dl.news > dt .tag span ,
.main dl.news > dd .tag span {
	width: 100%;
	height: 100%;
	background: #a69e2f;
	color: #fff;
}

.main dl.news > dd p {
	overflow: hidden;
	margin-bottom: 10px;
}

.main dl.news > dd .label-inline {background: #a69e2f; letter-spacing: 0;}
.main dl.news > dd .icon-newwindow {
	display: inline-block;
	width: 14px;
	height: 13px;
	margin-left: 10px;
	background: url(../images/icon-newwindow.svg) no-repeat center;
	background-size: contain;
}
.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 .link-icon a {font-weight: inherit;}
.main dl.news > dd .link-icon a:not(:hover) {color: #555;}



/*---------------------------------------------
	[LK1] アイコンリンク
  ---------------------------------------------*/

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

.main .link-icon a,
.main a .link-icon {
	position: relative;
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
}
.main a .link-icon {display: block;}
.main .link-icon a:after,
.main a .link-icon:after {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: -2px 0 0 2px;
	vertical-align: middle;
	background-image: url(../images/icon_link.png);
	background-repeat: no-repeat;
	-moz-background-size: 480px 240px;
	-webkit-background-size: 480px 240px;
	background-size: 480px 240px;
}
.main .link-icon a:not([class*="icon-"]):after,
.main a .link-icon:not([class*="icon-"]):after {
	-moz-transition: -moz-transform .2s linear;
	-webkit-transition: -webkit-transform .2s linear;
	transition: transform .2s linear;
}
html:not(.sp) .main .link-icon a:not([class*="icon-"]):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:after,
.main a .link-icon.icon-download:after {background-position: -24px 0;}
.main .link-icon .icon-window:after,
.main a .link-icon.icon-window:after {background-position: -48px 0;}
.main .link-icon .icon-pdf:after,
.main a .link-icon.icon-pdf:after {background-position: -72px 0;}
.main .link-icon .icon-enlarge:after,
.main a .link-icon.icon-enlarge:after {background-position: -168px 0;}
.main .link-icon .icon-search:after,
.main a .link-icon.icon-search:after {background-position: -192px 0;}
.main .link-icon .icon-contact:after,
.main a .link-icon.icon-contact:after {background-position: -216px 0;}
.main .link-icon .icon-play:after,
.main a .link-icon.icon-play:after {background-position: -240px 0;}

.main .link-icon .icon-anchor:after,
.main a .link-icon.icon-anchor a: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 .link-icon .icon-anchor: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;}

/* 文字色 - 白 */
.main .txt-white .link-icon a:after,
.main .txt-white a .link-icon:after {background-position-y: -144px !important;}



/*---------------------------------------------
	[LK2] 横並びリンク
  ---------------------------------------------*/

.main .link-horizontal {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin-bottom: 10px;
	line-height: 1.6;
	-webkit-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

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

/* 文字色 - 白 */
.main .txt-white .link-horizontal a:not(:last-child):before {background-color: rgba(255, 255, 255, .2);}



/*---------------------------------------------
	[TG] タグ／ラベル
  ---------------------------------------------*/

.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 {margin: 0 -8px 12px 0;}
.main .label {margin: 0 -10px 10px 0;}
.main .tag.center,
.main .label.center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.main .tag.right,
.main .label.right {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.main .tag a {
	position: relative;
	display: block;
	/* margin: 0 8px 8px 0;*/
	padding: 8px 0;
	font-size: .81rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	overflow: hidden;
	/* -moz-border-radius: 100px;
	-webkit-border-radius: 100px; */
	/* border-radius: 100px; */
}
.main .tag a:hover {
	opacity: .8;
	-moz-transition: opacity .2s linear;
	-webkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
}
/* .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-border-radius: 100px;
	-webkit-border-radius: 100px;
	border-radius: 100px;

	-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 .label span {
	display: block;
	margin: 0 10px 10px 0;
	padding: 8px 10px;
	font-size: .81rem;
	line-height: 1;
	text-align: center;
}

.label-inline {
	display: inline-block;
	margin: 0 10px;
	padding: 4px 6px 3px;
	font-size: .69rem;
	font-weight: normal;
	line-height: 1;
	color: #fff;
	/*text-transform: uppercase;*/
	vertical-align: middle;
}

/* 色 */
.main .tag a,
.main .label span,
.label-inline {
	/* color: #fff !important;
	background-color: #59bdc6; */
}
/* .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;}



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

.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;
}
.main .btn.center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.main .btn.right {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.main .btn > * {
	position: relative;
	display: block;
	min-width: 150px;
	margin: 0 20px 20px 0;
	padding: 8px 0 7px;
	font-size: inherit;
	text-decoration: none;
	border: 0 none;
	cursor: pointer;
	outline: none;
	text-align: center;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	border-radius: 100px;
}
.main .btn.full > * {
	width: 100%;
	min-width: 0;
	margin-right: 0;
}
.main .btn .ghost {
	padding: 6px 0 5px;
	-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 > *:before {
	content: "";
	position: absolute;
	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 .btn .ghost:before {display: none;}

/* .main .btn span {
	position: relative;
	display: inline-block;
	padding: 0 40px 0 30px;
} */

/* .main .btn span:after {
	content: "";
	position: absolute;
	display: block;
	width: 24px;
	height: 24px;
	top: 0;
	right: 12px;
	vertical-align: middle;
	background-image: url(../images/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-download span:after {background-position-x: -24px;}
.main .btn .icon-window span:after {background-position-x: -48px;}
.main .btn .icon-pdf span:after {background-position-x: -72px;}
.main .btn .icon-index span:after {background-position-x: -96px;}
.main .btn .icon-open span:after {background-position-x: -120px;}
.main .btn .icon-close span:after {background-position-x: -144px;}
.main .btn .icon-enlarge span:after {background-position-x: -168px;}
.main .btn .icon-search span:after {background-position-x: -192px;}
.main .btn .icon-contact span:after {background-position-x: -216px;}
.main .btn .icon-play span:after {background-position-x: -240px;}

html:not(.sp) .main .btn > *:not([class*="icon-"]):hover span:after {
	-moz-transform: translate3d(3px, 0, 0);
	-webkit-transform: translate3d(3px, 0, 0);
	transform: translate3d(3px, 0, 0);
}


/* 「戻る」アイコン */
.main .btn .icon-back span {padding: 0 30px 0 40px;}
.main .btn .icon-back span:after {
	left: 12px;
	right: auto;
	-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 span: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 .btn .icon-anchor span: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 span: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: #fff; background-color: #59bdc6;}
.main .btn > *:before {background-color: #fff;}
.main .btn > * span:after {background-position-y: -144px;}
html:not(.sp) .main .btn > *:hover {color: #fff;}
html:not(.sp) .main .btn > *:hover:before {opacity: .2;}

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

/* ゴーストボタン */
.main .btn .ghost {color: #59bdc6; border: solid 2px #59bdc6; background-color: transparent !important;}
.main .btn .ghost span:after {background-position-y: -24px;}
html:not(.sp) .main .btn .ghost:hover {background-color: #59bdc6 !important;}
html:not(.sp) .main .btn .ghost:hover span:after {background-position-y: -144px;}

/* ゴーストボタン - 黄緑 */
.main .btn .ghost.bg-color1 {color: #b2c473; border: solid 2px #b2c473;}
.main .btn .ghost.bg-color1 span:after {background-position-y: -48px;}
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 .ghost.bg-color2 span:after {background-position-y: -72px;}
html:not(.sp) .main .btn .ghost.bg-color2:hover {background-color: #efa55e !important;}

/* ゴーストボタン - 赤 */
.main .btn .ghost.bg-color3 {color: #f2646e; border: solid 2px #f2646e;}
.main .btn .ghost.bg-color3 span:after {background-position-y: -96px;}
html:not(.sp) .main .btn .ghost.bg-color3:hover {background-color: #f2646e !important;}

/* ゴーストボタン - ダークグレー */
.main .btn .ghost.bg-dark {color: #434c4d; border: solid 2px #434c4d;}
.main .btn .ghost.bg-dark span:after {background-position-y: -120px;}
html:not(.sp) .main .btn .ghost.bg-dark:hover {background-color: #434c4d !important;}

/* ゴーストボタン - 白 */
.main .txt-white .btn .ghost:not(:hover) {border: solid 2px rgba(255, 255, 255, .5);}
.main .txt-white .btn .ghost span:after {background-position-y: -144px;}
html:not(.sp) .main .txt-white .btn .ghost:hover {background-color: #fff !important; border: solid 2px #fff !important;}
html:not(.sp) .main .txt-white .btn .ghost:hover span {color: #434c4d !important;}
html:not(.sp) .main .txt-white .btn .ghost:hover span:after {background-position-y: -120px !important;}



/*---------------------------------------------
	[BT3] シェアボタン
  ---------------------------------------------*/

.main .btn-share {
	margin: 0 -10px 10px 0;
	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;}



/*---------------------------------------------
	[BT4] メニューボタン
  ---------------------------------------------*/

#btn-menu {
	position: relative;
	z-index: 1000;
	width: 50px;
	height: 50px;
	background-color: #59bdc6;
	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);
}



/*---------------------------------------------
	[BT5] ページトップボタン
  ---------------------------------------------*/

#btn-pagetop {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 100vh;
	right: 30px;
	overflow: hidden;
	background-color: #59bdc6;

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

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

#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);
}



/*---------------------------------------------
	[BX] ボックス
  ---------------------------------------------*/

.main .box {
	margin-bottom: 30px;
	padding: 30px 30px 10px;
	background-color: #f2f4f4;
	overflow: hidden;
}

.main .box .heading {
	font-weight: bold;
	font-size: 1.13rem;
	line-height: 1.6;
	background-color: rgba(0, 0, 0, .07);
}
.main .box .heading:first-child {
	margin: -30px -30px 30px;
	padding: 12px 30px;
}



/*---------------------------------------------
	[FR] 枠
  ---------------------------------------------*/

.main .frame {
	position: relative;
	margin-bottom: 30px;
	padding: 30px 30px 10px;
	background: none transparent !important;
	border: solid 10px #e5e9e9;
}

.main .frame .heading {
	font-weight: bold;
	font-size: 1.13rem;
	line-height: 1.6;
	color: #000;
	background-color: #e5e9e9;
}
.main .frame .heading:first-child {
	margin: -30px -30px 30px;
	padding: 2px 30px 12px;
}



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

.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-gradation1 {
	border-top-color: transparent;
	border-bottom-color: transparent;
	border-left-color: #f79be5;
	border-right-color: #7e88e8;
}
.main .frame.bg-gradation1:before,
.main .frame.bg-gradation1: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-gradation1:before {top: -10px;}
.main .frame.bg-gradation1: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-gradation1 .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%);
}



/*---------------------------------------------
	[PL] パネル
  ---------------------------------------------*/

/* ----- [PL1] パネル > 画像上 ----- */

.main .panel-vertical {
	position: relative;
	margin-bottom: 30px;
	background-color: #f2f4f4;
}

.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%;}

.main .panel-vertical .txt {
	position: relative;
	padding: 20px 20px 0;
}

.main .panel-vertical p {
	font-size: .88rem;
	line-height: 1.6;
	-moz-transition: color .2s linear;
	-wenkit-transition: color .2s linear;
	transition: color .2s linear;
}
.main .panel-vertical p:not(.link-icon) {color: #555;}

.main .panel-vertical .date {
	font-size: .81rem;
	color: #999;
}

.main .panel-vertical .heading {
	margin-bottom: 20px;
	padding: 0;
	font-size: .94rem;
	font-weight: bold;
	color: #000;
	line-height: 1.6;
}

.main .panel-vertical .badge {
	margin-left: 30px;
	margin-right: 30px;
}
.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-vertical .badge + .txt {padding-top: 40px;}

.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 {padding: 15px 12px 7px 20px;}
.main .panel-vertical .link-horizontal {padding: 15px 10px 5px 20px;}

/* 文字色 - 白 */
.main .panel-vertical.txt-white .tag,
.main .panel-vertical.txt-white .link-horizontal {border-top: solid 1px rgba(255, 255, 255, .2);}



/* ----- [PL2] パネル > 画像左右 ----- */

.main .panel-horizontal {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	background-color: #f2f4f4;
	overflow: hidden;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.main .row .panel-horizontal {margin-bottom: 30px;}

.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: 300px;			/* パネルの最小高 */
}

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

.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;
}

.main .panel-horizontal .txt {
	position: relative;
	z-index: 1;
	width: 50%;
	margin: 0;
	padding: 30px 30px 10px;
}
.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.75rem;}

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

.main .panel-horizontal .date {
	font-size: .81rem;
	color: #999;
}

.main .panel-horizontal .txt .heading {
	margin-bottom: 20px;
	padding: 0;
	font-size: 1.13rem;
	font-weight: bold;
	color: #000;
	line-height: 1.75;
}

.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%;}



/* ----- [PL4] パネル > 背景画像 ----- */

.main .panel-covered {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	position: relative;
	overflow: hidden;
}
.main .col-set:not(.no-gutter) .panel-covered {margin-bottom: 30px;}

.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;
	height: 300px;			/* パネルの最小高 */
}

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

.main .panel-covered .txt {
	width: 100%;
	padding: 30px 30px 10px;
}

.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: .81rem;}

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

.main .panel-covered .heading {
	margin-bottom: 20px;
	padding: 0;
	font-size: 1.13rem;
	font-weight: bold;
	line-height: 1.6;
}

.main .panel-covered .link-horizontal {
	margin: 0 -30px -10px;
	padding: 15px 20px 5px 30px;
}

.main .panel-covered .tag {
	margin: 0 -30px -10px;
	padding: 15px 22px 7px 30px;
}


/* 文字色 - 白 */
.main .panel-covered * {color: #fff !important;}

.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 .panel-covered h3:not([class*="heading"]) {border-bottom-color: rgba(255, 255, 255, .2);}

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

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

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


/* ゴーストボタン - 白 */
.main .panel-covered .btn .ghost:not(:hover) {border: solid 2px rgba(255, 255, 255, .5);}
.main .panel-covered .btn .ghost span:after {background-position-y: -144px;}
html:not(.sp) .main .panel-covered .btn .ghost:hover {background-color: #fff !important; border: solid 2px #fff !important;}
html:not(.sp) .main .panel-covered .btn .ghost:hover span {color: #434c4d !important;}
html:not(.sp) .main .panel-covered .btn .ghost:hover span:after {background-position-y: -120px !important;}



/* ----- [PL] パネル - 共通設定 ----- */

.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 .bg-img,
.main .panel-covered .img .bg-img {
	width: 100%;
	height: 100%;
}

.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;
}

.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: .69rem;
}

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

.main .panel-vertical .link-horizontal a,
.main .panel-horizontal .link-horizontal a,
.main .panel-covered .link-horizontal a {
	margin-right: 20px;
	font-size: .81rem;
}
.main .panel-vertical .link-horizontal a:before,
.main .panel-horizontal .link-horizontal a:before,
.main .panel-covered .link-horizontal a:before {right: -10px;}
.main .panel-vertical .link-horizontal a:before {top: 0;}

.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] 表
  ---------------------------------------------*/

.main table {
	width: 100%;
	margin-bottom: 20px;
	border-spacing: 0;
}

.main table td {
	padding: 15px;
	border: solid 1px #e5e9e9;
}

.main table th {
	min-width: 7em;
	padding: 15px;
	color: #000;
	font-weight: bold;
	background-color: #f2f4f4;
	border: solid 1px #e5e9e9;
}
.main table thead tr:first-child th,
.main table thead + tbody tr:first-child th,
.main table thead + tbody tr:first-child td {border-top: 0 none;}

.main table thead th {
	min-width: 7em;
	color: #fff;
	background-color: #59bdc6;
	border-right: solid 1px #8bd1d7;
	border-left: 0 none;
	border-top: solid 1px #8bd1d7;
	border-bottom: 0 none;
}
.main table thead th:last-child {border-right: solid 1px #59bdc6;}

.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] コンテンツナビゲーション
  ---------------------------------------------*/

.main .nav-content {margin-bottom: 20px;}

.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;
	min-height: 60px;
	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%;
	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(../images/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);
}

@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: #f2f4f4;}
.main .nav-content ul {border-left: solid 1px #fff;}
.main .nav-content a {color: #555; border-right: solid 1px #fff;}
.main .nav-content .current a {color: #fff; background-color: #59bdc6; border-color: #59bdc6;}
html:not(.sp) .main .nav-content a:hover {color: #fff; background-color: #8bd1d7; border-color: #8bd1d7;}
.main .nav-content.link-internal a:after {background-position-y: -24px;}
.main .nav-content.link-internal .current a:after,
html:not(.sp) .main .nav-content.link-internal a:hover:after {background-position-y: -144px;}

/* 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: -144px;}



/*---------------------------------------------
	[NV2] タブ
  ---------------------------------------------*/

.main .tab {margin-bottom: 50px;}
.main .row .tab {margin-bottom: 20px;}

.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: 70px;
	height: 70px;
	margin: 0;
	padding: 0;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
	overflow: visible;
	transition: all .1s ease-in-out;
}
.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%;
	padding: 10px 15px;
	text-align: center;
	line-height: 1.6;
	font-size: 1.63rem;
	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: #888888; background-color: #f6f6f6; border-right: solid 1px #fff;}
.main .tab-nav li.current a {color: #a69e2f !important; background-color: #fff !important; border-right: 1px solid #b7b7b7 !important;}
html:not(.sp) .main .tab-nav li a:hover {color: #a69e2f; background-color: #fff;}

.main .tab-nav li.current,
.main .tab-nav li:hover {
	position: relative;
	bottom: 0;
	height: 80px;
	margin-top: -10px;
	overflow: visible;

}
.main .tab-nav li.current a,
.main .tab-nav li a:hover {
	border: 1px solid #b7b7b7;
	border-bottom: none !important;
	box-sizing: border-box;
}



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

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

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

.main .tab-element {
	float: left;
	display: none;
	/* padding: 30px 0 10px; */
	padding: 30px 0 0;
}
.main .tab-slider .tab-element {width: 10%;}
.main .tab-element:nth-child(3) {display: block;}
.main .row .tab .tab-element {
	/* padding-left: 30px;
	padding-right: 30px; */
}



/*---------------------------------------------
	[NV3] ページネーション
  ---------------------------------------------*/

.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;
	padding: 0 5px;
	line-height: 45px;
	margin: 0 1px 1px 0;
	font-size: .88rem;
	text-align: center;
}
.main .pagination a {
	color: #555;
	text-decoration: none;
	background-color: #f2f4f4;
	-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: #8bd1d7;
}

.main .pagination .current {
	color: #fff;
	background-color: #59bdc6;
}
.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(../images/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 -144px;
}
html:not(.sp) .main .pagination .next:hover:before {
	right: 3px;
	background-position: 0 -144px;
}



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

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

.main .form dl.border-set > dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	position: relative;
	width: 42%;
	padding: 25px 0 25px 4%;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.main .form dl.border-set span.label-inline {
	position: absolute;
	right: 0;
}

.main .form dl.border-set > dd {
	width: calc(100% - 42%);
	padding-left: 13px;
}
.main .form .caption {
	display: inline-block;
	margin: 0;
	padding: 5px 0;
	vertical-align: middle;
}

.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="email"],
.main .form textarea {
	width: calc(100% - 30px);
	/* max-width: 300px; */
	margin: 5px 0;
	padding: 5px 1em;
	font-size: 16px;
	line-height: 1.6;
	border: 1px solid #e5e9e9;
	vertical-align: middle;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;

	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
.main .form input[type="text"]:not(.full),
.main .form input[type="email"]:not(.full)
 {margin-right: 15px;}
.main .form input[type="text"].full,
.main .form input[type="email"].full,
.main .form textarea.full {max-width: 100%;}

.main :-moz-placeholder {color: #999; opacity: 1; font-weight: normal;}
.main ::-webkit-input-placeholder {color: #999; opacity: 1; font-weight: normal;}
.main :-ms-input-placeholder {color: #999; font-weight: normal;}
.main :placeholder-shown {color: #999; font-weight: normal;}

.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-color: #fff;
	background-image: url(../images/btn_select.gif);
	background-repeat: no-repeat;
	background-position: right center;
	-moz-background-size: 30px 45px;
	-webkit-background-size: 30px 45px;
	background-size: 30px 45px;

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

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
html:not(.sp) .main .form input[type="text"]: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 #a69e2f;}

.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;
	width: 18px;
	height: 18px;
	margin: 5px 6px 5px 0;
	vertical-align: middle;
	background-color: #fff;
	border: 2px solid #e5e9e9;
	-webkit-border-radius: 9px;
	-moz-border-radius: 9px;
	border-radius: 9px;
}
.main .form input[type="radio"]:checked + span {border-color: #59bdc6;}
.main .form input[type="radio"]:checked + span:after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	margin: 2px;
	background-color: #59bdc6;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.main .form input[type="checkbox"] {display: none;}

.main .form input[type="checkbox"] + span {
	position: relative;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 5px 6px 5px 0;
	vertical-align: middle;
	background-color: #e5e9e9;
}
.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;
	margin-right: 0;
}
.main .form .zip input[type="text"]:last-child {width: 80px;}

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

.main .form .btn-upload .upload-value {
	display: block;
	margin: 0 !important;
	padding: 5px 10px;
	font-size: .88rem;
	border: 1px solid #e5e9e9;
	border-right: 0 none;
	vertical-align: middle;
	background-color: transparent;

	-moz-border-radius: 3px 0 0 3px;
	-webkit-border-radius: 3px 0 0 3px;
	border-radius: 3px 0 0 3px;
}
html:not(.sp) .main .form .btn-upload:hover .upload-value {border-color: #8bd1d7;}

.main .form .btn-upload span {
	position: absolute;
	display: block;
	height: 100%;
	top: 0;
	right: 0;
	padding: 5px 10px;
	font-size: .88rem;
	line-height: 1.6;
	color: #fff;
	background-color: #59bdc6;
	vertical-align: middle;
	border: 1px solid #59bdc6;
	-moz-border-radius: 0 3px 3px 0;
	-webkit-border-radius: 0 3px 3px 0;
	border-radius: 0 3px 3px 0;
}

.main .form .btn-upload input[type=file] {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
	text-indent: -9999px;
	cursor: pointer;
	opacity: 0;
}

.main .form dl.border-set .required {
	position: relative;
	padding-right: 40px;
}

.main .form dl.border-set .required:after {
	content: "必須";
	position: absolute;
	display: block;
	padding: 4px 6px 3px;
	top: 50%;
	right: 0;
	font-size: .69rem;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	vertical-align: middle;
	background-color: #f2646e;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}



/*---------------------------------------------
	[EB1] 動画埋め込み
  ---------------------------------------------*/

.main .embed-video {
	position: relative;
	margin-bottom: 20px;
	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: 10042;
	overflow: hidden;
	background: #000;
	opacity: .8;
	-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: .8;}
}
@-webkit-keyframes mfp-bg-fadein {
	0% {opacity: 0;}
	100% {opacity: .8;}
}
@keyframes mfp-bg-fadein {
	0% {opacity: 0;}
	100% {opacity: .8;}
}
.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: 10043;
	position: fixed;
	outline: none !important;
}
html:not(.sp) .mfp-wrap {overflow-y: scroll !important;}

.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;
	z-index: 10045;
	display: inline-block;
	vertical-align: middle;
	margin: 20px auto;
	text-align: left;
	opacity: 0;

	-webkit-backface-visibility: hidden;
	-moz-transform: scale(.9);
	-webkit-transform: scale(.9);
	transform: scale(.9);
}
.mfp-wrap.mfp-ready .mfp-content  {
	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 .mfp-content  {
	opacity: 0;
	-moz-transform: scale(.9);
	-webkit-transform: scale(.9);
	transform: scale(.9);

	-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-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);
}

.mfp-inline-holder .mfp-content .content {
	padding: 30px 30px 10px;
	position: relative;
}

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

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	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 {
	position: absolute;
	top: 50%;
	width: 100%;
	height: 60px;
	margin-top: -30px;
	text-indent: -9999px;
	z-index: 10044;
	overflow: hidden;
}
.mfp-preloader:before {
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	margin: 0 auto;
	background-image: url(../images/preloader.gif);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 60px 60px;
}

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

.mfp-s-error .mfp-content {display: 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);
	background: none;
	outline: none;
	opacity: .5;

	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border-radius: 15px;
}
.mfp-ready .mfp-close {
	top: 0;
	-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: -40px;}
.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: .96rem;
	line-height: 1.6;
	white-space: nowrap;
}

.mfp-arrow {
	position: absolute;
	z-index: 10046;
	width: 40px;
	height: 40px;
	top: 50%;
	margin-top: -20px;
	text-indent: -9999px;
	background-color: #59bdc6;
	border: 0 none;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;

	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.mfp-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;
}
.mfp-arrow:hover:before {opacity: .2;}

.mfp-arrow:after {
	content: "";
	position: absolute;
	display: block;
	width: 24px;
	height: 24px;
	top: 50%;
	margin-top: -12px;
	background-image: url(../images/icon_link.png);
	background-repeat: no-repeat;
	background-position: 0 -144px;
	-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;
}

.mfp-arrow-left {left: -100px;}
.mfp-arrow-right {right: -100px;}

.mfp-arrow-left:after {
	left: 7px;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
html:not(.sp) .mfp-arrow-left: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);
}

.mfp-arrow-right:after {right: 7px;}
html:not(.sp) .mfp-arrow-right:hover:after {
	-moz-transform: translate3d(3px, 0, 0);
	-webkit-transform: translate3d(3px, 0, 0);
	transform: translate3d(3px, 0, 0);
}

.mfp-ready .mfp-arrow-left {
	left: 20px;
	-moz-transition: left .3s cubic-bezier(.47, 1.83, .71, 1) .3s;
	-webkit-transition: left .3s cubic-bezier(.47, 1.83, .71, 1) .3s;
	transition: left .3s cubic-bezier(.47, 1.83, .71, 1) .3s;
}
.mfp-ready.mfp-removing .mfp-arrow-left {
	left: -100px;
	-moz-transition: left .5s ease-in 0s;
	-webkit-transition: left .5s ease-in 0s;
	transition: left .5s ease-in 0s;
}
.mfp-ready .mfp-arrow-right {
	right: 20px;
	-moz-transition: right .3s cubic-bezier(.47, 1.83, .71, 1) .3s;
	-webkit-transition: right .3s cubic-bezier(.47, 1.83, .71, 1) .3s;
	transition: right .3s cubic-bezier(.47, 1.83, .71, 1) .3s;
}
.mfp-ready.mfp-removing .mfp-arrow-right {
	right: -100px;
	-moz-transition: right .5s ease-in 0s;
	-webkit-transition: right .5s ease-in 0s;
	transition: right .5s ease-in 0s;
}

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

.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: 0;
	left: 0;
	width: 100%;
	cursor: auto;
}
.mfp-ready .mfp-bottom-bar {
	bottom: -40px;
	-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: 0;
	-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 {
	float: left;
	height: 1.6em;
	padding-right: 4em;
	text-align: left;
	line-height: 1.6;
	color: #fff;
}

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

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

.sb10 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 10px);}
.sb11 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 11px);}
.sb12 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 12px);}
.sb13 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 13px);}
.sb14 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 14px);}
.sb15 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 15px);}
.sb16 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 16px);}
.sb17 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 17px);}
.sb18 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 18px);}
.sb19 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 19px);}
.sb20 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 20px);}
.sb21 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 21px);}
.sb22 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 22px);}
.sb23 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 23px);}
.sb24 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 24px);}
.sb25 .mfp-bg ~ #wrapper .fixed {width: calc(100% - 25px);}



/*---------------------------------------------
	[SL] スライダー
  ---------------------------------------------*/

.main .slider {
	position: relative;
	margin-bottom: 30px;
}

.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: 40px;
	height: 40px;
	top: 50%;
	margin: -20px;
	text-indent: -9999px;
	background-color: #59bdc6;
	border: 0 none;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;

	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.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: 24px;
	height: 24px;
	top: 50%;
	margin-top: -12px;
	background-image: url(../images/icon_link.png);
	background-repeat: no-repeat;
	background-position: 0 -144px;
	-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 .slick-prev {left: 0;}
.main .slick-next {right: 0;}

.main .slick-prev:after {
	left: 7px;
	-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: 7px;}
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, 80px, 0);
	-webkit-transform: translate3d(0, 80px, 0);
	transform: translate3d(0, 80px, 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;
	background-color: #fff;
	-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;
	}

	.row {padding: 0 20px;}


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

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

	.col1-2 {width: calc(50% - 20px);}
	.col1-3 {width: calc(33.33333333% - 20px);}
	.col2-3 {width: calc(66.66666666% - 20px);}
	.col1-4 {width: calc(25% - 20px);}
	.col3-4 {width: calc(75% - 20px);}
	.col1-5 {width: calc(20% - 20px);}
	.col1-6 {width: calc(16.66666666% - 20px);}

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


	/* ----- [IG] 画像 ----- */

	.main .img-set .img,
	.main .thumb-set .img {
		margin-right: 10px;
		padding-right: 10px;
	}
	.main .img-set .img.right,
	.main .thumb-set .img.right {
		margin-right: 0;
		padding-right: 0;
		margin-left: 10px;
		padding-left: 10px;
	}


	/* ----- [LT] リスト ----- */

	.main ul.col-set li {margin-bottom: 20px;}


	/* ----- [BT5] ページトップボタン ----- */

	#btn-pagetop {right: 20px;}
	#btn-pagetop.show {
		-moz-transform: translate3d(0, -70px, 0);
		-webkit-transform: translate3d(0, -70px, 0);
		transform: translate3d(0, -70px, 0);
	}


	/* ----- [BX] ボックス ----- */

	.main .box {
		margin-bottom: 20px;
		padding: 20px 20px 0;
	}

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


	/* ----- [FR] 枠 ----- */

	.main .frame {
		margin-bottom: 20px;
		padding: 20px 20px 0;
	}

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


	/* ----- [PL] パネル ----- */

	.main .panel-vertical {margin-bottom: 20px;}

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

	.main .row .panel-horizontal {margin-bottom: 20px;}

	.main .panel-horizontal .txt {padding: 20px 20px 0;}

	.main .col-set:not(.no-gutter) .panel-covered {margin-bottom: 20px;}

	.main .panel-covered .txt {padding: 20px 20px 0;}

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

	.main .panel-covered .tag {
		margin: 0 -20px;
		padding: 15px 12px 7px 20px;
	}


	/* ----- [SL] スライダー ----- */

	.main .slider {margin-bottom: 20px;}


	/* ----- [NV2] タブ ----- */

	.main .tab {margin-bottom: 40px;}

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


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

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


	/* ----- [EB2] モーダル ----- */

	.mfp-inline-holder .mfp-content .content {padding: 20px 20px 0;}

}





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

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

	/* body {
		font-size: 13px;
	} */


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

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

	/* .row {padding: 0 15px;} */
	.row {
		padding: 0 3vw;
	}

	.anchor:before {
		content: "";
		display: block;
		margin-top: -60px;	/* 固定ヘッダーの高さ */
		padding-top: 60px;
	}



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

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


	/* 幅 */

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


	/* 下余白 */

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


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


	/* 文字サイズ */

	.main .sp-l {font-size: 1.06rem !important;}
	.main .sp-m {font-size: .88rem !important;}
	.main .sp-s {font-size: .75rem !important;}



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

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

	.col1-2,
	.col1-3,
	.col2-3,
	.col1-4,
	.col3-4,
	.col1-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%;}


	/* ----- [HG] 見出し ----- */

	.main h2:not([class*="heading"]),
	.main .heading1 {
		/* margin: 40px 0 15px; */
		margin: 40px 0 25px;
		/* font-size: 1.38rem; */
		font-size: 1.88rem
	}
	.main h2:not([class*="heading"]).center:after,
	.main .heading1.center:after {
		margin: 8px auto 0;
	}
	.main .panel-horizontal h2:not([class*="heading"]),
	.main .panel-horizontal .heading1 {
		font-size: 1.31rem;
	}

	.main h3:not([class*="heading"]),
	.main .heading2 {
		margin: 30px 0 15px;
		font-size: 1.25rem;
	}

	.main h4:not([class*="heading"]),
	.main .heading3 {
		margin: 20px 0 15px;
		font-size: 1.19rem;
	}

	.main h5:not([class*="heading"]),
	.main .heading4 {
		margin: 10px 0 15px;
		font-size: 1.13rem;
	}

	.main h6:not([class*="heading"]),
	.main .heading5 {
		margin: 0 0 15px;
		font-size: 1rem;
	}

	.main .col-set + h2 {margin-top: 25px;}
	.main .col-set + h3 {margin-top: 15px;}
	.main .col-set + h4 {margin-top: 5px;}
	.main .col-set + h5 {margin-top: 0;}
	.main .col-set + h6 {margin-top: 0;}
	.main .col-set + .heading1 {margin-top: 25px;}
	.main .col-set + .heading2 {margin-top: 15px;}
	.main .col-set + .heading3 {margin-top: 5px;}
	.main .col-set + .heading4 {margin-top: 0;}
	.main .col-set + .heading5 {margin-top: 0;}



	/* ----- [TX] テキスト ----- */

	.main p {margin-bottom: 20px;}

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

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



	/* ----- [HR]  区切り線 ----- */

	.main hr {margin-bottom: 15px;}



	/* ----- [IG] 画像 ----- */

	.main .img {margin-bottom: 15px;}

	.main figure {margin-bottom: 15px;}

	.main .caption {margin-top: -5px;}

	.main .right .caption {margin-right: auto;}

	.main .img-set .img,
	.main .img-set .img.right {
		float: none;
		width: auto;
		max-width: none;
		text-align: center !important;
	}
	.main .img-set .img {
		margin-right: 0;
		padding-right: 0;
	}
	.main .img-set .img.right {
		margin-left: 0;
		padding-left: 0;
	}

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



	/* ----- [LT] リスト ----- */

	.main ul,
	.main ol {margin-bottom: 15px;}

	.main ul.col-set li {margin-bottom: 15px;}

	.main dl {
		display: block;
		margin-bottom: 15px;
	}

	.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 #e5e9e9;
	}

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

	.main dl.border-set > dd {
		width: auto;
		padding: 0 0 ;
		border-top: 0 none;
		border-bottom: solid 1px #dfdfdf;
	}
	/* .main dl.news > dt {
	}
	.main dl.news.border-set > dt {
		border-bottom: solid 1px #e5e9e9;
	}

	.main dl.news > dd .tag,
	.main dl.news > dd .label {

	}

	.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 .link-icon {clear: both;} */



	/* ----- [LK1] アイコンリンク ----- */

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



	/* ----- [LK2] 横並びリンク ----- */

	.main .link-horizontal {margin-bottom: 5px;}



	/* ----- [TG1] タグ ----- */

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



	/* ----- [TG2] ラベル ----- */

	.main .label {margin-bottom: 5px;}



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

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



	/* ----- [BT3] シェアボタン ----- */

	.main .btn-share {
		margin-bottom: 5px;
		text-align: center;
	}



	/* ----- [BT5] ページトップボタン ----- */

	#btn-pagetop {right: 15px;}
	#btn-pagetop.show {
		-moz-transform: translate3d(0, -65px, 0);
		-webkit-transform: translate3d(0, -65px, 0);
		transform: translate3d(0, -65px, 0);
	}


	/* ----- [BX] ボックス ----- */

	.main .box {
		margin-bottom: 15px;
		padding: 15px 15px 0;
	}

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



	/* ----- [FR]  枠 ----- */

	.main .frame {
		margin-bottom: 15px;
		padding: 15px 15px 0;
	}

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



	/* ----- [PL] パネル ----- */

	/* [PL1] パネル > 画像上 */

	.main .panel-vertical {margin-bottom: 15px;}

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

	.main .panel-vertical .txt {padding: 15px 15px 0;}

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

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

	.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 .row .panel-horizontal {margin-bottom: 15px;}

	.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;
		padding: 15px 15px 0;
	}

	.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;
	}

	.main .panel-horizontal p {
		font-size: 13px;
		line-height: 1.53;
	}





	/* [PL4] パネル > 背景画像 */

	.main .col-set:not(.no-gutter) .panel-covered {margin-bottom: 15px;}

	.main .panel-covered .txt {padding: 15px 15px 0;}

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

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



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

	.main table {margin-bottom: 15px;}


	/* 水平スクロールバー */

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

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

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



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

	.main .nav-content {
		margin-bottom: 15px;
		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 #fff;}
	.main .nav-content .current a {border-color: #59bdc6 !important;}
	html:not(.sp) .main .nav-content a:hover {border-color: #8bd1d7 !important;}

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



	/* ----- [NV2] タブ ----- */

	.main .tab {margin-bottom: 30px;}
	.main .row .tab {margin-bottom: 15px;}

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

	.main .tab-nav li a {
	  font-size: 0.81rem;
	 }
	.main .tab-nav li {min-height: 40px; height: 40px;}

	.main .tab-nav li.current,
  .main .tab-nav li:hover {
  	position: relative;
  	bottom: 0;
  	height: 50px;
  	margin-top: -10px;
  	overflow: visible;
  }
	.main .tab-nav li a {padding: 5px 15px;}

	.main .tab-container {margin: 0 -15px;}
	.main .row .tab .tab-container {margin: 0;}

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

	.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 {margin-bottom: 30px;}

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

	.main .form dl.border-set > dd {padding-left: 0; border: none;}

	.main .form dl.border-set .required:after {
		margin-top: 5px;
		font-size: .75rem;
	}
	.main .form dl.border-set > dt .label-inline {margin-right: 0;}
	.main .form input[type="text"],
	.main .form input[type="email"],
	.main .form textarea {
		width: 100%;



	/* ----- [EB1] 動画埋め込み ----- */

	.main .embed-video {margin-bottom: 15px;}



	/* ----- [EB2] モーダル ----- */

	.mfp-inline-holder .mfp-content .content {padding: 15px 15px 0;}



	/* ----- [SL] スライダー ----- */

	.main .slider {margin-bottom: 15px;}

	.main .row .slider {
		margin-left: -15px;
		margin-right: -15px;
	}

}



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

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

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

	.main .btn > * {
		width: 100%;
		margin-right: 0;
	}


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

	.main .form input[type="text"],
	.main .form input[type="email"]
	.main .form textarea {max-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;}

}
