@charset "utf-8";
/*
 * あちこちで使う系スタイル定義
 */

img {max-width: 100% !important;}

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

  .visible-pc { display: none!important; }
}

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

  .visible-sp { display: none!important; }
}

@font-face {
	font-family: 'FontAwesome';
	src: url("../assets/fonts/fontawesome-webfont.eot");
	src: url("../assets/fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),
		 url("../assets/fonts/fontawesome-webfont.woff2") format("woff2"),
		 url("../assets/fonts/fontawesome-webfont.woff") format("woff"),
		 url("../assets/fonts/fontawesome-webfont.ttf") format("truetype"),
		 url("../assets/fonts/fontawesome-webfont.svg#fontawesomeregular") format("svg");
	font-weight: normal;
	font-style: normal
}

/*
 * 単純表示制御
 */
.hidden {
  display: none !important;
}
.invisible {
  visibility: hidden;
}
.inline-block {
	display: inline-block;
}

/*
 * 基本部品関連
 */
button {
	color: #fff;
	background-color: #0F2D76;
	border: none;
}

.required-mark {
	color : #663300;
	background-color: #ffcc33;
}

input[readonly],textarea[readonly] {
	background: #eee;
}

.changed {
	background: #fff0f0 !important;
	color: #ff0000 !important;
	font-weight: bold !important;
}
.not_changed {
	background: #f8f8f8;
}
.complement-block {
	display: block;
	margin-top: 5px;
	margin-bottom: 10px;
	color: #737373;
	font-size: 12px;
}
.complement-block:before {
	content: '* ';
	color: #000;
}

/*
 * サポータメニュー関連
 */
img.locale_select_item {
	margin-right: 2px;
}
.dropdown-menu.active {
	display: block !important;
}


/*
 * datepicker / timepicker用
 */
.datepicker-target {
	height: 34px;
	width: 132px;
	margin-left: 4px;
	padding: 6px 12px;
	font-size: 14px;
}
.timepicker-target {
	height: 34px;
	width: 76px;
	margin-left: 4px;
	padding: 6px 12px;
	font-size: 14px;
}
.ui-datepicker {
	z-index: 1000 !important;
}
.form-group {
	position: relative;
}
.datepicker-wrapper {
	position: relative;
	display: inline-block;
}
img.ui-datepicker-trigger {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 23px;
	height: 25px;
	z-index: 1000;
}
img.ui-datepicker-trigger:hover {
	cursor: pointer;
}

/*
 * 検索ページ関連
 */
.search_result_outer {
	overflow-y:auto;
}

/* .page_list_wrapper {
	margin-top: 2px;
	margin-bottom: 2px;
}
.page_list_area {
	padding-right: 12px;
	text-align: right;
}
.currpage_in_page_list {
	display: inline-block;
	width: auto;
	text-align: center;
	color: #fff;
	border: 1px solid ##0F2D76;
	background-color: #0F2D76;
	padding: 4px 12px 4px 12px;
}
.page_list_element {
	display: inline-block;
	width: auto;
	padding: 4px 12px 4px 12px;
	text-align: center;
	border: 1px solid #ddd;
}
.page_list_element:hover {
	color: #ffffff;
	background: #888;
	text-decoration: none;
	cursor: pointer;
}
 */
/*
 * 郵便番号検索関連
 */
.zip-address-list {
  margin-top: 12px;
  margin-bottom: 12px;
  padding: 0;
}
.zip-address-list-element {
  margin-top: 4px;
  margin-bottom: 4px;
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
  border: 1px solid #c0c0c0;
}
.zip-address-list-element:hover {
  background: #e0e0e0;
  cursor: pointer;
}
.zip-address-list-element:active {
  background: #808080;
  color: #ffffff;
  cursor: pointer;
}
.zip-address-list-element .address1 {
/*	width: 64px; */
  padding: 4px;
}
.zip-address-list-element .address2 {
/*	width: 192px; */
  padding: 4px;
}

/*
 * アラートリスト関連
 */
.alert-list {
	position: fixed;
	top: 40px;
	width: 100%;
	padding-bottom: 16px;
	background-color: rgba(240,240,240,0.9);
	z-index: 1000;
}
.alert-list h4 {
	display: inline-block;
	margin: 8px;
	padding: 4px;
	font-size: 16px;
	background: #fff;
}
.alert-list-element {
	margin: 4px 8px;
	padding: 8px 12px;
	border-radius: 4px;
	border: solid 1px #faa;
	box-shadow: 6px 6px 6px rgba(192,156,156);
	background: #fffcfc;
	z-index: 1000;
}
.alert-list-element a {
	display: inline-block;
	padding: 2px 12px;
	color: #fff;
	border: solid 1px #f00;
	background: #ff6060;
}
.alert-list-element a:hover {
	margin: 2px
	color: #f00;
	background: #ff0000;
}

.alert-list .close {
  float: right;
  margin: 12px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
  background: transparent;
  -webkit-appearance: none;
}

.alert-list .close:hover, .alert-list .close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50)
}

/*
 * ダイアログ関連
 */
.ui-dialog {
	z-index: 10000 !important;
}

/*
 * タブ表示関連
 */
ul.pagination li a {
	display: block;
	margin: 8px;
	padding: 0.5em 1em;
	text-decoration: none;
	border-radius: 5px;
}
ul.pagination li.disabled a,ul.pagination li.disabled a:hover,ul.pagination li.disabled a:focus {
	background: #fff;
	color: #bbb;
	cursor: default;
}
ul.pagination li.active a,ul.pagination li.active a:hover,ul.pagination li.active a:focus {
	background: #1AB394;
	color: #fff;
}
ul.pagination li.active a:hover {
	cursor: pointer;
}

#common-enlarge-dialog {
	position: relative;
}
#common-enlarge-dialog .cell {
}
#common-enlarge-dialog img {
	max-width: 95%;
	max-height: 95%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto !important;
}

#footer.mc p,
#footer.mc a {
	color: #3e3e3e;;
}


/*
 * これからは新デザイン
 */


* {
	margin: 0;
	padding: 0;
	/*
		游ゴ優先（なお、Mac用の書き方をしたので、Windowsには当たらないことを想定。）
		Windowsにはメイリオをあてる。
		（Winの游ゴには文字の上下パディング不均衡の問題があるため）
	*/
}

html,body { height: 100%;}
body {
	font-family: "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
	color: #3e3e3e;
	/*font-size: 14px;*/
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

p, h1, h2, h3, h4, th, td, li, dt, dd, figcaption, input, select, textarea {
	/*font-size: 14px;
	line-height: 1.8;*/
	font-weight: normal;
}

img {
	border: none;
}

a {
	color: #3e3e3e;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}

ul, ol {
	list-style-type: none;
}

.hidden-parts {
	display: none;
}

.ico-pdf {
	position: relative;
	padding-right: 28px;
}
.ico-pdf::after {
	width: 12px;
	height: 17px;
	content: "";
	display: inline-block;
	background: url(/images/common/ico_pdf.png) no-repeat 0 0 / contain;
	position: absolute;
	top: -1px;
	right: 0;
}

@media screen and (max-width:767px) {
	.ico-pdf {
		padding-right: 2em;
	}
	.ico-pdf::after {
		width: calc(24 / 750 * 100vw);
		height: calc(34 / 750 * 100vw);
		background: url(/images/common/ico_pdf.png) no-repeat 0 0 / contain;
	}
	.ico-pdf.ico-static {
		padding-right: 0;
	}
	.ico-pdf.ico-static::after {
		position: static;
		margin-left: 1em;
	}
}

/* -------------------------------------------------
	mouseover
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	.hover1 {
		transition-property: opacity, background-color;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	.hover1 * {
		transition-property: opacity;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	.hover1:hover {
		/*color: #fff !important;
		background-color: #0F2D76 !important;*/
		opacity: 0.6;
	}
	.hover1:hover * {
		/*color: #fff !important;*/
		opacity: 0.6;
	}

	.hover2 {
		transition-property: opacity, background-color;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	.hover2 * {
		transition-property: opacity;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	.hover2:hover {
		/*color: #0F2D76 !important;
		background-color: #fff !important;*/
		opacity: 0.6;
	}
	.hover2:hover * {
		/*color: #0F2D76 !important;*/
		opacity: 0.6;
	}
}

/* -------------------------------------------------
	headline
------------------------------------------------- */

.h-style1 {
	padding-bottom: 22px;
	margin: 60px 0 50px;
	font-size: 26px;
	line-height: 1.3;
	text-align: center;
	position: relative;
	font-weight: bold;
}
.h-style1 p {
	display: inline-block;
	margin: 0 auto;
	padding: 25px 40px;
	font-weight: bold;
	position: relative;
}
.h-style1 span {
	display: block;
	font-size: 14px;
	font-weight: normal;
	margin-top: 25px;
}
.h-style1 p span {
	display: block;
	position: absolute;
	top: 0;
	height: 100%;
}
.h-style1 p span.decoL {
	left: 0;
}
.h-style1 p span.decoR {
	right: 0;
}

.h-style1 p span.decoL::before,
.h-style1 p span.decoL::after,
.h-style1 p span.decoR::before,
.h-style1 p span.decoR::after {
	content: "";
	display: block;
	position: absolute;
}
.h-style1 p span.decoL::before {
	background: url(/images/common/headline_deco_lt.png) no-repeat left top;
	background-size: 100%;
	width: 25px;
	height: 19px;
	top: 0;
	left: 0;
}
.h-style1 p span.decoL::after {
	background: url(/images/common/headline_deco_lb.png) no-repeat left top;
	background-size: 100%;
	width: 19px;
	height: 25px;
	bottom: 0;
	left: 0;
}
.h-style1 p span.decoR::before {
	background: url(/images/common/headline_deco_rt.png) no-repeat left top;
	background-size: 100%;
	width: 19px;
	height: 25px;
	top: 0;
	right: 0;
}
.h-style1 p span.decoR::after {
	background: url(/images/common/headline_deco_rb.png) no-repeat left top;
	background-size: 100%;
	width: 25px;
	height: 19px;
	bottom: 0;
	right: 0;
}




.h-style1.no-border {
	padding-bottom: 0;
}
.h-style1.no-border::after {
	display: none;
}

.h-style2 {
	font-size: 21px;
	line-height: 1.3;
	text-align: center;
}
.h-style2.orange {
	color: #0F2D76;
}

@media screen and (max-width:767px) {
	.h-style1 {
		padding-top: calc(60 / 750 * 100vw);
		margin: 0 0 calc(80 / 750 * 100vw);
		padding-bottom: 0.8em;
		font-size: calc(40 / 750 * 100vw);
		font-weight: bold;
	}
	.h-style1::after {
		width: calc(60 / 750 * 100vw);
		height: calc(6 / 750 * 100vw);
		margin-left: calc(-30 / 750 * 100vw);
	}
	.h-style2 {
		font-size: calc(30 / 750 * 100vw);
		font-weight: bold;
	}

	.h-style1 p {
		padding: 18px 30px;
	}
	.h-style1 p span.decoL::before {
		width: 19px;
		height: 14px;
	}
	.h-style1 p span.decoL::after {
		width: 14px;
		height: 19px;
	}
	.h-style1 p span.decoR::before {
		width: 14px;
		height: 19px;
	}
	.h-style1 p span.decoR::after {
		width: 19px;
		height: 14px;
	}
}

/* -------------------------------------------------
	btn
------------------------------------------------- */

.btn-style1 {
	width: 320px;
	height: 60px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #0F2D76;
	font-size: 20px;
	border: solid 2px #0F2D76;
	border-radius: 35px;
	margin-left: auto;
	margin-right: auto;
}
.btn-style1.pdf::after {
	width: 14px;
	height: 20px;
	margin-left: 16px;
	content: "";
	display: inline-block;
	background: url(/images/common/ico_pdf.png) no-repeat 0 0 / contain;
}
.btn-style1.mini {
	width: 190px;
	height: 45px;
	font-size: 13px;
}

.btn-style2 {
	width: 320px;
	height: 60px;
	margin: 0 auto;
	background: #0F2D76;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	border-radius: 30px;
	font-size: 16px;
	border: solid 2px #0F2D76;
}

@media screen and (max-width:767px) {
	.btn-style1 {
		width: calc(590 / 750 * 100vw);
		height: calc(90 / 750 * 100vw);
		font-size: calc(26 / 750 * 100vw);
	}
	.btn-style1.pdf::after {
		width: calc(24 / 750 * 100vw);
		height: calc(34 / 750 * 100vw);
		margin-left: 1em;
	}
	.btn-style1.mini {
		width: calc(380 / 750 * 100vw);
		height: calc(90 / 750 * 100vw);
		font-size: calc(26 / 750 * 100vw);
		border-radius: calc(45 / 750 * 100vw);
	}

	.btn-style2 {
		width: calc(560 / 750 * 100vw);
		height: calc(100 / 750 * 100vw);
		border-radius: calc(50 / 750 * 100vw);
		font-size: calc(30 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	table
------------------------------------------------- */

table.simple {
	width: 100%;
	box-sizing: border-box;
	border-collapse: collapse;
	border-left: solid 2px #f0edeb;
	border-top: solid 2px #f0edeb;
	background: #fff;
	table-layout: fixed;
}

table.simple th,
table.simple td {
	padding: 1em 1.5em;
	border-right: solid 2px #f0edeb;
	border-bottom: solid 2px #f0edeb;
	line-height: 18px;
	box-sizing: border-box;
}
table.simple th {
	background: #f7f5f4;
}
table.simple thead td {
	font-size: 12px;
}
table.simple tbody th {
	width: 156px;
	font-size: 12px;
	text-align: left;
}
table.simple tbody td {
	font-size: 14px;
    line-height: 1.6;
    text-align: right;
}
table.simple.r-table2 tbody td {
	text-align: left;
}
table.simple strong {
	background: #f0f0f0;
	border: solid 2px #ddd;
	border-radius: 4px;
	font-weight: normal;
	padding: 0.3em;
}

@media screen and (max-width:767px) {
	table.simple {
		table-layout: auto;
	}
	table.simple th,
	table.simple td {
		padding: 0.8em 0.8em;
		line-height: calc(43 / 750 * 100vw);
	}
	table.simple th {
		font-weight: bold;
	}
	table.simple thead td {
		font-size: calc(24 / 750 * 100vw);
		font-weight: bold;
	}
	table.simple tbody th {
      	width: 38vw;
		font-size: calc(24 / 750 * 100vw);
	}
	table.simple tbody td {
		font-size: calc(28 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	contents
------------------------------------------------- */

#main {
	padding-bottom: 100px;
	padding-top: 92px;
	display: block;
}
@media screen and (min-width:768px) {
	.main_sp_padding_1 {
		padding-bottom: 100px;
		display: block;
		margin-top:100px;
	}
	.afterLoginBtn, menu-btn {
		-webkit-box-sizing: content-box;
		-moz-box-sizing: content-box;
		box-sizing: content-box
	}
}
@media screen and (max-width:767px) {
	.main_sp_padding_1 {
		padding: 0 0 calc(110 / 750 * 100vw);
		margin-top: 60px;
	}
}
.cont820 {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.cont875 {
	max-width: 875px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.cont940 {
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

@media print, screen and (min-width:768px) and (max-width:850px) {
	.cont820 {
		width: 96%;
	}
}

@media print, screen and (min-width:768px) and (max-width:905px) {
	.cont875 {
		width: 92%;
	}
}

@media print, screen and (min-width:768px) and (max-width:970px) {
	.cont940 {
		width: 96%;
	}
}

@media screen and (max-width:767px) {
	#main {
		padding: 0 0 calc(110 / 750 * 100vw);
		margin-top: 60px;
	}
	.cont-sp {
		margin-left: calc(30 / 750 * 100%);
		margin-right: calc(30 / 750 * 100%);
		position: relative;
	}
}


/* -------------------------------------------------
	header
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	#header {
		width: 100%;
		background: #fff;
		position: fixed;
		z-index: 50;
		left: 0;
		top: 0;
	}
	#header .pc-block1 {
		height: 90px;
		padding: 0 0 0 25px;
		position: relative;
		border-bottom: solid 2px #f0edeb;
		display: flex;
		justify-content: space-between;
	}
	#header .pc-block1 .logo {
		display: flex;
		width: 20%;
		align-items: center;
	}
	#header .pc-block1 .logo img {
		width: 100%;
		max-width: 239px;
	}
	#header .pc-block1 .btn-group {
		width: 20%;
		display: inline-flex;
		justify-content: space-between;
    	align-items: center;
	}
	#header .pc-block1 .btn-group .btn {
		width: 46%;
		margin-left: 4%;
		height: 45px;
		padding: 13px 20px;
		box-sizing: border-box;
		color: #fff;
		font-size: 15px;
		line-height: 15px;
		background-color: #0F2D76;
		border: solid 2px #0F2D76;
		border-radius: 23px;
		text-align: center;
	}

	#header #btnHdrLogin a {
		display: block;
		background: #0F2D76 url(/images/arrow_login01.png) no-repeat center calc(100% - 15px);
		background-size: 12px;
		color: #fff;
		height: 92px;
		line-height: 92px;
		font-size: 16px;
		width: 195px;
		text-align: center;
	}
	#header #btnHdrLogin a:hover {
		opacity: 0.6;
	}
	#header .loginPanel {
		position: absolute;
		top: 90px;
		right: 20px;
		background: url(/images/login_nav_arrow.png) no-repeat center top;
		background-size: auto 15px;
		padding-top: 15px;
		display: none;
	}
	#header .loginPanel ul {
		border-radius: 5px;
		background-color: #0F2D76
	}
	#header .loginPanel li {
		border-bottom: #fff solid 1px;
	}
	#header .loginPanel li:last-child {
		border-bottom: none;
	}
	#header .loginPanel a {
		color: #fff;
		font-size: 20px;
		padding: 20px 55px 20px 20px;
		display: block;
		background: url(/images/arrow_login02.png) no-repeat calc(100% - 20px) center;
		background-size: 9px;
		background-color: #0F2D76;
	}
	#header .loginPanel a:hover {
		opacity: 0.6;
	}


	#hdrNav {
		display: flex;
	}
	#hdrNav li {
		display: flex;
		align-items: center;
		margin: 0 3.5vw;
		position: relative;
	}
	#hdrNav li a {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		justify-content: center;
		font-size: 15px;
		font-weight: bold;
		text-align: center;
		line-height: 1.4;
		height: 100%;
	}
	#hdrNav li a:hover {
		color: #0F2D76;
	}
	#hdrNav li:nth-child(1),
	#hdrNav li:nth-child(2) {
		background: url(/images/arrow_hdr_nav.png) no-repeat center calc(100% - 15px);
		background-size: 12px;
	}

	#header .hdrSubNav {
		display: none;
		position: absolute;
		top: 90px;
		left: 50%;
		background: url(/images/login_nav_arrow.png) no-repeat center top;
		background-size: auto 15px;
		padding-top: 15px;
		width: 740px;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	#header .hdrSubNavWrap {
		border-radius: 5px;
		background-color: #0F2D76;
		display: flex;
		padding: 15px 0;
	}
	#header .hdrSubNavWrap div {
		width: 50%;
		box-sizing: border-box;
		padding:  0 25px;
	}
	#header .hdrSubNavWrap div:first-child {
		border-right: #fff solid 1px;
	}
	#header .hdrSubNavWrap div .sNavTtl {
		text-align: center;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		padding-bottom: 15px;
		border-bottom: #3173bf solid 2px;
		margin-bottom: 20px;
	}
	#header .hdrSubNavWrap div .sNavTxt {
		font-size: 18px;
		color: #fff;
		margin-bottom: 20px;
	}
	#header .hdrSubNavWrap div a {
		display: block;
		color: #0F2D76;
		font-size: 16px;
		background: #fff url(/images/icon_next.png) no-repeat calc(100% - 20px) center;
		background-size: 9px;
		height: auto;
		line-height: 15px;
		border-radius: 5px;
		text-align: left;
		padding: 20px;
		box-sizing: border-box;
	}
	#header .hdrSubNavWrap div a:hover {
		opacity: 0.6;
	}


	#searchPanel {
    	background: url(/images/login_nav_arrow.png) no-repeat center top;
     	background-size: auto 15px;
		/*background-color: rgba(247,247,247,1);*/
		padding: 15px 0 0;
		position: absolute;
		top: 92px;
		left: 50%;
     	width: 460px;
		box-sizing: border-box;
		display: none;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	#searchPanel form {
		border-radius: 5px;
		background-color: #0F2D76;
		display: flex;
		padding: 15px 30px;
	}
	#searchPanel div {
		max-width: 800px;
		width: 100%;
		margin: 0 auto;
	}
	#searchPanel input[type="text"] {
		-webkit-appearance: none;
		-webkit-border-radius: 4px;
		border-radius: 5px;
		border: #0F2D76 solid 2px;
		/*width: 100%;*/
		/*padding: 20px 20px 20px 60px;*/
		box-sizing: border-box;
		font-size: 16px;
		/*background: #fff url(/images/icon_search.png) no-repeat 15px center;*/
		background-size: 26px;
		padding: 5px;
	}
	#searchPanel input[type="text"]:focus { outline: none;}


	/*#header .pc-block2 {
		padding: 13px 0;
	}
	#header .pc-block2 .pc-flex-box {
		padding: 0 25px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}*/

	#header #gnav {
		display: inline-flex;
		align-items: center;
     	justify-content: center;
		width: 42%;
	}
	#header #gnav li {
		font-size: 14px;
		font-weight: bold;
		white-space: nowrap;
		margin: 0 20px;
	}
	/*#header #gnav li + li {
		margin-left: 3.5em;
	}*/
	#header #gnav .btn {
		height: 30px;
		box-sizing: border-box;
		color: #0F2D76;
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 25px;
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
	}
	#header #gnav .btn:last-child {
		border-left: #fff solid 2px;
	}
	#header #gnav .btn:hover {
		opacity: 0.5;
	}

	#header .hdrRightBtn {
		display: flex;
     	align-items: center;
		width: 18%;
		padding-right: 20px;
		box-sizing: border-box;
     	flex-direction: row-reverse;
	}
	#header .hdrRightBtn .btn {
		height: 45px;
		box-sizing: border-box;
		color: #0F2D76;
		text-align: center;
		font-size: 14px;
		font-weight: normal;
		text-align: center;
		line-height: 15px;
		/*display: flex;
		justify-content: center;
		align-items: center;*/
     	padding: 15px 25px;
		background-color: #f0edeb;
		border-radius: 30px;
		-webkit-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
	}
	#header .hdrRightBtn .btn:hover {
		opacity: 0.5;
	}


	/* hover */

	#gnav li a {
		transition-property: color;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	#gnav li a:hover {
		color: #0F2D76;
	}
}

@media print, screen and (min-width:768px) and (max-width:1280px) {
	#header .pc-block1 {
		padding: 0 0 0 15px;
	}
	#header #gnav li {
		font-size: 14px;
		margin: 0 10px;
	}
	#header .hdrRightBtn {
		width: 18%;
		padding-right: 5px;
	}
	#header .hdrRightBtn .btn {
		font-size: 14px;
		padding: 15px 0;
		width: 100%;
	}
	#header .pc-block1 .btn-group .btn {
		font-size: 14px;
		padding: 13px 0;
	}

}

@media print, screen and (min-width:768px) and (max-width:960px) {
	#header #gnav li {
		font-size: 12px;
		margin: 0 5px;
	}
	#header .hdrRightBtn .btn {
		font-size: 11px;
	}
	#header .pc-block1 .btn-group .btn {
		font-size: 11px;
	}

	#header #btnHdrLogin a {
		font-size: 14px;
		width: 150px;
	}

	#hdrNav li {
		margin: 0 2.4vw;
	}
	#hdrNav li a {
		font-size: 12px;
	}

	#header .hdrSubNav {
		width: 620px;
	}
	#header .hdrSubNavWrap div .sNavTtl {
		font-size: 18px;
	}
	#header .hdrSubNavWrap div .sNavTxt {
		font-size: 16px;
	}
	#header .hdrSubNavWrap div a {
		font-size: 14px;
		background: #fff url(/images/icon_next.png) no-repeat calc(100% - 15px) center;
		background-size: 9px;
		padding: 15px;
	}
}


/*@media print, screen and (min-width:768px) and (max-width:850px) {
	#header .pc-block2 #gnav li {
		font-size: 16px;
	}
	#header .pc-block2 #gnav li + li {
		margin-left: 2em;
	}
}

@media print, screen and (min-width:768px) and (max-width:940px) {
	#header .pc-block2 .pc-flex-box #gnav li {
		font-size: 16px;
	}
	#header .pc-block2 .pc-flex-box #gnav li + li {
		margin-left: 4vw;
	}
	#header .pc-block2 .pc-flex-box .btn {
    	padding: 0 20px;
		font-size: 14px;
	}
}*/

@media screen and (max-width:767px) {
	#header {
      z-index: 200;
	}
	#header .pc-block1 {
		width: 100%;
		height: 60px;
		background: #fff;
		position: fixed;
		z-index: 50;
		left: 0%;
		top: 0;
		box-shadow: 0 2px 2px 0 rgba(0,0,0,0.1);
	}

	#header .pc-block1 .logo {
		float: left;
		height: 60px;
     	width: 40vw;
		align-items: center;
		display: flex;
		margin-left: 15px;
	}

	#header .pc-block1 .logo img {
		width: 100%;
		margin: 0;
		vertical-align: middle;
		display: inline-block;
	}
	#header .pc-block1 .btn-group {
		margin: calc(30 / 750 * 100vw) calc(20 / 750 * 100vw) 0 0;
		display: inline-block;
		float: right;
	}
	#header .pc-block1 .btn-group .btn {
		width: calc(145 / 750 * 100vw);
		height: calc(60 / 750 * 100vw);
		box-sizing: border-box;
		background-color: #0F2D76;
		color: #fff;
		font-size: calc(22 / 750 * 100vw);
		display: inline-flex;
		justify-content: center;
		align-items: center;
		border-radius: calc(30 / 750 * 100vw);
		margin-left: calc(5 / 750 * 100vw);
	}
	#header .pc-block1 .menu-btn {
		width: 30px;
		height: 22px;
		margin: 18px 3vw 0 0;
		float: right;
	}

	.pc-block2 {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		box-sizing: border-box;
		padding: calc(50 / 1250 * 100vh) calc(60 / 1250 * 100vh) 20px;
		overflow: auto;
		-webkit-overflow-scrolling: touch;

		background: #fff;
		transition-property: left;
		transition-duration: 0.4s;
		transition-timing-function: ease-in-out;
		display: none;
	}

	.pc-block2 .logo img {
		width: 129px;
		height: auto;
	}
	.pc-block2 .menu-btn {
		width: calc(46 / 1250 * 100vh);
		height: calc(46 / 1250 * 100vh);
		position: absolute;
		top: calc(50 / 1250 * 100vh);
		right: calc(60 / 1250 * 100vh);
	}


	#searchPanel { display: none;}

	#hdrNav {
		display: none;
	}

	#gnav {
		margin-top: calc(60 / 1250 * 100vh);
		border-bottom: solid 1px #f0edeb;
	}
	#gnav li {
		padding: 1.2em 0;
		font-size: calc(28 / 1250 * 100vh);
		font-weight: bold;
		border-top: solid 1px #f0edeb;
		text-align: center;
	}
	.form_search_prj {
		display: flex;
	}
	#gnav li .hdrSubNavWrap {
		margin-top: 15px;
	}
	#gnav li .hdrSubNavWrap div {
		background-color: #3173bf;
		border-radius: 5px;
		overflow: hidden;
		margin-bottom: 5px;
	}
	#gnav li .hdrSubNavWrap div .sNavTtl {
		background-color: #0F2D76;
		margin: 0;
		padding: 15px;
		color: #fff;
		text-align: left;
		font-weight: bold;
	}
	#gnav li .hdrSubNavWrap div .sNavTxt {
		color: #fff;
     	margin: 15px;
	}
	#gnav li .hdrSubNavWrap div a {
		display: block;
		color: #0F2D76;
		font-size: 16px;
		background: #fff url(/images/icon_next.png) no-repeat calc(100% - 20px) center;
		background-size: 9px;
		height: auto;
		line-height: 15px;
		border-radius: 5px;
		text-align: left;
		padding: 20px;
		box-sizing: border-box;
		margin: 0 15px 15px;
	}

	#gnav li .gnavSearch {
		margin-top: 15px;
	}
	@media screen and (min-width:768px) {
		#gnav li .gnavSearch input[type="text"] {
			-webkit-appearance: none;
			-webkit-border-radius: 4px;
			border-radius: 4px;
			border: #0F2D76 solid 2px;
			width: 100%;
			padding: 10px 10px 10px 40px;
			box-sizing: border-box;
			font-size: 16px;
			background: #fff url(/images/icon_search.png) no-repeat 10px center;
			background-size: 20px;
		}
	}
	@media screen and (max-width:767px) {
		#gnav li .gnavSearch input[type="text"] {
			-webkit-appearance: none;
			-webkit-border-radius: 4px;
			border-radius: 4px;
			border: #0F2D76 solid 2px;
			width: 80%;
			padding: 10px 10px 10px 40px;
			box-sizing: border-box;
			font-size: 16px;
			background-size: 20px;
		}
		.btn_submit {
			vertical-align: bottom;
			border-radius: 4px;
			padding: 10px 10px 10px 40px;
			background-size: 70%;
			background-image: url("/images/icon_search.png");
			background-repeat: no-repeat;
			background-position: center top;
			background-color: white;
			margin-left: 5px;
		}
	}
	#header .hdrRightBtn {
		padding: 0;
	}



	#header .pc-block2 p {
		text-align: center;
		color: #0F2D76;
     	margin-top: 30px;
	}
	#header .pc-block2 .pc-flex-box .btn {
		width: 100%;
		height: calc(110 / 1250 * 100vh);
		margin: 0;
		box-sizing: border-box;
		color: #0F2D76;
		font-size: calc(32 / 1250 * 100vh);
		display: inline-flex;
		justify-content: center;
		align-items: center;
		background-color: #f0edeb;
		border-radius: calc(55 / 1250 * 100vh);
		margin-top: 30px;
	}
	#header .pc-block2 .pc-flex-box .btn:first-child {
		border-bottom: #fff solid 2px;
	}
	#header .pc-block2 .btn-group {
		margin-top: 15px;
		/*border-top: solid 1px #f0edeb;*/
		border-radius: 5px;
		background-color: #0F2D76;
     	display: flex;
	}
	#header .pc-block2 .btn-group .btn {
		width: 50%;
		height: calc(100 / 1250 * 100vh);
		box-sizing: border-box;
		color: #fff;
		font-size: calc(32 / 1250 * 100vh);
		display: inline-flex;
		justify-content: left;
		align-items: center;
		border-right: #fff solid 2px;
		background: url(/images/arrow_login02.png) no-repeat calc(100% - 20px) center;
		background-size: 9px;
		padding: 0 20px;
	}
	#header .pc-block2 .btn-group .btn:last-child {
		border-right: none;
	}


	#header #btnHdrLogin {
		float: right;
	}
	#header #btnHdrLogin a {
		display: block;
		height: 60px;
     	font-size: 3vw;
		color: #fff;
		background: #0F2D76 url(/images/arrow_login01.png) no-repeat center calc(100% - 8px);
    	background-size: 7px;
		margin-right: 3vw;
		padding: 0 3vw;
		line-height: 60px;
	}

	#header .loginPanel {
		position: fixed;
		top: 0;
		right: 0;
		background: rgba(0,0,0,0.80);
		padding-top: 15px;
		width: 100vw;
		height: 100vh;
     	z-index: 10;
		display: none;
	}
	#header .loginPanel div {
		border-radius: 5px;
		background-color: #0F2D76
		padding: 40px 30px 50px;
		box-sizing: border-box;
		position: absolute;
		top: 50%;
		left: 5%;
		width: 90%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	#header .loginPanel div .close {
		width: 40px;
		position: absolute;
		top: -20px;
		right: -10px;
		line-height: 0;
		margin: 0;
	}
	#header .loginPanel div .close img {
		max-width: 100%;
		height: auto;
	}
	#header .loginPanel div p {
		color: #fff;
		text-align: center;
		font-size: 14px;
		margin-bottom: 30px;
	}
	#header .loginPanel ul {

	}
	#header .loginPanel li {
		border-bottom: none;
		margin-bottom: 20px;
	}
	#header .loginPanel li:last-child {
		margin-bottom: 0;
	}
	#header .loginPanel li a {
		color: #0F2D76;
		font-size: 18px;
		padding: 20px 20px;
		display: block;
		background: #fff url(/images/icon_next.png) no-repeat calc(100% - 20px) center;
		background-size: 9px;
		text-align: center;
		border-radius: 5px;
	}
	#header .loginPanel li a:hover {
		opacity: 0.6;
	}


}

/* -------------------------------------------------
	after Login
------------------------------------------------- */
.afterLoginBtn {
	padding: 34px 25px;
	width: 30px;
    margin-left: 115px;
}
.afterLoginBtn img {
	width: 100%;
}

#header .loginPanel.afterLogin li:nth-child(1) a,
#menu-panel .afterLoginNavi li:nth-child(1) a {
	background: url(/images/menu_icon08.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(2) a,
#menu-panel .afterLoginNavi li:nth-child(2) a {
	background: url(/images/menu_icon01.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(3) a,
#menu-panel .afterLoginNavi li:nth-child(3) a {
	background: url(/images/menu_icon02.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(4) a,
#menu-panel .afterLoginNavi li:nth-child(4) a {
	background: url(/images/menu_icon03.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(5) a,
#menu-panel .afterLoginNavi li:nth-child(5) a {
	background: url(/images/menu_icon04.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(6) a,
#menu-panel .afterLoginNavi li:nth-child(6) a {
	background: url(/images/menu_icon05.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(7) a,
#menu-panel .afterLoginNavi li:nth-child(7) a {
	background: url(/images/menu_icon06.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(8) a,
#menu-panel .afterLoginNavi li:nth-child(8) a {
	background: url(/images/menu_icon07.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}
#header .loginPanel.afterLogin li:nth-child(9) a,
#menu-panel .afterLoginNavi li:nth-child(9) a {
	background: url(/images/menu_icon09.png) no-repeat 15px center;
	background-size: 20px;
	background-color: #0F2D76;
}

@media print, screen and (max-width: 960px) and (min-width: 768px) {
	.afterLoginBtn {
		margin-left: 70px;
	}
}

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

	#header .loginPanel.afterLogin {
		top: 65px;
		background: url(/images/login_nav_arrow.png) no-repeat 95% top;
    	background-size: auto 15px;
	}


	#header .loginPanel.afterLogin a {
		font-size: 15px;
		padding: 16px 20px 16px 45px;
	}
}


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

	.afterLoginNavi {
    	margin-top: 20px;
    	background-color: #0F2D76;
		border-radius: 5px;
	}
	.afterLoginNavi li {
		border-bottom: #fff solid 1px;
	}
	.afterLoginNavi li:last-child {
		border-bottom: none;
	}
	.afterLoginNavi a {
		display: block;
		color: #fff;
		padding: 4vw 3vw 4vw 12vw;
    	font-size: 3.8vw;
	}

	#menu-panel .afterLoginNavi li:nth-child(1) a {
		background: url(/images/menu_icon08.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(2) a {
		background: url(/images/menu_icon01.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(3) a {
		background: url(/images/menu_icon02.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(4) a {
		background: url(/images/menu_icon03.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(5) a {
		background: url(/images/menu_icon04.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(6) a {
		background: url(/images/menu_icon05.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(7) a {
		background: url(/images/menu_icon06.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(8) a {
		background: url(/images/menu_icon07.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
	#menu-panel .afterLoginNavi li:nth-child(9) a {
		background: url(/images/menu_icon09.png) no-repeat 3.8vw center;
		background-size: 4.4vw;
	}
}



/* -------------------------------------------------
	pankuzu
------------------------------------------------- */

.pankuzu {
	padding: 27px 35px 0;
}
.pankuzu li {
	display: inline-block;
	font-size: 10px;
}
.pankuzu li + li::before {
	content: "/";
	color: #f2efed;
	display: inline-block;
	margin: 0 7px 0 3px;
}
.pankuzu li a {
	transition-property: color;
	transition-duration: 0.2s;
	transition-timing-function: ease-in-out;
}
.pankuzu li a:hover {
	color: #0F2D76;
}

/* -------------------------------------------------
	common-cta
------------------------------------------------- */

.common-cta {
	padding: 57px 0;
	background: #0F2D76;
	text-align: center;
}
.common-cta a {
	width: 560px;
	height: 105px;
	border: solid 2px #fff;
	box-sizing: border-box;
	border-radius: 53px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #fff;
}
.common-cta a .large {
	font-size: 30px;
}
.common-cta a .small {
	font-size: 20px;
}

@media screen and (max-width:767px) {
	.common-cta {
		padding: calc(80 / 750 * 100vw) 0;
	}
	.common-cta a {
		width: calc(560 / 750 * 100vw);
		height: calc(100 / 750 * 100vw);
		border-radius: calc(50 / 750 * 100vw);
	}
	.common-cta a .large {
		font-size: calc(30 / 750 * 100vw);
	}
	.common-cta a .small {
		font-size: calc(24 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	pagination
------------------------------------------------- */

.pagination {
	margin-top: 100px;
	text-align: center;
}
.pagination .btn {
	height: 30px;
	border-radius: 15px;
	border: solid 2px #c2cbd6;
	color: #0F2D76;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 13px;
	line-height: 1;
}
.pagination .btn + .btn {
	margin-left: 5px;
}
.pagination .btn.each {
	width: 30px;
}
.pagination .btn.edge {
	width: 120px;
}
.pagination .btn.edge .arrow {
	transform: scaleY(0.6);
	position: relative;
	top: -1px;
}
.pagination .btn.edge.prev .arrow {
	margin-right: 5px;
}
.pagination .btn.edge.next .arrow {
	margin-left: 5px;
}
.pagination .btn.current {
	background: #0F2D76;
	border-color: #0F2D76;
	color: #fff;
}
.pagination span {
	height: 30px;
	color: #0F2D76;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 13px;
	line-height: 1;
	margin: 0 5px;
}

@media print, screen and (min-width:768px) {
	.pagination .btn {
		transition-property: color, background-color;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	.pagination .btn * {
		transition-property: color;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	.pagination .btn:hover {
		color: #fff !important;
		background-color: #0F2D76 !important;
	}
	.pagination .btn:hover * {
		color: #fff !important;
	}
}

@media screen and (max-width:767px) {
	.pagination {
		margin-top: calc(110 / 750 * 100vw);;
	}
	.pagination .btn {
		height: calc(60 / 750 * 100vw);
		font-size: calc(26 / 750 * 100vw);
		border-radius: calc(30 / 750 * 100vw);
	}
	.pagination .btn + .btn {
		margin-left: 0;
	}
	.pagination .btn.each {
		width: calc(60 / 750 * 100vw);
	}
	.pagination .btn.each + .each {
		margin-left: calc(15 / 750 * 100vw);
	}
	.pagination .btn.edge {
		width: calc(240 / 750 * 100vw);;
	}
	.pagination .btn.edge.prev {
		margin-bottom: calc(20 / 750 * 100vw);
	}
	.pagination .btn.edge.next {
		margin-top: calc(20 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	button-area1
------------------------------------------------- */

.btn-area1 {
	padding: 50px 0;
}
.btn-area1.top-border {
	border-top: solid 1px #f0edeb;
}
.btn-area1 .buttons {
	max-width: 790px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
.btn-area1 .note {
	max-width: 880px;
	margin: 55px auto 0;
	font-size: 11px;
	line-height: 1.7;
	color: #222;
}

@media print, screen and (min-width:768px) and (max-width:910px) {
	.btn-area1 .note {
		width: 96%;
	}
}

@media print, screen and (min-width:768px) and (max-width:820px) {
	.btn-area1 .buttons {
		width: 96%;
	}
	.btn-area1 .buttons li {
		width: 48%;
	}
	.btn-area1 .buttons li a {
		width: 100%;
	}
}

@media screen and (max-width:767px) {
	.btn-area1 {
		padding: calc(60 / 750 * 100vw) 0;
	}
	.btn-area1 .buttons {
		max-width: calc(590 / 750 * 100vw);
		flex-wrap: wrap;
	}
	.btn-area1 .buttons li + li {
		margin-top: calc(40 / 750 * 100vw);
	}
	.btn-area1 .note {
		max-width: calc(610 / 750 * 100vw);
		margin: calc(60 / 750 * 100vw) auto 0;
		font-size: calc(22 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	project-mini-box
------------------------------------------------- */

.project-mini-box {
	padding-bottom: 25px;
	border-bottom: solid 1px #ddd;
}
.project-mini-box + .project-mini-box {
	margin-top: 25px;
}
.project-mini-box .title {
	margin-bottom: 18px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: bold;
}
.project-mini-box .two-col1 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.project-mini-box .two-col1 .pic {
	width: 46.2%;
}
.project-mini-box .two-col1 .pic img {
	width: 100%;
	border-radius: 10px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.2);
}
.project-mini-box .pic .note {
	margin-top: 23px;
	font-size: 10px;
	line-height: 1.3;
}
.project-mini-box .two-col1 .info {
	width: 48%;
}
.project-mini-box .two-col2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.project-mini-box .two-col2 .condition {
	width: 180px;
	height: 25px;
	background: #c2cbd6;
	border-radius: 5px;
	color: #0F2D76;
	font-size: 14px;
	text-align: center;
	box-sizing: border-box;
	padding-top: 6px;
}
.project-mini-box .two-col2 .date {
	font-size: 14px;
	white-space: nowrap;
}
.project-mini-box .two-col4 {
	margin-top: 15px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.project-mini-box .project-desc {
	width: calc(100% - 250px);
	font-size: 12px;
	line-height: 1.6;
}

@media screen and (max-width:767px) {
	.project-mini-box {
		padding-bottom: calc(60 / 750 * 100vw);
	}
	.project-mini-box + .project-mini-box {
		margin-top: calc(60 / 750 * 100vw);
	}
	.project-mini-box .title {
		font-size: calc(32 / 750 * 100vw);
		margin-bottom: 0.8em;
	}
	.project-mini-box .two-col1 .pic {
		width: 100%;
	}
	.project-mini-box .two-col1 .pic img {
		box-shadow: 0 5px 5px rgba(0,0,0,0.1);
		border-radius: 7px;
	}
	.project-mini-box .pic .note {
		margin-top: 2em;
		font-size: calc(18 / 750 * 100vw);
	}
	.project-mini-box .two-col1 .info {
		width: 100%;
		margin-top: calc(35 / 750 * 100vw);
	}
	.project-mini-box .two-col2 .condition {
		width: calc(360 / 750 * 100vw);
		height: calc(50 / 750 * 100vw);
		font-size: calc(24 / 750 * 100vw);
		padding-top: calc(13 / 750 * 100vw);
	}
	.project-mini-box .two-col2 .date {
		font-size: calc(24 / 750 * 100vw);
	}
	.project-mini-box .two-col4 {
		margin-top: calc(25 / 750 * 100vw);
		display: block;
	}
	.project-mini-box .project-desc {
		width: 100%;
		font-size: calc(22 / 750 * 100vw);
	}
	.project-mini-box .btn-style1.mini {
		margin: calc(35 / 750 * 100vw) auto 0;
	}
}

/* meter */

.meterTtl {
	font-size: 12px;
	margin-top: 20px;
}
.meter {
    margin-top: 15px;
    text-align: right;
    display: flex;
    justify-content: space-between;
    align-items: left;
}
.meter .num {
	color: #0F2D76;
	font-size: 14px;
	vertical-align: 0;
    width: 30%;
    text-align: left;
}
.meter .num .large {
	font-size: 18px;
	font-weight: bold;
	display: inline-block;
	vertical-align: 0;
}
.meter .bar {
	width: 70%;
	height: 11px;
	display: inline-block;
	vertical-align: 4px;
	background: #f0edeb;
	border-radius: 6px;
	overflow: hidden;
}
.meter .bar .pointer {
	width: 11px;
	height: 11px;
	min-width: 11px !important;
	display: block;
	background: #0F2D76;
	border-radius: 6px;
	transition-property: width;
	transition-duration: 0.6s;
	transition-timing-function: ease-in-out;
}


.project-mini-box .meterTtl {
	font-size: 12px;
	margin-top: 20px;
}
.project-mini-box .meter {
    margin-top: 15px;
    text-align: right;
}
.project-mini-box .meter .num {
	color: #0F2D76;
	font-size: 20px;
	vertical-align: 0;
}
.project-mini-box .meter .num .large {
	font-size: 24px;
	display: inline-block;
	vertical-align: 0;
}
.project-mini-box .meter .bar {
	width: 75%;
	height: 11px;
	margin-left: 10px;
	display: inline-block;
	vertical-align: 4px;
	background: #f0edeb;
	border-radius: 6px;
	overflow: hidden;
}
.project-mini-box .meter .bar .pointer {
	width: 11px;
	height: 11px;
	min-width: 11px !important;
	display: block;
	background: #0F2D76;
	border-radius: 6px;
	transition-property: width;
	transition-duration: 0.6s;
	transition-timing-function: ease-in-out;
}

@media screen and (max-width:767px) {
	.meter {
		margin-top: calc(20 / 750 * 100vw);
	}
	.meter .num {
		font-size: calc(18 / 750 * 100vw);
	}
	.meter .num .large {
		font-size: calc(24 / 750 * 100vw);
	}
	.meter .bar {
		width: 70%;
		height: calc(14 / 750 * 100vw);
		border-radius: calc(11 / 750 * 100vw);
		vertical-align: calc(5 / 750 * 100vw);
	}
	.meter .bar .pointer {
		width: calc(14 / 750 * 100vw);
		height: calc(14 / 750 * 100vw);
		border-radius: calc(11 / 750 * 100vw);
	}


	.project-mini-box .meter {
		margin-top: calc(35 / 750 * 100vw);
	}
	.project-mini-box .meter .num {
		font-size: calc(40 / 750 * 100vw);
	}
	.project-mini-box .meter .num .large {
		font-size: calc(48 / 750 * 100vw);
	}
	.project-mini-box .meter .bar {
		width: calc(500 / 750 * 100vw);
		height: calc(22 / 750 * 100vw);
		margin-left: calc(40 / 750 * 100vw);
		border-radius: calc(11 / 750 * 100vw);
		vertical-align: calc(5 / 750 * 100vw);
	}
	.project-mini-box .meter .bar .pointer {
		width: calc(22 / 750 * 100vw);
		height: calc(22 / 750 * 100vw);
		border-radius: calc(11 / 750 * 100vw);
	}
}

/* status-table */

.project-mini-box .status-table {
	width: 100%;
	margin-top: 15px;
	border-collapse: collapse;
	background: #f0edeb;
}
.project-mini-box .status-table td {
	width: 33.3%;
	padding: 16px 5px;
	box-sizing: border-box;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	text-align: center;
}
.project-mini-box .status-table td:last-child {
	border-right: none;
}
.project-mini-box .status-table .status-title {
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: bold;
	white-space: nowrap;
}
.project-mini-box .status-table .remaining-time .status-title {
	margin-bottom: 13px;
}
.project-mini-box .status-table .status-text .large {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	display: inline-block;
	font-size: 24px;
	letter-spacing: 2px;
	vertical-align: baseline;
}
.project-mini-box .status-table .status-text .small {
	display: inline-block;
	font-size: 18px;
	vertical-align: baseline;
}
.project-mini-box .status-table .status-text .small span {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
}
.project-mini-box .status-table .entry-condition {
	text-align: left;
	padding-left: 5%;
	padding-right: 5%;
}
.project-mini-box .status-table .entry-condition .two-col3 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.project-mini-box .status-table .entry-condition .two-col3 .price {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	letter-spacing: 1px;
}
.project-mini-box .status-table .entry-condition .price-name {
	font-size: 12px;
}
.project-mini-box .status-table .entry-condition .shortage {
	margin-top: 8px;
}
.project-mini-box .status-table .entry-condition .amount .price {
	font-size: 18px;
}
.project-mini-box .status-table .entry-condition .shortage .price {
	font-size: 14px;
}
.project-mini-box .status-table .option {
	vertical-align: middle;
}
.project-mini-box .status-table .option span {
	width: 72%;
	padding: 5px 0;
	display: inline-block;
	text-align: center;
	background: #fff;
	font-size: 12px;
}
.project-mini-box .status-table .option span:not(:first-child) {
	margin-top: 10px;
}
.project-mini-box .status-table .option .mortgage {
	border: solid 2px #97bed3;
	color: #97bed3;
}
.project-mini-box .status-table .option .guarantee {
	border: solid 2px #84ad96;
	color: #84ad96;
}

@media screen and (max-width:767px) {
	.project-mini-box .status-table {
		margin-top: calc(30 / 750 * 100vw);
		table-layout: fixed;
	}
	.project-mini-box .status-table td {
		padding: calc(30 / 750 * 100vw) calc(20 / 750 * 100vw);
	}
	.project-mini-box .status-table .status-title {
		margin-bottom: 1.0em;
		font-size: calc(22 / 750 * 100vw);
	}
	.project-mini-box .status-table .remaining-time .status-title {
		margin-bottom: 1.2em;
	}
	.project-mini-box .status-table .status-text .large {
		font-size: calc(48 / 750 * 100vw);
	}
	.project-mini-box .status-table .status-text .small {
		font-size: calc(36 / 750 * 100vw);
	}
	.project-mini-box .status-table .entry-condition .price-name {
		font-size: calc(22 / 750 * 100vw);
	}
	.project-mini-box .status-table .entry-condition .shortage {
		margin-top: calc(25 / 750 * 100vw);
	}
	.project-mini-box .status-table .entry-condition .amount .price {
		font-size: calc(36 / 750 * 100vw);
	}
	.project-mini-box .status-table .entry-condition .shortage .price {
		font-size: calc(28 / 750 * 100vw);
	}
	.project-mini-box .status-table .option span {
		padding: 0.4em 0;
		font-size: calc(22 / 750 * 100vw);
	}
	.project-mini-box .status-table .option span:not(:first-child) {
		margin-top: calc(18 / 750 * 100vw);
	}
}



/* -------------------------------------------------
	rowList
------------------------------------------------- */

.rowList li {
	display: flex;
	justify-content: space-between;
	border-bottom: none;
	padding: 0 0 40px;
    background-color: #fff;
}
.rowList li .rankNum {
	padding: 20px 20px 0 0;
}
.rowList li .rankNum p {
    font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-size: 42px;
}

.rowList li:nth-child(1) .rankNum { color: #ffa201;}
.rowList li:nth-child(2) .rankNum { color: #bec9cc;}
.rowList li:nth-child(3) .rankNum { color: #e7715a;}

.rowList li:nth-child(1) .rankNum p { padding-bottom: 5px; border-bottom: #ffa201 solid 1px;}
.rowList li:nth-child(2) .rankNum p { padding-bottom: 5px; border-bottom: #bec9cc solid 1px;}
.rowList li:nth-child(3) .rankNum p { padding-bottom: 5px; border-bottom: #e7715a solid 1px;}

.rowListL {
	width: 29%;
}
.rowList li .rowListL a {
	display: block;
	line-height: 0;
	position: relative;
	overflow: hidden;
	border-radius: 5px;
	padding-top: 72%;
	-webkit-box-shadow: 0px 2px 15px rgba(0,0,0,0.2);
	box-shadow: 0px 2px 15px rgba(0,0,0,0.2);
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.rowList li .rowListL a:hover {
	opacity: 0.7;
}
.rowList li .rowListL img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
.rowList li .rowListC {
	width: 44.2%;
}
.rowList li .rowListC h3 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 10px;
}
.rowList li .rowListC .owner {
	font-size: 14px;
	margin-bottom: 15px;
}
.rowList li .rowListC .amount {
	padding: 15px 0 0;
	border-top: #ddd solid 1px;
	display: flex;
	justify-content: space-between;
}
.rowList li .rowListC .amount .amountTtl {
	font-size: 12px;
	font-weight: bold;
	vertical-align: baseline;
}
.rowList li .rowListC .amount .price {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
	font-size: 24px;
}
.rowList li .rowListC .amount .price span {
	font-size: 20px;
	vertical-align: baseline;
}

.rowList li .rowListR {
	width: 17.15%;
	background-color: #f0edeb;
	box-sizing: border-box;
	padding: 15px;
	text-align: center;
}
.rowList li .rowListR .status {
	height: 50%;
    min-height: 75px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
}
.rowList li .rowListR .number {
	height: 50%;
	min-height: 75px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
	box-sizing: border-box;
	border-top: #fff solid 1px;
}
.rowList li .rowListR .number .numTtl {
	font-size: 12px;
	margin-bottom: 10px;
}
.rowList li .rowListR .number .num {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
	font-size: 22px;
	font-weight: bold;
}
.rowList li .rowListR .number .num span {
	font-size: 16px;
	font-weight: normal;
	vertical-align: baseline;
	margin-left: 3px;
}

@media screen and (min-width:768px) and (max-width:900px) {
	.rowList li .rowListC h3 {
		font-size: 16px;
	}
	.rowList li .rankNum {
		padding: 10px 0 0 0;
	}
}


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

	.rowList {
		padding: 0 25px;
	}

	.rowList li {
		display: block;
		padding: 0 0 20px;
     	margin-top: 0;
	}
	.rowList li .rankNum {
		padding: 0;
		margin-bottom: 20px;
		text-align: center;
	}
	.rowList li .rankNum p {
		display: inline-block;
	}

	.rowList li .rowListL {
		width: 100%;
		margin-bottom: 15px;
	}
	.rowList li .rowListC h3 {
		font-size: 4.6vw;
		margin-bottom: 10px;
	}

	.rowList li .rowListC {
		width: 100%;
		margin-bottom: 15px;
	}
	.rowList li .rowListC .owner {
		font-size: 3.6vw;
		margin-bottom: 15px;
	}

	.rowList li .rowListR {
		width: 100%;
		padding: 20px 15px;
     	display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
	.rowList li .rowListR .status {
		height: auto;
		min-height: inherit;
		width: 50%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.rowList li .rowListR .number {
		height: auto;
		min-height: inherit;
		width: 50%;
		flex-direction: row;
		justify-content: flex-end;
     	align-items: center;
		border-top: none;
		border-left: #fff solid 1px;
	}
	.rowList li .rowListR .number .numTtl {
		font-size: 12px;
		margin-bottom: 0;
	}
	.rowList li .rowListR .number .num {
		font-size: 22px;
     	margin-left: 15px;
	}

}



/* -------------------------------------------------
	achievementList
------------------------------------------------- */
.achievementList {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 30px;
}
.achievementList li {
    width: calc(100% / 4 - 2.54%);
	border: #f0edeb solid 2px;
    margin: 9% 1.27% 45px;
	box-sizing: border-box;
	background-color: #fff;
}
.slideAchievementList li {
	border: #f0edeb solid 2px;
	box-sizing: border-box;
	background-color: #fff;
}

.achievementList li a,
.slideAchievementList li a {
	display: block;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.achievementList li a:hover,
.slideAchievementList li a:hover {
	opacity: 0.6;
}

.achievementList li .thumb,
.slideAchievementList li .thumb {
	width: 90%;
    margin: -40% auto 0;
    padding-top: 62.36%;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
	-webkit-box-shadow: 0px 2px 15px rgba(0,0,0,0.2);
	box-shadow: 0px 2px 15px rgba(0,0,0,0.2);
}


.achievementList li .thumb img,
.slideAchievementList li .thumb img {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.achievementList li .achievementTxt,
.slideAchievementList li .achievementTxt {
	padding: 15px;
}
.achievementList li .achievementTxt h4,
.slideAchievementList li .achievementTxt h4 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 5px;
}
.achievementList li .achievementTxt .owner,
.slideAchievementList li .achievementTxt .owner {
	font-size: 14px;
}


.achievementList li .amount,
.slideAchievementList li .amount {
	margin-top: 10px;
	padding: 10px 0 0;
	border-top: #ddd solid 1px;
	display: flex;
	justify-content: space-between;
    align-items: center;
}
.achievementList li .amountTtl,
.slideAchievementList li .amountTtl {
	font-size: 12px;
	vertical-align: baseline;
}
.achievementList li .amount .price,
.slideAchievementList li .amount .price {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
	font-size: 18px;
}
.achievementList li .amount .price span,
.slideAchievementList li .amount .price span {
	font-size: 16px;
	vertical-align: baseline;
}

.achievementList li .limit,
.slideAchievementList li .limit {
	background-color: #f0edeb;
	display: flex;
	justify-content: space-between;
	padding: 10px 15px;
}

.achievementList li .limit .limitTtl,
.slideAchievementList li .limit .limitTtl {
	font-size: 12px;
    line-height: 18px;
    display: flex;
    align-items: center;
}
.achievementList li .limit .limitTtl::before,
.slideAchievementList li .limit .limitTtl::before {
    content: "";
    font-size: 18px;
}
.achievementList li .limit .limitDay,
.slideAchievementList li .limit .limitDay {
	font-size: 12px;
    display: flex;
    align-items: center;
}
.achievementList li .limit .limitDay span,
.slideAchievementList li .limit .limitDay span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 18px;
    vertical-align: baseline;
}


.slideAchievementListWrap {
	max-width: 1150px;
	margin: 0 auto;
    padding: 0 60px;
}
.slideAchievementListWrap .bx-viewport {
	padding-top: 120px;
}


@media screen and (min-width:768px) and (max-width:900px) {
	.achievementList li {
		width: calc(100% / 2 - 2.54%);
		margin: 18% 1.27% 45px;
	}

	.slideAchievementListWrap {
		padding: 0 108px;
	}

}

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

	.achievementList {
      	padding: 0 3vw;
	}
	.slideAchievementListWrap {
		max-width: 256px;
	}
	.achievementList li {
		width: calc(100% / 2 - 2.54%);
		margin: 18% 1.27% 25px;
	}
	.achievementList li .thumb,
	.slideAchievementList li .thumb {
		width: 95%;
		margin: -40% auto 0;
	}
	.achievementList li .achievementTxt,
	.slideAchievementList li .achievementTxt {
		padding: 10px;
	}
	.achievementList li .achievementTxt h4,
	.slideAchievementList li .achievementTxt h4 {
		font-size: 3.2vw;
		margin-bottom: 5px;
	}
	.achievementList li .achievementTxt .owner,
	.slideAchievementList li .achievementTxt .owner {
		font-size: 2.6vw;
	}

	.achievementList li .amount .price,
	.slideAchievementList li .amount .price {
		font-size: 4.3vw;
	}
	.achievementList li .amountTtl,
	.slideAchievementList li .amountTtl {
		font-size: 2.8vw;
	}
	.achievementList li .limit,
	.slideAchievementList li .limit {
		padding: 2.4vw;
     	display: block;
	}
	.achievementList li .limit .limitTtl,
	.slideAchievementList li .limit .limitTtl {
		font-size: 3vw;
		margin-bottom: 5px;
	}

}



/* -------------------------------------------------
	reportList
------------------------------------------------- */

.reportList {
	display: flex;
	flex-wrap: wrap;
	max-width: 1035px;
	margin: 0 auto 20px;
}
.reportList li {
	margin: 0 1.93%;
	width: calc(100% / 3 - 3.86%);
}
.reportList li a {
	display: block;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.reportList li a:hover {
	opacity: 0.7;
}
.reportList li .thumb {
	width: 100%;
    margin: 0 auto 0;
	padding-top: 62.295%;
	-webkit-box-shadow: 0px 2px 15px rgba(0,0,0,0.2);
	box-shadow: 0px 2px 15px rgba(0,0,0,0.2);
	position: relative;
	border-radius: 5px;
	overflow: hidden;
}

.reportList li .thumb img {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.reportList li .reportTxt {
	padding: 20px;
}
.reportList li .reportTxt .date {
	color: #999999;
	font-size: 14px;
	margin-bottom: 10px;
}
.reportList li .reportTxt h4 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 15px;
}
.reportList li .owner {
	font-size: 14px;
}


@media screen and (min-width:768px) and (max-width:900px) {
	.reportList li .reportTxt {
		padding: 20px 5px;
	}
}

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

	.reportList {
		margin: 0 25px 20px;
	}
	.reportList li {
		margin: 0 0 20px;
		width: 100%;
	}
	.reportList li .reportTxt {
		padding: 15px 10px;
	}
	.reportList li .reportTxt .date {
		font-size: 3.4vw;
		margin-bottom: 5px;
	}
	.reportList li .reportTxt h4 {
		font-size: 4.2vw;
		line-height: 1.5;
		margin-bottom: 10px;
	}

}


/* -------------------------------------------------
	footer
------------------------------------------------- */

#footer p,
#footer a {
	color: #fff;
}
#footer a.orange {
	color: #3173bf;
	text-decoration: underline;
}

@media print, screen and (min-width:768px) {
	#footer a {
		transition-property: color;
		transition-duration: 0.2s;
		transition-timing-function: ease-in-out;
	}
	#footer a:hover {
		color: #3173bf;
	}
	#footer a.orange:hover,
	#footer a.donation:hover {
		color: #fff;
	}
}

/* link-list */

#footer .link-list {
	display: flex;
    justify-content: space-around;
    width: 50%;
}
#footer .link-list li {
	font-size: 14px;
	white-space: nowrap;
}
#footer .link-list li + li {
	margin-left: 5%;
}

@media print, screen and (min-width:768px) and (max-width:900px) {
	#footer .link-list li + li {
		margin-left: 7%;
	}
}

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

	#footer .link-list {
		width: 45%;
	}
	#footer .link-list li {
		font-size: 13px;
	}
	#footer .link-list li + li {
		margin-left: 4.5%;
	}
	#footer .link-list .ico-pdf {
		padding-right: 22px;
	}

}

@media screen and (max-width:767px) {
	#footer .link-list {
		display: block;
		flex-wrap: wrap;
     	justify-content: left;
     	width: 100%;
		margin-bottom: 10px;
	}
	#footer .link-list li {
		width: 100%;
		margin-bottom: calc(30 / 750 * 100vw);
		white-space: normal;
		font-size: calc(26 / 750 * 100vw);
		line-height: 1.6;
		text-align: center;
	}
	#footer .link-list li + li {
		margin-left: 0;
	}

}

/* block1 */

#footer .block1 {
    padding: 25px 0 25px;
    background-color: #3e3e3e;
}
#footer .block1 .nav-group {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#footer .block1 .nav-group div.ftrChange {
	width: 25%;
    text-align: center;
    border-left: solid 1px #5a5a5a;
    border-right: solid 1px #5a5a5a;
    padding: 10px 0;
	box-sizing: border-box;
}
#footer .block1 .nav-group div.ftrChange a {
	color: #ff9e5d;
}
#footer .block1 .nav-group div.ftrChange a:hover {
	color: #fff;
}


#footer .block1 .nav-group div.ftrFb {
	width: 20%;
    text-align: center;
}
#footer .block1 .nav-group div.ftrFb a {
    color: #fff;
    background: url(/images/icon_fb.png) no-repeat left center;
    background-size: 30px;
    display: inline-block;
    padding-left: 40px;
    line-height: 26px;
    letter-spacing: 1px;
}
#footer .block1 .nav-group div.ftrFb a:hover {
	opacity: 0.6;
}

#footer .block1 .donation {
	padding: 0.8em 3.8%;
	font-size: 16px;
	color: #ff9e5d;
	border-left: solid 1px #5a5a5a;
	border-right: solid 1px #5a5a5a;
	white-space: nowrap;
}
#footer .block1 .two-col {
	display: flex;
	margin-top: 29px;
}
#footer .block1 .two-col .col {
	width: 50%;
	box-sizing: border-box;
}
#footer .block1 .two-col .col:last-child {
	padding-left: 4%;
	border-left: solid 1px #5a5a5a;
}
#footer .block1 .two-col .col .title {
	font-size: 16px;
}
#footer .block1 .two-col .col .desc {
	margin-top: 23px;
	font-size: 11px;
	line-height: 1.6;
}

@media screen and (max-width:920px) {
	#footer .block1 .nav-group div {
		width: 19%;
	}
	#footer .block1 .nav-group div a {
		font-size: 16px;
	}

}

@media screen and (max-width:767px) {
	#footer .block1 {

		padding: calc(50 / 750 * 100vw) 0;
	}
	#footer .block1 .nav-group {
		padding-bottom: 0;
		display: block;
		border-bottom: none;
	}

	#footer .block1 .nav-group div.ftrChange {
		width: 100%;
		text-align: center;
		border-left: none;
		border-right: none;
		border-top: solid 1px #5a5a5a;
		border-bottom: solid 1px #5a5a5a;
		padding: 20px 0;
	}
	#footer .block1 .nav-group div.ftrFb {
		width: 100%;
		text-align: center;
		padding: 20px 0 0;
	}

	#footer .block1 .donation {

		padding: 1.4em 0;
		margin-top: calc(25 / 750 * 100vw);
		border: none;
		display: block;
		border-top: solid 1px #5a5a5a;
		border-bottom: solid 1px #5a5a5a;
		font-size: calc(32 / 750 * 100vw);
		text-align: center;
	}
	#footer .block1 .two-col {

		margin-top: calc(65 / 750 * 100vw);
		flex-wrap: wrap;
	}
	#footer .block1 .two-col .col {
		box-sizing: border-box;

		width: 100%;
	}
	#footer .block1 .two-col .col:last-child {

		padding: calc(60 / 750 * 100vw) 0 0 0;
		margin-top: calc(50 / 750 * 100vw);
		border-left: none;
		border-top: solid 1px #5a5a5a;
	}
	#footer .block1 .two-col .col .title {

		font-size: calc(32 / 750 * 100vw);
	}
	#footer .block1 .two-col .col .desc {

		margin-top: 2em;
		font-size: calc(22 / 750 * 100vw);
	}
}

/* block2 */

#footer .block2 {
	padding: 47px 0 59px;
	background-color: #333;
}
#footer .block2 .link-list {
	justify-content: center;
    width: 100%;
}
#footer .block2 .link-list li {
	font-size: 12px;
}
#footer .block2 .link-list li + li {
	margin-left: 5%;
}
#footer .block2 .about {
	width: 100%;
	margin-top: 50px;
	display: table;
	text-align: center;
	border: solid 1px #5a5a5a;
	color: #fff;
}
#footer .block2 .about dt,
#footer .block2 .about dd {
	padding: 20px 0;
	display: table-cell;
	vertical-align: middle;
}
#footer .block2 .about dt {
	width: 325px;
}
#footer .block2 .about dt .text-wrap {
	display: inline-block;
}
#footer .block2 .about dt .small {
	font-size: 11px;
	display: inline-block;
	vertical-align: baseline;
}
#footer .block2 .about dt .large {
	margin-left: 0.7em;
	font-size: 14px;
	display: inline-block;
	vertical-align: baseline;
}
#footer .block2 .about dd {
	padding-left: 15px;
	padding-right: 15px;
	border-left: solid 1px #5a5a5a;
	font-size: 11px;
	line-height: 1.4;
}
#footer .block2 .copyright {
	margin-top: 32px;
	color: #999;
	font-size: 9px;
	text-align: center;
}

@media screen and (max-width:767px) {
	#footer .block2 {
		padding: calc(65 / 750 * 100vw) 0;
	}
	#footer .block2 .link-list {
		justify-content: flex-start;
     	display: flex;
	}
	#footer .block2 .link-list li {
		font-size: calc(24 / 750 * 100vw);
		width: 50%;
		text-align: left;
	}
	#footer .block2 .link-list li + li {
		margin-left: 0;
	}
	#footer .block2 .about {
		margin-top: calc(10 / 750 * 100vw);
		display: block;
	}
	#footer .block2 .about dt,
	#footer .block2 .about dd {
		height: calc(140 / 750 * 100vw);
		padding: 0;
		display: block;
		box-sizing: border-box;
	}
	#footer .block2 .about dt {
		width: 100%;
		padding-top: calc(50 / 750 * 100vw);
	}
	#footer .block2 .about dt .small {
		font-size: calc(22 / 750 * 100vw);
	}
	#footer .block2 .about dt .large {
		font-size: calc(28 / 750 * 100vw);
	}
	#footer .block2 .about dd {
		padding: calc(30 / 750 * 100vw) 0 0;
		border-left: none;
		border-top: solid 1px #5a5a5a;
		font-size: calc(22 / 750 * 100vw);
     	line-height: 1.6;
	}
	#footer .block2 .copyright {
		margin-top: calc(70 / 750 * 100vw);
		font-size: calc(16 / 750 * 100vw);
	}
}


#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 60px;
	height: 60px;
	z-index: 11;
}
#pagetop a {
	display: block;
	background: #0F2D76 url(/images/arrow_pagetop.png) no-repeat center center;
	background-size: 27%;
	height: 100%;
	width: 100%;
	border-radius: 5px;
}
#pagetop a:hover {
	opacity: 0.6;
}

@media screen and (max-width:767px) {
	#pagetop {
		bottom: 4vw;
		right: 3vw;
		width: 12vw;
		height: 12vw;
	}
}

.line_account_pc  {
	position: fixed;
	bottom: 14px;
	right: 14px;
	width: 259px;
	height: 64px;
	z-index: 11;
}
.line_account_pc a {
	display: block;
	background: url(/images/calling_line.png) no-repeat center center;
	height: 100%;
	width: 100%;
	border-radius: 5px;
}
.line_account_pc a:hover {
	opacity: 0.6;
}

.line_account_sp  {
	position: fixed;
	bottom: 64px;
	right: 11px;
	width: 156px;
	height: 34px;
	z-index: 11;
}
.line_account_sp a {
	display: block;
	background: url(/images/calling_line_sp.png) no-repeat center center;
	height: 100%;
	width: 100%;
	border-radius: 5px;
}
.line_account_sp a:hover {
	opacity: 0.6;
}


/* -------------------------------------------------
	other
------------------------------------------------- */

/* for responsive */

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

@media screen and (max-width:767px) {
	.sp-none {
		display: none !important;
	}
}

/* clearfix */

.clear {
	clear: both;
}
.clearfix::after {
	clear: both;
	content: "";
	height: 0;
	display: block;
}

/* -------------------------------------------------
	print
------------------------------------------------- */

@media print {
	body {
		width: 980px !important;
	}
}

.sp-only {
	display: none
}
@media screen and (max-width: 991px) {
	.pc-only {
		display: none
	}
	.sp-only {
		display: block
	}
}
