@charset "utf-8";

/*
GLOBAL
***************************************************************************/
html {
	font-size: 62.5%;
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	position: relative;
	width: 750px;
	height: auto;
	text-align: left;
	margin-left: auto!important;
	margin-right: auto!important;
	font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	word-break: break-all;
	font-size: 1.4rem;
	color: #555;
	line-height: 1.85;
}

body:before{
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100vh;
  background-image: url(../img/common_img/main-image.png);
	background-size:cover;
}

.base_box { position:relative; }

/*
DEFAULT
***************************************************************************/
body,
h1,h2,h3,h4,h5,h6,p,
ul,ol,li,dl,dt,dd,
form,fieldset,legend,pre,blockquote {
	margin: 0;
	padding: 0;
	font-feature-settings: "pkna";
}

h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
	line-height: 1.5;
}

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

.clearfix:after {
	display: block;
	clear: both;
	content: "";
	overflow: hidden;
}

li {
	list-style-type: none;
}

table {
	width: 100%;
	text-align: left;
	border-collapse: collapse;
}

th {
	text-align: left;
	font-weight: normal;
}

/* ▼LINK▼ */
a {
	color: #ea64ae;
	text-decoration: none;
	outline: none;
	transition: .5s;
	backface-visibility: hidden;
}

a:hover { opacity:0.75; }

/* ▼IMG▼ */
img, input[type="image"] {
	max-width: 100%;
	border: 0;
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
}

img, input[type="image"], button {
	transition: .5s;
	backface-visibility: hidden;
}

.img_frame {
	position: relative;
	overflow: hidden;
}

.img_frame img {
	position: absolute;
	width: auto;
  height: auto;
  min-width: 100%;
	max-width: 100%;
	max-height: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  object-fit: cover;
}

/* ▼BR▼ */
@media screen and (min-width: 480px){

	.landscape { display:block; }
	.portrait { display:none; }

}

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

	.landscape { display:none; }
	.portrait { display:block; }

}

/*
HEADER
***************************************************************************/
header {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 50%;
	width: 750px;
	height: 88px;
	margin-left: -375px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	z-index: 101;
}

header .title {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 2.4rem;
	line-height: 88px;
	color: #020101;
}

.gnavi_close {
	width: 100%;
	height: 88px;
	background: rgba(255, 255, 255, 0.2);
}

header .btn_gnavi, .gnavi_close span {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 80px;
	text-align: center;
	font-size: 4.2rem;
	line-height: 88px;
  cursor: pointer;
  /* background-color: #fff; */
}

.home-link {
	position: absolute;
	width: 220px;
	height: 60px;
	top: -70px;
	left: 0;
	z-index: 9999999;
	background: transparent;
}

header .proxy-login-banner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  color: #fff;
  background: rgba(184,28,34,0.85);
  z-index: 200;
  pointer-events: none;
}

/*
GNAVI
***************************************************************************/
#gnavi {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 50%;
	width: 375px;
	height: 100%;
	margin-left: 375px;
	overflow: auto;
	opacity: 0;
	z-index: 1001;
}

#gnavi ul {
  background: rgba(0,0,0,0.9);
}

#gnavi.active { right:0; }

#gnavi li {
	font-size: 2.2rem;
	color: #ededed;
	border-bottom: solid 1px #444;
}

#gnavi li:last-child { border-bottom:none; }

#gnavi li a {
	display: block;
	padding: 20px;
	color: #ededed;
}

#gnavi li[title="logout"] {
	padding: 20px 12px;
}

/*
CONTENTS
***************************************************************************/
#contents {
	margin-top: 88px;
	padding-bottom: 110px;
	background: #fff;
}

.bar { 	border-left-style:solid; }

.bar.color1 { border-left-color:#f34133; }
.bar.color2 { border-left-color:#00a9be; }
.bar.color3 { border-left-color:#7db244; }
.bar.color4 { border-left-color:#c1ff36; }
.bar.color5 { border-left-color:#ff9902; }

/*
TOP
***************************************************************************/
 #contents.top_sec .fadeIn {
  opacity: 0;
  /* transform : translate(0, 50px); */
  transition : all 1500ms;
}

#contents.top_sec .fadeIn.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

#contents.top_sec .contents-container {
	margin-top: 50px;
}

#contents.top_sec .contents-container .swiper-slide {
	object-fit: cover;
}

#contents.top_sec .swiper-container video{
  width: 100%;
}

#contents.top_sec {
	padding-bottom: 0;
	overflow-x: hidden;
}

/* ▼SLIDE▼ */
#topimg .bx-wrapper {
	position: relative;
}

#topimg .bx-wrapper .bx-controls-direction a {
	display: block;
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 100;
}

#topimg .bx-wrapper .bx-prev {
	left: 0;
	background: url(../img/btn_prev.png) no-repeat;
	background-size: 40px;
}

#topimg .bx-wrapper .bx-next {
	right: 0;
	background: url(../img/btn_next.png) no-repeat;
	background-size: 40px;
}

#topimg .bx-pager {
	position: absolute;
	bottom: 12px;
	left: 0;
	width: 100%;
	text-align: center;
}

#topimg .bx-pager div {
	display: inline;
}

#topimg .bx-pager div a {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 6px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: #fff;
	border-radius: 6px;
}

#topimg .bx-pager div a.active {
	background: #b81c22;
}

#topimg .swiper-slide img {
  height: 420px;
  width: 100% !important;
  object-fit: cover;
}

.top_slide > li {
	position: relative;
}

.top_slide > li.cover:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	z-index: 1;
}

.top_slide .btn_play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	margin: -30px 0 0 -30px;
	z-index: 10;
}

.top_slide .btn_detail {
	position: absolute;
	top: 0;
	right: 0;
	width: 120px;
	z-index: 10;
}

.top_slide .list {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	margin-top: -80px;
	text-align: center;
	z-index: 10;
}

.top_slide .list li {
	display: inline-block;
	width: 160px;
	margin: 0 -4px 0 4px;
}

/* ▼NAVI▼ */
.tnavi_list {
	margin: 3px 0 0;
}

.tnavi_list li {
	box-sizing: border-box;
	float: left;
	width: 248px;
	margin: 0 3px 3px 0;
}

.tnavi_list li:nth-child(3n) { margin-right:0; }

/*
MONEY COMMON PARTS (SIMULATOR, PROPERTY RETURN etc)
***************************************************************************/
.money_tbl th, .money_tbl td {
	padding: 12px 16px;
	vertical-align: middle;
	font-size: 2.5rem;
	line-height: 1.6;
	border-bottom: solid 1px #fff;
}

.money_tbl th {
	text-align: center;
	color: #fff;
	border-right: solid 1px #fff;
}

.money_tbl td {
	text-align: right;
}

.money_tbl.gray th { background:#333; }
.money_tbl.gray td { color:#fff; background:#999; }

.money_tbl.dgray th { background:#333; }
.money_tbl.dgray td { color:#fff; background:#666; }

.money_tbl.green th { background:#205b5c; }
.money_tbl.green td { background:#bbcbcb; }

.money_tbl.blue th { background:#2a6394; }
.money_tbl.blue td { background:#b9cedf; }

.money_tbl.yellow th { background:#c49c2d; }
.money_tbl.yellow td { background:#e7d39a; }

.money_stbl th, .money_stbl td {
	padding: 12px 16px;
	vertical-align: middle;
	font-size: 2.2rem;
	line-height: 1.6;
	border-bottom: solid 1px #fff;
}

.money_stbl th.no_border, .money_stbl td.no_border { border:none!important; }

.money_stbl.type01 th, .money_stbl.type01 td { text-align:right; background:#eee; }

.money_stbl.type01 th {
	border-right: solid 1px #fff;
}

.money_stbl.type02 th {
	background: #ddd;
	border-right: solid 1px #fff;
}

.money_stbl.type02 td {
	text-align: right;
	background: #eee;
}

.money_tbl td span, .money_stbl td span {
	margin-left: 10px;
	font-size: 2.2rem;
}

.money_tbl input[type="text"], .money_tbl input[type="number"], input[type="tel"], .money_stbl input[type="text"], .money_stbl input[type="number"] {
	width: 200px;
	vertical-align: 2px;
	color: #111;
	text-align: right;
}

.money_stbl th input[type="text"],
.money_stbl th input[type="number"],
.money_stbl th input[type="tel"] {
	text-align: left;
}

.money_stbl .sbtn {
	display: inline-block;
	width: 160px;
	padding: 8px 0 6px;
	text-align: center;
	font-size: 2rem;
	color: #fff;
	border-radius: 6px;
}

.money_stbl .sbtn.red { background:#b81c22; }

/*
LOGIN
***************************************************************************/
.login_sec {
	padding-bottom: 40px;
	font-size: 2.4rem;
	background: #fff url(../img/common_img/login_bg.jpg) center top no-repeat;
	background-size: 100%;
}

.login_sec > .title {
	margin-bottom: 40px;
	text-align: center;
	font-size: 3.2rem;
}

.login_sec > .title span {
	padding: 8px 0 2px 60px;
	background: url(../img/common_img/icon_login.png) left center no-repeat;
	background-size: 36px;
}

/* ▼LOGIN▼ */
.login_sec .login {
	margin: 0 60px 40px;
}

.login_sec .login .input_box {
	margin-bottom: 30px;
	box-shadow: 0px 2px 5px -2px #686868;
}

.login_sec .login .input_box input {
	height: 80px;
	background: rgba(218,218,218,0.77);
	border: none;
}

.login_sec .login .input_box p:first-child input {
	border-bottom: solid 1px #bababa;
	border-radius: 4px 4px 0 0;
}

.login_sec .login .input_box p:last-child input {
	border-radius: 0 0 4px 4px;
}

.login_sec .login .chk_box {
	margin-bottom: 24px;
}

.login_sec .login .chk_box input[type="checkbox"]{
	margin-right: 8px;
	vertical-align:-4px;
}

.login_sec .btn {
	margin-bottom: 30px;
}

.login_sec .btn input[type="submit"] {
  -webkit-appearance: none;
	padding: 32px 0 30px;
}

.login_sec .link {
	text-align: center;
	font-size: 2.2rem;
	color: #a92e2a;
}

.login_sec .link a {
	margin-left: 8px;
	color: #111;
	text-decoration: underline;
}

/* ▼REGIST▼ */
.login_sec .regist {
	margin: 0 30px;
	padding: 50px 30px;
	font-size: 2rem;
	color: #e5e5e5;
	background: rgba(51,51,51,0.78);
	border-radius: 4px;
	box-shadow: 0px 2px 5px -2px #686868;
}

.login_sec .regist .title {
	margin-bottom: 50px;
	text-align: center;
	color: #fff;
	font-size: 3.2rem;
}

.login_sec .regist .title span {
	padding: 4px 0 0 64px;
	background: url(../img/common_img/icon_member.png) left center no-repeat;
	background-size: 44px;
}

.login_sec .regist .input_box {
	margin-bottom: 30px;
}

.login_sec .regist .input_box input {
	height: 80px;
	border: none;
	border-radius: 4px;
}

.login_sec .regist a {
	font-weight: bold;
	color: #e5e5e5;
	text-decoration: underline;
}

.login input::-webkit-input-placeholder {
	color: #c0c0c0;
}
.login input:-ms-input-placeholder {
	color: #c0c0c0;
}
.login input::-moz-placeholder {
	color: #c0c0c0;
}

/* ▼PASS▼ */
.pass_sec {
	padding: 120px 60px 400px;
	font-size: 2.4rem;
	background: url(../img/common_img/login_bg.jpg) center top no-repeat;
	background-size: 100%;
}

.pass_sec .title_box {
	margin-bottom: 120px;
	text-align: center;
}

.pass_sec .title {
	display: inline-block;
	padding-bottom: 16px;
	font-size: 3.2rem;
	border-bottom: solid 4px #a92e2a;
}

.pass_sec .input_box {
	margin-bottom: 60px;
}

.pass_sec .input_box input {
	height: 80px;
	color: #ccc;
	background: rgba(102,102,102,0.9);
	border-radius: 4px;
}

.pass_sec .input_box input::-webkit-input-placeholder {
	color: #dddddd;
}

.pass_sec .input_box input:-ms-input-placeholder {
	color: #dddddd;
}

.pass_sec .input_box input::-moz-placeholder {
	color: #dddddd;
}

.pass_sec .input_box p:first-child input {
	border-bottom: solid 1px rgba(10,11,12,0.5);
	border-radius: 4px 4px 0 0;
}

.pass_sec .input_box p:last-child input {
	border-radius: 0 0 4px 4px;
}

.pass_sec input[type="submit"] {
	padding: 32px 0 28px;
}

/*
PROPERTY
***************************************************************************/
/* ▼LINK▼ */
.property_link li {
	box-sizing: border-box;
	float: left;
}

.property_link.col2 li { width:calc(100% / 2); }
.property_link.col3 li { width:calc(100% / 3); }
.property_link.col4 li { width:calc(100% / 4); }
.property_link.col5 li { width:calc(100% / 5); }

.property_link li a {
	display: block;
	padding: 20px 0 14px;
	text-align: center;
	font-size: 2.4rem;
	color: #999;
	border-bottom: solid 6px #020101;
}

.property_link li.active a {
	color: #111;
	border-bottom: solid 6px #b81c22;
}

/* ▼LIST▼ */
#contents.prop_list {
	/* padding-bottom: 96px; */
}

.property_list .box {
	position: relative;
}

.property_list .box a {
	display: block;
	color: #fff;
}

.property_list .box .img {
	width: 100%;
	height: 260px;
}

.property_list .box .title {
	position: absolute;
	top: 30px;
	left: 24px;
	width: calc(100% - 48px);
	font-size: 2.4rem;
	line-height: 1.3;
	z-index: 10;
}

.property_list .box .title.bar {
	padding: 2px 0 0 16px;
	border-left-width: 8px;
}

.property_list .box .img:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 320px;
	background: url(../img/common_img/list_cover.png) center top no-repeat;
	background-size: 100%;
	z-index: 1;
}

.property_list .box ul {
	position: absolute;
	top: 36px;
	right: 32px;
	text-align: right;
	z-index: 11;
}

.property_list .box li {
	display: inline-block;
	width: 64px;
	margin-left: 2px;
}

.property_list .box .btn {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 80px;
	height: 244px;
	background: #ccc url(../img/common_img/btn_menu.png) right center no-repeat;
	background-size: 60px;
	z-index: 10;
}

.property_list .btn-detail {
	position: absolute;
	top: 25px;
	right: 10px;
	width: 30px;
	z-index: 100;
}

/* ▼DETAIL▼ */
.property_detail .img {
	position: relative;
	margin-top: 20px;
}

.property_detail .img .title {
	position: absolute;
	top: 30px;
	left: 24px;
	width: calc(100% - 48px);
	font-size: 2.4rem;
	color: #fff;
	line-height: 1.3;
	z-index: 10;
}

.property_detail .img .title.bar {
	padding: 2px 0 0 16px;
	border-left-width: 8px;
}

.property_detail .img .bx-wrapper {
	position: relative;
}

.property_detail .img .bx-wrapper .bx-controls-direction a {
	display: none
}

.property_detail .img .bx-pager {
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
	text-align: center;
}

.property_detail .img .bx-pager div {
	display: inline;
}

.property_detail .img .bx-pager div a {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 6px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: #fff;
	border-radius: 6px;
}

.property_detail .img .bx-pager div a.active {
	background: #b81c22;
}

.property_detail .img li {
	position: relative;
}

.property_detail .img li:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 320px;
	background: url(../img/common_img/list_cover.png) center top no-repeat;
	background-size: 100%;
	z-index: 1;
}

.property_detail .img.no_title li:after { display:none; }

.property_detail .txt {
	padding: 30px 20px;
	font-size: 2.2rem;
	line-height: 1.65;
	border-bottom: solid 1px #ccc;
}

.property_detail .info {
	padding: 30px 20px;
	border-bottom: solid 1px #ccc;
}

/* ▼SIMULATOR▼ */
.property_detail.simu .info:last-child {
	border-bottom: none;
}

/*
SEND
***************************************************************************/
/* ▼LIST▼ */
.send_list {
	padding: 30px 20px;
}

.send_list table th, .send_list table td {
	box-sizing: border-box;
	width: 20%;
	padding: 6px 4px;
	vertical-align: middle;
	text-align: center;
	font-size: 2rem;
	background: #f5f5f5;
	border: solid 1px #fff;
}

.send_list table th {
	padding: 8px 4px;
	color: #fff;
	background: #333;
	border-bottom: solid 2px #fff;
}

.send_list table tr:nth-child(2n) td { background:#ddd; }

.send_list table td a {
	display: inline-block;
	width: 88px;
	vertical-align: 2px;
}

/* ▼DETAIL▼ */
.send_detail {
	padding: 30px 20px;
}

.send_detail .type01 th, .send_detail .type01 td {
	box-sizing: border-box;
	width: 25%;
	padding: 8px 4px;
	vertical-align: middle;
	text-align: center;
	font-size: 2rem;
	background: #fafafa;
	border: solid 1px #fff;
}

.send_detail .type01 th {
	color: #e5e5e5;
	background: #333;
	border-bottom: solid 2px #fff;
}

.send_detail .type01 tr:nth-child(2n) td { background:#ddd; }

.send_detail .type02 th, .send_detail .type02 td {
	box-sizing: border-box;
	padding: 8px 12px;
	vertical-align: middle;
	font-size: 2rem;
	background: #fafafa;
	border: solid 1px #fff;
}

.send_detail .type02 th { background:#ddd; }

/*
PORTFOLIO
***************************************************************************/
.port_sec .chart_container {
	position: relative;
}

.port_sec .donutchart {
	box-sizing: border-box;
	float: left;
	width: 240px !important;
  height: auto !important;
  margin-left: 60px !important;
	padding: 0 !important;
	margin-left: -10px;
	background-size: calc((100vw / 320) * 126) !important;
}

.port_sec {
	background: #fafafa;
	border-bottom: solid 1px #ccc;
}

.port_sec .list {
	display: table;
	box-sizing: border-box;
	width: 100%;
	padding: 50px 20px 50px 40px;
  background: url(../img/portfolio/bg.png) center bottom no-repeat;
	background-size: cover;
}

.port_sec .list .chart_container .title {
  /* position: absolute;
	display: table-cell;
	box-sizing: border-box;
	width: calc((100vw / 320) * 126);
  min-height: calc((100vw / 320) * 126);
  padding-top: calc((100vw / 320) * 26);
	margin-left: calc((100vw / 320) * -26);
	vertical-align: middle;
	text-align: center;
	font-size: 42px;
	font-family: 'Optima';
	letter-spacing: -0.04rem;
	/* background: url(../img/portfolio/circle.png) center center no-repeat; */
  /* background-size: calc((100vw / 320) * 126);  */
  
  position: absolute;
	box-sizing: border-box;
	width: 252px;
	min-height: 252px;
	vertical-align: middle;
	text-align: center;
  font-size: 3.2rem;
  top: 85px;
  left: 55px;
	font-family: 'Optima';
	letter-spacing: -0.04rem;
	/* background: url(../portfolio/images/circle.png) center center no-repeat; */
	background-size: 252px;
}

.android .port_sec .list .chart_container .title {
	font-size: 3.6rem;
}

.port_sec .list .title.off {
  background: url(../img/portfolio/circle_off.png) center center no-repeat;
  background-size: 252px;
  padding-top: 40px;
  margin-top: -80px
}

.port_sec .list .chart_container .title span {
	display: block;
	font-size: 2rem;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	letter-spacing: 0.05em;
}

.port_sec .list .title.off span {
	line-height: 2;
	letter-spacing: 0;
}

.port_sec .list ul {
	float: right;
	width: 320px;
  padding-left: 40px;
  vertical-align: top;
  max-height: 240px;
  overflow: scroll;
}

.port_sec .list ul {
	/* Chrome, Edge, Safari */
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE, Edge（旧） */
}
.port_sec .list ul::-webkit-scrollbar {
	display: none;
}

.port_sec .list li {
	margin-bottom: 16px;
	font-size: 2.4rem;
	line-height: 1.3;
}

.port_sec .list li p {
	padding: 2px 0 0 16px;
	border-left-width: 8px;
}

.port_sec .list li a {
	margin-left: 24px;
	font-size: 2rem;
	color: #2666ab;
}

.port_sec .list li a span {
	margin: 0 6px;
	text-decoration: underline;
}

.port_sec .list li a.property_name {
  color: #000 !important;
  font-size: calc((100vw / 320) * 4);
  margin-left: calc((100vw / 320) * 0);
}

.port_sec .list li .balanth-month {
	color: #555;
	font-size: 16px;
	margin-left: 10px;
}

/*
NEWS
***************************************************************************/
.news_sec .date {
	margin-bottom: 20px;
	text-align: right;
	font-size: 2rem;
	color: #666;
}

.news_sec .date span {
	padding-left: 24px;
	background: url(../img/common_img/icon_time.png) left center no-repeat;
	background-size: 16px;
}

.news_sec .box.read {
	background: #f5f5f5;
}

/* ▼LIST▼ */
.news_list {
	padding: 10px 0;
}

.news_list .box a {
	display: block;
	padding: 20px;
	color: #111;
	border-bottom: solid 1px #ccc;
}

.news_list .box:last-child a { padding-bottom:0; border-bottom:none; }

.news_list .img {
	float: left;
	width: 250px;
}

.news_list .content {
	float: right;
	width: 320px;
}

.news_list .title {
	margin-bottom: 20px;
	font-size: 2.4rem;
	line-height: 1.6;
}

.news_list .title span {
	display: block;
}

/* ▼DETAIL▼ */
.news_detail .title_box {
	padding: 30px 24px 0;
}

.news_detail .content {
	padding: 30px 24px;
	font-size: 2.4rem;
}

/*
ONLINE
***************************************************************************/
.online_sec .date {
	font-family: 'Optima';
	letter-spacing: -0.04rem;
}

.online_sec .cat li {
	display: inline-block;
	margin-left: 4px;
	padding: 4px 12px 2px;
	font-size: 2rem;
	color: #fff;
}

.online_sec .cat li.pink { background:#b77786; }
.online_sec .cat li.green { background:#91bbb4; }

/* ▼INTRO▼ */
.online_intro li {
	position: relative;
	margin-top: 2px;
	font-size: 2.4rem;
	line-height: 1.5;
}

.online_intro li a {
	display: block;
	color: #fff;
}

.online_intro li p {
	display: table;
	position: absolute;
	bottom: 0;
	width: 50%;
  height: calc((100vw / 320) * 50);
  font-size: 20px;
  background: rgba(17,17,17,0.7);
}
.online_intro li p.left {
  left: 0;
}

.online_intro li p.right {
  right: 0;
}

.online_intro li span {
	display: table-cell;
	width: 100%;
	vertical-align: top;
  text-align: left;
  padding: 10px 10px 0 20px !important;
}

.online_intro li img {
  width: 100%;
  height: calc((100vw / 320) * 50);
	object-fit: cover;
}

/* ▼LIST▼ */
.online_list {
	padding: 10px 0;
	font-size: 2.4rem;
}

.online_list .box a {
	display: block;
	padding: 20px;
	color: #111;
	border-bottom: solid 1px #ccc;
}

.online_list .box:last-child a { padding-bottom:0; border-bottom:none; }

.online_list .img {
	position: relative;
	float: left;
	width: 40%;
}

.online_list .img.new:after {
	content: '';
	position: absolute;
	top: 12px;
	left: 0;
	width: 100px;
	height: 30px;
	background: url(../img/common_img/icon_new.png) no-repeat;
	background-size: 100px;
}

.online_list .content {
	float: right;
	width: 55%;
}

.online_list .date {
	float: left;
	width: 40%;
}

.online_list .cat {
	float: right;
	width: 55%;
	text-align: right;
}

.online_list .title {
	font-size: 2.4rem;
	line-height: 1.6;
}

/* ▼DETAIL▼ */
.online_detail {
	padding: 30px 20px;
}

.online_detail .date {
	display: inline-block;
	margin-right: 10px;
	font-size: 2rem;
}

.online_detail .cat {
	display: inline-block;
}

.online_detail .title {
	margin-bottom: 40px;
	font-size: 3.6rem;
}

.online_detail .img {
	margin-bottom: 40px;
}

.online_detail .content p {
	margin-bottom: 40px;
	font-size: 2.4rem;
}

.online_detail .content h3 {
	margin-bottom: 30px;
	padding-bottom: 16px;
	font-size: 3.2rem;
	border-bottom: solid 1px #ccc;
}

.online_detail .content a {
	color: #0143cb;
}

/*
CONCIERGE
***************************************************************************/
#contents.concierge_sec {
	background: #fafafa;
}

#contents.concierge_sec.type1 { padding-bottom:192px; }
#contents.concierge_sec.type2 { padding-bottom:352px; }

.concierge_sec .box {
	padding: 30px;
	font-size: 2.4rem;
	border-bottom: solid 1px #ccc;
}

.concierge_sec .box.user {
	text-align: right;
	background: #fff;
}

.concierge_sec .box.noread {
	background: #e5e5e5;
}

.concierge_sec .box:first-child {
	margin-top: 10px;
}

.concierge_sec .box:last-child { border-bottom:none; }

.concierge_sec .box .master {
	margin: 0 -10px 30px;
	font-size: 2.4rem;
	font-weight: bold;
	color: #999;
}

.concierge_sec .box .master img {
	width: 90px;
	margin-right: 20px;
	vertical-align: middle;
	border-radius: 90px;
}

.concierge_sec .box.user .master img { margin-left:20px; }

.concierge_sec .box .img {
	width: 440px;
}

.concierge_sec .box .date {
	text-align: right;
	font-size: 2rem;
	color: #666;
}

.concierge_sec .sbox {
	padding: 30px;
	color: #fff;
	background: #aaa;
	border-radius: 10px;
}

.concierge_sec .sbox .title {
	margin-bottom: 30px;
	font-size: 2.4rem;
}

.concierge_sec .sbox li a {
	display: block;
	margin-bottom: 12px;
	padding: 20px 0 18px;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	background: #b81c22;
	border-radius: 8px;
	box-shadow: 0px 2px 3px -2px #686868;
}

.concierge_sec .sbox li a:focus { color:#b81c22; background:#fff; }

.concierge_sec .box .noread_txt {
	position: relative;
	margin: -10px -30px 20px;
	text-align: center;
	font-size: 2rem;
	color: #b81c22;
	line-height: 48px;
	overflow-x: hidden;
}

.concierge_sec .box .noread_txt:before {
	content: '';
	position: absolute;
	top: 24px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #b81c22;
}

.concierge_sec .box .noread_txt span {
	display: inline-block;
	position: relative;
	padding: 0 16px;
	background: #ffffff;
	z-index: 1;
}

.concierge_sec .choice {
	position: fixed;
	bottom: 192px;
	left: 50%;
	width: 750px;
	height: 160px;
	margin-left: -375px;
	background: #fff;
	box-shadow: 0 -1px 3px rgba(0,0,0,0.2);
	z-index: 101;
}

.concierge_sec .choice li {
	box-sizing: border-box;
	float: left;
	width: 50%;
	height: 160px;
	padding-top: 100px;
	text-align: center;
	font-size: 2rem;
	color: #666;
}

.concierge_sec .choice li.file {
	background: url(../img/common_img/icon_file.png) center 30px no-repeat;
	background-size: 60px;
	border-right: solid 1px #ccc;
}

.concierge_sec .choice li.chat {
	background: url(../img/common_img/icon_chat.png) center 30px no-repeat;
	background-size: 60px;
}

.concierge_sec .input {
	position: fixed;
	box-sizing: border-box;
	bottom: 0;
	left: 50%;
	width: 750px;
	height: 96px;
	margin-left: -375px;
	padding: 0 4px;
	background: #333;
	z-index: 101;
}

.concierge_sec .input form {
	display: table;
	width: 100%;
	height: 96px;
}

.concierge_sec .input .icon {
	display: table-cell;
	width: 60px;
	vertical-align: middle;
}

.concierge_sec .input .txt {
	display: table-cell;
	box-sizing: border-box;
	width: 520px;
	padding: 0 8px;
	vertical-align: middle;
}

.concierge_sec .input .txt input {
	height: 60px;
}

.concierge_sec .push_txt {
	display: none;
	box-sizing: border-box;
	position: fixed;
	bottom: calc((100vw / 320) * 48);
	left: 0;
	width: 100%;
	height: calc((100vw / 320) * 48);
	padding: 0 calc((100vw / 320) * 10);
	font-size: calc((100vw / 320) * 12);
	color: #fff;
	line-height: calc((100vw / 320) * 48);
	background: rgba(184,28,34,0.75);
	z-index: 102;
}

.concierge_sec .sbox .title {
	margin-bottom: calc((100vw / 320) * 12);
	font-size: calc((100vw / 320) * 12);
}

.sbox li a {
	display: block;
	margin-bottom: calc((100vw / 320) * 6);
	padding: calc((100vw / 320) * 10) 0 calc((100vw / 320) * 9);
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: #b81c22;
	box-shadow: 0px 2px 5px -2px #686868;
}

.concierge_sec .sbox li a:focus { background:#b81c22; }

.concierge_sec table th {
	width: 25%;
}

img.chat__chumbnail {
	width: 100px;
	height: 100px;
	object-fit: contain;
}

.chat__main_content {
	overflow: scroll;
	word-break: break-all;
}

.chat__select_btn_selected {
	background: #9a9a9a !important;
}

.concierge_sec .information-event {
  text-align: left;
}

.concierge_sec .information-event table th {
	box-sizing: border-box;
	width: 20%;
	padding: calc((100vw / 320) * 3) calc((100vw / 320) * 2);
	vertical-align: middle;
	text-align: center;
	font-size: calc((100vw / 320) * 10);
	background: #f5f5f5;
	border: solid 1px #fff;
}

.concierge_sec .information-event .tbl01 td {
	background: #fafafa;
	border-left: solid 2px #fff;
}

.concierge_sec .box a {
	color: #b81c22;
}

.chat__form {
  padding-top: 15px
}
.chat__form .txt {
  width: 86% !important;
}

/* Dropzone */
#chat__file_dropzone .dropzone {
	border-color: #b6690e;
	background: #fff;
	margin: 20px;
}
#chat__file_dropzone .dropzone .dz-message {
	font-size: 1rem;
	height: 30px;
}
#chat__file_dropzone .dropzone .dz-message:before,
#chat__file_dropzone .dropzone .dz-preview .dz-remove:before {
	content: none;
}
#chat__file_dropzone .dropzone .dz-preview {
	margin-top: 95px;
}
#chat__file_dropzone .dropzone .dz-preview .dz-image {
	border-radius: 0;
}

#chat__menu_close_btn {
	width: 100px;
	text-align: center;
	font-size: 11px;
	color: #b81c22;
	background: #fff;
	border: solid 2px #b81c22;
	border-radius: calc((100vw / 320) * 2);
	padding: 10px;
}
#chat__send_file_btn {
	width: 100px;
	text-align: center;
	font-size: 11px;
	color: #fff;
	background: #b81c22;
	border: solid 2px #b81c22;
	border-radius: calc((100vw / 320) * 2);
	padding: 10px;
}
.chat__slect_send_menu .dropzone .dz-message {
	color: #b81c22;
}
.chat__menu_area {
  display: table;
  border-top: 1px solid #cdcdcd;
  border-bottom: 1px solid #cdcdcd;
  background-color: #FFF;
	height: calc((100vw / 320) * 58);
  
  position: fixed;
  box-sizing: border-box;
  bottom: -50px;
  left: 50%;
  width: 750px;
  /* height: 96px; */
  margin-left: -375px;
  padding: 0 4px;
  z-index: 100;
}
.chat__menu_area div.menu_btn {
	display: table-cell;
	width: 50%;
	text-align: center;
	vertical-align: middle;
}
.chat__menu_area .menu_btn i {
	color: #b81c22;
}
.chat__menu_area div.menu_btn:first-child {
	border-right: 1px solid #cdcdcd;
}
.chat__menu_area div.menu_btn .fa, .far, .fas {
	font-size: 30px !important;
}
.chat__menu_area div.menu_btn p {
	font-size: 10px;
}

/*
OTHERS
***************************************************************************/
.others_sec {
	background: #e5e5e5;
}

.others_sec .btn_list {
	padding: 30px 20px 20px;
	background: #fff;
}

.others_sec .btn_list.ex {
	padding: 40px 20px 20px;
	background: #e5e5e5;
}

.others_sec .btn_list li {
	box-sizing: border-box;
	float: left;
	width: calc(100% / 3);
	margin-bottom: 20px;
	padding: 0 10px;
}

/*
FAQ
***************************************************************************/
.faq_sec .search {
	padding: 30px 20px;
	background: #e5e5e5;
}

.faq_sec .search .input {
	float: left;
	width: calc(100% - 140px);
}

.faq_sec .search .input input {
	height: 68px;
	border: none;
}

.faq_sec .search .btn {
	float: right;
	width: 120px;
}

.faq_sec .search .btn input {
	background: #020101;
	border-radius: 3px;
}

.faq_sec .search .btn input:focus {
	outline: none;
	background: #454545;
	border-radius: 3px;
}

.faq_sec .set {
	padding: 30px 20px 40px;
	border-bottom: solid 1px #ccc;
}

.faq_sec .set:last-child { border-bottom:none; }

.faq_sec .box {
	margin-bottom: 40px;
}

.faq_sec .box:last-child { margin-bottom:0; }

.faq_sec .box .title {
	position: relative;
	padding: 24px 30px;
	font-size: 2.4rem;
	font-weight: normal;
	color: #333;
	background: #fff;
	border-top: solid 1px #999;
	border-left: solid 1px #999;
	border-right: solid 1px #999;
}

.faq_sec .box .title:after {
	content: '';
	position: absolute;
	top: -30px;
	left: 10px;
	width: 56px;
	height: 48px;
	background: url(../img/common_img/icon_q.png) no-repeat;
	background-size: 56px;
}

.faq_sec .box .inner {
	display: none;
	padding: 30px 30px 10px 80px;
	font-size: 2.4rem;
	color: #fff;
	background: #999 url(../img/common_img/icon_a.png) 10px 10px no-repeat;
	background-size: 56px;
}

.faq_sec .box .arrow {
	display: block;
	height: 48px;
	background: #999 url(../img/common_img/arrow_down.png) center center no-repeat;
	background-size: 24px;
}

.faq_sec .box .arrow.opened {
	background: #999 url(../img/common_img/arrow_up.png) center center no-repeat;
	background-size: 24px;
}

/*
STAFF
***************************************************************************/
.staff_sec .box {
	padding: 40px 20px;
}

.staff_sec .box a {
	color: #111;
}

/*
SETTING
***************************************************************************/
.setting_sec .box {
	padding: 40px 20px 20px;
}

.setting_sec .box select {
	width: 56px;
	height: 48px;
	padding: 0 8px;
	text-align: center;
	line-height: 48px;
}

/*
GUIDE
***************************************************************************/
.guide_sec .set {
	margin-bottom: 30px;
	padding: 40px 30px 0;
	/* background: url(../img/common_img/line_dot.png) center bottom no-repeat; */
	background-size: 4px;
}

.guide_sec .box {
	margin-bottom: 40px;
	font-size: 2.2rem;
	color: #333;
	line-height: 1.7;
}

.guide_sec .box .title {
	margin-bottom: 20px;
	font-size: 2.8rem;
	color: #111;
}

/*
MEMBER
***************************************************************************/
.member_sec .btn_list {
	padding: 50px 40px;
}

.member_sec .btn_list li a {
	display: block;
	margin-bottom: 60px;
	padding: 20px 0;
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
	background: #666;
	border-radius: 6px;
	box-shadow: 0px 2px 5px -2px #686868;
}

.member_sec .btn_list li a:focus { background:#b81c22; }

.member_sec .btn_list li a span {
	padding: 10px 0  10px 56px;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 40px;
}

.member_sec .btn_list li.info a span { background-image:url(../img/common_img/icon01.png); }
.member_sec .btn_list li.mail a span { background-image:url(../img/common_img/icon02.png); }
.member_sec .btn_list li.pass a span { background-image:url(../img/common_img/icon03.png); }

.regist_sec.member {
	padding: 0 0 50px;
}

.regist_sec.member .content {
	padding: 30px 20px 0;
}

.regist_sec.member .input_box input {
	height: 80px;
	margin-bottom: 40px;
	background: #fafafa;
	border-radius: 4px;
}

.regist_sec.member .btn input[type="submit"] {
  -webkit-appearance: none;
	padding: 32px 0 30px;
}

/*
REGIST
***************************************************************************/
.regist_sec {
	box-sizing: border-box;
	width: 750px;
	margin: 0 auto;
	padding: 50px 20px;
	font-size: 2.2rem;
	background: #fff;
}

.regist_sec .head {
	margin-bottom: 20px;
	text-align: center;
}

.regist_sec .head .title {
	width: 300px;
	margin: 0 auto 20px;
	padding-bottom: 16px;
	font-size: 3.2rem;
	border-bottom: solid 4px #b81c22;
}

.regist_sec .head .title span {
	display: block;
	margin-bottom: 8px;
	color: #b81c22;
	font-family: 'Optima';
	letter-spacing: -0.04rem;
}

.regist_sec .head li {
	display: inline;
	margin: 0 6px;
	font-size: 3.2rem;
	color: #b8b8b8;
}

.regist_sec .head li.active { color:#b81c22; }

.regist_sec .chk_box input[type="checkbox"]{
	margin-right: 8px;
	vertical-align:-4px;
}

.guide_box {
	box-sizing: border-box;
	height: 560px;
	margin-bottom: 20px;
	padding: 20px 30px;
	font-size: 2rem;
	color: #333;
	line-height: 1.6;
	background: #f8f8f8;
	border: solid 1px #b8b8b8;
	border-radius: 4px;
	box-shadow: 1px 1px 4px -2px #ccc inset;
	overflow-y: auto;
}

.guide_box .title {
	margin-bottom: 20px;
	font-size: 2.6rem;
	color: #111;
}

input[type="password"].pass_input {
	height: 80px;
	border-radius: 4px;
}

/*
FORM
***************************************************************************/
.icon_must {
	margin-right: 4px;
	color: #e08213;
}

.form_tbl th, .form_tbl td {
	vertical-align: top;
	font-size: 2rem;
	line-height: 1.6;
	border-bottom: solid 1px #fff;
}

.form_tbl th {
	position: relative;
	width: 27%;
	padding: 36px 30px 24px 12px;
	background: #e5e5e5;
}

.form_tbl th.ex {
	padding: 24px 30px 24px 12px;
}

.form_tbl td {
	width: 73%;
	padding: 20px 12px;
	background: #fff;
	border-left: solid 2px #fff;
}

.form_tbl th.must:after {
	content: '*';
	position: absolute;
	top: 40px;
	right: 12px;
	font-size: 2.2rem;
	color: #b81c22;
}

.form_tbl th.ex:after { top:28px; }

.form_tbl select {
	height: 64px;
	line-height: 64px;
}

.form_tbl dl {
	margin-bottom: 10px;
}

.form_tbl dl:last-child { margin-bottom:0; }

.form_tbl dt {
	float: left;
	width: 25%;
	margin-top: 10px;
}

.form_tbl dd {
	box-sizing: border-box;
	float: left;
	width: 75%;
	padding-left: 10px;
}

.form_tbl dt.must:after {
	content: ' *';
	font-size: calc((100vw / 320) * 6);
	color: #b81c22;
}

.add_box {
	display: none;
	padding-top: 10px;
}

.add_box:first-child {
	padding-top: 0;
}

.form_btn {
	width: 400px;
	margin: 0 auto;
}

.form_btn span {
	display: block;
	position: relative;
	width: 100%;
}

.form_btn input[type="submit"] {
  -webkit-appearance: none;
	padding: 16px 40px;
	font-size: 2.4rem;
	color: #b81c22;
	background: #fff;
	border: solid 2px #b81c22;
	border-radius: 6px;
	box-shadow: none;
}

.form_btn span:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 12px;
	height: 20px;
	margin-top: -10px;
	background: url(../img/common_img/arrow_red.png) no-repeat;
	background-size: 12px;
}

.form_btn input:focus, .form_btn:focus span:after { opacity:0.8; }

.form_btn input[type="submit"]:focus { background:#fff; }

.form_btn_list {
	margin-top: 40px;
}

.form_btn_list li:first-child { float:left; width:40%; }
.form_btn_list li:last-child { float:right; }

.form_btn_list .btn_back span {
	display: block;
	position: relative;
	width: 100%;
	padding: 8px 0;
	text-align: center;
	font-size: 2.4rem;
	color: #999;
	background: #fff;
	border: solid 2px #999;
	border-radius: 6px;
}

.form_btn_list .btn_back span:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 20px;
	width: 12px;
	height: 20px;
	margin-top: -10px;
	background: url(../img/common_img/arrow_gray.png) no-repeat;
	background-size: 12px;
}

.form_btn_list .btn_back span:focus, .form_btn_list .btn_back span:focus:after { opacity:0.8; }

.form_btn_list .form_btn {
	width: 56%;
	margin: 0;
}

.form_btn_list .form_btn span:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 30px;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: url(../img/common_img/icon_check.png) no-repeat;
	background-size: 24px;
}

.error_box {
	margin: 10px 0 20px;
	padding: 20px 30px;
	font-size: 2.2rem;
	font-weight: bold;
	color: #d41d50;
	background: #ffedf2;
}

/*
FOOTER
***************************************************************************/
footer {
	position: fixed;
	bottom: 0;
	left: 50%;
	width: 750px;
	height: 96px;
	margin-left: -375px;
	box-shadow: 0 -1px 3px rgba(0,0,0,0.2);
	z-index: 100;
}

footer li {
	float: left;
	width: calc(99.9% / 6);
	text-align: center;
	font-size: 1.3rem;
}

footer li a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 96px;
	padding-top: 64px;
	color: #5d5d61;
	background-color: #fff;
	background-position: center 10px;
	background-repeat: no-repeat;
	background-size: 60px;
}

footer li a:active { opacity:1; }

footer li:nth-child(1) a { background-image:url(../img/common_img/f_icon01_off.png); }
footer li:nth-child(2) a { background-image:url(../img/common_img/f_icon02_off.png); }
footer li:nth-child(3) a { background-image:url(../img/common_img/f_icon03_off.png); }
footer li:nth-child(4) a { background-image:url(../img/common_img/f_icon04_off.png); }
footer li:nth-child(5) a { background-image:url(../img/common_img/f_icon05_off.png?20191111); }
footer li:nth-child(6) a { background-image:url(../img/common_img/f_icon06_off.png?20191111); }

footer li.active a, footer li a:active {
	color: #fff;
	background-color: #020101;
}

footer li:nth-child(1).active a, footer li:nth-child(1) a:active { background-image:url(../img/common_img/f_icon01_on.png); }
footer li:nth-child(2).active a, footer li:nth-child(2) a:active { background-image:url(../img/common_img/f_icon02_on.png); }
footer li:nth-child(3).active a, footer li:nth-child(3) a:active { background-image:url(../img/common_img/f_icon03_on.png); }
footer li:nth-child(4).active a, footer li:nth-child(4) a:active { background-image:url(../img/common_img/f_icon04_on.png); }
footer li:nth-child(5).active a, footer li:nth-child(5) a:active { background-image:url(../img/common_img/f_icon05_on.png); }
footer li:nth-child(6).active a, footer li:nth-child(6) a:active { background-image:url(../img/common_img/f_icon06_on.png); }

/*
OVERLAY WINDOW
***************************************************************************/
#overlay_window {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 10000;
	overflow: auto;
}

.overlay_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 480px;
	margin-left: -240px;
}

.overlay_content {
	display: none;
	position: relative;
	padding: 70px 40px;
	background: #fff;
	border-radius: 4px;
}

.overlay_content dt, .overlay_content dd {
	float: left;
	padding: 4px 0;
	font-size: 2.4rem;
}

.overlay_content dt {
	width: 35%;
	text-align: right;
}

.overlay_content dd {
	box-sizing: border-box;
	width: 65%;
	padding-left: 10px;
}

.overlay_content a { color:#000; }

.overlay_content .btn li {
	float: right;
	width: calc(50% - 10px);
	padding: 12px 0;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #c68f4e;
	box-shadow: 0px 2px 5px -2px #686868;
}

.overlay_content .btn li.cancel.btn_close {
	position: static;
	float: left;
	width: calc(50% - 10px);
	background: #333;
}

.overlay_content .btn_ok li {
	margin: 0 60px;
	padding: 12px 0;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #c68f4e;
	box-shadow: 0px 2px 5px -2px #686868;
}

.btn_close {
	position: absolute;
	top: 10px;
	right: 20px;
	width: 28px;
	z-index: 10001;
}

/*
PARTS
***************************************************************************/
/* ▼TITLE▼ */
.title01 {
	padding: 2px 0 0 16px;
	font-size: 2.8rem;
	border-left: solid 6px #b81c22;
}

.title02 {
	padding: 2px 0 0 16px;
	font-size: 2.8rem;
	border-left: solid 4px #c68f4e;
}

/* ▼BUTTON▼ */
.btn01 {
	padding: 6px 0;
	text-align: center;
	font-size: 2.4rem;
	color: #545353;
	border: solid 1px #999;
	border-radius: 4px;
}

.btn01.add {
	padding: 10px 0;
	color: #fff;
	background: #666;
	border: none;
}

.btn01 a { color:#545353; }

.btn02 {
	padding: 16px 0;
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
	border-radius: 4px;
}

.btn02 a { color:#fff; }

.btn02.red { background:#b81c22; }

.btn03 {
	padding: 8px 0;
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
	background: #ccc;
	border-radius: 4px;
}

.btn03 a { color:#fff; }

.btn01 span, .btn02 span, .btn03 span {
	padding-left: 40px;
}

.btn01.plus span {
	background: url(../img/common_img/icon_plus.png) left center no-repeat;
	background-size: 24px;
}

.btn01.add span {
	background: url(../img/common_img/icon_add.png) left center no-repeat;
	background-size: 24px;
}

.btn01.edit span {
	background: url(../img/common_img/icon_edit.png) left center no-repeat;
	background-size: 24px;
}

.btn02.check span {
	background: url(../img/common_img/icon_check.png) left center no-repeat;
	background-size: 24px;
}

.btn03.cancel span {
	background: url(../img/common_img/icon_cancel.png) left center no-repeat;
	background-size: 24px;
}

.btn03.back span {
	background: url(../img/common_img/icon_back.png) left center no-repeat;
	background-size: 24px;
}

.edit_btn {
	margin: 30px 20px;
}

.edit_btn li {
	margin-bottom: 20px;
}

.edit_btn li:last-child { margin-bottom:0; }

.btn-release {
	background: #b81c22;
	border: none;
	color: #fff;
	padding: 10px 20px;
	text-align: center;
	font-size: 16px;
	border-radius: calc((100vw / 320) * 2);
}

/* ▼DL▼ */
.dlist01 {
	margin-bottom: 10px;
}

.dlist01 dt {
	float: left;
	width: 20%;
	margin-top: 10px;
}

.dlist01 dd {
	box-sizing: border-box;
	float: left;
	width: 80%;
	padding-left: 10px;
}

.dlist02 {
	display: table;
	width: 100%;
	margin: 24px 0;
}

.dlist02 dt, .dlist02 dd {
	display: table-cell;
	vertical-align: middle;
}

.dlist02 dt {
	box-sizing: border-box;
	width: 70%;
	padding-left: 40px;
	font-size: 2.4rem;
	font-size: bold;
	line-height: 1.6;
}

.dlist02 dd {
	box-sizing: border-box;
	width: 140px;
	padding-right: 40px;
	text-align: right;
}

/* ▼TABLE▼ */
.tbl01 th, .tbl01 td {
	padding: 20px;
	vertical-align: middle;
	font-size: 2rem;
	line-height: 1.6;
	border-bottom: solid 1px #fff;
}

.tbl01 th {
	background: #e5e5e5;
}

.tbl01.edit th { background:#ccc; }

.tbl01 td {
	background: #fafafa;
	border-left: solid 2px #fff;
}

.tbl01.edit td { background:#fff; }

.tbl02 th, .tbl02 td {
	box-sizing: border-box;
	padding: 20px;
	vertical-align: middle;
	font-size: 2.2rem;
	color: #111;
	line-height: 1.6;
	border-bottom: solid 1px #fff;
}

.tbl02 th {
	text-align: center;
	color: #fff;
	background: #666;
}

.tbl02 td {
	background: #e5e5e5;
	border-left: solid 2px #fff;
}

.tbl02 td a { color:#111; }

/* ▼LIST▼ */
.pdf_list li {
	margin-bottom: 16px;
	padding-left: 44px;
	font-size: 2.2rem;
	background: url(../img/common_img/icon_pdf.png) left top no-repeat;
	background-size: 28px;
}

.pdf_list li a {
	color: #111;
	text-decoration: underline;
}

/*
COMMON PARTS
***************************************************************************/
/* ▼display▼ */
.block { display:block!important; }
.inline { display:inline!important; }
.no_disp { display:none!important; }

.posit_r { position:relative!important; }
.posit_a { position:absolute!important; }
.posit_f { position:fixed!important; }

.align_c { text-align:center!important; }
.align_r { text-align:right!important; }
.align_l { text-align:left!important; }

.disp_l { float:left!important; }
.disp_r { float:right!important; }

.va_top { vertical-align:top!important; }
.va_mid { vertical-align:middle!important; }
.va_btm { vertical-align:bottom!important; }

/* ▼width▼ */
.w4per { width:4%!important; }
.w5per { width:5%!important; }
.w8per { width:8%!important; }
.w10per { width:10%!important; }
.w15per { width:15%!important; }
.w20per { width:20%!important; }
.w22per { width:22%!important; }
.w25per { width:25%!important; }
.w30per { width:30%!important; }
.w35per { width:35%!important; }
.w40per { width:40%!important; }
.w45per { width:45%!important; }
.w50per { width:50%!important; }
.w55per { width:55%!important; }
.w56per { width:56%!important; }
.w60per { width:60%!important; }
.w70per { width:70%!important; }
.w75per { width:75%!important; }
.w80per { width:80%!important; }
.w100per { width:100%!important; }

.w80 { width:160px!important; }
.w90 { width:180px!important; }
.w160 { width:320px!important; }
.w250 { width:500px!important; }
.w400 { width:800px!important; }

.h80 { height:160px!important; }
.h100 { height:180px!important; }
.h240 { height:480px!important; }

/* ▼area▼ */
.mb60 { margin-bottom:120px!important; }
.mb55 { margin-bottom:110px!important; }
.mb50 { margin-bottom:100px!important; }
.mb45 { margin-bottom:90px!important; }
.mb40 { margin-bottom:80px!important; }
.mb35 { margin-bottom:70px!important; }
.mb30 { margin-bottom:60px!important; }
.mb25 { margin-bottom:50px!important; }
.mb20 { margin-bottom:40px!important; }
.mb15 { margin-bottom:30px!important; }
.mb12 { margin-bottom:24px!important; }
.mb10 { margin-bottom:20px!important; }
.mb8 { margin-bottom:16px!important; }
.mb5 { margin-bottom:10px!important; }
.mb1 { margin-bottom:2px!important; }
.mb0 { margin-bottom:0!important; }

.mlr60 { margin-left:120px!important; margin-right:120px!important; }
.mlr55 { margin-left:110px!important; margin-right:110px!important; }
.mlr50 { margin-left:100px!important; margin-right:100px!important; }
.mlr45 { margin-left:90px!important; margin-right:90px!important; }
.mlr40 { margin-left:80px!important; margin-right:80px!important; }
.mlr35 { margin-left:70px!important; margin-right:70px!important; }
.mlr30 { margin-left:60px!important; margin-right:60px!important; }
.mlr25 { margin-left:50px!important; margin-right:50px!important; }
.mlr20 { margin-left:40px!important; margin-right:40px!important; }
.mlr15 { margin-left:30px!important; margin-right:30px!important; }
.mlr10 { margin-left:20px!important; margin-right:20px!important; }
.mlr5 { margin-left:10px!important; margin-right:10px!important; }
.mlr-1 { margin-left:-2px!important; margin-right:-2px!important; }
.mlr-5 { margin-left:-10px!important; margin-right:-10px!important; }
.mlr-10 { margin-left:-20px!important; margin-right:-20px!important; }
.mlr-20 { margin-left:-40px!important; margin-right:-40px!important; }

.mr50 { margin-right:100px!important; }
.mr40 { margin-right:80px!important; }
.mr30 { margin-right:60px!important; }
.mr25 { margin-right:50px!important; }
.mr20 { margin-right:40px!important; }
.mr15 { margin-right:30px!important; }
.mr10 { margin-right:20px!important; }
.mr5 { margin-right:10px!important; }
.mr0 { margin-right:0px!important; }
.mr-5 { margin-right:-10px!important; }

.ml50 { margin-left:100px!important; }
.ml40 { margin-left:80px!important; }
.ml30 { margin-left:60px!important; }
.ml20 { margin-left:40px!important; }
.ml15 { margin-left:30px!important; }
.ml10 { margin-left:20px!important; }
.ml0 { margin-left:0px!important; }
.ml-5 { margin-left:-10px!important; }
.ml-10 { margin-left:-20px!important; }
.ml-15 { margin-left:-30px!important; }
.ml-20 { margin-left:-40px!important; }

.mtb15 { margin-top:30px!important; margin-bottom:30px!important; }

.mt60 { margin-top:120px!important; }
.mt55 { margin-top:110px!important; }
.mt50 { margin-top:100px!important; }
.mt45 { margin-top:90px!important; }
.mt40 { margin-top:80px!important; }
.mt30 { margin-top:60px!important; }
.mt20 { margin-top:40px!important; }
.mt16 { margin-top:32px!important; }
.mt15 { margin-top:30px!important; }
.mt10 { margin-top:20px!important; }
.mt5 { margin-top:10px!important; }
.mt3 { margin-top:6px!important; }
.mt0 { margin-top:0!important; }
.mt-5 { margin-top:-10px!important; }
.mt-10 { margin-top:-20px!important; }
.mt-20 { margin-top:-40px!important; }
.mt-40 { margin-top:-80px!important; }
.mt-50 { margin-top:-100px!important; }

.pb30 { padding-bottom:60px!important; }
.pb8 { padding-bottom:16px!important; }
.pb0 { padding-bottom:0!important; }

.p20 { padding:40px!important; }
.p15 { padding:30px!important; }
.p10 { padding:20px!important; }

.pt60 { padding-top:120px!important; }
.pt50 { padding-top:100px!important; }

.ptb20 { padding-top:40px!important; padding-bottom:40px!important; }
.ptb15 { padding-top:30px!important; padding-bottom:30px!important; }
.ptb5 { padding-top:10px!important; padding-bottom:10px!important; }
.ptb0 { padding-top:0!important; padding-bottom:0!important; }

.pr5 { padding-right:calc((100vw / 320) * 5)!important; }

.plr25 { padding-left:50px!important; padding-right:50px!important; }

/* ▼font▼ */
.bold { font-weight:bold!important; }
.normal { font-weight:normal!important; }

.size9 { font-size:1.8rem!important; }
.size10 { font-size:2rem!important; }
.size11 { font-size:2.2rem!important; }
.size12 { font-size:2.4rem!important; }
.size13 { font-size:2.6rem!important; }
.size14 { font-size:2.8rem!important; }
.size16 { font-size:3.2rem!important; }
.size17 { font-size:3.4rem!important; }
.size18 { font-size:3.6rem!important; }
.size19 { font-size:3.8rem!important; }
.size20 { font-size:4.0rem!important; }
.size22 { font-size:4.4rem!important; }
.size24 { font-size:4.8rem!important; }
.size30 { font-size:6.0rem!important; }

.c_blue { color:#265a91!important; }
.c_dblue { color:#2a6394!important; }

.lh2 { line-height:2!important; }
.lh18 { line-height:1.8!important; }
.lh16 { line-height:1.6!important; }
.lh15 { line-height:1.5!important; }

/* ▼link▼ */
a.line, .line { text-decoration:underline!important; }
a.no_line { text-decoration:none!important; }

/* ▼frame▼ */
.img_frame01 { border:solid 1px #fff; }

/* ▼line▼ */

/* ▼indent▼ */
.indent1 { margin-left:1em; text-indent:-1em; }
.indent2 { margin-left:2em; text-indent:-2em; }
.indent3 { margin-left:3em; text-indent:-3em; }
.indent4 { margin-left:4em; text-indent:-4em; }
.indent5 { margin-left:5em; text-indent:-5em; }
.indent6 { margin-left:6em; text-indent:-6em; }

/* ▼background▼ */
.bg_none { background:none!important; }
.bg_sorange { background:#b6690e!important; }
.bg_dorange { background:#904f00!important; }
.bg_dred { background:#bd3838!important; }
.bg_dblue { color:#fff!important; background:#2a6394!important; }
.bg_lblue { background:#b9cedf!important; }
.bg_dyellow { color:#fff!important; background:#d1a11c!important; }
.bg_lyellow { background:#e7d39a!important; }
.bg_dgray { color:#fff!important; background:#707173!important; }
.bg_lgray { background:#efefef!important; }

/* ▼border▼ */
.border_none { border:none!important; }

/* ▼form▼ */
input[type="text"], input[type="number"], input[type="tel"], select, textarea, input[type="file"], input[type="tel"], input[type="email"], input[type="password"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	box-sizing: border-box;
	width: 100%;
	padding: 12px;
	vertical-align: middle;
	font-size: 2.4rem;
	color: #111;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	background: #fff;
	border: solid 1px #aaa;
	box-shadow: 1px 1px 4px -2px #ccc inset;
}

input[type="text"]:focus, input[type="number"]:focus, input[type="tel"]:focus, select:focus, textarea:focus, input[type="file"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="password"]:focus, button:focus {
	border:solid 1px #aaa;
	outline: none;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	font-size: 2rem;
	color: #dddddd;
	font-weight: normal;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	font-size: 2rem;
	color: #dddddd;
	font-weight: normal;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
	font-size: 2rem;
	color: #dddddd;
	font-weight: normal;
}

select {
	height: 56px;
	padding: 0 12px;
	font-size: 2.2rem!important;
	color: #666;
	line-height: 54px;
}

textarea { height:360px; padding:20px; }

.arrow_select {
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 16px;
	margin-top: -4px;
}

input[type="text"], input[type="number"], input[type="tel"], input[type="tel"], input[type="email"], input[type="password"] { height:52px; }

input[type="radio"], input[type="checkbox"] {
	/*-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	vertical-align: -6px!important;
	background: #fff;
	border: solid 1px #ccc;*/
}

/*input[type="radio"] { border-radius:14px; }*/

input[type="radio"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 32px;
	height: 32px;
	opacity: 0;
}

.radio_list li {
	box-sizing: border-box;
	position: relative;
	margin: 6px 0;
	padding-left: 44px;
	font-size: 2.4rem;
	color: #111;
	line-height: 32px;
	background: url(../img/common_img/radio_box_off.png) left center no-repeat;
	background-size: 32px;
}

.radio_list li.active {
	color: #111;
	background: url(../img/common_img/radio_box_on.png) left center no-repeat;
	background-size: 32px;
}

.radio_list.col li {
	display: inline-block;
	margin: 6px 30px 6px 0;
}

input[type="radio"]:focus, input[type="checkbox"]:focus { outline:none; }

input[type="submit"] {
	width: 100%;
	padding: 24px 0 22px;
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
	background: #a92e2a;
	border: none;
	border-radius: 4px;
	box-shadow: 0px 2px 5px -2px #686868;
}

/*input[type="submit"]:focus { background:#b6690e; outline:none; }*/

.error_sec {
	position: relative;
  height: calc(100vh - calc((100vw / 320) * 148));
}
.error_sec .error_container {
	position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
  width: 100%;
  text-align: center;
}
.error_sec .error_container h1 {
	font-size: calc((100vw / 320) * 58);
	color: #c68f4e;
}

/* バリデーションエラー */
.error-msg {
	color: #d41d50 !important;
}
.form-error {
	border: none;
	border-color: #d41d50 !important;
	background-color: #ffedf2 !important;
}

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
	pointer-events: none !important;
}
.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
	background: url(../img/top/btn_prev.png) no-repeat center center / contain;
}
.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
	background: url(../img/top/btn_next.png) no-repeat center center / contain;
}
.swiper-pagination-bullet-active {
	background: #b81c22 !important;
}

.slick-dots {
	height: 60px;
}
.slick-dots li.slick-active button:before {
	color: #b81c22 !important;
}

.d-none {
	display: none !important;
}

.disabled {
	pointer-events: none;
}

pre {
	white-space: pre-wrap ;
}

.btn-w100 {
	width: 100%;
	padding: 12px 0 11px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background: #b81c22;
	border: none;
	box-shadow: 0px 2px 5px -2px #686868;
}

.swal2-popup {
	min-height: 200px;
}

.swal2-popup .swal2-styled.swal2-confirm {
	background-color: #b81c22 !important;
	width: 120px;
}
.swal2-popup .swal2-styled.swal2-cancel {
	background-color: #333 !important;
	width: 120px;
}

/*
REPAIRS
***************************************************************************/
.repair_sec .date {
	margin-bottom: 20px;
	text-align: right;
	font-size: 2rem;
	color: #666;
}

.repair_sec .date span {
	padding-left: 24px;
	background: url(../img/common_img/icon_time.png) left center no-repeat;
	background-size: 16px;
}

/* ▼LIST▼ */
.repair_list_wrap {
	padding: 30px 20px;
}

.repair_list {

}

.repair_list .box a {
	display: block;
	padding: 20px;
	color: #111;
	border-bottom: solid 1px #ccc;
}

.repair_list .box:last-child a { padding-bottom:0; border-bottom:none; }

.repair_list .img {
	float: left;
	width: 250px;
}

.repair_list .content {
	float: right;
	width: 320px;
}

.repair_list .title {
	margin-bottom: 20px;
	font-size: 2.4rem;
	line-height: 1.6;
}

.repair_list .title span {
	display: block;
}

/* ▼DETAIL▼ */
.repair_detail .title_box {
	padding: 30px 24px 0;
}

.repair_detail .content {
	padding: 30px 24px;
	font-size: 2.4rem;
}

.repair_action .button_wrap {
	margin-top: 5px;
	text-align: center;
}

.repair_sec .text_lead {
	font-size: 2.0rem;
	font-weight: 600;
}

.repair_sec.text-left {
	text-align: left;
}

.btn-w50 {
	width: 50%;
	padding: 12px 0 11px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background: #4EA72E;
	border: none;
	box-shadow: 0px 2px 5px -2px #686868;
	margin-top: 15px;
}

.repair_sec #btn-send,
.repair_action .button_wrap .btn-w50 {
	background: #b81c22;
}

.repair_action .chat__menu_area div.menu_btn:first-child {
	border: 1px solid #cdcdcd;
}

.repair_action .chat__menu_area {
	padding: 0;
}

.btn-w50.disabled {
	background: #999 !important;
}

.text_red {
	color: red;
}

.text_green {
	color: #00B050;
}


/*
BADGE
***************************************************************************/

/* バッジの基本スタイル - PCとモバイル共通 */
.badge-container {
	position: relative;
	display: block;
}
  
.badge-count {
	position: absolute;
	top: 5px;
	right: 5px;
	min-width: 20px;
	height: 20px;
	line-height: 20px;
	padding: 0 4px;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	background-color: #b81c22;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* 数字が0の場合は非表示 */
.badge-count:empty,
.badge-count[innerHTML="0"] {
	display: none;
}


/* フッターバッジのスタイル */
footer .badge-container {
	position: relative;
	display: inline-block;
}

/* フッター専用のバッジ位置調整 */
footer .footer-badge {
	position: absolute;
	top: -8px;  /* 上部に配置 */
	right: -8px; /* 右側に配置 */
	min-width: 18px;
	height: 18px;
	line-height: 18px;
	padding: 0 4px;
	font-size: 10px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	background-color: #b81c22;
	border-radius: 9px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* PCスタイル */
@media screen and (min-width: 768px) {
	.badge-count {
		top: 8px;
		right: 8px;
		min-width: 24px;
		height: 24px;
		line-height: 24px;
		font-size: 14px;
		border-radius: 12px;
	}

	footer .footer-badge {
		top: 10px;
		right: 10px;
		min-width: 24px;
		height: 24px;
		line-height: 24px;
		font-size: 14px;
	}
}

/* フッターが下部固定されているスタイルの場合の追加調整 */
@media screen and (max-width: 767px) {
	footer li a .footer-badge {
	/* フッターでは背景画像の上にテキストがある特殊な構造なので調整 */
		top: calc((100vw / 320) * 4);
		right: calc((100vw / 320) * 4);
	}
}

/* activeクラスがあるフッターアイテムのバッジ色調整 */
footer li.active a .footer-badge {
	background-color: #fff;
	color: #b81c22;
}

/* モバイルスタイル */
@media screen and (max-width: 767px) {
	.badge-count {
		bottom: calc((100vw / 320) * 5);
		right: calc((100vw / 320) * 5);
		min-width: calc((100vw / 320) * 20);
		height: calc((100vw / 320) * 20);
		line-height: calc((100vw / 320) * 20);
		font-size: calc((100vw / 320) * 11);
		border-radius: calc((100vw / 320) * 10);
	}

	footer .footer-badge {
		top: calc((100vw / 320) * -4);
		right: calc((100vw / 320) * -4);
		min-width: calc((100vw / 320) * 10);
		height: calc((100vw / 320) * 10);
		line-height: calc((100vw / 320) * 10);
		font-size: calc((100vw / 320) * 7);
	}
}