@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}



/************************************
** 共通設定　2024.12作成
************************************/

/* ボタン非表示　コンテンツ追加後消す */
.invisible_btn{
	display: none;
}

:root{
	--font-heading: "Noto Sans JP", sans-serif;
	--font-body: "Noto Sans JP", sans-serif;
	--font-num: "Noto Sans", sans-serif;
	--font-deco-num: "Noto Sans JP", sans-serif;
	--font-deco-en: "Noto Sans JP", sans-serif;
}

p {
	line-height: 1.7;
}

.article h1, .article h2, .article h3, .article h4, .article h5, .article h6 {
    line-height: 1.45;
}

.font-heading {
	font-family: var(--font-heading);
}

.font-body {
	font-family: var(--font-body);
}
.font-num {
	font-family: var(--font-num);
}
.font-deco-num {
	font-family: var(--font-deco-num);
}
.font-deco-en {
	font-family: var(--font-deko-en);
}

.content {
    margin-top: 0!important;
}

@media screen and (max-width: 834px) {
    .content {
        margin-top: 0 !important;
    }
}

.date-tags{
	margin-bottom: 0 !important;
}

#main{
	padding: 0;
}
.entry-content {
	margin: 0;
}

@media screen and (max-width: 834px) {
    .article ul, .article ol {
		padding-left: 0;
    }
}

@media screen and (min-width: 834px) {
	.br_sp{
		display: none;
	}
}

.article.post {
	padding: 20px;
}

.fz_25{
	font-size: 25px !important;
	font-weight: 700 !important;
}

.fz_20{
	font-size: 20px !important;
	font-weight: 700 !important;
	margin-bottom: 1em !important;
}

/**目次**/
.toc {
  display: block;
  padding: 0px;
  max-width: 600px;
  border: 1.2px #5735b5 solid !important;
  font-family: 'Noto Sans JP', sans-serif;
}
.toc-title {
  position: relative;
  padding: 10px 0;
  background: #5735b5;
  color: #fff;
  font-weight: bold;
}
.toc .toc-content {
  padding: 15px 20px;
  background-color: #fff;
}
.toc-list > li li a {
  font-weight: normal;
	font-size: 95%;
  color: #708090;
  margin-left: -10px;
}
.toc-list > li li ::before {
  content: '';
  width: 5px;
  height: 5px;
  display: inline-block;
  left: -15px;
  border-radius: 100%;
  background: #cdcdcd;
  position: relative;
  margin-bottom: 2px;
}
.article .toc-list > li li {
  list-style: none;
}

/************************************
** デザインガイドライン準拠
************************************/

/*変数*/
:root {

/*色*/
--main-color: #7C5885;
--red-color: #CC0C39;
--faq-color: #E3E6E6;
--btn-color: #FFCA00;
--text-color: #333333;
--border-color: #E3E6E6;

/*コンテンツ幅*/
--max-width: 652px;
--max-width-content: 1100px;

/*ボタンサイズ*/
--btn_width: 450px;
--btn_height: clamp(45px, 22.723px + 4.95vw, 55px);
--btn_font-size: clamp(16px, 2.634px + 2.97vw, 22px);

/*見出しサイズ*/
--h2_font-size: clamp(24px, 17.793px + 1.655vw, 36px);
--h2_height: clamp(55px, 41.034px + 3.724vw, 82px);
--h3_font-size: 22px;

/*マージン設定*/
--margin-bottom_L: clamp(73px, -85.168px + 35.149vw, 144px);
--margin-bottom_M: clamp(45px, 26.897px + 4.828vw, 80px);
}
/*---------------*/
/*--共通設定------*/
/*---------------*/

.content-wrap {
width: 100%;
max-width: var(--max-width-content);
margin: 0 auto var(--margin-bottom_M);
}
.margin-bottom_L {
margin: 0 auto var(--margin-bottom_L);
}
.inner-wrap {
width: 90%;
max-width: var(--max-width);
margin: 0 auto;
}
.mainColor {
color: var(--main-color);
}
.textColor {
color: var(--text-color);
}
.redColor {
color: var(--red-color);
}

/*---------------*/
/*--申込みボタン--*/
/*---------------*/

.cta_btn--wrap a {
width: 90%;
max-width: var(--btn_width);
height: var(--btn_height);
background-color: var(--btn-color);
border-radius: 30px;
display: flex;
justify-content: center;
align-items: center;
font-size: var(--btn_font-size);
text-decoration: none;
color: var(--text-color);
margin: 0 auto;
border-style: none;
font-weight:normal;
}
.cta_btn--wrap a:hover {
filter: brightness(90%);
}

button.cta_btn--wrap {
width: 90%;
max-width: var(--btn_width);
height: var(--btn_height);
background-color: var(--btn-color);
border-radius: 30px;
display: flex;
justify-content: center;
align-items: center;
font-size: var(--btn_font-size);
text-decoration: none;
color: var(--text-color);
margin: 0 auto;
border-style: none;
font-weight:normal;
}
button.cta_btn--wrap:hover {
filter: brightness(90%);
}



/*---------------*/
/*--白ボタン--*/
/*---------------*/
.white_btn--wrap a {
	width: 90%;
    max-width: var(--btn_width);
    height: var(--btn_height);
    background-color: #fff;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--btn_font-size);
    text-decoration: none;
    color: var(--text-color);
    margin: 0 auto;
    border-style: none;
    font-weight: normal;
	border: 1px solid #898D8D;
	transition: all 0s;
}
.white_btn--wrap a:hover {
filter: brightness(95%) !important;
	color: var(--text-color) !important;
	transition: all 0s;
}



/*--------------------------------------
前ページ共通設定用
・下記クラス付与で共通設定を使用可能

◇スマホのみ表示するもの     ：display-sp
◇PCのみ表示するもの         ：display-pc
◇KVにつける                 :kv
◇文字に黄色マーカー引く     :marker-yellow
◇文字にオレンジマーカー引く :marker-orange
◇文字に白いアンダーライン	:under-line__white
◇コンテンツの横幅          :content-width
◇画面いっぱいに横幅広げる   :content-width-max
◇ボックスシャドウ　：boxshadow
---------------------------------------*/
/*固定ページの日付を非表示にする*/
.page .date-tags {
  display: none;
}

/*ホバー*/
a:hover {
	opacity: 0.8;
	transition: all 0.1s;
}

/*スマホ・PC表示*/
.display-pc {
  display: none;
}
@media screen and (min-width:1000px) {
  .display-pc {
    display: block;
  }
}

@media screen and (min-width:1000px) {
  .display-sp {
    display: none;
  }
}

/*文字に黄色マーカー*/
.marker-yellow {
    text-decoration: underline;
    text-decoration-color: #FAFA5E;
    text-decoration-thickness: 0.4em;
    text-decoration-skip-ink: none;
    text-underline-offset: -0.27em;
}

/*文字にオレンジマーカー*/
.marker-orange {
    text-decoration: underline;
    text-decoration-color: #FAD65E;
    text-decoration-thickness: 0.4em;
    text-decoration-skip-ink: none;
    text-underline-offset: -0.27em;
}

/*文字に白いアンダーライン*/
.under-line__white {
	border-bottom: 3px solid #fff;
}

/*KV表示*/
.kv {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  overflow-x: hidden;
}

/*コンテンツの横幅設定*/
.content-width {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.content-width-max {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

/*-- ボタン上リード文 --*/
.btn_lead {
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	position: relative;
	width: 170px;
	margin: 0 auto;
}
/* 
.btn_lead:before {
    position: absolute;
    top: 9px;
    left: -25px;
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: #333;
    transform: rotate(60deg);
}
.btn_lead:after {
    position: absolute;
    top: 9px;
    right: -20px;
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: #333;
    transform: rotate(-60deg);
}
*/
@media screen and (min-width:1000px) {
	.btn_lead {
	font-size: 20px;
	width: 240px;
}
	/*
	.btn_lead:before {
    top: 16px;
    width: 25px;
}
	.btn_lead:after {
    top: 16px;
    width: 25px;
}
	*/
}



/* 四角いボタン */
/*黄色*/
.btn--square_yellow a {
    position: relative;
	width: clamp(18.75rem, 15.147rem + 11.76vw, 22.5rem);
	height: clamp(3.125rem, 2.765rem + 1.18vw, 3.5rem);
	font-size:clamp(0.875rem, -0.375rem + 2vw, 1.125rem);
	display: flex;
	justify-content: center;
    align-items: center;
    margin: 0 auto;
}

.btn--square_yellow a::after {
	position: absolute;
	content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
}

/*青色*/
.btn--square_blue a {
    position: relative;
	width: clamp(18.75rem, 15.147rem + 11.76vw, 22.5rem);
	height: clamp(3.125rem, 2.765rem + 1.18vw, 3.5rem);
	font-size:clamp(0.875rem, -0.375rem + 2vw, 1.125rem);
	display: flex;
	justify-content: center;
    align-items: center;
    margin: 0 auto;
}

.btn--square_blue a::after {
	position: absolute;
	content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}


@media screen and (min-width: 1000px) {
	.textCenter-pc {
		text-align: center;
	}
}

/*ボックスシャドウ*/
.boxshadow{
    box-shadow: 0px 6px 9px rgba(0, 0, 0, 0.12);
}
/************************************
** 造船会社向けLP用
************************************/

/*共通設定*/
:root{
	--Zosen-mainColor: #0075C2; /*青*/
	--Zosen-baseColor: #F0F0F0; /*灰*/
	--Zosen-secondaryColor: #DFEFF1; /*水色*/
	--Zosen-font-colorLight: #707070; /*灰色の文字色*/
}


h2.zosenCo--h2 {
	color: var(--Zosen-mainColor);
	font-size: var(--h2-font-size);
	background-color: transparent;
	padding: 0;
}

h3.zosenCo--h3 {
	color: var(--Zosen-mainColor);
	font-size: var(--h3-font-size);
	border: 0;
	padding: 0;
}

.zosen--subTitle {
	font-weight: bold;
	color: var(--Zosen-font-colorLight);
	font-size: 16px;
	display: block;
}

/*フリーランス保険組合のポイント*/
.Sec--dairi-point {
	counter-reset: point-counter;
}

.Sec--dairi-point__content-wrap {
	background-color: var(--Zosen-baseColor);
	padding: 15px 10px 15px 50px;
	border-left: 4px solid var(--Zosen-mainColor);
	position: relative;
	counter-increment: point-counter;
}

.Sec--dairi-point__content-wrap::before {
	position: absolute;
	top: 0;
	left: 14px;
	font-size:45px;
	content: counter(point-counter);
	font-family: var(--font-deco-num);
	color: var(--Zosen-mainColor);
}


.Sec--dairi-point__list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: point-counter;
	color: var(--Zosen-mainColor);
	width: 336px;
}

.Sec--dairi-point__list li {
	width: 178px;
	height: 178px;
	border-radius: 50%;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	background-color: rgba(240, 240, 240, 0.1);
	counter-increment: point-counter;

    display: flex;
    align-items: center;
    flex-direction: column;
}

.Sec--dairi-point__list li::before {
	content: counter(point-counter);
	font-size: 45px;	
}

.Sec--dairi-point__list li:nth-child(1) {
	padding: 0px 5px 5px 5px;
	text-align: center;
	margin: 0 auto -50px;
}
.Sec--dairi-point__list li:nth-child(2) {
	padding: 0 25px 25px 25px;
	float: left;
	margin-left: -10px;
	margin-right: -10px;
}
.Sec--dairi-point__list li:nth-child(3) {
	padding: 0 18px 18px 18px;
}

/*代理申込みで「安心」*/
.Sec--dairi-relief {
	background-color: var(--Zosen-baseColor);
	padding: 50px 0;
}
.Sec--dairi-relief__content {
	margin-bottom: 80px !important;
}
.Sec--dairi-relief__text {
	background-color: #fff;
	padding: 20px;
}
.Sec--dairi-relief__content-title {
	font-weight: bold;
	color: var(--Zosen-mainColor);
	margin-bottom: 10px !important;
}
.Sec--dairi-relief__content-sentence {
	color: var(--Zosen-font-colorLight);
}


/************************************
** トップページ　2024.12作成
************************************/
/* KV */
.top_kv_sp{
	width: 100%;
	display: none!important;
}
.top_kv_sp img{
	width: 100%;
}

.top_kv_pc{
	width: 100%;
}

@media screen and (max-width: 834px){
	.top_kv_sp{
		display: block!important;
	}
	.top_kv_pc{
		display: none;
	}
}

/* 申込ボタン */
figure.wp-block-image.size-full.btn_lead {
    margin: 0 auto;
    width: 160px;
}
.application_btn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
	width: clamp(18.75rem, 3.738rem + 49.02vw, 34.375rem);
	height: clamp(4.375rem, 2.814rem + 5.1vw, 6rem);
    padding: 15px;
    font-size: clamp(1.375rem, 0.775rem + 1.96vw, 2rem);
    font-weight: bold;
    margin: 0 auto;
	box-shadow: 0px 5px 0px 0px #180F31;
}
.application_btn a::after {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

.orange_btn.application_btn a {
	box-shadow: 0px 5px 0px 0px #9B500E;
}

/* 導入 フリーランスの悩み */
#sec_introduction{
	padding: 50px 0 100px;
	overflow: hidden;
}

.intro_block {
	max-width: 1100px !important;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
	margin-top: 80px;
}

.intro_block .intro_item{
	width: 287px;
	margin-bottom: 0 !important;
}

.intro_item.even{
	margin-top: -40px;
}

@media screen and (max-width: 1100px){
	.intro_block{
		max-width: 500px !important;
		grid-template-columns: 1fr;
	}
	.intro_item.even{
		margin-top: -30px;
		margin-right: -20px !important;
		
	}
	 .intro_item.odd{
		margin-top:-30px;
		margin-left: -20px !important;
	}	
}

/* フリーランスさんの労災保険 */
#sec_about_hoken{
	background: #5735B5;
	color: #fff;
	padding: 50px 20px 70px;
	position: relative;
}

#sec_about_hoken::before{
	position: absolute;
	content:"";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2024/12/top_bg_item01-1.png) no-repeat center top / cover;
  width: 100vw;
  height: 60px;
  top: -40px;
  left: 0;
}

.about_freelance_hoken_ttl_box{
	background: #fff;
	border-radius: 5px;
  padding: 35px 20px !important;
	text-align: center;
}

.about_freelance_hoken_ttl{
	display: inline-block;
	color: #5735B5;
	font-size: clamp(33px, 4vw, 63px) !important;
	font-weight: bold !important;
	text-align: left;
}

.about_freelance_hoken_ttl span.fz_small{
	font-size: 0.7em;
}

.about_freelance_hoken_ttl span.fz_large{
	font-size: 1.3em;
}

.w_80p{
	max-width: 700px !important;
	width: 80%;
}

.about_hoken_text{
	background: #fff;
	color: #5735B5;
	padding: 40px 4%;
	position: relative;
	margin-top: 80px;
}

.about_hoken_text::before{
	position: absolute;
	content:"";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2024/12/top_bg_item02.png) no-repeat center top / cover;
  width: 100%;
  height: 60px;
  top: -40px;
  left: 0;
}

.mhlw_logo{
	margin-bottom: 20px !important;
}

.btn_block{
	margin: 60px 0 !important;
/* 後で消す	 */
	display:none;
}

/* サービスの紹介 */

#sec_service{
	background: #FCECEC;
	border-radius: 50px 50px 0 0;
	padding: 70px 20px 150px;
	max-width: 1200px;
  margin: 0 auto;
}

.content_ttl{
	text-align: center;
	text-underline-offset: 10px;
  text-decoration: underline solid 3px #333;
	font-size: 20px!important;
	font-weight: 700 !important;
	margin-bottom: 50px !important;
}

.service_icon{
	width: 132px;
	margin-bottom: 20px !important;
}

.content_subttl{
	font-size: 25px !important;
	font-weight: 700 !important;
	text-align: center;
	margin-bottom: 20px !important;
    align-self: center;
}

.content_item{
	max-width: 500px !important;
	margin-bottom: 40px !important;
}

.content_item p {
	margin-bottom: 10px !important;
	
}
.service_readmore a {
    display: block;
    color: #333;
    background: #fff;
	  padding: 12px;
    border-radius: 7px;
    width: 180px;
    margin: 0 auto;
    font-size: 14px;
    position: relative;
}

.service_readmore a::after {
    position: absolute;
    content: "";
		width: 8px;
    height: 8px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
	  right: 0;
	  top: 50%;
	  transform: translateY(-50%) rotate(45deg);
}

.service_readmore a:hover{
	color: #333;
}

.item_wrap{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 5%;
	max-width: 1000px !important;
}

@media screen and (max-width: 834px){
	.item_wrap{
		grid-template-columns: 1fr;
	}
}

/* 料金プラン等詳細 */
#sec_service_detail{
	background: #5735B5;
	color: #F0F0F0;
	padding: 100px 20px 100px;
	border-radius: 50px;
	max-width: 1200px;
  margin: -80px auto 0;
}

.service_detail{
	list-style: none;
	font-size: 20px;
	font-weight:bold;
  max-width: 530px !important;
}

.service_detail li{
	border-top: 2px solid #F0F0F0; 
}

.service_detail li:last-of-type{
	border-bottom: 2px solid #F0F0F0; 
}
.service_detail li a{
	display: block;
	padding: 38px 20px;
	text-decoration: none;
	color: #F0F0F0;
	position: relative;
}

.service_detail li a::after{
   position: absolute;
   content:"";
	 background:url(https://www.freelance-hoken.jp/wp-content/uploads/2024/12/service_detail_btn.png) no-repeat center / cover;
	 width: 30px;
   height: 30px;
	 right: 0;
	 top: 50%;
   transform: translateY(-50%);
}

/* フリーランス職種例 */
#section_job{
	text-align: center;
	padding: 60px 20px 100px;
}

.job_icon{
	width: 92px;
	margin-bottom: 10px !important;
}

.sp_content_ttl span{
	font-size: 10px;
}

.item_wrap02{
	max-width: 1000px !important;
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}

#section_job .content_item{
	width: 300px;
}

@media screen and ( max-width:833px ){
	.sp_content_ttl{
		text-decoration: none;
		display: inline-block;
		position: relative;
	}
	
	.sp_content_ttl::after {
    position: absolute;
    content: "";
    width: 110%;
    height: 3px;
    background: #333;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
	}
}
/* フリーランスの未来 */
#sec_future{
	background: #FFFF5B;
	padding: 60px 20px;
	position: relative;
}

#sec_future::before{
	position: absolute;
	content:"";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2024/12/top_bg_item03.png) no-repeat center top / cover;
	width: 100vw;
	height: 60px;
	top: -40px;
	left: 0;
}
	
/* 加入の流れ */
#sec_flow{
	padding: 50px 20px 0;
}

.flow{
	border: 3px solid #333;
	border-radius: 10px;
	max-width: 340px !important;
  overflow: hidden;
	height: 330px;
}

.flow_wrap{
	position:relative;
	margin-bottom: 40px !important;
}

.flow_wrap::after{
	position: absolute;
	content:"";
	width:0;
	height:0;
	border-style:solid;
	border-width: 50px 0 50px 23px;
	border-color: transparent transparent transparent #333333;
	bottom: 50%;
	transform: translate(0, 50%);
  right: -23px;
}

.flow_ttl{
	font-size: 25px!important;
	font-weight: bold!important;
	display: flex;
  flex-direction: column;
	gap: 10px;
  align-items: center;
	background: #D1FFA2;
	padding: 20px !important;
	margin-bottom: 0 !important;
}

.flow_ttl span {
    font-size: 40px;
    background: #333;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    text-align: center;
    line-height: 70px;
    color: #F0F0F0;
}

.flow_text{
	padding: 30px 20px;
}

.flow_box{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 5%;
  max-width: 1100px !important;          
}

@media screen and (max-width: 1100px){
	.flow_box{
	grid-template-columns: 1fr
	}
	
	.flow{
		max-width: 500px!important;
	}
	
	.flow_wrap::after{
		border-style:solid;
		border-width: 23px 50px 0 50px;
		border-color: #333333 transparent transparent transparent;
		bottom: -23px;
  	right: 50%;
  	transform: translate(50%, 0);
}
	
}

/* お客様の声 */
#sec_voice{
	padding: 0 20px 80px;
}

.voice_wrap{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	max-width: 1100px !important;
	column-gap: 5%;
}

.voice {
    max-width: 340px !important;
    margin: 0 auto;
    background: #F0F0F0;
    padding: 20px;
    position: relative;
		margin-bottom: 0!important;
}

.voice::before{
	position: absolute;
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #ffff00 transparent transparent transparent;
	border-width: 33px 33px 0px 0px;
	top: 0;
	left: 0;
}

.voice_prof {
    display: grid;
    grid-template-columns: 70px 1fr;
    grid-template-rows: 1fr 1fr;
	  align-items: center;
		column-gap: 25px;
		width: 250px;
}

.voice_icon {
    width: 70px;
    grid-column: 1 / 2;
    grid-row: 1 / 3;
	  margin-bottom: 0!important;
}

.voice_career, .voice_name{
	margin-bottom: 0!important;
}


.voice_career {
	font-size: 12px;
	font-weight: bold;
}

.voice_career span{
	font-size: 16px;
}

.voice_name {
	font-size: 14px;
	font-weight: bold;
}

.voice_readmore a {
    display: block;
    color: #333;
    background: #fff;
	  padding: 12px;
    border-radius: 7px;
    width: 240px;
    margin: 0 auto;
    font-size: 14px;
    position: relative;
		border: 2px solid #333;
}

.voice_readmore a::after {
    position: absolute;
    content: "";
		width: 8px;
    height: 8px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
	  right: 0;
	  top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.voice_readmore a:hover{
	color: #333;
}

@media screen and (max-width: 1100px){
	.voice_wrap{
	 grid-template-columns: 1fr;
	}
	.voice {
    max-width: 500px !important;
		margin-bottom: 40px!important;
	}
}

/* お問い合わせ */
#sec_contact{
	background: #5735B5;
	padding: 70px 20px;
	margin-bottom: 0!important;
}

p.lp--contact-p {
    width: 70%;
    min-width: 300px;
}

.contact_wrap{
	background:#fff;
	border-radius: 10px;
	padding: 50px 20px 62px;
}

a.tel_box{
	border: 3px solid #B6B6B6;
	border-radius: 10px;
	text-align: center;
	width: 70%;
	min-width: 300px;
	text-decoration: none;
  color: #333;
  display: block;
  padding: 20px;
	margin: 50px auto 0;
}

.tel_num {
	font-size: 25px;
	font-weight: bold;
	padding: 10px;
}

.tel_hours{
	font-size: 12px;
}

@media screen and (max-width: 834px){
	#sec_contact .contact_wrap p{
		text-align: left;
	}
}

/* 特別加入制度について */
#sec_system{
	padding: 0 20px;
}

.sp_img{
	display: none !important;
}

.sp_img img{
	margin: 0 auto;
}

@media screen and (max-width: 834px){
	.sp_img{
		display: block !important;
	}
	.pc_img{
		display: none !important;
	}
}

.system_content{
	margin-bottom: 70px !important;
}

.system_ttl{
	text-align: center;
	font-size: 24px !important;
	font-weight: bold !important;
	margin-bottom: 50px !important;
}

.system_subttl{
	font-weight: bold;
	color: var(--main-color);
	margin-bottom: 1em;
	line-height: 1.6 !important;
	font-size: 20px;
}



.system_supplement{
	border-radius: 5px;
	padding: 24px 10px;
	border: 1px solid var(--main-color);
	text-align: center;
}

@media screen and (max-width: 834px){
	.system_supplement{
		text-align: left;
	}
}

/* 業務委託例 */
.outsourcing_sample{
	list-style: none;
	column-count: 4;
	max-width: 640px !important;
  font-size: 12px;
	padding-left: 0;
}

.outsourcing_sample li{
	margin-bottom: 1em !important;
}

@media screen and (max-width: 834px){
	.outsourcing_sample{
		column-count: 2;
	}
}

/* テーブル */

.table_wrap{
	max-width: 640px !important;
	margin-bottom: 50px !important;
}

.kyufu_table table{
	width: 100% !important;
	color: #707070;
	font-size: 14px;
}

.kyufu_table table tr {
    background-color: #F0F2F2;
}

.kyufu_table table tr:nth-child(2n+1) {
    background-color: #DBCBDF;
		font-weight: bold;
	  border-top: 5px solid transparent;
	text-align: center;
	color: var(--main-color);
}

.kyufu_table table tr:last-child{
	border-bottom: 5px solid transparent;
	
}

.kyufu_detail_table{
	font-size: 14px;
	color: #707070;
}

.kyufu_detail_table table tr:nth-of-type(2n+1) {
    background-color: transparent;
}

.kyufu_detail_table table tr td:first-of-type {
    background-color: #F0F2F2;
    text-align: center;
    color: var(--text-color);
}

.kyufu_detail_table table:not(.has-border-color) :where(th, td) {
    border: 2px solid transparent;
    border-left: none;
    border-right: none;
}


.kyufu_detail_table .category{
	font-size: 16px;

}

@media screen and(max-width: 834px){
	.kyufu_detail_table .category{
	font-size: 14px;
}
}
.category {
    background-color: #DBCBDF !important;
	color: var(--main-color) !important;
	font-weight: bold;
}
.system_table_ttl {
    margin: 0 !important;
    text-align: center;
    color: #fff;
    background-color: var(--main-color);
    padding: 5px 5px 2px 5px;
    font-weight: bold;
}

.system_table table{
	width: 100% !important;
	color: #707070;
	font-size: 14px;
}

.system_table table tr {
    background-color: #F0F2F2;
	  border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}

.system_table table tr:nth-child(2n+1) {
    background-color: #F0F2F2;
}

.system_table table td {
    border: 2px solid #fff;
}

.notcoverd_table table tr td:first-of-type{
	border-right: 4px solid transparent;
	width: 50%;
	
}


/* 会社概要 */

#sec_company {
	width: 90%;
	margin: 50px auto 0;
}

	#sec_company table th,
	#sec_company table td{
		display: block;
		width: 100%;
	}
	
	#sec_company table td{
		background: #fff;
		padding: 10px;
	}


#sec_company table th, #sec_company table td {
    display: block;
    width: 100%;
    text-align: left;
    font-weight: normal;
}

.wp-block-heading.office_info_ttl {
    color: rgb(255, 255, 255);
    font-size: clamp(24px, 17.793px + 1.655vw, 36px);
    font-weight: bold;
    text-align: center;
    height: clamp(55px, 41.034px + 3.724vw, 82px);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(112, 112, 112) !important;
    border-radius: 5px;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    margin: 70px 0px 40px;
    padding: 0px;
}

/************************************
** フッター　2024.12作成
************************************/
#footer{
	background: #707070;
}

 .footer{
/*	padding-top: 20px
	padding: 8px; */
	padding: 0 !important; 
	 margin-top: 0!important;
}

.footer-in.wrap{
	width: auto;
}
 .footer-widgets {
	 padding-top: 60px;
	 max-width: 1100px;
	 width: 80%;
	 margin: 0 auto !important;
}

.footer_logo{
	margin-bottom: 30px;
}

.footer_menu_list{
	list-style: none;
	padding-left: 0 !important;
	color: #F0F0F0;
	font-size: 14px;
}

.footer_menu_list li{
	padding-left: 1em;
	margin-bottom: 10px;
	position: relative;
}

.footer_menu_list li::after{
	position: absolute;
	content: "";
	width: 5px;
  height: 5px;
  border-top: 1px solid #F0F0F0;
  border-right: 1px solid #F0F0F0;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.footer_menu_list li a{
	text-decoration: none;
	color:#f0f0f0!important;
	display: block;
}


.footer-bottom {
    margin-top: 24px;
    padding: 0;
    position: relative;
    font-size: 14px;
    background: #FFFFFF;
}
.navi-footer-in{
	padding: 20px;
}

.navi-footer-in > .menu-footer li,
.navi-footer-in > .menu-footer li:last-child{
	border: none;
}

.navi-footer-in > .menu-footer li.menu-item a{
	font-size: 12px;
}

.copyright {
	background: #E4E4E4;
	padding: 12px;
	font-size: 8px;
}


@media screen and (max-width: 834px) {
    .footer-widgets {
        display: block !important;
			  
    }
    .footer-widgets-mobile {
        /* display: block; */
			display: none !important;
    }
	
	.footer_menu_list{
/* 	max-width: 320px;
  margin: 0 auto; */
}

.footer_menu_list li{
	border-bottom: .5px solid #F0F0F0;
	margin-bottom: 0;
	padding: 10px;
}

.footer_menu_list li::after{
	width: 8px;
  height: 8px;
  border-top: 2px solid #F0F0F0;
  border-right: 2px solid #F0F0F0;
	left: auto;
	right: 10px;
}

	.navi-footer-in > .menu-footer{
		flex-direction: column;
	}
	
	.navi-footer-in > .menu-footer li.menu-item {
		text-align: left;
		width: 80%;
    margin: 0 auto;
	}
}

/************************************
** 造船LP　2025.1作成
************************************/

.font_a{
    font-family: var(--font-deco-en);
}
/* KV */
.lp_kv_sp{
	width: 100%;
	display: none!important;
	margin-bottom: 0 !important;
}

.lp_kv_pc{
	width: 100%;
	margin-bottom: 0 !important;
}

@media screen and (max-width: 834px){
	.lp_kv_sp{
		display: block!important;
	}
	.lp_kv_pc{
		display: none;
	}
}

/* 申込ボタン */
.lp_application_btn a {
    position: relative;
    display: block;
    max-width: 550px;
		width: 70%;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    margin: 0 auto;
	box-shadow: 0px 3px 0px 0px #180F31;
}

.lp_application_btn a::after {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

.lp_application_bg{
	background: #EDEBE8;
	padding: 60px 0;
}

@media screen and (max-width: 834px){
	.lp_application_bg{
	padding: 30px 0;
}
}

/* あるある */
.lp_intro_ttl_wrap{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	max-width: 700px !important;
	margin-bottom: 0 !important;
}

.lp_intro_ttl_right{
	font-weight: bold;
	text-align: center;	
}

.lp_intro_ttl_text01{
	margin-bottom: 0!important;
	font-size: 24px
}

.lp_intro_ttl_text02{
	font-size: 36px;
	font-weight: 800;
	line-height: 1.45;
}

.lp_intro_ttl_text02 span{
	font-size: 48px;
}

.lp_intro_case_wrap{
	background: #B9E8EC;
	max-width: 1200px !important;
	border-radius: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
	padding: 20px 80px;
 	margin-top: -40px !important;
	position: relative;
}

.lp_intro_case{
	padding: 20px;
	margin-bottom: 0 !important;
	display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 15px;
	position: relative;
}

.lp_intro_case::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background: #fff;
	top: 55px;
	left: 0;
}

.lp_intro_case_num{
    position: absolute;
    top: 15px;
    left: 12px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
	z-index: 1;
}

.lp_intro_case_num_box{
	position: relative;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #fff;
	margin-bottom: 0 !important;
}

.lp_intro_case_num span{
	font-size: 24px;
}

.lp_intro_case_text{
	color: #333;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 0 !important;
}

.lp_intro_case figure{
	margin: auto;
}

@media screen and (max-width: 834px){
	.lp_intro_ttl_wrap{
		max-width: 400px !important;
		align-items: flex-start;
		gap: 5px;
	}
	.lp_intro_ttl_left{
		width: 108px;
	}
	.lp_intro_ttl_text01{
		font-size: 16px;
	}
	.lp_intro_ttl_text02{
		font-size: 24px;
	}
	.lp_intro_ttl_text02 span{
		font-size: 36px;
	}
	
	.lp_intro_case_wrap{
		grid-template-columns: 1fr;
		padding: 20px 20px;
	}
	
	.lp_intro_case{
		max-width: 500px !important;
		width: 100%;
	}

	.lp_intro_case_text{
		font-size: 20px;
	}
}

/* リスク */

.lp_lisk_ttl01{
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0 !important;
}

.lp_lisk_ttl01 span{
	font-size: 36px;
}

.lp_lisk_img_sp{
	display: none!important;
}

.lp_point {
    position: relative;
	max-width: 450px !important;
	margin: 0 auto;
}

.lp_point_bg {
	position: relative;
}

.lp_point_bg:before {
    position: absolute;
    width: 90vw;
	max-width: 450px;
    height: 2px;
    background-color: #0075C2;
    content: "";
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.lp_point_text{
	position: absolute;
	left: 50%;
	transform: translate( -50%, 0);
	font-size: 30px;
	margin-bottom: 0!important;
	font-weight: bold;
	color: #fff;
	z-index: 1;
}



.lp_lisk_block{
	position: relative;
}

.lp_lisk_block::after{
	position: absolute;
	content:"";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/01/zousen_img02.png) no-repeat center/ cover;
	width: 223px;
	height: 268px;
	bottom: -65px;
    right: -100px;
}

.lp_lisk{
	position: relative;
	max-width: 880px !important;
	height: 140px;
	margin-bottom: 0!important;
	z-index: 1;
}

.lp_lisk_bg.show_sp{
	display: none;
}

.lp_lisk_text{
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
    transform: translateY(-50%);
	font-size: 24px;
	font-weight: bold;
	z-index: 1;
	text-align: center;
	max-width: 880px;
	margin-bottom: 0!important;
}

.lp_lisk_text span{
	font-size: 32px;
}

.lp_lisk_bg {
    position: absolute;
	top: 0;
	left: 0;
}

.lp_lisk_bg img{
	width: 100%;
	height: 100%;
}


.lp_lisk_wrap{
	position: relative;
	background: #CF9B0F;
	border-radius: 12px;
	max-width: 880px !important;
	margin-top: -30px;

	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 145px 100px;
	gap: 45px 50px;
	
	padding: 100px;
	
	
}



.lp_lisk_box{
	background: #F8F8CC;
	border-radius: 10px;
	margin-bottom:0!important;
	position: relative;
	width: 100%;
}
.lp_lisk_case{
	background: #FFFF00;
    padding: 15px 20px;
    font-size: 24px;
    font-weight: bold;
    border-radius: 10px 10px 0 0;
	margin-bottom: 15px !important;
}

.lp_lisk_case_disc {
    padding: 0 20px 15px;
	font-weight: bold;
}

.lp_lisk_case_disc2{
    padding: 25px 20px;
	font-weight: bold;
}

.lp_lisk_box:nth-of-type(4)::after{
	position: absolute;
	content: "";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/01/lp_parts04.png) no-repeat center / contain;
    width: 46px;
    height: 43px;
	bottom: -30px;
    left: 80%;
}

.lp_bg_blue{
	background: #B9E8EC;
	padding: 70px 20px 140px;
	position: relative;
}

.lp_bg_blue::before{
	position: absolute;
    content: "だから！ ";
    background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/01/lp_parts03.png) no-repeat center / contain;
    width: 368px;
    height: 98px;
	top: -40px;
    left: 50%;
	transform: translateX(-50%);
    text-align: center;
    line-height: 60px;
    font-size: 32px;
    font-weight: bold;
    color: #fff;

}

.lp_balloon01{
	background: #5735B5;
	border-radius: 32px;
	padding: 40px;
	color: #fff;
	font-size: 36px;
	font-weight: bold;
	max-width: 540px!important;
	position: relative;
}

.lp_balloon01::before{
	position: absolute;
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent #5735b5 transparent transparent;
	border-width: 30px 60px 30px 0px;
	left: -35px;
    top: 50%;
    transform: translateY(-50%) rotate(5deg);
}

.lp_flex_wrap{
	align-items: center;
	gap: 20px;
	display: grid;
	grid-template-columns: 212px 1fr;	
}




@media screen and (max-width: 834px){
	.lp_lisk_ttl01{
		font-size: 16px;
	}

	.lp_lisk_ttl01 span{
		font-size: 24px;
	}
	.lp_lisk_img_sp{
		display: block!important;
	}
	.lp_lisk_img_pc{
		display: none!important;
	}

	.lp_lisk_bg.show_sp{
		display: block;
	}
	.lp_lisk_bg.show_pc{
		display: none;
}
	
	.lp_lisk_text{
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
    transform: translateY(-50%);
	font-size: 24px;
	font-weight: bold;
	z-index: 1;
	text-align: center;
	max-width: 880px;
	margin-bottom: 0!important;
		
		font-size: 16px;
}

	.lp_lisk_text span{
		font-size: 24px;
	}
	
	.lp_lisk {
		max-width: 350px !important;
	}
	
	.lp_flex_wrap{
	align-items: center;
	gap: 20px;
	display: grid;
	grid-template-columns: 113px 1fr;	
}
	
}

/* 加入のポイント */
.lp_container{
	padding: 0 20px;
}

.lp_flex_wrap2{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 55px;
}

.lp_point_box{
	background: #fff;
	border-radius: 50px;
	padding: 75px 20px 40px;
	margin-bottom: 0 !important;
	position: relative;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 10px;
	width: 100%;
}

.lp_point_box::before{
	position: absolute;
	content: "";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/01/point01.png) no-repeat center / contain;
	width: 104px;
	height: 40px;
	left: -12.5px;
	top: 20px;
}

.lp_point_box:last-of-type::before{
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/01/point02.png) no-repeat center / contain;
}

.lp_point_num{
	position: relative;
	background: #0098EF;
	color: #fff;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	padding: 3px 10px;
	
}

.lp_point_num span{
	font-size: 24px;
	padding-left: 5px;
}

.lp_point_num::after{
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent #666666 transparent transparent;
	border-width: 0px 10px 10px 0px;
	bottom: -10px;
	left: 0;
}

.lp_point_box figure, .lp_point_box p{
	margin-bottom: 0!important;
}

/* サービス */

#sec_service.lp_sec_service {
    padding-bottom: 50px;
}

.lp_sec_service .content_ttl {
	text-decoration: none;
	font-size: 36px !important;
    line-height: 1.7;
}

@media screen and (max-width: 834px){
	.lp_sec_service .content_ttl {
		font-size: 24px !important;
	}
}


/* 加入のメリット  補償事例*/
.lp_merit_ttl{
	font-size: 36px;
	text-align: center;
}

@media screen and (max-width: 834px){
	.lp_merit_ttl {
		font-size: 24px;
		text-align: left;
	}
}

.lp_merit_wrap, .lp_case_wrap{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 35px;
	max-width: 1200px !important;
}

.lp_merit_box{
	background: #B9E8EC;
	border-radius: 10px;
	padding: 30px 20px 50px;
	margin-bottom: 0!important;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	gap: 10px;
	width: 100%;
	
}

.lp_merit_box p, .lp_merit_box figure,
.lp_case_box p, .lp_case_box figure{
	margin-bottom: 0!important;
}

.lp_case_box{
	border: 5px solid #E3F7F9;
	padding: 20px;
	border-radius: 10px;
	margin-bottom: 0 !important;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 5;
	gap: 20px;
	width: 100%;
}

.lp_case_box_num {
    color: #0075C2;
	text-align: center;
	line-height: 1.3;
}

.lp_case_box_num span{
	font-size: 40px;
}

.lp_case_box_amount{
	background: #F4FAFB;
	color: #0075C2;
	font-weight: bold;
	border-radius: 5px;
	padding: 8px 15px;
	width: 100%;
}

.aaaaa a {
    max-width: 430px;
	width: 80%;
    display: block;
    margin: 0 auto;
    position: relative;
    padding: 10px;
}

.aaaaa a::after {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

.lp_plan_ul li{
	margin-bottom: 14px;
	
}

/* よくある質問 */
.lp_faq_accordion{
	max-width: 720px !important;
	font-weight: bold;
}
.lp_faq_accordion .toggle-button{
	background: #FFF;
    border: none;
    padding: 20px 50px;
    border-radius: 10px;
	text-align: left;
	
}

.lp_faq_accordion .toggle-button::before {
    font-size: 20px;
    color: #333;
    margin-right: 8px;
    opacity: 1;
    position: absolute;
    top: 20px;
    right: 10px;
/*     transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%); */
}

.lp_faq_accordion .toggle-button::after {
	content: 'Q' !important;
    font-family: var(--font-deco-en);
    font-style: normal;
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-right: 8px;
    opacity: 1;
    position: absolute;
    top: 16px;
    left: 13px;
/*     transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%); */
}

.lp_faq_accordion .toggle-button:hover {
    opacity: 1;
}


.lp_faq_accordion .toggle-checkbox:checked ~ .toggle-content {
    visibility: visible;
    opacity: 1;
    height: 100%;
    transition: all 0.3s ease-in-out;
    padding: 1em;
    color: var(--cocoon-custom-text-color);
    background-color: #fff !important;
    border-width: 2px;
    border-style: solid;
    border-color: var(--cocoon-custom-border-color);
    border-top-width: 0;
    border-bottom-left-radius: var(--cocoon-basic-border-radius);
    border-bottom-right-radius: var(--cocoon-basic-border-radius);
	
	padding: 20px 50px;
    background: #F0F0F0;
    border: none;
    border-radius: 0 0 10px 10px;
	
	position: relative;

}

.lp_faq_accordion .toggle-checkbox:checked ~ .toggle-content::before{
	position: absolute;
	content:"";
	top:0;
	left: 5%;
	width: 90%;
	height: 1px;
	background: #ccc;
}

.lp_faq_accordion .toggle-content{
	padding: 0 50px;
}


.lp_faq_accordion .toggle-checkbox:checked ~ .toggle-content::after {
    content: 'A';
    font-family: var(--font-deco-en);
    font-style: normal;
    font-size: 24px;
    font-weight: bold;
    color: #333;
    position: absolute;
    top: 16px;
    left: 13px;
}

label.toggle-button {
    font-size: clamp(1rem, 0.76rem + 0.78vw, 1.25rem);
}
.lp_faq_accordion {
    max-width: 1066px !important;
}


@media screen and (max-width: 1100px) {
	.lp_lisk_block::after{
	position: absolute;
	content:"";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/01/zousen_img02.png) no-repeat center/ cover;
	width: 119px;
	height: 143px;
	bottom: -35px;
    right: 50%;
	transform: translateX(50%);
}	
	.lp_lisk_wrap {
	    grid-template-rows: 100px 100px 100px;
		gap: 15px 20px;
		padding: 70px 20px 75px;
	}
	.lp_lisk_box:nth-of-type(-n+2) {
		grid-column: 1 / 3;
		width: 100%;
	}
	.lp_lisk_case{
		font-size: 16px;
		padding: 8px 20px;
	}
	.lp_lisk_case_disc, .lp_lisk_case_disc2{
		font-size: 12px;
	}
	
	.lp_lisk_box:nth-of-type(3)::after{
		position: absolute;
		content: "";
		background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/01/lp_parts04.png) no-repeat center / contain;
    	width: 46px;
    	height: 43px;
		bottom: -30px;
    	left: 25%;
	}
	
	.lp_lisk_box:nth-of-type(4)::after{
		transform: scale(-1, 1);
		left: 30%;
	}
} 

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

	
	.lp_bg_blue::before{
    width: 240px;
    height: 64px;
	top: -35px;
    line-height: 40px;
    font-size: 24px;
} 
	.lp_balloon01 {
    border-radius: 32px;
    padding: 10px 20px 10px 30px;
    font-size: 24px;
}
	
	.lp_flex_wrap2{
		grid-template-columns: 1fr;
	}
	
	.lp_merit_wrap, .lp_case_wrap{
	grid-template-columns: 1fr;

}
}	
	
/* サブページ */
.wrap{
	width: auto;	
}


.main_contents {
    max-width: 1000px;
	background: #fff;
    border-radius: 5px;
    margin: 0 auto;
	padding: 80px 8% 60px;
}

@media screen and (max-width: 1100px) {
    .subpage_container {
        padding: 20px 4%;
    }
	
	.main_contents {
		padding: 80px 6% 60px;
	}
}

.subpage_kv {
    width: 100vw;
}


.subpage_container h2 {
    font-size: 24px;
    padding: 45px 0;
    border-top: 6px solid #5735B5;
    border-bottom: 6px solid #00CF95;
    display: inline-block;
    text-align: center;
    width: 450px;
	margin-bottom: 1.6em;
}

@media screen and (max-width: 834px){
	.subpage_container h2{
		width: 70%;
		min-width: 260px;
	}
}

.subpage_container h3{
	font-size: 20px;
	font-weight: bold;
	color: #2EBB93;
	margin-bottom: 1.6em;
}

.subpage_container h4{
	font-size: 20px;
	font-weight: bold;
	color: #F0F0F0;
	background: #2EBB93;
	border-radius: 5px;
	padding: 6px 18px !important;
	margin-bottom: 1.6em;
}

.subpage_container figure{
margin-bottom: 0 !important;
}
/* .subpage_container ul {
    list-style: none;
    margin: 0;
    padding: 0 5px;
}

.subpage_container li {
    margin-bottom: 14px;
    text-indent: -1em;
    padding-left: 1em;
}

.subpage_container ul li::before {
    content: "";
    width: 13px;
    height: 13px;
    display: inline-block;
    background: #2EBB93;
    border-radius: 50%;
    position: relative;
    margin-right: .5em;
} */
/* サブページ */



/* 料金プラン */
 .plan_table table{
	text-align: center;
	margin: 0 auto;
	width: 450px !important;
	position: relative;
}

.plan_table{
	position: relative;
}

.plan_table::before{
	position: absolute;
	content:"";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/03/グループ-3492.png) no-repeat center / cover;
	width: 26px;
	height: 12px;
	top: -20px;
	left: 56%;
}

.plan_table table tr{
	background: #fff;
	font-weight: bold;
}

.plan_table table:not(.has-border-color) :where(th, td) {
    border: none;
}

.plan_table table tr:first-of-type {
    height: 52px;
    background: #0E63C4;
    color: #fff;
    text-align: center;
}

.plan_table table tr:nth-of-type(n+2) {
    height: 67px;
    border-bottom: 1px solid #0E63C4;
    color: #0E63C4;
    font-size: 14px;
}

.plan_table table tr:last-of-type {
     color: #F14421;
}

span.plan_table_month {
    font-size: 22px;
}

span.plan_table_price {
    font-size: 38px;
	font-family: var(--font-num:);
    margin-right: 8px;
}

span.plan_table_ttl{
	font-size: 16px;
}

span.plan_table_zero{
	font-size: 40px;
	font-family: var(--font-num:);
	margin: 0px 8px;
    display: inline-block;
    vertical-align: -3px;
}

.plan_table table tr:nth-of-type(n+2) td {
	padding-right: 50px;
	text-align: right;
}

.plan_table table tr:last-of-type td:first-of-type {
	position: relative;
}

.plan_table table tr:last-of-type td:first-of-type::before{
	position: absolute;
	content:"年払いがオトク！";
	background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/03/グループ-3490.png) no-repeat center / cover;
	width: 90px;
	height: 20px;
	color: #fff;
	top: 12px;
	font-size: 8px;
	text-align: center;
}

@media screen and (max-width: 480px){
	.plan_table table{
		width: 290px !important;
	}
	.plan_table table tr:nth-of-type(n+2) td {
		padding-right: 20px;
	}
}


.plan_point_wrap{
    text-align: center;
    margin-top: 30px;
}
.plan_point {
    padding: 12px 20px;
    background: #0098EF;
    border-radius: 7px;
    color: #fff;
    font-weight: bold;
    position: relative;
    display: inline-block;
    text-align: left;
}

/* .plan_point::before{
position: absolute;
content: "";
width:0;
height:0;
border-style:solid;
border-width: 0 11px 14px 11px;
border-color: transparent transparent #0098EF transparent;
top: -12px;
    left: 50%;
    transform: translateX(-50%);
} */

.subpage_container .next_btn a{
    margin: 60px auto 30px;
    display: block;
    max-width: 500px;
    padding: 60px 10%;
    border-radius: 10px;
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    position: relative;
}

.subpage_container .next_btn a::after {
    position: absolute;
    content: "";
    background: url(https://www.freelance-hoken.jp/wp-content/uploads/2024/12/btn_icon.png) no-repeat center / cover;
    width: 30px;
    height: 30px;
    right: 5%;
}

@media screen and (max-width: 834px){
.subpage_container .next_btn a{
padding: 30px 10%;
}
}

/* 加入の流れ */

body .is-layout-constrained.sub_flow_box {
    /* max-width: var(--wp--style--global--content-size); */
    /* margin-left: auto !important; */
    /* margin-right: auto !important; */

/* margin-left: -5% !important;
margin-right: -5% !important;
width: 110%; */
}


.sub_flow_box{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px;
	max-width: 1100px !important;
}

.sub_flow {
    background: #E5F6D3;
    border-radius: 10px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 15px;
    padding: 20px 15px;
    margin-bottom: 0 !important;
    width: 100%;
}

.flow_arrow{
    position: relative;
}

.flow_arrow::after {
    position: absolute;
    content: "";
    width:0;
    height:0;
    border-style:solid;
    border-width: 45px 0 45px 20px;
    border-color: transparent transparent transparent #2EBB93;
    top: 50%;
    transform: translate(0, -50%);    
    right: -13%;
}

.sub_flow_num {
    color: #2EBB93;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    gap: 15px;
    border-bottom: 2px solid #2EBB93;
    padding: 10px 15px;
    width: 100%;
}

.sub_flow_num span {
    background: #2EBB93;
    width: 40px;
    height: 40px;
    display: block;
    color: #F0F0F0;
    font-size: 21px;
    text-align: center;
    border-radius: 50%;
}

.sub_flow_text{
    margin-bottom: 0 !important;
}

.sub_flow_img {
    margin: auto auto 0 !important;
}

.sub_flow_img.sp{
    display: none !important;
}

.p_arrow{
    position: relative;
}

.p_arrow::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 25px 0 25px;
    border-color: #2EBB93 transparent transparent transparent;
    transform: translateX(50%);
    right: 50%;
    bottom: -20px;
}

.p_margin{
 margin-top :20px;
}

@media screen and (max-width: 1000px){
.sub_flow_box{
    grid-template-columns: 1fr;
}

.sub_flow{
    max-width: 500px !important;
    width: 90%;
}

.flow_arrow::after {
    border-width: 20px 45px 0 45px;
    border-color: #2EBB93 transparent transparent transparent;
    top: 104%;
    transform: translate( 50%, 0);    
    right: 50%;
}

.sub_flow_img.sp{
    display: block !important;
}

.sub_flow_img.pc{
    display: none !important;
}
}


/*-------------------
 * LP用
 * -----------------*/

/*国の労災保険　特別加入にWEBで申し込めるサイトです（LP）*/

.lp_section--lightblue {
    background-color: #F4FAFB;
    padding: 80px 0;
}

.lp_section--lightblue_content {
    background-color: #fff;
    border-radius: 10px;
    width: 90%;
    padding: 25px;
}

h2.lp_title--fukidashiBlue {
	color: #0075C2;
	font-size:clamp(1.5rem, 1.2rem + 1.28vw, 2rem);
	position: relative;
	background-color: transparent;
}

.fukidashi-blue {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translate(-50%);
	background-color: #0075C2;
	color: #fff;
	padding: 5px 20px;
	font-size: 16px;
	border-radius: 3px;
	white-space: nowrap;
	width: 216px;
}

.fukidashi-blue::after {
	position: absolute;
	content: "";
	bottom: -6px;
	left: 50%;
	transform: translate(-50%);
	background-color: #0075C2;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	width: 17px;
	height: 8px;
}

h3.lp_title--fukidashiBlue_h3 {
    border: 0px;
    border-bottom: 1px solid #333;
    padding: 0 0 15px;
}

ul.list--bg_lightblue {
    background-color: #F4FAFB;
    border-radius: 11px;
    padding: 5px 15px;
}

li.list--check_blue:before {
	color: #0075C2;
}

@media screen and (min-width: 1000px){
	.pc-padding {
		padding: 50px;
	}
}

/*こんな事故（LP）*/
h2.font-size-36px {
    font-size: 36px;
	padding: 0;
	text-align: center;
	background-color: transparent;
	margin-bottom: 0;
}
span.font-size-middle {
    font-size: 0.75em;
}
span.font-size-small {
    font-size: 0.5em;
}
h2.font-size-32px {
    font-size: 32px;
    color: #0075C2;
	padding: 0;
	background-color: transparent;
	background-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/07/グループ-1195.png);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
	padding: 36px 0;
	max-width: 640px !important;
}

.lp--accident {
    background-color: #EDEBE8;
    border-radius: 12px;
    position: relative;
	padding: 20px;
	max-width: 640px !important;
}

.lp--accident:before {
    content: "";
    position: absolute;
    top: -60px;
    right: 0;
    background-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/06/アセット-32.png);
    width: 116px;
    height: 83px;
    background-size: contain;
    background-repeat: no-repeat;
}
.lp--accident_safe {
    background-color: #fff;
    border-radius: 7px;
    padding: 20px 10px;
	position: relative;
    max-width: 480px !important;
}

.lp--accident_safe::after {
	position: absolute;
	content: "";
	bottom: -16px;
	left: 50%;
	transform: translate(-50%);
	background-color: #fff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	width: 86px;
	height: 18px;
}

p.lp--accident_accent {
    font-size: 20px;
    color: #0075C2;
	font-weight: bold;
}
.lp--accident_safeWrap {
    display: flex;
}
p.lp--accident_safeContent {
    background-color: #E3F7F9;
    padding: 5px 8px;
    border-radius: 20px;
	width: clamp(8.125rem, 5.5rem + 11.2vw, 12.5rem);
	text-align: center;
}

.lp--accident_ifWrap {
	position: relative;
	margin: 40px 0;
}

.lp--accident_ifWrap p {
	font-weight: 800;
	font-size: 22px;
}

.font-weight-normal {
	font-weight: normal;
}

p.lp--accident_if_deco {
    display: inline-block;
    background-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/06/グループ-1453.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    color: #fff;
    text-align: center;
    padding: 5px 20px;
    position: absolute;
    top: -50px;
    left: 50%;
	transform: translate(-50%);
}

p.lp--accident_if_deco.deco02 {
  top: -30px;
}

p.lp--accident_if--p {
    background-color: #fff;
    border-radius: 7px;
    padding: 10px;
    max-width: 480px !important;
}

figure.lp--accident_img {
    position: absolute;
    bottom: -100px;
    right: 50%;
    transform: translate(50%);
}

figure.lp--accident_img::before {
	position: absolute;
	content: "";
	top: -20px;
	left: -30px;
	background-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/06/グループ-1203.png);
	background-size: cover;
	background-repeat: no-repeat;
	display: block;
	width: 46px;
	height: 43px;
}

figure.lp--accident_img::after {
	position: absolute;
	content: "確かに\Aどうしよう…";
	top: 60px;
	right: -86px;
	white-space: pre-wrap;
	font-size: 14px;
	font-weight: bold;
    transform: rotate(-10deg);
}


/*ここで加入できます！（LP）*/

.lp--insuranceWrap {
	position:relative;
	padding: 225px 0 80px;
}

.lp--insurance_oyakata {
    position: absolute;
    font-size: clamp(2rem, 1.039rem + 3.14vw, 3rem);
    color: #fff;
    background-color: #0075C2;
    font-weight: 800;
    padding: 10px 21px;
    border-radius: 24px;
    text-align: center;
    top: -65px;
    left: 50%;
    transform: translate(-50%);
    min-width: 250px;
}

.lp--insurance_oyakata::after {
	position: absolute;
	content: "";
	width: 25px;
	height: 21px;
	background-color: #0075C2;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	bottom:-17px;
	left: 50%;
	transform: translate(-50%);
	display: block;
}

.lp--insurance_contentWrap {
    background-color: #fff;
    border: 6px solid #B9E8EC;
    border-radius: 10px;
    padding: clamp(3.125rem, 1.324rem + 5.88vw, 5rem) clamp(1.25rem, -0.551rem + 5.88vw, 3.125rem);
    width: 90%;
	max-width: 1226px !important;
	position: relative;
}

.lp--insurance_contentWrap::before {
	position: absolute;
	content: "";
	width: 335px;
	height: 187px;
	background-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/07/グループ-4226.png);
	background-size: cover;
	background-repeat: no-repeat;
	top: -193px;
	left: 50%;
	transform: translate(-50%);
}

@media screen and (min-width: 1200px) {
	
	.lp--insurance_contentWrap::before {
		width: 1112px;
		height: 218px;
		background-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/07/マスクグループ-37.png);
		top: -218px;
}
	
}

p.lp--insurance_text01 {
    font-size: clamp(1.125rem, 0.525rem + 1.96vw, 1.75rem);
    text-align: center;
    color: #0075C2;
    font-weight: bold;
    border: 1px solid;
    border-radius: 20px;
    width: clamp(17.625rem, 7.237rem + 33.92vw, 28.438rem);
	margin-bottom: clamp(0.438rem, 0.257rem + 0.59vw, 0.625rem);
}

p.lp--insurance_text02 {
    font-size: clamp(1.5rem, 1.02rem + 1.57vw, 2rem);
    text-align: center;
    color: #0075C2;
    font-weight: bold;
    margin-bottom: 7px;
}

p.lp--insurance_text03 {
    font-size: clamp(2rem, 1.4rem + 1.96vw, 2.625rem);
    font-weight: 800;
    text-align: center;
    line-height: 1.3;
	margin-bottom: 35px;
}

span.lp--insurance_deco {
    background-color: #333;
    color: #fff;
    padding: 0 5px;
}

figure.kosei-img {
    border: 1px solid;
}

.lp--surprise {
    position: relative;
    padding-top: 100px;
	width: 350px;
    margin-bottom: 30px !important;
    display: grid;
    grid-template-rows: 100px 210px;
}

figure.lp_section--lightblue_content--img {
    align-self: center;
}

p.lp--insurance_pointTitle-dec {
    position: absolute;
    top: 35px;
    left: -15px;
    background-color: #0075C2;
    color: #fff;
    font-weight: bold;
    padding: 5px 15px;
}

.lp--surpriseWrap {
    display: flex;
    flex-wrap: wrap;
    max-width: 1126px !important;
}

p.lp--insurance_pointTitle-dec::before {
	content:"";
	position:absolute;
	width: 15px;
	height: 10px;
	background-color: #B9E8EC;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	bottom: -10px;
	left: 0;
}

p.lp--insurance_pointTitle-dec::after {
	content:"";
	position:absolute;
	width: 36px;
	height: 28px;
	background-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/06/グループ-4067.png);
	background-size: cover;
	background-repeat: no-repeat;
	top: -25px;
	left: 0;
}

p.lp--insurance_pointTitle {
    font-size: 24px;
    text-align: center;
    font-weight: 900;
    color: #0075C2;
}

.kosei-link {
	max-width: 431px !important;
}


/*補償内容（LP）*/

.lp--sectionCase_wrap {
    position: relative;
}
.lp--sectionCase_wrap::before {
    content: "Case";
    font-family: var(--font-deco-en);
    font-size: clamp(7.563rem, 7.023rem + 2.3vw, 8.75rem);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    color: #F4FAFB;
    z-index: -1;
    font-weight: 600;
    line-height: 0.5;
}

figure.lp_container.lp-sectionCoverage__img-sp.display-sp {
    width: 296px;
    padding: 0;
}

.lp-sectionCoverage {
	position: relative;
}

.lp-sectionCoverage::before {
    content: "Coverage";
    font-family: var(--font-deco-en);
    font-size: clamp(5rem, 4.432rem + 2.42vw, 6.25rem);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    color: #F4FAFB;
    font-weight: 600;
    line-height: 0.5;
}

p.lp-sectionCoverage_subTitle {
    text-align: center;
    font-size: clamp(1.5rem, 0.779rem + 2.35vw, 2.25rem);
    font-weight: 800;
    color: #0075C2;
    max-width: 1200px !important;
}

.lp--coverage-wrap {
    width: 300px;
    border: 4px solid #0075C2;
    border-radius: 10px;
}

p.lp--coverage-ttl {
    font-size: 32px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-family: 'noto-sans-cjk-jp', sans-serif;
    background-color: #0075C2;
    padding: 0px 0 5px 0;
}

span.lp--coverage-ttl_small {
    font-size: 24px;
}

p.lp--coverage-text {
    padding: 20px;
}

.lp--coverage {
    display: grid;
    gap: 30px;
	max-width: 1000px !important;
}

p.lp--coverage02 {
    font-size: 20px;
    background-color: #0075C2;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-family: 'noto-sans-cjk-jp', sans-serif;
    width: 268px;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 0;
}

.lp--coverage02Wrap {
    display: grid;
    gap: 15px;
    position: relative;
    padding-bottom: 190px;
}

.lp--coverageWrap {
    position: relative;
}

.lp--coverageImg {
    position: absolute;
    bottom: 0;
    right: 50%;
    transform: translate(50%);
}

/*RJCなら安心（LP）*/
h2.RJC_relief {
    font-size: clamp(1.5rem, 0.059rem + 4.71vw, 3rem);
    text-align: center;
    background-color: #0075C2;
    width: 100%;
    color: #fff;
    padding: 15px 0px 25px;
	border-radius: 40px 40px 0 0;
}

.lp_RJC_relief-titleWrap {
	margin-bottom: 3em !important;
}

.font-size-littleSmaller {
	font-size: 0.7em;
}

p.lp_RJC_relief-title {
    text-align: center;
    font-size: clamp(1.5rem, 0.059rem + 4.71vw, 3rem);
    font-weight: 800;
    color: #0075C2;
}

.lp_RJC_relief--wrap {
	background-color: #F4FAFB;
	padding-bottom: 50px;
}

.RJC--item_wrap {
    display: flex;
    flex-direction: column;
	gap: 30px;
}

.RJC--content_item {
    width: 300px;
    display: grid;
    grid-template-rows: 134px 70px 90px;
    gap: 20px;
}

h3.content_subttl {
    padding: 0;
    border: 0 !important;
}

.RJC--content_item {
    margin-bottom: 1.8em !important;
}


/*加入の流れ（LP）*/

.lp--flow_contentWrap {
    width: 309px;
    background-color: #E9E9E5;
    border-radius: 10px;
    position: relative;
    padding: 40px 10px 20px 10px;
}

p.lp--flow_contentNumber {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translate(-50%);
    background-color: #333;
    color: #fff;
    width: 66px;
    height: 66px;
    font-size: 40px;
    text-align: center;
    border-radius: 50%;
}
h3.lp--h3 {
    border: none;
    text-align: center;
    font-size: 24px;
}
.lp--flow_content {
    background-color: #fff;
    border-radius: 10px;
    padding: 30px 20px;
    height: calc(100% - 60px);
}
p.lp--flow_content-subttl {
    text-align: center;
    font-weight: bold;
    position: relative;
}
p.lp--flow_content-subttl:before {
    content: "";
    width: 50px;
    height: 1px;
    background-color: #333;
    display: block;
    top: 50%;
    left: 0;
    position: absolute;
}
p.lp--flow_content-subttl:after {
    content: "";
    width: 50px;
    height: 1px;
    background-color: #333;
    display: block;
    top: 50%;
    right: 0;
    position: absolute;
}
ul.lp--flow_content-list {
    color: #FB8138;
    font-weight: 500;
    padding-left: 0px;
}
ul.lp--flow_content-list li {
    list-style: none;
    position: relative;
    margin-left: 36px;
}
ul.lp--flow_content-list li:before {
    position: absolute;
    top: 6px;
    left: -28px;
    content: "";
    width: 14px;
    height: 6px;
    border-bottom: 3px solid;
    border-left: 3px solid;
    transform: rotate(-45deg);
}

p.lp--flow_content_exp01 {
    width: 106px;
    height: 106px;
    background-color: #F2F2EF;
    border-radius: 50%;
    text-align: center;
    padding-top: 16px;
    font-weight: 800;
}
p.lp--flow_content_exp02 {
    width: 106px;
    height: 106px;
    background-color: #B9E8EC;
    border-radius: 50%;
    text-align: center;
    padding-top: 16px;
    font-weight: 800;
    position: relative;
}
.lp--flow_content_expWrap {
    display: flex;
    gap: 35px;
}
p.lp--flow_content_exp02:before {
    position: absolute;
    top: 50%;
    left: -30px;
    transform: translate(0, -50%);
    content: "";
    width: 26px;
    height: 33px;
    mask-image: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/06/グループ-3832.svg);
    mask-repeat: no-repeat;
    mask-size: cover;
    background-color: #B9E8EC;
}
figure.lp--flow_content-img img {
    margin: 0 auto;
}
.lp--flow_contentWrap {
margin-bottom: 70px !important;
}

.kanyu_deco {
    position: relative;
    width: fit-content;
}
.kanyu_deco::before, .kanyu_deco::after {
    content: "";
    background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/06/lp_parts01.png) no-repeat center / contain;
    width: 20px;
    height: 20px;
    position: absolute;

}
.kanyu_deco::before {
    bottom: 5px;
    left: -15px;
}
.kanyu_deco::after {
    top: 5px;
    right: -15px;
}

.lp--sectionFlow_wrap {
    position: relative;
}
.lp--sectionFlow_wrap::before {
    content: "Flow";
    font-family: var(--font-deco-en);
    font-size: clamp(7.563rem, 7.023rem + 2.3vw, 8.75rem);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    color: #E9E9E5;
    z-index: -1;
    font-weight: 600;
    line-height: 0.5;
}

@media screen and (min-width: 1000px){
.lp--flow {
    display: grid;
    max-width: 1000px !important;
    grid-template-columns: repeat(3, 1fr);
}
.lp--flow_contentWrap {
    margin-bottom: 0 !important;
}
}

/*加入の流れ（LP）ここまで*/


/*料金プラン（LP）*/

h2.lp--h2 {
    font-size: clamp(2rem, 1.039rem + 3.14vw, 3rem) !important;
    background-color: transparent;
    text-align: center;
    font-weight: 800;
    position: relative;
    padding: clamp(1.25rem, 0.688rem + 2.4vw, 2.188rem) 0 0 0;
}

span.lp--h2_small {
    font-size: clamp(1rem, 0.75rem + 1.07vw, 1.5rem);
    font-weight: 600;
}

.lp-sectionPlan {
    background: #B9E8EC;
    padding-block: 65px;
}

.lp-sectionPlan_h2 {
    margin-bottom: 40px !important;
}

.lp-sectionPlan_wrap {
    position: relative;
    background: #FFFFFF;
    border-radius: 5px;
    max-width: 650px !important;
    overflow: hidden;
    text-align: center;
    width: 90%;
}

.lp-sectionPlan_wrap::before {
    content: "Plan";
    font-family: var(--font-deco-en);
    font-size: clamp(7.563rem, 7.023rem + 2.3vw, 8.75rem);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    color: #DDF6F8;
    font-weight: 600;
    line-height: 0.5;
}

p.lp-sectionPlan_price {
    background: #0E63C4;
    width: fit-content;
    color: #fff;
    font-size: 16px;
    position: relative;
    line-height: 52px;
   padding-inline: 30px;
    margin-bottom: 30px ! Important;
    font-weight: 600;
}

p.lp-sectionPlan_price::before {
    content: "";
    position: absolute;
    top: -15px;
    right: 67px;
    width: 26px;
    height: 11px;
    background: url(https://www.freelance-hoken.jp/wp-content/uploads/2025/06/plan_parts.png) no-repeat center / contain;
}

p.lp-sectionPlan_price span {
    font-size: 40px;
    vertical-align: sub;
    margin-inline: .2em;
}

.lp-sectionPlan_text_block {
    position: relative;
}

.lp-sectionPlan_text {
    position: relative;
    background: #B9E8EC;
    height: 110px;
    border-radius: 55px;
    color: #333;
    max-width: 300px !important;
    font-size: 22px;
    padding-block: 15px;
    margin-bottom: 150px !important;
    font-weight: bold;
}

.lp-sectionPlan_text::after {
    position: absolute;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 18px 0px 0px;
    border-color: #B9E8EC transparent transparent transparent;
    bottom: -16px;
    right: 20%;
}
.lp-sectionPlan_img {
    position: absolute;
    backdrop-filter: 0;
    width: 110px;
    bottom: -100px;
    left: 50%;
    transform: translateX(-50%);
}

@media screen and (min-width: 1000px){
p.lp-sectionPlan_price {
    font-size: 32px;
    line-height: 96px;
}
p.lp-sectionPlan_price::before {
    right: 118px;
}
p.lp-sectionPlan_price span {
    font-size: 80px;
}
.lp-sectionPlan_text {
    max-width: 360px !important;
}
}

/*料金プラン（LP）ここまで*/

/*よくあるご質問（LP）*/

.lp--sectionFaq_wrap {
    position: relative;
	background-color: #F0F0F0;
	padding-bottom: 100px;
}
.lp--sectionFaq_wrap::before {
    content: "FAQ";
    font-family: var(--font-deco-en);
    font-size: clamp(7.563rem, 7.023rem + 2.3vw, 8.75rem);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    color: #FFF;
    z-index: 0;
    font-weight: 600;
    line-height: 0.5;
}

p.has-background {
    padding: 5px;
    border-radius: 20px;
    width: 276px;
}



/*お問い合わせ（LP）*/

.lp--contact {
    background: #B9E8EC;
    padding: 70px 20px;
    margin-bottom: 0 !important;
}

h2.content_ttl {
    background-color: transparent;
	margin-bottom: 25px !important;
}


@media screen and (min-width:1000px) {
	figure.lp--accident_img {
		bottom: -25px;
	    right: 57px;
	}
	
	figure.lp--accident_img::before {
		top: 57px;
		left: -57px;
	}
	
	figure.lp--accident_img::after {
		top: 28px;
	}
	
	.lp--insurance_oyakata .font-size-middle {
		margin-left: 20px;
	}
	
	.lp--insuranceWrap {
		padding-top: 185px;
	}
	
	.lp--coverage {
    	grid-template-columns: repeat(3, 1fr);
	}
	
    .lp--coverage02Wrap {
        grid-template-columns: repeat(2, 1fr);
        width: 560px;
        padding-bottom: 0px;
    }
	
	.lp--coverageImg {
		position: absolute;
		bottom: -90px;
		right: -25px;
		transform: translate(50%);
	}
	
    .lp_RJC_relief-titleWrap {
        display: flex;
        width: 865px;
		margin-bottom: 0em !important;
    }
	
	p.lp_RJC_relief-title {
		line-height: 1.2;
	}
	
	.RJC--item_wrap {
    flex-direction: row;
}

}



/*-------------------
 * 臨時お知らせ20250409
 * -----------------*/

aside#custom_html-3 {
    display: block;
}

aside#custom_html-3 {
    margin: 0;
}
.header_info_attention {
	display:block;
    background-color: #E66700;
}
.header_info_attention.red {
    background-color: #FF3333;
	color: #fff;
	padding: 20px 0;
	font-size: 22px;
}
@media screen and (max-width: 1000px){
	.header_info_attention.red {
	font-size: 16px;
}
}
.header_info_attention a {
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    display: block;
    font-size: 16px;
	text-align: center;
}

.content-top.wwa,
.front-top-page .content-top.wwa {
    margin: 0;
}
.front-top-page .content-top-in.wrap {
    width: 100%;
    text-align: center;
}
#custom_html-3 {
    margin: 0;
}
#custom_html-3 h2 {
    display: none;
}

aside#custom_html-3 {
    margin-bottom: 0;
}

.single .entry-content {
    max-width: 840px;
    margin: 0 auto;
}
/*-------------------
 * お知らせここまで
 * -----------------*/
/*-------------------
 * お知らせセクション
 * -----------------*/

.info_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0 !important;
  color: var(--main-color);
}

.info_menu p {
  width: 50%;
  text-align: center;
  margin: 0;
  padding: 5px;
  background-color: #fff;
  border: 0px;
  border-bottom: 5px solid #ccc;
  cursor: pointer;
  line-height: 3em;
  padding-bottom: 0;
}

.info_menu p.active {
  border: 1px solid var(--main-color);
  border-bottom: 5px solid var(--main-color);
  border-radius: 5px 5px 0 0;
}

.news-wrap ul li {
  border-bottom: 1px dotted #707070;
  padding: 10px;
  margin-bottom: 10px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

.news-wrap ul li a {
  display: block;
  position: relative;
  color: #333;
  text-decoration: none !important;
  padding: 10px 35px 10px 10px;
}

.news-wrap ul li a::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid var(--main-color);
  border-right: 0;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.wp-block-button.info_btn {
  position: relative;
  width: 300px;
}

.info_btn {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.info_btn .wp-block-button__link {
    width: 90%;
	max-width: var(--btn_width);
    height: var(--btn_height);
  border: 2px solid var(--main-color);
  border-radius: 4px;
  background-color: #fff;
  color: var(--main-color);
  padding: 10px 55px;
  font-size: 15px;
}
a.btn_cta.wp-block-button__link {
    width: 90%;
    max-width: var(--btn_width);
    height: var(--btn_height);
    background-color: var(--btn-color);
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--btn_font-size);
    text-decoration: none;
    color: var(--text-color);
    margin: 0 auto;
}
button#show-more-faq-button {
    width: 90%;
    max-width: var(--btn_width);
    height: var(--btn_height);
    background-color: var(--btn-color);
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--btn_font-size);
    text-decoration: none;
    color: var(--text-color);
    margin: 0 auto;
}
.wp-block-button.info_btn::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid var(--main-color);
  border-right: 0;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.info_menu p.active {
    border: 1px solid var(--main-color);
    border-bottom: 5px solid var(--main-color);
    border-radius: 5px 5px 0 0;
}
.info_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0 !important;
    color: var(--main-color);
}
.news-wrap ul li a::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid var(--main-color);
    border-right: 0;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
a.wpp-post-title {
    line-height: 20px;
    text-decoration: none;
    color: #333;
}

/*-------------------
 * マガジンセクション
 * -----------------*/

.magazine--wrap {
	display: flex;
}


h2.h2--magazine {
	background-color: #5735b5;
	border-radius: 5px;
	color: #fff;
	text-align: center;
}

h3.h3--magazine {
	border: 0;
	font-size: 16px;
}

.magazine--block {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
@media screen and (min-width: 1000px){
	.magazine--block {
	grid-template-columns: 1fr;
}
}

.magazine--section {
	margin-top: 100px;
	width: 90%;
	margin: 150px auto;
}

/*-------------------
 * マガジンここまで
 * -----------------*/



h3.content_ttl_rjc {
	font-size: clamp(1.5rem, 1.159rem + 1.45vw, 2.25rem) !important;
	font-weight: 800;
	border: none !important;
	text-align: center;
}

h4.content_subttl {
	border: none !important;
	font-weight: 600 !important;
}


/*お問い合わせセクション*/
.contact--section {
    background-color: #5735B5;
    padding: 50px 20px;
}
h2.contact-h2 {
    background-color: transparent;
    font-size: 20px;
    text-align: center;
    width: 120px;
    border-bottom: 3px solid;
    padding: 0 0 10px;
}
.contact--section_inner {
    background-color: #fff;
    border-radius: 10px;
    max-width: 800px !important;
	padding: 40px 20px;
    text-align: center;
}
p.contact--section_subttl01 {
    font-size: 24px;
    font-weight: bold;
    color: #5735B5;
}
p.contact--section_subttl02 {
    font-weight: bold;
    font-size: 32px;
}
.contact--section_tel {
    border: 3px solid #B6B6B6;
    border-radius: 10px;
    padding: 20px;
	max-width: 500px !important;
}
p.contact--section_date {
    font-size: 12px;
    font-family: "Noto Sans JP", sans-serif;
}

p.contact--section_telNumber a {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    text-decoration: none;
    font-weight: bold;
    color: #333;
}

/*KVテキスト化テンプレート*/
.KVtext_bold {
    font-weight: 600;
}
p.KVtext_heavy {
    font-weight: 800;
}
.KVtext_wrap {
    max-width: 655px;
    margin: 50px auto;
}

.KVtext_job {
  width: 280px;
  background-image: linear-gradient(90deg, rgba(69, 162, 128, 1), rgba(2, 131, 84, 1));
	color: #fff;
	border-radius: 50px;
}
p.KVtext_heavy.KVtext-ttl {
    line-height: 1.3;
}





/*----------------------------*/
/*    マガジン用のスタイル    */
/*----------------------------*/
h1.entry-title {
    max-width: 1000px;
    margin: 0 auto;
    color: #5735b5;
    padding-bottom: 30px;
    border-bottom: 3px solid;
    position: relative;
    margin-bottom: 30px;
}
h1.entry-title:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #00CF95;
    bottom: -3px;
	left: 0;
    width: 30%;
}

h2.magazine-h2 {
    border-left: 5px solid #5735b5;
}

p.post-date {
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: 30px !important;
}

h1#archive-title {
    max-width: 840px;
    margin: 0 auto;
}
div#list {
    max-width: 840px;
    margin: 0 auto;
    gap: 10px;
}

.top_archive--magazine_content li.wp-block-post.post.type-post.format-standard.has-post-thumbnail.hentry.category-magazine-post {
    display: grid;
    grid-template-columns: 0.7fr 1fr;
    gap: 10px;
}
h2.wp-block-post-title {
    background-color: transparent;
    padding: 0;
    font-size: 16px;
    margin-bottom: 0;
    font-weight: normal;
}
ul.wp-block-post-template.is-layout-flow.wp-block-post-template-is-layout-flow.archive--magazine_content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
@media screen and (min-width:1000px) {
ul.wp-block-post-template.is-layout-flow.wp-block-post-template-is-layout-flow.archive--magazine_content {
    grid-template-columns: 1fr 1fr;
}
}

.archive--magazine {
    max-width: 840px;
    margin: 0 auto;
}

/*----------------------------*/
/*    　監修者用のスタイル　  */
/*----------------------------*/

.renew_kansyu .renew_inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 30px;
    align-items: start;
}
.renew_kansyu .kansyu_item {
    margin: 0 !important;
    border: none;
    border-radius: 10px;
    padding: 0;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 6;
    gap: 0;
}
.renew_kansyu .kansyu_item_title {
    text-align: center;
    padding: 10px 0;
    border-radius: 10px 10px 0 0;
    border: 1px solid var(--main-color);
    margin: 0 !important;
    display: grid;
    grid-template-columns: subgrid;
    line-height: 1em;
    background: var(--main-color);
	color: #fff;
}
.renew_kansyu  .kansyu_item_body {
    padding: 20px;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 10px 10px;
    margin: 0 !important;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 2 / 7;
}
.kansyu_item_body_titlecard {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 0px 15px;
    align-items: center;
    margin: 0 !important;
    grid-template-rows: subgrid;
    grid-row: 2 / 5;
}
.kansyu_item_body .photo {
    display: grid;
    grid-row: 1 / 3;
    margin: 0 !important;
    align-items: center;
}
.kansyu_item_body .role {
    font-size: 11px;
    margin: 5px 0 0 0 !important;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 3;
    align-items: start;
    padding-top: 5px;
    grid-column: 1 / 3;
    border-top: 1px solid #ddd;
    line-height: 1.4em;
}
.kansyu_item_body .name {
    margin: 0 !important;
    padding: 10px 0 3px 0;
    font-size: 20px;
    line-height: 1em;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1;
    align-items: end;
}
.kansyu_item_body .furi {
    margin: 0 !important;
    font-size: 12px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 2;
}
.kansyu_item_body .description {
    margin: 0 !important;
    padding-top: 2em;
    font-size: 14px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 5;
}

@media screen and (max-width: 1100px) {
 .renew_kansyu {
    overflow-x: scroll;
 }
 .renew_kansyu .renew_inner {
    min-width: 950px;
    gap: 0 15px;
    padding: 0;
 }
}



/*お知らせ表示*/
.header_info_bar_sp {
  border: 1px #c75b69 solid;
  border-radius: 5px;
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 10px;
  color: #c75b69;
  gap: 5px;
  margin-bottom: 35px;
}

.header_info_a {
  text-decoration: none;
  color: #c75b69;
  font-weight: 600;
  display: block;
	max-width: 400px;
	margin-inline: auto;
}

p.header_info_a {
  margin-bottom: 0;
  font-size: 15px;
}
.KVtext_inner-wrap {
    max-width: 577px !important;
}

/*組合案内*/

table:not(.has-border-color) :where(th, td) {
  border: none;
}

table#noborder {
    font-size: 16px;
}


td.campany_table_td_02 {
    padding: 20px 10px;
}


/*ヘッダーライン*/
#common_header .ch_outer.ccus {
    border-bottom: 3px solid var(--main-color);
}

/*お知らせの表示非表示切り替え用*/
.header_info_a {
	display:none;
}