@charset "UTF-8";
/* ===================================================================
CSS information

 file name  : common.css
 author     : Ability Consultant
 style info : 基本・共通設定
=================================================================== */
.box_container {
	max-width: 1260px;
	margin: auto;
}
@media only screen and (max-width: 1024px) {
  .box_container {
		width: 95%;
  }
}

.box_container:after, .row:after, .clearfix:after, .fixliststore .box_nav ul:after {
	content: "";
	display: table;
	clear: both;
}

/* -----------------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------------- */
/*
* “はんなり明朝” licensed under the IPA Font License Agreement v1.0
* http://typingart.net/
* http://ipafont.ipa.go.jp/
* http://ipafont.ipa.go.jp/ipa_font_license_v1.html
*/
@font-face {
	font-family: 'Hannari';
	src: url("fonts/Hannari.woff") format("woff"), url("fonts/Hannari.otf’") format("opentype");
}
html {
	font-size: small;
	line-height: 1.5;
}

body {
	color: #0c0c0c;
	background: #fff;
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
	font-size: 124%;
}
.ie body {
	font-size: 120%;
}
@media only screen and (max-width: 767px) {
  body {
		font-size: 93%;
  }
}
body a {
	color: #262626;
}
body a:link, body a:visited, body a:active {
	text-decoration: underline;
}
.mouse body a:hover, .touch body a.touchstart {
	text-decoration: none;
	color: #3f3f3f;
}
body img {
	max-width: 100%;
	-webkit-touch-callout: none;
}

body, pre, input, textarea, select {
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
}

input, select, textarea {
	font-size: 100%;
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
	display: none !important;
}
html.ie8 #page {
	min-width: 1260px !important;
	margin: auto;
	font-size: 100% !important;
}

@media only screen and (min-width: 1025px) {
  body .view_tab-sp, body .view_tab {
		display: none !important;
  }
}
@media print {
  body .view_tab-sp, body .view_tab {
		display: none !important;
  }
}
.ie8 body .view_tab-sp, .ie8 body .view_tab {
	display: none !important;
}
@media only screen and (min-width: 768px) {
  body .view_sp {
		display: none !important;
  }
}
@media print {
  body .view_sp {
		display: none !important;
  }
}
.ie8 body .view_sp {
	display: none !important;
}
@media only screen and (max-width: 1024px) {
  body .view_pc {
		display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .view_pc-tab, body .view_tab {
		display: none !important;
  }
}

.mouse .over {
	-webkit-transition: opacity 200ms ease-in;
	-moz-transition: opacity 200ms ease-in;
	-o-transition: opacity 200ms ease-in;
	transition: opacity 200ms ease-in;
}
.mouse .over:hover, .touch .over.touchstart {
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 0.7;
}
.touch .over {
	-webkit-tap-highlight-color: transparent;
}
.touch .over.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

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

/* -----------------------------------------------------------
	common
----------------------------------------------------------- */
.box_container {
	display: block;
}

.row {
	display: block;
}

.col {
	display: block;
	float: left;
	position: relative;
	min-height: 1px;
}

.row_tbl {
	display: table;
	width: 100%;
}

.cell {
	display: table-cell;
	vertical-align: top;
}

.jp_got {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif !important;
}

.jp_min {
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif !important;
}

/* -----------------------------------------------------------
	#page
----------------------------------------------------------- */
@media only screen and (min-width: 768px) {
  #page {
		font-size: 100% !important;
  }
}
@media print {
  #page {
		font-size: 100% !important;
  }
}
.ie8 #page {
	font-size: 100% !important;
}

/* -----------------------------------------------------------
	.header
----------------------------------------------------------- */
.header_btns {
	position: absolute;
	right: 30px;
	top: 157px;
	z-index: 3;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header_btns {
		right: 17px;
  }
}
.header_btns .btn {
	display: block;
	font-size: 94%;
	color: #fff !important;
	background: #111111;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding: 25px 24px;
	margin-bottom: 15px;
}
.header_btns .btn:last-child {
	margin-bottom: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header_btns .btn {
		padding: 15px 24px;
		margin-bottom: 10px;
  }
}
.header_btns .btn:hover {
	background: #000;
	-webkit-box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.6);
	-moz-box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.6);
	box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.6);
}
.header_btns .btn .ic_btn {
	display: block;
}
.header_btns .btn .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
}
.safari .header_btns .btn .jp, .firefox .header_btns .btn .jp, .ipad .header_btns .btn .jp, .iphone .header_btns .btn .jp {
	width: 1em;
	line-height: 1;
}

.ie .header_btns .btn .jp {
	width: 1em;
}

/* -----------------------------------------------------------
	fixbtns
----------------------------------------------------------- */
.fixbtns {
	position: fixed;
	right: 15px;
	top: 25px;
	z-index: 9100;
}
@media only screen and (max-width: 767px) {
  .fixbtns {
		right: 1em;
		top: 1em;
  }
}
.fixbtns .btn_menu {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	overflow: visible;
	border: 0;
	background: transparent;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	outline: 0;
	width: 100px;
	height: 100px;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixbtns .btn_menu {
		width: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .fixbtns .btn_menu {
		width: 4.5em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixbtns .btn_menu {
		height: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .fixbtns .btn_menu {
		height: 4.5em;
  }
}
@media only screen and (max-width: 767px) {
  .fixbtns .btn_menu {
		font-size: 100%;
  }
}
.fixbtns .btn_menu:hover:after {
	background: #8e6db1;
}
.fixbtns .btn_menu:before {
	display: block;
	content: '';
	position: absolute;
	left: 4px;
	top: 4px;
	width: 100%;
	height: 100%;
	background: #191919;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.fixbtns .btn_menu:after {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #684988;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.fixbtns .btn_menu .btn_inner {
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 100%;
	z-index: 2;
}
.fixbtns .btn_menu .ic {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 32px;
	height: 14px;
}
.fixbtns .btn_menu .ic > span {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	left: 0;
	height: 2px;
	width: 100%;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.fixbtns .btn_menu .ic > span:nth-of-type(1) {
	top: 0;
}
body.fixmenu_show .fixbtns .btn_menu .ic > span:nth-of-type(1) {
	-webkit-transform: translate(0, 6px) rotate(-45deg);
	-moz-transform: translate(0, 6px) rotate(-45deg);
	-ms-transform: translate(0, 6px) rotate(-45deg);
	-o-transform: translate(0, 6px) rotate(-45deg);
	transform: translate(0, 6px) rotate(-45deg);
}
.fixbtns .btn_menu .ic > span:nth-of-type(2) {
	top: 6px;
}
body.fixmenu_show .fixbtns .btn_menu .ic > span:nth-of-type(2) {
	opacity: 0;
}
.fixbtns .btn_menu .ic > span:nth-of-type(3) {
	bottom: 0;
}
body.fixmenu_show .fixbtns .btn_menu .ic > span:nth-of-type(3) {
	-webkit-transform: translate(0, -6px) rotate(45deg);
	-moz-transform: translate(0, -6px) rotate(45deg);
	-ms-transform: translate(0, -6px) rotate(45deg);
	-o-transform: translate(0, -6px) rotate(45deg);
	transform: translate(0, -6px) rotate(45deg);
}
.fixbtns .btn_menu .txt {
	display: block;
	font-size: 69%;
	color: #fff;
	margin-top: 10px;
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif;
}
.safari .fixbtns .btn_menu .txt, .ipad .fixbtns .btn_menu .txt, .iphone .fixbtns .btn_menu .txt {
	font-size: 82%;
}
@media only screen and (max-width: 767px) {
  .fixbtns .btn_menu .txt {
		margin-top: 3px;
  }
}
body.fixmenu_show .fixbtns .btn_menu .txt.txt_menu {
	display: none;
}
@media only screen and (max-width: 767px) {
  .fixbtns .btn_menu .txt.txt_menu {
		font-size: 57%;
  }
}
.fixbtns .btn_menu .txt.txt_close {
	display: none;
}
body.fixmenu_show .fixbtns .btn_menu .txt.txt_close {
	display: block;
}

/* -----------------------------------------------------------
	fixmenu
----------------------------------------------------------- */
.fixmenu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	height: 100%;
	background: #fff;
	margin: 0;
	z-index: 9090;
}
.fixmenu .box_logo {
	position: absolute;
	left: 0;
	top: 0;
	width: 35%;
	height: 100%;
	background: #654784;
}
@media only screen and (max-width: 1024px) {
  .fixmenu .box_logo {
		display: none;
  }
}
.fixmenu .box_logo .logo {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.fixmenu .box_logo .logo a {
	display: inline-block;
	vertical-align: middle;
}
.fixmenu .box_nav {
	display: table;
	table-layout: fixed;
	width: 65%;
	height: 100%;
	margin-right: 0;
	margin-left: auto;
}
@media only screen and (max-width: 1024px) {
  .fixmenu .box_nav {
		width: 100%;
  }
}
.fixmenu .box_nav .box_inner {
	display: table-cell;
	vertical-align: middle;
	padding: 50px 30px;
}
@media only screen and (max-width: 767px) {
  .fixmenu .box_nav .box_inner {
		padding: 7em 1.5em 3em;
  }
}
.fixmenu .box_nav .gnav_wrp {
	width: 100%;
	max-width: 680px;
	margin: auto;
}
@media only screen and (max-width: 767px) {
  .fixmenu .box_nav .gnav_wrp {
		max-width: 100%;
  }
}
.fixmenu .box_nav .gnav {
	margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .fixmenu .box_nav .gnav {
		margin-bottom: 1em;
  }
}
.fixmenu .box_nav .gnav li {
	padding-left: 50px;
	margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .fixmenu .box_nav .gnav li {
		padding-left: 1em;
		margin-bottom: 1em;
  }
}
.fixmenu .box_nav .gnav li > a {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	font-size: 138%;
	color: #010101;
	text-decoration: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixmenu .box_nav .gnav li > a {
		font-size: 125%;
  }
}
@media only screen and (max-width: 767px) {
  .fixmenu .box_nav .gnav li > a {
		font-size: 100%;
  }
}
.fixmenu .box_nav .gnav li > a .ic_btn {
	color: #654784;
}
.fixmenu .box_nav .gnav li > a > span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
.fixmenu .box_nav .gnav li > a > span:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: #654784;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.fixmenu .box_nav .gnav li > a:hover,
.fixmenu .box_nav .gnav li.active > a {
	color: #654784;
}
.fixmenu .box_nav .gnav li > a:hover > span:before,
.fixmenu .box_nav .gnav li.active > a > span:before {
	width: 100%;
}
.fixmenu .box_nav .gnav .has_submenu {
	background: #e8e7ef;
	padding-top: 25px;
}
.fixmenu .box_nav .gnav .submenu {
	margin-top: 25px;
}
.fixmenu .box_nav .gnav .submenu:after {
	display: table;
	content: '';
	clear: both;
}
.fixmenu .box_nav .gnav .submenu > li {
	float: left;
	width: 50%;
}
.fixmenu .box_nav .box_careers {
	padding-left: 40px;
}
@media only screen and (max-width: 767px) {
  .fixmenu .box_nav .box_careers {
		padding-left: 1em;
  }
}
.fixmenu .box_nav .box_careers .btn_careers {
	display: inline-block;
	vertical-align: middle;
	font-size: 138%;
	color: #fff;
	background: #303030;
	text-decoration: none;
	text-align: center;
	padding: 0.4em 40px;
}
@media only screen and (max-width: 767px) {
  .fixmenu .box_nav .box_careers .btn_careers {
		font-size: 100%;
		width: 100%;
		min-width: 0;
		padding: 0.5em 1em;
  }
}

@-moz-keyframes animationShowMenuItem {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -40px);
		-moz-transform: translate(0, -40px);
		-ms-transform: translate(0, -40px);
		-o-transform: translate(0, -40px);
		transform: translate(0, -40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
@-webkit-keyframes animationShowMenuItem {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -40px);
		-moz-transform: translate(0, -40px);
		-ms-transform: translate(0, -40px);
		-o-transform: translate(0, -40px);
		transform: translate(0, -40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
@-o-keyframes animationShowMenuItem {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -40px);
		-moz-transform: translate(0, -40px);
		-ms-transform: translate(0, -40px);
		-o-transform: translate(0, -40px);
		transform: translate(0, -40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
@-ms-keyframes animationShowMenuItem {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -40px);
		-moz-transform: translate(0, -40px);
		-ms-transform: translate(0, -40px);
		-o-transform: translate(0, -40px);
		transform: translate(0, -40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
@keyframes animationShowMenuItem {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, -40px);
		-moz-transform: translate(0, -40px);
		-ms-transform: translate(0, -40px);
		-o-transform: translate(0, -40px);
		transform: translate(0, -40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
.animated_obj:nth-of-type(1) {
	animation-delay: 0.08s !important;
}
.animated_obj:nth-of-type(2) {
	animation-delay: 0.16s !important;
}
.animated_obj:nth-of-type(3) {
	animation-delay: 0.24s !important;
}
.animated_obj:nth-of-type(4) {
	animation-delay: 0.32s !important;
}
.animated_obj:nth-of-type(5) {
	animation-delay: 0.4s !important;
}
.animated_obj:nth-of-type(6) {
	animation-delay: 0.48s !important;
}
.animated_obj:nth-of-type(7) {
	animation-delay: 0.56s !important;
}
.animated_obj:nth-of-type(8) {
	animation-delay: 0.64s !important;
}
.animated_obj:nth-of-type(9) {
	animation-delay: 0.72s !important;
}
.animated_obj:nth-of-type(10) {
	animation-delay: 0.8s !important;
}
.animated_obj:nth-of-type(11) {
	animation-delay: 0.88s !important;
}
.animated_obj:nth-of-type(12) {
	animation-delay: 0.96s !important;
}
.animated_obj:nth-of-type(13) {
	animation-delay: 1.04s !important;
}
.animated_obj:nth-of-type(14) {
	animation-delay: 1.12s !important;
}
.animated_obj:nth-of-type(15) {
	animation-delay: 1.2s !important;
}
.animated_obj:nth-of-type(16) {
	animation-delay: 1.28s !important;
}
.animated_obj:nth-of-type(17) {
	animation-delay: 1.36s !important;
}
.animated_obj:nth-of-type(18) {
	animation-delay: 1.44s !important;
}
.animated_obj:nth-of-type(19) {
	animation-delay: 1.52s !important;
}
.animated_obj:nth-of-type(20) {
	animation-delay: 1.6s !important;
}
body.fixmenu_show .animated_obj {
	-webkit-animation: animationShowMenuItem 0.5s ease 0s;
	-moz-animation: animationShowMenuItem 0.5s ease 0s;
	-ms-animation: animationShowMenuItem 0.5s ease 0s;
	-o-animation: animationShowMenuItem 0.5s ease 0s;
	animation: animationShowMenuItem 0.5s ease 0s;
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
}

/* -----------------------------------------------------------
	fixliststore
----------------------------------------------------------- */
.fixliststore {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.38);
	padding: 50px 2.5%;
	margin: 0;
	z-index: 9110;
}
@media only screen and (max-width: 767px) {
  .fixliststore {
		padding: 3em 1.5em;
  }
}
.fixliststore .box_tbl {
	display: table;
	table-layout: fixed;
	width: 100%;
	height: 100%;
	max-width: 1000px;
	margin: auto;
}
.fixliststore .box_cell {
	display: table-cell;
	vertical-align: middle;
}
.fixliststore .box_content {
	position: relative;
	z-index: 2;
	background: #fff;
	-webkit-box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.1);
	box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.1);
	padding: 50px 8%;
}
@media only screen and (max-width: 767px) {
  .fixliststore .box_content {
		padding: 2em;
  }
}
.fixliststore .txt_title_top {
	font-size: 138%;
	text-align: center;
	margin-bottom: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixliststore .txt_title_top {
		font-size: 125%;
  }
}
@media only screen and (max-width: 767px) {
  .fixliststore .txt_title_top {
		font-size: 113%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixliststore .txt_title_top {
		margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .fixliststore .txt_title_top {
		margin-bottom: 1.5em;
  }
}
.fixliststore .box_nav {
	background: #654784;
	padding: 40px 40px 20px;
	margin-bottom: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixliststore .box_nav {
		margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .fixliststore .box_nav {
		margin-bottom: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .fixliststore .box_nav {
		padding: 1.5em 1em 0.5em;
  }
}
.fixliststore .box_nav ul li {
	float: left;
	width: 50%;
	text-align: center;
	padding: 0 15px;
	margin-bottom: 25px;
}
@media only screen and (min-width: 768px) {
  .fixliststore .box_nav ul li:nth-child(2n+1) {
		clear: both;
  }
}
@media print {
  .fixliststore .box_nav ul li:nth-child(2n+1) {
		clear: both;
  }
}
.ie8 .fixliststore .box_nav ul li:nth-child(2n+1) {
	clear: both;
}
@media only screen and (max-width: 767px) {
  .fixliststore .box_nav ul li {
		float: none;
		width: 100%;
		margin-bottom: 0.75em;
  }
}
.fixliststore .box_nav ul li > a {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	font-size: 138%;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixliststore .box_nav ul li > a {
		font-size: 125%;
  }
}
@media only screen and (max-width: 767px) {
  .fixliststore .box_nav ul li > a {
		font-size: 100%;
  }
}
.fixliststore .box_nav ul li > a > span {
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
.fixliststore .box_nav ul li > a > span:before {
	display: block;
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: 0;
	height: 2px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.fixliststore .box_nav ul li > a:hover > span:before,
.fixliststore .box_nav ul li.active > a > span:before {
	width: 100%;
}
.fixliststore .box_close {
	text-align: center;
}
.fixliststore .box_close .btn {
	display: inline-block;
	vertical-align: middle;
	font-size: 138%;
	color: #0c0c0c;
	text-align: center;
	text-decoration: none;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fixliststore .box_close .btn {
		font-size: 125%;
  }
}
@media only screen and (max-width: 767px) {
  .fixliststore .box_close .btn {
		font-size: 100%;
  }
}

/* -----------------------------------------------------------
	#contents
----------------------------------------------------------- */
/* -----------------------------------------------------------
	.con_title_main
----------------------------------------------------------- */
.con_title_main {
	position: relative;
}
.con_title_main .box_slide .slick-slide {
	position: relative;
	outline: 0;
}
.con_title_main .box_slide .img_thumb {
	display: block;
	height: 100vh;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.con_title_main .logo {
	position: absolute;
	left: 50%;
	top: 10%;
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	z-index: 2;
}
@media only screen and (max-width: 767px) {
  .con_title_main .logo {
		display: none;
  }
}
.con_title_main .box_center {
	position: absolute;
	left: 50%;
	top: 60%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	padding: 0 110px;
	z-index: 2;
}
@media only screen and (max-width: 767px) {
  .con_title_main .box_center {
		top: 50%;
		padding: 0 3em;
  }
}
.con_title_main .box_center h2 {
	margin-bottom: 40px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_title_main .box_center h2 {
		margin-bottom: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .con_title_main .box_center h2 {
		margin-bottom: 1.5em;
  }
}
.con_title_main .btn_scroll {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	right: 58px;
	bottom: 5%;
	text-decoration: none;
	text-align: center;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	z-index: 3;
}
@media only screen and (max-width: 767px) {
  .con_title_main .btn_scroll {
		display: none;
  }
}
.con_title_main .btn_scroll:hover {
	-webkit-transform: translate(0, 5px);
	-moz-transform: translate(0, 5px);
	-ms-transform: translate(0, 5px);
	-o-transform: translate(0, 5px);
	transform: translate(0, 5px);
}

/* -----------------------------------------------------------
	.con_title_sub
----------------------------------------------------------- */
.con_title_sub {
	position: relative;
	height: 590px;
	background-image: url(../copy_sub/images/bg_title.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
@media only screen and (max-width: 1024px) {
  .con_title_sub {
		height: 500px;
  }
}
@media only screen and (max-width: 767px) {
  .con_title_sub {
		height: auto;
		padding-bottom: 70%;
  }
}
.con_title_sub .box_slide .slick-slide {
	position: relative;
	outline: 0;
}
.con_title_sub .box_slide .img_thumb {
	display: block;
	height: 100vh;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.con_title_sub .logo {
	position: absolute;
	left: 50%;
	top: 10%;
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	z-index: 2;
}
@media only screen and (max-width: 767px) {
  .con_title_sub .logo {
		display: none;
  }
}
.con_title_sub .box_center {
	position: absolute;
	left: 50%;
	top: 66%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 95%;
	z-index: 2;
}
@media only screen and (max-width: 767px) {
  .con_title_sub .box_center {
		top: 50%;
  }
}
.con_title_sub .box_center h2 {
	margin-bottom: 40px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_title_sub .box_center h2 {
		margin-bottom: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .con_title_sub .box_center h2 {
		margin-bottom: 1.5em;
  }
}

/* -----------------------------------------------------------
	#footer
----------------------------------------------------------- */
#footer {
	margin-top: 80px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #footer {
		margin-top: 70px;
  }
}
@media only screen and (max-width: 767px) {
  #footer {
		margin-top: 3em;
  }
}
#footer .footer_nav {
	position: relative;
	padding-top: 65px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav {
		padding-top: 0;
  }
}
#footer .footer_nav .box_inner {
	position: relative;
}
#footer .footer_nav .bg {
	display: block;
	width: 100%;
	height: 678px;
	background: transparent url(../images/footer/bg_footer_nav-pc.jpg) no-repeat left bottom;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .bg {
		height: 360px;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_nav .bg {
		height: auto;
		background-image: url(../images/footer/bg_footer_nav-sp.jpg);
		padding-bottom: 60%;
  }
}
#footer .footer_nav .box_main {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	max-width: 1480px;
	background: transparent url(../images/common/bg_pattern_01.png) repeat left top;
	padding: 60px 0 40px;
	z-index: 2;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .box_main {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		max-width: 100%;
		padding: 40px 15%;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_nav .box_main {
		padding: 2em 1em;
  }
}
#footer .footer_nav .box_main:after {
	display: block;
	content: '';
	position: absolute;
	right: 30%;
	top: 0;
	width: 0;
	height: 100%;
	border-left: 1px solid #000;
	border-right: 1px solid #242424;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .box_main:after {
		display: none;
  }
}
#footer .footer_nav .box_nav li {
	padding-right: 10px;
	margin-bottom: 16px;
}
#footer .footer_nav .box_nav li a {
	font-size: 88%;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
#footer .footer_nav .box_nav li a:hover {
	opacity: 0.7;
}
#footer .footer_nav .col_logo {
	width: 14%;
	text-align: center;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .col_logo {
		width: 35%;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_nav .col_logo {
		width: 21%;
  }
}
#footer .footer_nav .col_nav_01 {
	width: 15%;
	padding-top: 20px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .col_nav_01 {
		display: none;
  }
}
#footer .footer_nav .col_nav_02 {
	width: 25%;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .col_nav_02 {
		display: none;
  }
}
#footer .footer_nav .col_nav_02 .col_inner {
	background: rgba(101, 71, 132, 0.4);
	padding: 20px 20px 0;
}
#footer .footer_nav .col_nav_02 .col_2nd {
	width: 33.33333%;
}
#footer .footer_nav .col_nav_03 {
	width: 16%;
	padding-left: 3%;
	padding-top: 20px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .col_nav_03 {
		display: none;
  }
}
#footer .footer_nav .col_address {
	width: 30%;
	padding-left: 4%;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .col_address {
		width: 65%;
		text-align: left;
		padding: 0;
		margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_nav .col_address {
		width: 79%;
		padding-left: 5%;
  }
}
#footer .footer_nav .col_address address {
	font-size: 88%;
	line-height: 2.2;
	color: #fff;
	margin-bottom: 1em;
}
@media only screen and (max-width: 767px) {
  #footer .footer_nav .col_address address {
		line-height: 1.8;
  }
}
#footer .footer_nav .col_address address a {
	color: #fff;
	text-decoration: none;
}
#footer .footer_nav .col_address .btn_careers {
	display: inline-block;
	vertical-align: middle;
	font-size: 88%;
	color: #fff;
	background: #232323;
	text-decoration: none;
	text-align: center;
	padding: 0.4em 40px;
}
@media only screen and (max-width: 1024px) {
  #footer .footer_nav .col_address .btn_careers {
		padding: 1em 70px;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_nav .col_address .btn_careers {
		width: 100%;
		min-width: 0;
		padding: 1em;
  }
}
#footer .footer_main {
	background: #232323;
	padding: 45px 0 35px;
}
@media only screen and (max-width: 767px) {
  #footer .footer_main {
		padding: 0;
  }
}
@media only screen and (min-width: 1025px) {
  #footer .footer_main .box_container {
		max-width: 1200px;
  }
}
@media print {
  #footer .footer_main .box_container {
		max-width: 1200px;
  }
}
.ie8 #footer .footer_main .box_container {
	max-width: 1200px;
}
@media only screen and (max-width: 767px) {
  #footer .footer_main .box_container {
		width: 100%;
  }
}
#footer .footer_main .title {
	font-size: 100%;
	letter-spacing: 0.3em;
	color: #fff;
	text-align: center;
	margin-bottom: 35px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #footer .footer_main .title {
		margin-bottom: 25px;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_main .title {
		margin-bottom: 1em;
  }
}
#footer .footer_main .accordion {
	display: block;
	position: relative;
	font-size: 100%;
	color: #fff;
	text-align: left;
	border-bottom: 1px solid #fff;
	cursor: pointer;
	padding: 0.8em 1.5em;
}
#footer .footer_main .accordion.active .ic_arrow {
	-webkit-transform: rotate(180deg) translate(0, -50%);
	-moz-transform: rotate(180deg) translate(0, -50%);
	-ms-transform: rotate(180deg) translate(0, -50%);
	-o-transform: rotate(180deg) translate(0, -50%);
	transform: rotate(180deg) translate(0, -50%);
}
#footer .footer_main .accordion.active .ic_arrow:before {
	content: "\f462";
}
#footer .footer_main .accordion .ic_arrow {
	position: absolute;
	right: 10px;
	top: 50%;
	-webkit-transform: rotate(0deg) translate(0, -50%);
	-moz-transform: rotate(0deg) translate(0, -50%);
	-ms-transform: rotate(0deg) translate(0, -50%);
	-o-transform: rotate(0deg) translate(0, -50%);
	transform: rotate(0deg) translate(0, -50%);
	-webkit-transform-origin: center top;
	-moz-transform-origin: center top;
	-ms-transform-origin: center top;
	-o-transform-origin: center top;
	transform-origin: center top;
	-webkit-transition: -webkit-transform 0.4s ease;
	-moz-transition: -moz-transform 0.4s ease;
	-o-transition: -o-transform 0.4s ease;
	transition: transform 0.4s ease;
}
#footer .footer_main ul {
	text-align: center;
	margin: auto;
	margin-bottom: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #footer .footer_main ul {
		margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_main ul {
		margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_main ul {
		display: none;
  }
}
#footer .footer_main ul li {
	display: inline-block;
	vertical-align: middle;
	padding: 0 6px;
	margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  #footer .footer_main ul li {
		display: block;
		border-bottom: 1px dotted #fff;
		padding: 0;
		margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_main ul li:last-child {
		border-bottom: 1px solid #fff;
  }
}
#footer .footer_main ul li a {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
}
@media only screen and (max-width: 767px) {
  #footer .footer_main ul li a {
		display: block;
		color: #fff;
		text-align: left;
		padding: 0.6em 1.5em;
  }
}
#footer .footer_main ul li a:hover img {
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-ms-transform: scale(1.05);
	-o-transform: scale(1.05);
	transform: scale(1.05);
}
#footer .footer_main ul li a img {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	-ms-transform-origin: center center;
	-o-transform-origin: center center;
	transform-origin: center center;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (max-width: 767px) {
  #footer .footer_main ul li a img {
		display: none;
  }
}
#footer .footer_main ul li a span {
	display: none;
}
@media only screen and (max-width: 767px) {
  #footer .footer_main ul li a span {
		display: block;
  }
}
#footer .footer_main #copyright {
	font-size: 75%;
	color: #fff;
	text-align: center;
}
@media only screen and (max-width: 767px) {
  #footer .footer_main #copyright {
		padding: 0 2.5%;
		padding: 1.5em 0;
  }
}

/* -----------------------------------------------------------
	#pagetop
----------------------------------------------------------- */
#pagetop {
	display: none;
	position: absolute;
	right: 0;
	top: -60px;
	z-index: 10;
}
@media only screen and (max-width: 767px) {
  #pagetop {
		display: none !important;
  }
}
#pagetop a {
	display: block;
	text-align: center;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
#pagetop a:hover {
	-webkit-transform: translate(0, -5px);
	-moz-transform: translate(0, -5px);
	-ms-transform: translate(0, -5px);
	-o-transform: translate(0, -5px);
	transform: translate(0, -5px);
}

/* -----------------------------------------------------------
	下層共通スタイル
----------------------------------------------------------- */
/* -----------------------------------------------------------
	テーブル
----------------------------------------------------------- */
table.tbl_primary {
	width: 100%;
}
table.tbl_primary tr th,
table.tbl_primary tr td {
	vertical-align: middle;
	font-weight: normal;
	font-size: 94%;
	color: #414141;
	border-top: 1px solid #d2d0df;
	border-bottom: 1px solid #d2d0df;
	border-right: 1px solid #d2d0df;
	padding: 16px 15px;
}
@media only screen and (max-width: 767px) {
  table.tbl_primary tr th,
  table.tbl_primary tr td {
		padding: 0.6em 1em;
  }
}
table.tbl_primary tr th {
	width: 25%;
	text-align: center;
	border-top-color: #656565;
	border-bottom-color: #656565;
	border-right: 0;
}
@media only screen and (max-width: 767px) {
  table.tbl_primary tr th {
		background: #f1f1f1;
		border-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  table.tbl_primary tr td {
		border-right: 0;
		border-bottom: 0;
  }
}
table.tbl_primary tr td:last-child {
	border-right: 0;
}
@media only screen and (max-width: 767px) {
  table.tbl_primary tr th,
  table.tbl_primary tr td {
		display: block;
		width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  table.tbl_primary {
		width: 100% !important;
  }
}

table.tbl_primary_fix {
	width: 100%;
}
table.tbl_primary_fix tr th,
table.tbl_primary_fix tr td {
	vertical-align: middle;
	font-size: 94%;
	font-weight: normal;
	color: #414141;
	border-top: 1px solid #d2d0df;
	border-bottom: 1px solid #d2d0df;
	padding: 16px 15px;
}
@media only screen and (max-width: 767px) {
  table.tbl_primary_fix tr th,
  table.tbl_primary_fix tr td {
		padding: 0.6em 1em;
  }
}
table.tbl_primary_fix tr th {
	text-align: center;
	border-top-color: #656565;
	border-bottom-color: #656565;
}
table.tbl_primary_fix tr td {
	border-right: 1px solid #d2d0df;
}
table.tbl_primary_fix tr td:last-child {
	border-right: 0;
}

/* -----------------------------------------------------------
	見出し heading
----------------------------------------------------------- */
.st_lg_01 {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
	padding-top: 75px;
}
.st_lg_01 .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	position: relative;
	font-family: "Hannari", serif;
	font-size: 225%;
	color: #684988;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_lg_01 .jp {
		font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_01 .jp {
		font-size: 175%;
  }
}
.st_lg_01 .jp:before {
	display: block;
	content: '';
	position: absolute;
	right: 0.2em;
	top: -75px;
	width: 1px;
	height: 60px;
	background: #684988;
}
.st_lg_01 .en {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	-webkit-text-orientation: inherit;
	-moz-text-orientation: inherit;
	-ms-text-orientation: inherit;
	text-orientation: inherit;
	font-family: "Crimson Text", serif;
	font-size: 75%;
	letter-spacing: 0.38em;
	color: #232323;
}

.st_lg_01_white {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
	padding-top: 75px;
}
.st_lg_01_white .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	position: relative;
	font-family: "Hannari", serif;
	font-size: 225%;
	color: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_lg_01_white .jp {
		font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_01_white .jp {
		font-size: 175%;
  }
}
.st_lg_01_white .jp:before {
	display: block;
	content: '';
	position: absolute;
	right: 0.2em;
	top: -75px;
	width: 1px;
	height: 60px;
	background: #fff;
}
.st_lg_01_white .en {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	-webkit-text-orientation: inherit;
	-moz-text-orientation: inherit;
	-ms-text-orientation: inherit;
	text-orientation: inherit;
	font-family: "Crimson Text", serif;
	font-size: 75%;
	letter-spacing: 0.38em;
	color: #fff;
}

.st_lg_02 {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
	padding-top: 75px;
}
.st_lg_02 .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	position: relative;
	font-family: "Hannari", serif;
	font-size: 225%;
	color: #684988;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_lg_02 .jp {
		font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_02 .jp {
		font-size: 175%;
  }
}
.st_lg_02 .jp:before {
	display: block;
	content: '';
	position: absolute;
	right: 50%;
	top: -75px;
	width: 1px;
	height: 60px;
	background: #684988;
}

.st_lg_02_white {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
	padding-top: 75px;
}
.st_lg_02_white .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
	position: relative;
	font-family: "Hannari", serif;
	font-size: 225%;
	color: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_lg_02_white .jp {
		font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_02_white .jp {
		font-size: 175%;
  }
}
.st_lg_02_white .jp:before {
	display: block;
	content: '';
	position: absolute;
	right: 50%;
	top: -75px;
	width: 1px;
	height: 60px;
	background: #fff;
}

.st_lg_03 {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_lg_03 .jp {
	display: block;
	font-family: "Hannari", serif;
	font-size: 219%;
	letter-spacing: 0.1em;
	color: #684988;
	margin-bottom: 0.3em;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_lg_03 .jp {
		font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_03 .jp {
		font-size: 175%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_03 .jp {
		line-height: 0.9;
  }
}
.st_lg_03 .en {
	display: block;
	font-family: "EB Garamond", serif;
	font-size: 125%;
	letter-spacing: 0.2em;
	color: #232323;
}
@media only screen and (max-width: 767px) {
  .st_lg_03 .en {
		font-size: 113%;
  }
}

.st_lg_03_white {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_lg_03_white .jp {
	display: block;
	font-family: "Hannari", serif;
	font-size: 219%;
	letter-spacing: 0.1em;
	color: #fff;
	margin-bottom: 0.3em;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_lg_03_white .jp {
		font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_03_white .jp {
		font-size: 175%;
  }
}
@media only screen and (max-width: 767px) {
  .st_lg_03_white .jp {
		line-height: 0.9;
  }
}
.st_lg_03_white .en {
	display: block;
	font-family: "EB Garamond", serif;
	font-size: 125%;
	letter-spacing: 0.2em;
	color: #fff;
}
@media only screen and (max-width: 767px) {
  .st_lg_03_white .en {
		font-size: 113%;
  }
}

.st_md_01 {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_md_01 .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	font-family: "Hannari", serif;
	font-size: 188%;
	color: #684988;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_md_01 .jp {
		font-size: 175%;
  }
}
@media only screen and (max-width: 767px) {
  .st_md_01 .jp {
		font-size: 163%;
  }
}

.st_md_01_white {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_md_01_white .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	font-family: "Hannari", serif;
	font-size: 188%;
	color: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_md_01_white .jp {
		font-size: 175%;
  }
}
@media only screen and (max-width: 767px) {
  .st_md_01_white .jp {
		font-size: 163%;
  }
}

.st_md_02 {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_md_02 .jp {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	font-family: "Hannari", serif;
	font-size: 188%;
	color: #684988;
	padding-bottom: 15px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_md_02 .jp {
		font-size: 175%;
  }
}
@media only screen and (max-width: 767px) {
  .st_md_02 .jp {
		font-size: 163%;
  }
}
@media only screen and (max-width: 767px) {
  .st_md_02 .jp {
		padding-bottom: 0.5em;
  }
}
.st_md_02 .jp:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 1px;
	background: #684988;
}

.st_md_02_white {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_md_02_white .jp {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	font-family: "Hannari", serif;
	font-size: 188%;
	color: #fff;
	padding-bottom: 15px;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_md_02_white .jp {
		font-size: 175%;
  }
}
@media only screen and (max-width: 767px) {
  .st_md_02_white .jp {
		font-size: 163%;
  }
}
@media only screen and (max-width: 767px) {
  .st_md_02_white .jp {
		padding-bottom: 0.5em;
  }
}
.st_md_02_white .jp:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 1px;
	background: #fff;
}

.st_sm_01 {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_sm_01 .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	font-family: "Hannari", serif;
	font-size: 157%;
	color: #0c0c0c;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_sm_01 .jp {
		font-size: 150%;
  }
}
@media only screen and (max-width: 767px) {
  .st_sm_01 .jp {
		font-size: 138%;
  }
}

.st_sm_01_white {
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.st_sm_01_white .jp {
	display: inline-block;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	-moz-text-orientation: upright;
	-ms-text-orientation: upright;
	text-orientation: upright;
	text-align: left;
	white-space: nowrap;
	font-family: "Hannari", serif;
	font-size: 157%;
	color: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_sm_01_white .jp {
		font-size: 150%;
  }
}
@media only screen and (max-width: 767px) {
  .st_sm_01_white .jp {
		font-size: 138%;
  }
}

/* -----------------------------------------------------------
	ボタン button
----------------------------------------------------------- */
.btn_purple {
	text-align: center;
}
.btn_purple > * {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 420px;
	font-size: 113%;
	color: #fff !important;
	background: #654784;
	border: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	outline: 0;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding: 21.5px 40px;
}
@media only screen and (max-width: 767px) {
  .btn_purple > * {
		max-width: 100%;
		font-size: 100%;
		padding: 0.8em 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .btn_purple > *:hover .ic_arrow {
		right: 30px;
  }
}
@media print {
  .btn_purple > *:hover .ic_arrow {
		right: 30px;
  }
}
.ie8 .btn_purple > *:hover .ic_arrow {
	right: 30px;
}
.btn_purple > * .ic_arrow {
	display: block;
	position: absolute;
	right: 40px;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 50px;
	height: 10px;
	border-bottom: 1px solid #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .btn_purple > * .ic_arrow {
		right: 1em;
  }
}
.btn_purple > * .ic_arrow:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(22deg);
	-moz-transform: rotate(22deg);
	-ms-transform: rotate(22deg);
	-o-transform: rotate(22deg);
	transform: rotate(22deg);
	width: 27px;
	height: 1px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.btn_purple > * .ic_arrow:after {
	display: block;
	content: '';
	position: absolute;
	right: 25px;
	bottom: -1px;
	width: 1px;
	height: 11px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.btn_white {
	text-align: center;
}
.btn_white > * {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 420px;
	font-size: 113%;
	color: #0c0c0c !important;
	background: #fff;
	border: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	outline: 0;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding: 21.5px 40px;
}
@media only screen and (max-width: 767px) {
  .btn_white > * {
		max-width: 100%;
		font-size: 100%;
		padding: 0.8em 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .btn_white > *:hover .ic_arrow {
		right: 30px;
  }
}
@media print {
  .btn_white > *:hover .ic_arrow {
		right: 30px;
  }
}
.ie8 .btn_white > *:hover .ic_arrow {
	right: 30px;
}
.btn_white > * .ic_arrow {
	display: block;
	position: absolute;
	right: 40px;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 50px;
	height: 10px;
	border-bottom: 1px solid #0c0c0c;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .btn_white > * .ic_arrow {
		right: 1em;
  }
}
.btn_white > * .ic_arrow:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(22deg);
	-moz-transform: rotate(22deg);
	-ms-transform: rotate(22deg);
	-o-transform: rotate(22deg);
	transform: rotate(22deg);
	width: 27px;
	height: 1px;
	background: #0c0c0c;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.btn_white > * .ic_arrow:after {
	display: block;
	content: '';
	position: absolute;
	right: 25px;
	bottom: -1px;
	width: 1px;
	height: 11px;
	background: #0c0c0c;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.btn_ghost_dark {
	text-align: center;
}
.btn_ghost_dark > * {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 420px;
	font-size: 113%;
	color: #0c0c0c !important;
	background: transparent;
	border: 1px solid #0c0c0c;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	outline: 0;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding: 22px 40px;
}
@media only screen and (max-width: 767px) {
  .btn_ghost_dark > * {
		max-width: 100%;
		font-size: 100%;
		padding: 0.75em 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .btn_ghost_dark > *:hover .ic_arrow {
		right: 30px;
  }
}
@media print {
  .btn_ghost_dark > *:hover .ic_arrow {
		right: 30px;
  }
}
.ie8 .btn_ghost_dark > *:hover .ic_arrow {
	right: 30px;
}
.btn_ghost_dark > * .ic_arrow {
	display: block;
	position: absolute;
	right: 40px;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 50px;
	height: 10px;
	border-bottom: 1px solid #0c0c0c;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .btn_ghost_dark > * .ic_arrow {
		right: 1em;
  }
}
.btn_ghost_dark > * .ic_arrow:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(22deg);
	-moz-transform: rotate(22deg);
	-ms-transform: rotate(22deg);
	-o-transform: rotate(22deg);
	transform: rotate(22deg);
	width: 27px;
	height: 1px;
	background: #0c0c0c;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.btn_ghost_dark > * .ic_arrow:after {
	display: block;
	content: '';
	position: absolute;
	right: 25px;
	bottom: -1px;
	width: 1px;
	height: 11px;
	background: #0c0c0c;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.btn_ghost_white {
	text-align: center;
}
.btn_ghost_white > * {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 420px;
	font-size: 113%;
	color: #fff !important;
	background: transparent;
	border: 1px solid #fff;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	outline: 0;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding: 22px 40px;
}
@media only screen and (max-width: 767px) {
  .btn_ghost_white > * {
		max-width: 100%;
		font-size: 100%;
		padding: 0.75em 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .btn_ghost_white > *:hover .ic_arrow {
		right: 30px;
  }
}
@media print {
  .btn_ghost_white > *:hover .ic_arrow {
		right: 30px;
  }
}
.ie8 .btn_ghost_white > *:hover .ic_arrow {
	right: 30px;
}
.btn_ghost_white > * .ic_arrow {
	display: block;
	position: absolute;
	right: 40px;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 50px;
	height: 10px;
	border-bottom: 1px solid #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .btn_ghost_white > * .ic_arrow {
		right: 1em;
  }
}
.btn_ghost_white > * .ic_arrow:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(22deg);
	-moz-transform: rotate(22deg);
	-ms-transform: rotate(22deg);
	-o-transform: rotate(22deg);
	transform: rotate(22deg);
	width: 27px;
	height: 1px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.btn_ghost_white > * .ic_arrow:after {
	display: block;
	content: '';
	position: absolute;
	right: 25px;
	bottom: -1px;
	width: 1px;
	height: 11px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.btn_arrow_black {
	text-align: center;
}
.btn_arrow_black > * {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 280px;
	font-size: 100%;
	color: #000 !important;
	border-bottom: 1px dashed #000;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
	padding: 0 70px 10px 15px;
}
@media only screen and (max-width: 767px) {
  .btn_arrow_black > * {
		max-width: 100%;
		padding: 0 6em 0.5em 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .btn_arrow_black > *:hover .ic_arrow {
		right: 5px;
  }
}
@media print {
  .btn_arrow_black > *:hover .ic_arrow {
		right: 5px;
  }
}
.ie8 .btn_arrow_black > *:hover .ic_arrow {
	right: 5px;
}
.btn_arrow_black > * .ic_arrow {
	display: block;
	position: absolute;
	right: 15px;
	top: 0.3em;
	width: 50px;
	height: 10px;
	border-bottom: 1px solid #000;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .btn_arrow_black > * .ic_arrow {
		top: 0.5em;
  }
}
.btn_arrow_black > * .ic_arrow:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(22deg);
	-moz-transform: rotate(22deg);
	-ms-transform: rotate(22deg);
	-o-transform: rotate(22deg);
	transform: rotate(22deg);
	width: 27px;
	height: 1px;
	background: #000;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.btn_arrow_black > * .ic_arrow:after {
	display: block;
	content: '';
	position: absolute;
	right: 25px;
	bottom: -1px;
	width: 1px;
	height: 11px;
	background: #000;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.btn_arrow_white {
	text-align: center;
}
.btn_arrow_white > * {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 100%;
	max-width: 280px;
	font-size: 100%;
	color: #fff !important;
	border-bottom: 1px dashed #fff;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
	padding: 0 70px 10px 15px;
}
@media only screen and (max-width: 767px) {
  .btn_arrow_white > * {
		max-width: 100%;
		padding: 0 6em 0.5em 1em;
  }
}
@media only screen and (min-width: 1025px) {
  .btn_arrow_white > *:hover .ic_arrow {
		right: 5px;
  }
}
@media print {
  .btn_arrow_white > *:hover .ic_arrow {
		right: 5px;
  }
}
.ie8 .btn_arrow_white > *:hover .ic_arrow {
	right: 5px;
}
.btn_arrow_white > * .ic_arrow {
	display: block;
	position: absolute;
	right: 15px;
	top: 0.3em;
	width: 50px;
	height: 10px;
	border-bottom: 1px solid #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
@media only screen and (max-width: 767px) {
  .btn_arrow_white > * .ic_arrow {
		top: 0.5em;
  }
}
.btn_arrow_white > * .ic_arrow:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	-webkit-transform-origin: right top;
	-moz-transform-origin: right top;
	-ms-transform-origin: right top;
	-o-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(22deg);
	-moz-transform: rotate(22deg);
	-ms-transform: rotate(22deg);
	-o-transform: rotate(22deg);
	transform: rotate(22deg);
	width: 27px;
	height: 1px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.btn_arrow_white > * .ic_arrow:after {
	display: block;
	content: '';
	position: absolute;
	right: 25px;
	bottom: -1px;
	width: 1px;
	height: 11px;
	background: #fff;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

/* -----------------------------------------------------------
	slide_style
----------------------------------------------------------- */
.slide_style {
	position: relative;
}
.slide_style .slick-slide .img_thumb {
	width: 100%;
}
.slide_style .slick-arrow {
	display: block;
	position: absolute;
	top: 50%;
	bottom: auto;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: 34px;
	height: 53px;
	border: 0 none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	outline: 0;
	text-indent: -9999px;
	cursor: pointer;
	z-index: 10;
}
@media only screen and (max-width: 767px) {
  .slide_style .slick-arrow {
		width: 20px;
		height: 31.17647px;
  }
}
.slide_style .slick-arrow:active {
	opacity: 0.8;
}
.slide_style .slick-prev {
	left: 0;
	right: auto;
	background: transparent url(../images/common/ic_arrow_left.png) no-repeat center center;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}
.slide_style .slick-next {
	right: 0;
	left: auto;
	background: transparent url(../images/common/ic_arrow_right.png) no-repeat center center;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}
.slide_style .slick-dots {
	position: absolute;
	left: 30px;
	top: 50%;
	right: auto;
	bottom: auto;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
	width: auto;
	text-align: center;
	line-height: 0;
	z-index: 10;
}
.slide_style .slick-dots li {
	display: block;
	line-height: 0;
	padding: 0;
	margin: 0 0 15px;
}
.slide_style .slick-dots li button {
	display: inline-block;
	vertical-align: middle;
	width: 9px;
	height: 4px;
	text-indent: -9999px;
	color: transparent;
	background: #fff;
	border: transparent;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	outline: 0;
	cursor: pointer;
	padding: 0;
	margin: 0;
}
.slide_style .slick-dots li.slick-active button {
	background: #684988;
}
.slide_style .slider_progress {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: #fff;
	overflow: hidden;
	z-index: 10;
}
.slide_style .slider_progress .progress {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 100%;
	background: #664886;
}

/* -----------------------------------------------------------
	共通バナー追加
----------------------------------------------------------- */
.box_bn_info {
	display: flex;
	justify-content: center;
	margin: 80px auto 0;
}
@media only screen and (max-width: 767px) {
  .box_bn_info {
		flex-direction: column;
		margin: 30px auto 0;
		text-align: center;
  }
}
.box_bn_info a {
	margin: auto 20px;
}
@media only screen and (max-width: 767px) {
  .box_bn_info a {
		width: 94%;
		margin: 20px auto 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_bn_info a {
		width: 96%;
  }
}
.box_bn_info a img:hover {
	opacity: 0.8;
	transition: all 300ms 0s ease;
}

.box_bn_app {
	display: flex;
	justify-content: center;
	margin: 30px auto 80px;
}
@media only screen and (max-width: 767px) {
  .box_bn_app {
		flex-direction: column;
		margin: 0 auto 30px;
		text-align: center;
  }
}
.box_bn_app a {
	margin: auto 20px;
}
@media only screen and (max-width: 767px) {
  .box_bn_app a {
		width: 94%;
		margin: 20px auto 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_bn_app a {
		width: 70%;
  }
}
.box_bn_app a img:hover {
	opacity: 0.8;
	transition: all 300ms 0s ease;
}
@media only screen and (max-width: 767px) {
  .box_bn_app {
		margin-bottom: 10px;
  }
}

.box_btn_app {
	width: 85%;
	margin: 0 auto 40px;
}
.box_btn_app p {
	text-align: center;
	margin-bottom: 5px;
}
.box_btn_app ul {
	text-align: center;
}
.box_btn_app ul li {
	display: inline-block;
	width: 45%;
}
.box_btn_app ul li img {
	width: 100%;
}

/*------------------------------------*/
/*追従メニュー*/
/*------------------------------------*/

.fixbtns .box_btn{
	position: fixed;
	right: 15px;
	bottom: 40px;
}

@media only screen and (max-width: 640px) {
	.fixbtns .box_btn{
		bottom: 10px;
		right: 10px;
	}
}

.fixbtns .box_btn .btn_rsv{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.fixbtns .box_btn .btn_rsv a:before{
	content:"";
	z-index: -1;
	width: 100%;
	height: 100%;
	position: absolute;
	right: -3px;
  top: 5px;
	background: #000;
	border-radius: 50%;
}

@media only screen and (max-width: 640px) {
	.fixbtns .box_btn .btn_rsv a:before{
		top: 3px;
	}
}

.fixbtns .box_btn .btn_rsv .ic_arrow {
	display: block;
  position: absolute;
  right: 40px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 50px;
  height: 10px;
  border-bottom: 1px solid #fff;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
/*.ic_arrow:before {
	content: "\f462";
	font-family: "Font Awesome";
}*/


.fixbtns .box_btn .btn_rsv .ic_arrow:before {
  display: block;
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  -webkit-transform-origin: right top;
  -moz-transform-origin: right top;
  -ms-transform-origin: right top;
  -o-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: rotate(22deg);
  -moz-transform: rotate(22deg);
  -ms-transform: rotate(22deg);
  -o-transform: rotate(22deg);
  transform: rotate(22deg);
  width: 27px;
  height: 1px;
  background: #fff;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.fixbtns .box_btn .btn_rsv .ic_arrow:after {
  display: block;
  content: '';
  position: absolute;
  right: 25px;
  bottom: -1px;
  width: 1px;
  height: 11px;
  background: #fff;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.fixbtns .box_btn .btn_rsv .ic_arrow {
	position: absolute;
	top: auto;
	bottom: 25px;
  left: 50%;
  transform: translate(-50%, 0%);
}

@media only screen and (max-width: 640px) {
	.fixbtns .box_btn .btn_rsv .ic_arrow:before{
		width: 14px !important;
	}

	.fixbtns .box_btn .btn_rsv .ic_arrow{
		width: 30px !important;
		bottom: 17px !important;
	}

	.fixbtns .box_btn .btn_rsv .ic_arrow:after{
		right: 13px !important;
		height: 7px !important;

	}
}


.fixbtns .box_btn .btn_rsv a{
	  /*波紋の基点とするためrelativeを指定*/
	position: relative;
    /*リンクの形状*/
	display:inline-block;
    text-decoration: none;
    color: #333;
    outline: none;
  color:#fff;
  line-height: 1.4;

  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: #ad9f20;
	font-size: 130%;
	text-decoration: none;
	display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  letter-spacing: 0.1em;
  transition: .4s;
}

@media only screen and (min-width: 641px) and (max-width: 1022px) {
	.fixbtns .box_btn .btn_rsv a{
		font-size: 110%;
		width: 140px;
		height: 140px;
	}
}

@media only screen and (max-width: 640px) {
	.fixbtns .box_btn .btn_rsv a{
		font-size: 110%;
		width: 100px;
		height: 100px;
	}
}

.fixbtns .box_btn .btn_rsv a:hover{
	color: #fff;
	transition: .2s;
	background: #c4ba60;
}

/*波形の設定*/
.fixbtns .box_btn .btn_rsv a:hover::after {
  content: '';
  /*絶対配置で波形の位置を決める*/
  position: absolute;
  transform: translate(-50%, 0%);
  left:5%;
  top:0;
  /*波形の形状*/
  border: 1px solid #000;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  /*はじめは不透明*/
	opacity:1;
  /*アニメーションの設定*/
  animation:1s circleanime2 forwards;
}

@media only screen and (min-width: 641px) and (max-width: 1022px) {
	.fixbtns .box_btn .btn_rsv a:hover::after {
		width: 120px;
		height: 120px;
	}
}

@media only screen and (max-width: 640px) {
	.fixbtns .box_btn .btn_rsv a:hover::after {
		width: 90px;
		height: 90px;
	}
}


/*波形が広がるアニメーション*/
@keyframes circleanime2{
	0%{
	  transform: scale(0);
	}
	100%{
		transform:scale(2);
		opacity: 0;
	}
}


/*--------------------------------------*/
/* モーダルと背景の指定 ＆ イントロ新着情報*/
/*--------------------------------------*/

.zishin_modal{
	position: fixed;
  top: 0;
  left: 0;
  background: rgba(0,0,0,70%);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
	width: 100%;
  height: 100%;
}

.zishin_modal, .con_zishin_news{
  text-align: center;
  transition: .3s;
  box-sizing: border-box;
}

.zishin_modal{
	padding: 50px 20px;
}

.con_zishin_news{
	padding: 0;
}

.mordal_btn{
	position: relative;
	margin: 0 auto;
	max-width: 700px;
	width: 95%;
	display: flex;
	justify-content: center;
	text-align: center;
	padding: .5em 1em;
	border: 2px solid #8e6db1;
	cursor:pointer;
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .1em;
	background: #F9F8FC;
	transition: .3s;
}

.mordal_btn:hover{
	transition: .3s;
	opacity: .7;
}

.mordal_btn i{
	position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 140%;
  color: #8e6db1;
}

/* モーダルの擬似要素の指定 */
.zishin_modal:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  margin-left: -0.2em;
}

/* クラスが追加された時の指定 */
.zishin_modal.is-active{
  opacity: 1;
  visibility: visible;
}

/* モーダル内側の指定 */
.zishin_modal .modal-container ,
.con_zishin_news .modal-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 700px;
  width: 90%;
}

.con_zishin_news .modal-container{
	background: #F9F8FC;
}

/* モーダルを閉じるボタンの指定 */
.zishin_modal .modal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  color: #fff;
  background: #000;
  border-radius: 50%;
  cursor: pointer;
}

/* モーダルのコンテンツ部分の指定 */
.zishin_modal .modal-content,
.con_zishin_news .modal-content{
  background: #fff;
  text-align: left;
  line-height: 1.8;
  padding: 30px 30px;
}

.con_zishin_news .modal-content{
	border: 2px solid #8e6db1;
	background: #F9F8FC;
}

.zishin_modal .modal-content .st,
.con_zishin_news .modal-content .st{
	font-weight: bold;
	font-size: 130%;
	text-align: center;
	line-height: 1.5;
	letter-spacing: .1em;
	margin-bottom: 20px;
}

.zishin_modal .modal-content .txt,
.con_zishin_news .modal-content .txt{
	font-size: 100%;
	text-align: center;
}

.zishin_modal .modal-content .btn,
.con_zishin_news .modal-content .btn{
	max-width: 260px;
	margin: 20px auto 0;
}

.zishin_modal .modal-content .btn a,
.con_zishin_news .modal-content .btn a{
	text-decoration: none;
	transition: .3s;
	width: 100%;
	display: inline-block;
	color: #fff;
	background: #494949;
	text-align: center;
	padding: 1em .5em;
}

.zishin_modal .modal-content .btn a:hover,
.con_zishin_news .modal-content .btn a:hover{
	transition: .3s;
	opacity: .7;
	color: #fff;
}

.zishin_modal .modal-content .btn a i,
.con_zishin_news .modal-content .btn a i{
	padding-left: 10px;
	color: #fff;
}

@media only screen and (max-width: 640px) {
	.zishin_modal .modal-content,
	.con_zishin_news .modal-content{
		padding: 20px;
	}
	.zishin_modal .modal-content .st,
	.con_zishin_news .modal-content .st{
		font-size: 120%;
	}
	.zishin_modal .modal-content .txt,
	.con_zishin_news .modal-content .txt{
		font-size: 90%;
		text-align: left;
	}
}
