@charset "UTF-8";
/* ===================================================================
CSS information

 file name  : common.css
 author     : Ability Consultant
 style info : 基本・共通設定
=================================================================== */
header, .topicpath, .box_ptop, footer, .con_sp_menu .box_sp_menu, .tmp_msg {
	max-width: 1450px;
	margin: auto;
}

@media only screen and (max-width: 1450px) {
	header, .topicpath, .box_ptop, footer, .con_sp_menu .box_sp_menu, .tmp_msg {
		width: 92%;
	}
}

.tmp_items:after, .tmp_req_items:after {
	content: "";
	display: table;
	clear: both;
}

/* -----------------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------------- */
html {
	font-size: small;
	line-height: 1.5;
}

body {
	color: #000000;
	background: #fff;
	-webkit-text-size-adjust: none;
	font-size: 131%;
}

.ie body {
	font-size: 127%;
}

@media only screen and (max-width: 767px) {
	body {
		font-size: 108%;
	}
}

body a {
	color: #1a1a1a;
}

body a:link, body a:visited, body a:active {
	text-decoration: underline;
}

.mouse body a:hover,
.touch body a.touchstart {
	text-decoration: none;
	color: #333333;
}

body img {
	max-width: 100%;
	-webkit-touch-callout: none;
}

body, pre, input, textarea, select {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-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: 1450px !important;
	margin: auto;
	font-size: 100% !important;
}

@media only screen and (min-width: 1451px) {
	body .view_tab-sp, body .view_tab {
		display: none !important;
	}
}

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

@media only screen and (max-width: 1450px) {
	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: rgba(0, 0, 0, 0);
}

.touch .over.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* -----------------------------------------------------------
	#page
----------------------------------------------------------- */
#page {
	width: 100%;
	overflow: hidden;
}

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

/* -----------------------------------------------------------
	header
----------------------------------------------------------- */
header {
	position: relative;
}

header .box_h1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

header .box_h1:before {
	content: "";
	background-color: #d72d29;
	display: block;
	position: absolute;
	left: -1000px;
	right: -1000px;
	top: 0;
	bottom: 0;
	z-index: -1;
}

header .box_h1 h1 {
	font-weight: normal;
	color: #fff;
	padding: .6em 0;
}

@media only screen and (min-width: 768px) {
	header .box_h1 h1 {
		font-size: 71%;
	}
}

@media only screen and (max-width: 767px) {
	header .box_h1 h1 {
		font-size: 71%;
	}
}

header .box_h1 div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .box_h1 div .box_h1_sns {
	display: flex;
}

header .box_h1 div .box_h1_sns li {
	height: 30px;
	width: 30px;
	background-color: #d72d29;
	overflow: hidden;
	margin-left: 4px;
}

header .box_h1 div .box_h1_sns li a {
	overflow: hidden;
	display: block;
	width: 30px;
	height: 0;
	padding-top: 30px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 24px 24px;
}

header .box_h1 div .box_h1_sns li a.ic_tw {
	background-image: url(../images/header/ic_tw.png);
}

header .box_h1 div .box_h1_sns li a.ic_fb {
	background-image: url(../images/header/ic_fb.png);
}

header .box_h1 div .box_h1_sns li a.ic_insta {
	background-image: url(../images/header/ic_insta.png);
}

header .box_h1 div .txt_login {
	color: #fff;
}

@media only screen and (min-width: 768px) {
	header .box_h1 div .txt_login {
		margin-right: 0.5em;
	}
}

.box_gnav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0 15px;
}

@media only screen and (max-width: 767px) {
	.box_gnav {
		padding: 0.75em 0;
	}
}

.box_gnav_logo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media only screen and (max-width: 767px) {
	.box_gnav_logo {
		width: 20%;
	}
}

.box_gnav_logo .logo {
	width: 100px;
}

@media only screen and (max-width: 767px) {
	.box_gnav_logo .logo {
		width: 100%;
	}
}

.box_gnav_logo .logo a {
	display: block;
	cursor: pointer;
}

header form {
	display: flex;
	align-items: center;
	margin-left: 10px;
}

@media only screen and (max-width: 767px) {
	header form {
		margin-left: 0;
	}
}

@media only screen and (min-width: 1920px) {
	header form {
		margin-left: 30px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	header form {
		display: block;
	}
}

@media only screen and (max-width: 767px) {
	header form {
		justify-content: space-between;
		padding: 4% 0;
		border-top: 2px solid #d72d29;
		border-bottom: 1px solid #cccccc;
		width: 100%;
	}
}

header form .box_form {
	border: 1px solid #505050;
	border-radius: 0.5em;
	position: relative;
	overflow: hidden;
	width: 300px;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	header form .box_form {
		width: 300px;
	}
}

@media only screen and (max-width: 767px) {
	header form .box_form {
		width: 100%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) and (max-width: 900px) {
	header form .box_form {
		max-width: 260px;
	}
}

@media only screen and (min-width: 1920px) {
	header form .box_form {
		width: 480px;
	}
}

@media only screen and (min-width: 1451px) and (max-width: 1919px) {
	header form .box_form {
		width: 480px;
	}
}

@media only screen and (max-width: 767px) {
	header form .box_form {
		width: 75%;
	}
}

header form .box_form input[type=text] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	padding: 0.5em calc(50px + .5em) 0.5em 0.5em;
}

@media only screen and (min-width: 1451px) {
	header form .box_form input[type=text] {
		font-size: 106%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	header form .box_form input[type=text] {
		font-size: 89%;
	}
}

@media only screen and (max-width: 767px) {
	header form .box_form input[type=text] {
		font-size: 77%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) {
	header form .box_form input[type=text] {
		font-size: 77%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	header form .box_form input[type=text] {
		padding-top: 0.25em;
		padding-bottom: 0.25em;
		margin-bottom: 0.25em;
	}
}

@media only screen and (min-width: 1920px) {
	header form .box_form input[type=text] {
		padding: 0.5em calc(100px + .5em) 0.5em 1.5em;
	}
}

header form .box_form .btn_search {
	background-color: #505050;
	position: relative;
	text-align: center;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	width: 50px;
}

@media only screen and (min-width: 1920px) {
	header form .box_form .btn_search {
		width: 100px;
	}
}

header form .box_form .btn_search:before {
	content: "";
	background: url(../images/header/ic_search.png) no-repeat center center;
	display: inline-block;
	width: 29px;
	height: 29px;
	vertical-align: middle;
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) {
	header form .box_form .btn_search:before {
		background-size: cover;
		width: 20.3px;
		height: 20.3px;
	}
}

@media only screen and (max-width: 767px) {
	header form .box_form .btn_search:before {
		background-size: cover;
		width: 17.4px;
		height: 17.4px;
	}
}

header form .box_form .btn_search input[type=button] {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

@media only screen and (min-width: 768px) {
	header form .btn_koda {
		padding-left: 0.5em;
	}
}

@media only screen and (min-width: 1920px) {
	header form .btn_koda {
		padding-left: 1em;
	}
}

@media only screen and (max-width: 767px) {
	header form .btn_koda {
		width: 25%;
		text-align: right;
	}
}

header form .btn_koda a {
	position: relative;
}

@media only screen and (min-width: 768px) {
	header form .btn_koda a {
		font-size: 83%;
	}
}

@media only screen and (max-width: 767px) {
	header form .btn_koda a {
		font-size: 71%;
	}
}

header form .btn_koda a:after {
	content: "";
	width: .3em;
	height: .3em;
	margin-left: .5em;
	display: inline-block;
	vertical-align: middle;
	border-left: 2px solid #505050;
	border-top: 2px solid #505050;
	transform: rotate(135deg);
}

@media only screen and (max-width: 543.5px) {
	header form .btn_koda a:after {
		border-left-width: 1px;
		border-top-width: 1px;
	}
}

header form .btn_koda a span {
	display: inline-block;
	vertical-align: middle;
}

.gnav {
	position: relative;
}

.gnav .gnav_det {
	display: flex;
}

.gnav .gnav_det li {
	/*-----------------------------------
			&.gnav_info
			-----------------------------------*/
}

.mouse .gnav .gnav_det li:hover,
.touch .gnav .gnav_det li.touchstart {
	opacity: 0.7;
}

.touch .gnav .gnav_det li {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.touch .gnav .gnav_det li.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li {
		border-radius: 0.25em;
		margin-left: 0.25em;
	}
}

.gnav .gnav_det li > a {
	padding: 10px 12px 0;
	font-size: 89%;
	text-decoration: none;
	font-weight: bold;
	display: block;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.gnav .gnav_det li > a {
		padding: 0 5px;
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li > a {
		padding: 0.75em 0.5em 0.4em 0.5em;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) {
	.gnav .gnav_det li > a {
		font-size: 71%;
		padding-right: 10px;
		padding-left: 10px;
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li > a {
		font-size: 59%;
	}
}

.gnav .gnav_det li > a .view_tabs {
	display: none;
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) {
	.gnav .gnav_det li > a {
		text-align: center;
		line-height: 1.2;
	}
	.gnav .gnav_det li > a .view_tabs {
		display: block;
	}
}

.gnav .gnav_det li > a > span:before {
	content: "";
	margin-bottom: 0.25em;
	display: block;
	width: 30px;
	height: 30px;
	margin-right: auto;
	margin-left: auto;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) {
	.gnav .gnav_det li > a > span:before {
		display: block;
		margin-bottom: 0.25em;
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li > a > span:before {
		width: 1.5em;
		height: 2.3em;
	}
}

.gnav .gnav_det li.gnav_share {
	position: relative;
}

.gnav .gnav_det li.gnav_share .arrow {
	display: block;
	height: 2em;
	width: 4em;
	overflow: hidden;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	opacity: 0;
}

.gnav .gnav_det li.gnav_share .arrow:after {
	content: "";
	display: block;
	height: 4em;
	width: 4em;
	background-color: #fff;
	position: absolute;
	left: 50%;
	top: 10px;
	transform: rotate(45deg);
	transform-origin: 0 0;
	box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.1);
}

.gnav .gnav_det li.gnav_share a {
	color: #d72d29 !important;
}

.gnav .gnav_det li.gnav_share a span:before {
	background-image: url(../images/header/ic_share.png);
}

.gnav .gnav_det li.gnav_1st a {
	color: #d72d29 !important;
}

.gnav .gnav_det li.gnav_1st a span:before {
	background-image: url(../images/header/ic_1st.png);
}

.gnav .gnav_det li.gnav_in a {
	color: #f8b500 !important;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_in a {
		color: #fff !important;
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_in a {
		background-color: #f8b500;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) {
	.gnav .gnav_det li.gnav_in a span {
		line-height: 2.4em;
	}
}

@media only screen and (min-width: 768px) {
	.gnav .gnav_det li.gnav_in a span:before {
		background-image: url(../images/header/ic_in.png);
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_in a span:before {
		background-image: url(../images/header/ic_sp_in.png);
	}
}

.gnav .gnav_det li.gnav_info {
	position: relative;
	z-index: 999;
	/*----------------------
					&.box_message
					--------------------*/
}

.gnav .gnav_det li.gnav_info:hover {
	opacity: 1 !important;
}

.gnav .gnav_det li.gnav_info > a {
	color: #f8b500 !important;
}

.gnav .gnav_det li.gnav_info > a em.number {
	position: absolute;
	top: 1px;
	right: 20px;
	height: 2.2em;
	line-height: 2.2em;
	width: 2.2em;
	background: #d72b27;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	color: #fff !important;
	text-align: center;
	font-size: 71%;
}

@media only screen and (max-width: 1460px) {
	.gnav .gnav_det li.gnav_info > a em.number {
		right: 10px;
		top: -5px;
	}
}

@media only screen and (max-width: 1100px) {
	.gnav .gnav_det li.gnav_info > a em.number {
		top: 0.3em;
		right: 0.3em;
		font-size: 83%;
	}
}

@media only screen and (min-width: 768px) {
	.gnav .gnav_det li.gnav_info > a span:before {
		background-image: url(../images/header/ic_info.png);
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info > a span:before {
		background-image: url(../images/header/ic_sp_info.png);
	}
}

.gnav .gnav_det li.gnav_info .box_message {
	display: none;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
	border: solid 1px #ccc;
	position: absolute;
	background: #fff;
	top: 120%;
	right: 0;
	width: 430px;
	z-index: 9999;
	font-size: 95%;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message {
		top: auto;
		width: 350px;
		margin-top: 0.5em;
		right: -8.2em;
	}
}

@media only screen and (max-width: 767px) and (max-width: 370px) {
	.gnav .gnav_det li.gnav_info .box_message {
		width: 300px;
	}
}

.gnav .gnav_det li.gnav_info .box_message:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 8px 13px 8px;
	border-color: transparent transparent #ccc transparent;
	position: absolute;
	top: -13px;
	right: 1.8em;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message:before {
		right: 9em;
	}
}

.gnav .gnav_det li.gnav_info .box_message .inner {
	max-height: 500px;
	overflow-y: auto;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .inner {
		max-height: 400px;
	}
}

.gnav .gnav_det li.gnav_info .box_message .st_message {
	text-align: center;
	border-bottom: solid 1px #ccc;
	padding: 0.3em;
	background: #f0f0f0;
}

.gnav .gnav_det li.gnav_info .box_message .message {
	display: flex;
	align-items: center;
	/* 子要素をflexboxにより中央に配置する */
	padding: 0.8em;
	background: #fbfbfb;
	border-bottom: solid 1px #ccc;
	text-decoration: none;
}

.gnav .gnav_det li.gnav_info .box_message .message:first-child {
	margin-top: 0;
}

.gnav .gnav_det li.gnav_info .box_message .message:hover {
	background: #f0f0f0;
}

.gnav .gnav_det li.gnav_info .box_message .message.item .box_img span {
	border-radius: 0 !important;
}

.gnav .gnav_det li.gnav_info .box_message .message.warning .box_text .data .name {
	color: #d72b27;
}

.gnav .gnav_det li.gnav_info .box_message .message .box_img {
	width: 60px;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_img {
		width: 36px;
	}
}

.gnav .gnav_det li.gnav_info .box_message .message .box_img span {
	display: inline-block;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_img span {
		width: 48px;
		height: 48px;
	}
}

.gnav .gnav_det li.gnav_info .box_message .message .box_img span img {
	position: absolute;
	max-width: none;
}

.gnav .gnav_det li.gnav_info .box_message .message .box_img.yoko span img {
	top: 0;
	left: 50%;
	max-height: 100%;
	transform: translateX(-50%);
}

.gnav .gnav_det li.gnav_info .box_message .message .box_img.tate span img {
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
}

.gnav .gnav_det li.gnav_info .box_message .message .box_text {
	padding-left: 20px;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_text {
		padding-left: 1.5em;
	}
}

.gnav .gnav_det li.gnav_info .box_message .message .box_text .data {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_text .data {
		margin-bottom: 5px;
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_text .data {
		margin-bottom: 0.5em;
	}
}

.gnav .gnav_det li.gnav_info .box_message .message .box_text .data .name {
	font-weight: bold;
	letter-spacing: 0.05em;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_text .data .name {
		font-size: 83%;
	}
}

.gnav .gnav_det li.gnav_info .box_message .message .box_text .detail {
	box-sizing: border-box;
}

.gnav .gnav_det li.gnav_info .box_message .message .box_text .detail .article {
	font-size: 95%;
	line-height: 1.3125;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_text .detail .article {
		font-size: 74%;
	}
}

.gnav .gnav_det li.gnav_info .box_message .message .box_text .time {
	color: #5f5f5f;
	padding-top: 0.5em;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_info .box_message .message .box_text .time {
		font-size: 83%;
	}
}

.gnav .gnav_det li.gnav_info .box_message .message .box_text .time i {
	font-size: 83%;
}

.gnav .gnav_det li.gnav_info .box_message .message.user {
	flex-direction: row-reverse;
}

.gnav .gnav_det li.gnav_info .box_message .message.user .box_text {
	padding-left: 0;
	padding-right: 1.81818%;
}

.gnav .gnav_det li.gnav_info .box_message .message.user .box_text .data {
	justify-content: flex-end;
}

.gnav .gnav_det li.gnav_info .box_message .message.user .box_text .detail {
	background: #fff;
}

.gnav .gnav_det li.gnav_mypage a {
	color: #d72d29 !important;
}

@media only screen and (min-width: 768px) {
	.gnav .gnav_det li.gnav_mypage a span:before {
		background-image: url(../images/header/ic_mypage.png);
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_mypage a span:before {
		background-image: url(../images/header/ic_sp_mypage.png);
	}
}

.gnav .gnav_det li.gnav_req a {
	color: #d72d29 !important;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_req a {
		background-color: #2c2e0d;
	}
}

.gnav .gnav_det li.gnav_req a span:before {
	background-image: url(../images/header/ic_req.png);
}

.gnav .gnav_det li.gnav_regi a {
	color: #000000 !important;
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_regi a {
		color: #fff !important;
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_regi a {
		background-color: #2c2e0d;
	}
}

@media only screen and (min-width: 768px) {
	.gnav .gnav_det li.gnav_regi a span:before {
		background-image: url(../images/header/ic_regi.png);
	}
}

@media only screen and (max-width: 767px) {
	.gnav .gnav_det li.gnav_regi a span:before {
		background-image: url(../images/header/ic_sp_regi.png);
	}
}

.gnav.share_active .gnav_det {
	display: flex;
}

.gnav.share_active .gnav_det li.gnav_share .arrow {
	opacity: 1;
}

.gnav.share_active .con_gnav_share {
	z-index: 1;
	opacity: 1;
}

.con_gnav_share {
	transition: opacity .2s;
	top: calc(100% + 2em);
	position: absolute;
	right: 0;
	z-index: -10;
	opacity: 0;
}

@media only screen and (min-width: 1451px) {
	.con_gnav_share {
		width: 800px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.con_gnav_share {
		width: 600px;
	}
}

.con_gnav_share .box_gnav_share {
	padding: 45px 90px;
	box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.1);
	background: #fff;
	width: 100%;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.con_gnav_share .box_gnav_share {
		padding: 45px;
	}
}

@media only screen and (max-width: 767px) {
	.con_gnav_share .box_gnav_share {
		padding: 45px 90px;
	}
}

@media only screen and (min-width: 1451px) {
	.con_gnav_share .box_gnav_share {
		max-width: 800px;
	}
}

.con_gnav_share .box_gnav_share p {
	background-color: #f2f2f2;
	padding: .5em .5em;
	border-radius: .25em;
}

.con_gnav_share .box_gnav_share ul {
	margin-top: 20px;
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	.con_gnav_share .box_gnav_share ul {
		margin-top: 8%;
	}
}

.con_gnav_share .box_gnav_share ul li {
	width: 50%;
	padding: .75em 0;
	float: left;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.con_gnav_share .box_gnav_share ul li {
		width: 50%;
	}
}

@media only screen and (max-width: 767px) {
	.con_gnav_share .box_gnav_share ul li {
		width: 50%;
	}
}

.con_gnav_share .box_gnav_share ul li a {
	text-decoration: none !important;
	padding-left: .5em;
	display: block;
	font-weight: bold;
	transition: color 0.2s;
}

.mouse .con_gnav_share .box_gnav_share ul li a:hover,
.touch .con_gnav_share .box_gnav_share ul li a.touchstart {
	text-decoration: underline !important;
}

.touch .con_gnav_share .box_gnav_share ul li a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.touch .con_gnav_share .box_gnav_share ul li a.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

.con_gnav_share .box_gnav_share ul li a:before {
	content: "";
	width: .3em;
	height: .3em;
	margin-right: 1em;
	display: inline-block;
	vertical-align: top;
	border-left: 2px solid #505050;
	border-top: 2px solid #505050;
	transform: rotate(135deg);
	transition: border-color 0.2s;
	margin-top: 0.5em;
}

.con_gnav_share .box_gnav_share ul li a span {
	display: inline-block;
	width: calc(100% - 2em);
	vertical-align: top;
}

.con_gnav_share .box_gnav_share ul li a:hover {
	color: #d72b27;
}

.con_gnav_share .box_gnav_share ul li a:hover:before {
	border-left-color: #d72b27;
	border-top-color: #d72b27;
}

.title_page {
	text-align: center;
	font-weight: normal;
	margin: 40px 0;
}

@media only screen and (min-width: 1451px) {
	.title_page {
		font-size: 212%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.title_page {
		font-size: 189%;
	}
}

@media only screen and (max-width: 767px) {
	.title_page {
		font-size: 165%;
	}
}

@media only screen and (max-width: 767px) {
	.title_page {
		margin: 8% 0;
	}
}

.topicpath {
	padding: 0.5em 0 0.5em 0;
}

.topicpath li {
	display: inline-block;
}

@media only screen and (max-width: 767px) {
	.topicpath li {
		font-size: 71%;
	}
}

.topicpath li:not(:last-child):after {
	content: ">";
	display: inline-block;
	padding: 0 0.1em 0 0.5em;
}

/* -----------------------------------------------------------
	main
----------------------------------------------------------- */
main {
	position: relative;
}

@media only screen and (min-width: 768px) {
	main:before {
		content: "";
		z-index: -1;
		box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
		background-color: #d72d29;
		display: block;
		position: absolute;
		left: -1000px;
		right: -1000px;
		height: 1px;
		top: 0;
	}
}

/* -----------------------------------------------------------
	footer
----------------------------------------------------------- */
.box_ptop {
	margin-top: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.box_ptop {
		margin-top: 50px;
	}
}

@media only screen and (max-width: 767px) {
	.box_ptop {
		margin-top: 20%;
	}
}

.btn_ptop {
	width: 50px;
	padding-bottom: 50px;
	border: 1px solid #505050;
	margin-right: 0;
	margin-left: auto;
	position: relative;
	z-index: 2;
	background-color: #fff;
}

@media only screen and (max-width: 767px) {
	.btn_ptop {
		width: 14.28571%;
	}
}

@media only screen and (max-width: 767px) {
	.btn_ptop {
		padding-bottom: 14.28571%;
	}
}

@media only screen and (min-width: 1451px) {
	.btn_ptop {
		position: fixed;
		right: 1em;
		bottom: 1em;
	}
}

.btn_ptop a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
}

.btn_ptop:before {
	border-width: 2px 0 0 2px;
	transform: translate(-50%, 0) rotate(45deg);
	content: "";
	display: block;
	width: 15%;
	height: 15%;
	border-style: solid;
	border-color: #505050;
	position: absolute;
	left: 50%;
	top: 45%;
}

@media only screen and (max-width: 767px) {
	.btn_ptop:before {
		border-width: 2px 0 0 2px;
	}
}

footer {
	margin-top: 100px;
	position: relative;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	footer {
		margin-top: 0;
	}
}

@media only screen and (max-width: 767px) {
	footer {
		margin-top: 0;
	}
}

footer:before {
	content: "";
	display: block;
	position: absolute;
	height: 1px;
	left: -1000px;
	right: -1000px;
	top: 0;
	background-color: #cccccc;
}

.f_logo {
	text-align: center;
}

.f_logo img {
	margin-top: 40px;
	margin-bottom: 10px;
	width: 120px;
	max-width: 120px;
}

@media only screen and (max-width: 767px) {
	.f_logo img {
		margin-top: 10%;
	}
}

@media only screen and (max-width: 767px) {
	.f_logo img {
		margin-bottom: 6%;
	}
}

@media only screen and (max-width: 767px) {
	.f_logo img {
		width: 30%;
	}
}

.st_fnav {
	text-align: center;
}

.fnav {
	margin-top: 30px;
}

@media only screen and (max-width: 767px) {
	.fnav {
		margin-top: 0;
	}
}

.fnav ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.fnav ul {
		max-width: 900px;
		margin-right: auto;
		margin-left: auto;
		justify-content: flex-start;
	}
}

@media only screen and (min-width: 768px) {
	.fnav ul li:not(:first-child) {
		border-left: 1px solid #676767;
	}
}

@media only screen and (min-width: 1109.5px) and (max-width: 1450px) {
	.fnav ul li {
		width: 25%;
		text-align: center;
		border-left: 1px solid #676767;
		margin-bottom: 20px;
	}
	.fnav ul li:nth-child(4n+4) {
		border-right: 1px solid #676767;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1108.5px) {
	.fnav ul li {
		width: 33.3%;
		text-align: center;
		border-left: 1px solid #676767;
		margin-bottom: 20px;
	}
	.fnav ul li:nth-child(3n+3), .fnav ul li:last-child {
		border-right: 1px solid #676767;
	}
}

@media only screen and (max-width: 767px) {
	.fnav ul li {
		width: 50%;
		margin-top: .5em;
		line-height: 2;
	}
}

.fnav ul li a {
	font-size: 83%;
}

@media only screen and (max-width: 767px) {
	.fnav ul li a {
		font-size: 83%;
	}
}

@media only screen and (min-width: 768px) {
	.fnav ul li a {
		padding: 0 1em;
	}
}

.bn_renca {
	margin-top: 30px;
	padding: 20px 0;
	display: flex;
	justify-content: center;
	background: #f8f8f8;
	border-top: 1px solid #f0f0f0;
	position: relative;
}

@media only screen and (max-width: 767px) {
	.bn_renca {
		margin-top: 6%;
	}
}

@media only screen and (max-width: 767px) {
	.bn_renca {
		padding: 0.5em 0;
	}
}

.bn_renca:before, .bn_renca:after {
	border-top: 1px solid #f0f0f0;
	content: "";
	display: block;
	position: relative;
	position: absolute;
	width: 1000px;
	top: -1px;
	bottom: 0;
	background-color: #f8f8f8;
}

.bn_renca:before {
	right: 100%;
}

.bn_renca:after {
	left: 100%;
}

.bn_renca a {
	display: block;
	width: 220px;
}

@media only screen and (max-width: 767px) {
	.bn_renca a {
		width: 100%;
		text-align: center;
	}
	.bn_renca a img {
		max-width: 220px;
		width: 40%;
	}
}

.box_sns, .box_sp_sns {
	margin: 45px 0;
	overflow: hidden;
	text-align: center;
	display: flex;
	justify-content: center;
}

@media only screen and (max-width: 767px) {
	.box_sns, .box_sp_sns {
		margin: 6% 0;
	}
}

.box_sns li, .box_sp_sns li {
	width: 52px;
}

@media only screen and (max-width: 767px) {
	.box_sns li, .box_sp_sns li {
		width: 11.17647%;
	}
}

.box_sns li:not(:first-child), .box_sp_sns li:not(:first-child) {
	margin-left: 25px;
}

@media only screen and (max-width: 767px) {
	.box_sns li:not(:first-child), .box_sp_sns li:not(:first-child) {
		margin-left: 5.44118%;
	}
}

#copyright {
	font-size: 71%;
	padding: 10px 0 10px;
	color: #fff;
	text-align: center;
	position: relative;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	#copyright {
		padding: 1em 0 7em;
	}
}

@media only screen and (max-width: 767px) {
	#copyright {
		padding: 0.5em 0 20%;
	}
}

#copyright:before {
	z-index: -1;
	content: "";
	display: block;
	position: absolute;
	left: -1000px;
	right: -1000px;
	top: 0;
	bottom: 0;
	background-color: #4b4b4b;
}

.fix_spnav {
	background-color: #f2f2f2;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2000;
}

@media only screen and (min-width: 768px) {
	.fix_spnav {
		font-size: 83%;
	}
}

@media only screen and (max-width: 767px) {
	.fix_spnav {
		font-size: 77%;
	}
}

.fix_spnav ul {
	display: flex;
}

.fix_spnav ul li {
	text-align: center;
	flex-shrink: 1;
	width: 100%;
}

.fix_spnav ul li a {
	padding: 0.5em 0 0.5em;
	display: block;
	text-decoration: none;
	color: #d72d29 !important;
}

@media only screen and (max-width: 767px) {
	.fix_spnav ul li a {
		padding: 0.5em 0 0.3em;
	}
}

.fix_spnav ul li a:before {
	content: "";
	display: block;
	background-size: 100%;
	background-position: 0 0;
	background-repeat: no-repeat;
	margin-right: auto;
	margin-left: auto;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.fix_spnav ul li a:before {
		width: 38.5px;
		height: 38.5px;
	}
}

@media only screen and (max-width: 767px) {
	.fix_spnav ul li a:before {
		width: 25px;
		padding-bottom: 25px;
		height: 0;
		max-width: 55px;
	}
}

.fix_spnav ul li.ic_sp_menu {
	border-top: 1px solid #d72d29;
	background-color: #d72d29;
}

.fix_spnav ul li.ic_sp_menu a {
	color: #fff !important;
}

.fix_spnav ul li.ic_sp_menu a:before {
	background-image: url(../images/footer/ic_sp_menu.png);
}

.fix_spnav ul li.ic_sp_share {
	border-top: 1px solid #cccccc;
	border-left: 1px solid #ffffff;
}

.fix_spnav ul li.ic_sp_share a:before {
	background-image: url(../images/footer/ic_sp_share.png);
}

.fix_spnav ul li.ic_sp_like {
	border-left: 1px solid #ffffff;
	border-top: 1px solid #cccccc;
}

.fix_spnav ul li.ic_sp_like a:before {
	background-image: url(../images/footer/ic_sp_like.png);
}

.fix_spnav ul li.ic_sp_req {
	border-left: 1px solid #ffffff;
	border-top: 1px solid #cccccc;
}

.fix_spnav ul li.ic_sp_req a:before {
	background-image: url(../images/footer/ic_sp_req.png);
}

.fix_spnav ul li.ic_sp_exh {
	border-top: 1px solid #cccccc;
	border-left: 1px solid #ffffff;
}

.fix_spnav ul li.ic_sp_exh a:before {
	background-image: url(../images/footer/ic_sp_exh.png);
}

.fix_spnav ul li span {
	display: block;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.fix_spnav ul li span {
		margin-top: 0.2em;
		font-size: 77%;
	}
}

.con_sp_menu {
	position: fixed;
	background-color: #fff;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	height: 100%;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 16%;
	display: none;
	z-index: 1000;
}

.con_sp_menu .menu_logo {
	text-align: center;
}

.con_sp_menu .menu_logo img {
	margin: 0 0 2em;
	width: 148px;
	max-width: 148px;
}

@media only screen and (max-width: 767px) {
	.con_sp_menu .menu_logo img {
		width: 30%;
	}
}

.con_sp_menu .box_sp_menu {
	padding: 4% 0 10%;
}

.con_sp_menu .box_sp_menu .box_sp_menu_list li {
	font-size: 106%;
	border-top: 1px solid #f2f2f2;
}

.con_sp_menu .box_sp_menu .box_sp_menu_list li a {
	padding: 1em .25em;
	display: block;
	text-decoration: none;
	position: relative;
}

.con_sp_menu .box_sp_menu .box_sp_menu_list li a:after {
	content: "";
	display: block;
	width: 0.4em;
	height: 0.4em;
	border-style: solid;
	border-color: #505050;
	border-width: 2px 2px 0 0;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.con_sp_menu .box_sp_menu .box_sp_menu_list li:last-child {
	border-bottom: 1px solid #f2f2f2;
}

.con_sp_menu .box_sp_menu .btn_close {
	position: relative;
	width: 50px;
	height: 50px;
	z-index: 1001;
	cursor: pointer;
}

@media only screen and (min-width: 768px) {
	.con_sp_menu .box_sp_menu .btn_close {
		position: absolute;
		left: 30px;
		top: 30px;
	}
}

@media only screen and (max-width: 767px) {
	.con_sp_menu .box_sp_menu .btn_close.top {
		margin-right: 0;
		margin-left: auto;
	}
	.con_sp_menu .box_sp_menu .btn_close.bottom {
		margin-right: auto;
		margin-left: auto;
		margin-top: 0.5em;
	}
}

.con_sp_menu .box_sp_menu .btn_close:before, .con_sp_menu .box_sp_menu .btn_close:after {
	content: "";
	display: block;
	background-color: #181205;
	position: absolute;
	left: 50%;
	top: 50%;
	transform-origin: center center;
}

@media only screen and (min-width: 768px) {
	.con_sp_menu .box_sp_menu .btn_close:before, .con_sp_menu .box_sp_menu .btn_close:after {
		width: 6px;
		height: 64px;
	}
}

@media only screen and (max-width: 767px) {
	.con_sp_menu .box_sp_menu .btn_close:before, .con_sp_menu .box_sp_menu .btn_close:after {
		width: 0.2em;
		height: 2.5em;
	}
}

.con_sp_menu .box_sp_menu .btn_close:before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.con_sp_menu .box_sp_menu .btn_close:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* -----------------------------------------------------------
	下層共通スタイル
----------------------------------------------------------- */
/* -----------------------------------------------------------
	テーブル
----------------------------------------------------------- */
table.tbl_basic {
	width: 100%;
}

table.tbl_basic tr {
	border: 1px solid #eaeaea;
}

table.tbl_basic tr th, table.tbl_basic tr td {
	font-size: 83%;
	padding: 18px 26px;
}

@media only screen and (max-width: 767px) {
	table.tbl_basic tr th, table.tbl_basic tr td {
		display: block;
		padding: 0.75em;
	}
}

table.tbl_basic tr th {
	background: #f2f2f2;
	text-align: center;
	font-weight: normal;
}

@media only screen and (min-width: 768px) {
	table.tbl_basic tr th {
		border-right: 1px solid #eaeaea;
	}
}

@media only screen and (max-width: 767px) {
	table.tbl_basic tr th {
		border-bottom: 1px solid #eaeaea;
	}
}

table.tbl_basic_fix {
	width: 100%;
}

table.tbl_basic_fix tr {
	border: 1px solid #eaeaea;
}

table.tbl_basic_fix tr th, table.tbl_basic_fix tr td {
	font-size: 83%;
	padding: 18px 26px;
}

table.tbl_basic_fix tr th {
	background: #f2f2f2;
	text-align: center;
	font-weight: normal;
	border-right: 1px solid #eaeaea;
}

.tmp_h3 {
	text-align: center;
	font-weight: normal;
	letter-spacing: -0.06em;
}

@media only screen and (min-width: 768px) {
	.tmp_h3 {
		font-size: 212%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_h3 {
		font-size: 130%;
	}
}

.tmp_h4 {
	line-height: 1;
	padding-left: 0.25em;
	font-weight: normal;
	border-left: 4px solid #d21e24;
}

@media only screen and (min-width: 768px) {
	.tmp_h4 {
		font-size: 177%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_h4 {
		font-size: 106%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_h4 {
		border-left-width: 2px;
		padding-left: 0.4em;
		line-height: 1.2;
	}
}

.tmp_btn {
	border-radius: 0.25em;
	border: 1px solid #000000;
}

.tmp_btn a {
	padding: 0.25em 1em;
	display: block;
	text-decoration: none !important;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.tmp_btn a {
		padding: 0.25em 0.5em;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_btn a {
		font-size: 95%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_btn a {
		font-size: 65%;
	}
}

.mouse .tmp_btn:hover,
.touch .tmp_btn.touchstart {
	opacity: 0.7;
}

.touch .tmp_btn {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.touch .tmp_btn.touchend {
	-webkit-transition-delay: 200ms;
	-moz-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	transition-delay: 200ms;
}

.tmp_more {
	width: 100%;
	transition: background-color 0.2s;
	border-radius: 100px;
	background-color: #d72b27;
	border: 1px solid #d72b27;
	margin-right: auto;
	margin-left: auto;
}

@media only screen and (max-width: 767px) {
	.tmp_more {
		width: 80%;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_more {
		max-width: 385px;
		margin-right: auto;
		margin-left: auto;
	}
}

.tmp_more a {
	padding: 1em;
	color: #fff !important;
	text-decoration: none !important;
	text-align: center;
	display: block;
}

@media only screen and (max-width: 767px) {
	.tmp_more a {
		padding: 0.5em 1em;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_more a {
		font-size: 106%;
	}
}

.tmp_more:hover {
	background-color: #fff;
}

.tmp_more:hover a {
	color: #d72b27 !important;
}

.tmp_more_black {
	width: 100%;
	transition: background-color 0.2s;
	border-radius: 100px;
	background-color: #505050;
	border: 1px solid #505050;
	margin-right: auto;
	margin-left: auto;
}

@media only screen and (max-width: 767px) {
	.tmp_more_black {
		width: 80%;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_more_black {
		max-width: 385px;
		margin-right: auto;
		margin-left: auto;
	}
}

.tmp_more_black a {
	padding: 1em;
	color: #fff !important;
	text-decoration: none !important;
	text-align: center;
	display: block;
}

@media only screen and (max-width: 767px) {
	.tmp_more_black a {
		padding: 0.5em 1em;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_more_black a {
		font-size: 106%;
	}
}

.tmp_more_black:hover {
	background-color: #fff;
}

.tmp_more_black:hover a {
	color: #505050 !important;
}

.tmp_more_ghost {
	width: 100%;
	transition: background-color 0.2s;
	border-radius: 100px;
	background-color: #fff;
	border: 1px solid #000000;
	margin-right: auto;
	margin-left: auto;
}

@media only screen and (max-width: 767px) {
	.tmp_more_ghost {
		width: 80%;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_more_ghost {
		max-width: 385px;
		margin-right: auto;
		margin-left: auto;
	}
}

.tmp_more_ghost a {
	padding: 1em;
	color: #000000 !important;
	text-decoration: none !important;
	text-align: center;
	display: block;
}

@media only screen and (max-width: 767px) {
	.tmp_more_ghost a {
		padding: 0.5em 1em;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_more_ghost a {
		font-size: 106%;
	}
}

.tmp_more_ghost:hover {
	background-color: #000000;
}

.tmp_more_ghost:hover a {
	color: #fff !important;
}

.tmp_items {
	margin-top: 10px;
	margin-bottom: 0;
}

.tmp_items .slick-dots {
	position: static;
}

.tmp_items .slick-dots li {
	margin: 0;
	width: 8px;
	height: 8px;
	opacity: 1;
}

.tmp_items .slick-dots li:not(:first-child) {
	margin-left: 22px;
}

@media only screen and (max-width: 767px) {
	.tmp_items .slick-dots li:not(:first-child) {
		margin-left: 16px;
	}
}

.tmp_items .slick-dots li button {
	padding: 0;
	width: 100%;
	height: 100%;
}

.tmp_items .slick-dots li button:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #cccccc;
	opacity: 1;
}

.tmp_items .slick-dots li button:after {
	content: "";
	transition: all .2s;
	position: absolute;
	left: 20%;
	top: 20%;
	right: 20%;
	bottom: 20%;
	display: block;
	border: 1px solid #f8b500;
	border-radius: 50%;
	opacity: 0;
}

.tmp_items .slick-dots li:hover {
	position: relative;
}

.tmp_items .slick-dots li:hover button:before {
	background-color: #f8b500 !important;
}

.tmp_items .slick-dots li.slick-active {
	position: relative;
}

.tmp_items .slick-dots li.slick-active button:before {
	background-color: #f8b500 !important;
}

.tmp_items .slick-dots li.slick-active button:after {
	opacity: 1;
	left: -5px;
	top: -5px;
	right: -5px;
	bottom: -5px;
}

@media only screen and (max-width: 767px) {
	.tmp_items {
		margin-top: 0;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_items {
		max-width: 1200px;
		margin-right: auto;
		margin-left: auto;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items {
		width: 92%;
	}
	.tmp_items .slick-list {
		overflow: visible;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_items .slick-list {
		padding: 10px 0;
	}
}

.tmp_items .slick-list .slick-track {
	margin-left: 0;
}

.tmp_items .box_det {
	margin-left: 7px;
	float: left;
	position: relative;
}

.tmp_items .box_det:not(:first-child) {
	display: none;
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det {
		width: 50%;
	}
}

.tmp_items .box_det .like {
	cursor: pointer;
	z-index: 1;
	width: 60px;
	height: 60px;
	right: 1.8em;
	top: 1.8em;
	border-radius: 50%;
	position: absolute;
	background-color: #fff;
}

.tmp_items .box_det .like:before {
	content: "";
	font-family: FontAwesome;
	color: #000000;
}

@media only screen and (min-width: 1451px) {
	.tmp_items .box_det .like:before {
		font-size: 130%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_items .box_det .like:before {
		font-size: 106%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det .like:before {
		font-size: 95%;
	}
}

.tmp_items .box_det .like:after {
	content: "";
	font-family: FontAwesome;
	color: #d72b27;
}

@media only screen and (min-width: 1451px) {
	.tmp_items .box_det .like:after {
		font-size: 130%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_items .box_det .like:after {
		font-size: 106%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det .like:after {
		font-size: 95%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_items .box_det .like {
		width: 36px;
		height: 36px;
		right: 1.2em;
		top: 1.2em;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det .like {
		width: 2em;
		height: 2em;
		right: 0.8em;
		top: 0.8em;
	}
}

.tmp_items .box_det .like:before, .tmp_items .box_det .like:after {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.2s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

.tmp_items .box_det .like:after {
	opacity: 0.7;
	transform: translate(-50%, -50%) scale(0, 0);
}

.tmp_items .box_det .like:hover:before {
	color: #d72b27;
}

.tmp_items .box_det .like:hover:after, .tmp_items .box_det .like.active:after {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1, 1);
}

.tmp_items .box_det .like.touchend:after {
	transform: translate(-50%, -50%) scale(0, 0);
}

.tmp_items .box_det .like.touchend.active:after {
	transform: translate(-50%, -50%) scale(1, 1);
}

.tmp_items .box_det .like + a .photo span {
	text-align: left !important;
}

.tmp_items .box_det a {
	padding: 14px;
	border: 1px solid #dfdfdf;
	text-decoration: none;
	display: block;
	width: 100%;
	margin: 10px 0;
	transition: box-shadow .1s;
	box-shadow: 0px 0px 0px 0px #dfdfdf;
	position: relative;
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det a {
		padding: 5%;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_items .box_det a {
		max-width: 278px;
	}
}

.tmp_items .box_det a:hover {
	box-shadow: 0px 0px 6px 3px rgba(223, 223, 223, 0.5);
}

.tmp_items .box_det a .photo {
	width: 100%;
	position: relative;
	padding-bottom: 100%;
	overflow: hidden;
}

.tmp_items .box_det a .photo img {
	max-width: 100%;
	position: absolute;
}

.tmp_items .box_det a .photo.tate img {
	right: 0;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.tmp_items .box_det a .photo.yoko img {
	height: 100%;
	max-width: none;
	top: 0;
	bottom: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.tmp_items .box_det a .photo span {
	position: absolute;
	display: block;
	width: 100%;
	top: 0;
	padding: 0.2em 0.75em;
	font-size: 95%;
	text-align: center;
}

.tmp_items .box_det a .photo span.red {
	background: #d72b27;
	color: #fff;
}

.tmp_items .box_det a .photo span.yellow {
	background: #e5a400;
	color: #fff;
}

.tmp_items .box_det a .photo span.glay {
	background: #505050;
	color: #fff;
}

.tmp_items .box_det a .st {
	margin-top: 0.5em;
	height: 3em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

@media only screen and (min-width: 1451px) {
	.tmp_items .box_det a .st {
		font-size: 100%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_items .box_det a .st {
		font-size: 89%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det a .st {
		font-size: 77%;
	}
}

.tmp_items .box_det a .st .ic_new {
	font-size: 82%;
	color: #fff;
	background-color: #f8b500;
	padding: 0 0.5em;
	margin-right: 0.5em;
}

.tmp_items .box_det a .price {
	margin-top: 0.25em;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.tmp_items .box_det a .price span {
	color: #555555;
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det a .price span {
		display: block;
		font-size: 71%;
	}
}

.tmp_items .box_det a .price em {
	line-height: 1;
}

@media only screen and (min-width: 1451px) {
	.tmp_items .box_det a .price em {
		font-size: 153%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_items .box_det a .price em {
		font-size: 130%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det a .price em {
		font-size: 95%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items .box_det a .price em {
		display: block;
		font-weight: bold;
	}
}

.tmp_items.slick-slider .box_det {
	display: block !important;
}

.tmp_items.request .box_det .like {
	cursor: pointer;
	z-index: 1;
	width: auto;
	height: auto;
	right: 2em;
	top: 2.8em;
	position: absolute;
}

@media only screen and (max-width: 767px) {
	.tmp_items.request .box_det .like {
		right: 1em;
		top: 1.8em;
	}
}

.tmp_items.request .box_det .st {
	padding-right: 2em;
}

@media only screen and (max-width: 767px) {
	.tmp_items.request .box_det .st {
		padding-right: 2em;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_items.request .box_det .st {
		font-size: 118%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items.request .box_det .st {
		font-size: 83%;
	}
}

.tmp_items.request .box_det .txt {
	margin-top: .5em;
	margin-bottom: 1em;
	line-height: 1.6em;
	height: 8em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
}

@media only screen and (min-width: 768px) {
	.tmp_items.request .box_det .txt {
		font-size: 89%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_items.request .box_det .txt {
		font-size: 77%;
	}
}

.tmp_req_items {
	margin-top: 10px;
	margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.tmp_req_items {
		margin-top: 0;
	}
}

.tmp_req_items .box_det {
	position: relative;
	border-bottom: 1px dotted #686868;
}

@media only screen and (min-width: 1280px) {
	.tmp_req_items .box_det {
		width: 48%;
	}
	.tmp_req_items .box_det:nth-child(odd) {
		float: left;
		clear: left;
	}
	.tmp_req_items .box_det:nth-child(even) {
		float: right;
	}
}

.tmp_req_items .box_det a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 1em 0;
	position: relative;
	text-decoration: none;
	display: table;
}

@media only screen and (max-width: 767px) {
	.tmp_req_items .box_det a {
		padding: .5em 0;
	}
}

.tmp_req_items .box_det a:hover .st p em {
	text-decoration: none;
}

.tmp_req_items .box_det a .st {
	width: 100%;
	display: table-cell;
	vertical-align: bottom;
}

@media only screen and (min-width: 1451px) {
	.tmp_req_items .box_det a .st {
		font-size: 100%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_req_items .box_det a .st {
		font-size: 89%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_req_items .box_det a .st {
		font-size: 77%;
	}
}

.tmp_req_items .box_det a .st p em {
	text-decoration: underline;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

@media only screen and (min-width: 768px) {
	.tmp_req_items .box_det a .st p em {
		-webkit-line-clamp: 1;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_req_items .box_det a .st p em {
		-webkit-line-clamp: 2;
	}
}

.tmp_req_items .box_det a .st p .ic_req {
	font-size: 82%;
	color: #fff;
	background-color: #e5a400;
	padding: 0 0.5em;
	margin-right: 0.5em;
}

.tmp_req_items .box_det a .st p .ic_nego {
	font-size: 82%;
	color: #fff;
	background-color: #d72b27;
	padding: 0 0.5em;
	margin-right: 0.5em;
}

.tmp_req_items .box_det a .st p .ic_new {
	font-size: 82%;
	color: #fff;
	background-color: #f8b500;
	padding: 0 0.5em;
	margin-right: 0.5em;
}

.tmp_req_items .box_det a .st p .ic_cat {
	font-size: 82%;
	color: #222;
	background-color: #fff;
	border: solid 1px #ccc;
	padding: 0 0.5em;
	margin-right: 0.5em;
}

.tmp_req_items .box_det a .st p .ic_glay {
	font-size: 82%;
	background: #505050;
	color: #fff;
	padding: 0 0.5em;
	margin-right: 0.5em;
}

.tmp_req_items .box_det a .price {
	text-align: right;
}

@media only screen and (min-width: 768px) {
	.tmp_req_items .box_det a .price {
		width: 200px;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_req_items .box_det a .price {
		width: 5em;
	}
}

.tmp_req_items .box_det a .price span {
	color: #555555;
	margin-right: 0.5em;
	display: inline-block;
}

@media only screen and (max-width: 767px) {
	.tmp_req_items .box_det a .price span {
		display: block;
		font-size: 71%;
		margin-right: 0;
	}
}

.tmp_req_items .box_det a .price em {
	display: inline-block;
	line-height: 1;
}

@media only screen and (min-width: 1451px) {
	.tmp_req_items .box_det a .price em {
		font-size: 153%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_req_items .box_det a .price em {
		font-size: 130%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_req_items .box_det a .price em {
		font-size: 95%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_req_items .box_det a .price em {
		display: block;
		font-weight: bold;
	}
}

.tmp_tab {
	margin-bottom: 100px;
	overflow: hidden;
	border-bottom: 1px solid #d72b27;
	display: flex;
	justify-content: center;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_tab {
		margin-bottom: 70px;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_tab {
		margin-bottom: 18%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_tab {
		padding: 0 1em;
	}
}

.tmp_tab li {
	margin: 0 10px;
	padding: 0.75em 1em;
	cursor: pointer;
	border-top-left-radius: .5em;
	border-top-right-radius: .5em;
	width: 440px;
	max-width: 440px;
	width: 45%;
	text-align: center;
	border-left: 1px solid #000000;
	border-top: 1px solid #000000;
	border-right: 1px solid #000000;
	transition: background-color 0.2s;
}

@media only screen and (min-width: 768px) {
	.tmp_tab li {
		font-size: 118%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_tab li {
		font-size: 95%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_tab li {
		margin: 0;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_tab li {
		padding: 0.5em 0;
	}
}

.tmp_tab li + li {
	margin-left: 10px;
}

@media only screen and (max-width: 767px) {
	.tmp_tab li + li {
		margin-left: .5em;
	}
}

.tmp_tab li.active, .tmp_tab li:hover {
	color: #fff;
	background-color: #d72b27;
	border-left: 1px solid #d72b27;
	border-top: 1px solid #d72b27;
	border-right: 1px solid #d72b27;
}

.tmp_tab li.disable {
	opacity: 0.6;
	background: rgba(204, 204, 204, 0.2);
	border: solid 1px #ccc;
	color: #ccc !important;
	cursor: default;
}

main:not(.slick_arrow_no_css) .slick-arrow {
	width: 70px;
	height: 70px;
	border: 2px solid #000;
	border-radius: 100px;
	transition: left 0.25s, right 0.25s;
	background-color: #fff !important;
	z-index: 1;
}

@media only screen and (min-width: 1451px) and (max-width: 1919px) {
	main:not(.slick_arrow_no_css) .slick-arrow {
		width: 60px;
		height: 60px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	main:not(.slick_arrow_no_css) .slick-arrow {
		width: 60px;
		height: 60px;
	}
}

main:not(.slick_arrow_no_css) .slick-arrow:before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	border-left: 3px solid #000;
	border-top: 3px solid #000;
	opacity: 1 !important;
	position: absolute;
	top: 50%;
}

main:not(.slick_arrow_no_css) .slick-arrow.slick-prev {
	left: auto;
	right: calc(100% + 25px);
}

main:not(.slick_arrow_no_css) .slick-arrow.slick-prev:hover {
	right: calc(100% + 30px);
}

@media only screen and (min-width: 1451px) and (max-width: 1919px) {
	main:not(.slick_arrow_no_css) .slick-arrow.slick-prev {
		right: calc(95% + 25px);
	}
	main:not(.slick_arrow_no_css) .slick-arrow.slick-prev:hover {
		right: calc(95% + 30px);
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	main:not(.slick_arrow_no_css) .slick-arrow.slick-prev {
		right: calc(95% + 25px);
	}
	main:not(.slick_arrow_no_css) .slick-arrow.slick-prev:hover {
		right: calc(95% + 30px);
	}
}

main:not(.slick_arrow_no_css) .slick-arrow.slick-prev:before {
	left: 40%;
	transform: translate(0, -50%) rotate(-45deg);
}

main:not(.slick_arrow_no_css) .slick-arrow.slick-next {
	right: auto;
	left: calc(100% + 25px);
}

main:not(.slick_arrow_no_css) .slick-arrow.slick-next:hover {
	left: calc(100% + 30px);
}

@media only screen and (min-width: 1451px) and (max-width: 1919px) {
	main:not(.slick_arrow_no_css) .slick-arrow.slick-next {
		left: calc(95% + 25px);
	}
	main:not(.slick_arrow_no_css) .slick-arrow.slick-next:hover {
		left: calc(95% + 30px);
	}
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	main:not(.slick_arrow_no_css) .slick-arrow.slick-next {
		left: calc(95% + 25px);
	}
	main:not(.slick_arrow_no_css) .slick-arrow.slick-next:hover {
		left: calc(95% + 30px);
	}
}

main:not(.slick_arrow_no_css) .slick-arrow.slick-next:before {
	right: 40%;
	transform: translate(0, -50%) rotate(-225deg);
}

.btn_tmp_sele {
	background: #505050;
	border-radius: 10px;
	margin-bottom: 1em;
	display: inline-block;
	position: relative;
}

.btn_tmp_sele a {
	display: block;
	padding: 10px 30px;
	color: #fff !important;
	text-decoration: none !important;
}

.tmp_msg {
	width: 100%;
	background-color: #fff;
	padding: 60px;
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
	.tmp_msg {
		padding: 30px;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_msg {
		padding: 20px;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_msg {
		background: none;
	}
}

.tmp_msg select {
	width: 100%;
	max-width: 400px;
	margin-bottom: 1em;
}

.tmp_msg select:hover {
	cursor: pointer;
}

.tmp_msg .box_selected_msg {
	border: 1px solid #181717;
	background-color: rgba(204, 204, 204, 0.2);
	width: 100%;
	padding: 1em;
	min-height: 200px;
	margin-bottom: 30px;
}

.wrp_popup {
	position: relative;
	visibility: hidden;
	overflow: hidden;
	height: 0;
}

#colorbox, #cboxOverlay, #cboxWrapper {
	overflow: inherit !important;
}

#colorbox {
	width: 100%;
}

#cboxClose {
	bottom: -43px !important;
	right: 0px !important;
	left: 0 !important;
	margin: auto !important;
	width: 43px !important;
	height: 43px !important;
	top: inherit !important;
	position: absolute;
}

@media only screen and (max-width: 767px) {
	#cboxClose {
		bottom: -28px !important;
		width: 28px !important;
		height: 28px !important;
	}
}

#cboxOverlay {
	background: rgba(0, 0, 0, 0.8) !important;
}

.tmp_acc {
	cursor: pointer;
	margin: 1em auto 0;
	background: #d72b27;
	background: #505050;
	color: #fff;
	padding: 1em 4em 1em 2.5%;
	border-radius: 0.25em;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.tmp_acc:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 2.5%;
	width: 1em;
	height: 1em;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: rotate(135deg);
	margin-top: -0.70721em;
	transform-origin: center center;
}

.tmp_acc.active:after {
	transform: rotate(-45deg);
	margin-top: 0;
	top: auto;
	bottom: 50%;
	margin-bottom: -0.70721em;
}

.tmp_acc .txt {
	font-size: 106%;
}

.tmp_acc .date {
	font-size: 89%;
}

.tmp_accbox {
	display: none;
	padding-top: 1.5em;
	padding-bottom: 3em;
}

.tmp_sel {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	border-radius: 0.25em;
	border: 1px solid #dbdbdb;
	padding: 0.5em 1em;
	margin-bottom: 1em;
}

@media only screen and (max-width: 767px) {
	.tmp_sel {
		padding: 0.25em 0.5em;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_sel {
		margin-bottom: 1em;
	}
}

@media only screen and (min-width: 768px) {
	.tmp_sel {
		font-size: 95%;
	}
}

@media only screen and (max-width: 767px) {
	.tmp_sel {
		font-size: 65%;
	}
}

/*# sourceMappingURL=../maps/common.css.map */
