@charset "UTF-8";

/************************************
** 全ページ共通
************************************/

a {
  text-decoration:underline;
  color: #000000;
}

a:hover {
  text-decoration: none;
  opacity: 0.8;
}

a:hover img {
  text-decoration: none;
  opacity: 0.8;
}
main {
	text-align: justify;
}
main img {
  max-width: 100%;
  height: auto;
}
.navbar-brand {
  text-decoration: none;
  font-weight: bold;
}
.table th, .table td {
line-height: 2rem;
}
.container {
	padding:60px 10px;
}


/* ====== TOTOP ====== */
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 80%;
}
#page-top a {
  background: #666;
  text-decoration: none;
  color: #fff;
  width: 100px;
  padding: 25px 0;
  text-align: center;
  display: block;
  border-radius: 10px;
  opacity: 0.5;
}
#page-top a:hover {
  text-decoration: none;
  background: #999;
}

/* ====== FOOTER ====== */
footer {
	background-color:#f8f9fa;
}
footer .footer-logo {
  width: 10%;
	margin: 0 20px 0 0;
}
footer span {
	font-size: 0.8rem;
}
footer .text {
	font-size:0.8rem;
	padding: 5px 0;
}
footer .text a {
	display: inline-block;
	padding: 0 3px;
}



/************************************
** トップページ
************************************/

header img {
  width:15%;
  padding-right: 20px;
}

.header-container{
	width: 100%;
	height: 650px;
	margin: 0 auto;
	background-image: url("../img/top.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position:relative;
	background-color:rgba(255,255,255,0.9);
	background-blend-mode: lighten;
}

.header-container .header-text {
	position: absolute;
	top:50%;
	left: 50%;
	margin: auto;
	transform: translate(-50%,-50%);
	font-size: 1.3rem;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", sans-serif;
}
.header-container .header-text span {
	font-size: 2.6rem;
	font-weight: bold;
	display: inline-block;
	padding: 0 0 50px 0;
}

.btn a {
	color: #FFFFFF;
	text-decoration: none;
}
.service {
    position: relative;
    margin: 2em 0;
    padding: 1.5em 1em;
    border: solid 2px #EBF3B0;
    border-radius: 8px;
}
.service .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #000000;
    font-weight: bold;
}
.service p {
    margin: 0;
    padding: 0;
}
.gyomu {
	font-size: 19px;
	font-weight: bold;
	border-bottom: 2px solid #EBF3B0;
	padding-bottom: 10px;
}
.sinrai {
	max-width:800px;
}
.sinrai .title-t {
	font-size: 2.5rem;
	font-weight: bold;
	display: inline-block;
	margin: 50px 0 20px 0;
}

/*　新着情報　*/
.btn.btn-news {
	background-color: #325A8C;
	color: #FFFFFF;
}
.btn.btn-voice {
	background-color: #448c32;
	color: #FFFFFF;
}
.topics dt {
	padding-bottom: 10px;
}
.topics dt .category {
	margin-left: 10px;
	color: #FFFFFF;
	background-color: #325A8C;
	font-weight: normal;
	font-size: 0.8rem;
	padding: 3px 5px;
	border-radius: 5px;
}

.topics dt .category.category--voice {
	background-color: #448c32;
}

.topics dd {
	border-bottom: 1px solid #EBF3B0;
	padding-bottom: 10px;
}
.ttl {
    font-weight: bold;
    text-align: center;
	font-size: 1.5rem;
}

/************************************
** 勧誘方針と個人情報保護方針(policy)
************************************/

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #325A8C;
  display: block;
  order: -1;
}
.tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-content h2 {
	font-size:1.3rem;
	text-align: center;
	padding: 30px 0 0 0;
}

.tab-switch:checked+.tab-label {
  background: #325A8C;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 40px;
  opacity: 1;
  transition: .5s opacity;
}
.tab-switch {
  display: none;
}
.tab-switch:checked+.tab-label:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-top-color: #325a8c;
    border-width: 14px;
    margin-left: -14px;
}
.tab-switch:checked+.tab-label {
    background: #325A8C;
    position: relative;
}

.policy {
	line-height:25px;
	padding:0 40px;
}
.policy p {
	margin:20px 0 0 0;
}
.policy .indent {
	text-indent:-2.5em;
	padding-left:2.5em;
}
.policy .indent_s {
	text-indent:-1em;
	padding-left:0em;
}
.policy  ol {
	padding:20px 0 20px 40px;
}
.policy ol li {
	list-style:outside decimal;
    line-height: 160%;
    padding: 10px 0 0 0;
}
.policy ol.noli {
	padding:20px 0 0 0;
}
.policy ol.noli li {
    list-style: none!important;
}
.policy ol.noli li.indent {
    padding: 0 0 0 26px;
}


/************************************
** お客様本位の業務運営方針(operation)
************************************/

.operation .main_title {
	font-size: 1.5rem;
	text-align: center;
	background-color:#C6C6C6;
	color: #FFF;
	padding:1rem 0;
}
.operation .card-body {
	height: 280px;
	border: 1px solid #f3f3f3;
	font-size: 0.9rem;
}
.operation .card-title {
	font-size: 1.0rem;
}
.operation .hyou table tr td {
	text-align: center;
	border: 1px solid #8A8A8A;
	padding: 0 1rem;
}

/****古いテーブル***********************

.operation .table thead tr {
	font-size: 1.4rem;
	background-color:#f8f9fa;
	font-weight: bold;
}
.operation .table tbody tr th {
	font-weight:normal;
	min-width:560px;
	padding-bottom: 40px;
}
.operation .table tbody tr th span {
	font-weight: bold;
	font-size:1.1rem;
}
.operation .table tbody tr td {
	font-weight:normal;
	min-width:560px;
}
*************************************/



/************************************
** 保険商品の推進販売方針(salepolicy)
************************************/

.salepolicy .table th{
	font-weight:bold;
	background-color:#f8f9fa;
}



/************************************
** 会社概要(company)
************************************/

.philosophy{
	margin-bottom: 50px;
}
.philosophy h2 {
	margin: 30px 0;
	border-bottom: 1px solid #ddd;
}
.philosophy .p1 {
	color:#648BD9;
	text-align: center;
	font-size:2rem;
	margin-bottom: 50px;
}
.philosophy .p2 {
	font-size:1.3rem;
}
.company dt{
    padding: 15px 0 15px 15px;
    border-top: 1px solid #ddd;
    line-height: 2.18;
    font-size: 1rem;
	background-color:#f8f9fa;
}
.company dd{
    padding: 15px 0 15px 15px;
    border-top: 1px solid #ddd;
    line-height: 2.18;
    font-size: 1rem;
}



/************************************
** ほけんのお申込み(insurance)
************************************/

.insurance .anchor {
	margin-bottom: 100px;
}
.insurance .anchor a {
	color:#000000;
}
.insurance .anchor a .fas::before {
	display:inline-block;
	padding-right:10px;
}
.insurance h1 {
	font-weight: bold;
	display: inline-block;
	max-width: 300px;
	padding-bottom: 20px;
	margin-bottom: 50px;
	border-bottom: 5px solid;
}
/*
.insurance P{
	font-size: 1.3rem;
	margin-bottom: 30px;
}
*/

.insurance h2 {
	color:#BD1B21;
	font-weight: bold;
}
.insurance h2 .fas::before {
	display:inline-block;
	padding-right:10px;
}

.insurance h3 {
	font-size:1.5rem;
	padding: 15px 10px 15px 20px;
	color: #FFFFFF;
	background-color: #325A8C;
}
.insurance h3 span {
	font-size: 0.9rem;
}
/*
.insurance .banner {
	border: solid 1px #DFDFDF;
	background-color:#FFFFFF;
	display: flex;
	justify-content: center;
    align-items: center;
}
*/

.banner img {
	border: solid 1px #F5F5F5;

}

/************************************
** 緊急時のご連絡(emergency)
************************************/

.emergency_tel_ti {
	font-size: 1.5rem;
	border: solid 1px #F5F5F5;
	background-color: #BD3133;
	color:#FFF;
	text-align: center;
	margin: 0 0 50px 0;
	padding: 10px;
}
.line {
	background-color: #29B331!important;
}

.emergency_tel_sub {
	font-size: 1.2rem;
	text-align: center;
	padding: 10px;
	margin: 0 0 50px 0;
	border: solid 1px #F5F5F5;
}
.emergency_tel_sub span {
	font-size: 2rem;
	font-weight: bold;
}


/************************************
** お問い合わせ(contact)
************************************/

.contact .contact-form-wrapper {
	max-width: 900px;
	margin: 0 auto;
}

.contact table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 30px;
	border-bottom: 1px solid #ddd;
}

.contact table th,
.contact table td {
	padding: 15px;
	border-top: 1px solid #ddd;
	line-height: 2.18;
	font-size: 1rem;
	vertical-align: middle;
}

.contact table th {
	background-color: #f8f9fa;
	font-weight: bold;
	width: 25%;
}

.contact table td {
	width: 75%;
}

.contact input[type="text"],
.contact input[type="email"],
.contact input[type="tel"],
.contact textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	font-size: 1rem;
	box-sizing: border-box;
}

.contact textarea {
	min-height: 150px;
	resize: vertical;
}

.contact .wpcf7-checkbox {
	margin: 0;
}

.contact .wpcf7-list-item {
	margin: 0;
}

.contact .wpcf7-required {
	color: #BD3133;
}

.contact .policy-link a {
	color: #325A8C;
	text-decoration: underline;
}

.contact .wpcf7-submit {
	background-color: #325A8C;
	color: #fff;
	padding: 15px 50px;
	border: none;
	font-size: 1rem;
	cursor: pointer;
	display: block;
	margin: 0 auto;
}

.contact .wpcf7-submit:hover {
	background-color: #2a4a75;
	opacity: 0.9;
}

.contact .wpcf7-not-valid-tip {
	color: #BD3133;
	font-size: 0.9rem;
	display: block;
	margin-top: 5px;
}

.contact .wpcf7-response-output {
	margin: 20px 0;
	padding: 15px;
	border-radius: 4px;
}

.contact .wpcf7-validation-errors {
	color: #BD3133;
	border: 2px solid #BD3133;
	background-color: #fff5f5;
}

.contact .wpcf7-mail-sent-ok {
	color: #29B331;
	border: 2px solid #29B331;
	background-color: #f0fff4;
}


/* =============================================
メディアクエリ
============================================= */

/* 大デバイス（デスクトップ, 1200px 未満）
==============================================*/
@media screen and (max-width: 1199.98px) {
  .herounit h1 {
    margin-top: 10rem;
  }
}

/* END */
/* 中デバイス（タブレット, 992px 未満）
==============================================*/
@media screen and (max-width: 991.98px) {
  .container {
    max-width: 740px;

  }
}

/* END */
/* 小デバイス（横向きモバイル, 768px 未満）
==============================================*/
@media screen and (max-width: 767.98px) {


/*　共通ページ　*/

  h1 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
}
  h2 {
	font-size: 1.5rem;
}
  h5 {
	line-height: 1.4;
}

　header img {
   width:25%;
   padding-right: 20px;
}
  header a {
	color: #000000;
	width: 100%;
	text-decoration: none;
	}
  header a:hover {
	color: #000000;
    background-color:#F3FFE4;
	}
  header .navbar-brand {
    width: 70%;
  }
  header .navbar-nav {
	text-align: center;
    border-top: 1px solid #fff;
  }
.header-container{
	height: 210px;
	background-position:left;
}

.header-container .header-text {
	position: absolute;
    right: 0px;
    top: 100px;
	font-size: 0.9rem;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", sans-serif;
}
.header-container .header-text span {
	font-size: 1.1rem;
	padding: 0 0 20px 0;
}
/*　トップページ　*/
.sinrai .title-t {
	font-size: 1.5rem;
	font-weight: bold;
	display: inline-block;
	margin: 20px 0;
}
.sinrai img {
	width:30%;
}
/*　新着情報　*/
.topics dl {
	padding: 5px 0;
}
.topics dt {
	padding-bottom: 5px;
}
.topics dl dt dd {
	border-bottom: solid 1px #EBF3B0;
}
.ttl {
	padding-top: 30px;
	font-size: 1.5rem;
}


/*　お客様本位の業務運営方針　*/
.operation .hyou table tr td {
	padding: 0 0.4rem;
}


/*　勧誘方針と個人情報保護方針　*/

.tab-switch:checked+.tab-label+.tab-content {
  padding: 20px;
}
.policy {
    padding: 0;
}
.policy ol {
    padding: 20px 0 20px 10px;
}
.policy .indent {
	text-indent:0em;
	padding-left:0em;
}

/*　会社概要　*/
.philosophy .p1 {
    font-size: 1.3rem;
	margin-bottom:30px;
}
.philosophy .p2 {
    font-size: 1.0rem;
}
/*取扱い保険*/
header img {
    width: 25%;
}
.insurance h3 {
    font-size: 1.2rem;
    padding: 5px 10px;
    color: #FFFFFF;
    background-color: #325A8C;
}
.insurance P{
	font-size: 1rem;
}
.emergency {
	margin: 10px;
}
.emergency_tel_ti {
	margin:0;
}
.operation .card-body {
	height: inherit;
}
.pc {
	display: none;/*operationの最後のborder*/
}
.container{
	padding: 30px 10px;
}

/*　お問い合わせ　*/
.contact table th,
.contact table td {
	display: block;
	width: 100%;
	padding: 10px 15px;
}

.contact table th {
	background-color: #f8f9fa;
	font-weight: bold;
	border-bottom: none;
}

.contact table td {
	border-top: none;
	padding-bottom: 20px;
}

}


/* END */
/* 極小デバイス（縦向きモバイル, 576px 未満）
==============================================*/
@media screen and (max-width: 575.98px) {
  .display-3 {
    line-height: 0.8em;
  }
  .display-4 {
    font-size: 2rem;
    line-height: 1.2;
  }

}

/************************************
** ページャー（投稿一覧ページ）
************************************/

.post-pagination {
	margin: 3em 0 2em;
	text-align: center;
}

.post-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 0.5em;
	flex-wrap: wrap;
}

.post-pagination .page-numbers li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post-pagination .page-numbers a,
.post-pagination .page-numbers span {
	display: inline-block;
	min-width: 2.5em;
	height: 2.5em;
	line-height: 2.5em;
	padding: 0 0.75em;
	text-align: center;
	text-decoration: none;
	border: 1px solid #ddd;
	border-radius: 4px;
	color: #325A8C;
	background-color: #fff;
	transition: all 0.3s;
	font-weight: normal;
}

.post-pagination .page-numbers a:hover {
	background-color: #325A8C;
	color: #fff;
	border-color: #325A8C;
	text-decoration: none;
	opacity: 1;
}

.post-pagination .page-numbers .current {
	background-color: #325A8C;
	color: #fff;
	border-color: #325A8C;
	font-weight: bold;
	cursor: default;
}

.post-pagination .page-numbers .dots {
	border: none;
	background-color: transparent;
	color: #666;
	cursor: default;
	padding: 0 0.25em;
	min-width: auto;
}

.post-pagination .page-numbers .dots:hover {
	background-color: transparent;
	color: #666;
	border: none;
}

.post-pagination .page-numbers .prev,
.post-pagination .page-numbers .next {
	font-weight: bold;
}

.post-pagination .page-numbers .prev a,
.post-pagination .page-numbers .next a {
	min-width: auto;
	padding: 0 1em;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767.98px) {
	.post-pagination {
		margin: 2em 0 1.5em;
	}

	.post-pagination .page-numbers {
		gap: 0.25em;
	}

	.post-pagination .page-numbers a,
	.post-pagination .page-numbers span {
		min-width: 2em;
		height: 2em;
		line-height: 2em;
		padding: 0 0.5em;
		font-size: 0.9em;
	}

	.post-pagination .page-numbers .prev a,
	.post-pagination .page-numbers .next a {
		padding: 0 0.75em;
	}
}

/* END */