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

	Common

======================================= */
body {
	font-family: 'Source Sans Pro', sans-serif;
}
header h1,
header #header_logo {
	width: 460px;
	margin: 0;
	position: absolute;
	top: 0;
	transition: all 0.2s ease-out;
}

@media only screen and (max-width: 1280px){
	header h1,
	header #header_logo {
		width: 350px;
	}
}
@media only screen and (max-width: 768px){
	header h1,
	header #header_logo {
		width: 240px;
		margin: 22px 0 0 0;
	}
}

/* ------------------------------------
	mini header
------------------------------------ */
.mini_header header h1,
.mini_header header #header_logo {
	position: static;
	width: 350px;
	margin: 0 0 0 3%;
}
@media only screen and (max-width: 1380px){
	.mini_header header h1,
	.mini_header header #header_logo {
		width: 20%;
		margin: 4px 0 0 30px;
	}
}

@media only screen and (max-width: 1080px){
	.mini_header header h1,
	.mini_header header #header_logo {
		width: 130px;
		margin: 10px 0 0 30px;
	}
	.mini_header header #global {
		margin: 0px 138px 0 0;
	}
}

@media only screen and (max-width: 768px){
	.mini_header header h1,
	.mini_header header #header_logo {
		width: 240px;
	}
}

/* ------------------------------------
	footer
------------------------------------ */
footer .relate .column {
	width: 100%;
	text-align: left;
}
footer .relate .column.company_area {
	padding: 35px 50px;
}
footer .relate .column:first-child {
	border-right: none;
}
footer .relate .column dt {
	padding-left: 30px;
	margin: 0 0 40px;
}
footer .relate .column dt:after {
	left: 0;
}
footer .relate .company {
	display: flex;
	justify-content: space-between;
}
footer .relate .company li {
	margin: 0;
	width: 48%;
}
footer .relate .company li:not(:first-child) {
	margin-left: 80px;
}

@media only screen and (max-width: 1270px){
	footer .relate .column,
	footer .relate .column.company_area {
		padding: 45px 2%;
	}
}
@media only screen and (max-width: 768px){
	footer .relate .column {
		text-align: center;
	}
	footer .relate .column:first-child {
		border-bottom: none;
	}
	footer .relate .company {
		display: block;
	}
	footer .relate .company li {
		margin: 0 0 38px;
		width: 100%;
	}
	footer .relate .company li:not(:first-child) {
		margin-left: 0;
	}
}

/* =======================================

	IndexElements

======================================= */
/*-----------------------------------------
	mv
-----------------------------------------*/
.slide01 {
	background: url(/english/img/top/slide01.png) no-repeat center center;
	background-size: cover;
}
.slide02 {
	background: url(/english/img/top/slide02.png) no-repeat center center;
	background-size: cover;
}
.slide03 {
	background: url(/english/img/top/slide03.png) no-repeat center center;
	background-size: cover;
}

@media only screen and (max-width: 768px) {
	.slide01 {
		background: url(/english/img/top/slide01.png) no-repeat 31% center;
		background-size: cover;
	}
	.slide02 {
		background: url(/english/img/top/slide02.png) no-repeat 90% center;
		background-size: cover;
	}
	.slide03 {
		background: url(/english/img/top/slide03.png) no-repeat 38% center;
		background-size: cover;
	}
}

/* ------------------------------------
	news
------------------------------------ */
.news_cont h2 {
	padding: 0 0 10px;
}
.news_cont li .date {
	font-weight: 600;
}

/* ------------------------------------
	index_feature
------------------------------------ */
.index_feature .feature h3 {
	font-size: 2.0rem;
	letter-spacing: 0.05em;
}

/* =======================================

	ContentsElements

======================================= */
p {
	text-align: start;
	text-justify: auto;
}
.table_h_s th {
	padding: 20px 25px;
}

/*-----------------------------------------
	title
-----------------------------------------*/
/* h1 */
.title_wrap h1 {
	font-size: 3.4rem;
}
.title_wrap h1 > span:after {
	top: -0.1em;
}
.title_wrap.offices .title_img {
	background: url(/english/img/offices/bg_offices.png) no-repeat center center;
	background-size: cover;
}

/* h2 */
h2 {
	line-height: 1.5;
}

@media only screen and (max-width: 768px){
	.title_wrap h1 > span:after {
		top: 0em;
	}
}

/*-----------------------------------------
	attention_wrap
-----------------------------------------*/
.attention_wrap > .accent {
	min-width: 3.0em;
}

/*-----------------------------------------
	basic_ol lower-alpha
-----------------------------------------*/
ol.lower_alpha {
	counter-reset: en-alphacounter !important;
}
ol.lower_alpha li:before {
	counter-increment: en-alphacounter 1 !important;
	content: counter(en-alphacounter,lower-alpha) "." !important;
	border: none !important;
	font-size: 1.6rem !important;
	top: 6px !important;
}

/*-----------------------------------------
	PDF column
-----------------------------------------*/
.en_link_column {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #F7F7F7;
	padding: 20px;
	word-break: break-all;
}
.en_link_column:not(:last-child) {
	margin: 0 0 10px;
}
.en_link_column.margin_last {
	margin-bottom: 30px;
}
.en_link_column p {
	margin: 0 15px 0 0;
}
.en_link_column .pdf_area {
	font-size: 1.4rem;
	min-width: 135px;
	border-left: 1px solid #DDDDDD;
	position: relative;
}
.en_link_column .pdf_area .pdf:after {
	font-size: 2.2rem;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.en_link_column.lower {
	margin-left: 40px;
}

/* .dark_color */
.en_link_column.dark_color {
	background: #dbdbdb;
}
.en_link_column.dark_color .pdf_area {
	border-left: 1px solid #fff;
}

/*-----------------------------------------
	Corporate Data
-----------------------------------------*/
.nest_table {
	width: 80%;
	margin: 0 auto;
}
.nest_table th {
	background: transparent !important;
	padding: 10px !important;
	width: auto !important;
	min-width: auto !important;
	min-width: initial !important;
	border-right: none !important;
}
.nest_table td {
	padding: 10px !important;
	border-bottom: none !important;
	text-align: right !important;
	border-right: none !important;
}
.nest_table thead th {
	color: #000000;
	text-align: right !important;
	font-size: 1.6rem !important;
	font-weight: normal !important;
}
.nest_table tbody th {
	text-align: right;
}

@media only screen and (max-width: 768px){
	.nest_table {
		width: 100% !important;
	}
	.nest_table thead th {
		background: transparent !important;
		width: 100px !important;
	}
	.nest_table th,
	.nest_table td {
		display: table-cell !important;
		width: auto !important;
		padding: 0 !important;
	}
}

/* .message_cont */
.message_cont figcaption {
	text-align: right;
	margin: 0;
}
.message_cont > section {
	width: calc(100% - 362px);
}
.message_cont > section p {
	text-indent: 1em;
}
.message_cont > section h3.border_adjust:after {
	top: auto;
	bottom: -10px;
	left: 0;
	margin-left: 0;
}
@media only screen and (max-width: 1270px) {
	.message_cont > section {
		width: calc(100% - 40% - 30px);
	}
}

@media only screen and (max-width: 768px){
	.message_sign > figure {
		width: 180px;
	}
	.message_cont > section {
		width: 100%;
	}
	.message_cont > section:last-of-type {
		margin-bottom: 30px;
	}
	.message_cont > section p {
		text-indent: 0;
	}
}

/* .mission_cont */
.mission_cont .font_b {
	font-weight: bold;
}
.mission_cont .column .goal dl {
	line-height: 1.8;
}
.mission_cont .column .goal li:not(:last-child) dl {
	margin-bottom: 1em;
}
.glossary_ul li {
	display: table;
}
.glossary_ul li .ttl {
	display: table-cell;
	width: 210px;
}
.glossary_ul li .float_r {
	float: right;
}

@media only screen and (max-width: 768px){
	.glossary_ul li {
		display: block;
	}
	.glossary_ul li .ttl {
		display: inline-block;
		width: auto;
	}
	.glossary_ul li .float_r {
		float: none;
	}
}

/* .history_cont */
.history_cont table th.year,
.history_cont table th.month {
	text-align: center;
}

/* .chronology_table */
.chronology_table th {
	width: 2.5em;
}
.chronology_table td:first-of-type {
	width: 3.5em;
}

/* .officer_cont */
.officer_cont table th {
	width: 380px;
}

@media only screen and (max-width: 768px){
	.officer_cont table th {
		width: 100%;
	}
}

/*-----------------------------------------
	Stock Info.
-----------------------------------------*/
.stock_cont .stock_shares .name {
	width: 380px;
}
.stock_cont .stock_shares .voting_rights,
.stock_cont .stock_shares .voting_rights + th {
	width: 30%;
}

/*-----------------------------------------
	Corporate Social Responsibility
-----------------------------------------*/
/* .topics_02 */
.topics_cont .topics_02 .column {
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.topics_cont .topics_02 figure {
    text-align: center;
    margin: 0 auto;
    max-width: 300px;
}
.topics_cont .topics_02 figure img {
	border: 1px solid #999;
}

.topics_cont .topics_02 figcaption {
	margin: 20px 0 0;
}

@media only screen and (max-width: 1020px){
	.topics_cont .topics_02 figure {
		width: 95%;
	}
}

@media only screen and (max-width: 768px){
	.topics_cont .topics_02 figure {
		width: 100%;
	}
	.topics_cont .topics_02 .column {
		display: block;
	}
	.topics_cont .topics_02 .column a:not(:first-child) figure {
		margin-top: 30px;
	}
}

/*-----------------------------------------
	Knowledge Center
-----------------------------------------*/
.knowledge_cont li span {
	font-size: 1.8rem !important;
}

/* .reinsurance_cont */
.reinsurance_cont > .column {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.reinsurance_cont > .column > div {
	width: calc(100% - 190px);
}
.reinsurance_cont > .column figure {
	width: 160px;
}
.reinsurance_cont > .column figure img {
	border: 1px solid #999;
}
.reinsurance_cont .pdf_icon {
	color: #000000;
}
.reinsurance_cont .pdf_icon:after {
	font-size: 2.0rem !important;
}

@media only screen and (max-width: 768px){
	.reinsurance_cont > .column {
		display: block;
	}
	.reinsurance_cont > .column > div {
		width: 100%;
		margin-bottom: 30px;
	}
	.reinsurance_cont > .column figure {
		margin: 0 auto;
	}
}

/* .life_underwriting_cont */
.life_underwriting_cont .btn_window:hover {
	opacity: 1 !important;
}
.life_underwriting_cont .btn_window[target="_blank"]:after {
	font-size: 2.2rem !important;
}

/*-----------------------------------------
	Offices and Contacts
-----------------------------------------*/
/* .map_area */
.map_area {
	margin: 0 0 80px;
	position: relative;
}
.map_area figure {
	border-radius: 5px;
	padding: 50px 30px;
	background: #F4F8F8;
}

/* .japan_link */
.japan_link {
	background: #FFF;
	padding: 25px;
	min-width: 270px;
	border-radius: 10px;
	box-shadow: 0 3px 15px rgba(0, 0, 0, .10);
	position: absolute;
	top: 20%;
	left: 45%;
	opacity: 0;
}
.japan_link.active {
	opacity: 1;
	transition: all 0.5s ease-out;
}
.japan_link:after {
	content: "";
	display: block;
	background: url(/english/img/offices/bubble.png) no-repeat center center;
	position: absolute;
	left: 30px;
	bottom: -14px;
	width: 26px;
	height: 14px;
}
.japan_link h3,
.japan_link ul {
	margin-bottom: 0;
}
.japan_link ul {
	display: none;
}
.japan_link.active ul {
	display: block;
}
.japan_link ul a {
	position: relative;
	color: #333333;
	display: inline-block;
	padding: 0 12px 0 0;
}
.japan_link ul a:before {
	font-family: 'toare';
	content: '\e90f';
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 400;
	display: block;
	color: #0064B6;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%) scale(0.5);
	transform: translateY(-50%) scale(0.5);
}
.japan_link ul a > span {
	text-decoration: underline;
}
.japan_link h3 {
	color: #2999F5;
	font-size: 2.0rem;
	font-weight: bold;
}
.japan_link h3:after {
	display: none;
}

@media only screen and (max-width: 1280px){
	.japan_link {
		top: 10%;
		left: 45%;
	}
}
@media only screen and (max-width: 1180px){
	.japan_link {
		top: 8%;
		left: 45%;
	}
}
@media only screen and (max-width: 768px){
	.map_area figure {
		padding: 15px 10px;
		margin-bottom: 35px;
	}
	.map_area map area {
		cursor: default;
	}
	.map_area .japan {
		position: static;
	}
	.japan_link {
		display: none;
		/*opacity: 1;
		position: static;
		padding: 0;
		box-shadow: none;*/
	}
	.japan_link:after {
		display: none;
	}
	.map_list {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.map_list li {
		line-height: 1.2;
		width: 49%;
		min-height: 55px;
		border-left: 3px solid #0064B6;
		margin-bottom: 10px;
		display:table;
	}
	.map_list li.tokyo {
		background: url(/english/img/offices/sp_world_map_japan.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.singapore {
		background: url(/english/img/offices/sp_world_map_singapore.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.kuala_lumpur {
		background: url(/english/img/offices/sp_world_map_kuala_lumpur.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.hong_kong {
		background: url(/english/img/offices/sp_world_map_hong_kong.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.taiwan {
		background: url(/english/img/offices/sp_world_map_taiwan.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.toa_re_america {
		background: url(/english/img/offices/sp_world_map_toa_re_america.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.toa_re_agriculture {
		background: url(/english/img/offices/sp_world_map_toa_re_agriculture.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.toa_re_america_toronto {
		background: url(/english/img/offices/sp_world_map_toa_re_america_toronto.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.toa_re_europe {
		background: url(/english/img/offices/sp_world_map_toa_re_europe.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li.london {
		background: url(/english/img/offices/sp_world_map_london.png) no-repeat center center;
		background-size: cover;
	}
	.map_list li a {
		display: table-cell;
		height: 100%;
		min-height: 53px;
		position: relative;
		color: #000000;
		padding: 10px;
		border: 1px solid rgba(41, 153, 245, 0.5);
		vertical-align: middle;
	}
	.map_list li a:before {
		content: "";
		display: block;
		background: rgba(171, 231, 245, 0.54);
		width: 100%;
		height: 100%;
		min-height: 53px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
	.map_list li a:after {
		font-family: 'toare';
		font-size: 1.0rem;
		content: '\e90f';
		position: absolute;
		top: 50%;
		right: 15px;
		color: #0064B6;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.map_list li.london a:after,
	.map_list li.taiwan a:after {
		-webkit-transform: translateY(-50%) rotate(90deg);
		transform: translateY(-50%) rotate(90deg);
	}
	.map_list li a > span {
		display: block;
		font-size: 1.2rem;
	}
}

/* .offices_cont table */
.offices_cont .link:before {
	content: " ";
	margin-top: -80px;
	height: 80px;
	display: block;
	visibility: hidden;
}
.offices_cont table thead th {
	text-align: left;
	font-size: 1.8rem;
	font-weight: 600;
	border-bottom: none !important;
	padding: 15px 25px;
}
.offices_cont table tbody th,
.offices_cont table tbody td {
	padding: 20px 25px;
}
.offices_cont table tbody th {
	width: 33%;
	vertical-align: middle;
}
.offices_cont table tbody tr:nth-child(:odd) > * {
	background: #EFEFEF;
}
.offices_cont table tbody tr:not(:last-child) th {
	border-bottom: 1px solid #FFF;
}
.offices_cont table tbody th.table_list {
	padding: 0;
}
.offices_cont table tbody th.table_list ul li {
	padding: 20px 25px;
}
.offices_cont table tbody th.table_list ul li:not(:last-child) {
	border-bottom: 1px solid #FFF;
}
.offices_cont table tbody th a {
	position: relative;
	color: #000000;
}
.offices_cont table tbody th a > span {
	text-decoration: underline;
	padding-right: 10px;
}
.offices_cont table tbody th a:after {
	font-family: 'toare';
	font-size: 1.0rem;
	content: '\e90f';
	top: 16px;
	left: 3px;
	color: #0064B6;
}
.offices_cont table tbody td {
	vertical-align: middle;
}
.offices_cont table tbody tr:not(:last-child) td {
	border-bottom: 1px solid #EFEFEF;
}
.offices_cont .address_list {
	margin-bottom: 0;
}
.offices_cont .address_list li {
	display: flex;
}
.offices_cont .address_list .ttl {
	font-size: 1.6rem;
	font-weight: 600;
	width: 82px;
}
.offices_cont .address_list .content {
	width: 67%;
}
.offices_cont .btn_window,
.offices_cont .pdf_icon {
	margin-left: 0;
	color: #000;
}
.offices_cont .btn_window:after {
	color: #0064B6;
}

@media only screen and (max-width: 768px){
	.offices_cont .link:before {
		margin-top: -10px;
		height: 10px;
	}
	.offices_cont table thead th,
	.offices_cont table thead td,
	.offices_cont table tbody th,
	.offices_cont table tbody td {
		padding: 10px;
	}
	.offices_cont table thead th {
		background: #2999F5 !important;
	}
	.offices_cont table tbody th {
		width: 100%;
	}
	.offices_cont table tbody th.table_list ul li {
		padding: 10px;
	}
	.offices_cont table tbody td li {
		display: block;
	}
	.offices_cont table tbody td .ttl {
		display: block;
	}
}

/*-----------------------------------------
	Offices and Contacts lower
-----------------------------------------*/
.offices_cont .main_visual {
	margin-bottom: 70px;
}
.offices_cont .main_visual figure {
	margin-bottom: 45px;
}
.offices_cont .g_map {
	margin-top: 50px;
}

/* office_list */
.office_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.office_list li {
	background: #F7F7F7;
	width: 49%;
	margin-bottom: 10px;
}
.office_list li a {
	color: #000000;
	position: relative;
	display: block;
	padding: 20px 40px 20px 30px;
	height: 100%;
}
.office_list li a:after {
	font-family: 'toare';
	font-size: 1.0rem;
	content: '\e90f';
	position: absolute;
	top: 50%;
	right: 15px;
	color: #0064B6;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.office_list li a.btn_window:after,
.office_list li a.pdf_icon:after {
	margin: 0;
}

@media only screen and (max-width: 768px){
	.office_list {
		display: block;
	}
	.office_list li {
		width: 100%;
	}
	.office_list li:not(:last-child) {
		margin-bottom: 10px;
	}
}

/*-----------------------------------------
	TREND
-----------------------------------------*/
header.header_trend h1,
header.header_trend #header_logo {
	position: static;
}
@media only screen and (min-width: 769px) and (max-width: 1080px) {
	header.header_trend #header_logo {
		width: 20%;
	}
}


/*-----------------------------------------
	Hover
-----------------------------------------*/
.japan_link ul a,
.offices_cont table a {
	transition: all 0.2s ease-out;
}

@media only screen and (min-width: 768px) {
	body:not(.tab_view) .japan_link ul a:hover,
	body:not(.tab_view) .offices_cont table a:hover {
		opacity: 0.6;
	}
}

/* ------------------------------------
	print css
------------------------------------ */
@media print {
	header h1,
	header #header_logo {
		width: 350px !important;
	}
	.mini_header header h1,
	.mini_header header #header_logo {
		width: 120px !important;
		margin: 10px 0 0 30px !important;
	}
	footer .relate .column,
	footer .relate .column.company_area {
		padding: 45px 2% !important;
	}
}