﻿@charset "utf-8";

#contents .key {
	margin-bottom: 20px;
}

/* CHP Infromaitonのスタイル */
.information-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.information-block {
	padding: 0 !important;
	border: none !important;
}

.information-block a {
	margin: 0 !important;
}

.information-block .thumnail {
	width: 100%;
	aspect-ratio: 16/9;
	margin-bottom: 5px;
}

.information-block .thumnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media print, screen and (max-width: 768px) {
	.information-wrap {
		grid-template-columns: repeat(2, 1fr);
	}
}

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

	Common
	Widget（パーツ）

	HOME									[ / ]
	会社情報								[ /company/ ]
	コンサルタント紹介						[ /company/consultant.html ]
	店舗紹介								[ /company/shop.html ]
	法人のお客様							[ /service/corporation.html ]
	個人のお客様							[ /service/person.html ]
	火災保険								[ /products/kasai-hoken.html ]
	海外旅行傷害保険						[ /products/kaigai-hoken.html ]
	マネークラッセ							[ /money_classe/ ]
	CHP Information							[ /information/ ]
	Drip									[ /drip/ ]
	お問い合わせ							[ /contact/ ]
	プライバシーポリシー					[ /privacy/ ]
	火災保険のお見積フォーム					[ /insurance/index.html ]

------------------------------------------------------------------------ */
	/* ========================================================================
	Common
======================================================================== */
	body {
		min-width: 1220px;
	}
	.sp {
		display: none;
	}
	.inner {
		width: 1200px;
		margin: 0 auto;
		overflow: hidden;
		position: relative;
	}
	/* ----------------------------------------
	header
---------------------------------------- */
	header {
		margin: 0 0 20px 0;
		background: #eaf6fd;
	}
	header h1,
	header p.logo {
		float: left;
		padding: 23px 0 0 28px;
	}
	header p.tel {
		float: right;
		padding: 20px 0 0 0;
	}
	/* nav
---------------------------------------- */
	header #menu {
		background: #005ead;
	}
	header #menu a {
		color: #ffffff;
		text-decoration: none;
	}
	header #menu p {
		display: none;
	}
	header #menu > ul {
		width: 980px;
		margin: 0 auto;
		overflow: visible;
		background: url(../../img/common/bg_nav.gif) no-repeat center left;
	}
	/* ----- clearfix ----- */
	header #menu ul:after {
		content: ".";
		display: block;
		height: 0px;
		clear: both;
		visibility: hidden;
	}
	/* -------------------- */
	header #menu > ul > li {
		float: left;
		width: 163px;
		position: relative;
		background: url(../../img/common/bg_nav.gif) no-repeat center right;
		text-align: center;
		font-size: 123.1%;
		font-weight: bold;
		line-height: 1;
	}
	header #menu > ul > li:first-child {
		display: none;
	}
	header #menu > ul > li:nth-child(2),
	header #menu > ul > li:nth-child(3) {
		width: 164px;
	}
	header #menu > ul > li > a {
		display: block;
		height: 70px;
		margin: 0 1px;
		padding: 20px 0 0 0;
		color: #ffffff;
		filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100);
		/* IE8用 */
	}
	header #menu ul li span {
		display: block;
		padding: 6px 0 0 0;
		font-size: 62.5%;
		letter-spacing: 1px;
	}
	header #menu ul li ul {
		display: none;
		position: absolute;
		top: 70px;
		left: 0px;
		z-index: 10;
		width: 162px;
		margin: 0 1px;
		padding: 0 0 20px 20px;
		background: #074382;
	}
	header #menu ul li:first-child ul {
		width: 161px;
	}
	header #menu ul li ul li {
		padding: 12px 0 0 1em;
		text-indent: -1em;
		text-align: left;
		font-size: 75%;
		font-weight: bold;
		color: #ffffff;
	}
	header #menu ul li ul li:before {
		content: "・";
	}
	header #menu ul li ul li a {
		text-decoration: underline;
	}
	header #menu ul li ul li a:hover {
		text-decoration: none;
	}
	/* ----------------------------------------
	contents
---------------------------------------- */
	#contents {
		font-size: 107.7%;
		/* 14px */
	}
	#contents .key {
		text-align: center;
	}
	#contents h1 {
		margin: -20px 0 0 0;
		background: #eaf6fd;
		font-size: 171.4%;
		font-weight: bold;
		text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.1);
		line-height: 100px;
	}
	#contents h1 span {
		display: block;
		width: 1200px;
		margin: 0 auto;
		padding: 0 0 0 28px;
	}
	#contents main {
		float: right;
		width: 800px;
	}
	#contents aside {
		float: left;
		width: 380px;
		padding: 0 0 80px 0;
	}
	#contents .pc {
		position: relative;
	}
	#contents .key-sp {
		display: none;
	}
	#contents .key-pc {
		position: absolute;
		z-index: 10;
		top: 45px;
		left: 560px;
	}
	#contents .key-pc-list {
		display: flex;
		position: relative;
		gap: 20px;
		overflow: initial;
	}
	#contents .key-pc-list a {
		text-decoration: none;
	}
	#contents .key-pc-list a:hover {
		text-decoration: none;
	}
	#contents .key-pc-bg {
		position: relative;
		background: url(../../img/home/key_pc_bg.png) no-repeat;
		background-color: #fff;
		background-size: auto;
		width: 300px;
		height: 400px;
		padding: 10px;
		border-style: solid;
		border-width: 1px;
		border-color: rgba(0, 118, 211, 0.5);
		background-color: rgb(255, 255, 255);
		box-shadow:
			0px 0px 5px 0px rgba(0, 118, 211, 2.3),
			0px 0px 3.84px 0.16px rgba(24, 118, 214, 0.004);
	}
	#contents .key-pc-kozin,
	#contents .key-pc-houzin {
		margin-top: 45px;
		font-size: 1.7rem;
		font-weight: 800;
		letter-spacing: 0.05em;
		color: #005ead;
	}
	.key-pc-houzin::before {
		content: "";
		position: absolute;
		top: 2%;
		left: 5%;
		background: url(../../img/home/h2_key_houzin.png) no-repeat;
		width: 100%;
		height: 100%;
	}
	.key-pc-kozin::before {
		content: "";
		position: absolute;
		top: 5%;
		left: 78%;
		background: url(../../img/home/h2_key_kozin.png) no-repeat;
		width: 100%;
		height: 100%;
	}
	#contents .key-pc-bg h3 {
		font-size: 2.5rem;
		font-family: "Zen Old Mincho", serif;
		font-weight: 500;
		color: #0b6fd5;
		line-height: 35pt;
		letter-spacing: 0;
		margin-top: 25px;
	}
	#contents .key-pc-text {
		font-size: 18px;
		font-weight: 500;
		color: #483a3c;
		line-height: 1.6em;
		margin-top: 30px;
	}
	#contents .key-btn {
		position: absolute;
		width: 40px;
		height: 40px;
		background-color: #0f71d4;
		bottom: 10px;
		right: 10px;
		border-radius: 5px;
		border: 2px solid #0f71d4;
	}
	#contents .key-btn span {
		position: relative;
		width: 100%;
		height: 100%;
	}
	#contents .key-btn::after {
		content: "";
		background: url(../../img/home/key_btn.png) no-repeat center;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 50%;
		translate: -50%;
		pointer-events: none;
	}
	.jl-kigyou {
		margin: 20px 0;
	}

	/* home_information
---------------------------------------- */
	.home_information {
		overflow: hidden;
		margin: 0 0 20px 0;
		padding: 20px 194px 20px 40px;
		background: #005ead;
		color: #ffffff;
	}
	.home_information h2 {
		float: left;
		width: 200px;
		padding: 0 0 0 44px;
		background: url(../../img/home/h2_information.png) no-repeat left center;
		font-size: 142.8%;
		font-weight: bold;
		line-height: 40px;
		text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.1);
	}
	.home_information h2 span {
		padding: 6px 2px;
		border-top: 1px dotted #ffffff;
		border-bottom: 1px dotted #ffffff;
	}
	.home_information p {
		padding: 7px 0;
		font-size: 114.3%;
		line-height: 26px;
	}
	.home_information p time {
		float: left;
		padding: 0 2em 0 0;
	}
	.home_information p a {
		display: table;
		color: #ffffff;
		text-decoration: none;
	}
	.home_information p a:hover {
		text-decoration: underline;
	}
	.home_information .btn {
		position: absolute;
		top: 20px;
		right: 20px;
		margin: 0;
	}
	.home_information .btn a {
		display: block;
		width: 154px;
		background: #ffffff;
		text-align: center;
		font-weight: bold;
		line-height: 40px;
		text-decoration: none;
	}
	.home_information .btn a:hover {
		text-decoration: underline;
	}
	.home_information .btn a::after {
		content: "";
		position: absolute;
		top: 0;
		right: 20px;
		width: 8px;
		height: 100%;
		background: url(../../img/home/arrow_information.png) no-repeat center;
	}
	/* ----------------------------------------
	main
---------------------------------------- */
	main h2 {
		margin: 0 0 20px 0;
		padding: 0 20px;
		background: #005ead;
		font-size: 142.8%;
		font-weight: bold;
		color: #ffffff;
		line-height: 50px;
		text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.1);
	}
	main table th {
		padding: 8px 10px;
		border: 1px solid #cccccc;
		text-align: left;
		font-weight: bold;
	}
	main table td {
		padding: 8px 10px;
		border: 1px solid #cccccc;
	}
	/* ----------------------------------------
	aside
---------------------------------------- */
	aside section {
		margin: 0 0 20px 0;
		padding: 0 0 30px 0;
		background: #f5f5f5;
	}
	aside h2 {
		margin: 0 0 30px 0;
		background: #005ead;
		font-size: 142.8%;
		font-weight: bold;
		color: #ffffff;
		line-height: 100px;
		text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.1);
	}
	aside h2 span {
		padding: 6px 2px;
		border-top: 1px dotted #ffffff;
		border-bottom: 1px dotted #ffffff;
	}
	aside p.bnr {
		padding: 0 0 20px 0;
	}
	.onlysp {
		display: none;
	}
	/* menu
---------------------------------------- */
	aside .menu h2 {
		text-align: center;
	}
	aside .menu ul {
		padding: 0 30px;
	}
	aside .menu ul li {
		margin: 0 0 1px 0;
	}
	aside .menu ul li a {
		display: block;
		padding: 12px 20px;
		background: #ffffff;
		font-weight: bold;
		line-height: 1.5;
		text-decoration: none;
	}
	aside .menu ul li a:hover {
		text-decoration: underline;
	}
	/* blog
---------------------------------------- */
	aside .blog h2 {
		padding-left: 125px;
		background: url(../../img/home/h2_information.png) no-repeat 76px center #005ead;
		/* background: url(../../img/common/h2_blog.gif) no-repeat 76px center #005ead; */
	}
	aside .blog a {
		display: block;
		text-decoration: none;
	}
	aside .blog a:hover {
		text-decoration: underline;
	}
	aside .blog ul {
		padding: 0 30px 29px;
	}
	aside .blog ul li {
		margin: 0 0 1px 0;
		padding: 15px 20px;
		background: #ffffff;
		line-height: 1.2;
	}
	aside .blog ul li time {
		display: inline-block;
		padding: 0 0 14px 0;
		font-weight: bold;
		line-height: 18px;
	}
	aside .blog ul li span {
		display: inline-block;
		margin: 0 0 14px 10px;
		padding: 0 12px;
		background: #7ecef4;
		color: #ffffff;
		line-height: 18px;
	}
	aside .blog p a {
		margin: 0 30px;
		background: url(../../img/common/arrow_02.gif) no-repeat 287px center;
		border: 1px dotted #000000;
		text-align: center;
		font-size: 114.3%;
		font-weight: bold;
		line-height: 64px;
	}
	/* facebook
---------------------------------------- */
	aside .facebook {
		text-align: center;
	}
	aside .facebook h2 {
		padding-left: 158px;
		background: url(../../img/common/h2_facebook.gif) no-repeat 113px center #3b579d;
		text-align: left;
	}
	aside .facebook p {
		padding: 30px 0 0 0;
	}
	/* ----------------------------------------
	path
---------------------------------------- */
	#path {
		padding: 10px 0;
	}
	#path li {
		float: left;
		padding: 0 1em 0 0;
		line-height: 2;
	}
	#path li:before {
		content: "＞";
		margin: 0 1em 0 0;
	}
	#path li:first-child:before {
		content: "";
		margin: 0;
	}
	/* ----------------------------------------
	footer
---------------------------------------- */
	footer {
		background: #eaf6fd;
		font-size: 107.7%;
	}
	footer .inner {
		padding-bottom: 50px;
	}
	footer p.bnr {
		position: absolute;
		top: 60px;
		right: 0;
	}
	footer p.aiu {
		position: absolute;
		bottom: 50px;
		right: 0;
		font-weight: bold;
		line-height: 1;
	}
	footer p.copyright {
		background: #005da5;
		text-align: center;
		line-height: 62px;
	}
	footer p.copyright small {
		font-weight: bold;
		color: #ffffff;
	}
	/* nav
---------------------------------------- */
	footer nav {
		position: absolute;
		top: 52px;
		left: 400px;
	}
	footer nav h2 {
		display: none;
	}
	/* ---------- menu ---------- */
	footer .menu a {
		color: #123f71;
		text-decoration: none;
	}
	footer .menu a:hover {
		text-decoration: underline;
	}
	footer .menu > ul {
		float: left;
		padding: 0 30px 0 0;
	}
	footer .menu ul li {
		padding: 0 0 0 15px;
		background: url(../../img/common/arrow_01.gif) no-repeat left 10px;
		font-weight: bold;
		line-height: 2.071;
	}
	footer .menu ul li ul {
		padding: 0 0 0 4px;
	}
	footer .menu ul li ul li {
		padding: 0 0 0 12px;
		background: url(../../img/common/tree_01.gif) no-repeat left 7px;
	}
	footer .menu ul li ul li:last-child {
		background-image: url(../../img/common/tree_02.gif);
	}
	/* company
---------------------------------------- */
	footer .company {
		width: 310px;
		padding: 52px 0 60px 0;
	}
	footer .company h2 {
		padding: 0 0 25px 0;
		background: url(../../img/common/line.gif) repeat-x center bottom;
	}
	footer .company p {
		padding: 18px 0;
		font-weight: bold;
		line-height: 1.2;
	}
	footer .company p:nth-of-type(2) {
		border-top: 1px dotted #008fd0;
	}
	/* ========================================================================
	Widget（パーツ）
======================================================================== */
	/* ----------------------------------------
	widget_consultation
---------------------------------------- */
	.widget_consultation {
		padding: 20px 0 50px 0;
		background: #eaf6fd;
		text-align: center;
	}
	.widget_consultation h2 {
		display: inline-block;
		height: 104px;
		padding: 28px 175px 0 0;
		background: url(../../img/common/h2_consultation.gif) no-repeat bottom right;
		font-size: 171.4%;
		font-weight: bold;
		line-height: 1.2;
		text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.1);
	}
	.widget_consultation h2 span {
		color: #005da5;
	}
	.widget_consultation .box {
		width: 980px;
		margin: 0 auto;
		padding: 20px 0 30px 10px;
		overflow: hidden;
		background: url(../../img/common/bg_consultation.gif);
	}
	.widget_consultation .box dl {
		float: left;
		width: 450px;
		margin: 0 0 0 20px;
	}
	.widget_consultation .box dl dt {
		padding: 0 0 14px 0;
		font-size: 171.4%;
		font-weight: bold;
		color: #ffffff;
		line-height: 1.2;
		text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.1);
	}
	/* ----------------------------------------
	widget_company
---------------------------------------- */
	.widget_company {
		width: 980px;
		margin: 0 auto;
		padding: 50px 0;
	}
	.widget_company ul {
		padding: 0 0 20px 0;
	}
	.widget_company ul li {
		float: left;
		width: 196px;
		padding: 8px 0;
		border-left: 1px dotted #000000;
		border-bottom: 1px dotted #000000;
		text-align: center;
	}
	.widget_company ul li:nth-child(-n + 5) {
		border-top: 1px dotted #000000;
	}
	.widget_company ul li:nth-child(5n) {
		border-right: 1px dotted #000000;
	}
	/* ========================================================================
	HOME									[ / ]
======================================================================== */
	#home {
		padding: 0 0 80px 0;
	}
	#home .bnr {
		margin: 0 0 20px 0;
	}
	#home section {
		margin: 0 0 20px 0;
	}
	#home h2 {
		margin: 0;
		padding: 0;
		text-align: center;
		line-height: 100px;
		text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.1);
	}
	#home h2 span {
		padding: 6px 2px;
		border-top: 1px dotted #ffffff;
		border-bottom: 1px dotted #ffffff;
	}
	#home ul {
		padding: 30px 0 20px 45px;
	}
	#home ul li {
		float: left;
		padding: 0 10px 10px 0;
	}
	/* ----------------------------------------
	company
---------------------------------------- */
	#home .company h2 {
		background: url(../../img/home/h2_company.gif) no-repeat 225px bottom #005ead;
	}
	#home .company ul {
		background: url(../../img/home/bg_company.jpg) no-repeat center top;
	}
	/* ----------------------------------------
	service
---------------------------------------- */
	#home .service h2 {
		background: url(../../img/home/h2_service.gif) no-repeat 500px bottom #005ead;
	}
	#home .service ul {
		background: url(../../img/home/bg_service.jpg) no-repeat center top;
	}
	/* ----------------------------------------
	products
---------------------------------------- */
	#home .products h2 {
		background: url(../../img/home/h2_products.gif) no-repeat 193px bottom #005ead;
	}
	#home .products ul {
		background: url(../../img/home/bg_products.jpg) no-repeat center top;
		background-size: 180%;
	}
	/* ----------------------------------------
	moneyclasse
---------------------------------------- */
	#home .moneyclasse {
		background: url(../../img/home/bg_moneyclasse.gif);
	}
	#home .moneyclasse h2 {
		background: url(../../img/home/h2_moneyclasse.gif) no-repeat 520px bottom #005ead;
	}
	#home .moneyclasse p {
		padding: 30px 0;
		text-align: center;
	}
	/* ========================================================================
	会社情報								[ /company/ ]
	コンサルタント紹介						[ /company/consultant.html ]
	店舗紹介								[ /company/shop.html ]
======================================================================== */
	#company {
		padding: 0 0 60px 0;
	}
	#company > section {
		padding: 0 0 40px 0;
	}
	#company p {
		overflow: hidden;
	}
	#company dl dt {
		font-weight: bold;
	}
	#company table th {
		width: 150px;
	}
	/* ----------------------------------------
	greeting（代表挨拶）
---------------------------------------- */
	#company .greeting p img {
		float: right;
		margin: 0 0 20px 20px;
	}
	/* ----------------------------------------
	business（事業内容 / 私達の出来ること）
---------------------------------------- */
	#company .business > ul {
		padding: 0 0 20px 0;
		background: url(../../img/company/bg_business03.jpg) no-repeat right top;
	}
	#company .business ul li ul {
		padding: 0 0 0 1em;
	}
	/* ----------------------------------------
	mission（ミッション）
---------------------------------------- */
	#company .mission {
		padding-bottom: 30px;
	}
	#company .mission h3,
	#company .mission p {
		padding: 0 0 10px 0;
		text-align: center;
	}
	/* ----------------------------------------
	outline（会社概要）
---------------------------------------- */
	#company .outline table dl dt:nth-of-type(2) {
		padding: 10px 0 0 0;
	}
	/* donation
---------------------------------------- */
	#company .outline .donation {
		overflow: hidden;
		padding: 20px 0 0 0;
	}
	#company .outline .donation p {
		float: left;
		margin: 0 20px 0 0;
		border: 5px solid #dfefef;
	}
	#company .outline .donation dl {
		padding: 40px 0 0 0;
	}
	/* ----------------------------------------
	policy（勧誘方針）
---------------------------------------- */
	#company .policy {
		padding: 0 0 30px 0;
	}
	#company .policy p {
		padding: 0 0 20px 0;
	}
	#company .policy dl dd {
		margin: 0 0 10px 0;
		padding: 4px 0 10px 0;
		border-bottom: 1px dotted #cccccc;
	}
	/* ----------------------------------------------------------------------
	about（私達がお客さまに最適な保険をご紹介するパートナーです。）
---------------------------------------------------------------------- */
	#company .about p.lead {
		padding: 0 0 10px 0;
		font-size: 128.6%;
		font-weight: bold;
	}
	#company .about p img {
		float: right;
	}
	/* ----------------------------------------
	introduction（コンサルタント紹介）
---------------------------------------- */
	#company .introduction {
		padding-bottom: 20px;
	}
	#company .introduction table {
		margin: 0 0 20px 0;
	}
	#company .introduction table th {
		width: 120px;
	}
	#company .introduction table td.image {
		width: 176px;
	}
	/* ----------------------------------------
	shop（店舗紹介）
---------------------------------------- */
	#company .shop p.lead {
		padding: 0 0 10px 0;
		text-align: center;
		font-size: 171.4%;
		font-weight: bold;
		color: #005ead;
	}
	#company .shop ul li {
		float: left;
		width: 310px;
		margin: 0 0 20px 60px;
	}
	#company .shop table {
		margin: 0 0 20px 0;
	}
	/* ========================================================================
	法人のお客様							[ /service/corporation.html ]
	個人のお客様							[ /service/person.html ]
======================================================================== */
	#service {
		padding: 0 0 80px 0;
	}
	#service span {
		color: #cf0606;
	}
	#service p {
		padding: 0 0 20px 0;
	}
	#service p.lead {
		padding-bottom: 10px;
		font-size: 128.6%;
		font-weight: bold;
	}
	#service figure {
		padding: 0 0 20px 0;
		text-align: center;
	}
	/* ========================================================================
	火災保険								[ /products/kasai-hoken.html ]
	海外旅行傷害保険						[ /products/kaigai-hoken.html ]
======================================================================== */
	#products {
		padding: 0 0 60px 0;
	}
	#products > section {
		padding: 0 0 20px 0;
	}
	#products p.lead {
		font-size: 128.6%;
		font-weight: bold;
	}
	/* ----------------------------------------
	btn
---------------------------------------- */
	#products .btn {
		padding: 0 0 20px 0;
		text-align: center;
	}
	#products .btn a {
		display: inline-block;
		margin: 0 20px;
	}
	/* ----------------------------------------
	company（取り扱い保険会社一覧）
---------------------------------------- */
	#products .company ul li {
		float: left;
		width: 185px;
		margin: 0 20px 20px 0;
		border: 1px solid #cccccc;
		text-align: center;
	}
	#products .company ul li:nth-child(4n) {
		margin-right: 0;
	}
	#products .company ul li a {
		display: block;
		padding: 0;
	}

	#products .fades li {
		padding: 10px 0;
	}

	/* ----------------------------------------
	contact（ご相談・お申込み）
---------------------------------------- */
	#products .contact ul li {
		padding: 0 0 20px 0;
		text-align: center;
	}
	/* ----------------------------------------
	step（簡単申込み　4STEP）
---------------------------------------- */
	#products .step p.lead {
		padding: 0 0 10px 0;
		text-align: center;
	}
	#products .step figure {
		padding: 0 0 20px 0;
		text-align: center;
	}
	/* ----------------------------------------
	about（海外旅行保険について）
---------------------------------------- */
	#products .about section {
		overflow: hidden;
		padding: 0 0 20px 0;
	}
	#products .about h3 {
		margin: 0 0 10px 0;
		padding: 0 0 4px 0;
		border-bottom: 1px dotted #999999;
		font-size: 128.6%;
		font-weight: bold;
		color: #2a8004;
	}
	#products .about p.image {
		float: right;
		padding: 0 0 0 40px;
	}
	/* ========================================================================
	マネークラッセ							[ /money_classe/ ]
======================================================================== */
	#money {
		padding: 0 0 60px 0;
	}
	#money > section {
		padding: 0 0 20px 0;
	}
	#money p {
		padding: 0 0 20px 0;
	}
	#money p.lead {
		font-size: 128.6%;
		font-weight: bold;
	}
	#money figure {
		padding: 0 0 20px 0;
		text-align: center;
	}
	/* ----------------------------------------
	about
---------------------------------------- */
	#money .about {
		background: url(../../img/money_classe/bg_about.png) no-repeat right 70px;
	}
	#money .about p.lead {
		padding-right: 220px;
	}
	#money .about dl dt {
		font-weight: bold;
	}
	#money .about dl dd {
		padding: 0 0 20px 0;
	}
	/* ----------------------------------------
	point
---------------------------------------- */
	#money .point .price {
		float: right;
	}
	/* ----------------------------------------
	happy
---------------------------------------- */
	#money .happy ul li {
		float: left;
		width: 220px;
		margin: 0 0 20px 35px;
		padding: 1px;
		border: 3px solid #b0cce1;
	}
	#money .happy ul li dl dd {
		margin: -30px 0 0 0;
		padding: 0 11px 11px;
	}
	/* ========================================================================
	CHP Information							[ /information/ ]
	Drip									[ /drip/ ]
======================================================================== */
	#information {
		padding: 0 0 80px 0;
	}
	#information time {
		font-weight: bold;
	}
	#information p,
	#information ul {
		padding: 0 0 20px 0;
	}
	#information p.info {
		text-align: right;
	}
	#information ul li {
		padding: 20px 0;
		background: #ffffff;
		border-bottom: 1px solid #cccccc;
	}
	#information p.info span,
	#information ul li span {
		display: inline-block;
		margin: 0 0 0 10px;
		padding: 0 12px;
		background: #7ecef4;
		color: #ffffff;
		line-height: 18px;
	}
	#information ul li a {
		display: inline-block;
		margin: 0 0 0 10px;
	}
	#information p.image {
		text-align: center;
	}
	/* -----------------------------------
	paging
----------------------------------- */
	#information .paging {
		padding: 20px 0 10px 0;
		text-align: center;
		font-weight: bold;
	}
	#information .paging span {
		display: inline-block;
		width: 38px;
		line-height: 36px;
		margin: 0 5px 10px;
		background: #005ead;
		border: 1px solid #005ead;
		text-align: center;
		color: #ffffff;
	}
	#information .paging a {
		display: inline-block;
		width: 38px;
		line-height: 36px;
		margin: 0 5px 10px;
		border: 1px solid #005ead;
		text-align: center;
		text-decoration: none;
	}
	#information .paging a:hover {
		background: #005ead;
		color: #ffffff;
	}
	#information .paging a.link_before {
		width: auto;
		margin: 0 15px 10px 0;
		padding: 0 12px;
	}
	#information .paging a.link_next {
		width: auto;
		margin: 0 0 10px 15px;
		padding: 0 12px;
	}
	/* ========================================================================
	お問い合わせ							[ /contact/ ]
======================================================================== */
	#contact {
		padding: 0 0 100px 0;
	}
	#contact dl {
		padding: 30px 0 0 0;
	}
	#contact dl dt {
		font-weight: bold;
	}
	#contact table {
		margin: 0 0 30px 0;
	}
	#contact table th {
		width: 200px;
		background: #f7f7f7;
	}
	#contact table th span {
		display: inline-block;
		margin: 0 0 0 10px;
		padding: 0 6px;
		background: #e5004f;
		font-size: 85.7%;
		color: #ffffff;
		line-height: 18px;
	}
	#contact table td input {
		margin: 4px 0;
	}
	#contact table td input[type="text"],
	#contact table td input[type="email"],
	#contact table td textarea {
		width: 100%;
		padding: 0 8px;
	}
	#contact table td input.size,
	.size {
		width: 200px;
		padding: 0 8px;
	}
	.size2 {
		width: 200px;
		padding: 0 8px !important;
		margin-left: 10px;
	}
	#contact table td label {
		display: inline-block;
		margin: 0 2em 0 0;
	}
	#contact table td input[type="checkbox"] {
		margin: -2px 8px 0 0;
	}
	#questionnaire label {
		display: inline-block;
		margin: 0 2em 0 0;
	}
	.yobo {
		width: 100%;
		padding: 0 8px;
	}
	.space {
		padding-bottom: 30px;
	}
	/* -----------------------------------
	btn
----------------------------------- */
	#contact .btn {
		text-align: center;
	}
	#contact .btn button {
		width: 240px;
		padding: 0;
		background: #005ead;
		border: none;
		font-size: 128.6%;
		font-weight: bold;
		color: #ffffff;
		line-height: 50px;
		letter-spacing: 4px;
	}
	/* ========================================================================
	プライバシーポリシー					[ /privacy/ ]
======================================================================== */
	#privacy {
		padding: 0 0 100px 0;
	}
	#privacy p,
	#privacy dl dd {
		padding: 0 0 20px 0;
	}
	#privacy p.name {
		text-align: right;
	}
	#privacy dl dt {
		font-weight: bold;
	}
	#privacy ul {
		padding: 20px 0 0 0;
	}
	/* ----------------------------------------
	number
---------------------------------------- */
	#privacy .number {
		padding: 10px 0 0 1em;
	}
	#privacy .number li {
		padding: 0 0 0 1.5em;
		text-indent: -1.5em;
	}
	/* ----------------------------------------
	contact
---------------------------------------- */
	#privacy .contact {
		padding: 10px;
		border: 1px solid #005ead;
	}
	#privacy .contact dd {
		padding: 0;
	}
	#privacy .contact dd table th {
		width: 7em;
		padding: 0 5px;
		border: none;
		vertical-align: top;
		font-weight: normal;
	}
	#privacy .contact dd table td {
		padding: 0;
		border: none;
	}
	/* ----------------------------------------
	火災保険のお見積フォーム
---------------------------------------- */
	#contact_01 {
		width: 94%;
		margin: 0 auto;
	}
	#contact_01 * {
		box-sizing: border-box;
	}
	#contact_01 dl {
		width: 100%;
		margin: 0 auto 5%;
		box-sizing: border-box;
		padding: 0;
	}
	#contact_01 dl dl {
		width: 100%;
		margin: 0 auto 3%;
	}
	#contact_01 dl dt {
		font-size: 112.5%;
		line-height: 20px;
		color: #005ead;
		margin: 0 0 1%;
	}
	#contact_01 dl dt.required::before {
		content: "必須";
		display: inline-block;
		background: #c00;
		border-radius: 3px;
		padding: 0 5px;
		margin: 0 5px 0 0;
		font-size: 75%;
		line-height: 20px;
		color: #fff;
		font-weight: 500;
	}
	#contact_01 dl dt.any::before {
		content: "任意";
		display: inline-block;
		background: #c0c0c0;
		border-radius: 3px;
		padding: 0 5px;
		margin: 0 5px 0 0;
		font-size: 75%;
		line-height: 20px;
		color: #fff;
		font-weight: 500;
	}
	#contact_01 dl dd input[type="text"],
	#contact_01 dl dd input[type="email"],
	#contact_01 dl dd input[type="tel"],
	#contact_01 dl dd input[type="number"] {
		border: 1px solid #d5d5d5;
		border-radius: 5px;
		height: 40px;
		font-size: 112.5%;
		line-height: 36px;
		padding: 0 5px 0 8px;
	}
	#contact_01 dl dd table td {
		background: #fff;
	}
	.from-10 {
		width: 10%;
	}
	.from-20 {
		width: 20%;
	}
	.from-30 {
		width: 30%;
	}
	.from-50 {
		width: 50%;
	}
	.from-70 {
		width: 70%;
	}
	.from-100 {
		width: 100%;
	}
	.address {
		margin: 0 0 10px;
	}
	.address input {
		margin: 0 0 0 10px;
	}
	#contact_01 select {
		font-size: 112.5%;
		line-height: 36px;
		padding: 0 30px 0 10px;
		width: 100%;
		height: 40px;
		border: none;
		background: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	#contact_01 .box {
		position: relative;
		border: none;
		border-radius: 5px;
		height: 40px;
		font-size: 100%;
		line-height: 38px;
		background: #f2f2f2;
		z-index: 5;
	}
	#contact_01 .box:before {
		content: " ";
		display: block;
		position: absolute;
		right: 0;
		border-bottom-right-radius: 5px;
		border-top-right-radius: 5px;
		width: 30px;
		height: 40px;
		z-index: 4;
		background: #005ead url(../../img/common/btn_icon03_on@2x.png) no-repeat center center;
		background-size: 11px auto;
		pointer-events: none;
	}
	#contact_01 .address label {
		width: 35%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	#contact_01 .address label .box {
		margin: 0 0 0 10px;
		width: 70%;
	}
	#contact_01 .select {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
	}
	#contact_01 .select label {
		width: 25%;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		align-items: center;
	}
	#contact_01 .select.free_size label {
		width: auto;
	}
	#contact_01 .select.form-30 label {
		width: 30%;
	}
	#contact_01 .select.form-90 label {
		width: 90%;
	}
	#contact_01 .select label:nth-of-type(2) {
		width: 20%;
	}
	#contact_01 .select label:nth-of-type(3) {
		width: 20%;
	}
	#contact_01 .select label .box {
		margin: 0 5px 0 0;
		width: 75%;
	}
	#contact_01 select::-ms-expand {
		display: none;
	}
	.radiobox {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: nowrap;
		box-sizing: border-box;
		background: #f2f2f2;
		border: 1px solid #d5d5d5;
		border-radius: 5px;
		height: 50px;
		overflow: hidden;
	}
	.radiobox label {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 0%;
		text-align: center;
		font-size: 100%;
		border-right: 1px solid #d5d5d5;
		height: 50px;
	}
	.radiobox label:last-of-type {
		border-right: none;
	}
	.column02 label {
		width: 50%;
	}
	.column03 label {
		width: 33.4%;
	}
	.column04 label {
		width: 25%;
	}
	.column05 label {
		width: 20%;
	}
	.column06 label {
		width: 16.7%;
	}
	.checkbox {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: nowrap;
		box-sizing: border-box;
		background: #f2f2f2;
		border: 1px solid #d5d5d5;
		border-radius: 5px;
		height: 50px;
		overflow: hidden;
	}
	.checkbox label {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 0%;
		text-align: center;
		font-size: 100%;
		border-right: 1px solid #d5d5d5;
		height: 50px;
	}
	.checkbox label:last-of-type {
		border-right: none;
	}
	/***********  チェックボックス・ラジオボタン　デザイン ***********/
	#contact_01 .checkbox input[type="checkbox"] {
		display: none;
	}
	#contact_01 span.checkbox01-parts {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		padding-left: 0px;
		position: relative;
		margin-right: 0px;
		line-height: 22px;
	}
	#contact_01 span.checkbox01-parts span::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0px;
		margin: auto;
		width: 15px;
		height: 15px;
		border: 1px solid #d3d3d3;
		border-radius: 3px;
		background: #fff;
	}
	#contact_01 .checkbox input[type="checkbox"]:checked + span.checkbox01-parts {
		background: #d5d5d5;
	}
	#contact_01 .checkbox input[type="checkbox"] + span.checkbox01-parts span {
		padding-left: 24px;
		position: relative;
		margin-right: 0px;
	}
	.times {
		margin: 2% 0 0;
	}
	#contact_01 .checkbox input[type="checkbox"]:checked + span.checkbox01-parts span::after {
		content: "";
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 5px;
		width: 4px;
		height: 8px;
		margin: auto;
		transform: rotate(40deg);
		border-bottom: 2px solid #6380ff;
		border-right: 2px solid #6380ff;
	}
	#contact_01 span.radio-parts {
		width: 100%;
		height: 100%;
		padding-left: 0;
		position: relative;
		margin-right: 0px;
		line-height: 22px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#contact_01 .radiobox input[type="radio"],
	#contact_01 .radiobox input[type="checkbox"] {
		display: none;
	}
	#contact_01 .radiobox input[type="radio"] + .radio-parts span,
	#contact_01 .radiobox input[type="checkbox"] + .radio-parts span {
		padding-left: 24px;
		position: relative;
		margin-right: 0px;
	}
	#contact_01 .radiobox input[type="radio"] + .radio-parts span::before,
	#contact_01 .radiobox input[type="checkbox"] + .radio-parts span::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 0;
		width: 15px;
		height: 15px;
		border: 1px solid #d3d3d3;
		border-radius: 50%;
		background: #fff;
	}
	#contact_01 .radiobox input[type="radio"]:checked + span.radio-parts,
	#contact_01 .radiobox input[type="checkbox"]:checked + span.radio-parts {
		background: #d5d5d5;
	}
	#contact_01 .radiobox input[type="radio"]:checked + .radio-parts span::after,
	#contact_01 .radiobox input[type="checkbox"]:checked + .radio-parts span::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 4px;
		width: 9px;
		height: 9px;
		background: #6380ff;
		border-radius: 50%;
	}
	.detail_box01,
	.detail_box02 {
		width: 100%;
		margin: 0px auto;
		font-size: 100%;
		line-height: 1.5;
		position: relative;
		margin-bottom: 40px;
		padding-bottom: 30px;
		background: #005ead;
	}
	.detail_box03 {
		width: 100%;
		margin: 0px auto;
		font-size: 100%;
		line-height: 1.5;
		position: relative;
		margin: 40px 0;
		padding-bottom: 30px;
		background: #005ead;
	}
	.detail_box03 .ttl_box {
		background: #005ead;
		padding: 15px 30px;
		font-size: 112.5%;
		font-weight: 700;
		color: #fff;
	}
	.detail_box01 .ttl_box,
	.detail_box02 .ttl_box {
		padding: 15px 30px;
		font-size: 112.5%;
		font-weight: 700;
		color: #fff;
	}
	.inner_box01 {
		height: 100px;
		overflow: hidden;
		margin: 0px 30px 0;
		padding: 30px 30px 60px;
		background: #f2f2f2;
	}
	.inner_box01 p,
	.inner_box02 p {
		font-size: 100%;
		line-height: 1.8;
		margin: 0 0 2em;
	}
	.inner_box01 p:last-of-type,
	.inner_box02 p:last-of-type {
		margin: 0 0 0;
	}
	.inner_box01 ul {
		margin: 0 0 2em;
	}
	.inner_box01 li {
		font-size: 100%;
		line-height: 1.8;
		text-indent: -1em;
		padding-left: 1em;
	}
	.inner_box01 span {
		display: block;
		font-size: 112.5%;
		font-weight: 700;
	}
	.inner_box01 .radiobox span {
		font-size: 100% !important;
		font-weight: normal !important;
	}
	.inner_box02 .ttl02 {
		display: block;
		margin: 0;
		font-size: 112.5%;
		font-weight: 700;
	}
	.txt_indent {
		font-size: 100%;
		line-height: 1.8;
		text-indent: -1em;
		padding-left: 1em;
		margin: 0;
	}
	.inner_box02 {
		height: 120px;
		overflow: hidden;
		margin: 0px 30px 0;
		padding: 30px 30px 60px;
		background: #f2f2f2;
	}
	.inner_box03 {
		overflow: hidden;
		margin: 0px 30px 0;
		padding: 30px 30px;
		background: #f2f2f2;
	}
	.inner_box03 .ttl02 {
		display: block;
		margin: 0;
		font-size: 112.5%;
		font-weight: 700;
	}
	.Q--icon:before {
		content: "？";
		display: inline-block;
		margin: 0;
		font-size: 112.5%;
		font-weight: 700;
		border: 3px solid #fff;
		width: 22px;
		height: 22px;
		margin: 0 5px 0 0;
		border-radius: 50%;
		text-align: center;
		font-size: 100%;
		font-weight: bold;
		color: #fff;
		line-height: 22px;
	}
	.inner_box03 p {
		font-size: 100%;
		line-height: 1.8;
	}
	.show_more,
	.show_more2 {
		position: absolute;
		bottom: 0px;
		left: 0px;
		width: 100%;
		padding-top: 60px;
		text-align: center;
		line-height: 30px;
		background: linear-gradient(180deg, rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 50%);
		cursor: pointer;
		transition: bottom 0.2s;
	}
	.active {
		background: none;
		bottom: 40px;
	}
	h1 {
		font-size: 2rem;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.form_box01 span {
		display: block;
		margin: 0 0 20px;
	}
	.form_box01 input[type="text"] {
		margin: 0 10px;
	}
	.form_box01 span:last-of-type {
		margin: 0 0 0px;
	}
	.tenp_file_box {
		padding: 20px 30px;
		background: #f2f2f2;
		font-size: 100%;
		border: 1px solid #d5d5d5;
		box-sizing: border-box;
		border-radius: 5px;
	}
	.up_file span {
		display: block;
		margin-top: 3%;
	}
	.btn {
		margin-bottom: 5%;
	}
	#contact_01 h3 {
		display: block;
		border-left: 5px solid #005ead;
		padding: 3px 0 3px 12px;
		margin: 8% 0 3%;
		font-size: 125%;
		font-weight: bold;
	}
	.mt10 {
		margin-top: 10px;
	}
	.mb20 {
		margin-bottom: 20px;
	}
	.ft_14 {
		font-size: 14px;
	}
	.flex_box {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.illust {
		display: flex;
		justify-content: space-around;
		margin-top: 30px !important;
	}
	/***********  オンライン保険相談 ***********/
	#online .key {
		width: 100%;
		margin: 0 auto 27px;
	}
	#online h3 {
		width: 100%;
		margin: 0 auto 23px;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.4;
		letter-spacing: 1.35px;
		text-align: left;
		color: #333;
	}
	#online .txt_box {
		width: 100%;
		margin: 0 0 50px;
	}
	#online .txt_box p {
		margin: 0 0 50px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.8;
		letter-spacing: 0.7px;
		text-align: left;
		color: #333333;
	}
	#online .txt_box p:last-of-type {
		margin: 0 0 0px;
	}
	#online .img_list {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		margin-right: -9.25%;
		margin-bottom: 2.5%;
	}
	#online .img_list .img {
		max-width: 180px;
		width: 22.5%;
		margin-right: 9.25%;
		margin-bottom: 3.75%;
	}
	#online .flow_list {
	}
	#online .flow_list .flow_box {
	}
	#online .flow_list .flow_box h4 {
		display: block;
		border-bottom: 1px solid #035ead;
		margin-bottom: 20px;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.6;
		letter-spacing: 0.4px;
		text-align: left;
		color: #035ead;
	}
	#online .flow_list .flow_box .img_area {
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		max-width: 768px;
		width: 96%;
		margin: 0 auto 30px;
	}
	#online .flow_list .flow_box .img {
		max-width: 180px;
		width: 23.43%;
		margin-right: 11px;
	}
	#online .flow_list .flow_box .app_img a {
		display: block;
	}
	#online .flow_list .flow_box .app_img a:first-of-type {
		margin-bottom: 5px;
	}
	#online .flow_list .flow_box .txt_box {
		max-width: 577px;
		width: 75.1%;
		background-color: #eaf6fd;
		padding: 25px 22px 25px;
		margin: 0;
	}
	#online .flow_list .flow_box .txt_box p {
		margin: 0;
		font-size: 17px;
		line-height: 1.8;
		letter-spacing: 0;
	}
	#online .flow_list .flow_box h5 {
		display: block;
		max-width: 768px;
		width: 96%;
		border: solid 1px #035ead;
		background-color: #fff;
		margin: 0 auto 20px;
		padding: 0 7px;
		font-size: 16px;
		font-weight: bold;
		line-height: 30px;
		letter-spacing: 0.4px;
		text-align: center;
		color: #035ead;
	}
	#online .flow_list .flow_box .color_box {
		max-width: 768px;
		width: 96%;
		background-color: #eaf6fd;
		padding: 20px 22px 20px;
		margin: 0 auto 30px;
		box-sizing: border-box;
	}
	#online .flow_list .flow_box .color_box p {
		margin: 0;
		font-size: 17px;
		line-height: 1.8;
		letter-spacing: 0;
	}
	#online .download_btn {
		display: block;
		max-width: 320px;
		width: 100%;
		height: 45px;
		margin: 0 auto 30px;
	}
	#online .txt_box02 {
		max-width: 768px;
		width: 96%;
		margin: 0 auto 50px;
	}
	#online .txt_box02 p {
		margin: 0 0 50px;
		font-size: 17px;
		font-weight: 500;
		line-height: 1.8;
		letter-spacing: 0em;
		text-align: left;
		color: #333333;
	}
	#online .txt_box02 p.red {
		font-weight: 700;
		color: #ff0030;
	}
	#online .txt_box03 {
		width: 100%;
		border: solid 2px #81aed6;
		margin-bottom: 70px;
		padding: 10px 180px 10px 20px;
		background: #eaf6fd url(../../img/online/img07.png) no-repeat 98% 100% /18.125% auto;
	}
	#online .txt_box03 p {
		font-size: 16px;
		font-weight: 500;
		line-height: 1.8;
		letter-spacing: 0em;
		text-align: left;
	}
	#online #contact_01 {
		width: 100%;
	}
	/* ===== 追加 2021.09.22 ===== */
	.page-banner__link img {
		width: 100%;
		height: auto;
	}
	#home .top-banner__list {
		display: flex;
		flex-wrap: wrap;
		margin-top: -13px;
		margin-right: -13px;
		padding-top: 20px;
		padding-left: 0;
	}
	#home .top-banner__item {
		float: none;
		padding-right: 0;
		padding-bottom: 0;
		margin-top: 13px;
		margin-right: 13px;
	}
	.sdgs-contents {
		margin-top: 40px;
	}
	.sdgs-contents:first-child {
		margin-top: 0px;
	}
	.sdgs-contents:last-of-type {
		margin-bottom: 50px;
	}
	.sdgs_textLarge {
		font-size: 17px;
		font-weight: 500;
		line-height: 1.53;
		letter-spacing: 0.02em;
		color: #000;
	}
	.sdgs_text {
		margin-top: 20px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.86;
		letter-spacing: 0.02em;
		text-align: left;
		color: #000;
	}
	.sdgs_image {
		display: flex;
		justify-content: center;
		margin-top: 30px;
	}
	.mediaBox {
		display: flex;
	}
	.mediaBox__textArea {
		padding-right: 36px;
	}
	.mediaBox__text {
		margin-top: 1.5em;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.86;
		letter-spacing: 0.02em;
		color: #000;
	}
	.mediaBox__text:first-child {
		margin-top: 0em;
	}
	.mediaBox--imageRight .mediaBox_image {
		margin-left: auto;
	}

	/* =====販売商品の推奨方針  ===== */
	.policy-tbl td {
		border: none;
	}
}
