@charset "utf-8";
/*********************
共通項目一括指定
サイト別設定はbaseにて
*********************/
/* @group reset */
*{ margin:0; padding:0;}
/* 文字サイズ800px時に11.5px */
*{ text-decoration:none; font-weight:normal; font-size:calc(115vw /80); line-height:140%; color: #878788;}
*{ list-style:none; border:none;}

/* tag parameter */
/*
body{
	background: radial-gradient(at 12% 7%, hsla(156, 49%, 86%, 1) 0, transparent 50%), radial-gradient(at 11% 87%, hsla(208, 97%, 81%, 1) 0, transparent 50%), radial-gradient(at 80% 7%, hsla(181, 45%, 80%, 1) 0, transparent 50%), radial-gradient(at 80% 90%, hsla(156, 49%, 86%, 1) 0, transparent 50%), hsla(156, 0%, 100%, 1);
}
*/
/*リンク時スクロール*/
html{ scroll-behavior:smooth; }

h1,h2,h3,h4,h5{
	font-weight:bold; line-height:180%; text-align: left; margin:0.5rem 0px 1rem;
	text-shadow: 0.1em 0.1em 0.2em #878788;
}
h1,h2,h3{
	text-indent: 1.5em; letter-spacing: 0.05em; color:#ffffff; 
}
h1{ font-size:1.8rem; color: #174f9e;}
h2{	font-size:1.6rem;
/*	transform: skew(-20deg);*/
	background:linear-gradient(90deg, #b81232 0%, #e0592c 100%);
	color: #ffffff;
}
h3{ font-size:1.4rem;
/*	transform: skew(-20deg);*/
	background:linear-gradient(90deg, #174f9e 0%, #29bced 100%);
	color: #ffffff;
}
h4{ font-size:1.3rem; text-indent: 0; 
	padding:0.5em 0px;
	color: #2c9c8d;
	text-align: center;
}
h5{ font-size:1.1rem; text-indent: 0; 
	padding:0.25em 0px;
	background-repeat:no-repeat;
	color: #e0592c;
	text-align: center;
}

a{
	color: #174f9e; text-decoration: underline;
}

form{
	& input[type="text"],
	& input[type="date"],
	& input[type="email"],
	& input[type="tel"],
	& input[type="number"],
	& input[type="password"],
	& input[type="date"],
	& input[type="time"],
	& select,
	& textarea
	{
		border: 1px solid #000000; background-color: rgba(255,244,219,0.6); text-align: left;
	}

	& input[type="text"],
	& input[type="date"],
	& input[type="email"],
	& input[type="tel"],
	& input[type="number"],
	& input[type="password"]{
		width: 80%; margin: auto;
	}

	& textarea{
		width: 80%; margin: auto; height: 10rem;
	}

	& button[type="submit"]{ padding:0.5rem 1rem;}
}

table{
	width: 100%;
	border-collapse:  collapse; 

	& th, & td{
		border: 1px solid #000000;
		padding: 5px;
	}

	& td div{
		max-height: 5em;
		overflow-y: auto; 

	}
}

/* class parameter */
	.lst_admin{	display: none; }
	.pc_mode{ display:block;}
	.sp_mode{ display:none;}
	.line_yellow{ position: relative; background:linear-gradient(rgba(255,255,255,0) 40%, yellow 40%);}
	.p_center{text-align: center;}
	.p_right{text-align: right;}
	.c_red{ color: #b81232;}

	a.btn{
        display: flex;
        width: fit-content;
        justify-content:center;
        align-items:center;
        margin: 1em auto; padding: 1em 0;
        border: 1px solid #878788; border-radius: 10px;
		background-color: #ffffff;
		text-decoration: none;
	}
	a.btn_msins{
		display: block; width: fit-content;
		margin: auto; padding: 0.5em;
		border: 2px solid #006600;
		color: #ffffff; text-align: center;
		background-color: rgb(0, 102, 90);
		text-decoration: none;
	}

/* id parameter*/

/*navi - スマホメニューボタン設定*/
nav{
	display: block;
	position:fixed;
	
	&.btn_map{
		top:2vh;
		right: 1em;
		z-index:100;

		& #overlay-button {
			position: absolute;
			right: 0em;
			top: 0em;
			padding: 22px 11px;
			z-index: 5;
			cursor: pointer;
			user-select: none;
			background-color: rgba(255, 255, 255,0.7);
			/*linear-gradient(0deg, rgba(31,56,93,0.8) 0%, rgba(62,112,185,0.4) 100%)*/
			border: 3px solid #2c9c8d;
			border-radius: 10px;
		}
		& #overlay-button span {
			height: 4px;
			width: 30px;
			border-radius: 2px;
			background-color: #2c9c8d;
			position: relative;
			display: block;
			transition: all .2s ease-in-out;
		}
		& #overlay-button span:before {
			top: -10px;
			left:0px;
			visibility: visible;
		}
		& #overlay-button span:after {
			top: 10px;
			left:0px;
		}
		& #overlay-button span:before, & #overlay-button span:after {
			height: 4px;
			width: 30px;
			border-radius: 2px;
			background-color: #2c9c8d;
			position: absolute;
			content: "";
			transition: all .2s ease-in-out;
		}
		& #overlay-button:hover span, & #overlay-button:hover span:before, & #overlay-button:hover span:after {
			background: #2c9c8d;
		}

		& input[type=checkbox] {
			display: none; 
			}
			
		& input[type=checkbox]:checked ~ #overlay {
			visibility: visible; 
		}
			
		& input[type=checkbox]:checked ~ #overlay-button:hover span, input[type=checkbox]:checked ~ #overlay-button span {
			background: transparent;
		}
		& input[type=checkbox]:checked ~ #overlay-button span:before {
			transform: rotate(45deg) translate(7px, 7px);		  
		}
		& input[type=checkbox]:checked ~ #overlay-button span:after {
			transform: rotate(-45deg) translate(7px, -7px);
		}
	}
	&.btn_accident{
		display: none;
		top:15vh;
		right: 1em;
		z-index:100;
		width: 40px;
		padding: 5px 6px;
		background-color: rgb(255, 242, 61);
		border: 4px solid #b81232;
		border-radius: 10px;


		& img{ width: 100%;}

	}
}

/*********************************
 * header
 * 共通ヘッダー　グローバルメニュー
**********************************/
header{
    display: flex;
	flex-flow: row wrap;
	justify-content:space-around;
    align-items: flex-start;
	border-bottom: 0.3em solid #174f9e;

	& section{
		flex-basis: 100%;
		padding-top: 1%;

		&#global_menu{
			display: flex;
			flex-flow: column wrap;
			justify-content:space-between;

			& article{
				& > ul{
					display: flex;
					flex-flow: row nowrap;
					justify-content:space-between;
				}
				/*ヘッダーロゴ・社名*/
				&.logo{
					width: 95%; margin:0 auto 1rem;

					& ul{
						display: flex;
						flex-flow: row nowrap;
						justify-content:space-between;
						& li{
							&.own{ flex-basis: 40%; max-width: 500px; justify-content:flex-start;}
							&.accident{
								display: flex;
								flex-basis: 40%; justify-content:center; align-items: baseline;
								& a{
									border: 2px solid #b81232;
									border-radius: 5px;
									background-color: yellow;
									color: #b81232;
									font-weight: bold; font-size: 1.2em;
									padding: 0.2em;
									text-decoration: none;
								}
								
							}
							&.group{ flex-basis: 15%; justify-content:flex-start;

								& img{ max-width: 100px;}
							}
							& img{ width: 100%;}
						}
					}
				}
				/*ヘッダーメニュー*/
				&#header_menu{
					width: 100%; margin:0 auto;

					& ul{
						&.gnavi_lists{
							display: flex;
							flex-flow: row nowrap;
							justify-content:flex-end;

							& li{
								margin: 0 0.2rem ;
								flex-basis: fit-content;

								&.gnavi_list a{
									text-decoration: none;
									color: white;
									line-height: 100%;
									padding: 0.2rem 0.4rem;
									background-color: #9d9d9e;
									border-radius: 10px 10px 0 0;
								}
								&.lst_top{display: none;}
								&.lst_accident{display: none;}
								&.lst_group a{ background-color: #174f9e; }
								&.lst_business a{ background-color: #b81232; }
								&.lst_individual a{ background-color: #2c9c8d; }
								&.lst_policy {display: none;}
							}
							& ul.dropdown_lists{
								display: none;
							}
						}
					}
				}				
			}
		}
	}

} 

/* ********************************
 * main
 * メインコンテンツ
 * ********************************/
main{
	display: flex;
	flex-flow: column nowrap;

	width: 100%;
	margin: auto;
	background: #ffffff;


	& > section{
		width: 90%;
		margin: 0 auto 1rem; padding: 0.5rem;
		
		& article{
			margin-bottom: 1.5em;
		}

		/* ページ見出し共通設定 */
		&#pagemenu{
			width: 100%;
			margin: 0;
			padding: 0;

			& #title{
				background-position:center right;
                background-size:auto calc(100%);
				background-repeat:no-repeat;
				margin-bottom: 0;


				& > ul.gnavi_lists{
					padding: 1em 0;
					min-height: 15vh;
                    background: linear-gradient(90deg, rgba(62, 112, 185, 1) 0%, rgba(255, 255, 255, 0.3) 100%);

					& .gnavi_list{
						margin-left: 1em;
						display: none;

						& a{
							color: #ffffff; text-shadow: 0.1em 0.1em 0.2em #000000; font-size: 1.5em;
							text-decoration: none;
						}
					
						& .dropdown_lists{
								margin: 1em 0 0 1.5em;

								& a{font-size: 1em;}
						}
					}
				}
			}
		}

		/* パンくずリスト共通設定 */
		&.breadcrumbs{
			width: 100%;
			margin: 0;
			padding: 0;
            background: #888988;

			& *{ font-size: 0.7rem; color: #ffffff;}
			& ul{
				display: flex;
				flex-flow: row wrap;
				align-items: center;
				& li:not(:first-child)::before {
					content: ">";
				}

				& li{
					margin: 0.1em 0.5em;
					& a{
						margin-left: 0.8em;
					}
				}
			}
		}
	}


}

/* ********************************
 * footer
 * 共通フッター
 * ********************************/
footer{
	flex-flow: column nowrap;
	justify-content:space-around;
    align-items: center;

	background: #174f9e;

	& *{ color: #ffffff; }

	& h1{
		font-size: 1.6rem;
		text-align: center;
		margin: 0;
		text-indent:0;
	}

	& .comname{
		 display:block; width: fit-content; margin:auto; text-align: left;

		 & span{
			display: block;
			font-size: 0.8rem;
			padding-top: 1em;
		 }
	}

	& .tel{
		margin-bottom: 0.5em;
	}

	& address{
		text-align: center;
	}

	& section{
		display: flex;
		flex-flow: row wrap;
		justify-content:space-around;
		align-items: flex-start;
		width: 100%;

		& article{
			/* ポリシー */
			&#footer_policy{
				width: 100%;
				margin: 0;
				padding: 0;
				background: #888988;

				& *{ font-size: 0.7rem; color: #ffffff;}
				& ul{
					display: flex;
					flex-flow: row wrap;
					justify-content: center;
					align-items: center;
					/*
					& li:not(:first-child)::before {
						content: ">";
					}
					*/
					& li{
						margin: 0.1em 0.5em;
					}
				}
			}
			/* 会社情報 */
			&#footer_corp{
				flex-basis: 80%;
				text-align: center;

				& iframe{
					width: 100%;
                    aspect-ratio: 2 / 1;
				}
			}
			/*　メニューボタン連動 */
			&#footer_menu{
				display: none;
				position:fixed;
				top:0;
				right: 0;
				z-index: 90;
				box-sizing:border-box;
				width: 100%; margin:0;
				height: 100vh;
				background-color: #174f9e; 
				transition: all 300ms 0s ease;


				& ul{
					width: 95%; margin: 0 0 0 auto;
					background-color: #ffffff;
					border-radius: 10px;

					&.gnavi_lists{
						display: flex;
						flex-flow: column nowrap;
						justify-content:flex-start;
						overflow-y:scroll;
						height: 100vh;

						& li{
							margin: 1rem 0;
							flex-basis: fit-content;

							&.gnavi_list a{
								font-size: 1.4em;
								font-weight: bold;
								text-decoration: none;
								color: #9d9d9e;
								line-height: 100%;
								padding: 0.2rem 0.4rem;
								background-color:transparent;
								border-radius: 0;
							}
							&.lst_top{display: block;}
							&.lst_group a{ background-color: transparent; color: #174f9e; }
							&.lst_business a{ background-color: transparent; color: #b81232;}
							&.lst_individual a{ background-color: transparent; color:#2c9c8d;}
							&.lst_policy {display: block;}
						}
						& ul.dropdown_lists{
							display: block;
							margin-left: 1em;
							flex-flow: column wrap;

							& a{
								font-size: 1.2rem;
							}
						}
					}
				}
			}
		}
	}
}

/*-------------------------------------------------------
cookiePolicy
-------------------------------------------------------*/
#cookiePolicy {
	position: fixed;
	z-index: 1000;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 15px 90px 15px 40px;
	background: rgba(70, 70, 70, 0.93);
	box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.22);
	box-sizing: border-box;
}
#cookiePolicy .cookiePolicy__flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
}
#cookiePolicy .cookiePolicy__flex .detail {
	width: calc(100% - 250px);
}
@media screen and (max-width: 768px) {
	#cookiePolicy .cookiePolicy__flex .detail {
		width: 100%;
	}
}
#cookiePolicy .cookiePolicy__flex .detail p {
	text-align: justify;
	font-size: 0.9rem;
	line-height: 1.88;
	letter-spacing: .08em;
}
@media screen and (max-width: 768px) {
	#cookiePolicy .cookiePolicy__flex .detail p {
/*		font-size: 1.1rem; */
		letter-spacing: .06em;
	}
}
#cookiePolicy .cookiePolicy__flex .detail p a {
/*	font-size:1.1rem;	*/
	color:#ffffff;
}
#cookiePolicy .cookiePolicy__flex .agreeBtn {
	width: 200px;
}
#cookiePolicy .cookiePolicy__flex .agreeBtn2 {
	width: 30px;
}
#cookiePolicy .cookiePolicy__flex .agreeBtn2 img {
	height: 24px;
	width: 24px;
}
@media screen and (max-width: 768px) {
	#cookiePolicy .cookiePolicy__flex .agreeBtn {
		padding-top: 10px;
	}
}
@media screen and (max-width: 414px) {
	#cookiePolicy .cookiePolicy__flex .agreeBtn {
		width: 66%;
	}
}
#cookiePolicy .cookiePolicy__flex .agreeBtn p {
	color: #ffffff;
	cursor: pointer;
	padding: 20px 4px;
	text-align: center;
	font-size: 1.0rem;
	box-sizing: border-box;
	transition: .36s;
}
@media screen and (max-width: 768px) {
	#cookiePolicy .cookiePolicy__flex .agreeBtn p {
		padding: 12px 4px;
		font-size: 1.0rem;
	}
}
#cookiePolicy .cookiePolicy__flex .agreeBtn p:hover {
	opacity: 0.7;
}
#cookiePolicy .cookiePolicy__flex .agreeBtn2 img:hover {
	opacity: 0.7;
}
#cookiePolicy .cookiePolicy__minimize {
	cursor: pointer;
	height: 24px;
	margin-top: 8px;
	width: 24px;
}
#cookiePolicy .cookiePolicy__minimize img:hover {
	opacity: 0.7;
}
.cookiePolicy__maximize {
	bottom: 15px;
	box-sizing: border-box;
	display: none;
	cursor: pointer;
	height: 24px;
	left: 40px;
	position: fixed;
	width: 24px;
	z-index: 1000;
}
.cookiePolicy__maximize img:hover {
	opacity: 0.7;
}

/* @end */