@charset "UTF-8";
html {
  font-size: 62.5%;
}

*,*::before,*::after {
  box-sizing: border-box;
}

:root {
	--noto-font:  "Noto Sans JP", sans-serif;
  --notoserif-font:  "Noto Serif JP", serif;
  --mont-font:  "Montserrat", serif;
}

body {
  margin: 0;
  font-family: var(--noto-font);
  font-size: 1.6rem;
  color: #1a1a1a;
}

a:link, a:visited, a:hover, a:active {
  text-decoration: none;
  color: inherit;
}

a{
  display: block;
}

img{
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}

h1, h2, h3, h4, h5 {
  font-weight: normal;
  font-size: inherit;
  margin: 0;
}

ol, ul {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
  height: 80px;
}

.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 95%;
  height: 100%;
  margin: 0 auto;
}

.top_header .logo {
  font-size: 2.4rem;
  color: #fff;
  font-weight: 700;
  font-family: var(--notoserif-font);
}

.top_header.change-color {
  background-color: #fff;
}

.top_header.change-color .logo,header .logo {
  color: #1a1a1a;
}

/* .top_header.middle-color .logo,header .logo,.top_header.footer-color .logo,header .logo {
  color: #fff;
} */

.toggle {
  display: none;
}

.gnav_sp {
  display: none;
}

.gnav_pc, .gnav_pc ul {
  display: flex;
  align-items: center;
}

.top_header .gnav_pc ul {
  column-gap: 45px;
  font-size: 1.4rem;
  color: #fff;
}

.top_header .gnav_pc ul li a {
  transition: 0.3s;
}

.top_header .gnav_pc ul li a:hover {
  opacity: 0.5;
}

.top_header.change-color .gnav_pc ul,header .gnav_pc ul {
  color: #1a1a1a;
}

/* .top_header.middle-color .gnav_pc ul,header .gnav_pc ul,.top_header.footer-color .gnav_pc ul,header .gnav_pc ul {
  color: #fff;
} */

.nav_contact_btn a {
  background: #fff;
  border: 1px solid transparent;
  width: 130px;
  line-height: 1;
  padding: 10px;
  border-radius: 20px;
  color: #003cb3;
  font-size: 1.4rem;
  font-weight: 500;
  margin-left: 45px;
  text-align: center;
  transition: .3s;
}

.nav_contact_btn a:hover {
  background: #003cb3;
  color: #fff;
}

.top_header.change-color .nav_contact_btn a,header .nav_contact_btn a {
  background: #003cb3;
  color: #fff;
  border: 1px solid #003cb3;
}

.top_header.change-color .nav_contact_btn a:hover,
header .nav_contact_btn a:hover {
  background: #fff;
  color: #003cb3;
  border: 1px solid #003cb3;
}

.mv {
  background: url(img/mv_bg.jpg) no-repeat center / cover;
  /* padding: 50px; */
  /* height: 100vh; */
  padding: 120px 50px 50px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 8%;
}

.mv::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #0e6cdd, #0ea0dd);
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.mv_txt {
  color: #fff;
  position: relative;
  z-index: 3;
  width: 48%;
}

.mv_txt_en {
  font-size: 1.6rem;
  font-family: var(--mont-font);
}

.mv_txt_title {
  font-size: 5rem;
  line-height: 1.5;
  font-weight: 700;
  margin-top: 25px;
}

.mv_txt_p {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.75;
  position: relative;
  margin-top: 15px;
  padding-top: 75px;
}

.mv_txt_p::before {
  content: "";
  display: block;
  width: 8px;
  height: 48px;
  background-image: url(img/mv_txt_mark.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
}

.mv_txt .footer_hoken-com_img_wrap {
  margin-top: 50px;
  width: 90%;
  max-width: 700px;
}

.mv_slider_wrap {
  width: 44%;
  max-width: 700px;
  position: relative;
  z-index: 3;
  overflow: hidden;
}

.slider1 {
  position: relative;
  padding-bottom: 45px;
}

.slider1 .swiper-slide img {
  border-radius: 30px;
}

.swiper-pagination1 {
  bottom: 0;
  text-align: left;
}

.swiper-pagination1 .swiper-pagination-bullet {
  width: 50px;
  height: 4px;
  border-radius: 0;
  opacity: 1;
  background: #fff;
}

.swiper-pagination1 .swiper-pagination-bullet-active {
  background: #7ebef2;
}

.inner {
  max-width: 1250px;
  padding: 0 25px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.top_about-us {
  padding: 90px 0;
}

.top_about-us .inner {
  max-width: 1616px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top_about-us_img_wrap {
  width: 22.35%;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 86px;
}

.top_about-us_img img {
  border-radius: 30px;
}

.top_about-us_img.big {
  width: 100%;
}

.top_about-us_img.small {
  width: 71.43%;
}

.top_about-us_txt_wrap {
  text-align: center;
}

.heading_h2 span {
  position: relative;
  padding-left: 30px;
  font-family: var(--mont-font);
  font-weight: 600;
  font-size: 1.6rem;
  color: #003cb3;
}

.heading_h2 span:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(img/heading_circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.heading_h2 h2 {
  font-weight: 700;
  font-size: 4rem;
  padding-top: 20px;
}

.top_about-us_txt_wrap .heading_h2 h2 {
  font-size: 3.2rem;
}

.top_about-us_h2_br {
  display: none;
}

.top_about-us_txt_wrap p {
  line-height: 2.5;
  letter-spacing: 0.1em;
  margin-top: 50px;
}

.button_link {
  border: 1px solid #0ea0dd;
  color: #0ea0dd !important;
  position: relative;
  transition-duration: .4s;
  padding: 16px 0;
  line-height: 1;
  width: 200px;
  text-align: center;
  border-radius: 25px;
  font-size: 1.4rem;
}

.button_link:hover {
  background: #0ea0dd;
  color: #fff !important;
}

.icon_arrow{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background-size: contain;
	z-index: 2;
	width: 14px;
	height: 10.5px;
	background: url(img/icon_arrow.svg) no-repeat center/contain;
}

.button_link:hover .icon_arrow{
	animation: arrow_move .3s ease-out 1 normal forwards;
	background: url(img/icon_arrow_white.svg) no-repeat center/contain;
}

.privacy_content_p_wrap h5 {
  font-weight: 700;
  margin-bottom: 9px;
}

.privacy_content ol {
  list-style: decimal;
  margin-left: 1.6rem;
  display: grid;
  row-gap: 20px;
}

@keyframes arrow_move {
	0% {
		right: 40px;
		opacity: 0;
	}

	100% {
		right: 20px;
		opacity: 1;
	}
}

.button_link .icon_arrow{
	animation: arrow_move_back .3s ease-out 1 normal forwards;
}

@keyframes arrow_move_back {
	0% {
		right: 0;
		opacity: 0;
	}

	100% {
		right: 20px;
	}
}

.top_about-us_txt_wrap .button_link {
  margin: 50px auto 0;
}

.top_normal_section {
  padding: 110px 0;
  border-radius: 80px 80px 0 0;
}

.top_service {
  background-color: #f2f5fb;
}

.top_service_p_wrap {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 48px;
}

.top_service_p {
  letter-spacing: 0.05em;
}

.top_service_content {
  position: relative;
}

.top_service_content::after {
  content: '';
  display: block;
  width: 100%;
  height: 220px;
  background: #003cb3;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.top_service_card_wrap {
  margin-top: 70px;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.top_service_card {
  border-radius: 30px;
  width: 46%;
  height: 360px;
  padding: 0 5.4%;
  box-shadow: 7px 7px 5px rgba(0,0,0,0.5);
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: .5s;
}

.top_service_card.individual {
  background: url(img/service1.jpg) center center / cover no-repeat;
}

.top_service_card.corporate {
  background: url(img/service2.jpg) center center / cover no-repeat;
}

.top_service_card:hover {
  transform: scale(1.05);
}

.top_service_card::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #0e6cdd, #0ea0dd);
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.top_service_card_inner {
  height: 360px;
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: auto 70px;
  column-gap: 15px;
  align-items: center;
  justify-content: space-between;
}

.top_service_card_txt {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.top_service_card_txt_detail {
  margin-top: 10px;
  font-size: 1.4rem;
  color: #fff;
}

.inline-block {
  display: inline-block;
}

.circle_arrow {
  width: 70px;
  height: 70px;
  border: 1px solid #fff;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}

.circle_arrow .icon_arrow{
	right: auto;
  left: 50%;
  transform: translate(-50%,-50%);
	width: 21.5px;
	height: 16px;
	background: url(img/icon_arrow_white.svg) no-repeat center/contain;
}

.top_service_card:hover .circle_arrow .icon_arrow,
.top_company_card:hover .circle_arrow .icon_arrow,
.contact_btn:hover .circle_arrow .icon_arrow,
.news_list a:hover .circle_arrow .icon_arrow {
	animation: circle_arrow_move .3s ease-out 1 normal forwards;
}

@keyframes circle_arrow_move {
	0% {
		left: calc(50% - 40px);
    transform: translate(-50%,-50%);
		opacity: 0;
	}

	100% {
		left: 50%;
    transform: translate(-50%,-50%);
		opacity: 1;
	}
}

.circle_arrow .icon_arrow {
	animation: circle_arrow_move_back .3s ease-out 1 normal forwards;
}

@keyframes circle_arrow_move_back {
	0% {
		left: calc(50% + 40px);
    transform: translate(-50%,-50%);
		opacity: 0;
	}

	100% {
		left: 50%;
    transform: translate(-50%,-50%);
	}
}

.white_bg {
  position: relative;
  background-color: #fff;
  width: 100%;
}

.white_bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f2f5fb;
  z-index: -1;
}

.faq_list {
  margin: 70px auto 0;
	display: grid;
	row-gap: 45px;
  max-width: 800px;
}

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
}

.fade-in-up.show {
  animation: fadeInUp 1s linear 1 normal forwards;
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.faq_list dl {
	border-radius: 20px;
	background: #fff;
  border: 1px solid #0ea0dd;
	box-shadow: 0 3px 15px rgba(16, 119, 155, .2);
  letter-spacing: 0.05em;
}

.q_area {
	position: relative;
	cursor: pointer;
	padding-top: 30px;
	padding-bottom: 30px;
	padding-right: 60px;
	padding-left: 86px;
  color: #0ea0dd;
}

.q_area::before, .a_area div::before {
	display: flex;
	width: 28px;
	height: 28px;
	font-family: var(--mont-font);
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	position: absolute;
	font-size: 1.6rem;
}

.q_area::before {
	content: 'Q';
	background: #0ea0dd;
	border: 1px solid #0ea0dd;
	color: #fff;
	top: 27px;
	left: 38px;
}

.plus_icon {
	width: 15px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 38px;
	transform: translateY(-50%);
}

.plus_icon::before,
.plus_icon::after {
	content: '';
	display: inline-block;
	background: #0ea0dd;
	position: absolute;
}

.plus_icon::before {
	width: 100%;
	height: 1px;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
}

.plus_icon::after {
	width: 1px;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.q_area.open .plus_icon::after{
	opacity: 0;
	transform: scale(0);
}

.a_area {
	display: none;
	padding: 30px 0;
	position: relative;
}

.a_area::after {
	content: '';
	width: calc(100% - 76px);
	border-top: 1px solid #ddd;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
}

.a_area div {
	position: relative;
	padding: 0 38px 0 86px;
  letter-spacing: 0.05em;
  line-height: 1.75;
}

.a_area div::before {
	content: 'A';
	background: #fff;
	border: 1px solid #0ea0dd;
	color: #0ea0dd;
	top: 0;
	left: 38px;
}

.faq_bottom_p {
  margin-top: 90px;
  letter-spacing: 0.05em;
  line-height: 1.75;
  text-align: center;
}

.button_link.faq {
  margin: 40px auto 0;
}

.slide_wrap {
  overflow: hidden;
}

.slider2 .swiper-wrapper {
  transition-timing-function: linear;
}

.top_company_section {
  background-color: #f2f5fb;
  padding: 80px 0;
}

.top_company_section_deco {
  position: relative;
  overflow: hidden;
}

.top_company_section_deco::before {
  position: absolute;
  border-radius: 0 80px 80px 0;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  max-width: 1660px;
  height: 100%;
  background-color: #003cb3;
}

.top_company_section .inner {
  display: flex;
  justify-content: space-between;
  padding: 110px 25px;
  color: #fff;
}

.top_company_section .heading_h2 span {
  color: #fff;
}

.top_company_card_wrap {
  display: flex;
  justify-content: space-between;
  width: 70%;
}

.top_company_card {
  border-radius: 30px;
  background: linear-gradient(135deg, #0e6cdd, #0ea0dd);
  position: relative;
  width: 48%;
  height: 200px;
  padding: 0 4% 0 9.3%;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.5);
  transition: .5s;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top_company_card:hover {
  transform: scale(1.05);
}

.top_company_card::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 8.25%;
  content: "";
  width: 90px;
  height: 120px;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.2;
}

.top_company_card.com_pro::before {
  background-image: url(img/company_icon1.svg);
}

.top_company_card.com_acc::before {
  background-image: url(img/company_icon2.svg);
}

.top_company_card_txt span {
  font-size: 1.6rem;
  font-family: var(--mont-font);
  font-weight: 600;
  opacity: 0.7;
  line-height: 1;
}

.top_company_card_txt h3 {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 10px;
}

.top_news_section .inner {
  display: flex;
  justify-content: space-between;
}

.button_link.sp_top_news {
  display: none;
}

.button_link.pc_top_news {
  display: block;
  margin-top: 55px;
}

.top_news_section .news_list {
  width: 70%;
}

.news_list a {
  position: relative;
}

.news_list dl {
  padding: 30px 70px 30px 30px;
  border-bottom: 1px solid #ddd;
  display: grid;
  row-gap: 20px;
}

.news_list dl dt , .news_article_time_wrap {
  display: flex;
  align-items: center;
  column-gap: 10px;
  line-height: 1;
}

.news_list dl dt time , .news_article_time_wrap time {
  font-size: 1.2rem;
  font-family: var(--mont-font);
  font-weight: 500;
}

.news_list dl dt .news_category , .news_article_time_wrap .news_category {
  font-size: 1.2rem;
  color: #fff;
  padding: 6px 10px;
  border-radius: 12px;
  background-color: #0ea0dd;
}

.news_list dl dd {
  letter-spacing: 0.05em;
  transition: 0.3s;
}

.news_list a:hover dl dd {
  color: #0ea0dd;
}

.news_list a .circle_arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 35px;
  height: 35px;
  border: 1px solid #0ea0dd;
}

.news_list a .circle_arrow .icon_arrow {
  width: 14px;
  height: 10.5px;
  background: url(img/icon_arrow.svg) no-repeat center / contain;
}

.top_contact_section {
  background: url(img/contact_bg.jpg) no-repeat center / cover;
  color: #fff;
  border-radius: 0;
  position: relative;
  width: 100%;
}

.top_contact_section::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #003cb3;
  opacity: 0.7;
  position: absolute;
  top: 0;
  left: 0;
}

.top_contact_section .inner {
  display: flex;
  justify-content: space-between;
}

.top_contact_section .heading_h2 span {
  color: #fff;
}

.top_contact_p {
  margin-top: 40px;
}

.top_contact_section .contact_btn_wrap {
  width: 70%;
  display: grid;
  row-gap: 40px;
}

.contact_btn {
  border-radius: 30px;
  background: linear-gradient(135deg, #0e6cdd, #0ea0dd);
  position: relative;
  padding: 0 4.3% 0 22.6%;
  height: 200px;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.5);
  transition: .5s;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.contact_btn:hover {
  transform: scale(1.05);
}

.contact_btn::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 6.43%;
  content: "";
  width: 90px;
  height: 90px;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.2;
}

.contact_btn.tel::before {
  background-image: url(img/tel_icon.svg);
}

.contact_btn.mail::before {
  background-image: url(img/mail_icon.svg);
}

.contact_btn_txt {
  letter-spacing: 0.05em;
}

.contact_btn_txt .contact_type {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 25px;
  line-height: 1;
}

.contact_btn_txt .contact_type span {
  font-size: 1.6rem;
}

.contact_btn_txt .tel_number {
  font-size: 4.3rem;
  font-family: var(--mont-font);
  font-weight: 600;
  line-height: 1;
}

.contact_btn_txt .tel_time {
  font-size: 1.2rem;
  margin-top: 15px;
}

.contact_btn_txt .to_contact-form {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1;
}

.free-dial {
  position: relative;
  padding-left: 60px;
}

.free-dial:before {
  content: '';
  display: block;
  width: 50px;
  height: 33px;
  background-image: url(img/free-dial.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

footer {
	padding: 110px 0;
	position: relative;
  background: #222;
  color: #fff;
}

.footer_hoken-com_wrap {
  display: flex;
  align-items: center;
  column-gap: 7.5%;
}

.footer_hoken-com_txt {
  font-size: 1.4rem;
}

.footer_hoken-com_img_wrap {
  width: 70%;
  display: flex;
  align-items: center;
  column-gap: 2.3%;
}

.footer_hoken-com_img {
  width: 48.3%;
}

.footer_inner {
  margin: 110px auto 50px;
  padding-bottom: 100px;
  border-bottom: 1px solid #fff;
}

.f_logo {
	font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 30px;
  font-family: var(--notoserif-font);
}

.footer_col2_pc {
	display: flex;
  justify-content: space-between;
}

.footer_company-info {
  font-size: 1.5rem;
	line-height: 2;
}

.footer_company-info a {
  display: inline-block;
}

.footer_nav {
  display: flex;
  column-gap: 65px;
}

.footer_nav ul {
	display: grid;
  row-gap: 25px;
  align-self: flex-start;
  width: 200px;
  font-size: 1.5rem;
}

.footer_nav ul li a {
  display: inline-block;
  max-width: 200px;
  width: 100%;
  background: url(img/nav_arrow_white.svg) no-repeat right 6px center / 6px;
  transition: .3s;
}

.footer_nav ul li a:hover {
	opacity: 0.5;
}

.copy-right {
  text-align: right;
	font-family: var(--mont-font);
  font-weight: 500;
}

.pc_br {
  display: block;
}

.sp_br {
  display: none;
}

/* 勧誘方針ページ */

.sub-page_hero {
  background: url(img/mv_bg.jpg) no-repeat center / cover;
  height: 430px;
  position: relative;
}

.sub-page_hero::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #0e6cdd, #0ea0dd);
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
}

.sub-page_hero_inner {
  max-width: 1550px;
  height: 100%;
  padding: 0 25px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.sub-page_hero .heading_h2 {
  position: absolute;
  left: 25px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
}

.sub-page_hero .heading_h2 span {
  color: #fff;
}

.sub-page_hero .heading_h2 span:before {
  background-image: url(img/heading_circle_gray.svg);
}

.sub_normal_section {
  padding: 110px 0;
}

.policy_inner {
  max-width: 1050px;
  padding: 0 25px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.sub-page_h3 {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  padding-bottom: 35px;
  letter-spacing: 0.05em;
  margin-bottom: 90px;
}

.sub-page_h3::after {
  content: '';
  display: block;
  width: 80px;
  height: 5px;
  background: #003cb3;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.policy_content_wrap {
  letter-spacing: 0.05em;
}

.policy_content_wrap:not(:first-child) {
  margin-top: 90px;
}

.solicitation_bar {
  background: linear-gradient(135deg, #0e6cdd, #0ea0dd);
  border-radius: 63px;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  max-width: 840px;
  margin: 0 auto;
  padding: 24px 20px;
}

.heading_h2 span {
  position: relative;
  padding-left: 30px;
  font-family: var(--mont-font);
  font-weight: 600;
  font-size: 1.6rem;
  color: #003cb3;
}

.privacy_content:first-child {
  margin-top: 70px;
}

.privacy_content:not(:first-child) {
  margin-top: 65px;
}

.privacy_content h4 {
  font-size: 1.8rem;
  font-weight: 700;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 45px;
  letter-spacing: 0.05em;
}

.left_circle {
  position: relative;
  padding-left: 30px;
}

.left_circle:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(img/heading_circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 5px;
  left: 0;
}

.privacy_content ul,.privacy_content p,.privacy_content ol {
  line-height: 2;
}

.privacy_content ul {
  list-style: disc;
  margin-left: 1.6rem;
  display: grid;
  row-gap: 20px;
}

.policy_note {
  font-size: 1.4rem;
  position: relative;
  padding-left: 1.4rem;
  margin-top: 20px;
}

.policy_note::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}

/* プライバシーポリシーページ */

.sub-page_h3 span {
  font-size: 2.4rem;
}

.privacy_top_p {
  line-height: 2;
}

.privacy_top_p:not(:first-child) {
  margin-top: 30px;
}

.privacy_content_p_wrap {
  display: grid;
  row-gap: 30px;
}

.privacy_content_bold {
  font-weight: 700;
}

.privacy_content_link {
  color: #0ea0dd;
}

.privacy_content_link a {
  display: inline;
}

.gap_none_ul {
  row-gap: 0 !important;
}

.pp_gd_table ,
.pp_gd_table_2 {
  text-align: left;
  margin-top: -30px;
}

.pp_gd_table tbody ,
.pp_gd_table_2 tbody {
  vertical-align: top;
}

.pp_gd_table tbody th {
  width: 60px;
}

.pp_gd_table_2 tbody th {
  width: 210px;
}

.pp_gd_table tbody .first_td {
  width: 90px;
}

.pp_gd_table_2 tbody .first_td {
  width: 200px;
}

.pp_gd_table tbody a ,
.pp_gd_table_2 tbody a {
  display: inline-block;
  text-decoration: underline;
}

.at_mark::before {
  content: '@';
}

/* お問い合わせページ */

.sub-contact_top_p {
  text-align: center;
}

.contact_form {
  margin: 70px auto 0;
  max-width: 780px;
  letter-spacing: 0.1em;
}

.contact_form dl{
  margin-bottom: 40px;
}

.contact_form dt{
  padding-bottom: 14px;
  font-weight: 700;
}

.contact_form input, .contact_form textarea, .contact_form select {
  width: 100%;
  background: #f4f4f4;
  border-radius: 4px;
  padding: 16px 30px;
}

.contact_form .select1 {
  max-width: 250px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url(img/select_icon.svg);
  background-size: 15px;
  background-position: right 20px center;
  background-repeat: no-repeat;
  padding-right: 40px; /* アイコンのスペースを確保 */
}

::placeholder{
  color: #c5c5c5;
}

.contact_form .require{
  line-height: 1;
  color: #dc2b4a;
  font-size: 1.2rem;
  font-family: var(--biz-font);
  padding: 0 12px;
  border: 1px solid #dc2b4a;
  border-radius: 12px;
  margin-left: 8px;
}

.date_inner {
  display: flex;
  align-items: flex-start;
  column-gap: 16px;
  flex-wrap: wrap;
}

.date_wrap {
  width: 250px;
}

.contact_form .calender {
  padding: 16px 20px 16px 30px;
  line-height: 1;
}

.date-time_head {
  display: block;
  margin-bottom: 14px;
}

.time_flex {
  display: flex;
  align-items: flex-end;
  column-gap: 16px;
  flex-wrap: wrap;
}

.time_flexa_inner {
  display: flex;
  align-items: flex-end;
  column-gap: 10px;
}

.contact_form .time_flex_select {
  width: 110px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url(img/select_icon.svg);
  background-size: 15px;
  background-position: right 20px center;
  background-repeat: no-repeat;
  padding-right: 40px; /* アイコンのスペースを確保 */
}

.contact_form a{
  display: inline;
  text-decoration: underline;
}

.confirm_privacy {
  margin-top: 50px;
}

.check_privacy{
  text-align: center;
}

.contact_form input[type="checkbox"] {
  position: relative;
  width: 17px;
  height: 17px;
  border: 1px solid #acacac;
  vertical-align: -1px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  background: #f5f5f5;
  border-radius: 2px;
}

.contact_form input[type="checkbox"]:checked{
  background: #003cb3;
}

.contact_form input[type="checkbox"]:checked:before {
  position: absolute;
  top: 3px;
  left: 6px;
  transform: rotate(50deg);
  width: 4px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
}

.contact_form .check_span {
  padding-left: 10px;
}

.confirm_privacy_p{
  margin-top: 24px;
}

.contact_form .submit_btn {
  text-align: center;
}

.contact_form .submit_btn [type="submit"] {
  margin: 24px auto 0;
  background: #003cb3;
  border: 1px solid #003cb3;
  font-weight: 700;
  border-radius: 30px;
  height: 60px;
  text-align: center;
  line-height: 3.5;
  cursor: pointer;
  transition: 0.3s;
  width: 100%;
  max-width: 300px;
}

.contact_form .submit_btn:hover [type="submit"] {
  background: #fff;
  border: 1px solid #003cb3;
}

.contact_form [type="submit"] {
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}

.contact_form .submit_btn:hover [type="submit"] {
  color: #003cb3;
}

.contact_form .submit_note {
  margin-top: 30px;
}

.contact_form .submit_note li:first-child {
  padding-top: 0;
}

.contact_form .submit_note li {
  position: relative;
  padding-left: 20px;
  padding-top: 12px;
  font-size: 1.3rem;
  color: #acacac;
}

.contact_form .submit_note li::before {
  content: "※";
  position: absolute;
  left: 0;
}

/* 会社案内ページ */

.sub_inner_section:not(:first-child) {
  padding-top: 150px;
}

.message_wrap {
  display: flex;
  justify-content: space-between;
}

.message_wrap_img {
  width: 41%;
}

.message_wrap_img img {
  border-radius: 20px;
  height: auto;
}

.message_wrap_txt {
  width: 53%;
  line-height: 2;
  letter-spacing: 0.1em;
}

.message_wrap_txt p:not(:first-child) {
  margin-top: 15px;
}

.message_wrap_txt_strong {
  font-weight: 700;
}

.message_wrap_txt_name {
  text-align: right;
}

.company-overview_inner {
  max-width: 780px;
  padding: 0 25px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.company_dl_table dl {
  display: grid;
  grid-template-columns: 200px auto;
  padding: 30px 0;
  position: relative;
  letter-spacing: 0.1em;
}

.company_dl_table dl::before {
  content: '';
  display: inline-block;
  width: 200px;
  height: 0;
  border-bottom: 2px solid #a0a0a0;
  position: absolute;
  left: 0;
  bottom: 0;
}

.company_dl_table dl::after {
  content: '';
  display: inline-block;
  width: calc(100% - 200px);
  height: 0;
  border-bottom: 1px solid #ddd;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(-0.5px);
}

.company_dl_table dl dt {
  padding: 0 20px;
  font-weight: 700;
}

.company_dl_table dl dd {
  padding: 0 20px;
}

/* 私たちについてページ */

.sub-about-us_content_wrap {
  display: grid;
  row-gap: 80px;
}

.sub-about-us_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sub-about-us_content_img {
  width: 46%;
}

.sub-about-us_content_img img {
  border-radius: 30px;
}

.sub-about-us_content_txt {
  width: 42%;
}

.sub-about-us_content_txt h4 {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 40px;
}

.sub-about-us_content_txt h4::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(img/heading_circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 6px;
  left: 0px;
}

.sub-about-us_content_txt p {
  margin-top: 30px;
  line-height: 2;
  letter-spacing: 0.1em;
}

.sub-about-us_content:nth-child(even) {
  flex-direction: row-reverse;
}

/* お知らせ一覧ページ */

.news_inner {
  max-width: 890px;
  padding: 0 25px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.page_nav {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px;
}

.page-numbers , a.page-numbers {
  display: block;
  box-sizing: border-box;
  border-radius: 5px;
  text-decoration: none;
  line-height: 1;
  padding: 16px 0;
  box-sizing: border-box;
  color: #0ea0dd;
  width: 50px;
  background: #fff;
  border: 1px solid #0ea0dd;
  text-align: center;
  margin: 0 10px;
  font-size: 1.6rem;
  font-family: var(--mont-font);
  font-weight: 500;
  transition: 0.3s;
}

.page-numbers.dots {
  color: #0ea0dd;
  background: none;
  border: none;
  width: auto;
  font-family: var(--noto-font);
  font-weight: 700;
}

.page-numbers.current , a.page-numbers.current,
a.page-numbers:hover {
  background: #0ea0dd;
  color: #fff;
}

.prev.page-numbers, .next.page-numbers {
  position: relative;
}

.prev.page-numbers::before, .next.page-numbers::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  content: '';
  display: block;
  width: 14px;
  height: 10.5px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  background-image: url(img/icon_arrow.svg);
}

.prev.page-numbers:hover::before, .next.page-numbers:hover::before {
  background-image: url(img/icon_arrow_white.svg);
}

.prev.page-numbers::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

/* お知らせ詳細ページ */

.news_article_head h3 {
  margin-top: 20px;
  font-size: 3rem;
  letter-spacing: 0.05em;
  font-weight: 700;
}

.news_article_content {
  margin-top: 60px;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.news_article_content p:not(:first-child) {
  margin-top: 20px;
}

.button_link.news_detail {
  margin: 70px auto 0;
}

.button_link.news_detail .icon_arrow {
  right: auto;
  left: 20px;
  transform: translateY(-50%) rotate(180deg);
}


.button_link.news_detail:hover .icon_arrow{
	animation: arrow_move_rotate .3s ease-out 1 normal forwards;
	background: url(img/icon_arrow_white.svg) no-repeat center/contain;
}

@keyframes arrow_move_rotate {
	0% {
		left: 40px;
		opacity: 0;
	}

	100% {
		left: 20px;
		opacity: 1;
	}
}

.button_link.news_detail .icon_arrow{
	animation: arrow_move_rotate_back .3s ease-out 1 normal forwards;
}

@keyframes arrow_move_rotate_back {
	0% {
		left: 0;
		opacity: 0;
	}

	100% {
		left: 20px;
	}
}

/*リキャプチャ設定*/
.grecaptcha-badge { visibility: hidden; }


@media screen and (max-width: 1439px){

  .top_about-us_h2_br {
    display: block;
  }

}

@media screen and (max-width: 1023px){

  .gnav_pc{
    display: none;
  }

  .toggle {
    display: block;
    position: fixed;
    z-index: 50;
    width: 40px;
    height: 40px;
    top: 20px;
    right: 30px;
  }
  
  .toggle span {
    display: inline-block;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.6);
    position: absolute;
    right: 0;
    transition: .3s;
  }

  .toggle.change-color span {
    background: rgba(26, 26, 26, 0.4);
  }

  /* .toggle.middle-color span,.toggle.footer-color span {
    background: rgba(255, 255, 255, 0.6);
  } */
  
  .toggle span:first-child {
    top: 16px;
  }
  
  .toggle span:nth-child(2) {
    top: 23px;
  }
  
  .gnav_sp.open {
    opacity: 1;
    visibility: visible;
  }

  .toggle.open span {
    background: rgba(255, 255, 255, 0.6);
  }
  
  .toggle.open span:first-child {
    top: 16px;
    transform: rotate(15deg);
  }
  
  .toggle.open span:nth-child(2) {
    top: 16px;
    transform: rotate(-15deg);
  }

  .gnav_sp {
    width: 100%;
    height: 100%;
    display: block;
    position: fixed;
    top: 0;
    background: rgba(14, 108, 221, .9);
    z-index: 40;
    transition: .5s;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .gnav_sp::-webkit-scrollbar{
    display: none;
  }

  .gnav_sp_logo {
    font-size: 2rem;
    color: #fff;
    font-weight: 700;
    font-family: var(--notoserif-font);
  }

  .gnav_sp ul {
    margin-top: 40px;
    color: #fff;
    text-align: center;
    display: grid;
    row-gap: 30px;
  }

  .gnav_sp .nav_contact_btn a {
    margin-left: 0;
    margin-top: 30px;
    font-size: 1.6rem;
  }

  .mv {
    height: auto;
    flex-direction: column;
    row-gap: 100px;
    padding-top: 150px;
  }

  .mv_txt {
    width: 90%;
  }

  .mv_txt .footer_hoken-com_img_wrap {
    margin: 50px auto 0;
    justify-content: center;
  }

  .mv_slider_wrap {
    width: 60%;
  }

  .top_about-us .inner {
    flex-direction: column;
  }

  .top_about-us_img_wrap {
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
  }

  .top_about-us_img.big {
    width: 30%;
  }

  .top_about-us_img.small {
    width: 20%;
  }

  .top_about-us_img img {
    border-radius: 20px;
  }

  .top_service_card_wrap {
    flex-direction: column;
    row-gap: 30px;
  }

  .top_service_card {
    width: 100%;
  }

  .top_company_section .inner {
    flex-direction: column;
    row-gap: 70px;
  }

  .top_company_card_wrap {
    flex-direction: column;
    row-gap: 30px;
    width: 100%;
  }

  .top_company_card {
    width: 100%;
    padding: 0 4% 0 12%;
  }

  .top_company_card::before {
    left: 5%;
  }

  .top_news_section .inner {
    flex-direction: column;
    row-gap: 70px;
  }

  .top_news_section .news_list {
    width: 100%;
  }

  .button_link.pc_top_news {
    display: none;
  }

  .button_link.sp_top_news {
    display: block;
    margin: 0 auto;
  }

  .top_contact_section .inner {
    flex-direction: column;
    row-gap: 70px;
  }

  .top_contact_section .contact_btn_wrap {
    width: 100%;
  }

  .footer_nav {
    flex-direction: column;
    row-gap: 25px;
  }

}

@media screen and (max-width: 767px){

  header {
    height: 65px;
  }

  .header_inner {
    width: 90%;
  }

  .top_header .logo {
    font-size: 2rem;
  }

  .toggle {
    top: 15px;
    right: 5%;
  }

  .mv {
    row-gap: 50px;
    padding: 100px 25px 50px;
  }

  .mv_txt {
    width: 100%;
  }

  .mv_txt_en {
    font-size: 1.4rem;
  }

  .mv_txt_title {
    font-size: 3rem;
    margin-top: 15px;
  }

  .mv_txt_p {
    padding-top: 55px;
  }

  .mv_txt_p::before {
    width: 6px;
    height: 36px;
  }

  .mv_txt .footer_hoken-com_img_wrap {
    width: 100%;
    margin: 30px auto 0;
    flex-direction: row;
  }

  .mv_slider_wrap {
    width: 80%;
  }

  .mv_slider_wrap {
    width: 80%;
  }

  .slider1 .swiper-slide img {
      border-radius: 20px;
  }

  .top_about-us {
    padding: 50px 0;
  }

  .top_about-us .inner {
    row-gap: 30px;
  }

  .top_about-us_img.big {
    width: 40%;
  }

  .top_about-us_img.small {
    width: 30%;
  }

  .top_about-us_img img {
    border-radius: 10px;
  }

  .top_about-us_txt_wrap .heading_h2 h2 {
    font-size: 2.2rem;
  }

  .heading_h2 h2 {
    padding-top: 10px;
  }

  .top_about-us_txt_wrap p {
    margin-top: 30px;
    text-align: left;
  }

  .pc_br {
    display: none;
  }

  .top_about-us_txt_wrap .button_link {
    margin: 30px auto 0;
  }

  .heading_h2 h2 {
    font-size: 2.6rem;
  }

  .top_normal_section {
    padding: 55px 0;
    border-radius: 40px 40px 0 0;
  }

  .top_service_p_wrap {
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
    margin-top: 30px;
    height: auto;
  }

  .top_service_card_wrap {
    margin-top: 50px;
  }

  .top_service_card {
    border-radius: 20px;
    height: 200px;
  }

  .top_service_card_inner {
    height: 200px;
    grid-template-columns: auto 50px;
  }

  .top_service_card_txt {
    font-size: 1.8rem;
  }

  .circle_arrow {
    width: 50px;
    height: 50px;
  }

  .circle_arrow .icon_arrow {
    width: 18.5px;
  }

  .faq_list {
    margin: 30px auto 0;
    row-gap: 25px;
  }

  .faq_list dl {
    border-radius: 15px;
  }

  .q_area {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 35px;
    padding-left: 43px;
  }

  .q_area::before {
    top: 14px;
    left: 12px;
  }

  .q_area::before, .a_area div::before {
    width: 24px;
    height: 24px;
    font-size: 1.4rem;
  }

  .plus_icon {
    right: 15px;
  }

  .a_area {
    padding: 15px 0;
  }

  .a_area div {
    padding: 0 19px 0 43px;
  }

  .a_area div::before {
    top: 2px;
    left: 12px;
  }

  .a_area::after {
    content: '';
    width: calc(100% - 38px);
  }

  .faq_bottom_p {
    margin-top: 50px;
    text-align: left;
  }

  .button_link.faq {
    margin: 30px auto 0;
  }

  .sp_br {
    display: block;
  }

  .top_company_section {
    padding: 55px 0;
  }

  .top_company_section_deco::before {
    border-radius: 0 50px 50px 0;
  }

  .top_company_section .inner {
    padding: 55px 25px;
    row-gap: 30px;
  }

  .top_company_card {
    border-radius: 20px;
    height: 120px;
  }

  .top_company_card::before {
    width: 50px;
    height: 65px;
  }

  .top_company_card_txt span {
    font-size: 1.2rem;
  }

  .top_company_card_txt h3 {
    font-size: 1.6rem;
    margin-top: 8px;
  }

  .top_news_section .inner {
    row-gap: 0;
  }

  .news_list dl {
    padding: 30px 0 20px;
    row-gap: 10px;
  }

  .news_list a .circle_arrow {
    right: 0;
    width: 25px;
    height: 25px;
  }

  .news_list a .circle_arrow .icon_arrow {
    width: 10px;
    height: 7.5px;
  }

  .button_link.sp_top_news {
    margin: 30px auto 0;
  }

  .top_contact_section {
    border-radius: 0;
  }

  .top_contact_p {
    margin-top: 30px;
  }

  .top_contact_section .inner {
    row-gap: 50px;
  }

  .top_contact_section .contact_btn_wrap {
    row-gap: 30px;
  }

  .contact_btn {
    flex-direction: column;
    text-align: center;
    border-radius: 20px;
    padding: 80px 10px 25px;
    height: auto;
    row-gap: 20px;
  }

  .contact_btn::before {
    width: 40px;
    height: 40px;
    left: 50%;
    transform: translateX(-50%);
    top: 25px;
  }

  .contact_btn_txt .contact_type {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }

  .contact_btn_txt .contact_type span {
    display: block;
    margin-top: 10px;
    font-size: 1.2rem;
  }

  .contact_btn_txt .tel_number {
    font-size: 3.4rem;
  }

  .free-dial {
    padding-left: 50px;
  }

  .free-dial:before {
    width: 40px;
    height: 26px;
  }

  .contact_btn_txt .tel_time {
    margin-top: 5px;
  }

  .contact_btn_txt .to_contact-form {
    font-size: 2.5rem;
  }

  footer {
    padding: 70px 0;
  }

  .footer_hoken-com_wrap {
    flex-direction: column;
    row-gap: 20px;
  }

  .footer_hoken-com_img_wrap {
    width: 100%;
    flex-direction: column;
    row-gap: 15px;
  }

  .footer_hoken-com_img {
    width: 80%;
  }

  .footer_inner {
    margin: 60px auto 20px;
    padding-bottom: 60px;
  }

  .footer_col2_pc {
    flex-direction: column;
    row-gap: 50px;
  }

  .footer_left {
    text-align: center;
  }

  .f_logo {
    font-size: 2rem;
  }

  .footer_nav ul {
    margin: 0 auto;
  }

  /* 勧誘方針ページ */

  .sub-page_hero {
    height: 300px;
  }

  .sub_normal_section {
    padding: 60px 0;
  }

  .sub-page_h3 {
    font-size: 2.2rem;
    padding-bottom: 25px;
    margin-bottom: 50px;
  }

  .sub-page_h3::after {
    width: 50px;
    height: 4px;
  }

  .solicitation_bar {
    border-radius: 53px;
    font-size: 1.6rem;
  }

  .policy_content_wrap:not(:first-child) {
    margin-top: 50px;
  }

  .privacy_content:first-child {
    margin-top: 45px;
  }

  .privacy_content:not(:first-child) {
    margin-top: 40px;
  }

  .left_circle:before {
    width: 18px;
    height: 18px;
    top: 4px;
  }

  .privacy_content h4 {
    font-size: 1.6rem;
    padding-bottom: 15px;
    margin-bottom: 23px;
  }

  .left_circle {
    padding-left: 25px;
  }

  .privacy_content ul {
    row-gap: 15px;
  }

  .policy_note {
    margin-top: 15px;
  }

  /* プライバシーポリシーページ */

  .sub-page_h3 span {
    font-size: 1.4rem;
  }

  .pp_gd_table tbody th , .pp_gd_table tbody td ,
  .pp_gd_table_2 tbody th , .pp_gd_table_2 tbody td {
    display: block;
    width: 100%;
  }

  /* お問い合わせページ */

  .sub-contact_top_p {
    text-align: left;
  }

  .contact_form {
    margin: 50px auto 0;
  }

  .contact_form input, .contact_form textarea, .contact_form select {
    padding: 16px;
  }

  .contact_form dl {
    margin-bottom: 30px;
  }

  .contact_form dt {
    padding-bottom: 10px;
  }

  .contact_form .select1,.contact_form .time_flex_select {
    background-position: right 16px center;
    padding-right: 35px;
  }

  .date_inner {
    row-gap: 10px;
  }

  .contact_form .calender {
    padding: 16px;
  }

  .date-time_head {
    margin-bottom: 10px;
  }

  .time_flex {
    row-gap: 10px;
  }

  .confirm_privacy {
    margin-top: 30px;
  }

  /* 会社案内ページ */

  .message_wrap {
    flex-direction: column;
    row-gap: 30px;
  }

  .message_wrap_img {
    width: 70%;
    margin: 0 auto;
  }

  .message_wrap_img img {
    border-radius: 10px;
  }

  .message_wrap_txt {
    width: 100%;
  }

  .sub_inner_section:not(:first-child) {
    padding-top: 90px;
  }

  .company_dl_table dl {
    grid-template-columns: 1fr;
    padding: 25px 0;
    text-align: center;
  }

  .company_dl_table dl::before {
    display: none;
  }

  .company_dl_table dl::after {
    width: 100%;
  }

  .company_dl_table dl dt {
    padding-bottom: 25px;
    position: relative;
  }

  .company_dl_table dl dt::before {
    content: '';
    display: inline-block;
    width: 45%;
    height: 0;
    border-bottom: 2px solid #a0a0a0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 15px;
  }

  /* 私たちについてページ */

  .sub-about-us_content_wrap {
    row-gap: 60px;
  }

  .sub-about-us_content {
    flex-direction: column;
    row-gap: 35px;
  }

  .sub-about-us_content_img {
    width: 80%;
  }

  .sub-about-us_content_img img {
    border-radius: 20px;
  }

  .sub-about-us_content_txt {
    width: 100%;
  }

  .sub-about-us_content:nth-child(even) {
    flex-direction: column;
  }

  .sub-about-us_content_txt h4 {
    font-size: 2rem;
    padding-left: 30px;
  }

  .sub-about-us_content_txt h4::before {
    width: 22px;
    height: 22px;
    top: 4px;
  }

  .sub-about-us_content_txt p {
    margin-top: 20px;
  }

  /* お知らせ一覧ページ */

  .page_nav {
    margin-top: 30px;
  }

  .page-numbers , a.page-numbers {
    padding: 11px 0;
    width: 40px;
    margin: 0 5px;
    font-size: 1.6rem;
  }
  
  .prev.page-numbers::before, .next.page-numbers::before {
    width: 14px;
    height: 10.5px;
  }

  /* お知らせ詳細ページ */

  .news_article_head h3 {
    margin-top: 10px;
    font-size: 2.4rem;
  }

  .news_article_content {
    margin-top: 30px;
  }

  .button_link.news_detail {
    margin: 40px auto 0;
  }

}