@charset "UTF-8";
#page_block {
	margin-top: 30px;
}
@media only screen and (max-width: 767px) {
	#page_block {
		margin-top: 20px;
		font-size: 1.3rem;
	}
}

/* ttl_page
----------------------------------------*/
.ttl_page {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #000;
	background: url(../img/common/bg_ttl_page.png) no-repeat center top;
	background-size: cover;
	margin: 0 0 10px;
	height: 130px;
	font-size: 3.0rem;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: .1em;
}


@media only screen and (max-width: 767px) {
	.ttl_page {
		/*background-image: url(../img/common/bg_ttl_page_sp.jpg);
		background-size: 100% auto;*/
		font-size: 2rem;
		height: 65px;
	}
}

/* title
----------------------------------------*/
#page_block h2 {
	color: #475BB2;
	font-size: 2.6rem;
	line-height: 1.4;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 400;
	letter-spacing: .1em;
	text-align: center;
	padding-bottom: 12px;
	margin-bottom: 40px;
}

#page_block h2 .txt_en {
	display: block;
	font-size: .5em;
	letter-spacing: .01em;
}

#page_block h2:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 126px;
	height: 2px;
	display: block;
	background: url("../img/common/bg_title_line.svg") no-repeat;
	background-size: 100% 100%;
	margin-left: -63px;
}

.modal #page_block h2 {
	margin-top: 1em;
}

@media only screen and (max-width: 767px) {
	#page_block h2{
		font-size: 2.4rem;
		margin-bottom: 30px;
	}

	#page_block > h2,
	#page_block > h3,
	#page_block > h4 {
		width: 90.625%;
		margin-left: auto;
		margin-right: auto;
	}
}

#page_block h3 {
	color: #475BB2;
	font-size: 1.8rem;
	margin: 40px auto 20px;
	padding: 0 0 6px 0;
	line-height: 1.4;
	letter-spacing: .01em;
	border-bottom: solid 2px #475BB2;
}

.iframe #page_block h3 {
	color: #475BB2;
	padding: 0;
	border-bottom: none;
	margin: 40px auto 10px;
}

@media only screen and (max-width: 767px) {
	#page_block h3 {
		font-size: 1.6rem;
		margin: 40px auto 20px;
	}

	.iframe #page_block h3 {
		margin: 40px auto 10px;
	}
}

#page_block h4 {
	font-size: 1.6rem;
	margin: 40px auto 20px;
	padding: 0 0 0 15px;
	line-height: 1.4;
}

#page_block h4:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	display: block;
	background: #475BB2;
}

@media only screen and (max-width: 767px) {
	#page_block h4 {
		font-size: 1.4rem;
	}
}

#page_block h5 {
	color: #475BB2;
	margin: 30px auto 10px;
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {

}

#page_block h6 {
	margin: 30px auto 10px;
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {

}

/*text
----------------------------------------*/
/* 注釈 */
#contents p.asterisk {
	margin-left: 1em;
	text-indent: -1em;
	font-size: 85%;
}
p.asterisk_m {
	margin-left: 1em;
	text-indent: -1em;
}

.indent01 {
	margin-left: 2.5em !important;
    text-indent: -2.5em;
}

#page_block.single p {
	margin-bottom: 25px;
}

#page_block.single ul {
	margin-bottom: 20px;
}

#page_block.single ul li {
	margin-bottom: 5px;
	margin-left: 1em;
	text-indent: -1em;
}

#page_block.single ul li::before {
	content: "●";
	color: #475BB2;
	margin-right: .2em;
}

#page_block.single ol {
	margin-bottom: 20px;
	counter-reset: number;
}

#page_block.single ol li {
	margin-bottom: 5px;
	margin-left: 1.5em;
}

#page_block.single ol li::before {
	counter-increment: number;
	content: counter(number)'.';
	display: inline-block;
	margin: 0 .2em 0 -1.5em;
	width: 1.5em;
}

#page_block.single blockquote {
	margin: 25px 0;
	padding: 1em;
	background: #f4f7fc;
}


#page_block .ul {
	font-size: 93%;
	margin-bottom: 15px;
	overflow: hidden;
}

#page_block .ol {
	font-size: 93%;
	margin-bottom: 15px;
	counter-reset: number;
}

#page_block .ul ul,
#page_block .ol ol,
#page_block .ul ol,
#page_block .ol ul,
#page_block .ul p,
#page_block .ol p {
	font-size: 100%;
	margin: 3px 0 0;
	padding: 0;
	border: none;
	background: none;
	font-weight: normal;
}

#page_block .ul > li {
	word-wrap: break-word;
	padding-left: 15px;
	font-weight: bold;
}

#page_block .ul > li:before {
	content: "";
	width: 6px;
	height: 10px;
	display: block;
	position: absolute;
	top: 5px;
	left: 0px;
    background: url(../img/common/icon_list_arrow.png) no-repeat;
}

#page_block .ul li ul {
	margin-left: -15px;
}

#page_block .ul li ul li {
	padding-left: 15px;
	word-wrap: break-word;
	text-indent: 0!important;
}

#page_block .ul li ul li ul li {
	font-size: 83.3%;
}

#page_block .ul li ul li ul li ul li {
	font-size: 100%;
}

#page_block .ul > li ul li:before {
	content: "";
	display: block;
	margin: 0 6px 0 0;
	background: #475BB2;
	position: absolute;
	top: 9px;
	left: 0;
	width: 8px;
	height: 1px;
}

#page_block .ul > li ul li ul li:before {
	content: "・";
	display: block;
	margin: 0 6px 0 0;
	background: none;
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
}

#page_block .ol > li {
	list-style: none;
	margin: 0;
	padding: 0 0 0 1.45em;
	word-wrap: break-word;
}

#page_block .ol > li:before {
	counter-increment: number;
	content: counter(number)'.';
	color: #475BB2;
	display: inline-block;
    margin: 0 0.4em 0 -2em;
	width: 1.5em;
	text-align: right;
	font-weight: bold;
	font-size: 116.6%;
}

#page_block .ol > li:last-child,
#page_block .ul > li:last-child {
	margin-bottom: 0;
}

#page_block li ol > li:before {
	color: #333333;
	font-weight: 400;
}

#page_block ul.asterisk {
	font-size: 85%;
}

#page_block ul.asterisk li {
	background: none ;
	text-indent: -1.0em;
	margin: 0 0 5px 1em;
	padding-left: 0;
}

#page_block ul.asterisk li:before {
	display: none;
}

@media only screen and (max-width: 767px) {
	#contents p.asterisk {
		font-size: 69.2%;
	}

	#page_block .ul {
		font-size: 80.7%;
		line-height: 1.4;
	}

	#page_block .ol {
		font-size: 80.7%;
		line-height: 1.4;
	}

	#page_block .ul > li:before {
		width: 6.5px;
		top: 3px;
		left: 0px;
	    background: url(../img/common/icon_list_arrow_sp.png) no-repeat;
		background-size: 100% auto;
	}

	#page_block .ul li ul li ul li {
		font-size: 85.7%;
	}

	#page_block .ul li ul li ul li ul li {
		font-size: 100%;
	}

	#page_block .ol > li:before {
		font-size: 120%;
	}

	#page_block .ol > li,
	#page_block .ul > li {
		margin-bottom: 10px;
	}

	#page_block ul.asterisk {
		font-size: 69.2%;
	}
}


/*box
----------------------------------------*/

/* 段落の区切り */
.txtarea {
	width: 920px;
	margin: 0 auto 36px;
}

.txtarea.first {
	margin-top: 46px;
}

.txtarea .cap {
	font-size: 85%;
}

.line_block {
	border: solid 1px #475BB2;
	padding: 21px;
}

/* 2カラム */
.col2_block {
	margin: 0 0 15px -4.347%;
}
.col2_block .col_box {
	float: left;
	width: 45.834%;
	margin: 0 0 15px 4.166%;
	*display: inline;
    *zoom: 1;
}

/* 3カラム */
.col3_block {
	margin: 0 0 15px -1.9748%;
}
.col3_block .col_box {
	float: left;
	width: 31.3251%;
	margin: 0 0 15px 1.9748%;
	*display: inline;
    *zoom: 1;
}

/* 4カラム */
.col4_block {
	margin: 0 0 15px -4.347%;
}

.col4_block .col_box {
	float: left;
	width: 20.834%;
	margin: 0 0 15px 4.166%;
	*display: inline;
    *zoom: 1;
	position: relative;
}

@media only screen and (max-width: 767px) {
	/* 段落の区切り */
	.txtarea {
		width: auto;
		margin: 0 4.687% 21px;
	}

	.txtarea.first {
		margin-top: 21px;
	}

	.txtarea .cap {
		font-size: 85%;
	}

	.line_block {
		padding: 12px 14px;
	}

	/* 3カラム */
	.col2_block.sp_col_single,
	.col3_block {
		margin: 0 0 20px 0;
	}

	.col2_block.sp_col_single .col_box,
	.col3_block .col_box {
		float: none;
		width: auto;
		margin: 0 0 20px;
	}
}


/*テーブル
----------------------------------------*/
#page_block .table_block {
	overflow: auto;
	margin: 0 auto 25px;
}

#page_block .table_block:last-child {
	margin-bottom: 0;
}

#page_block .table_block table { 
	width: 100%;
	border-spacing: 0;
	border-top: 1px solid #d8d8d8;
	border-left: 1px solid #d8d8d8;
	table-layout: fixed;
	line-height: 1.5;
}

#page_block .table_block table.tl_auto {
	table-layout: auto;
}

#page_block .table_block table th { 
	padding: 16px 20px 14px;
	background: #efebe9;
	font-weight: normal;
	vertical-align: top;
	word-break: break-all;
	text-align: left;
	border-right: 1px solid #d8d8d8;
	border-bottom: 1px solid #d8d8d8;
}

#page_block .table_block table thead th {
	background: #475BB2;
	color: #fff;
}

#page_block .table_block table td { 
	padding: 13px 13px 11px;
	vertical-align: top;
	word-break: break-all;
	border-right: 1px solid #d8d8d8;
	border-bottom: 1px solid #d8d8d8;
	background: #fff;
	letter-spacing: 0;
}
.table_coporate th {
	width: 25%;
}

@media only screen and (max-width: 767px) {
	#page_block .table_block table { 

	}

	#page_block .table_block table th { 
		padding: 10px 16px 11px;
	}

	#page_block .table_block table td { 
		padding: 10px 13px 11px;
	}

	#page_block .sp_table_single > table tr,
	#page_block .sp_table_single > table th,
	#page_block .sp_table_single > table td {
		display: block;
		min-width: 100% !important;
	}

	#page_block .sp_table_single > table th,
	#page_block .sp_table_single > table td {
		display: block;
		padding: 11px 15px 8px;
	}

	#page_block .sp_table_single > table td {
		display: block;
		padding: 9px 13px 11px;
		letter-spacing: 0;
	}

	#page_block .sp_table_single > table .table01_block tr {
		display: table-row;
	}

	#page_block .sp_table_single > table .table01_block th,
	#page_block .sp_table_single > table .table01_block td {
		display: table-cell;
		min-width: 0;
		padding: 5px 10px;
		float: none;
	}	
	
	#page_block .sp_table_scroll {
		overflow: auto;
	}
	
	#page_block .table_block .sp_table_scroll table {
		min-width: 730px;
		width: auto;
	}
	
	#page_block .sp_table_scroll + * {
		margin-top: 10px;
	}
	#page_block .sp_table_scroll::-webkit-scrollbar{
		height: 4px;
	}
	#page_block .sp_table_scroll::-webkit-scrollbar-track{
		background: #F1F1F1;
	}
	#page_block .sp_table_scroll::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
}


/* pager
----------------------------------------*/
.pager {
	text-align: center;
	padding: 70px 0 60px;
}

.pager li {
	display: inline-block;
	width: 30px;
	margin: 0 3.2px;
}

.pager li a,
.pager li span {
	height: 30px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 1px #475BB2;
	display: block;
	font-size: 108%;
	text-decoration: none;
	color: #242424;
	line-height: 29px;
}

.pager li a:hover,
.pager li.current a,
.pager li.current span {
	background: #475BB2;
	color: #fff;
}

.pager li.prev,
.pager li.next {
	width: auto;
}

.pager li.prev {
	margin-right: 15px;
}

.pager li.next {
	margin-left: 15px;
}

.pager li.prev a,
.pager li.next a {
	height: auto;
	display: inline;
	border: none;
	font-size: 116%;
}

.pager li.prev a:before,
.pager li.next a:after {
	content: "<<";
	display: inline-block;
	font-size: 80%;
	transform: scale(0.5, 1);
}

.pager li.next a:after {
	content: ">>";
}

.pager li.prev a:hover,
.pager li.next a:hover {
	background: none;
	color: #242424;
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	.pager {
		padding: 10px 0 30px;
	}

	.pager li {
		margin: 0 2px;
	}

	.pager li.prev {
		margin-right: 4px;
	}

	.pager li.next {
		margin-left: 4px;
	}
}


/* btn
----------------------------------------*/
#page_block .btn_block {
	text-align: center;
}

#page_block .btn_block p,
#page_block .btn_block button {
	display: inline-block;
	font-size: 108%;
	margin: 0 18px;
}

#page_block .btn_block a,
#page_block .btn_block button {
	display: inline-block;
	min-width: 260px;
	text-decoration: none;
	background: #475BB2;
	color: #fff;
	border: none;
	font-family: inherit;
	letter-spacing: .01em;
	line-height: 1.5;
	padding: 12px 10px 12px 0 ;
	cursor: pointer;
}

#page_block .btn_block a:after,
#page_block .btn_block button::after {
	content: "";
	display: block;
	background: url("../img/common/icon-arrow_forward-wh.svg") no-repeat center center;
	background-size: 18px 18px;
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 18px;
	z-index: 2;
}

#page_block .btn_block .btn_line a,
#page_block .btn_block button.btn_line {
	background: #fff;
	border: solid 1px #475BB2;
	color: #475BB2;
	padding: 11px 0 10px;
}
/*
#page_block .btn_block .btn_line a:after,
#page_block .btn_block button.btn_line:after {
	bottom: 3px;
	right: 3px;
	background: url(../img/index/icon_btn_arrow01.png) no-repeat;
}*/

@media only screen and (max-width: 767px) {
	#page_block .btn_block p,
	#page_block .btn_block button {
		display: block;
		font-size: 123.1%;
		margin: 0;
	}

	#page_block .btn_block a,
	#page_block .btn_block button {
		display: block;
		min-width: 100%;
		padding: 12px 10px 12px 0;
	}

	#page_block .btn_block button + button,
	#page_block .btn_block button + p,
	#page_block .btn_block p + button,
	#page_block .btn_block p + p {
    	margin-top: 15px;
	}

/*
	#page_block .btn_block .btn_line a:after,
	#page_block .btn_block button.btn_line:after {
		bottom: 4px;
		right: 4px;
		background: url(../img/index/icon_btn_arrow01_sp.png) no-repeat;
		background-size: 7.5px auto;
	}*/
}

/* company
----------------------------------------*/
.read_block p,
#page_block .read_block p {
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 1.2em;
	text-align: center;
	margin-bottom: 25px;
}

.page-template-page-company #page_block > section + section {
	margin-top: 50px;
}

@media only screen and (max-width: 767px) {
	.read_block p,
	#page_block .read_block p {
		font-size: 1em;
		margin-bottom: 15px;
	}

	.page-template-page-company #page_block > section + section {
		margin-top: 40px;
	}
}



/* summary_block
----------------------------------------*/
.summary_block {
	margin-top: 40px;
	padding-bottom: 15px;
	border-bottom: solid 1px #c9c9c9;
}

.txt_date {
	border-bottom: dotted 1px #c9c9c9;
	font-weight: normal;
	font-family: 'Noto Serif JP', sans-serif;
	margin-bottom: 15px;
	padding-bottom: 8px;
}

.txt_date .txt_label {
	width: 80px;
	text-align: center;
	background: #475BB2;
	display: inline-block;
	color: #fff;
	line-height: 1.5;
	margin-left: 10px;
	font-weight: normal;
}

#page_block .summary_block h3 {
	margin: 0 0 15px;
}

#page_block .summary_block h3 a {
	color: #475BB2;
	text-decoration: none;
}

.summary_block .ph {
	float: left;
	width: 105px;
	margin-right: 21px;
	z-index: 2;
}

.summary_block .txt {
	overflow: hidden;
	margin-bottom: 20px;
}

.summary_block .more {
	text-align: right;
}

.summary_block .more a {
	display: inline-block;
	min-width: 150px;
	text-decoration: none;
	background: #475BB2;
	color: #fff;
	border: none;
	font-family: inherit;
	letter-spacing: -0.6px;
	line-height: 1;
	padding: 12px 20px 11px 10px;
	cursor: pointer;
	text-align: center;
	position: relative;
}

.summary_block .more a::after {
	content: "";
	display: block;
	background: url("../img/common/icon-arrow_forward-wh.svg") no-repeat center center;
	background-size: 18px 18px;
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	width: 18px;
	z-index: 2;
}


/* single
----------------------------------------*/

.single .mainv {
	text-align: center;
	margin-bottom: 20px;
}


/* modal
----------------------------------------*/
#modal {
	display: none;
	position: absolute;
	top: 10px;
	left: 50%;
	margin-left: -400px;
	width: 800px;
	background: #fff;
	z-index: 1200;
	padding: 40px 40px 36px;
	opacity: 0;
}

#modal img {
	display: block;
}

#modal.photo {
	padding: 0;
	background: #999;
}
#modal.photo > img {
	display: block;
	margin: auto;
}

#modal .btn_close {
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
	width: 30px;
	height: 30px;
	z-index: 10;
}

#modal .ph {
	float: left;
	width: 165px;
	margin-right: 40px;
	margin-bottom: 30px;
}

#modal .name {
	overflow: hidden;
	padding: 35px 0 0;
	font-size: 196.9%;
	font-weight: bold;
	line-height: 1.35;
}

#modal .name .en {
	font-size: 46.8%;
	letter-spacing: -.3px;
}

#modal .name + p {
	font-size: 147.6%;
	font-weight: bold;
	margin-top: 7px;
}

#modal h3 {
	clear: both;
	width: 220px;
	background: #000;
	color: #fff;
	text-align: center;
	font-size: 108%;
	padding: 3px;
	margin-bottom: 13px;
	letter-spacing: .5px;
}

#modal h3 + p,
#modal dl + p{
	font-size: 108%;
	letter-spacing: 0;
	line-height: 2;
	margin-bottom: 25px;
}

#modal h4 {
	font-size: 123.1%;
	margin: -6px 0 8px -3px;
    letter-spacing: 1.3px;
}

#modal dl + h4,
#modal dl + p {
	margin-top: 21px;
}

#modal h4:before {
	content: "■";
}

#modal dl {
	font-size: 107.6%;
}

#modal dl:before {
	content: "";
	position: absolute;
	top: 4px;
	bottom: 2px;
	left: 100px;
	width: 1px;
	background: #d8d8d8;
	display: block;
}

#modal dl dt {
	position: absolute;
	left: 0;
	width: 100px;
	letter-spacing: 1.5;
	margin-bottom: 4px;
}

#modal dl dd {
	padding-left: 119px;
	margin-bottom: 4px;
}

#bg_search {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	background: rgba(201,201,201,.8);
}

@media only screen and (max-width: 767px) {
	#modal {
		left: 4.687%;
		right: 4.687%;
		margin-left: 0;
		width: auto;
		padding: 15px;
		font-size: 1.3rem;
	}

	#modal .btn_close {
		top: 10px;
		right: 10px;
	}

	#modal .ph {
    	width: 83px;
		margin-right: 15px;
		margin-bottom: 15px;
	}

	#modal .name {
		font-size: 110.7%;
		padding-top: 13px;
	}

	#modal .name .en {
		font-size: 62.5%;
	}

	#modal .name + p {
		font-size: 83%;
		margin-top: 7px;
	}

	#modal h3 {
		width: 200px;
		font-size: 93%;
		padding: 2px 0;
		margin-bottom: 10px;
	}

	#modal h3 + p,
	#modal dl + p {
		font-size: 85%;
		line-height: 1.5;
		margin-bottom: 25px;
	}

	#modal h4 {
		font-size: 93%;
		margin: -6px 0 5px;
	}

	#modal dl {
		font-size: 85%;
	}

	#modal dl:before {
		left: 73px;
	}

	#modal dl dt {
		width: 70px;
	}

	#modal dl dd {
		padding-left: 89px;
	}
}

/* 縦横比固定のボックス */
.aspectwrapper {
    position: relative;
	overflow: hidden;
}
.aspectwrapper:after {
    padding-top: 61.9266%;
    display: block;
    content: "";
}
.aspectwrapper iframe,
.aspectwrapper > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.aspectwrapper > .ph {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
}
.aspectwrapper > .ph img {
	width: 100%;
	height: auto;
	max-width: none;
}

/* store */
.page-id-13 .aspectwrapper:after {
    padding-top: 396px;
}

@media only screen and (max-width: 767px) {
	.page-id-13 .aspectwrapper:after {
		padding-top: 61.9266%;
	}
}


/* iframe */
.iframe {
    min-width: 0;
}

.iframe #wpadminbar {
	display: none;
}

.iframe .txtarea.first,
.iframe .txtarea {
    width: auto;
    margin: 0 auto 36px;
}

.iframe #page_block h2 {
	width: auto;
}


/* 解析タグ
----------------------------------------*/
.cvtag_block {
	height: 0;
	overflow: hidden;
}

/* jsで背景画像
----------------------------------------*/
.bgimg {
	display: block;
	background-position: center center;
	background-size: cover;
	position: relative;
}

.bgimg img {
	display: none;
}

.bgimg::after {
	content: '';
	display: block;
	position: relative;
	padding-top: 75%;
}
.article_block .ph .bgimg img,
#pickup .bgimg img,
#similar .bgimg img {
	display: none;
}

/* 縦横比固定のボックス */
.b-aspectwrapper {
	position: relative;
	overflow: hidden;
}
.b-aspectwrapper::after{
	padding-top: 61.9266%;
	display: block;
	content: "";
}
.b-aspectwrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/*画像のfloat
----------------------------------------*/
.alignleft {
	text-align: left;
}
.alignright {
	text-align: right;
}
.aligncenter {
	text-align: center;
}
img.alignleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 10px;
}
img.alignright {
	float: right;
	margin-left: 20px;
	margin-bottom: 10px;
}
img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.b-text-small {
	font-size: 85%;
}
.b-text-large {
	font-size: 116%;
}
.b-text-larger {
	font-size: 150%;
}