@charset "utf-8";

/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*全体の設定
---------------------------------------------------------------------------*/
html{
	scroll-behavior: smooth;
	height: 100%;
	font-size: 15.2px;
}
body {
	min-height: 100%;
	letter-spacing: 1px;
	flex-direction: column;
	margin: 0px;
	padding: 0px;
	color: #333;	/*全体の文字色*/
	
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-family: 'IBM Plex Sans JP', sans-serif;
/*	font-family: 'Zen Kaku Gothic Antique', sans-serif;*/
	font-weight: 400;
	
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
}
dd{
	margin-left: 0;
}
ul{
	padding-left: 1.5em;
}
dd > ul{
	margin: 0;
}

ol.num_kakko {
	margin-left: 3rem; /* サイトに合せて調整 */
	padding-left: 0;
}
ol.num_kakko li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}
ol.num_kakko li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3rem; /* サイトに合せて調整 */
	width: 2.5rem; /* サイトに合せて調整 */
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}
.br{
	display: inline-block;
}
small{
	line-height: 1.2;
	display: inline-block;
}

/*スクロールバー（全般）設定
---------------------------------------------------------------------------*/
::-webkit-scrollbar {
	width: 13px;
	height: 8px;
	background-color: rgba(243,243,243,1);
	background-color: #cacdd1;
	border: 1px solid #cacdd1;
}
::-webkit-scrollbar-thumb {
	border-radius: 8px;
	border-right: 2.5px solid transparent;
	border-left: 2.5px solid transparent;
	background-clip: padding-box;
	background-color: rgba(239,171,59,1);
	background-color: rgba(35,99,119,0.8);
}
::-webkit-scrollbar-track {
	margin-top: 2.5px;
	margin-bottom: 2.5px;
	background-color: rgba(243,243,243,1);
	border-left: 1px solid #cacdd1;
	border-right: 1px solid #cacdd1;
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	transition: 0.2s;		/*マウスオン時の移り変わるまでの時間設定。0.2秒。*/
	text-decoration: none;	/*下線を消す設定。残したいならこの１行削除。*/
	color: #333;	/*全体の文字色*/
}
div.text p a,
table a{
	color: #4d8090;
	text-decoration: underline;
	transition: 0.3s;
}
a:hover {
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}
div.text p a:hover,
table a:hover{
	color: #41a0be;
	text-decoration: none;
}
.external-link::after{
	content: '\f35d';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-left: .5rem;
}

/*スライダー
---------------------------------------------------------------------------*/
/*フッター設定
---------------------------------------------------------------------------*/

/*新着情報
---------------------------------------------------------------------------*/
#news{
	padding: 0 1rem;
	height: 12rem;
	overflow-y: auto;
	background-color: rgba(255,255,255,1);
}
#news a{
	font-weight: 500;
	position: relative;
	overflow: hidden;
	display: inline-block;
	vertical-align: top;
}
#news a::after{
	content: '';
	height: 0.5rem;
	width: 210%;
	idth : -webkit-calc(200% + 0.4rem) ;
	width : calc(200% + 0.4rem) ;
	background-color: rgba(65,160,190,0.5);
	background: linear-gradient(45deg, rgba(65,160,190,0.5) 0%, rgba(65,160,190,0.5) 50%, rgba(65,160,190,0.3) 50%, rgba(65,160,190,0.3) 100%);
	position: absolute;
	left: -0.2rem;
	bottom: 0.2rem;
	transform: translatex(-50%);
	transition: .4s;
}
#news a:hover{
	color: 000;
}
#news a:hover::after{
	transform: translatex(0.2rem);
}


#news dl{
	position: relative;
}
#news dt, 
#news dd{
	line-height: 1.2;
}
#news dt{
	font-weight: 600;
	border-bottom: 1px solid #41a0be;
	margin-bottom: 0.2rem;
	display: inline-block;
}


/*アクセスmap設定
---------------------------------------------------------------------------*/
div.map{
	width: 100%;
	max-width: none;
	height: 70vh;
}
div.map iframe{
	width: 100%;
	height: 100%;
	border: 0;
}
/*アクセス設定
---------------------------------------------------------------------------*/
.office{
	position: relative;
}
.office img{
	max-height: 500px;
	box-sizing: border-box;
}

/*main設定
---------------------------------------------------------------------------*/
main{
	position: relative;
	padding-top: 1rem;
}
main::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 1rem;
	top: 0;
	background: #41a0be;
	z-index: 1;
}
main.line_none{
	padding-top: 0;
}
main.line_none::before{
	content: none;
}
main > h2.h2_01:first-child, 
main > h3.h3_01:first-child, 
main > h3.h3_02:first-child{
	margin-top: 3rem;
}

main > div, 
div.top_image .catchcopy, 
div.pankuzu p, 
main > div.width_100 > div, 
h1.h1_01 > span, 
h2.h2_01, 
h3.h3_01{
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
}
main > div.width_100{
	width: 100%;
	max-width: none;
}
div.top_image{
	position: relative;
	width: 100vw;
	max-width: none;
	min-height: 30vmax;
	color: #fff;
	background-repeat: no-repeat;
	background-size: cover;
}
div.top_image::before{
	content: '';
	width: 100%;
	height: .1rem;
	position: absolute;
	background: rgba(255,255,255,0.8);
	top: .2rem;
}
div.top_image .catchcopy{
	min-height: 30vmax;
}
div.top_image .catchcopy p{
	display: inline-block;
	position: absolute;
	bottom: 0;
	text-shadow:2px 2px 3px #333;
	font-weight: 300;
}
div.top_image .catchcopy p span.eng{
}
div.top_image .catchcopy p span.jp{
	line-height: 1.3;
}

div[class^="tile_"] > div{
	display: inline-block;
	box-sizing: border-box;
}

div[class^="tile_"]:not(.tile_4) > div a{
	display: inline-block;
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 70%;
	overflow: hidden;
	background-color: #fff;
}
div[class^="tile_"] a img{
	height:100%;
	width: 100%;
	position: absolute;
}
div[class^="tile_"] a img.hover_scale{
	transition: 0.5s;
}
div[class^="tile_"] a img.hover_bright{
	object-fit: contain;
	transition: .3s;
}
div.tile_2 > div{
	width: 50%;
}
div.tile_2 > div:nth-of-type(2n-1){
	padding: 0.5rem 4% 0.5rem 0;
}
div.tile_2 > div:nth-of-type(2n){
	padding: 0.5rem 0 0.5rem 4%;
}
div.tile_3 > div{
	width: 33%;
	width: -webkit-calc(100% / 3);
	width: calc(100% / 3);
}
div.tile_3 > div:nth-of-type(3n-2){
	padding: 0.5rem 4% 0.5rem 0;
}
div.tile_3 > div:nth-of-type(3n-1){
	padding: 0.5rem 2%;
}
div.tile_3 > div:nth-of-type(3n){
	padding: 0.5rem 0 0.5rem 4%;
}
div.tile_3.Internet{
	text-align: center;
}
div.tile_3.Internet > div > p{
	line-height: 1.2;
} 
div.tile_3.Internet > div > a{
	text-align: left;
}
div.tile_4 > div {
	width: 25%;
	box-sizing: border-box;
	padding: 0 .5% 2rem;
	vertical-align: top;
}
div.tile_4 > div img {
	width: 100%;
	border: solid 1px;
	position: static;
}
div.tile_4 > div a:hover img {
	opacity: 0.7;
	transition: 0.2s;
}
div.tile_4 > div h5{
	margin-top: 0;
	padding-top: 0;
}
div.tile_4 > div p{
	margin: 0;
	padding: 0 1rem 0 1.5rem;
	line-height: 1.5;
}
div.tile_6 > div{
	padding: 0 5px;
	font-size: 0.8rem;
}
div.tile_6 > div a{
	padding-bottom: 30%;
}
div.tile_6 > div a p{
	min-height: 2.2rem;
}
div.tile_6 > div a p > span{
	font-weight: 600;
	line-height: 1;
}

div:not(.img_contain) a img{
	object-fit: cover;
}
div.img_contain a img{
	object-fit: contain;
}
div[class^="tile_"] a p{
	display: inline-block;
	position: absolute;
	background-color: rgba(255,255,255,0.7);
	height: 60%;
	width: 80%;
	margin: 0;
	padding: 5%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	box-sizing: border-box;
}
div[class^="tile_"] a p > span{
	position: absolute;
	width: 100%;
	padding: 0 5%;
	top: 50%;
	left: 0;
	transform: translatey(-50%);
	box-sizing: border-box;
	font-weight: 500;
	font-size: 1.1em;
	line-height: 1.2;
}
div[class^="tile_"] a p > span::after{
	content: '\f0da';
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.5em;
	transform: translatey(0.1em);
	padding-left: .5rem;
	transition: 0.3s;
	line-height: 0;
}
div[class^="tile_"] a:hover img.hover_scale{
	transform: scale(1.2);
}
div[class^="tile_"] a:hover img.hover_bright{
	opacity: 0.7;
}
div[class^="tile_"] a:hover p > span::after{
	transform: translate(0.5rem, 0.1em);
}
div.text > h5.h5_01, 
div.text > h5.h5_02, 
div.text > p{
	padding: 0 1.5em;
	margin-top: 1.5em;
}
div.text > p{
	margin-bottom: 1.5em;
}
div.text > ol{
	padding-right: 1.5rem;
}
div.text h5.h5_01 + p, 
div.text h5.h5_02 + p{
	margin-top: 0.5em;
}
div.text > ul, 
div.text > ol{
	padding-left: 3rem;
}
div.text > ul:not(.weight_normal), 
div.text > ol:not(.weight_normal){
	font-weight: 500;
}
div.text > ol li{
	padding-left: 0.5rem;
}
div.text > ol li + p{
	font-weight: 400;
	margin: 0.5rem 0 1rem;
}
div.text .indent_kakkochuu{
	display: inline-block;
	padding-left: 2.2rem!important;
	text-indent: -2.2rem!important;
}
div.text .indent_len2{
	display: inline-block;
	padding-left: 2rem!important;
	text-indent: -2rem!important;
}
div.greeting p{
	max-width: 1000px;
	font-family: 'Zen Kurenaido', sans-serif;
	font-size: 1.2em;
/*	font-weight: bold;*/
	letter-spacing: 0;
	margin-top: 2em;
	margin-bottom: 1em;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	line-height: 2.5;
}
div.greeting p:last-of-type{
	margin-top: 2em;
	text-align: right;
}
img.img_center, 
img.img_left, 
img.img_right{
	width: 100%;
	max-width: 800px;
	position: relative;
	object-fit: cover;
}
img.img_center{
	left: 50%;
	transform: translatex(-50%);
}
img.img_left{
	left: 0;
}
img.img_right{
	right: 0;
}
div.l-img_r-text,
div.l-text_r-img{
	margin: 2rem auto;
	clear: both;
}
div.l-img_r-text img, 
div.l-img_r-text p,
div.l-text_r-img img,
div.l-text_r-img p{
	display: block;
/*	min-height: 200px;*/
}
div.l-img_r-text img,
div.l-text_r-img img{
	width: 200px;
	object-fit: contain;
}
div.l-img_r-text img{
	float: left;
	margin: 0.5rem 3rem 1.5rem 0;
}
div.l-text_r-img img{
	float: right;
	margin: 0.5rem 0 1.5rem 3rem;
}
div.l-img_r-text p,
div.l-text_r-img p{
	margin: 0;
}
div.l-img_r-text + *,
div.l-text_r-img + *{
	clear: both;
}
main div div.dotted{
	position: relative;
	padding: .5rem 0;
	margin: 3rem auto;
}
main div div.dotted div{
	padding: 0.5rem 0;
}
main div div.dotted div::before {
	content: '････････････････････････････････････････････････････････････････････････････････････････････････････････････････････････････････････････････････';
	width: 49%;
	position: absolute;
	left: 0;
/*	border-bottom: dotted 2px;
	transform: translatey(0.9em);*/
	overflow: hidden;
	z-index: 0;
}
main div div.dotted dt, 
main div div.dotted dd{
	display: inline-block;
}
main div div.dotted dt{
	position: absolute;
	z-index: 1;
	font-weight: 500;
	padding-right: 0.5%;
}
main div div.dotted dd{
	position: relative;
	margin-left: 50%;
}

div[class$="_gorenraku"] h5{
	margin-top: 0;
}
div[class$="_gorenraku"] p{
	display: inline-block;
	margin: 0;
	vertical-align: middle;
}
div.denwa_gorenraku > p:nth-of-type(1){
	display: block;
}
div.denwa_gorenraku > p:nth-of-type(2){
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -1px;
	padding-right: 0.5rem;
}
div.denwa_gorenraku > p:nth-of-type(3),
div.denwa_gorenraku > p:nth-of-type(4){
	font-size: .9rem;
	line-height: 1.2;
}
div.net_gorenraku > a:nth-of-type(1) > *{
	vertical-align: middle;
	box-sizing: border-box;
}
div.net_gorenraku > a:nth-of-type(1){
	padding-bottom: 1rem;
}
div.net_gorenraku > a:nth-of-type(1) span:nth-of-type(1){
	display: block;
}
div.net_gorenraku > a:nth-of-type(1) img{
	width: 4rem;
	box-sizing: content-box;
}
div.net_gorenraku > a:nth-of-type(1) img:nth-of-type(1){
	padding-right: 1rem;
}
div.net_gorenraku > a:nth-of-type(1) span:nth-of-type(2){
	display: inline-block;
	width : 60% ; /* IE8以下とAndroid4.3以下用フォールバック */
	width : -webkit-calc(100% - 9.5rem) ;
	width : calc(100% - 9.5rem) ;
	color: #35b158;
	line-height: 1.2;
	text-align: center;
	padding: 0 0.5rem;
}
div.net_gorenraku > a:nth-of-type(1) span:nth-of-type(3),
div.net_gorenraku > a:nth-of-type(1) span:nth-of-type(4){
}
table.table_hokenkinshiharai_flow div.supportcenter{
	margin: 0;
	background-color: #fff;
	padding: 0rem;
}
table.table_hokenkinshiharai_flow div.supportcenter p{
	margin: 0;
	display: inline-block;
	line-height: 1.2;
	vertical-align: middle;
	font-size: .8rem;
}
table.table_hokenkinshiharai_flow div.supportcenter p:nth-of-type(1){
	display: block;
	font-size: 1rem;
	padding: 0.5rem 0 0.5rem;
}
table.table_hokenkinshiharai_flow div.supportcenter p:nth-of-type(2){
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: -1px;
	padding-right: 0.5rem;
	color: #e6442b;
}
table.table_hokenkinshiharai_flow div.supportcenter p:nth-of-type(3){
	font-weight: 500;
}
table.table_hokenkinshiharai_flow div.supportcenter p:nth-of-type(4){
	font-weight: 500;
	letter-spacing: 0px;
	display: block;
	padding: 0.2rem 0;
}
table.table_hokenkinshiharai_flow td div .indent_len2 {
	font-weight: 500;
	line-height: 1.2;
	text-align: left;
}

td[class^="after_kome"],
p[class^="after_kome"],
p[class^="before_kome"]{
	position: relative;
	display: inline-block;
}
div.text > p[class^="before_kome"],
p[class^="before_kome"]{
	font-size: 0.9rem;
	margin-top: 0!important;
	margin-bottom: 0.5rem!important;
	padding-left: 2rem!important;
	line-height: 1.5;
}
div.text > p.before_kome,
p.before_kome{
	padding-left: 1.5rem!important;
}
td[class^="after_kome"]::after,
p[class^="after_kome"]::after,
p[class^="before_kome"]::before{
	display: inline-block;
	vertical-align: top;
}
td[class^="after_kome"]::after,
p[class^="after_kome"]::after{
	font-size: 0.8rem;
}
p[class^="before_kome"]::before{
	position: absolute;
	left: 0;
}
td.after_kome::after, 
p.after_kome::after, 
p.before_kome::before{
	content: '※';
}
td.after_kome1::after, 
p.after_kome1::after, 
p.before_kome1::before{
	content: '※1';
}
td.after_kome2::after, 
p.after_kome2::after, 
p.before_kome2::before{
	content: '※2';
}
td.after_kome3::after, 
p.after_kome3::after, 
p.before_kome3::before{
	content: '※3';
}

div.title_box{
	position: relative;
	padding-top: 0;
	margin: 1rem auto;
}
div.title_box div:not(.borderBox_01, .borderBox_02){
	border-radius: 1rem;
}
div.title_box > div:nth-of-type(1){
	background-color: #41a0be;
	border-radius: 5px 3rem 3rem 5px;
	font-weight: 600;
	font-size: 1.1rem;
	display: inline-block;
	position: relative;
	top: 0;
	left: auto;
	transform: translate(2.25rem, 1.5rem);
	max-width: 90%;
	max-width: -webkit-calc(100% - 3em);
	max-width: calc(100% - 3em);
}
div.title_box > div:nth-of-type(1) > span{
	display: inline-block;
	vertical-align: middle;
}
div.title_box > div:nth-of-type(1) > span:nth-of-type(1){
	width: 2.5em;
	height: 100%;
	position: absolute;
	box-sizing: border-box;
	border: solid #41a0be 0.3rem;
	background-color: #fff;
	color: #41a0be;
	border-radius: 50%;
	margin: 0;
	text-align: center;
	letter-spacing: 0;
	transform: translatex(-1.1em);
}
div.title_box > div:nth-of-type(1) > span:nth-of-type(1) > span{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
div.title_box > div:nth-of-type(1) > span:nth-of-type(2){
	color: #fff;
	padding: 0.5rem 1.8rem 0.5rem 2em;
	line-height: 1.5;
}
div.title_box > div:nth-of-type(2){
	background-color: #ccefff;
	padding: 2.5rem 2rem 2rem;
	margin: 0;
}
div.title_box > div:nth-of-type(2) > p{
	padding: 0;
	margin: 0;
}
div.title_box > div:nth-of-type(2) > .textbox_01{
	position: relative;
	border: solid 2px #fff;
	border-radius: 1rem;
	padding: 1.5rem 2rem 1rem 2rem;
	margin: 1rem 0;
}
div.title_box > div:nth-of-type(2) > .textbox_01 + .textbox_01{
	margin-top: 2.5rem;
}
div.title_box > div:nth-of-type(2) > ul.textbox_01,
div.title_box > div:nth-of-type(2) > ol.textbox_01{
	padding: 1.5rem 2rem 1rem 2rem;
}
div.title_box > div:nth-of-type(2) > ul.textbox_01 > li,
div.title_box > div:nth-of-type(2) > ol.textbox_01 > li{
	margin-left: 1.5rem;
}
div.title_box > div:nth-of-type(2) > .textbox_01 p{
	margin: 0;
}
div.title_box > div:nth-of-type(2) > .textbox_01 span:first-child{
/*	content: 'こんな方におすすめ';*/
	color: #41a0be;
	position: absolute;
	top: 0;
	transform: translatey(-50%);
	font-size: 1.1rem;
	font-weight: 600;
	background-color: #ccefff;
	padding: 0 1rem;
}
div.title_box > div:nth-of-type(2) > div.point{
	background-color: #fff;
	margin: 1rem 0;
	padding: 1rem 2rem 0.5rem;
}
div.title_box > div:nth-of-type(2) dd{
	position: relative;
	padding-left: 2rem;
}
div.title_box > div:nth-of-type(2) dd::before{
	content: '‥‥';
	position: absolute;
	left: 0rem;
	top: 0;
}
.contact_phone{
	padding: 0 1.5em 1.5em;
	box-sizing: border-box;
}
.contact_phone > div{
	display: inline-block;
	width: 50%;
	line-height: 1.2;
	box-sizing: border-box;
}
.contact_phone > div:first-of-type{
	color: #41a0be;
	font-weight: 300;
	text-align: center;
}
.contact_phone > div:last-of-type{
	padding-left: 1rem;
}
.contact_phone ul{
	display: inline-block;
}
.contact_phone i{
	padding-right: 1rem;
	padding-bottom: 1rem;
	text-align: center;
}
.contact_phone i + span{
	display: inline-block;
}

div.text > .borderBox_01,
div.text > .borderBox_02{
	margin-left: 1.5em;
	margin-right: 1.5em;
}
.borderBox_01,
.borderBox_02{
	padding: 1rem 2rem;
	margin: 1.5em 0;
	border: solid 1px ;
}
.borderBox_01{
	border-color: #ccc;
}
.borderBox_02{
	border-color: #f39700;
}
.borderBox_01 *:first-child,
.borderBox_02 *:first-child{
	margin-top: 0.5rem;
}
.divBox_2col{
	display: table;
	border-spacing: 0.5rem 0;
	width: 100%;
}
.divBox_2col > div{
	display: table-cell;
	width: 50%;
	box-sizing: border-box;
}
.bg_lightBlue{
	background-color: #ccefff;
}
.black{
	color: #333;
}
.orange{
	color: #f39700;
}
.blue{
	color: #41a0be;
}
.point_caption{
	font-size: 1.3rem;
	font-weight: bold;
}
.point_icon::before{
	content: '\f0a4';
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	padding-right: 0.5rem;
}
.dropdown {
	position: relative;
	cursor: pointer;
	padding-right: 3rem!important;
}
.dropdown i{
	position: absolute;
	display: inline-block;
	right: 1rem;
	transition: 0.3s;
}
.dropdown:hover i{
	transform: translatey(5px);	
}
.dropdown i::after{
	content: '\f13a';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	color: #ccefff;
}
.drop_active i{
	transform: translatey(0px);	
}
.drop_active:hover i{
	transform: translatey(5px);	
}
.drop_active i::after{
	content: '\f139';
}

*[class^="btn_0"]{
	position: relative;
/*	display: flex;
	justify-content: space-around;
	align-items: center;
*/
	display: block;
	margin: 0 auto 0.8rem;
	width: 95%;
	box-sizing: border-box;
	padding: 0.5rem 25px;
	transition: 0.3s ease-in-out;
	font-weight: 600;
	border: 0.2rem solid;
	box-shadow: 0.2rem 0.2rem 0px 0.1rem #cccccc;
	text-decoration: none;
}
*[class^="btn_0"]::after{
	content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #555;
	border-right: 3px solid #555;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	right: 20px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}
*[class^="btn_"]:hover{
	transform: translate3d(0.2rem, 0.2rem, 0);
	box-shadow: none;
	opacity: 1;
	transition: all 0.2s;
}
.btn_01{
	background: #eeee;
	border-color: #555;
}
.btn_01 > span + span{
	display: block;
	font-size: 0.9em;
	font-weight: 400;
}
.btn_02{
	background: -moz-linear-gradient(top, #e6442b, #ab2713);
	background: -webkit-linear-gradient(top, #e6442b, #ab2713);
	background: linear-gradient(to bottom, #e6442b, #ab2713);
	color: #fff;
	border: 0.2rem solid #ab2713;
	line-height: 1.5;
}
.btn_02::after{
	border-color: #fff;
}
.btn_02:hover{
	color: #fff;
	opacity: 0.8;
}

.btn_line{
	display: block;
	margin: 0 auto 0.8rem;
	padding: 0.5rem 1rem;
	box-sizing: border-box;
	width: 95%;
	border-radius: 0.5rem;
	background: -moz-linear-gradient(top, #36d036, #149b3b);
	background: -webkit-linear-gradient(top, #36d036, #149b3b);
	background: linear-gradient(to bottom, #36d036, #149b3b);
	color: #fff;
	line-height: 1.2;
	box-shadow: 0.2rem 0.2rem 0px 0.1rem #cccccc;
	border: 0.2rem solid #149b3b;
}
.btn_line img{
	width: 4rem;
	padding: 3px;
	background-color: #fff;
/*	filter: drop-shadow(0px 0px 5px #FFF);*/
	box-sizing: border-box;
	margin-right: 0.5rem;
	vertical-align: middle;
}
.btn_line img:nth-of-type(1){
	border-radius: 15px;
}
.btn_line img:nth-of-type(2){
	border-radius: 5px;
}
.btn_line > span{
	display: inline-block;
	width : 60% ; 
	width : -webkit-calc(100% - 9rem) ;
	width : calc(100% - 9rem) ;
	vertical-align: middle;
}
.btn_line > span > span:nth-of-type(1){
	font-weight: 400;
	font-size: 0.9rem;
	line-height: 1;
	padding: 0.4rem 0;
	letter-spacing: -1px;
	display: block;
}
.btn_line > span > span:nth-of-type(2){
	display: block;
}
.btn_line:hover{
	color: #fff;
	opacity: 0.8;
}

.imgButton.center{
	text-align: center;
}
.imgButton > a{
	display: inline-block;
	max-width: 800px;
	line-height: 0;
	transition: .2s;
}
.imgButton > a:hover{
	opacity: 0.8;
}
.imgButton > a > img{
	width: 100%;
}
.imgButton > a > p{
	margin: 0;
	line-height: 2;
}

dl.Q_A{
	background-color: #ccefff;
	padding: 1rem 1rem;
	border-radius: 0.5rem;
	cursor: pointer;
	line-height: 1.5;
}
dl.Q_A dt,
dl.Q_A dd{
	position: relative;
	z-index: 0;
}
dl.Q_A dt{
	padding: 0rem 2.5rem 0rem 2rem;
	font-weight: 600;
}
dl.Q_A dd{
	margin: 0.5rem 0 0 0;
	background-color: #fff;
	border-radius: 0.5rem;
	padding: 1rem 1rem 1rem 2rem;
	display: none;
}
dl.Q_A dd > div{
	margin: 1rem 0 0 0;
}
dl.Q_A dd > div:nth-of-type(1){
	font-weight: 600;
	margin-top: 0;
}
dl.Q_A dt::before,
dl.Q_A dd::before{
	position: absolute;
	left: 0rem;
	font-size: 3.5rem;
	font-weight: 400;
	font-family: 'Purple Purse', cursive;
	font-style: italic;
	line-height: 0.5;
	z-index: -1;
}
dl.Q_A dt::before{
	content: 'Q.';
	color: #fff;
	transform: translatex(-0.5rem);
}
dl.Q_A dt::after{
	content: '\f107';
	color: #fff;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translatey(-50%);
}
dl.Q_A dd::before{
	content: 'A.';
	color: #ccefff;
}

.headerstyle_tab main::before {
	background: #fff;
	z-index: 0;
	border-top: 1px solid;
}
/*テーブル設定
---------------------------------------------------------------------------*/
table[class^="table_"] {
	width: 100%;
	margin: 3rem 0;
	padding: 0 1.5rem;
	table-layout: fixed;
	border-spacing: 0;
}
table[class^="table_"] tr{
}
table[class^="table_"] th{
	font-weight: unset;
	padding: 1rem 0;
/*	white-space: nowrap;*/
	width: 30%;
	box-sizing: border-box;
}
table[class^="table_"] td{
	width: 70%;
}
table[class^="table_"].th_left th{
	text-align: left;
}
table[class^="table_"].td_center td{
	text-align: center;
}
table.table_stripe tr:nth-of-type(even){
	background-color: #fff;
}
table.table_stripe tr:nth-of-type(odd){
	background-color: #ccefff;
}
table.table_stripe th{
	padding: 1rem;
}
table.table_stripe td{
	padding-right: 1rem;
}
table.table_left{
	width: auto;
}
table.table_left th{
	width: auto;
	padding: 1rem 2rem 1rem 0;
	text-align: left;
}
table.table_left td{
	width: auto;
}

table.table_blue{
	color: #fff;
	background-color: #41a0be;
	border-radius: 1.5rem;
	padding: 1.5rem 2rem;
}
table.table_blue th{
	width: 20%;
	border-right: solid 1px #fff;
	padding: 1.5rem 2rem 1.5rem 0.5rem;
	border-bottom: 2px dotted #fff;
}
table.table_blue td{
	width: 80%;
	padding: 1.5rem 0.5rem 1.5rem 2rem;
	border-bottom: 2px dotted #fff;
}
table.table_blue tr:first-of-type th, 
table.table_blue tr:first-of-type td{
	padding-top: 0.5rem;
}
table.table_blue tr:last-of-type th, 
table.table_blue tr:last-of-type td{
	padding-bottom: 0.5rem;
	border-bottom: 0;
}
table.table_comparison{
	border: 2px solid #41a0be;
	border-radius: 1.5rem;
	padding: 0!important;
}
table.table_comparison th,
table.table_comparison td{
	border-bottom: 2px dotted #41a0be;
	border-left: 1px solid #41a0be;
	padding: 1rem 0.5rem;
	line-height: 1.5;
}
table.table_comparison th:nth-of-type(1),
table.table_comparison td:nth-of-type(1){
	width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
	border-left: none;
}
table.table_comparison th:nth-of-type(2),
table.table_comparison td:nth-of-type(2),
table.table_comparison th:nth-of-type(3),
table.table_comparison td:nth-of-type(3){
	width: 6rem;
	text-align: center;
}
table.table_comparison thead th{
	background-color: #41a0be;
	color: #fff;
}
table.table_comparison th:nth-of-type(1){
	border-radius: 1em 0 0;
	border-right: 1px solid #fff;
}
table.table_comparison th:last-of-type{
	border-radius: 0  1rem 0 0;
	border-left: 1px solid #fff;
}
table.table_comparison tr:last-of-type td{
	border-bottom: none;
}

table.table_header_01{
	border: 2px solid #41a0be;
	border-radius: 1.5rem;
	padding: 0!important;
	overflow: hidden;
}
table.table_header_01 tbody{
	display: flex;
}
table.table_header_01 tr{
	display: inline-block;
	width: 50%;
	box-sizing: border-box;
	background-color: #fff;
/*	border-bottom: 2px dotted #41a0be;*/
	border-left: 1px solid #41a0be;
}
table.table_header_01 tr:nth-of-type(1){
	border-left: none;
}
table.table_header_01 th,
table.table_header_01 td{
	display: inline-block;
	width: 100%;
	padding: 1rem 3%;
	line-height: 1.5;
	box-sizing: border-box;
	vertical-align: top;
}
table.table_header_01 th{
	background-color: #41a0be;
	color: #fff;
}
table.table_header_01 tr:nth-of-type(1) th{
	border-right: 1px solid #fff;
}
table.table_header_01 tr:last-of-type th{
	border-right: none;
}
table.table_header_02 {
	width: 100%;
/*	border-right: #3EB1C6 solid 1px;
	border-collapse: collapse;
*/
	border: #41a0be solid 2px;
	border-radius: 1rem;
	padding: 0!important;
	overflow: hidden;
}
table.table_header_02 thead th {
	background-color: #41a0be;
	color: #FFF;
	padding: 1rem 3%;
	line-height: 1.5;
	border-right: #FFF solid 1px;
	border-bottom: #FFF solid 1px;
}
table.table_header_02 thead th:last-child {
	border-right: none;
}
table.table_header_02 tbody tr {
	background-color: #fff;
}
table.table_header_02 tbody th {
/*	background: #3EB1C6;
	color: #FFF;
	border-bottom: #FFF solid 1px;
*/
	border-bottom: #41a0be dotted 2px;
	padding: .5rem 1rem;
}
table.table_header_02 tbody tr:last-child th, 
table.table_header_02 tbody tr:last-child td {
	border-bottom: none;
}
table.table_header_02 tbody td {
	padding: .5rem 1rem;
	border-left: #41a0be solid 1px;
	border-bottom: #41a0be dotted 2px;
}
table.table_header_02.width_3_7 th:nth-of-type(1){
	width: 30%;
}
table.table_header_02.width_3_7 th:nth-of-type(2),
table.table_header_02.width_3_7 td{
	width: 70%;
}
table.table_header_02.width_4_6 th:nth-of-type(1){
	width: 40%;
}
table.table_header_02.width_4_6 th:nth-of-type(2),
table.table_header_02.width_4_6 td{
	width: 60%;
}
table.table_header_02.width_47_15_47 th,
table.table_header_02.width_47_15_47 td{
	line-height: 1.2;
}
table.table_header_02.width_47_15_47 th:nth-of-type(1){
	width: 47.5%;
}
table.table_header_02.width_47_15_47 th:nth-of-type(2),
table.table_header_02.width_47_15_47 td:nth-of-type(1){
	width: 15%;
	text-align: center;
}
table.table_header_02.width_47_15_47 th:nth-of-type(3),
table.table_header_02.width_47_15_47 td:nth-of-type(2){
	width: 47.5%;
}
table.table_jishin{
	display: inline-block;
	text-align: center;
	border: 2px solid #41a0be;
	line-height: 1.5;
	padding: 0!important;
	margin: 0 0 1rem 0!important;
	font-size: .9rem;
}
table.table_jishin > thead{
	display: none;
}
table.table_jishin tr{
	display: block;
}
table.table_jishin td{
	padding: 0.5em 1em;
	letter-spacing: 0;
	display: inline-block;
}
table.table_jishin > thead td{
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(1){
	border-left: none;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(1){
	width: 5em;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(2){
	width: 13em;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(3){
	width: 4.5em;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(4){
	width: 100%;
}
table.table_jishin > thead > tr:nth-of-type(2) > td{
	line-height: 1.2;
}
table.table_jishin > tbody td{
	border-left: 1px solid #41a0be;
	border-bottom: 1px solid #41a0be;
	box-sizing: border-box;
}
table.table_jishin > tbody td:nth-of-type(1){
	color: #fff;
	background-color: #41a0be;
	border-left: none;
	border-right: 1px solid #fff;
	width: 30%;
	width: -webkit-calc(10em + 1em);
	width: calc(10em + 1em);
}
table.table_jishin > tbody td:nth-of-type(2){
	color: #fff;
	background-color: #41a0be;
	font-weight: 500;
	text-align: left;
	width: 70%;
	width: -webkit-calc(100% - 11em);
	width: calc(100% - 11em);
}
table.table_jishin > tbody td:nth-of-type(3),
table.table_jishin > tbody td:nth-of-type(4),
table.table_jishin > tbody td:nth-of-type(5),
table.table_jishin > tbody td:nth-of-type(6),
table.table_jishin > tbody td:nth-of-type(7),
table.table_jishin > tbody td:nth-of-type(8){
	width: 50%;
	text-align: left;
}
table.table_jishin > tbody td:nth-of-type(3)::before,
table.table_jishin > tbody td:nth-of-type(4)::before,
table.table_jishin > tbody td:nth-of-type(5)::before,
table.table_jishin > tbody td:nth-of-type(6)::before,
table.table_jishin > tbody td:nth-of-type(7)::before,
table.table_jishin > tbody td:nth-of-type(8)::before{
	content: attr(label);
	display: inline-block;
	vertical-align: top;
	color: #41a0be;
	padding-right: 1rem;
}

div.table_hokenkinshiharai_flow_container{
	overflow-x: auto;
	margin: 0 0 3rem 0;
}
table.table_hokenkinshiharai_flow{
/*	max-width: 850px;*/
	min-width: 660px;
	margin: 0 auto 1rem!important;
}
table.table_hokenkinshiharai_flow td{
	width: 100%;
	text-align: center;
	font-weight: 600;
	position: relative;
}
table.table_hokenkinshiharai_flow td:nth-of-type(2):not(.col3),
table.table_hokenkinshiharai_flow td.col2{
	width: 4rem;
	padding-top: 0.4rem;
}
table.table_hokenkinshiharai_flow td.left_kagi,
table.table_hokenkinshiharai_flow td.right_kagi{
	text-align: left;
	padding-top: 0.4rem;
}
table.table_hokenkinshiharai_flow td.arrow_right div,
table.table_hokenkinshiharai_flow td.left_kagi div,
table.table_hokenkinshiharai_flow td.arrow_left div,
table.table_hokenkinshiharai_flow td.right_kagi div,
table.table_hokenkinshiharai_flow td.arrow_left_right div{
	display: inline-block;
	width: 2rem;
	box-sizing: border-box;
	padding: 0;
	border: unset;
	border-radius: unset;
	vertical-align: middle;
}
table.table_hokenkinshiharai_flow td.arrow_right div:nth-of-type(1),
table.table_hokenkinshiharai_flow td.left_kagi div:nth-of-type(1),
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(3){
	height: 1.5rem;
	background-color: #fdc314;
}
table.table_hokenkinshiharai_flow td.arrow_right div:nth-of-type(2),
table.table_hokenkinshiharai_flow td.left_kagi div:nth-of-type(2),
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(4){
	height: 2rem;
	border-style: solid;
	border-width: 1.8rem 0 1.8rem 1.8rem;
	border-color: transparent transparent transparent #fdc314;
}
table.table_hokenkinshiharai_flow td.arrow_left div:nth-of-type(1),
table.table_hokenkinshiharai_flow td.right_kagi div:nth-of-type(1),
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(1){
	height: 2rem;
	border-style: solid;
	border-width: 1.8rem 1.8rem 1.8rem 0;
	border-color: transparent #ff7d78 transparent transparent;
}
table.table_hokenkinshiharai_flow td.arrow_left div:nth-of-type(2),
table.table_hokenkinshiharai_flow td.right_kagi div:nth-of-type(2),
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(2){
	height: 1.5rem;
	background-color: #ff7d78;
}
table.table_hokenkinshiharai_flow td.left_kagi div:nth-of-type(1){
	background-color: #ff7d78;
	width: 50%;
	position: static;
}
table.table_hokenkinshiharai_flow td.left_kagi div:nth-of-type(1)::after{
	content: '';
	width: 1.5rem;
	height: 55%;
	position: absolute;
	display: inline-block;
	background-color: #ff7d78;
	bottom: 50%;
	left: 50%;
	transform: translatex(-100%);
	z-index: -1;
}
table.table_hokenkinshiharai_flow td.left_kagi div:nth-of-type(2){
	opacity: 0;
}
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(1){
	border-width: 0.9rem 0.9rem 0.9rem 0;
	height: 1rem;
	width: 1rem;
}
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(2){
	height: 0.75rem;
	width: 3rem;
}
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(3){
	height: 0.75rem;
	width: 3rem;
	top: -0.7rem;
}
table.table_hokenkinshiharai_flow td.arrow_left_right div:nth-of-type(4){
	border-width: 0.9rem 0 0.9rem 0.9rem;
	height: 1rem;
	width: 1rem;
	top: -0.7rem;
}
table.table_hokenkinshiharai_flow thead td{
	padding: 0;
}
table.table_hokenkinshiharai_flow thead td > div{
	color: #fff;
	border-radius: 0.5rem;
}
table.table_hokenkinshiharai_flow thead td:nth-of-type(1) > div{
	background-color: #fdc314;
}
table.table_hokenkinshiharai_flow thead td:nth-of-type(3) > div{
	background-color: #ff7d78;
}
table.table_hokenkinshiharai_flow tbody td{
	padding: 0.5rem 0 0 0;
	vertical-align: top;
}
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td{
	padding-bottom: 2rem;
}
table.table_hokenkinshiharai_flow tbody td:nth-of-type(1):not(.col2),
table.table_hokenkinshiharai_flow tbody td.col1{

}
table.table_hokenkinshiharai_flow tbody td > div{
	position: relative;
	border: 2px solid;
	border-radius: 0.5rem;
	padding: 0.5rem 1rem;
}
table.table_hokenkinshiharai_flow tbody td:nth-of-type(1):not(.col2) > div,
table.table_hokenkinshiharai_flow tbody td.col1 > div{
	border-color: #fdc314;
	background-color: #fff2d4;
}
table.table_hokenkinshiharai_flow tbody td:nth-of-type(3) > div,
table.table_hokenkinshiharai_flow tbody td.col3 > div{
	border-color: #ff7d78;
	background-color: #fff1ec;
}
table.table_hokenkinshiharai_flow tbody td.green > div{
	border-color: #21b9ac!important;
	background-color: #ecfcfb!important;
}
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td:nth-of-type(1):not(.col2) > div:not(.no_arrow)::after,
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td.col1 > div:not(.no_arrow)::after,
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td:nth-of-type(3) > div:not(.no_arrow)::after,
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td.col3 > div:not(.no_arrow)::after,
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td > div[class^="bottom_center_arrow"]::after,
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td > div[class^="bottom_right_arrow"]::after{
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	top: 100%;
	left: 50%;
	transform: translatex(-50%);
	border-style: solid;
	border-width: 2rem 5rem 0 5rem;
	z-index: -1;
}
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td:nth-of-type(1):not(.col2) > div:not(.no_arrow)::after,
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td.col1 > div:not(.no_arrow)::after{
	border-color: #fdc314 transparent transparent transparent;
}
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td:nth-of-type(3) > div:not(.no_arrow)::after,
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td.col3 > div:not(.no_arrow)::after{
	border-color: #ff7d78 transparent transparent transparent;
}
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td > div[class^="bottom_center_arrow"]::after{
	right: -2rem;
	transform: translateX(50%)!important;
	left: auto!important;
	border-width: 2.5rem 7rem 0 7rem!important;
}
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td > div[class^="bottom_right_arrow"]::after{
/*	right: 0rem;
	transform: translateX(-60%)!important;
	left: auto!important;

	transform: translateX(50%)!important;
*/
	left: 76.5%!important;
}
table.table_hokenkinshiharai_flow tbody tr:not(.paddingbottom0) td > div[class$="arrow_green"]::after{
	border-color: #21b9ac transparent transparent transparent!important;
}
table.table_hokenkinshiharai_flow tbody td:nth-of-type(3).shitamukisankaku,
table.table_hokenkinshiharai_flow tbody td.col3.shitamukisankaku{
	padding: 0;
	position: relative;
}
table.table_hokenkinshiharai_flow tbody td:nth-of-type(3).shitamukisankaku > div,
table.table_hokenkinshiharai_flow tbody td.col3.shitamukisankaku > div{
	padding: 0;
	border: unset;
	background-color: unset;
	left: 50%;
	transform: translate(-50%,-2px);
	position: absolute;
	width: 80%;
	height: 95%;
	background: linear-gradient(to top right, transparent 50% , #ff7d78 50%) no-repeat top left / 50% 100%, linear-gradient(to top left,transparent 50%, #ff7d78 50%) no-repeat bottom right/50.5% 100%;
}
table.table_hokenkinshiharai_flow tbody td > div.jikohassei{
	position: relative;
	border-bottom: none!important;
	margin-bottom: 2rem;
	line-height: 1;
	padding-top: 1rem;
	padding-bottom: 0;
	background-color: #fff!important;
	color: #e6442b;
}
table.table_hokenkinshiharai_flow tbody td > div.jikohassei::before,
table.table_hokenkinshiharai_flow tbody td > div.jikohassei::after{
	content: '';
	position: absolute;
	padding: 0;
	border: unset;
	background-color: unset;
	left: 50%;
	top: 100%;
	position: absolute;
	width: 100%;
	height: 1.5rem;
	z-index: -1;
}
table.table_hokenkinshiharai_flow tbody td > div.jikohassei::before{
	transform: translate(-50%,0px);
	background: linear-gradient(to top right, transparent 50% , #fdc314 50%) no-repeat top left / 50% 100%, linear-gradient(to top left,transparent 50%, #fdc314 50%) no-repeat bottom right/50.5% 100%;
}
table.table_hokenkinshiharai_flow tbody td > div.jikohassei::after{
	transform: translate(-50%,-2px);
	background: linear-gradient(to top right, transparent 50% , #fff 50%) no-repeat top left / 50% 100%, linear-gradient(to top left,transparent 50%, #fff 50%) no-repeat bottom right/50.5% 100%;
}
table.table_hokenkinshiharai_flow tbody td > div.height_tdMax{
	position: absolute;
	width: 100%;
	height: 95%;
	height: -webkit-calc(100% - 0.5rem);
	height: calc(100% - 0.5rem);
	box-sizing: border-box;
}
table.table_hokenkinshiharai_flow tbody td > div.height_tdMax > div{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);	
}

/*目次設定
---------------------------------------------------------------------------*/
div.insurance_index{
	position: relative;
	box-sizing: border-box;
	padding: 1em 2rem 1rem;
	padding-bottom: 1.2rem;
	margin-bottom: 3rem;
	margin-top: 2.5em;
	color: #41a0be;
	background-color: #fff;
	border: solid #41a0be 2px;
	border-radius: 0.7rem;
	font-size: 1.05rem;
	font-weight: 500;
}
div.insurance_index::before{
	content: '目次';
	position: absolute;
	background-color: #fff;
	padding: 0.5rem 1rem;
	line-height: 1;
	top: 0;
	left: 2rem;
	transform: translatey(-50%);
}
div.insurance_index ul{
	list-style: none;
	margin: 0;
	padding: 0;
}
div.insurance_index li{
	line-height: 2.5;
	position: relative;
	overflow: hidden;
	border-bottom: 2px solid;
	padding: 0 1rem 0;
	padding-top: 2px;
}
div.insurance_index li a{
	display: block;
	overflow: hidden;
	color: #41a0be;
	position: relative;
	z-index: 1;
	transition: .5s;
}
div.insurance_index li:hover a{
	color: #fff;
}
div.insurance_index span{
	content: '';
	height: 100%;
	background: rgba(65,160,190,0.8);
	border-radius: 0px 0.7rem 0 0;
	position: absolute;
	width: 100%;
	left: 0;
	top: 2px;
	transform: translatex(-105%);
	z-index: 0;
	transition: .5s;
}
div.insurance_index li:hover span{
	transform: translatex(0%);
}



/*パンくずリスト設定
---------------------------------------------------------------------------*/
div.pankuzu{
	width: 100%;
	max-width: none;
	background-color: #41a0be;
}
div.pankuzu p{
	margin: 0 auto;
	color: #ccefff;
	font-size: 0.9em;
}
div.pankuzu p > span:first-child::after{
	content: '〉';
	font-family: 'Kiwi Maru', serif;
	padding: 0 0 0 0.5em;
}


/*見出し設定
---------------------------------------------------------------------------*/
h1.h1_01, 
h2.h2_01, 
h3.h3_01, 
h3.h3_02, 
h5.h5_01, 
h5.h5_02, 
h6.h6_01, 
h6.h6_02{
	margin-top: 2rem;
	margin-bottom: 1rem;
	padding: 0.7rem 0;
	font-size: 1em;
	box-sizing: border-box;
	line-height: 1.2;
}

h1.h1_01{
	font-weight: 400;
	background-color: #41a0be;
	color: #fff;
	padding: .5rem 0;
	margin-top: 4rem;
	letter-spacing: 0;
}
h1.h1_01.top{
	margin-top: 0;
}
h1.h1_01 span{
	display: block;
}
h1.h1_01 span span{
	display: inline-block;
}
h1.h1_01 span span:nth-of-type(1){
	font-size: 1.3rem;
}
h1.h1_01 span span:nth-of-type(2){
	font-size: .8rem;
	padding-left: 0.5rem;
}

h2[id^="section"]{
	margin-top: 4rem;
}

h2.h2_01{
	font-weight: 500;
	font-size: 1.3rem;
	position: relative;
	padding: 0.3rem 0 0.3rem 1.2rem;
	margin-top: 1.5rem;
	line-height: 1.7;
}
h2.h2_01::before, 
h2.h2_01::after{
	content: '';
	background-color: #41a0be;/*#ccefff;*/
	position: absolute;
}
h2.h2_01::before{
	height: 100%;
	width: .7rem;
	top: 0;
	left: 0;
}
h2.h2_01::after{
	height: 2px;
	width: 100%;
	left: 0;
	bottom: 0;
}
h3.h3_01{
	font-weight: 500;
	font-size: 1.3rem;
	align-items: center;
	display: flex;
	color: #41a0be;
	text-align: center;
}
h3.h3_01::before, 
h3.h3_01::after{
	content: '';
	background-color: #41a0be;
	border-radius: 5px;
	flex-grow: 1;
	height: 1.5px;
}
h3.h3_01::before{
	margin-right: .5rem;
}
h3.h3_01::after{
	margin-left: .5rem;
}
h3.h3_02{
	font-weight: 500;
	font-size: 1.25rem;
	display: inline-block;
	position: relative;
	background: linear-gradient(180deg, rgba(204,239,255,0) 0%, rgba(204,239,255,0) 40%, rgba(204,239,255,0.8) 40%, rgba(204,239,255,0.8) 100%);
	min-width: 50%;
	padding: 0 0.8rem 0 0.8rem;
	line-height: 1.2;
}
h3.h3_02::before, 
h3.h3_02::after{
	content: '';
	width: .5rem;
	height: 100%;
	position: absolute;
	top: 0;
	background: linear-gradient(180deg, rgba(204,239,255,0) 0%, rgba(204,239,255,0) 40%, rgba(204,239,255,1) 40%, rgba(204,239,255,1) 100%);
	transform: skew(15deg, 0deg);
	z-index: -1;
}
h3.h3_02::before{
	left: -0.3rem;
}
h3.h3_02::after{
	right: 0;
}

h5.h5_01{
	position: relative;
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: 0;
	margin-bottom: 0;
	text-indent: -1.8rem;
	padding-left: 1.8rem;
}
h5.h5_01::before{
	content: '\f1ce';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #41a0be;
	padding-right: 0.6rem;
}

h5.h5_02{
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: 0;
	margin-bottom: 0;
}
h5.h5_02::before{
	content: '\f0c8';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.7rem;
}
div.text > h5.h5_01, 
div.text > h5.h5_02 {
	text-indent: -1.8rem;
	padding-left: 1.8rem;
	margin: 2rem 1.5em 0;
}

h6.h6_01{
	font-weight: 600;
	font-size: 1rem;
	margin: 0;
	color: #f39700;
}
h6.h6_01::before{
	content: '\f111';
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	padding-right: .3rem;
}
h6.h6_01 + p{
	margin: 0 0 0.5rem 0;
}
h6.h6_01 {
	text-indent: -1.4rem;
	padding-left: 1.4rem;
}
h6.h6_02{
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: 0;
}

/*ふきだし設定
---------------------------------------------------------------------------*/

span[class^="balloon_"]{
	position: absolute;
	background-color: #41a0be;
	color: #fff;
	display: inline-block;
	border-radius: .5rem;
	padding: 0.5rem 1em;
	line-height: 1.2;
	font-weight: 400;
	font-size: 1rem;
	text-indent: 0em;
}
span[class^="balloon_"] i{
	position: absolute;
	font-size: 2em;
	color: #41a0be;
}
span.balloon_bottom{
	left: 0;
	top: 110%;
}
/*span.balloon_bottom::before{
	content: '\f0de';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	top: -0.8em;
	left: 20%;
	font-size: 2em;
	color: #41a0be;
}*/
span.balloon_bottom i{
	top: -0.3em;
	left: 20%;
}
span.balloon_top{
	top: -1rem;
}
span.balloon_right_top{
	z-index: 1;
	bottom: 130%;
	bottom: -webkit-calc(100% + 0.9rem) ;
	bottom: calc(100% + 0.9rem) ;
	left: 0;
}
span.balloon_right_top i{
	bottom: -50%;
	left: 10%;
	transform: rotate(-90deg);
}


/* --------------------------------- */
/* ▼a：スマートフォン専用のスタイル */
/* --------------------------------- */
@media (max-width: 599px) {
html{
	font-size: 13.5px;
}
::-webkit-scrollbar {
	width: 9px;
}
::-webkit-scrollbar-thumb {
	border-right: 1.9px solid transparent;
	border-left: 1.9px solid transparent;
}
::-webkit-scrollbar-track {
	margin-top: 1.9px;
	margin-bottom: 1.9px;
}

main > div, 
div.top_image .catchcopy, 
div.pankuzu p, 
main > div.width_100 > div, 
h1.h1_01 > span, 
h2.h2_01, 
h3.h3_01{
	width: 90%;
}

div.top_image .catchcopy p span.eng{
	line-height: 1.5;
	font-size: 0.9em;
}
div.top_image .catchcopy p span.jp{
	font-size: 1.5em;
}

.office img{
	display: inline-block;
	width: 100%;
	max-height: unset;
	padding: 0rem 0 2rem 0;
	object-fit: contain;
}

div.tile_2 > div{
	width: 100%;
	padding: 0;
} 
div.tile_3 > div{
	width: 50%;
}
div.tile_3 > div:nth-of-type(2n){
	padding: 0.5rem 0 0.5rem 1%;
}
div.tile_3 > div:nth-of-type(2n-1){
	padding: 0.5rem 1% 0.5rem 0;
}
div.tile_3.Internet > div{
	width: 100%;
}
div.tile_4 > div {
	width: 100%;
	padding: 0 0 2rem;
}
div.tile_6 > div{
	width: 50%;
	width: -webkit-calc(100% / 2);
	width: calc(100% / 2);
}
div.tile_6 > div:nth-of-type(2n){
	padding: 0 5px 0 2.5px;
}
div.tile_6 > div:nth-of-type(2n-1){
	padding: 0 2.5px 0 5px;
}

div.greeting p {
	text-align: center;
	line-height: 1.8;
}

div[class^="index_"] li {
	padding: 0.8rem 0rem 0.8rem;
	line-height: 1.2;
}
div.index_1 li a span{
	padding-right: 1.4rem;
}
div.insurance_index li{
	padding: 0.8rem 0.5rem;
}
div.index_3 {
	padding: 1rem 0 0;
	margin-bottom: 2rem;
	margin-top: 1.5em;
}
div.index_3::before {
	left: 0rem;
}

div.text > h5.h5_01, 
div.text > h5.h5_02{
	padding-right: 0;
	margin: 1.5em 0 0;
} 
div.text > p, 
div.text > ol{
    padding: 0 0em;
}

div.text > ul, div.text > ol {
    padding-left: 2rem;
}

div.l-img_r-text img,
div.l-text_r-img img {
	float: unset!important;
}
div.l-img_r-text img {
	margin: 0 auto 0.5rem 0;
}
div.l-text_r-img img {
	margin: 0 auto 0.5rem auto;
}
div.l-img_r-text p {
	min-height: unset;
}
.borderBox_01,
.borderBox_02 {
	margin: 0!important;
	padding: 0.5rem 1rem!important;
}
.borderBox_01 {
	padding: 0.5rem 0.5rem!important;
}
main div div.dotted div::before {
	width: 100%;
}
main div div.dotted dt {
	position: relative;
	left: 1rem;
	padding-left: 0.5rem;
	padding-right: 0;
}
main div div.dotted dd {
	display: block;
	margin-left: 0%;
}

table[class^="table_"] {
	margin: 2rem 0;
	padding: 0 0.5rem;
}

table.table_stripe tbody, 
table.table_stripe tr, 
table.table_stripe th,
table.table_stripe td, 
table.table_simple tbody, 
table.table_simple tr, 
table.table_simple th,
table.table_simple td, 
table.table_blue tbody, 
table.table_blue tr, 
table.table_blue th,
table.table_blue td{
	display: inline-block;
	box-sizing: border-box;
}

table.table_stripe tr, 
table.table_stripe th,
table.table_stripe td, 
table.table_simple tr, 
table.table_simple th,
table.table_simple td, 
table.table_blue th,
table.table_blue td {
	width: 100%;
}

table.table_stripe th,
table.table_stripe td{
	padding: 1rem 1.5rem;
}
table.table_stripe th{
	padding-bottom: 0.5rem;
	font-weight: 500;
	position: relative;
	border-right: solid 1px #ccefff;
	border-left: solid 1px #ccefff;
}
table.table_stripe th::after{
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 30%;
	height: 1px;
	background-color: #41a0be;
	transform: translatex(-50%);
}
table.table_stripe td{
	padding-top: 0.5rem;
	text-align: center;
	border-right: solid 1px #ccefff;
	border-left: solid 1px #ccefff;
}
table.table_stripe td ul{
	text-align: left;
}

table.table_simple{
	padding: 0;
	margin-top: 1rem;
}
table.table_simple th{
	text-align: left;
}
table.table_simple th,
table.table_simple td{
	padding: 0.5rem;
}
table.table_simple th{
	padding-bottom: 0rem;
	font-weight: 500;
	position: relative;
}
table.table_simple th::after{
	content: '';
	position: absolute;
	left: 0.5rem;
	bottom: 0;
	width: 15%;
	height: 1px;
	background-color: #41a0be;
	transform: translatey(-50%);
}
table.table_simple td{
	padding-top: 0rem;
}

table.table_blue {
	padding: 1rem 1rem;
}
table.table_blue tbody, 
table.table_blue tr, 
table.table_blue th,
table.table_blue td{
	display: inline-block;
	box-sizing: border-box;
}
table.table_blue th, 
table.table_blue tr:last-of-type th{
	padding: 1rem 0.5rem;
	border-right: none;
	border-bottom: dotted 1px;
}
table.table_blue td, 
table.table_blue tr:first-of-type td, 
table.table_blue tr:last-of-type td {
	padding: 1rem 0.5rem;
	border-bottom: solid 2px;
}
table.table_blue tr:last-of-type td {
	border-bottom: none;
}
table.table_comparison th:nth-of-type(1), 
table.table_comparison td:nth-of-type(1) {
    padding-right: 0.5rem;
}
table.table_header_01 tbody{
	display: table-row-group;
}
table.table_header_01 tr,
table.table_header_01 th,
table.table_header_01 td{
	display: inline-block;
	width: 100%;
	border: none;
}
table.table_header_01 tr:nth-of-type(1) th{
	border-radius: 1rem 1rem 0 0;
	border-right: none;
}
table.table_header_01 tr:last-of-type th {
	border-radius: 0;
}

table.table_header_02 th:nth-of-type(1){
	width: 100%!important;
}
table.table_header_02 thead {
	display:none;
}
table.table_header_02 tbody th,
table.table_header_02 tbody td {
	display:block;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
table.table_header_02 tbody th{
	text-align: left;
	font-weight: 600;
	margin: 0;
	display: inline-block;
	box-sizing: border-box;
}
table.table_header_02 tbody th::before,
table.table_header_02 tbody td::before {
	content: attr(label);
	display: inline-block;
	vertical-align: top;
}
table.table_header_02 tbody th::before {
	font-weight: 400;
	padding-right: 1rem;
}
table.table_header_02 tbody td::before {
	width : 10% ;
	width : -webkit-calc(1rem + 5.5rem) ;
	width : calc(1rem + 5.5rem) ;
	font-weight: 600;
}
table.table_header_02 tbody td > p,
table.table_header_02 tbody td > div{
	width : 90% ;
	width : -webkit-calc(100% - 7rem) ;
	width : calc(100% - 7rem) ;
	margin: 0;
	display: inline-block;
	padding-left: 0.5rem;
	box-sizing: border-box;
}
table.table_header_02 th:nth-of-type(1){
	background-color: #41a0be;
	color: #fff;
}
table.table_header_02 th:nth-of-type(2),
table.table_header_02 td{
	width: 100%!important;
	border: none!important;
	text-align: left!important;
}
table.table_header_02.th_labelblock th::before {
	display: block;
}
table.table_header_02.td_labelblock td > p,
table.table_header_02.td_labelblock td > div{
	display: block;
	width: 100%;
}
table.table_header_02.td_labelblock td::before {
	max-width : unset;
}
table.table_jishin > tbody td:nth-of-type(1){
	border-bottom: none;
	padding-bottom: 0;
}
table.table_jishin > tbody td:nth-of-type(2){
	border-bottom: none;
	padding-top: 0;
}
table.table_jishin > tbody td:nth-of-type(1),
table.table_jishin > tbody td:nth-of-type(2),
table.table_jishin > tbody td:nth-of-type(3),
table.table_jishin > tbody td:nth-of-type(4),
table.table_jishin > tbody td:nth-of-type(5),
table.table_jishin > tbody td:nth-of-type(6),
table.table_jishin > tbody td:nth-of-type(7),
table.table_jishin > tbody td:nth-of-type(8){
	width: 100%;
	border-left: none;
	border-right: none;
	text-align: left;
}
table.table_hokenkinshiharai_flow{
	min-width: 590px;
}

h3.balloon_right_top, 
h5.balloon_right_top, 
div.balloon_right_top{
	margin-top: 3.5rem!important;
}

div.title_box > div:nth-of-type(2) {
	padding: 2rem 1rem 1rem;
}
div.title_box > div:nth-of-type(2) > .textbox_01 {
	padding: 1.5rem 1rem 1rem 2.3rem;
}
div.title_box > div:nth-of-type(2) > div.point {
	background-color: #fff;
	margin: 1rem 0;
	padding: 1rem 1rem 0.5rem;
}
.divBox_2col{
	display: block;
	width: 100%;
}
.divBox_2col > div{
	display: inline-block;
	width: unset;
	margin-top: 0.5rem!important;
}
.divBox_2col > div:nth-of-type(2){
	margin-top: 1rem;
}
div.net_gorenraku > a{
    letter-spacing: 0;
}

.contact_phone > div{
	width: 100%;
}
.contact_phone > div:first-of-type{
	font-size: 2rem;
}
.contact_phone > div:last-of-type{
	padding-left: 0;
	text-align: center;
}

sp_none{
	display: none;
}

}


/* ----------------------------- */
/* ▼b：タブレット専用のスタイル */
/* ----------------------------- */
@media (min-width: 600px) and (max-width: 1024px) {

main > div, 
div.top_image .catchcopy, 
div.pankuzu p, 
main > div.width_100 > div, 
h1.h1_01 > span, 
h2.h2_01, 
h3.h3_01, 
div.top_image .catchcopy p span.eng{
	line-height: 2;
}
div.top_image .catchcopy p span.jp{
	font-size: 2em;
}

.office{
	min-height: 50vmin;
}
.office table{
	width: 50%;
}
.office img{
	position: absolute;
	display: inline-block;
	width: 49%;
	max-height: 50vmin;
	padding: 0rem 0 4% 0;
	top: 0;
	right: 0;
	object-fit: contain;
	object-position: right;
}

div.tile_2 > div:nth-of-type(2n-1){
	padding: 0.25rem 1% 0.25rem 0;
}
div.tile_2 > div:nth-of-type(2n){
	padding: 0.25rem 0 0.25rem 1%;
}
div.tile_3 > div:nth-of-type(3n-2){
	padding: 0.25rem 1% 0.25rem 0;
}
div.tile_3 > div:nth-of-type(3n-1){
	padding: 0.25rem 0.5%;
}
div.tile_3 > div:nth-of-type(3n){
	padding: 0.25rem 0 0.25rem 1%;
}
div.tile_4 > div {
	width: 50%;
}
div.tile_6 > div{
	width: 33%;
	width: -webkit-calc(100% / 3);
	width: calc(100% / 3);
}

table[class^="table_"] {
	margin: 2.5rem 0;
	padding: 0 0.5rem;
}
table.table_blue{
	padding: 1rem;
}
table.table_blue th,
table.table_blue td{
	padding: 1rem;
}

main div div.dotted div::before {
	width: 44%;
}
main div div.dotted dd {
	margin-left: 45%;
}
h3.balloon_right_top, 
h5.balloon_right_top, 
div.balloon_right_top{
	margin-top: 3.5rem!important;
}

.contact_phone > div:first-of-type{
	font-size: 2rem;
	width: 55%;
}
.contact_phone > div{
	vertical-align: middle;
}
.contact_phone > div:last-of-type{
	width: 45%;
}

.tp_none{
	display: none;
}
}

/* ----------------------------- */
/* ▼c：タブレット専用のスタイル */
/* ----------------------------- */
@media (min-width: 600px) and (max-width: 899px) {
div.tile_3.Internet > div{
	width: 50%;
}
}

/* --------------------- */
/* ▼d：PC専用のスタイル */
/* --------------------- */
@media (min-width: 1025px) {

div.top_image .catchcopy p span.eng{
	line-height: 3;
	font-size: 1.1em;
}
div.top_image .catchcopy p span.jp{
	font-size: 3em;
}
div.tile_2 > div{
	width: 50%;
}
div.tile_2 > div:nth-of-type(2n-1){
	padding: 0.5rem 4% 0.5rem 0;
}
div.tile_2 > div:nth-of-type(2n){
	padding: 1rem 0 1rem 4%;
}
div.tile_3 > div{
	width: 33%;
	width: -webkit-calc(100% / 3);
	width: calc(100% / 3);
}
div.tile_3 > div:nth-of-type(3n-2){
	padding: 0.5rem 4% 0.5rem 0;
}
div.tile_3 > div:nth-of-type(3n-1){
	padding: 0.5rem 2%;
}
div.tile_3 > div:nth-of-type(3n){
	padding: 1rem 0 1rem 4%;
}
div.tile_6 > div{
	width: 16.65%;
	width: -webkit-calc(100% / 6);
	width: calc(100% / 6);
}

.office{
	min-height: 500px;
}
.office img{
	position: absolute;	top: 0;
	padding: 0rem 0 3rem 0;
	right: 0;
}

table.table_stripe th{
	border-left: solid 1px #ccefff;
}
table.table_stripe td{
	border-right: solid 1px #ccefff;
}
table.table_jishin{
	display: table;
}
table.table_jishin > thead{
	display: table-header-group;
	background-color: #41a0be;
	color: #fff;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(1){
	width: 5em;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(2){
	width: 13em;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(3){
	width: 4.5em;
}
table.table_jishin > thead > tr:nth-of-type(1) > td:nth-of-type(4){
	width: 100%;
}
table.table_jishin > tbody > tr:last-of-type > td{
	border-bottom: none;
}
table.table_jishin tr{
	display: table-row;
}
table.table_jishin td{
	display: table-cell;
}
table.table_jishin > tbody td:nth-of-type(1),
table.table_jishin > tbody td:nth-of-type(2){
	color: unset;
	border-right: none;
	text-align: center;
	background-color: unset;
	font-weight: unset;
}
table.table_jishin > tbody td:nth-of-type(3),
table.table_jishin > tbody td:nth-of-type(4),
table.table_jishin > tbody td:nth-of-type(5),
table.table_jishin > tbody td:nth-of-type(6),
table.table_jishin > tbody td:nth-of-type(7),
table.table_jishin > tbody td:nth-of-type(8){
	text-align: center;
}
table.table_jishin > tbody td:nth-of-type(3)::before,
table.table_jishin > tbody td:nth-of-type(4)::before,
table.table_jishin > tbody td:nth-of-type(5)::before,
table.table_jishin > tbody td:nth-of-type(6)::before,
table.table_jishin > tbody td:nth-of-type(7)::before,
table.table_jishin > tbody td:nth-of-type(8)::before{
	content: none;
}

.contact_phone > div{
	vertical-align: baseline;
}
.contact_phone > div:first-of-type{
	font-size: 3rem;
	font-weight: 200;
	margin: 1rem 0;
}

h5.balloon_right_top{
	display: inline-block;
	padding-right: 0.5rem!important;
}
span.balloon_right_top{
	display: block;
	bottom: .3rem;
	margin-left: 1rem;
	padding: 0.3rem 1rem;
	transform: translatex(110%);
	white-space: nowrap;
}
h5.balloon_right_top span.balloon_right_top{
	left: 100%;
	transform: translatex(0%);
}
span.balloon_right_top i {
	bottom: -0.2rem;
	left: -0.4rem;
	transform: rotate(0);
}
.pc_none{
	display: none;
}

/*新着情報
---------------------------------------------------------------------------*/

#news dt{
	position: absolute;
	top: 0;
	left: 0;
	width: 7em;
	margin-bottom: 0;
}
#news dd{
	margin-left: 8em;
}
}