@charset "UTF-8";

@import url("css/reset.css"); 

:root {
  --main_gra: linear-gradient(to right, #d90445, #e65a87, #b44e95);
  --main-gra_line: linear-gradient(to right, #d90445, #e65a87, #b44e95);
  --width_2col_img: 33rem;
}



html{font-size:62.5%;}
/* サンプル font-size:14px; を指定する場合 */
body{font-size:1.4rem;font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';}

.w10px{width: 10px; }.w20px{width: 20px;}.w30px{width: 30px;}.w40px{width: 40px;}.w50px{width: 50px;}.w60px{width: 60px;}.w70px{width: 70px;}.w80px{width: 80px;}.w90px{width: 90px;}.w100px{width: 100px;}.w110px{width: 110px;}.w120px{width: 120px;}.w130px{width: 130px;}.w140px{width: 140px;}.w150px{width: 150px;}.w160px{width: 160px;}.w170px{width: 170px;}.w180px{width: 180px;}.w190px{width: 190px;}.w200px{width: 200px;}.w210px{width: 210px;}.w220px{width: 220px;}.w230px{width: 230px;}.w240px{width: 240px;}.w250px{width: 250px;}.w260px{width: 260px;}.w270px{width: 270px;}.w280px{width: 280px;}.w290px{width: 290px;}.w300px{width: 300px;}
.tc{text-align: center !important;}.tr{text-align: right !important;}.tl{text-align: left !important;}

.tc{
	text-align: center;
}
.tl{
	text-align: left;
}
.tr{
	text-align: right;
}
.p_title{
	font-weight: bold;
	font-size: 20px;
}
.p_subtitle{
	font-size: 18px;
	font-weight: bold;
}

button{
	cursor: pointer;
}

.pc{
    display: block;
}
.sp{
    display: none;
}

.c_red{
    color: #ff2c2c;
    font-weight: 700;
}
.inr{max-width: 100rem;margin: 0 auto;padding: 1rem 0 1rem;}

header{
  border-top: 5px solid; /* 太さを指定 */
  border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{
	align-items: center;
}

.ast{
    font-size: 60%;
}

header .block01{display: flex;}
header .block01 .logo{

}
header .block01 .logo img{max-width: 14rem;margin-right: 1.4rem;}
header .block01 .message{

}

header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}
header .block02{display: flex;align-items: center;}
header .block02 .contact_block{

}

.header_tel_block{display: inline-block;text-align: right;margin-right: 1rem;}
.header_tel_block .number{ font-size: 2.1rem; font-weight: 600; color: #000000; line-height: 1.9rem; width: 19rem; }
.header_tel_block .number img, .header_tel_block .number i{ font-size: 1.9rem; margin-right: 0.2rem; color: #369F2F; max-width: 2.5rem; }
.header_tel_block .txt{ font-size: 1.1rem; color: #272727; line-height: 1.2rem; }



.btn{
	background: var(--main_gra);
	color: #fff;
	border-radius: 3rem;
	padding: 0.9rem 3rem;
}
.btn.primary{
	
}


#mainbnr{
    background: url(img/mainbnr.png) no-repeat right 0;
    /* height: 42rem; */
    background-size: cover;
}



#mainbnr .inr {padding: 5rem 0;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {text-align: center;margin-bottom: 2rem;}
#mainbnr .logo_block img {max-width: 15rem;}

/* Headline & Message */
#mainbnr h1 {font-size: 4.3rem;font-weight: 700;margin: 2rem 0;line-height: 7.7rem;color: #264260;text-shadow: 0px 0px 9px #fff;}
#mainbnr h1 span{
    font-weight: inherit;
    font-size: 90%;
}
#mainbnr .message {text-align: center;font-size: 2.1rem;font-family: serif;margin-bottom: 2rem;color: #264260;font-weight: 700;}

/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 14.5rem;padding: 0 3rem 6rem;margin: 0 0.6rem;}
#mainbnr .point_lists .block p {font-size: 3.5rem;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;text-shadow: 0px 0px 3px #ffffff;}
#mainbnr .point_lists .block p .span1 {display: block;font-size: 2.2rem;text-align: center;line-height: 1.7rem;}
#mainbnr .point_lists .block p .spsn2 {font-size: 1.7rem;}
#mainbnr .point_lists .block p span .ast{
    font-size: 1rem;
}

/* Top User Voice */
.top_user_voice {margin-top: -2rem;}
.top_user_voice .grid {
	  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3カラム */
  gap: 20px; /* カラム間の余白 */
 }
.top_user_voice .inr{
	padding: 0;
}
/* Voice Block */
.top_user_voice .voice {box-shadow: 0px 0px 5px #959595;border-radius: 3px;padding: 1.5rem;background: #fff;border: solid 2px #07197e;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);}
.top_user_voice .voice .tit {font-size: 1.6rem;font-weight: 600;margin-bottom: 0.6rem;/* font-family: serif; */color: #264260;/* border-bottom: solid 1px; */padding-bottom: 4px;}
.top_user_voice .voice .txt {font-size: 1.5rem;font-weight: 300;color: #333;}

/* User Block */
.top_user_voice .voice .user_block {padding-top: 1.5rem;display: flex;align-items: center;}
.top_user_voice .voice .user_block .img {/* background: var(--main_gra); */height: 5rem;width: 5rem;border-radius: 10rem;margin-right: 1.5rem;overflow: hidden;}
.top_user_voice .voice .user_block .img img { }
.top_user_voice .voice .user_block .info { }



.advice_section {
  position: relative;
  width: 100%;
  /* min-height: 400px; */ /* 適宜調整 */
  padding: 5rem 0;
}

/* 左側テキスト */
.text_block {
  width: 1000px;       /* 常に1000px幅 */
  max-width: 1000px;   /* これ以上広がらない */
  margin-left: 0;      /* 左寄せ */
  position: relative;
  z-index: 1;
}

.text_block .label {
  font-size: 2rem;
  color: #264260;
  margin-bottom: 10px;
  text-align: center;
  font-family: serif;
  margin-bottom: 1rem;
}

.text_block h2 {
  font-size: 3.3rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 10px;
  color: #264260;
}

.text_block .desc {
  font-size: 1.6rem;
  line-height: 1.7;
  color: #333;
  max-width: 80rem;
  background: #ffffffe3;
  padding: 3rem;
}
.text_block .desc p{
    margin-bottom: 1rem;
}

/* 右側グレー写真ブロック */
.image_block {
  position: absolute;
  top: 5rem;
  right: 0;
  width: 400px;   /* 固定幅 */
  /* height: 90%; */   /* セクションの高さに合わせる */
  background: #ccc; /* 仮のグレー背景 */
}

/* ===========================
   sec_hardtofind
=========================== */
.sec.sec_hardtofind {background: #e8eef2;padding: 4rem 0;text-align: center;}

section .header {margin-bottom: 2rem;}

section .header .inr {
}

section .header h2 {color: #264260;font-size: 3.4rem;font-weight: bold;margin-bottom: 2rem;}

section .header h2 .span1{font-weight: 700;font-size: 2.1rem;}
section .header h2 .num {font-weight: inherit;font-size: 185%;color: #cc1002;}

section .header .block2{display: flex;justify-content: center;}
section .header .block2 .p_bg {background: #264260;padding: 1rem 2rem;color: #fff;font-size: 2.4rem;border-radius: 3rem;font-weight: 600;}


.sec.sec_hardtofind .content {
}

.sec.sec_hardtofind .content .inr {
}

.sec.sec_hardtofind .trouble_lists {
}

.sec.sec_hardtofind .trouble_lists .flex {justify-content: center;justify-content: space-around;margin-bottom: 4rem;}

.sec.sec_hardtofind .trouble_lists .list {background: url(img/bg_cloud.png) no-repeat top;background-size: contain;width: calc(100% / 3);padding-top: 3rem;}

.sec.sec_hardtofind .trouble_lists .list .p1 {font-size: 2.2rem;margin-bottom: 1.3rem;font-weight: 600;color: #264260;}

.sec.sec_hardtofind .trouble_lists .list .img {
}

.sec.sec_hardtofind .trouble_lists .list .img img {
}

.sec.sec_hardtofind .big_txt {font-size: 3.4rem;font-weight: 700;color: #cc1001;}


.triangle{
  width: 0;
  height: 0;
  border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */
  border-right: 11rem solid transparent;
  border-top: 4rem solid; /* 上のボーダーに色をつけ、高さを決める */
  margin: 0 auto 5rem;
}
.triangle.blue{
    border-top: #200880;
}




/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 120rem;padding: 4rem 4rem 1.5rem;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 3rem;}
.company_message_block .logo_img img {max-width: 15rem;}

/* Heading */
.company_message_block h2 {text-align: left;font-size: 4.4rem;font-weight: 800;color: #264260;margin-bottom: 2rem;margin-top: 5rem;}
.company_message_block h2 .ast{
    font-size: 1.4rem;
}

.marker {
  /* 背景のグラデーションでマーカーを作成 */
  background-image: linear-gradient(transparent 60%, /* 上60%は透明 */ #ffeb3b80 60% /* 下40%は色付き */);
  /* 背景を繰り返さない */
  background-repeat: no-repeat;
  /* 文字色との兼ね合いで背景色を設定 */
  background-color: transparent;
  font-weight: inherit;
  font-size: inherit !important;
}
.company_message_block .p_big {text-align: center;font-size: 4.6rem;font-weight: 800;color: #264260;margin: 3rem 0;}
/* Layout */
.company_message_block .flex {padding: 1rem 0 0rem;justify-content: center;}

/* Left Content */

.case_block {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0;
}

.case_block .case {
  flex: 0 0 50rem;       /* スライド幅 */
  scroll-snap-align: start;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  padding: 16px;
}


.company_message_block .content_block {/* padding: 0 0% 0 5%; */width: calc(100% - 40rem);}
.company_message_block .content_block p {margin-bottom: 3rem;}

.company_message_block .content_block .fukidashi{
  position: relative; /* 疑似要素の基準となるため */
  max-width: 60rem;
  padding: 12px 20px;
  background-color: #f7fbff; /* 吹き出しの背景色 */
  color: #333;
  border-radius: 10px;
  margin-right: 20px; /* 吹き出しの先端部分の余白を確保 */
  margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidashi p{
    margin-bottom: 0;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */
     position: absolute;
     top: 50%; /* 縦方向の中央に配置 */
     right: -20px; /* 吹き出しの右端から外側に配置 */
     transform: translateY(-50%); /* 縦方向の中央に配置を調整 */
     border: 10px solid transparent; /* 透明なボーダー */
     border-left: 10px solid #f7fbff; /* 三角形の色（吹き出し本体と同じ色） */
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .p1{
      display: flex;             /* Flexコンテナ化 */
      align-items: center;       /* 子要素（テキストと線）を垂直方向の中央に配置 */
      width: 80%;               /* 親要素の幅いっぱいに広げる */
      text-align: center;
      font-size: 1.9rem;
      margin: 0 auto 1.7rem;
      color: #264260;
      font-weight: 600;
}
.company_message_block .col3_block .p1:after,
.company_message_block .col3_block .p1:before{
  content: "";               /* 擬似要素として空のコンテンツを生成 */
  flex-grow: 1;              /* 左右の余白を埋めるように伸縮 */
  height: 1px;               /* 線の太さ */
  background-color: #264260;    /* 線の色 */
  width: 30px;               /* 線の長さ（ここがポイント） */
}
.company_message_block .col3_block .p1:.company_message_block .col3_block .p1:before{
margin-right: 15px; 
}
.company_message_block .col3_block .p1:after{
 margin-left: 15px;
}
.company_message_block .col3_block .p1 span{
     white-space: nowrap;
     font-size: inherit;
     font-weight: inherit;
     background: #fff;
     padding: 0 2rem;
}

.company_message_block .col3_block .grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 3カラム */
	gap: 10px; /* カラム間の余白 */
	justify-items: center; /* 各セルの中身を横方向で中央に */
	align-items: center;   /* 各セルの中身を縦方向で中央に */
	max-width: 68rem;
	margin: 0 auto 2rem;
	}
.company_message_block .col3_block .grid .block {
  text-align: center;
  height: 20rem;
  width: 20rem;
  background: #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 14rem;
  font-size: 2.2rem;
  font-family: serif;
  font-weight: 800;
  background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block > div{
    font-family: serif;
    font-weight: 800;
    color: #c50156;
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .img img{

}

/* Right Image Area */
.company_message_block .img_block {width: 40rem;/* background: #f2f2f2; */display: flex;align-items: flex-end;min-width: 30rem;}
.company_message_block .img_block .img {width: 100%;}
.company_message_block .img_block .img img { }
.company_message_block .img_block p {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {
	background: var(--main_gra);
	padding: 6rem 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -8rem;padding-bottom: 6rem;}

.sec_contact .inr{
	max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 2.9rem;font-weight: 600;margin-bottom: 2rem;}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3rem;font-size: 1.7rem;}

/* Grid Layout */
.sec_contact .grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr); /* 3カラム */
		gap: 3rem; /* カラム間の余白 */
		justify-items: center; /* 各セルの中身を横方向で中央に */
		align-items: center;
		margin-bottom: 2rem;
	}
.sec_contact .grid .block {
    background: #fff;
    padding: 3.6rem 3rem;
    border-radius: 1.8rem;
    text-align: center;
    width: 100%;
}
.sec_contact .tel_block {
    background: #fff;
    padding: 3.6rem 3rem;
    border-radius: 1.8rem;
    text-align: center;
}

.sec_contact .tel_block {
  background: #fff;
  border-radius: 12px;
  padding: 30px 20px;
  text-align: center;
  margin: 30px auto 0;
  max-width: 100%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_block h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}

.sec_contact .tel_block p {
  font-size: 14px;
  margin-bottom: 8px;
  line-height: 1.6;
  color: #333;
}

.sec_contact .tel_block a {
  display: inline-block;
  font-size: 30px;
  font-weight: bold;
  color: #d4145a;
  text-decoration: none;
  /* background: #f2f2f2; */
  /* padding: 12px 25px; */
  border-radius: 25px;
}

.sec_contact .tel_block a:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 2rem;margin-bottom: 0.9rem;color: #264260;font-weight: 700;}
.sec_contact  .block .txt {color: inherit;font-size: 1.4rem;}

/* Buttons */
.sec_contact .block .btn {font-size: 1.8rem;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {
  position: relative;
  background: url("img/town_bg.jpg") no-repeat center center/cover;
  padding: 6rem 0;
  z-index: 0;
}

.sec_fact::before {
  content: "";
  position: absolute;
  inset: 0; /* top, right, bottom, left をまとめて指定 */
  background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */
  z-index: -1; /* 背景として敷く */
}

.sec_fact h2,.sec_fact p{
	color: #fff;
}
.sec_fact h2{font-size: 3.8rem;font-family: serif;margin-bottom: 3rem;}
.sec_fact p{
	font-size: 1.8rem;
	font-family: serif;
	line-height: 3.4rem;
	margin-bottom: 1.6rem;
	max-width: 80rem;
	margin: 0 auto;
}

/* 段落内の強調文字 */
.sec_fact .highlight {
  display: inline-block;
  font-size: 4.3rem;
  font-weight: bold;
  color: #e63946; /* 赤文字 */
  margin-right: 2.5rem; /* 後続文との間隔 */
  line-height: 1.4;
}



.highlight_block{
	float: left;
	margin: 2rem 0 1rem;
}
.sec_fact h3{
  text-align: center;
  color: #fff;
  margin: 6rem 0 2rem;
  font-size: 2.8rem;
  font-family: serif;
}
.sec_fact .p2{
  text-align: center;
  font-size: 3.4rem;
  line-height: 5.5rem;
}

.case_block {
    display: flex;
    margin-bottom: 3rem;
}

.case_block .case {
    background: #00000096;
    padding: 2.7rem;
    margin: 0 0rem;
    border-radius: 1px;
    border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .img img {}

.case_block .case .block {}

.case_block .case .block p {
    font-size: 1.6rem;
    line-height: 2.3rem;
}
.case_block .case .block p.tit{font-size: 1.8rem;margin-bottom: 1.5rem;}
.case_block .case .block p.txt{
    font-size: 1.5rem;
    line-height: 2.1rem;
    font-family: inherit;
    font-weight: 300;
    color: #e0e0e0;
}

.sec_needs {
    padding: 7rem 0;
}

.sec_needs .inr {}

.sec_header {
    margin-bottom: 4rem;
}
.sec_header p{
    font-size: 1.6rem;
}

.sec_header h2 {
    text-align: center;
    font-size: 4.2rem;
    font-family: serif;
    margin-bottom: 3rem;
    color: #264260;
    font-weight: 700;
}

.sec_header .txt {
    font-size: 1.7rem;
    color: #333;
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {
    	  display: flex;
    	  grid-template-columns: repeat(2, 1fr); /* 3カラム */
    	  gap: 20px; /* カラム間の余白 */
    	  justify-content: center;
    	  align-items: anchor-center;
}

.sec_needs .needs_content .content {
    width: 70%;
}

.sec_needs .needs_content .content .p1 {
    font-size: 2.9rem;
    font-family: serif;
    font-weight: 600;
    color: #264260;
}

.sec_needs .needs_content .img {
    /* background: #f2f2f2; */
    height: 37rem;
    width: 30rem;
}

.sec_needs .needs_content .img img {}

.sec_needs .point_content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    justify-items: center;
    max-width: 80rem;
    margin: 0 auto 3rem;
}

.sec_needs .point_content .point {
    background: #f2f2f2;
    padding: 2.2rem;
    border-radius: 5px;
    border-radius: 20px;
    background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);
    border: solid 3px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .img img{
    text-align: center;
    margin: 0 auto;
    max-width: 7rem;
}

.sec_needs .point_content .point .tit {
    font-size: 2.3rem;
    text-align: center;
    margin-bottom: 1.2rem;
    font-weight: 600;
    color: #264260;
}

.sec_needs .point_content .point .txt {
    font-size: 1.6rem;
    color: #333;
    line-height: 2.2rem;
}

.sec_needs .triangle {
  width: 0;
  height: 0;
  border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */
  border-right: 11rem solid transparent;
  border-top: 4rem solid #d22121; /* 上のボーダーに色をつけ、高さを決める */
  margin: 0 auto 5rem;
}
.sec_needs .table_compare {
    max-width: 80rem;
    margin: 0 auto;
    font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px; /* 角丸 */
    overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_compare table {
    width: 100%;
    border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_compare thead {
    /* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */
}

.sec_needs .table_compare thead tr {
    /* 特に指定なし */
}

.sec_needs .table_compare thead th {
    padding: 15px 20px 0;
    text-align: center;
    font-weight: bold;
    color: #333;
    white-space: nowrap;
    border-bottom: 1px solid #ccc;
    position: relative;
}
.sec_needs .table_compare thead th > div{
    display: flex;
    justify-content: center;
    align-items: end;
}
.sec_needs .table_compare thead th img{width: 86px;max-width: inherit;margin-right: 1.2rem;}
.sec_needs .table_compare thead th span{
    font-size: 2.3rem;
    font-weight: 600;
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_compare thead th:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_compare tbody {
    /* 特に指定なし */
}

.sec_needs .table_compare tbody tr {
    /* 行の区切り */
    border-bottom: 1px solid #eee;
}

.sec_needs .table_compare tbody tr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_compare tbody td {
    padding: 15px 20px;
    vertical-align: top;
    line-height: 1.6;
    color: #000000;
    background-color: #f9f9f9; /* 左側の背景色 */
    font-size: 1.8rem;
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_compare tbody td.right {
    background-color: #eaf6ff;
    color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_compare tbody td.left {
    background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_compare tbody td> div{
    display: flex;
    align-items: center;
}
.sec_needs .table_compare tbody td.left span{
    color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compare img {
    vertical-align: middle;
    margin-left: 5px;
    max-width: 30px; /* アイコンのサイズ調整 */
    height: auto;
}
.sec_needs .table_compare tbody td> div img{
    margin-right: 1rem;
}
.sec_needs .table_compare tbody td.right span{
    font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compare h3 {
    font-size: 1.1em;
    margin-top: 0;
    margin-bottom: 5px;
    color: #333;
}

.sec_usecase {
    padding: 6rem 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_header h2 {}

.sec_usecase .sec_header .txt {}

.sec_usecase .contents {
    /* max-width: 100rem; */
    margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 3rem;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 2.6rem;border-radius: 30px;}

.sec_usecase .contents .content .flex {}

.sec_usecase .contents .content .block {
  width: calc(100% - var(--width_2col_img));
  padding-right: 3rem;
}

.sec_usecase .contents .content .block .tit {
    font-size: 2.2rem;
    margin-bottom: 1.6rem;
    padding-top: 1rem;
    color: #264260;
    font-weight: 600;
}

.sec_usecase .contents .content .block .txt {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    color: #333;
}
.sec_usecase .contents .content .block p{
    color: #333;
}
.sec_usecase .contents .content .block p .tag{
    display: inline-block;
    background: #f2f2f2;
    border: solid 1px #ccc;
    font-size: 1.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: 3px;
}
.sec_usecase .contents .content .img {
    width: var(--width_2col_img);
    height: 21rem;
    background: #ccc;
    border-radius: 2rem;
    overflow: hidden;
}

.sec_usecase .contents .content .img img {}


.sec_faq {
    padding: 6rem 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_header h2 {}

.sec_faq .sec_header .txt {}

.sec_faq .contents {
	  display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3カラム */
    gap: 20px; /* カラム間の余白 */
}

.sec_faq .contents .content {
    padding: 1.9rem;
    border: solid 1px #ec3378;
}

.sec_faq .contents .content .p_q {
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #264260;
}

.sec_faq .contents .content .p_a {
    font-size: 1.5rem;
    color: #333;
}
.sec_faq .contents .content .attention{font-weight: inherit;font-size: 1.2rem;color: #4e4e4e;line-height: 1.3;margin-top: 0.7rem;font-size: clamp(1rem, 3vw, 1.4rem);}

.sec_flow{
    background: #eef8ff;
    padding: 6rem 0;
}

.sec_flow .inr_in{
    max-width: 70rem;
    margin: 0 auto;
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 2.2rem;font-weight: 600;color: #264260;margin-bottom: 0.6rem;}
.sec_flow .block .txt{color: #333;}
.sec_flow .block .detail{width: 65%;}
.sec_flow .block .detail .img{
    display: none;
}

.sec_flow .block .img{margin-left: 4%;width: calc(100% - 70%);}
.sec_flow .block .img img{
    
}
.sec_flow .block.w100{
    width: 100%;
    display: block;
}

.sec_flow .triangle{
    width: 0;
    height: 0;
    border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */
    border-right: 5rem solid transparent;
    border-top: 2rem solid #FFEB3B;
    margin: 0 auto 0rem;
}


.sec_aboutus {
  position: relative;
  padding: 6rem 0;
  overflow: hidden;
}


.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_header h2 {}

.sec_aboutus .contents {
    max-width: 80rem;
    margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {
    align-items: anchor-center;
}

.sec_aboutus .contents .block {
  width: calc(100% - var(--width_2col_img));
  padding-right: 3rem;
}

.sec_aboutus .contents .block .img {
    width: 20rem;
    margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .img img {}

.sec_aboutus .contents .block .txt {}

.sec_aboutus .contents .ceo_img {
    width: var(--width_2col_img);
    /* border-radius: 2rem; */
    overflow: hidden;
}

.sec_aboutus .contents .ceo_img img {
    /* width: 100%; */
    height: 36rem;
    /* background: #ccc; */
}

.sec_aboutus .company_table {
    max-width: 70rem;
    margin: 0 auto;
}

.sec_aboutus .company_table table {}

.sec_aboutus .company_table tr {}

.sec_aboutus .company_table th,.sec_aboutus .company_table td{
  border-bottom: solid 1px #f7fbff;
  padding: 1.7rem 2rem;
}

.sec_aboutus .company_table th {
    width: 35%;
}

.sec_aboutus .company_table td {}


footer{
  background: var(--main_gra);
  padding: 3rem 0 0.5rem;
}

footer .inr {padding: 0;}

footer .flex {
    align-items: center;
    justify-content: space-between;
}

footer .block {
    margin-right: 2rem;
}

footer .block .logo {
    margin-bottom: 1.3rem;
}

footer .block .logo img {
    max-width: 13rem;
}

footer .block {
    color: #fff;
    line-height: 1.6rem;
}

footer .block.no2 p {
    font-size: 1.2rem;
}

footer .footer_nav{

}
footer .footer_nav ul{display: flex;}
footer .footer_nav li{

}
footer .footer_nav li a{
    color: #fff;
    font-size: 1.3rem;
    margin-left: 0;
    padding: 0.8rem 2.3rem;
    display: block;
}
footer .copyright{
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.3rem 0;
    margin-top: 3rem;
}





.supplement{background: #fffce5;padding: 0.6rem 2rem;border-radius: 0.9rem;margin-bottom: 1.6rem;}
.supplement .tit{margin-bottom: 1px !important;margin-top: -1.4rem;font-weight: 600;color: #b8a71e;}
.supplement .txt{
    margin-bottom: 0 !important;
    font-size: 1.3rem;
    line-height: 1.3;
    color: #5b583b;
}

.sec_ast{background: #f2f2f2;padding: 2rem 0;}
.sec_ast p{
    font-size: 1rem;
    color: #838383;
}

.pan {
  background: #f8f8f8;
  padding: 0.8rem 0;
  font-size: 1.4rem;
  border-bottom: 1px solid #eee;
}

.pan .inr {
  padding: 0 2rem;
}

.pan .flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.pan a {
  color: #666;
  text-decoration: none;
  transition: color 0.2s ease;
}

.pan a:hover {
  color: #d90445; /* ブランドカラーに連動 */
}

.pan span {
  margin: 0 0.6rem;
  color: #aaa;
}


@media screen and (max-width: 1000px) {
    #mainbnr .inr {
        padding: 5rem 1%;
    }
    .top_user_voice {
        padding: 0 1%;
    }
    .inr {
    padding: 1rem 1% 1rem;
}
}

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

.pc{
    display: none;
}
.sp{
    display: block;
}

.inr{max-width: 100%;margin: 0 auto;padding: 2vw 3% 6vw;}

header{
  border-top: 5px solid; /* 太さを指定 */
  border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{
	align-items: center;
}
header .inr{padding: 3vw 3%;}


header .block01{display: flex;width: 12vw;}
header .block01 .logo{

}
header .block01 .logo img{max-width: 28vw;margin-right: 1.4vw;max-width: clamp(8rem, 28vw, 11rem);}
header .block01 .message{display: none;}

header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}
header .block02{display: flex;align-items: center;width: calc(100% - 10rem);justify-content: end;}
header .block02 .contact_block{display: block;}

.header_tel_block{text-align: right;margin-right: 2.1vw;}
.header_tel_block .number{font-size: 4.5vw;font-weight: 600;color: #000000;line-height: 1.3rem;width: auto;font-size: clamp(1.2rem, 4.5vw, 2.1rem);}
.header_tel_block .number img, .header_tel_block .number i{font-size: 3vw;margin-right: 0rem;color: #369F2F;max-width: 2.5rem;}
.header_tel_block .txt{font-size: 2.8vw;color: #272727;line-height: 1.2rem;font-size: clamp(1rem, 2.8vw, 1.1rem);}



.btn{
	background: var(--main_gra);
	color: #fff;
	border-radius: 3rem;
	padding: 2.3vw 3.5vw;
}
.btn.primary{
	font-size: 2.5vw;
	padding: 1.8vw 2vw;
	font-size: clamp(1.2rem, 2.3vw, 1.5rem);
}


#mainbnr{
    background: url(img/mainbnr_sp.png) no-repeat;
    height: 97vw;
    background-size: 199%;
    background-position: right 20% bottom 3vw;
    overflow: hidden;
}



#mainbnr .inr {padding: 5vw 3%;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {display: none;}
#mainbnr .logo_block img {max-width: 15rem;}

/* Headline & Message */
#mainbnr h1 {font-size: 8vw;font-weight: 700;margin: 3vw 0 1vw;line-height: 1.8;color: #264260;text-align: left;letter-spacing: -1.3px;}
#mainbnr .message {text-align: center;font-size: 4.6vw;font-family: serif;margin-bottom: 2vw;color: #264260;text-shadow: 0px 0px 4px #fff;}
#mainbnr h1 span{
    font-size: 90%;
    font-weight: inherit;
}
/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;width: 100%;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 25.3vw;padding: 0 0vw 2vw;margin: 0 1.1vw 0vw;background-position: left 0 bottom 1vw;border-radius: 11rem;height: 26vw;width: 26vw;display: flex;align-items: center;justify-content: center;}
#mainbnr .point_lists .block p {font-size: 5.9vw;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;text-shadow: 0px 0px 3px #fff;}
#mainbnr .point_lists .block p .span1 {display: block;font-size: 4vw;text-align: center;line-height: 1.2;}
#mainbnr .point_lists .block p .spsn2 {font-size: 3.5vw;}


/* スマホのみ適用 */

.top_user_voice .voice .tit {
    font-size: 4vw;
    margin-bottom: 0.4vw;
    font-size: clamp(1.2rem, 3.4vw, 2.4rem);
}
.top_user_voice .voice .txt {
    font-size: 3.4vw;
    font-weight: 300;
    color: #333;
    font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .info {
    font-size: 3.2vw;
    font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .img {
    /* background: var(--main_gra); */
    height: 10vw;
    width: 10vw;
    border-radius: 20rem;
    margin-right: 2vw;
    overflow: hidden;
}

  .top_user_voice .grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    padding: 0 10%; /* サイド余白を確保 */
  }

  .top_user_voice .grid::-webkit-scrollbar {
    display: none;
  }

  .top_user_voice .voice {
    flex: 0 0 80%;              /* ← 横幅80% */
    scroll-snap-align: center;  /* 中央にスナップ */
    margin: 0 2px;             /* 両サイドの余白 */
    max-width: none;
  }




.advice_section {
  position: relative;
  width: 100%;
  /* min-height: 400px; */ /* 適宜調整 */
  padding: 5vw 0 0;
  margin-bottom: 0rem;
}

/* 左側テキスト */
.text_block {
  width: 100%;       /* 常に1000px幅 */
  max-width: 100%;   /* これ以上広がらない */
  margin-left: 0;      /* 左寄せ */
  position: relative;
  z-index: 1;
}

.text_block .label {
  font-size: 3.8vw;
  color: #264260;
  margin-bottom: 10px;
  text-align: center;
  font-family: serif;
  margin-bottom: 5vw;
}

.text_block h2 {
  font-size: 4.5vw;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 10px;
  color: #264260;
  font-size: clamp(2.4rem, 4.5vw, 3.3rem);
}


.text_block .desc {
  line-height: 1.7;
  color: #333;
  max-width: 100%;
  background: none;
  padding: 0vw;
  /* width: 70%; */
}

.text_block .desc > div{background: #ffffffe3;padding: 4vw;width: 73%;margin-left: -2vw;}
.text_block .desc p{/* font-size: 2.8vw; */font-size: clamp(1.2rem, 3.7vw, 1.6rem);} 

/* 右側グレー写真ブロック */
.image_block {
  position: absolute;
  top: inherit;
  right: 0;
  width: 51%;   /* 固定幅 */
  /* height: 90%; */   /* セクションの高さに合わせる */
  background: #ccc; /* 仮のグレー背景 */
  bottom: 21%;
}


/* ===========================
   sec_hardtofind
=========================== */
.sec.sec_hardtofind {background: #e8eef2;padding: 4rem 0;text-align: center;}

section .header {margin-bottom: 2rem;}

section .header .inr {
}

section .header h2 {color: #264260;font-size: 3.4rem;font-weight: bold;margin-bottom: 2rem;font-size: clamp(1.2rem, 7.4vw, 2.6rem);}

section .header h2 .span1{font-weight: 700;font-size: 2.1rem;display: block;font-size: clamp(1.2rem, 7.4vw, 2.6rem);margin-top: 2rem;}
section .header h2 .num {font-weight: inherit;font-size: 185%;color: #cc1002;font-size: clamp(1.2rem, 12.4vw, 4.6rem);}

section .header .block2{display: flex;justify-content: center;}
section .header .block2 .p_bg {background: #264260;padding: 1rem 2rem;color: #fff;font-size: 2.4rem;border-radius: 3rem;font-weight: 600;font-size: clamp(1.2rem, 4vw, 2.2rem);}


.sec.sec_hardtofind .content {
}

.sec.sec_hardtofind .content .inr {
}

.sec.sec_hardtofind .trouble_lists {
}

.sec.sec_hardtofind .trouble_lists .flex {justify-content: center;justify-content: space-around;margin-bottom: 4rem;display: block;margin: 0 auto;}

.sec.sec_hardtofind .trouble_lists .list {background: url(img/bg_cloud.png) no-repeat top;background-size: contain;width: calc(100% / 1);padding-top: 6vw;margin-bottom: 9vw;@charset "UTF-8";@import url("css/reset.css");:root {
  --main_gra: linear-gradient(to right, #d90445, #e65a87, #b44e95);--main-gra_line: linear-gradient(to right, #d90445, #e65a87, #b44e95);--width_2col_img: 33rem;
}html{font-size:62.5%;}
/* サンプル font-size:14px; を指定する場合 */body{font-size:1.4rem;font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';}

.w10px{width: 10px; }.w20px{width: 20px;}.w30px{width: 30px;}.w40px{width: 40px;}.w50px{width: 50px;}.w60px{width: 60px;}.w70px{width: 70px;}.w80px{width: 80px;}.w90px{width: 90px;}.w100px{width: 100px;}.w110px{width: 110px;}.w120px{width: 120px;}.w130px{width: 130px;}.w140px{width: 140px;}.w150px{width: 150px;}.w160px{width: 160px;}.w170px{width: 170px;}.w180px{width: 180px;}.w190px{width: 190px;}.w200px{width: 200px;}.w210px{width: 210px;}.w220px{width: 220px;}.w230px{width: 230px;}.w240px{width: 240px;}.w250px{width: 250px;}.w260px{width: 260px;}.w270px{width: 270px;}.w280px{width: 280px;}.w290px{width: 290px;}.w300px{width: 300px;}
.tc{text-align: center !important;}.tr{text-align: right !important;}.tl{text-align: left !important;}

.tc{text-align: center;
}
.tl{text-align: left;
}
.tr{text-align: right;
}
.p_title{font-weight: bold;font-size: 20px;
}
.p_subtitle{font-size: 18px;font-weight: bold;
}button{
 cursor: pointer;
}

.pc{display: block;
}
.sp{display: none;
}

.inr{max-width: 100rem;margin: 0 auto;padding: 1rem 0 1rem;}header{
  border-top: 5px solid; /* 太さを指定 */border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{align-items: center;
}header .block01{display: flex;}header .block01 .logo{}header .block01 .logo img{max-width: 14rem;margin-right: 1.4rem;}header .block01 .message{}header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}header .block02{display: flex;align-items: center;}header .block02 .contact_block{}

.header_tel_block{display: inline-block;text-align: right;margin-right: 1rem;}
.header_tel_block .number{font-size: 2.1rem;font-weight: 600;color: #000000;line-height: 1.9rem;width: 19rem; }
.header_tel_block .numberimg, .header_tel_block .number i{ font-size: 1.9rem;margin-right: 0.2rem;color: #369F2F;max-width: 2.5rem; }
.header_tel_block .txt{font-size: 1.1rem;color: #272727;line-height: 1.2rem; }



.btn{background: var(--main_gra);color: #fff;border-radius: 3rem;padding: 0.9rem 3rem;
}
.btn.primary{
 
}


#mainbnr{background: url(img/mainbnr.png) no-repeat right 0;/* height: 42rem; */background-size: cover;
}



#mainbnr .inr {padding: 5rem 0;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {text-align: center;}
#mainbnr .logo_blockimg {max-width: 15rem;}

/* Headline & Message */
#mainbnrh1 {font-size: 4.3rem;font-weight: 700;margin: 2rem 0;line-height: 7.7rem;color: #264260;text-shadow: 0px 0px 9px #fff;}
#mainbnrh1 span{
    font-weight: inherit;font-size: 90%;
}
#mainbnr .message {text-align: center;font-size: 2.1rem;font-family: serif;margin-bottom: 2rem;color: #264260;font-weight: 700;}

/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 14.5rem;padding: 0 3rem 6rem;margin: 0 0.6rem;}
#mainbnr .point_lists .blockp {font-size: 3.5rem;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;text-shadow: 0px 0px 3px #ffffff;}
#mainbnr .point_lists .blockp .span1 {display: block;font-size: 2.2rem;text-align: center;line-height: 1.7rem;}
#mainbnr .point_lists .blockp .spsn2 {font-size: 1.7rem;}


/* Top User Voice */
.top_user_voice {margin-top: -2rem;}
.top_user_voice .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */
 }
.top_user_voice .inr{padding: 0;
}
/* Voice Block */
.top_user_voice .voice {box-shadow: 0px 0px 5px #959595;border-radius: 3px;padding: 1.5rem;background: #fff;border: solid 2px #07197e;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);}
.top_user_voice .voice .tit {font-size: 1.6rem;font-weight: 600;margin-bottom: 0.6rem;/* font-family: serif; */color: #264260;/* border-bottom: solid 1px; */padding-bottom: 4px;}
.top_user_voice .voice .txt {font-size: 1.5rem;font-weight: 300;color: #333;}

/* User Block */
.top_user_voice .voice .user_block {padding-top: 1.5rem;display: flex;align-items: center;}
.top_user_voice .voice .user_block .img {/* background: var(--main_gra); */height: 5rem;width: 5rem;border-radius: 10rem;margin-right: 1.5rem;overflow: hidden;}
.top_user_voice .voice .user_block .imgimg {}
.top_user_voice .voice .user_block .info { }



.advice_section {position: relative;width: 100%;/* min-height: 400px; */ /* 適宜調整 */padding: 5rem 0;
}

/* 左側テキスト */
.text_block {width: 1000px;       /* 常に1000px幅 */max-width: 1000px;   /* これ以上広がらない */margin-left: 0;      /* 左寄せ */position: relative;z-index: 1;
}

.text_block .label {font-size: 2rem;color: #264260;margin-bottom: 10px;text-align: center;font-family: serif;margin-bottom: 1rem;
}

.text_blockh2 {
  font-size: 3.3rem;font-weight: bold;line-height: 1.6;margin-bottom: 10px;color: #264260;
}

.text_block .desc {font-size: 1.6rem;line-height: 1.7;color: #333;max-width: 80rem;background: #ffffffe3;padding: 3rem;
}

/* 右側グレー写真ブロック */
.image_block {position: absolute;top: 5rem;right: 0;width: 400px;   /* 固定幅 *//* height: 90%; */   /* セクションの高さに合わせる */background: #ccc; /* 仮のグレー背景 */
}

/* ===========================
   sec_hardtofind
=========================== */
.sec.sec_hardtofind {background: #e8eef2;padding: 4rem 0;text-align: center;}section .header {margin-bottom: 2rem;}section .header .inr {}section .header h2 {color: #264260;font-size: 3.4rem;font-weight: bold;margin-bottom: 2rem;}section .header h2 .span1{font-weight: 700;font-size: 2.1rem;}section .header h2 .num {font-weight: inherit;font-size: 185%;color: #cc1002;}section .header .block2{display: flex;justify-content: center;}section .header .block2 .p_bg {background: #264260;padding: 1rem 2rem;color: #fff;font-size: 2.4rem;border-radius: 3rem;font-weight: 600;}


.sec.sec_hardtofind .content {
}

.sec.sec_hardtofind .content .inr {
}

.sec.sec_hardtofind .trouble_lists {
}

.sec.sec_hardtofind .trouble_lists .flex {justify-content: center;justify-content: space-around;margin-bottom: 4rem;}

.sec.sec_hardtofind .trouble_lists .list {background: url(img/bg_cloud.png) no-repeat top;background-size: contain;width: calc(100% / 3);padding-top: 3rem;}

.sec.sec_hardtofind .trouble_lists .list .p1 {font-size: 2.2rem;margin-bottom: 1.3rem;font-weight: 600;color: #264260;}

.sec.sec_hardtofind .trouble_lists .list .img {
}

.sec.sec_hardtofind .trouble_lists .list .imgimg {}

.sec.sec_hardtofind .big_txt {font-size: 3.4rem;font-weight: 700;color: #cc1001;}


.triangle{width: 0;height: 0;border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */border-right: 11rem solid transparent;border-top: 4rem solid; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5rem;
}
.triangle.blue{border-top: #200880;
}




/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 120rem;padding: 4rem 4rem 1.5rem;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 3rem;}
.company_message_block .logo_imgimg {max-width: 15rem;}

/* Heading */
.company_message_blockh2 {text-align: left;font-size: 4.4rem;font-weight: 800;color: #264260;margin-bottom: 2rem;margin-top: 5rem;}
.company_message_blockh2 .ast{
    font-size: 1.4rem;
}

.marker {
  /* 背景のグラデーションでマーカーを作成 */background-image: linear-gradient(transparent 60%, /* 上60%は透明 */ #ffeb3b80 60% /* 下40%は色付き */);
  /* 背景を繰り返さない */background-repeat: no-repeat;
  /* 文字色との兼ね合いで背景色を設定 */background-color: transparent;font-weight: inherit;
}
.company_message_block .p_big {text-align: center;font-size: 3rem;font-weight: 800;color: #264260;margin: 3rem 0;}
/* Layout */
.company_message_block .flex {padding: 1rem 0 0rem;justify-content: center;}

/* Left Content */

.case_block {display: flex;gap: 20px;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;padding: 10px 0;
}

.case_block .case {flex: 0 0 50rem;       /* スライド幅 */scroll-snap-align: start;background: #fff;border-radius: 8px;box-shadow: 0 2px 6px rgba(0,0,0,0.1);padding: 16px;
}


.company_message_block .content_block {/* padding: 0 0% 0 5%; */width: calc(100% - 49rem);}
.company_message_block .content_blockp {margin-bottom: 3rem;}

.company_message_block .content_block .fukidashi{position: relative; /* 疑似要素の基準となるため */max-width: 60rem;padding: 12px 20px;background-color: #f7fbff; /* 吹き出しの背景色 */color: #333;border-radius: 10px;margin-right: 20px; /* 吹き出しの先端部分の余白を確保 */margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidaship{
    margin-bottom: 0;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */position: absolute;top: 50%; /* 縦方向の中央に配置 */right: -20px; /* 吹き出しの右端から外側に配置 */transform: translateY(-50%); /* 縦方向の中央に配置を調整 */border: 10px solid transparent; /* 透明なボーダー */border-left: 10px solid #f7fbff; /* 三角形の色（吹き出し本体と同じ色） */
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .p1{display: flex;             /* Flexコンテナ化 */align-items: center;       /* 子要素（テキストと線）を垂直方向の中央に配置 */width: 80%;               /* 親要素の幅いっぱいに広げる */text-align: center;font-size: 1.9rem;margin: 0 auto 1.7rem;color: #264260;font-weight: 600;
}
.company_message_block .col3_block .p1:after,
.company_message_block .col3_block .p1:before{
  content: "";               /* 擬似要素として空のコンテンツを生成 */flex-grow: 1;              /* 左右の余白を埋めるように伸縮 */height: 1px;               /* 線の太さ */background-color: #264260;    /* 線の色 */width: 30px;               /* 線の長さ（ここがポイント） */
}
.company_message_block .col3_block .p1:.company_message_block .col3_block .p1:before{
margin-right: 15px; 
}
.company_message_block .col3_block .p1:after{
 margin-left: 15px;
}
.company_message_block .col3_block .p1span{
     white-space: nowrap;font-size: inherit;font-weight: inherit;background: #fff;padding: 0 2rem;
}

.company_message_block .col3_block .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;   /* 各セルの中身を縦方向で中央に */max-width: 68rem;margin: 0 auto 2rem;
 }
.company_message_block .col3_block .grid .block {text-align: center;height: 20rem;width: 20rem;background: #ccc;display: flex;justify-content: center;align-items: center;border-radius: 14rem;font-size: 2.2rem;font-family: serif;font-weight: 800;background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block >div{
    font-family: serif;font-weight: 800;color: #d4558c;
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .imgimg{}

/* Right Image Area */
.company_message_block .img_block {width: 40rem;/* background: #f2f2f2; */display: flex;align-items: flex-end;min-width: 30rem;}
.company_message_block .img_block .img {width: 100%;}
.company_message_block .img_block .imgimg {}
.company_message_block .img_blockp {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {background: var(--main_gra);padding: 6rem 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -8rem;padding-bottom: 6rem;}

.sec_contact .inr{max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 2.9rem;font-weight: 600;margin-bottom: 2rem;}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3rem;font-size: 1.7rem;}

/* Grid Layout */
.sec_contact .grid {display: grid;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 3rem; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;margin-bottom: 2rem;
 }
.sec_contact .grid .block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}
.sec_contact .tel_block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}

.sec_contact .tel_block {background: #fff;border-radius: 12px;padding: 30px 20px;text-align: center;margin: 30px auto 0;max-width: 820px;box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_blockh3 {
  font-size: 18px;font-weight: bold;margin-bottom: 10px;
}

.sec_contact .tel_blockp {
  font-size: 14px;margin-bottom: 8px;line-height: 1.6;color: #333;
}

.sec_contact .tel_blocka {
  display: inline-block;font-size: 30px;font-weight: bold;color: #d4145a;text-decoration: none;/* background: #f2f2f2; *//* padding: 12px 25px; */border-radius: 25px;
}

.sec_contact .tel_blocka:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 2rem;margin-bottom: 0.9rem;color: #264260;font-weight: 700;}
.sec_contact  .block .txt {color: inherit;font-size: 1.4rem;}

/* Buttons */
.sec_contact .block .btn {font-size: 1.8rem;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {position: relative;background: url("img/town_bg.jpg") no-repeat center center/cover;padding: 6rem 0;z-index: 0;
}

.sec_fact::before {
  content: "";position: absolute;inset: 0; /* top, right, bottom, left をまとめて指定 */background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */z-index: -1; /* 背景として敷く */
}

.sec_facth2,.sec_fact p{
 color: #fff;
}
.sec_facth2{font-size: 3.8rem;font-family: serif;margin-bottom: 3rem;}
.sec_factp{
 font-size: 1.8rem;font-family: serif;line-height: 3.4rem;margin-bottom: 1.6rem;max-width: 80rem;margin: 0 auto;
}

/* 段落内の強調文字 */
.sec_fact .highlight {display: inline-block;font-size: 4.3rem;font-weight: bold;color: #e63946; /* 赤文字 */margin-right: 2.5rem; /* 後続文との間隔 */line-height: 1.4;
}



.highlight_block{float: left;margin: 2rem 0 1rem;
}
.sec_facth3{
  text-align: center;color: #fff;margin: 6rem 0 2rem;font-size: 2.8rem;font-family: serif;
}
.sec_fact .p2{text-align: center;font-size: 3.4rem;line-height: 5.5rem;
}

.case_block {display: flex;margin-bottom: 3rem;
}

.case_block .case {background: #00000096;padding: 2.7rem;margin: 0 0rem;border-radius: 1px;border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .imgimg {}

.case_block .case .block {}

.case_block .case .blockp {
    font-size: 1.6rem;line-height: 2.3rem;
}
.case_block .case .blockp.tit{font-size: 1.8rem;margin-bottom: 1.5rem;}
.case_block .case .blockp.txt{
    font-size: 1.5rem;line-height: 2.1rem;font-family: inherit;font-weight: 300;color: #e0e0e0;
}

.sec_needs {padding: 7rem 0;
}

.sec_needs .inr {}

.sec_header {margin-bottom: 4rem;
}

.sec_headerh2 {
    text-align: center;font-size: 4.2rem;font-family: serif;margin-bottom: 3rem;color: #264260;font-weight: 700;
}

.sec_header .txt {font-size: 1.6rem;color: #333;
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {display: flex;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */justify-content: center;align-items: anchor-center;
}

.sec_needs .needs_content .content {width: 70%;
}

.sec_needs .needs_content .content .p1 {font-size: 2.9rem;font-family: serif;font-weight: 600;color: #264260;
}

.sec_needs .needs_content .img {/* background: #f2f2f2; */height: 37rem;width: 30rem;
}

.sec_needs .needs_content .imgimg {}

.sec_needs .point_content {display: grid;grid-template-columns: repeat(2, 1fr);gap: 20px;justify-items: center;max-width: 80rem;margin: 0 auto 3rem;
}

.sec_needs .point_content .point {background: #f2f2f2;padding: 2.2rem;border-radius: 5px;border-radius: 20px;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);border: solid 3px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .imgimg{
    text-align: center;margin: 0 auto;max-width: 7rem;
}

.sec_needs .point_content .point .tit {font-size: 2.3rem;text-align: center;margin-bottom: 1.2rem;font-weight: 600;color: #264260;
}

.sec_needs .point_content .point .txt {font-size: 1.6rem;color: #333;line-height: 2.2rem;
}

.sec_needs .triangle {width: 0;height: 0;border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */border-right: 11rem solid transparent;border-top: 4rem solid #d22121; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5rem;
}
.sec_needs .table_compare {max-width: 80rem;margin: 0 auto;font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;border-collapse: separate;border-spacing: 0;border-radius: 8px; /* 角丸 */overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_comparetable {
    width: 100%;border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_comparethead {
    /* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */}

.sec_needs .table_comparethead tr {
    /* 特に指定なし */}

.sec_needs .table_comparethead th {
    padding: 15px 20px 0;text-align: center;font-weight: bold;color: #333;white-space: nowrap;border-bottom: 1px solid #ccc;position: relative;
}
.sec_needs .table_comparethead th > div{
    display: flex;justify-content: center;align-items: end;
}
.sec_needs .table_comparethead th img{width: 86px;max-width: inherit;margin-right: 1.2rem;}
.sec_needs .table_comparethead th span{
    font-size: 2.3rem;font-weight: 600;
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_comparethead th:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_comparetbody {
    /* 特に指定なし */}

.sec_needs .table_comparetbody tr {
    /* 行の区切り */
    border-bottom: 1px solid #eee;
}

.sec_needs .table_comparetbody tr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_comparetbody td {
    padding: 15px 20px;vertical-align: top;line-height: 1.6;color: #000000;background-color: #f9f9f9; /* 左側の背景色 */font-size: 1.8rem;
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_comparetbody td.right {
    background-color: #eaf6ff;color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_comparetbody td.left {
    background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_comparetbody td> div{
    display: flex;align-items: center;
}
.sec_needs .table_comparetbody td.left span{
    color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compareimg {
    vertical-align: middle;margin-left: 5px;max-width: 30px; /* アイコンのサイズ調整 */height: auto;
}
.sec_needs .table_comparetbody td> div img{
    margin-right: 1rem;
}
.sec_needs .table_comparetbody td.right span{
    font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compareh3 {
    font-size: 1.1em;margin-top: 0;margin-bottom: 5px;color: #333;
}

.sec_usecase {padding: 6rem 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_headerh2 {}

.sec_usecase .sec_header .txt {}

.sec_usecase .contents {/* max-width: 100rem; */margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 3rem;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 2.6rem;border-radius: 30px;}

.sec_usecase .contents .content .flex {}

.sec_usecase .contents .content .block {width: calc(100% - var(--width_2col_img));padding-right: 3rem;
}

.sec_usecase .contents .content .block .tit {font-size: 2.2rem;margin-bottom: 1.6rem;padding-top: 1rem;color: #264260;font-weight: 600;
}

.sec_usecase .contents .content .block .txt {font-size: 1.6rem;margin-bottom: 2rem;color: #333;
}

.sec_usecase .contents .content .img {width: var(--width_2col_img);height: 21rem;background: #ccc;border-radius: 2rem;overflow: hidden;
}

.sec_usecase .contents .content .imgimg {}


.sec_faq {padding: 6rem 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_headerh2 {}

.sec_faq .sec_header .txt {}

.sec_faq .contents {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */
}

.sec_faq .contents .content {padding: 1.9rem;border: solid 1px #ec3378;
}

.sec_faq .contents .content .p_q {font-size: 1.7rem;font-weight: 700;margin-bottom: 0.5rem;color: #264260;
}

.sec_faq .contents .content .p_a {font-size: 1.5rem;color: #333;
}
.sec_faq .contents .content .attention{
    
}

.sec_flow{background: #eef8ff;padding: 6rem 0;
}

.sec_flow .inr_in{max-width: 70rem;margin: 0 auto;
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 2.2rem;font-weight: 600;color: #264260;margin-bottom: 0.6rem;}
.sec_flow .block .txt{color: #333;}
.sec_flow .block .detail{width: 65%;}
.sec_flow .block .detail .img{display: none;
}

.sec_flow .block .img{margin-left: 4%;width: calc(100% - 70%);}
.sec_flow .block .imgimg{}
.sec_flow .block.w100{width: 100%;display: block;
}

.sec_flow .triangle{width: 0;height: 0;border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */border-right: 5rem solid transparent;border-top: 2rem solid #FFEB3B;margin: 0 auto 0rem;
}


.sec_aboutus {padding: 6rem 0;
}

.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_headerh2 {}

.sec_aboutus .contents {max-width: 80rem;margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {align-items: anchor-center;
}

.sec_aboutus .contents .block {width: calc(100% - var(--width_2col_img));padding-right: 3rem;
}

.sec_aboutus .contents .block .img {width: 20rem;margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .imgimg {}

.sec_aboutus .contents .block .txt {}

.sec_aboutus .contents .ceo_img {width: var(--width_2col_img);/* border-radius: 2rem; */overflow: hidden;
}

.sec_aboutus .contents .ceo_imgimg {
    /* width: 100%; */
    height: 36rem;/* background: #ccc; */
}

.sec_aboutus .company_table {max-width: 70rem;margin: 0 auto;
}

.sec_aboutus .company_tabletable {}

.sec_aboutus .company_tabletr {}

.sec_aboutus .company_tableth,.sec_aboutus .company_table td{
  border-bottom: solid 1px #f7fbff;padding: 1.7rem 2rem;
}

.sec_aboutus .company_tableth {
    width: 35%;
}

.sec_aboutus .company_tabletd {}footer{
  background: var(--main_gra);padding: 3rem 0;
}footer .inr {}footer .flex {
    align-items: center;
}footer .block {
    margin-right: 2rem;
}footer .block .logo {}footer .block .logo img {}footer .block.no2 {
    color: #fff;line-height: 1.6rem;
}footer .block.no2 p {
    font-size: 1.2rem;
}
footer .footer_nav{

}
footer .footer_nav ul{display: flex;}
footer .footer_nav li{

}
footer .footer_nav li a{
    color: #fff;
    font-size: 1.3rem;
    margin-left: 2.6rem;
}





.supplement{background: #fffce5;padding: 0.6rem 2rem;border-radius: 0.9rem;margin-bottom: 1.6rem;}
.supplement .tit{margin-bottom: 1px !important;margin-top: -1.4rem;font-weight: 600;color: #b8a71e;}
.supplement .txt{margin-bottom: 0 !important;font-size: 1.3rem;line-height: 1.3;color: #5b583b;
}@media screen and (max-width: 1000px) {
    #mainbnr .inr {
        padding: 5rem 1%;
    }
    .top_user_voice {padding: 0 1%;
    }
    .inr {padding: 1rem 1% 1rem;
}
}@media screen and (max-width: 768px) {

.pc{
    display: none;
}
.sp{display: block;
}

.inr{max-width: 100%;margin: 0 auto;padding: 7vw 3% 6vw;}

header{border-top: 5px solid; /* 太さを指定 */border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{align-items: center;
}
header .inr{padding: 3vw 3%;}


header .block01{display: flex;width: 12vw;}
header .block01 .logo{

}
header .block01 .logo img{max-width: 28vw;margin-right: 1.4vw;max-width: clamp(8rem, 28vw, 11rem);}
header .block01 .message{display: none;}

header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}
header .block02{display: flex;align-items: center;width: calc(100% - 10rem);justify-content: end;}
header .block02 .contact_block{display: block;}

.header_tel_block{text-align: right;margin-right: 2.1vw;}
.header_tel_block .number{font-size: 4.5vw;font-weight: 600;color: #000000;line-height: 1.3rem;width: auto;font-size: clamp(1.2rem, 4.5vw, 2.1rem);}
.header_tel_block .number img, .header_tel_block .number i{font-size: 1.9rem;margin-right: 0.2rem;color: #369F2F;max-width: 2.5rem; }
.header_tel_block .txt{font-size: 2.8vw;color: #272727;line-height: 1.2rem;font-size: clamp(1rem, 2.8vw, 1.1rem);}



.btn{background: var(--main_gra);color: #fff;border-radius: 3rem;padding: 2.3vw 3.5vw;
}
.btn.primary{font-size: 2.5vw;padding: 1.8vw 3.6vw;font-size: clamp(1.2rem, 2.3vw, 1.5rem);
}


#mainbnr{background: url(img/mainbnr_sp.png) no-repeat;height: 97vw;background-size: 199%;background-position: right 20% bottom 3vw;overflow: hidden;
}



#mainbnr .inr {padding: 5vw 3%;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {display: none;}
#mainbnr .logo_block img {max-width: 15rem;}

/* Headline & Message */
#mainbnr h1 {font-size: 8vw;font-weight: 700;margin: 3vw 0 1vw;line-height: 1.8;color: #264260;text-align: left;letter-spacing: -1.3px;}
#mainbnr .message {text-align: center;font-size: 4.6vw;font-family: serif;margin-bottom: 2vw;color: #264260;text-shadow: 0px 0px 4px #fff;}
#mainbnr h1 span{font-size: 90%;font-weight: inherit;
}
/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;width: 100%;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 25.3vw;padding: 0 0vw 2vw;margin: 0 1.1vw 0vw;background-position: left 0 bottom 1vw;border-radius: 11rem;height: 26vw;width: 26vw;display: flex;align-items: center;justify-content: center;}
#mainbnr .point_lists .block p {font-size: 5.9vw;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;text-shadow: 0px 0px 3px #fff;}
#mainbnr .point_lists .block p .span1 {display: block;font-size: 4vw;text-align: center;line-height: 1.2;}
#mainbnr .point_lists .block p .spsn2 {font-size: 3.5vw;}

/* スマホのみ適用 */

.top_user_voice .voice .tit {font-size: 4vw;margin-bottom: 0.4vw;font-size: clamp(1.2rem, 3.4vw, 2.4rem);
}
.top_user_voice .voice .txt {font-size: 3.4vw;font-weight: 300;color: #333;font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .info {font-size: 3.2vw;font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .img {/* background: var(--main_gra); */height: 10vw;width: 10vw;border-radius: 20rem;margin-right: 2vw;overflow: hidden;
}

  .top_user_voice .grid {display: flex;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;scroll-behavior: smooth;padding: 0 10%; /* サイド余白を確保 */
  }

  .top_user_voice .grid::-webkit-scrollbar {
    display: none;
  }

  .top_user_voice .voice {flex: 0 0 80%;              /* ← 横幅80% */scroll-snap-align: center;  /* 中央にスナップ */margin: 0 2px;             /* 両サイドの余白 */max-width: none;
  }




.advice_section {position: relative;width: 100%;/* min-height: 400px; */ /* 適宜調整 */padding: 5vw 0 0;margin-bottom: 0rem;
}

/* 左側テキスト */
.text_block {width: 100%;       /* 常に1000px幅 */max-width: 100%;   /* これ以上広がらない */margin-left: 0;      /* 左寄せ */position: relative;z-index: 1;
}

.text_block .label {font-size: 3.8vw;color: #264260;margin-bottom: 10px;text-align: center;font-family: serif;margin-bottom: 5vw;
}

.text_block h2 {font-size: 4.5vw;font-weight: bold;line-height: 1.3;margin-bottom: 10px;color: #264260;font-size: clamp(2.4rem, 4.5vw, 3.3rem);
}


.text_block .desc {line-height: 1.7;color: #333;max-width: 100%;background: none;padding: 0vw;/* width: 70%; */
}

.text_block .desc > div{background: #ffffffe3;padding: 4vw;width: 73%;margin-left: -2vw;}
.text_block .desc p{/* font-size: 2.8vw; */font-size: clamp(1.2rem, 3.4vw, 1.6rem);} 

/* 右側グレー写真ブロック */
.image_block {position: absolute;top: inherit;right: 0;width: 51%;   /* 固定幅 *//* height: 90%; */   /* セクションの高さに合わせる */background: #ccc; /* 仮のグレー背景 */bottom: 21%;
}


/* ===========================
   sec_hardtofind
=========================== */
.sec.sec_hardtofind {background: #e8eef2;padding: 4rem 0;text-align: center;}

section .header {margin-bottom: 2rem;}

section .header .inr {
}

section .header h2 {color: #264260;font-size: 3.4rem;font-weight: bold;margin-bottom: 2rem;font-size: clamp(1.2rem, 7.4vw, 2.6rem);}

section .header h2 .span1{font-weight: 700;font-size: 2.1rem;display: block;font-size: clamp(1.2rem, 7.4vw, 2.6rem);margin-top: 2rem;}
section .header h2 .num {font-weight: inherit;font-size: 185%;color: #cc1002;font-size: clamp(1.2rem, 12.4vw, 4.6rem);}

section .header .block2{display: flex;justify-content: center;}
section .header .block2 .p_bg {background: #264260;padding: 1rem 2rem;color: #fff;font-size: 2.4rem;border-radius: 3rem;font-weight: 600;font-size: clamp(1.2rem, 4vw, 2.2rem);}


.sec.sec_hardtofind .content {
}

.sec.sec_hardtofind .content .inr {
}

.sec.sec_hardtofind .trouble_lists {
}

.sec.sec_hardtofind .trouble_lists .flex {justify-content: center;justify-content: space-around;margin-bottom: 4rem;}

.sec.sec_hardtofind .trouble_lists .list {background: url(img/bg_cloud.png) no-repeat top;background-size: contain;width: calc(100% / 3);padding-top: 3rem;}

.sec.sec_hardtofind .trouble_lists .list .p1 {font-size: 2.2rem;margin-bottom: 1.3rem;font-weight: 600;color: #264260;}

.sec.sec_hardtofind .trouble_lists .list .img {
}

.sec.sec_hardtofind .trouble_lists .list .img img {
}

.sec.sec_hardtofind .big_txt {font-size: 3.4rem;font-weight: 700;color: #cc1001;}


.triangle{width: 0;height: 0;border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */border-right: 11rem solid transparent;border-top: 4rem solid; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5rem;
}
.triangle.blue{border-top: #200880;
}


/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 100%;padding: 4vw 3% 6.5vw;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 6vw;}
.company_message_block .logo_img img {max-width: 20vw;}

/* Heading */
.company_message_block h2 {text-align: center;font-size: 4.8vw;font-weight: 800;color: #264260;font-size: clamp(2rem, 4.8vw, 3.8rem);}
.company_message_block .p_big {text-align: center;font-size: 4.8vw;font-weight: 800;color: #264260;font-size: clamp(2rem, 4.8vw, 3.8rem);}

/* Layout */
.company_message_block .flex {padding: 3vw 0 0rem;display: block;position: relative;}

/* Left Content */

.case_block {display: flex;gap: 20px;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;padding: 10px 0;
}

.case_block .case {flex: 0 0 80%;       /* スライド幅 */scroll-snap-align: start;background: #fff;border-radius: 8px;box-shadow: 0 2px 6px rgba(0,0,0,0.1);padding: 16px;
}


.company_message_block .content_block {padding: 0 0% 0 0%;width: 100%;}
.company_message_block .content_block p {margin-bottom: 3vw;font-size: 3.2vw;font-size: clamp(1.2rem, 3.2vw, 1.6rem);}

.company_message_block .content_block .fukidashi{position: relative; /* 疑似要素の基準となるため */max-width: 100%;padding: 4vw 6vw;background-color: #f7fbff; /* 吹き出しの背景色 */color: #333;border-radius: 10px;margin-right: 0; /* 吹き出しの先端部分の余白を確保 */margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidashi p{margin-bottom: 0;padding-right: 23%;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */position: absolute;top: 50%; /* 縦方向の中央に配置 */right: -20px; /* 吹き出しの右端から外側に配置 */transform: translateY(-50%); /* 縦方向の中央に配置を調整 */border: 10px solid transparent; /* 透明なボーダー */border-left: 10px solid #ececec; /* 三角形の色（吹き出し本体と同じ色） */display: none;
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;   /* 各セルの中身を縦方向で中央に */margin-bottom: 2rem;
 }
  .company_message_block .col3_block .grid {grid-template-columns: repeat(2, 1fr); /* 2列表示 */grid-template-rows: auto auto;        /* 2段に分ける */gap: 20px;
  }

  /* 1番目のブロックだけ幅2列分にする */
  .company_message_block .col3_block .grid .block:nth-child(1) {grid-column: span 2;justify-self: center;
  }
.company_message_block .col3_block .grid .block {text-align: center;height: 43vw;width: 43vw;background: #ccc;display: flex;justify-content: center;align-items: center;border-radius: 14rem;font-size: 3.2vw;font-family: serif;font-weight: 800;background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block > div{font-family: serif;font-weight: 800;color: #d4558c;/* font-size: 5vw; */font-size: clamp(1.3rem, 4vw, 4.4rem);
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .img img{width: 19vw;}

/* Right Image Area */
.company_message_block .img_block {width: 100%;/* background: #f2f2f2; */height: auto;/* display: none; */}
.company_message_block .img_block .img {width: 30%;position: absolute;right: -4%;bottom: 0;}
.company_message_block .img_block .img img { }
.company_message_block .img_block p {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {background: var(--main_gra);padding: 4vw 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -20vw;padding-bottom: 6vw;}

.sec_contact .inr{max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 4.5vw;font-weight: 600;margin-bottom: 4vw;font-size: clamp(2rem, 4.4vw, 2.9rem);@charset "UTF-8";@import url("css/reset.css");:root {
  --main_gra: linear-gradient(to right, #d90445, #e65a87, #b44e95);--main-gra_line: linear-gradient(to right, #d90445, #e65a87, #b44e95);--width_2col_img: 33rem;
}html{font-size:62.5%;}
/* サンプル font-size:14px; を指定する場合 */body{font-size:1.4rem;font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';}

.w10px{width: 10px; }.w20px{width: 20px;}.w30px{width: 30px;}.w40px{width: 40px;}.w50px{width: 50px;}.w60px{width: 60px;}.w70px{width: 70px;}.w80px{width: 80px;}.w90px{width: 90px;}.w100px{width: 100px;}.w110px{width: 110px;}.w120px{width: 120px;}.w130px{width: 130px;}.w140px{width: 140px;}.w150px{width: 150px;}.w160px{width: 160px;}.w170px{width: 170px;}.w180px{width: 180px;}.w190px{width: 190px;}.w200px{width: 200px;}.w210px{width: 210px;}.w220px{width: 220px;}.w230px{width: 230px;}.w240px{width: 240px;}.w250px{width: 250px;}.w260px{width: 260px;}.w270px{width: 270px;}.w280px{width: 280px;}.w290px{width: 290px;}.w300px{width: 300px;}
.tc{text-align: center !important;}.tr{text-align: right !important;}.tl{text-align: left !important;}

.tc{text-align: center;
}
.tl{text-align: left;
}
.tr{text-align: right;
}
.p_title{font-weight: bold;font-size: 20px;
}
.p_subtitle{font-size: 18px;font-weight: bold;
}button{
 cursor: pointer;
}

.pc{display: block;
}
.sp{display: none;
}

.inr{max-width: 100rem;margin: 0 auto;padding: 1rem 0 1rem;}header{
  border-top: 5px solid; /* 太さを指定 */border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{align-items: center;
}header .block01{display: flex;}header .block01 .logo{}header .block01 .logo img{max-width: 14rem;margin-right: 1.4rem;}header .block01 .message{}header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}header .block02{display: flex;align-items: center;}header .block02 .contact_block{}

.header_tel_block{display: inline-block;text-align: right;margin-right: 1rem;}
.header_tel_block .number{font-size: 2.1rem;font-weight: 600;color: #000000;line-height: 1.9rem;width: 19rem; }
.header_tel_block .numberimg, .header_tel_block .numberi{ font-size: 1.9rem;margin-right: 0.2rem;color: #369F2F;max-width: 2.5rem; }
.header_tel_block .txt{font-size: 1.1rem;color: #272727;line-height: 1.2rem; }



.btn{background: var(--main_gra);color: #fff;border-radius: 3rem;padding: 0.9rem 3rem;
}
.btn.primary{
 
}


#mainbnr{background: url(img/mainbnr.png) no-repeat right 0;/* height: 42rem; */background-size: cover;
}



#mainbnr .inr {padding: 5rem 0;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {text-align: center;}
#mainbnr .logo_blockimg {max-width: 15rem;}

/* Headline & Message */
#mainbnrh1 {font-size: 4.3rem;font-weight: 700;margin: 2rem 0;line-height: 7.7rem;color: #264260;text-shadow: 0px 0px 9px #fff;}
#mainbnrh1span{
    font-weight: inherit;font-size: 90%;
}
#mainbnr .message {text-align: center;font-size: 2.1rem;font-family: serif;margin-bottom: 2rem;color: #264260;font-weight: 700;}

/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 14.5rem;padding: 0 3rem 6rem;margin: 0 0.6rem;}
#mainbnr .point_lists .blockp {font-size: 3.5rem;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;text-shadow: 0px 0px 3px #ffffff;}
#mainbnr .point_lists .blockp .span1 {display: block;font-size: 2.2rem;text-align: center;line-height: 1.7rem;}
#mainbnr .point_lists .blockp .spsn2 {font-size: 1.7rem;}


/* Top User Voice */
.top_user_voice {margin-top: -2rem;}
.top_user_voice .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */
 }
.top_user_voice .inr{padding: 0;
}
/* Voice Block */
.top_user_voice .voice {box-shadow: 0px 0px 5px #959595;border-radius: 3px;padding: 1.5rem;background: #fff;border: solid 2px #07197e;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);}
.top_user_voice .voice .tit {font-size: 1.6rem;font-weight: 600;margin-bottom: 0.6rem;/* font-family: serif; */color: #264260;/* border-bottom: solid 1px; */padding-bottom: 4px;}
.top_user_voice .voice .txt {font-size: 1.5rem;font-weight: 300;color: #333;}

/* User Block */
.top_user_voice .voice .user_block {padding-top: 1.5rem;display: flex;align-items: center;}
.top_user_voice .voice .user_block .img {/* background: var(--main_gra); */height: 5rem;width: 5rem;border-radius: 10rem;margin-right: 1.5rem;overflow: hidden;}
.top_user_voice .voice .user_block .imgimg {}
.top_user_voice .voice .user_block .info { }



.advice_section {position: relative;width: 100%;/* min-height: 400px; */ /* 適宜調整 */padding: 5rem 0;margin-bottom: 9rem;
}

/* 左側テキスト */
.text_block {width: 1000px;       /* 常に1000px幅 */max-width: 1000px;   /* これ以上広がらない */margin-left: 0;      /* 左寄せ */position: relative;z-index: 1;
}

.text_block .label {font-size: 2rem;color: #264260;margin-bottom: 10px;text-align: center;font-family: serif;margin-bottom: 1rem;
}

.text_blockh2 {font-size: 3.3rem;font-weight: bold;line-height: 1.6;margin-bottom: 10px;color: #264260;
}

.text_block .desc {font-size: 1.6rem;line-height: 1.7;color: #333;max-width: 80rem;background: #ffffffe3;padding: 3rem;
}

/* 右側グレー写真ブロック */
.image_block {position: absolute;top: 5rem;right: 0;width: 400px;   /* 固定幅 *//* height: 90%; */   /* セクションの高さに合わせる */background: #ccc; /* 仮のグレー背景 */
}



/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 120rem;padding: 4rem 4rem 1.5rem;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 3rem;}
.company_message_block .logo_imgimg {max-width: 15rem;}

/* Heading */
.company_message_blockh2 {text-align: center;font-size: 3.8rem;font-weight: 800;color: #264260;}

/* Layout */
.company_message_block .flex {padding: 4rem 0 0rem;}

/* Left Content */

.case_block {display: flex;gap: 20px;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;padding: 10px 0;
}

.case_block .case {flex: 0 0 50rem;       /* スライド幅 */scroll-snap-align: start;background: #fff;border-radius: 8px;box-shadow: 0 2px 6px rgba(0,0,0,0.1);padding: 16px;
}


.company_message_block .content_block {/* padding: 0 0% 0 5%; */width: calc(100% - 21rem);}
.company_message_block .content_blockp {margin-bottom: 3rem;}

.company_message_block .content_block .fukidashi{position: relative; /* 疑似要素の基準となるため */max-width: 60rem;padding: 12px 20px;background-color: #ececec; /* 吹き出しの背景色 */color: #333;border-radius: 10px;margin-right: 20px; /* 吹き出しの先端部分の余白を確保 */margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidaship{margin-bottom: 0;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */position: absolute;top: 50%; /* 縦方向の中央に配置 */right: -20px; /* 吹き出しの右端から外側に配置 */transform: translateY(-50%); /* 縦方向の中央に配置を調整 */border: 10px solid transparent; /* 透明なボーダー */border-left: 10px solid #ececec; /* 三角形の色（吹き出し本体と同じ色） */
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;   /* 各セルの中身を縦方向で中央に */margin-bottom: 2rem;
 }
.company_message_block .col3_block .grid .block {text-align: center;height: 20rem;width: 20rem;background: #ccc;display: flex;justify-content: center;align-items: center;border-radius: 14rem;font-size: 2.2rem;font-family: serif;font-weight: 800;background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block >div{
    font-family: serif;font-weight: 800;color: #d4558c;
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .imgimg{}

/* Right Image Area */
.company_message_block .img_block {width: 34rem;/* background: #f2f2f2; */display: flex;align-items: flex-end;min-width: 30rem;}
.company_message_block .img_block .img {width: 100%;}
.company_message_block .img_block .imgimg {}
.company_message_block .img_blockp {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {background: var(--main_gra);padding: 6rem 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -8rem;padding-bottom: 6rem;}

.sec_contact .inr{max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 2.9rem;font-weight: 600;margin-bottom: 2rem;}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3rem;font-size: 1.7rem;}

/* Grid Layout */
.sec_contact .grid {display: grid;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 3rem; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;margin-bottom: 2rem;
 }
.sec_contact .grid .block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}
.sec_contact .tel_block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}

.sec_contact .tel_block {background: #fff;border-radius: 12px;padding: 30px 20px;text-align: center;margin: 30px auto 0;max-width: 820px;box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_blockh3 {font-size: 18px;font-weight: bold;margin-bottom: 10px;
}

.sec_contact .tel_blockp {font-size: 14px;margin-bottom: 8px;line-height: 1.6;color: #333;
}

.sec_contact .tel_blocka {display: inline-block;font-size: 30px;font-weight: bold;color: #d4145a;text-decoration: none;/* background: #f2f2f2; *//* padding: 12px 25px; */border-radius: 25px;
}

.sec_contact .tel_blocka:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 2rem;margin-bottom: 0.9rem;color: #264260;font-weight: 700;}
.sec_contact  .block .txt {color: inherit;font-size: 1.4rem;}

/* Buttons */
.sec_contact .block .btn {font-size: 1.8rem;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {position: relative;background: url("img/town_bg.jpg") no-repeat center center/cover;padding: 6rem 0;z-index: 0;
}

.sec_fact::before {
  content: "";position: absolute;inset: 0; /* top, right, bottom, left をまとめて指定 */background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */z-index: -1; /* 背景として敷く */
}

.sec_facth2,.sec_factp{
 color: #fff;
}
.sec_facth2{font-size: 3.8rem;font-family: serif;margin-bottom: 3rem;}
.sec_factp{font-size: 1.8rem;font-family: serif;line-height: 3.4rem;margin-bottom: 1.6rem;max-width: 80rem;margin: 0 auto;
}

/* 段落内の強調文字 */
.sec_fact .highlight {display: inline-block;font-size: 4.3rem;font-weight: bold;color: #e63946; /* 赤文字 */margin-right: 2.5rem; /* 後続文との間隔 */line-height: 1.4;
}



.highlight_block{float: left;margin: 2rem 0 1rem;
}
.sec_facth3{text-align: center;color: #fff;margin: 6rem 0 2rem;font-size: 2.8rem;font-family: serif;
}
.sec_fact .p2{text-align: center;font-size: 3.4rem;line-height: 5.5rem;
}

.case_block {display: flex;margin-bottom: 3rem;
}

.case_block .case {background: #00000096;padding: 2.7rem;margin: 0 0rem;border-radius: 1px;border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .imgimg {}

.case_block .case .block {}

.case_block .case .blockp {font-size: 1.6rem;line-height: 2.3rem;
}
.case_block .case .blockp.tit{font-size: 1.8rem;margin-bottom: 1.5rem;}
.case_block .case .blockp.txt{font-size: 1.5rem;line-height: 2.1rem;font-family: inherit;font-weight: 300;color: #e0e0e0;
}

.sec_needs {padding: 7rem 0;
}

.sec_needs .inr {}

.sec_header {margin-bottom: 4rem;
}

.sec_headerh2 {text-align: center;font-size: 4.2rem;font-family: serif;margin-bottom: 3rem;color: #264260;font-weight: 700;
}

.sec_header .txt {font-size: 1.6rem;color: #333;
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {display: flex;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */justify-content: center;align-items: anchor-center;
}

.sec_needs .needs_content .content {width: 70%;
}

.sec_needs .needs_content .content .p1 {font-size: 2.9rem;font-family: serif;font-weight: 600;color: #264260;
}

.sec_needs .needs_content .img {/* background: #f2f2f2; */height: 37rem;width: 30rem;
}

.sec_needs .needs_content .imgimg {}

.sec_needs .point_content {display: grid;grid-template-columns: repeat(2, 1fr);gap: 20px;justify-items: center;max-width: 80rem;margin: 0 auto 3rem;
}

.sec_needs .point_content .point {background: #f2f2f2;padding: 2.2rem;border-radius: 5px;border-radius: 20px;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);border: solid 3px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .imgimg{text-align: center;margin: 0 auto;max-width: 7rem;
}

.sec_needs .point_content .point .tit {font-size: 2.3rem;text-align: center;margin-bottom: 1.2rem;font-weight: 600;color: #264260;
}

.sec_needs .point_content .point .txt {font-size: 1.6rem;color: #333;line-height: 2.2rem;
}

.sec_needs .triangle {width: 0;height: 0;border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */border-right: 11rem solid transparent;border-top: 4rem solid #d22121; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5rem;
}
.sec_needs .table_compare {max-width: 80rem;margin: 0 auto;font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;border-collapse: separate;border-spacing: 0;border-radius: 8px; /* 角丸 */overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_comparetable {width: 100%;border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_comparethead {/* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */}

.sec_needs .table_comparetheadtr {
    /* 特に指定なし */}

.sec_needs .table_comparetheadth {
    padding: 15px 20px 0;text-align: center;font-weight: bold;color: #333;white-space: nowrap;border-bottom: 1px solid #ccc;position: relative;
}
.sec_needs .table_comparetheadth > div{
    display: flex;justify-content: center;align-items: end;
}
.sec_needs .table_comparetheadth img{width: 86px;max-width: inherit;margin-right: 1.2rem;}
.sec_needs .table_comparetheadth span{
    font-size: 2.3rem;font-weight: 600;
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_comparetheadth:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_comparetbody {
    /* 特に指定なし */}

.sec_needs .table_comparetbodytr {
    /* 行の区切り */
    border-bottom: 1px solid #eee;
}

.sec_needs .table_comparetbodytr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_comparetbodytd {
    padding: 15px 20px;vertical-align: top;line-height: 1.6;color: #000000;background-color: #f9f9f9; /* 左側の背景色 */font-size: 1.8rem;
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_comparetbodytd.right {
    background-color: #eaf6ff;color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_comparetbodytd.left {
    background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_comparetbodytd> div{
    display: flex;align-items: center;
}
.sec_needs .table_comparetbodytd.left span{
    color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compareimg {vertical-align: middle;margin-left: 5px;max-width: 30px; /* アイコンのサイズ調整 */height: auto;
}
.sec_needs .table_comparetbodytd> div img{
    margin-right: 1rem;
}
.sec_needs .table_comparetbodytd.right span{
    font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compareh3 {font-size: 1.1em;margin-top: 0;margin-bottom: 5px;color: #333;
}

.sec_usecase {padding: 6rem 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_headerh2 {}

.sec_usecase .sec_header .txt {}

.sec_usecase .contents {/* max-width: 100rem; */margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 3rem;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 2.6rem;border-radius: 30px;}

.sec_usecase .contents .content .flex {}

.sec_usecase .contents .content .block {width: calc(100% - var(--width_2col_img));padding-right: 3rem;
}

.sec_usecase .contents .content .block .tit {font-size: 2.2rem;margin-bottom: 1.6rem;padding-top: 1rem;color: #264260;font-weight: 600;
}

.sec_usecase .contents .content .block .txt {font-size: 1.6rem;margin-bottom: 2rem;color: #333;
}

.sec_usecase .contents .content .img {width: var(--width_2col_img);height: 21rem;background: #ccc;border-radius: 2rem;overflow: hidden;
}

.sec_usecase .contents .content .imgimg {}


.sec_faq {padding: 6rem 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_headerh2 {}

.sec_faq .sec_header .txt {}

.sec_faq .contents {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */
}

.sec_faq .contents .content {padding: 1.9rem;border: solid 1px #ec3378;
}

.sec_faq .contents .content .p_q {font-size: 1.7rem;font-weight: 700;margin-bottom: 0.5rem;color: #264260;
}

.sec_faq .contents .content .p_a {font-size: 1.5rem;color: #333;
}

.sec_flow{background: #eef8ff;padding: 6rem 0;
}

.sec_flow .inr_in{max-width: 70rem;margin: 0 auto;
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 2.2rem;font-weight: 600;color: #264260;margin-bottom: 0.6rem;}
.sec_flow .block .txt{color: #333;}
.sec_flow .block .detail{width: 65%;}
.sec_flow .block .detail .img{display: none;
}

.sec_flow .block .img{margin-left: 4%;width: calc(100% - 70%);}
.sec_flow .block .imgimg{}
.sec_flow .block.w100{width: 100%;display: block;
}

.sec_flow .triangle{width: 0;height: 0;border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */border-right: 5rem solid transparent;border-top: 2rem solid #FFEB3B;margin: 0 auto 0rem;
}


.sec_aboutus {padding: 6rem 0;
}

.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_headerh2 {}

.sec_aboutus .contents {max-width: 80rem;margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {align-items: anchor-center;
}

.sec_aboutus .contents .block {width: calc(100% - var(--width_2col_img));padding-right: 3rem;
}

.sec_aboutus .contents .block .img {width: 20rem;margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .imgimg {}

.sec_aboutus .contents .block .txt {}

.sec_aboutus .contents .ceo_img {width: var(--width_2col_img);/* border-radius: 2rem; */overflow: hidden;
}

.sec_aboutus .contents .ceo_imgimg {/* width: 100%; */height: 36rem;/* background: #ccc; */
}

.sec_aboutus .company_table {max-width: 70rem;margin: 0 auto;
}

.sec_aboutus .company_tabletable {}

.sec_aboutus .company_tabletr {}

.sec_aboutus .company_tableth,.sec_aboutus .company_tabletd{
  border-bottom: solid 1px #ccc;padding: 1.7rem 2rem;
}

.sec_aboutus .company_tableth {width: 35%;
}

.sec_aboutus .company_tabletd {}footer{
  background: var(--main_gra);padding: 3rem 0;
}footer .inr {}footer .flex {
    align-items: center;
}footer .block {
    margin-right: 2rem;
}footer .block .logo {}footer .block .logo img {}footer .block.no2 {
    color: #fff;line-height: 1.6rem;
}footer .block.no2 p {
    font-size: 1.2rem;
}@media screen and (max-width: 1000px) {
    #mainbnr .inr {
        padding: 5rem 1%;
    }
    .top_user_voice {padding: 0 1%;
    }
    .inr {padding: 1rem 1% 1rem;
}
}@media screen and (max-width: 768px) {

.pc{
    display: none;
}
.sp{display: block;
}

.inr{max-width: 100%;margin: 0 auto;padding: 7vw 3% 6vw;}

header{border-top: 5px solid; /* 太さを指定 */border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{align-items: center;
}
header .inr{padding: 3vw 3%;}


header .block01{display: flex;width: 12vw;}
header .block01 .logo{

}
header .block01 .logo img{max-width: 28vw;margin-right: 1.4vw;}
header .block01 .message{display: none;}

header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}
header .block02{display: flex;align-items: center;width: calc(100% - 10rem);justify-content: end;}
header .block02 .contact_block{display: block;}

.header_tel_block{text-align: right;margin-right: 2.1vw;}
.header_tel_block .number{font-size: 4.5vw;font-weight: 600;color: #000000;line-height: 1.3rem;width: auto;}
.header_tel_block .number img, .header_tel_block .number i{font-size: 1.9rem;margin-right: 0.2rem;color: #369F2F;max-width: 2.5rem; }
.header_tel_block .txt{font-size: 2.8vw;color: #272727;line-height: 1.2rem;}



.btn{background: var(--main_gra);color: #fff;border-radius: 3rem;padding: 2.3vw 3.5vw;
}
.btn.primary{font-size: 2.5vw;padding: 2.2vw 3.6vw;
}


#mainbnr{background: url(img/mainbnr_sp.png) no-repeat;height: 71vw;background-size: 142%;background-position: right 36% bottom 3vw;overflow: hidden;
}



#mainbnr .inr {padding: 5vw 3%;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {display: none;}
#mainbnr .logo_block img {max-width: 15rem;}

/* Headline & Message */
#mainbnr h1 {font-size: 6.3vw;font-weight: 700;margin: 3vw 0;line-height: 8.4vw;color: #264260;text-align: left;}
#mainbnr .message {text-align: left;font-size: 3.3vw;font-family: serif;margin-bottom: 4vw;color: #264260;}
#mainbnr h1 span{font-size: 90%;font-weight: inherit;
}
/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;width: 70%;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 16.7vw;padding: 0 1.3vw 3vw;margin: 0 0.5vw 3vw;background-position: bottom;}
#mainbnr .point_lists .block p {font-size: 4.8vw;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;}
#mainbnr .point_lists .block p .span1 {display: block;font-size: 3vw;text-align: center;line-height: 2.7vw;}
#mainbnr .point_lists .block p .spsn2 {font-size: 3.5vw;}

/* スマホのみ適用 */

.top_user_voice .voice .tit {font-size: 4vw;margin-bottom: 0.4vw;font-size: clamp(1.2rem, 3.4vw, 2.4rem);
}
.top_user_voice .voice .txt {font-size: 3.4vw;font-weight: 300;color: #333;font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .info {font-size: 3.2vw;font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .img {/* background: var(--main_gra); */height: 10vw;width: 10vw;border-radius: 20rem;margin-right: 2vw;overflow: hidden;
}

  .top_user_voice .grid {display: flex;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;scroll-behavior: smooth;padding: 0 10%; /* サイド余白を確保 */
  }

  .top_user_voice .grid::-webkit-scrollbar {
    display: none;
  }

  .top_user_voice .voice {flex: 0 0 80%;              /* ← 横幅80% */scroll-snap-align: center;  /* 中央にスナップ */margin: 0 2px;             /* 両サイドの余白 */max-width: none;
  }




.advice_section {position: relative;width: 100%;/* min-height: 400px; */ /* 適宜調整 */padding: 5vw 0 0;margin-bottom: 0rem;
}

/* 左側テキスト */
.text_block {width: 100%;       /* 常に1000px幅 */max-width: 100%;   /* これ以上広がらない */margin-left: 0;      /* 左寄せ */position: relative;z-index: 1;
}

.text_block .label {font-size: 3.8vw;color: #264260;margin-bottom: 10px;text-align: center;font-family: serif;margin-bottom: 5vw;
}

.text_block h2 {font-size: 4.5vw;font-weight: bold;line-height: 1.3;margin-bottom: 10px;color: #264260;font-size: clamp(2.4rem, 4.5vw, 3.3rem);
}


.text_block .desc {line-height: 1.7;color: #333;max-width: 100%;background: none;padding: 0vw;/* width: 70%; */
}

.text_block .desc > div{background: #ffffffe3;padding: 4vw;width: 73%;margin-left: -2vw;}
.text_block .desc p{/* font-size: 2.8vw; */font-size: clamp(1.2rem, 3.4vw, 1.6rem);} 

/* 右側グレー写真ブロック */
.image_block {position: absolute;top: inherit;right: 0;width: 51%;   /* 固定幅 *//* height: 90%; */   /* セクションの高さに合わせる */background: #ccc; /* 仮のグレー背景 */bottom: 21%;
}



/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 100%;padding: 4vw 3% 6.5vw;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 6vw;}
.company_message_block .logo_img img {max-width: 20vw;}

/* Heading */
.company_message_block h2 {text-align: center;font-size: 4.8vw;font-weight: 800;color: #264260;font-size: clamp(2rem, 4.8vw, 3.8rem);}

/* Layout */
.company_message_block .flex {padding: 3vw 0 0rem;display: block;position: relative;}

/* Left Content */

.case_block {display: flex;gap: 20px;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;padding: 10px 0;
}

.case_block .case {flex: 0 0 80%;       /* スライド幅 */scroll-snap-align: start;background: #fff;border-radius: 8px;box-shadow: 0 2px 6px rgba(0,0,0,0.1);padding: 16px;
}


.company_message_block .content_block {padding: 0 0% 0 0%;width: 100%;}
.company_message_block .content_block p {margin-bottom: 3vw;font-size: 3.2vw;font-size: clamp(1.2rem, 3.2vw, 1.6rem);}

.company_message_block .content_block .fukidashi{position: relative; /* 疑似要素の基準となるため */max-width: 100%;padding: 4vw 6vw;background-color: #ececec; /* 吹き出しの背景色 */color: #333;border-radius: 10px;margin-right: 0; /* 吹き出しの先端部分の余白を確保 */margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidashi p{margin-bottom: 0;padding-right: 23%;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */position: absolute;top: 50%; /* 縦方向の中央に配置 */right: -20px; /* 吹き出しの右端から外側に配置 */transform: translateY(-50%); /* 縦方向の中央に配置を調整 */border: 10px solid transparent; /* 透明なボーダー */border-left: 10px solid #ececec; /* 三角形の色（吹き出し本体と同じ色） */display: none;
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;   /* 各セルの中身を縦方向で中央に */margin-bottom: 2rem;
 }
  .company_message_block .col3_block .grid {grid-template-columns: repeat(2, 1fr); /* 2列表示 */grid-template-rows: auto auto;        /* 2段に分ける */gap: 20px;
  }

  /* 1番目のブロックだけ幅2列分にする */
  .company_message_block .col3_block .grid .block:nth-child(1) {grid-column: span 2;justify-self: center;
  }
.company_message_block .col3_block .grid .block {text-align: center;height: 43vw;width: 43vw;background: #ccc;display: flex;justify-content: center;align-items: center;border-radius: 14rem;font-size: 3.2vw;font-family: serif;font-weight: 800;background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block > div{font-family: serif;font-weight: 800;color: #d4558c;/* font-size: 5vw; */font-size: clamp(1.3rem, 4vw, 4.4rem);
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .img img{width: 19vw;}

/* Right Image Area */
.company_message_block .img_block {width: 100%;/* background: #f2f2f2; */height: auto;/* display: none; */}
.company_message_block .img_block .img {width: 30%;position: absolute;right: -4%;bottom: 0;}
.company_message_block .img_block .img img { }
.company_message_block .img_block p {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {background: var(--main_gra);padding: 4vw 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -30vw;padding-bottom: 6vw;}

.sec_contact .inr{max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 4.5vw;font-weight: 600;margin-bottom: 2vw;}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3vw;font-size: 3.4vw;}

/* Grid Layout */
.sec_contact .grid {display: grid;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 1.5vw; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;margin-bottom: 0vw;
 }
.sec_contact .grid .block {background: #fff;padding: 3.6vw 1.5vw;border-radius: 2vw;text-align: center;
}
.sec_contact .tel_block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}

.sec_contact .tel_block {background: #fff;border-radius: 12px;padding: 4vw;text-align: center;margin: 3vw auto 0;max-width: 100%;box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_block h3 {font-size: 18px;font-weight: bold;margin-bottom: 10px;
}

.sec_contact .tel_block p {font-size: 2.8vw;margin-bottom: 8px;line-height: 1.6;color: #333;
}

.sec_contact .tel_block a {display: inline-block;font-size: 7vw;font-weight: bold;color: #d4145a;text-decoration: none;/* background: #f2f2f2; *//* padding: 12px 25px; */border-radius: 25px;
}

.sec_contact .tel_block a:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 3.4vw;margin-bottom: 0.9rem;color: #264260;font-weight: 700;}
.sec_contact  .block .txt {color: inherit;font-size: 3.3vw;}

/* Buttons */
.sec_contact .block .btn {font-size: 2.8vw;display: block;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {position: relative;background: url("img/town_bg.jpg") no-repeat center center/cover;padding: 8vw 0;z-index: 0;
}

.sec_fact::before {
  content: "";position: absolute;inset: 0; /* top, right, bottom, left をまとめて指定 */background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */z-index: -1; /* 背景として敷く */
}

.sec_fact h2,.sec_fact p{color: #fff;
}
.sec_fact h2{font-size: 7.3vw;font-family: serif;margin-bottom: 5vw;}
.sec_fact p{font-size: 3.8vw;font-family: serif;line-height: 6.2vw;margin-bottom: 1.6rem;max-width: 80rem;margin: 0 auto;
}

/* 段落内の強調文字 */
.sec_fact .highlight {display: inline-block;font-size: 7.3vw;font-weight: bold;color: #e63946; /* 赤文字 */margin-right: 4.5vw; /* 後続文との間隔 */line-height: 1.4;
}



.highlight_block{float: left;margin: 5vw 0 4vw;
}
.sec_fact h3{text-align: center;color: #fff;margin: 6vw 0 5vw;font-size: 5.8vw;font-family: serif;
}
.sec_fact .p2{text-align: center;font-size: 4.4vw;line-height: 1.7;
}

.case_block {display: flex;margin-bottom: 3rem;
}

.case_block .case {background: #00000096;padding: 5.7vw;margin: 0 0rem;border-radius: 1px;border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .img img {}

.case_block .case .block {}

.case_block .case .block p {font-size: 1.6rem;line-height: 2.3rem;
}
.case_block .case .block p.tit{font-size: 3.6vw;margin-bottom: 2.5vw;}
.case_block .case .block p.txt{font-size: 3vw;line-height: 1.7;font-family: inherit;font-weight: 300;color: #e0e0e0;
}

.sec_needs {padding: 3vw 0;
}

.sec_needs .inr {}

.sec_header {margin-bottom: 5vw;
}

.sec_header h2 {text-align: center;font-size: 6vw;font-family: serif;margin-bottom: 7.5vw;color: #264260;font-weight: 700;
}

.sec_header .txt {font-size: 3.6vw;color: #333;
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {display: flex;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-content: center;align-items: end;
}

.sec_needs .needs_content .content {width: 70%;
}

.sec_needs .needs_content .content .p1 {font-size: 5.5vw;font-family: serif;font-weight: 600;color: #264260;line-height: 1.4;
}

.sec_needs .needs_content .img {/* background: #f2f2f2; */height: 36vw;width: 29vw;
}

.sec_needs .needs_content .img img {}

.sec_needs .point_content {display: grid;grid-template-columns: repeat(2, 1fr);gap: 3px;justify-items: center;max-width: 100%;margin: 0 auto 3vw;
}

.sec_needs .point_content .point {background: #f2f2f2;padding: 3.2vw;border-radius: 5px;border-radius: 20px;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);border: solid 2px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .img img{text-align: center;margin: 0 auto;max-width: 5rem;
}

.sec_needs .point_content .point .tit {font-size: 4.4vw;text-align: center;margin-bottom: 1.2rem;font-weight: 600;color: #264260;
}

.sec_needs .point_content .point .txt {font-size: 2.9vw;color: #333;line-height: 1.6;
}

.sec_needs .triangle {width: 0;height: 0;border-left: 15vw solid transparent; /* 左右のボーダーを透明にする */border-right: 15vw solid transparent;border-top: 8vw solid #d22121; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5vw;
}
.sec_needs .table_compare {max-width: 80rem;margin: 0 auto;font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;border-collapse: separate;border-spacing: 0;border-radius: 8px; /* 角丸 */overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_compare table {width: 100%;border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_compare thead {/* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */
}

.sec_needs .table_compare thead tr {
    /* 特に指定なし */
}

.sec_needs .table_compare thead th {padding: 2vw 1vw 0;text-align: center;font-weight: bold;color: #333;white-space: nowrap;border-bottom: 1px solid #ccc;position: relative;
}
.sec_needs .table_compare thead th > div{display: block;justify-content: center;align-items: end;
}
.sec_needs .table_compare thead th img{width: 16.6vw;max-width: inherit;margin-right: 1.2rem;display: block;margin: 0 auto 1vw;}
.sec_needs .table_compare thead th span{font-size: 4.1vw;font-weight: 600;
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_compare thead th:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_compare tbody {
    /* 特に指定なし */
}

.sec_needs .table_compare tbody tr {
    /* 行の区切り */border-bottom: 1px solid #eee;
}

.sec_needs .table_compare tbody tr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_compare tbody td {padding: 2vw 3vw;vertical-align: top;line-height: 1.6;color: #000000;background-color: #f9f9f9; /* 左側の背景色 */font-size: 4vw;
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_compare tbody td.right {background-color: #eaf6ff;color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_compare tbody td.left {background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_compare tbody td> div{display: block;align-items: center;
}
.sec_needs .table_compare tbody td.left span{color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compare img {vertical-align: middle;margin-left: 5px;max-width: 30px; /* アイコンのサイズ調整 */height: auto;
}
.sec_needs .table_compare tbody td> div img{margin-right: 1rem;display: block;margin: 0 auto 3vw;,:;width: 7.6vw;
}
.sec_needs .table_compare tbody td.right span{font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compare h3 {font-size: 1.1em;margin-top: 0;margin-bottom: 5px;color: #333;
}

.sec_usecase {padding: 6vw 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_header h2 {}

.sec_usecase .sec_header .txt {}

.sec_usecase .contents {/* max-width: 100rem; */margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 4vw;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 3.6vw;border-radius: 10px;}

.sec_usecase .contents .content .flex {flex-wrap: wrap;
}

.sec_usecase .contents .content .block {width: 100%;padding-right: 0;order: 2;
}

.sec_usecase .contents .content .block .tit {font-size: 5vw;margin-bottom: 2vw;padding-top: 2vw;color: #264260;font-weight: 600;
}

.sec_usecase .contents .content .block .txt {font-size: 3.5vw;margin-bottom: 0;color: #333;
}

.sec_usecase .contents .content .img {width: var(--width_2col_img);height: auto;background: #ccc;border-radius: 1rem;overflow: hidden;order: 1;margin-bottom: 3vw;
}

.sec_usecase .contents .content .img img {}


.sec_faq {padding: 6vw 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_header h2 {}

.sec_faq .sec_header .txt {}

.sec_faq .contents {display: block;
    /* 3カラム */
    /* カラム間の余白 */
}

.sec_faq .contents .content {padding: 3.9vw;border: solid 1px #ec3378;margin-bottom: 5vw;
}

.sec_faq .contents .content .p_q {font-size: 4.4vw;font-weight: 700;margin-bottom: 2.5vw;color: #264260;border-bottom: solid 1px #264260;padding-bottom: 1.4vw;
}

.sec_faq .contents .content .p_a {font-size: 3.4vw;color: #333;
}

.sec_flow{background: #eef8ff;padding: 6vw 0;
}

.sec_flow .inr_in{max-width: 100%;margin: 0 auto;padding: 0 3%;
}
.sec_flow .sec_header p{font-size: 3.4vw;
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 5vw;font-weight: 600;color: #264260;margin-bottom: 0.6rem;text-align: center;}
.sec_flow .block .txt{color: #333;font-size: 3.4vw;}
.sec_flow .block .detail{width: 100%;}
.sec_flow .block .detail .img{display: block;margin: 3vw auto 4vw;width: 50%;
}

.sec_flow .block .img{display: none;}
.sec_flow .block .img img{width: 100%;
}
.sec_flow .block.w100{width: 100%;display: block;
}

.sec_flow .triangle{width: 0;height: 0;border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */border-right: 5rem solid transparent;margin: 0 auto 0rem;
}


.sec_aboutus {padding: 6vw 0;
}

.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_header h2 {}

.sec_aboutus .contents {max-width: 80rem;margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {align-items: anchor-center;display: block;
}

.sec_aboutus .contents .block {width: 100%;padding-right: 0;
}

.sec_aboutus .contents .block .img {width: 30vw;margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .img img {}

.sec_aboutus .contents .block .txt {font-size: 3.4vw;color: #333;margin-bottom: 4vw;
}

.sec_aboutus .contents .ceo_img {width: 100%;/* border-radius: 2rem; */overflow: hidden;text-align: center;
}

.sec_aboutus .contents .ceo_img img {/* width: 100%; */height: inherit;/* background: #ccc; */max-width: 60%;
}

.sec_aboutus .company_table {max-width: 70rem;margin: 0 auto;
}

.sec_aboutus .company_table table {}

.sec_aboutus .company_table tr {}

.sec_aboutus .company_table th,.sec_aboutus .company_table td{border-bottom: solid 1px #ccc;padding: 1.2rem 2rem;display: block;width: 100%;color: #333;
}

.sec_aboutus .company_table th {width: inherit;background: #f2f2f2;
}

.sec_aboutus .company_table td {}


footer{background: var(--main_gra);padding: 3rem 0;
}

footer .inr {}

footer .flex {align-items: center;
}

footer .block {margin-right: 2rem;
}

footer .block .logo {}

footer .block .logo img {}

footer .block.no2 {color: #fff;line-height: 1.6rem;
}

footer .block.no2 p {font-size: 1.2rem;
}



};}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3vw;font-size: 3.4vw;font-size: clamp(1.2rem, 3.4vw, 1.7rem);}

/* Grid Layout */
.sec_contact .grid {display: grid;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 1.5vw; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;margin-bottom: 0vw;
 }
.sec_contact .grid .block {background: #fff;padding: 3.6vw 1.5vw;border-radius: 2vw;text-align: center;
}
.sec_contact .tel_block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}

.sec_contact .tel_block {background: #fff;border-radius: 12px;padding: 4vw;text-align: center;margin: 3vw auto 0;max-width: 100%;box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_block h3 {font-size: 18px;font-weight: bold;margin-bottom: 10px;
}

.sec_contact .tel_block p {/* font-size: 2.8vw; */margin-bottom: 8px;line-height: 1.6;color: #333;font-size: clamp(1.2rem, 3.3vw, 1.4rem);
}

.sec_contact .tel_block a {display: inline-block;font-size: 7vw;font-weight: bold;color: #d4145a;text-decoration: none;/* background: #f2f2f2; *//* padding: 12px 25px; */border-radius: 25px;font-size: clamp(2rem, 6vw, 3rem);
}

.sec_contact .tel_block a:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 3.4vw;margin-bottom: 0.9rem;color: #264260;font-weight: 700;font-size: clamp(1.2rem, 3.4vw, 1.8rem);}
.sec_contact  .block .txt {color: inherit;/* font-size: 3.3vw; */font-size: clamp(1.2rem, 3.3vw, 1.4rem);}

/* Buttons */
.sec_contact .block .btn {font-size: 2.8vw;display: block;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {position: relative;background: url("img/town_bg.jpg") no-repeat center center/cover;padding: 8vw 0;z-index: 0;
}

.sec_fact::before {
  content: "";position: absolute;inset: 0; /* top, right, bottom, left をまとめて指定 */background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */z-index: -1; /* 背景として敷く */
}

.sec_fact h2,.sec_fact p{color: #fff;
}
.sec_fact h2{font-size: 7.3vw;font-family: serif;margin-bottom: 5vw;font-size: clamp(2.6rem, 7.3vw, 5rem);}
.sec_fact p{font-size: 3.8vw;font-family: serif;line-height: 1.9;margin-bottom: 1.6rem;max-width: 80rem;margin: 0 auto;font-size: clamp(1.2rem, 3.6vw, 1.8rem);
}

/* 段落内の強調文字 */
.sec_fact .highlight {display: inline-block;font-size: 7.3vw;font-weight: bold;color: #e63946; /* 赤文字 */margin-right: 4.5vw; /* 後続文との間隔 */line-height: 1.4;font-size: clamp(1.2rem, 6.3vw, 6rem);
}



.highlight_block{float: left;margin: 5vw 0 4vw;
}
.sec_fact h3{text-align: center;color: #fff;margin: 6vw 0 5vw;font-size: 5.8vw;font-family: serif;font-size: clamp(1.4rem, 5.8vw, 3.2rem);
}
.sec_fact .p2{text-align: center;font-size: 4.4vw;line-height: 1.7;
}

.case_block {display: flex;margin-bottom: 3rem;
}

.case_block .case {background: #00000096;padding: 5.7vw;margin: 0 0rem;border-radius: 1px;border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .img img {}

.case_block .case .block {}

.case_block .case .block p {font-size: 1.6rem;line-height: 1.6;
}
.case_block .case .block p.tit{font-size: 3.6vw;margin-bottom: 2.5vw;font-size: clamp(1.4rem, 3vw, 3.5rem);}
.case_block .case .block p.txt{font-size: 3vw;line-height: 1.6;font-family: inherit;font-weight: 300;color: #e0e0e0;font-size: clamp(1.2rem, 3vw, 2rem);
}

.sec_needs {padding: 3vw 0;
}

.sec_needs .inr {}

.sec_header {margin-bottom: 5vw;
}

.sec_header h2 {text-align: center;font-size: 6vw;font-family: serif;margin-bottom: 7.5vw;color: #264260;font-weight: 700;font-size: clamp(1.3rem, 6vw, 4.2rem);
}

.sec_header .txt {font-size: 3.6vw;color: #333;font-size: clamp(1.2rem, 3.6vw, 1.6rem);
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {display: flex;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-content: center;align-items: end;
}

.sec_needs .needs_content .content {width: 70%;
}

.sec_needs .needs_content .content .p1 {font-size: 5.5vw;font-family: serif;font-weight: 600;color: #264260;line-height: 1.4;font-size: clamp(1.4rem, 5.5vw, 2.9rem);
}

.sec_needs .needs_content .img {/* background: #f2f2f2; */height: 36vw;width: 29vw;
}

.sec_needs .needs_content .img img {}

.sec_needs .point_content {display: grid;grid-template-columns: repeat(2, 1fr);gap: 3px;justify-items: center;max-width: 100%;margin: 0 auto 3vw;
}

.sec_needs .point_content .point {background: #f2f2f2;padding: 3.2vw;border-radius: 5px;border-radius: 20px;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);border: solid 2px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .img img{text-align: center;margin: 0 auto;max-width: 5rem;
}

.sec_needs .point_content .point .tit {font-size: 4.4vw;text-align: center;margin-bottom: 1.2rem;font-weight: 600;color: #264260;font-size: clamp(1.3rem, 4.4vw, 2.3rem);
}

.sec_needs .point_content .point .txt {font-size: 2.9vw;color: #333;line-height: 1.6;font-size: clamp(1.2rem, 2.9vw, 1.6rem);
}

.sec_needs .triangle {width: 0;height: 0;border-left: 15vw solid transparent; /* 左右のボーダーを透明にする */border-right: 15vw solid transparent;border-top: 8vw solid #d22121; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5vw;
}
.sec_needs .table_compare {max-width: 80rem;margin: 0 auto;font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;border-collapse: separate;border-spacing: 0;border-radius: 8px; /* 角丸 */overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_compare table {width: 100%;border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_compare thead {/* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */
}

.sec_needs .table_compare thead tr {
    /* 特に指定なし */
}

.sec_needs .table_compare thead th {padding: 2vw 1vw 0;text-align: center;font-weight: bold;color: #333;white-space: nowrap;border-bottom: 1px solid #ccc;position: relative;
}
.sec_needs .table_compare thead th > div{display: block;justify-content: center;align-items: end;
}
.sec_needs .table_compare thead th img{width: 16.6vw;max-width: inherit;margin-right: 1.2rem;display: block;margin: 0 auto 1vw;}
.sec_needs .table_compare thead th span{font-size: 4.1vw;font-weight: 600;font-size: clamp(1.2rem, 4.1vw, 2.3rem);
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_compare thead th:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_compare tbody {
    /* 特に指定なし */
}

.sec_needs .table_compare tbody tr {
    /* 行の区切り */border-bottom: 1px solid #eee;
}

.sec_needs .table_compare tbody tr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_compare tbody td {padding: 2vw 3vw;vertical-align: top;line-height: 1.6;color: #000000;background-color: #f9f9f9; /* 左側の背景色 */font-size: 4vw;font-size: clamp(1.2rem, 4vw, 1.8rem);
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_compare tbody td.right {background-color: #eaf6ff;color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_compare tbody td.left {background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_compare tbody td> div{display: block;align-items: center;
}
.sec_needs .table_compare tbody td.left span{color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compare img {vertical-align: middle;margin-left: 5px;max-width: 30px; /* アイコンのサイズ調整 */height: auto;
}
.sec_needs .table_compare tbody td> div img{margin-right: 1rem;display: block;margin: 0 auto 3vw;,:;width: 7.6vw;
}
.sec_needs .table_compare tbody td.right span{font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compare h3 {font-size: 1.1em;margin-top: 0;margin-bottom: 5px;color: #333;
}

.sec_usecase {padding: 6vw 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_header h2 {}

.sec_usecase .sec_header .txt {font-size: clamp(1.2rem, 3.6vw, 1.6rem);
}

.sec_usecase .contents {/* max-width: 100rem; */margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 4vw;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 3.6vw;border-radius: 10px;}

.sec_usecase .contents .content .flex {flex-wrap: wrap;
}

.sec_usecase .contents .content .block {width: 100%;padding-right: 0;order: 2;
}

.sec_usecase .contents .content .block .tit {font-size: 5vw;margin-bottom: 2vw;padding-top: 2vw;color: #264260;font-weight: 600;font-size: clamp(1.2rem, 5vw, 2.2rem);
}

.sec_usecase .contents .content .block .txt {font-size: 3.5vw;margin-bottom: 0;color: #333;font-size: clamp(1.2rem, 3.5vw, 1.6rem);
}

.sec_usecase .contents .content .img {width: var(--width_2col_img);height: auto;background: #ccc;border-radius: 1rem;overflow: hidden;order: 1;margin-bottom: 3vw;
}

.sec_usecase .contents .content .img img {}


.sec_faq {padding: 6vw 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_header h2 {}

.sec_faq .sec_header .txt {
}

.sec_faq .contents {display: block;
    /* 3カラム */
    /* カラム間の余白 */
}

.sec_faq .contents .content {padding: 3.9vw;border: solid 1px #ec3378;margin-bottom: 5vw;
}

.sec_faq .contents .content .p_q {font-size: 4.4vw;font-weight: 700;margin-bottom: 2.5vw;color: #264260;border-bottom: solid 1px #264260;padding-bottom: 1.4vw;font-size: clamp(1.2rem, 4.4vw, 1.7rem);
}

.sec_faq .contents .content .p_a {font-size: 3.4vw;color: #333;font-size: clamp(1.2rem, 3.4vw, 1.6rem);
}

.sec_flow{background: #eef8ff;padding: 6vw 0;
}

.sec_flow .inr_in{max-width: 100%;margin: 0 auto;padding: 0 3%;
}
.sec_flow .sec_header p{font-size: 3.4vw;font-size: clamp(1.2rem, 3.4vw, 1.6rem);
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 5vw;font-weight: 600;color: #264260;margin-bottom: 0.6rem;text-align: center;font-size: clamp(1.4rem, 5vw, 2.2rem);}
.sec_flow .block .txt{color: #333;font-size: 3.4vw;font-size: clamp(1.2rem, 3.4vw, 1.6rem);}
.sec_flow .block .detail{width: 100%;}
.sec_flow .block .detail .img{display: block;margin: 3vw auto 4vw;width: 50%;
}

.sec_flow .block .img{display: none;}
.sec_flow .block .img img{width: 100%;
}
.sec_flow .block.w100{width: 100%;display: block;
}

.sec_flow .triangle{width: 0;height: 0;border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */border-right: 5rem solid transparent;margin: 0 auto 0rem;
}


.sec_aboutus {padding: 6vw 0;
}

.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_header h2 {}

.sec_aboutus .contents {max-width: 80rem;margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {align-items: anchor-center;display: block;
}

.sec_aboutus .contents .block {width: 100%;padding-right: 0;
}

.sec_aboutus .contents .block .img {width: 30vw;margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .img img {}

.sec_aboutus .contents .block .txt {color: #333;margin-bottom: 4vw;font-size: clamp(1.2rem, 3.4vw, 1.6rem);
}

.sec_aboutus .contents .ceo_img {width: 100%;/* border-radius: 2rem; */overflow: hidden;text-align: center;
}

.sec_aboutus .contents .ceo_img img {/* width: 100%; */height: inherit;/* background: #ccc; */max-width: 60%;
}

.sec_aboutus .company_table {max-width: 70rem;margin: 0 auto;
}

.sec_aboutus .company_table table {}

.sec_aboutus .company_table tr {}

.sec_aboutus .company_table th,.sec_aboutus .company_table td{border-bottom: solid 1px #f7fbff;padding: 1.2rem 2rem;display: block;width: 100%;color: #333;
}

.sec_aboutus .company_table th {width: inherit;background: #f7fbff;
}

.sec_aboutus .company_table td {}


footer{background: var(--main_gra);padding: 3rem 0;
}

footer .inr {}

footer .flex {align-items: center;
}

footer .block {margin-right: 2rem;
}

footer .block .logo {}

footer .block .logo img {}

footer .block.no2 {color: #fff;line-height: 1.6rem;
}

footer .block.no2 p {font-size: 1.2rem;
}



};}

.sec.sec_hardtofind .trouble_lists .list .p1 {font-size: 2.2rem;margin-bottom: 1.3rem;font-weight: 600;color: #264260;font-size: clamp(1.2rem, 6.4vw, 2rem);}

.sec.sec_hardtofind .trouble_lists .list .img {width: clamp(1.2rem, 28.4vw, 14.6rem);margin: 0 auto;}

.sec.sec_hardtofind .trouble_lists .list .img img {
}

.sec.sec_hardtofind .big_txt {font-size: 3.4rem;font-weight: 700;color: #cc1001;font-size: clamp(1.2rem, 5.4vw, 2.5rem);}


.triangle{
  width: 0;
  height: 0;
  border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */
  border-right: 11rem solid transparent;
  border-top: 4rem solid; /* 上のボーダーに色をつけ、高さを決める */
  margin: 0 auto 5rem;
}
.triangle.blue{
    border-top: #200880;
}


/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 100%;padding: 4vw 3% 6.5vw;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 6vw;}
.company_message_block .logo_img img {max-width: auto;width: clamp(10rem, 34.1vw, 25rem);}

/* Heading */
.company_message_block h2 {text-align: left;font-size: 4.8vw;font-weight: 800;color: #264260;font-size: clamp(2rem, 7.1vw, 4rem);}
.company_message_block .p_big {text-align: center;font-size: 4.8vw;font-weight: 800;color: #264260;font-size: clamp(2rem, 5.4vw, 3.8rem);}

/* Layout */
.company_message_block .flex {padding: 3vw 0 0rem;display: block;position: relative;}

/* Left Content */

.case_block {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 10px 0;
}

.case_block .case {
  flex: 0 0 80%;       /* スライド幅 */
  scroll-snap-align: start;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  padding: 16px;
}


.company_message_block .content_block {padding: 0 0% 0 0%;width: 100%;}
.company_message_block .content_block p {margin-bottom: 3vw;font-size: 3.2vw;font-size: clamp(1.2rem, 3.2vw, 1.4rem);}

.company_message_block .content_block .fukidashi{
  position: relative; /* 疑似要素の基準となるため */
  max-width: 100%;
  padding: 4vw 6vw;
  background-color: #f7fbff; /* 吹き出しの背景色 */
  color: #333;
  border-radius: 10px;
  margin-right: 0; /* 吹き出しの先端部分の余白を確保 */
  margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidashi p{
    margin-bottom: 0;
    padding-right: 23%;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */
     position: absolute;
     top: 50%; /* 縦方向の中央に配置 */
     right: -20px; /* 吹き出しの右端から外側に配置 */
     transform: translateY(-50%); /* 縦方向の中央に配置を調整 */
     border: 10px solid transparent; /* 透明なボーダー */
     border-left: 10px solid #ececec; /* 三角形の色（吹き出し本体と同じ色） */
     display: none;
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 3カラム */
	gap: 10px; /* カラム間の余白 */
	justify-items: center; /* 各セルの中身を横方向で中央に */
	align-items: center;   /* 各セルの中身を縦方向で中央に */
	margin-bottom: 2rem;
	}
  .company_message_block .col3_block .grid {
    grid-template-columns: repeat(2, 1fr); /* 2列表示 */
    grid-template-rows: auto auto;        /* 2段に分ける */
    gap: 20px;
  }

  /* 1番目のブロックだけ幅2列分にする */
  .company_message_block .col3_block .grid .block:nth-child(1) {
    grid-column: span 2;
    justify-self: center;
  }
.company_message_block .col3_block .grid .block {
  text-align: center;
  height: 43vw;
  width: 43vw;
  background: #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 14rem;
  font-size: 3.2vw;
  font-family: serif;
  font-weight: 800;
  background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block > div{
    font-family: serif;
    font-weight: 800;
    /* font-size: 5vw; */
    font-size: clamp(1.3rem, 4vw, 4.4rem);
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .img img{width: 19vw;}

/* Right Image Area */
.company_message_block .img_block {width: 100%;/* background: #f2f2f2; */height: auto;/* display: none; */}
.company_message_block .img_block .img {width: 30%;position: absolute;right: -4%;bottom: 0;}
.company_message_block .img_block .img img { }
.company_message_block .img_block p {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {
	background: var(--main_gra);
	padding: 4vw 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -13vw;padding-bottom: 6vw;}

.sec_contact .inr{
	max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 4.5vw;font-weight: 600;margin-bottom: 4vw;font-size: clamp(2rem, 4.4vw, 2.9rem);@charset "UTF-8";@import url("css/reset.css");:root {
  --main_gra: linear-gradient(to right, #d90445, #e65a87, #b44e95);--main-gra_line: linear-gradient(to right, #d90445, #e65a87, #b44e95);--width_2col_img: 33rem;
}html{font-size:62.5%;}
/* サンプル font-size:14px; を指定する場合 */body{font-size:1.4rem;font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';}

.w10px{width: 10px; }.w20px{width: 20px;}.w30px{width: 30px;}.w40px{width: 40px;}.w50px{width: 50px;}.w60px{width: 60px;}.w70px{width: 70px;}.w80px{width: 80px;}.w90px{width: 90px;}.w100px{width: 100px;}.w110px{width: 110px;}.w120px{width: 120px;}.w130px{width: 130px;}.w140px{width: 140px;}.w150px{width: 150px;}.w160px{width: 160px;}.w170px{width: 170px;}.w180px{width: 180px;}.w190px{width: 190px;}.w200px{width: 200px;}.w210px{width: 210px;}.w220px{width: 220px;}.w230px{width: 230px;}.w240px{width: 240px;}.w250px{width: 250px;}.w260px{width: 260px;}.w270px{width: 270px;}.w280px{width: 280px;}.w290px{width: 290px;}.w300px{width: 300px;}
.tc{text-align: center !important;}.tr{text-align: right !important;}.tl{text-align: left !important;}

.tc{text-align: center;
}
.tl{text-align: left;
}
.tr{text-align: right;
}
.p_title{font-weight: bold;font-size: 20px;
}
.p_subtitle{font-size: 18px;font-weight: bold;
}button{
 cursor: pointer;
}

.pc{display: block;
}
.sp{display: none;
}

.inr{max-width: 100rem;margin: 0 auto;padding: 1rem 0 1rem;}header{
  border-top: 5px solid; /* 太さを指定 */border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{align-items: center;
}header .block01{display: flex;}header .block01 .logo{}header .block01 .logo img{max-width: 14rem;margin-right: 1.4rem;}header .block01 .message{}header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}header .block02{display: flex;align-items: center;}header .block02 .contact_block{}

.header_tel_block{display: inline-block;text-align: right;margin-right: 1rem;}
.header_tel_block .number{font-size: 2.1rem;font-weight: 600;color: #000000;line-height: 1.9rem;width: 19rem; }
.header_tel_block .numberimg, .header_tel_block .number i{ font-size: 1.9rem;margin-right: 0.2rem;color: #369F2F;max-width: 2.5rem; }
.header_tel_block .txt{font-size: 1.1rem;color: #272727;line-height: 1.2rem; }



.btn{background: var(--main_gra);color: #fff;border-radius: 3rem;padding: 0.9rem 3rem;
}
.btn.primary{
 
}


#mainbnr{background: url(img/mainbnr.png) no-repeat right 0;/* height: 42rem; */background-size: cover;
}



#mainbnr .inr {padding: 5rem 0;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {text-align: center;}
#mainbnr .logo_blockimg {max-width: 15rem;}

/* Headline & Message */
#mainbnrh1 {font-size: 4.3rem;font-weight: 700;margin: 2rem 0;line-height: 7.7rem;color: #264260;text-shadow: 0px 0px 9px #fff;}
#mainbnrh1 span{
    font-weight: inherit;font-size: 90%;
}
#mainbnr .message {text-align: center;font-size: 2.1rem;font-family: serif;margin-bottom: 2rem;color: #264260;font-weight: 700;}

/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 14.5rem;padding: 0 3rem 6rem;margin: 0 0.6rem;}
#mainbnr .point_lists .blockp {font-size: 3.5rem;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;text-shadow: 0px 0px 3px #ffffff;}
#mainbnr .point_lists .blockp .span1 {display: block;font-size: 2.2rem;text-align: center;line-height: 1.7rem;}
#mainbnr .point_lists .blockp .spsn2 {font-size: 1.7rem;}


/* Top User Voice */
.top_user_voice {margin-top: -2rem;}
.top_user_voice .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */
 }
.top_user_voice .inr{padding: 0;
}
/* Voice Block */
.top_user_voice .voice {box-shadow: 0px 0px 5px #959595;border-radius: 3px;padding: 1.5rem;background: #fff;border: solid 2px #07197e;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);}
.top_user_voice .voice .tit {font-size: 1.6rem;font-weight: 600;margin-bottom: 0.6rem;/* font-family: serif; */color: #264260;/* border-bottom: solid 1px; */padding-bottom: 4px;}
.top_user_voice .voice .txt {font-size: 1.5rem;font-weight: 300;color: #333;}

/* User Block */
.top_user_voice .voice .user_block {padding-top: 1.5rem;display: flex;align-items: center;}
.top_user_voice .voice .user_block .img {/* background: var(--main_gra); */height: 5rem;width: 5rem;border-radius: 10rem;margin-right: 1.5rem;overflow: hidden;}
.top_user_voice .voice .user_block .imgimg {}
.top_user_voice .voice .user_block .info { }



.advice_section {position: relative;width: 100%;/* min-height: 400px; */ /* 適宜調整 */padding: 5rem 0;margin-bottom: 9rem;
}

/* 左側テキスト */
.text_block {width: 1000px;       /* 常に1000px幅 */max-width: 1000px;   /* これ以上広がらない */margin-left: 0;      /* 左寄せ */position: relative;z-index: 1;
}

.text_block .label {font-size: 2rem;color: #264260;margin-bottom: 10px;text-align: center;font-family: serif;margin-bottom: 1rem;
}

.text_blockh2 {
  font-size: 3.3rem;font-weight: bold;line-height: 1.6;margin-bottom: 10px;color: #264260;
}

.text_block .desc {font-size: 1.6rem;line-height: 1.7;color: #333;max-width: 80rem;background: #ffffffe3;padding: 3rem;
}

/* 右側グレー写真ブロック */
.image_block {position: absolute;top: 5rem;right: 0;width: 400px;   /* 固定幅 *//* height: 90%; */   /* セクションの高さに合わせる */background: #ccc; /* 仮のグレー背景 */
}



/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 120rem;padding: 4rem 4rem 1.5rem;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 3rem;}
.company_message_block .logo_imgimg {max-width: 15rem;}

/* Heading */
.company_message_blockh2 {text-align: center;font-size: 3.8rem;font-weight: 800;color: #264260;}

/* Layout */
.company_message_block .flex {padding: 4rem 0 0rem;}

/* Left Content */

.case_block {display: flex;gap: 20px;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;padding: 10px 0;
}

.case_block .case {flex: 0 0 50rem;       /* スライド幅 */scroll-snap-align: start;background: #fff;border-radius: 8px;box-shadow: 0 2px 6px rgba(0,0,0,0.1);padding: 16px;
}


.company_message_block .content_block {/* padding: 0 0% 0 5%; */width: calc(100% - 21rem);}
.company_message_block .content_blockp {margin-bottom: 3rem;}

.company_message_block .content_block .fukidashi{position: relative; /* 疑似要素の基準となるため */max-width: 60rem;padding: 12px 20px;background-color: #ececec; /* 吹き出しの背景色 */color: #333;border-radius: 10px;margin-right: 20px; /* 吹き出しの先端部分の余白を確保 */margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidaship{
    margin-bottom: 0;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */position: absolute;top: 50%; /* 縦方向の中央に配置 */right: -20px; /* 吹き出しの右端から外側に配置 */transform: translateY(-50%); /* 縦方向の中央に配置を調整 */border: 10px solid transparent; /* 透明なボーダー */border-left: 10px solid #ececec; /* 三角形の色（吹き出し本体と同じ色） */
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;   /* 各セルの中身を縦方向で中央に */margin-bottom: 2rem;
 }
.company_message_block .col3_block .grid .block {text-align: center;height: 20rem;width: 20rem;background: #ccc;display: flex;justify-content: center;align-items: center;border-radius: 14rem;font-size: 2.2rem;font-family: serif;font-weight: 800;background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block >div{
    font-family: serif;font-weight: 800;color: #d4558c;
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .imgimg{}

/* Right Image Area */
.company_message_block .img_block {width: 34rem;/* background: #f2f2f2; */display: flex;align-items: flex-end;min-width: 30rem;}
.company_message_block .img_block .img {width: 100%;}
.company_message_block .img_block .imgimg {}
.company_message_block .img_blockp {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {background: var(--main_gra);padding: 6rem 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -8rem;padding-bottom: 6rem;}

.sec_contact .inr{max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 2.9rem;font-weight: 600;margin-bottom: 2rem;}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3rem;font-size: 1.7rem;}

/* Grid Layout */
.sec_contact .grid {display: grid;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 3rem; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;margin-bottom: 2rem;
 }
.sec_contact .grid .block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}
.sec_contact .tel_block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}

.sec_contact .tel_block {background: #fff;border-radius: 12px;padding: 30px 20px;text-align: center;margin: 30px auto 0;max-width: 820px;box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_blockh3 {
  font-size: 18px;font-weight: bold;margin-bottom: 10px;
}

.sec_contact .tel_blockp {
  font-size: 14px;margin-bottom: 8px;line-height: 1.6;color: #333;
}

.sec_contact .tel_blocka {
  display: inline-block;font-size: 30px;font-weight: bold;color: #d4145a;text-decoration: none;/* background: #f2f2f2; *//* padding: 12px 25px; */border-radius: 25px;
}

.sec_contact .tel_blocka:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 2rem;margin-bottom: 0.9rem;color: #264260;font-weight: 700;}
.sec_contact  .block .txt {color: inherit;font-size: 1.4rem;}

/* Buttons */
.sec_contact .block .btn {font-size: 1.8rem;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {position: relative;background: url("img/town_bg.jpg") no-repeat center center/cover;padding: 6rem 0;z-index: 0;
}

.sec_fact::before {
  content: "";position: absolute;inset: 0; /* top, right, bottom, left をまとめて指定 */background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */z-index: -1; /* 背景として敷く */
}

.sec_facth2,.sec_fact p{
 color: #fff;
}
.sec_facth2{font-size: 3.8rem;font-family: serif;margin-bottom: 3rem;}
.sec_factp{
 font-size: 1.8rem;font-family: serif;line-height: 3.4rem;margin-bottom: 1.6rem;max-width: 80rem;margin: 0 auto;
}

/* 段落内の強調文字 */
.sec_fact .highlight {display: inline-block;font-size: 4.3rem;font-weight: bold;color: #e63946; /* 赤文字 */margin-right: 2.5rem; /* 後続文との間隔 */line-height: 1.4;
}



.highlight_block{float: left;margin: 2rem 0 1rem;
}
.sec_facth3{
  text-align: center;color: #fff;margin: 6rem 0 2rem;font-size: 2.8rem;font-family: serif;
}
.sec_fact .p2{text-align: center;font-size: 3.4rem;line-height: 5.5rem;
}

.case_block {display: flex;margin-bottom: 3rem;
}

.case_block .case {background: #00000096;padding: 2.7rem;margin: 0 0rem;border-radius: 1px;border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .imgimg {}

.case_block .case .block {}

.case_block .case .blockp {
    font-size: 1.6rem;line-height: 2.3rem;
}
.case_block .case .blockp.tit{font-size: 1.8rem;margin-bottom: 1.5rem;}
.case_block .case .blockp.txt{
    font-size: 1.5rem;line-height: 2.1rem;font-family: inherit;font-weight: 300;color: #e0e0e0;
}

.sec_needs {padding: 7rem 0;
}

.sec_needs .inr {}

.sec_header {margin-bottom: 4rem;
}

.sec_headerh2 {
    text-align: center;font-size: 4.2rem;font-family: serif;margin-bottom: 3rem;color: #264260;font-weight: 700;
}

.sec_header .txt {font-size: 1.6rem;color: #333;
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {display: flex;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */justify-content: center;align-items: anchor-center;
}

.sec_needs .needs_content .content {width: 70%;
}

.sec_needs .needs_content .content .p1 {font-size: 2.9rem;font-family: serif;font-weight: 600;color: #264260;
}

.sec_needs .needs_content .img {/* background: #f2f2f2; */height: 37rem;width: 30rem;
}

.sec_needs .needs_content .imgimg {}

.sec_needs .point_content {display: grid;grid-template-columns: repeat(2, 1fr);gap: 20px;justify-items: center;max-width: 80rem;margin: 0 auto 3rem;
}

.sec_needs .point_content .point {background: #f2f2f2;padding: 2.2rem;border-radius: 5px;border-radius: 20px;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);border: solid 3px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .imgimg{
    text-align: center;margin: 0 auto;max-width: 7rem;
}

.sec_needs .point_content .point .tit {font-size: 2.3rem;text-align: center;margin-bottom: 1.2rem;font-weight: 600;color: #264260;
}

.sec_needs .point_content .point .txt {font-size: 1.6rem;color: #333;line-height: 2.2rem;
}

.sec_needs .triangle {width: 0;height: 0;border-left: 11rem solid transparent; /* 左右のボーダーを透明にする */border-right: 11rem solid transparent;border-top: 4rem solid #d22121; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5rem;
}
.sec_needs .table_compare {max-width: 80rem;margin: 0 auto;font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;border-collapse: separate;border-spacing: 0;border-radius: 8px; /* 角丸 */overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_comparetable {
    width: 100%;border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_comparethead {
    /* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */}

.sec_needs .table_comparethead tr {
    /* 特に指定なし */}

.sec_needs .table_comparethead th {
    padding: 15px 20px 0;text-align: center;font-weight: bold;color: #333;white-space: nowrap;border-bottom: 1px solid #ccc;position: relative;
}
.sec_needs .table_comparethead th > div{
    display: flex;justify-content: center;align-items: end;
}
.sec_needs .table_comparethead th img{width: 86px;max-width: inherit;margin-right: 1.2rem;}
.sec_needs .table_comparethead th span{
    font-size: 2.3rem;font-weight: 600;
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_comparethead th:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_comparetbody {
    /* 特に指定なし */}

.sec_needs .table_comparetbody tr {
    /* 行の区切り */
    border-bottom: 1px solid #eee;
}

.sec_needs .table_comparetbody tr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_comparetbody td {
    padding: 15px 20px;vertical-align: top;line-height: 1.6;color: #000000;background-color: #f9f9f9; /* 左側の背景色 */font-size: 1.8rem;
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_comparetbody td.right {
    background-color: #eaf6ff;color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_comparetbody td.left {
    background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_comparetbody td> div{
    display: flex;align-items: center;
}
.sec_needs .table_comparetbody td.left span{
    color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compareimg {
    vertical-align: middle;margin-left: 5px;max-width: 30px; /* アイコンのサイズ調整 */height: auto;
}
.sec_needs .table_comparetbody td> div img{
    margin-right: 1rem;
}
.sec_needs .table_comparetbody td.right span{
    font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compareh3 {
    font-size: 1.1em;margin-top: 0;margin-bottom: 5px;color: #333;
}

.sec_usecase {padding: 6rem 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_headerh2 {}

.sec_usecase .sec_header .txt {}

.sec_usecase .contents {/* max-width: 100rem; */margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 3rem;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 2.6rem;border-radius: 30px;}

.sec_usecase .contents .content .flex {}

.sec_usecase .contents .content .block {width: calc(100% - var(--width_2col_img));padding-right: 3rem;
}

.sec_usecase .contents .content .block .tit {font-size: 2.2rem;margin-bottom: 1.6rem;padding-top: 1rem;color: #264260;font-weight: 600;
}

.sec_usecase .contents .content .block .txt {font-size: 1.6rem;margin-bottom: 2rem;color: #333;
}

.sec_usecase .contents .content .img {width: var(--width_2col_img);height: 21rem;background: #ccc;border-radius: 2rem;overflow: hidden;
}

.sec_usecase .contents .content .imgimg {}


.sec_faq {padding: 6rem 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_headerh2 {}

.sec_faq .sec_header .txt {}

.sec_faq .contents {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 20px; /* カラム間の余白 */
}

.sec_faq .contents .content {padding: 1.9rem;border: solid 1px #ec3378;
}

.sec_faq .contents .content .p_q {font-size: 1.7rem;font-weight: 700;margin-bottom: 0.5rem;color: #264260;
}

.sec_faq .contents .content .p_a {font-size: 1.5rem;color: #333;
}

.sec_flow{background: #eef8ff;padding: 6rem 0;
}

.sec_flow .inr_in{max-width: 70rem;margin: 0 auto;
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 2.2rem;font-weight: 600;color: #264260;margin-bottom: 0.6rem;}
.sec_flow .block .txt{color: #333;}
.sec_flow .block .detail{width: 65%;}
.sec_flow .block .detail .img{display: none;
}

.sec_flow .block .img{margin-left: 4%;width: calc(100% - 70%);}
.sec_flow .block .imgimg{}
.sec_flow .block.w100{width: 100%;display: block;
}

.sec_flow .triangle{width: 0;height: 0;border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */border-right: 5rem solid transparent;border-top: 2rem solid #FFEB3B;margin: 0 auto 0rem;
}


.sec_aboutus {padding: 6rem 0;
}

.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_headerh2 {}

.sec_aboutus .contents {max-width: 80rem;margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {align-items: anchor-center;
}

.sec_aboutus .contents .block {width: calc(100% - var(--width_2col_img));padding-right: 3rem;
}

.sec_aboutus .contents .block .img {width: 20rem;margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .imgimg {}

.sec_aboutus .contents .block .txt {}

.sec_aboutus .contents .ceo_img {width: var(--width_2col_img);/* border-radius: 2rem; */overflow: hidden;
}

.sec_aboutus .contents .ceo_imgimg {
    /* width: 100%; */
    height: 36rem;/* background: #ccc; */
}

.sec_aboutus .company_table {max-width: 70rem;margin: 0 auto;
}

.sec_aboutus .company_tabletable {}

.sec_aboutus .company_tabletr {}

.sec_aboutus .company_tableth,.sec_aboutus .company_table td{
  border-bottom: solid 1px #ccc;padding: 1.7rem 2rem;
}

.sec_aboutus .company_tableth {
    width: 35%;
}

.sec_aboutus .company_tabletd {}footer{
  background: var(--main_gra);padding: 3rem 0;
}footer .inr {}footer .flex {
    align-items: center;
}footer .block {
    margin-right: 2rem;
}footer .block .logo {}footer .block .logo img {}footer .block.no2 {
    color: #fff;line-height: 1.6rem;
}footer .block.no2 p {
    font-size: 1.2rem;
}@media screen and (max-width: 1000px) {
    #mainbnr .inr {
        padding: 5rem 1%;
    }
    .top_user_voice {padding: 0 1%;
    }
    .inr {padding: 1rem 1% 1rem;
}
}@media screen and (max-width: 768px) {

.pc{
    display: none;
}
.sp{display: block;
}

.inr{max-width: 100%;margin: 0 auto;padding: 7vw 3% 6vw;}

header{border-top: 5px solid; /* 太さを指定 */border-image: var(--main-gra_line) 1;
}
.flex{display: flex;}
.between{justify-content: space-between;}
.align-items{align-items: center;
}
header .inr{padding: 3vw 3%;}


header .block01{display: flex;width: 12vw;}
header .block01 .logo{

}
header .block01 .logo img{max-width: 28vw;margin-right: 1.4vw;}
header .block01 .message{display: none;}

header .block01 .message p{font-size: 1.4rem;line-height: 1.8rem;font-weight: 700;color: #3a1a1a;}
header .block02{display: flex;align-items: center;width: calc(100% - 10rem);justify-content: end;}
header .block02 .contact_block{display: block;}

.header_tel_block{text-align: right;margin-right: 2.1vw;}
.header_tel_block .number{font-size: 4.5vw;font-weight: 600;color: #000000;line-height: 1.3rem;width: auto;}
.header_tel_block .number img, .header_tel_block .number i{font-size: 1.9rem;margin-right: 0.2rem;color: #369F2F;max-width: 2.5rem; }
.header_tel_block .txt{font-size: 2.8vw;color: #272727;line-height: 1.2rem;}



.btn{background: var(--main_gra);color: #fff;border-radius: 3rem;padding: 2.3vw 3.5vw;
}
.btn.primary{font-size: 2.5vw;padding: 2.2vw 3.6vw;
}


#mainbnr{background: url(img/mainbnr_sp.png) no-repeat;height: 71vw;background-size: 142%;background-position: right 36% bottom 3vw;overflow: hidden;
}



#mainbnr .inr {padding: 5vw 3%;}
#mainbnr .content {max-width: 67rem;}

/* Logo */
#mainbnr .logo_block {display: none;}
#mainbnr .logo_block img {max-width: 15rem;}

/* Headline & Message */
#mainbnr h1 {font-size: 6.3vw;font-weight: 700;margin: 3vw 0;line-height: 8.4vw;color: #264260;text-align: left;}
#mainbnr .message {text-align: left;font-size: 3.3vw;font-family: serif;margin-bottom: 4vw;color: #264260;}
#mainbnr h1 span{font-size: 90%;font-weight: inherit;
}
/* Points */
#mainbnr .point_lists {display: flex;justify-content: center;width: 70%;}
#mainbnr .point_lists .block { }
#mainbnr .point_lists .block.ring {background: url(img/img_ring.png) no-repeat center center;background-size: 16.7vw;padding: 0 1.3vw 3vw;margin: 0 0.5vw 3vw;background-position: bottom;}
#mainbnr .point_lists .block p {font-size: 4.8vw;text-align: center;font-family: serif;color: #d4145a;font-weight: 600;}
#mainbnr .point_lists .block p .span1 {display: block;font-size: 3vw;text-align: center;line-height: 2.7vw;}
#mainbnr .point_lists .block p .spsn2 {font-size: 3.5vw;}

/* スマホのみ適用 */

.top_user_voice .voice .tit {font-size: 4vw;margin-bottom: 0.4vw;font-size: clamp(1.2rem, 3.4vw, 2.4rem);
}
.top_user_voice .voice .txt {font-size: 3.4vw;font-weight: 300;color: #333;font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .info {font-size: 3.2vw;font-size: clamp(1.2rem, 3vw, 1.5rem);
}
.top_user_voice .voice .user_block .img {/* background: var(--main_gra); */height: 10vw;width: 10vw;border-radius: 20rem;margin-right: 2vw;overflow: hidden;
}

  .top_user_voice .grid {display: flex;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;scroll-behavior: smooth;padding: 0 10%; /* サイド余白を確保 */
  }

  .top_user_voice .grid::-webkit-scrollbar {
    display: none;
  }

  .top_user_voice .voice {flex: 0 0 80%;              /* ← 横幅80% */scroll-snap-align: center;  /* 中央にスナップ */margin: 0 2px;             /* 両サイドの余白 */max-width: none;
  }




.advice_section {position: relative;width: 100%;/* min-height: 400px; */ /* 適宜調整 */padding: 5vw 0 0;margin-bottom: 0rem;
}

/* 左側テキスト */
.text_block {width: 100%;       /* 常に1000px幅 */max-width: 100%;   /* これ以上広がらない */margin-left: 0;      /* 左寄せ */position: relative;z-index: 1;
}

.text_block .label {font-size: 3.8vw;color: #264260;margin-bottom: 10px;text-align: center;font-family: serif;margin-bottom: 5vw;
}

.text_block h2 {font-size: 4.5vw;font-weight: bold;line-height: 1.3;margin-bottom: 10px;color: #264260;font-size: clamp(2.4rem, 4.5vw, 3.3rem);
}


.text_block .desc {line-height: 1.7;color: #333;max-width: 100%;background: none;padding: 0vw;/* width: 70%; */
}

.text_block .desc > div{background: #ffffffe3;padding: 4vw;width: 73%;margin-left: -2vw;}
.text_block .desc p{/* font-size: 2.8vw; */font-size: clamp(1.2rem, 3.4vw, 1.6rem);} 

/* 右側グレー写真ブロック */
.image_block {position: absolute;top: inherit;right: 0;width: 51%;   /* 固定幅 *//* height: 90%; */   /* セクションの高さに合わせる */background: #ccc; /* 仮のグレー背景 */bottom: 21%;
}



/* Company Message Block */
.company_message_block {position: relative;z-index: 1;}
.company_message_block .inr {background: #fff;border-radius: 0.4rem;max-width: 100%;padding: 4vw 3% 6.5vw;}

/* Logo */
.company_message_block .logo_img {text-align: center;margin-bottom: 6vw;}
.company_message_block .logo_img img {max-width: 20vw;}

/* Heading */
.company_message_block h2 {text-align: center;font-size: 4.8vw;font-weight: 800;color: #264260;font-size: clamp(2rem, 4.8vw, 3.8rem);}

/* Layout */
.company_message_block .flex {padding: 3vw 0 0rem;display: block;position: relative;}

/* Left Content */

.case_block {display: flex;gap: 20px;overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch;padding: 10px 0;
}

.case_block .case {flex: 0 0 80%;       /* スライド幅 */scroll-snap-align: start;background: #fff;border-radius: 8px;box-shadow: 0 2px 6px rgba(0,0,0,0.1);padding: 16px;
}


.company_message_block .content_block {padding: 0 0% 0 0%;width: 100%;}
.company_message_block .content_block p {margin-bottom: 3vw;font-size: 3.2vw;font-size: clamp(1.2rem, 3.2vw, 1.6rem);}

.company_message_block .content_block .fukidashi{position: relative; /* 疑似要素の基準となるため */max-width: 100%;padding: 4vw 6vw;background-color: #ececec; /* 吹き出しの背景色 */color: #333;border-radius: 10px;margin-right: 0; /* 吹き出しの先端部分の余白を確保 */margin-left: auto; /* 右寄せにする */
}
.company_message_block .content_block .fukidashi p{margin-bottom: 0;padding-right: 23%;
}
.company_message_block .content_block .fukidashi:after{
     content: ""; /* 疑似要素には必須 */position: absolute;top: 50%; /* 縦方向の中央に配置 */right: -20px; /* 吹き出しの右端から外側に配置 */transform: translateY(-50%); /* 縦方向の中央に配置を調整 */border: 10px solid transparent; /* 透明なボーダー */border-left: 10px solid #ececec; /* 三角形の色（吹き出し本体と同じ色） */display: none;
}


/* 3-Column Section */
.company_message_block .col3_block { }
.company_message_block .col3_block .grid {display: grid;grid-template-columns: repeat(3, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;   /* 各セルの中身を縦方向で中央に */margin-bottom: 2rem;
 }
  .company_message_block .col3_block .grid {grid-template-columns: repeat(2, 1fr); /* 2列表示 */grid-template-rows: auto auto;        /* 2段に分ける */gap: 20px;
  }

  /* 1番目のブロックだけ幅2列分にする */
  .company_message_block .col3_block .grid .block:nth-child(1) {grid-column: span 2;justify-self: center;
  }
.company_message_block .col3_block .grid .block {text-align: center;height: 43vw;width: 43vw;background: #ccc;display: flex;justify-content: center;align-items: center;border-radius: 14rem;font-size: 3.2vw;font-family: serif;font-weight: 800;background: conic-gradient(
    #ffffff 0deg -100deg,   /* 左半分 白 */
    #fbeaf1 180deg 360deg  /* 右半分 薄ピンク */
  );
}

.company_message_block .col3_block .grid .block > div{font-family: serif;font-weight: 800;color: #d4558c;/* font-size: 5vw; */font-size: clamp(1.3rem, 4vw, 4.4rem);
}
.company_message_block .col3_block .grid .block .img {

}
.company_message_block .col3_block .grid .block .img{

}
.company_message_block .col3_block .grid .block .img img{width: 19vw;}

/* Right Image Area */
.company_message_block .img_block {width: 100%;/* background: #f2f2f2; */height: auto;/* display: none; */}
.company_message_block .img_block .img {width: 30%;position: absolute;right: -4%;bottom: 0;}
.company_message_block .img_block .img img { }
.company_message_block .img_block p {text-align: center;color: #ddfd;font-size: 1.1rem;}


/* Contact Section */
.sec_contact {background: var(--main_gra);padding: 4vw 0;
}
.sec_contact.type01 {padding-top: 12rem;margin-top: -30vw;padding-bottom: 6vw;}

.sec_contact .inr{max-width: 83rem;
}

/* Title */
.sec_contact .tit {text-align: center;color: #fff;font-size: 4.5vw;font-weight: 600;margin-bottom: 2vw;}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3vw;font-size: 3.4vw;}

/* Grid Layout */
.sec_contact .grid {display: grid;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 1.5vw; /* カラム間の余白 */justify-items: center; /* 各セルの中身を横方向で中央に */align-items: center;margin-bottom: 0vw;
 }
.sec_contact .grid .block {background: #fff;padding: 3.6vw 1.5vw;border-radius: 2vw;text-align: center;
}
.sec_contact .tel_block {background: #fff;padding: 3.6rem 3rem;border-radius: 1.8rem;text-align: center;
}

.sec_contact .tel_block {background: #fff;border-radius: 12px;padding: 4vw;text-align: center;margin: 3vw auto 0;max-width: 100%;box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_block h3 {font-size: 18px;font-weight: bold;margin-bottom: 10px;
}

.sec_contact .tel_block p {font-size: 2.8vw;margin-bottom: 8px;line-height: 1.6;color: #333;
}

.sec_contact .tel_block a {display: inline-block;font-size: 7vw;font-weight: bold;color: #d4145a;text-decoration: none;/* background: #f2f2f2; *//* padding: 12px 25px; */border-radius: 25px;
}

.sec_contact .tel_block a:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 3.4vw;margin-bottom: 0.9rem;color: #264260;font-weight: 700;}
.sec_contact  .block .txt {color: inherit;font-size: 3.3vw;}

/* Buttons */
.sec_contact .block .btn {font-size: 2.8vw;display: block;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {position: relative;background: url("img/town_bg.jpg") no-repeat center center/cover;padding: 8vw 0;z-index: 0;
}

.sec_fact::before {
  content: "";position: absolute;inset: 0; /* top, right, bottom, left をまとめて指定 */background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */z-index: -1; /* 背景として敷く */
}

.sec_fact h2,.sec_fact p{color: #fff;
}
.sec_fact h2{font-size: 7.3vw;font-family: serif;margin-bottom: 5vw;}
.sec_fact p{font-size: 3.8vw;font-family: serif;line-height: 6.2vw;margin-bottom: 1.6rem;max-width: 80rem;margin: 0 auto;
}

/* 段落内の強調文字 */
.sec_fact .highlight {display: inline-block;font-size: 7.3vw;font-weight: bold;color: #e63946; /* 赤文字 */margin-right: 4.5vw; /* 後続文との間隔 */line-height: 1.4;
}



.highlight_block{float: left;margin: 5vw 0 4vw;
}
.sec_fact h3{text-align: center;color: #fff;margin: 6vw 0 5vw;font-size: 5.8vw;font-family: serif;
}
.sec_fact .p2{text-align: center;font-size: 4.4vw;line-height: 1.7;
}

.case_block {display: flex;margin-bottom: 3rem;
}

.case_block .case {background: #00000096;padding: 5.7vw;margin: 0 0rem;border-radius: 1px;border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .img img {}

.case_block .case .block {}

.case_block .case .block p {font-size: 1.6rem;line-height: 2.3rem;
}
.case_block .case .block p.tit{font-size: 3.6vw;margin-bottom: 2.5vw;}
.case_block .case .block p.txt{font-size: 3vw;line-height: 1.7;font-family: inherit;font-weight: 300;color: #e0e0e0;
}

.sec_needs {padding: 3vw 0;
}

.sec_needs .inr {}

.sec_header {margin-bottom: 5vw;
}

.sec_header h2 {text-align: center;font-size: 6vw;font-family: serif;margin-bottom: 7.5vw;color: #264260;font-weight: 700;
}

.sec_header .txt {font-size: 3.6vw;color: #333;
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {display: flex;grid-template-columns: repeat(2, 1fr); /* 3カラム */gap: 10px; /* カラム間の余白 */justify-content: center;align-items: end;
}

.sec_needs .needs_content .content {width: 70%;
}

.sec_needs .needs_content .content .p1 {font-size: 5.5vw;font-family: serif;font-weight: 600;color: #264260;line-height: 1.4;
}

.sec_needs .needs_content .img {/* background: #f2f2f2; */height: 36vw;width: 29vw;
}

.sec_needs .needs_content .img img {}

.sec_needs .point_content {display: grid;grid-template-columns: repeat(2, 1fr);gap: 3px;justify-items: center;max-width: 100%;margin: 0 auto 3vw;
}

.sec_needs .point_content .point {background: #f2f2f2;padding: 3.2vw;border-radius: 5px;border-radius: 20px;background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);border: solid 2px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .img img{text-align: center;margin: 0 auto;max-width: 5rem;
}

.sec_needs .point_content .point .tit {font-size: 4.4vw;text-align: center;margin-bottom: 1.2rem;font-weight: 600;color: #264260;
}

.sec_needs .point_content .point .txt {font-size: 2.9vw;color: #333;line-height: 1.6;
}

.sec_needs .triangle {width: 0;height: 0;border-left: 15vw solid transparent; /* 左右のボーダーを透明にする */border-right: 15vw solid transparent;border-top: 8vw solid #d22121; /* 上のボーダーに色をつけ、高さを決める */margin: 0 auto 5vw;
}
.sec_needs .table_compare {max-width: 80rem;margin: 0 auto;font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;border-collapse: separate;border-spacing: 0;border-radius: 8px; /* 角丸 */overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_compare table {width: 100%;border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_compare thead {/* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */
}

.sec_needs .table_compare thead tr {
    /* 特に指定なし */
}

.sec_needs .table_compare thead th {padding: 2vw 1vw 0;text-align: center;font-weight: bold;color: #333;white-space: nowrap;border-bottom: 1px solid #ccc;position: relative;
}
.sec_needs .table_compare thead th > div{display: block;justify-content: center;align-items: end;
}
.sec_needs .table_compare thead th img{width: 16.6vw;max-width: inherit;margin-right: 1.2rem;display: block;margin: 0 auto 1vw;}
.sec_needs .table_compare thead th span{font-size: 4.1vw;font-weight: 600;
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_compare thead th:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_compare tbody {
    /* 特に指定なし */
}

.sec_needs .table_compare tbody tr {
    /* 行の区切り */border-bottom: 1px solid #eee;
}

.sec_needs .table_compare tbody tr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_compare tbody td {padding: 2vw 3vw;vertical-align: top;line-height: 1.6;color: #000000;background-color: #f9f9f9; /* 左側の背景色 */font-size: 4vw;
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_compare tbody td.right {background-color: #eaf6ff;color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_compare tbody td.left {background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_compare tbody td> div{display: block;align-items: center;
}
.sec_needs .table_compare tbody td.left span{color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compare img {vertical-align: middle;margin-left: 5px;max-width: 30px; /* アイコンのサイズ調整 */height: auto;
}
.sec_needs .table_compare tbody td> div img{margin-right: 1rem;display: block;margin: 0 auto 3vw;,:;width: 7.6vw;
}
.sec_needs .table_compare tbody td.right span{font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compare h3 {font-size: 1.1em;margin-top: 0;margin-bottom: 5px;color: #333;
}

.sec_usecase {padding: 6vw 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_header h2 {}

.sec_usecase .sec_header .txt {}

.sec_usecase .contents {/* max-width: 100rem; */margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 4vw;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 3.6vw;border-radius: 10px;}

.sec_usecase .contents .content .flex {flex-wrap: wrap;
}

.sec_usecase .contents .content .block {width: 100%;padding-right: 0;order: 2;
}

.sec_usecase .contents .content .block .tit {font-size: 5vw;margin-bottom: 2vw;padding-top: 2vw;color: #264260;font-weight: 600;
}

.sec_usecase .contents .content .block .txt {font-size: 3.5vw;margin-bottom: 0;color: #333;
}

.sec_usecase .contents .content .img {width: var(--width_2col_img);height: auto;background: #ccc;border-radius: 1rem;overflow: hidden;order: 1;margin-bottom: 3vw;
}

.sec_usecase .contents .content .img img {}


.sec_faq {padding: 6vw 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_header h2 {}

.sec_faq .sec_header .txt {}

.sec_faq .contents {display: block;
    /* 3カラム */
    /* カラム間の余白 */
}

.sec_faq .contents .content {padding: 3.9vw;border: solid 1px #ec3378;margin-bottom: 5vw;
}

.sec_faq .contents .content .p_q {font-size: 4.4vw;font-weight: 700;margin-bottom: 2.5vw;color: #264260;border-bottom: solid 1px #264260;padding-bottom: 1.4vw;
}

.sec_faq .contents .content .p_a {font-size: 3.4vw;color: #333;
}

.sec_flow{background: #eef8ff;padding: 6vw 0;
}

.sec_flow .inr_in{max-width: 100%;margin: 0 auto;padding: 0 3%;
}
.sec_flow .sec_header p{font-size: 3.4vw;
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 5vw;font-weight: 600;color: #264260;margin-bottom: 0.6rem;text-align: center;}
.sec_flow .block .txt{color: #333;font-size: 3.4vw;}
.sec_flow .block .detail{width: 100%;}
.sec_flow .block .detail .img{display: block;margin: 3vw auto 4vw;width: 50%;
}

.sec_flow .block .img{display: none;}
.sec_flow .block .img img{width: 100%;
}
.sec_flow .block.w100{width: 100%;display: block;
}

.sec_flow .triangle{width: 0;height: 0;border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */border-right: 5rem solid transparent;margin: 0 auto 0rem;
}


.sec_aboutus {padding: 6vw 0;
}

.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_header h2 {}

.sec_aboutus .contents {max-width: 80rem;margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {align-items: anchor-center;display: block;
}

.sec_aboutus .contents .block {width: 100%;padding-right: 0;
}

.sec_aboutus .contents .block .img {width: 30vw;margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .img img {}

.sec_aboutus .contents .block .txt {font-size: 3.4vw;color: #333;margin-bottom: 4vw;
}

.sec_aboutus .contents .ceo_img {width: 100%;/* border-radius: 2rem; */overflow: hidden;text-align: center;
}

.sec_aboutus .contents .ceo_img img {/* width: 100%; */height: inherit;/* background: #ccc; */max-width: 60%;
}

.sec_aboutus .company_table {max-width: 70rem;margin: 0 auto;
}

.sec_aboutus .company_table table {}

.sec_aboutus .company_table tr {}

.sec_aboutus .company_table th,.sec_aboutus .company_table td{border-bottom: solid 1px #ccc;padding: 1.2rem 2rem;display: block;width: 100%;color: #333;
}

.sec_aboutus .company_table th {width: inherit;background: #f2f2f2;
}

.sec_aboutus .company_table td {}


footer{background: var(--main_gra);padding: 3rem 0;
}

footer .inr {}

footer .flex {align-items: center;
}

footer .block {margin-right: 2rem;
}

footer .block .logo {}

footer .block .logo img {}

footer .block.no2 {color: #fff;line-height: 1.6rem;
}

footer .block.no2 p {font-size: 1.2rem;
}



};}

/* Text */
.sec_contact .txt {color: #fff;text-align: center;margin-bottom: 3vw;font-size: 3.4vw;font-size: clamp(1.2rem, 3.4vw, 1.7rem);}

/* Grid Layout */
.sec_contact .grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr); /* 3カラム */
		gap: 1.5vw; /* カラム間の余白 */
		justify-items: center; /* 各セルの中身を横方向で中央に */
		align-items: center;
		margin-bottom: 0vw;
	}
.sec_contact .grid .block {
    background: #fff;
    padding: 3.6vw 1.5vw;
    border-radius: 2vw;
    text-align: center;
}
.sec_contact .tel_block {
    background: #fff;
    padding: 3.6rem 3rem;
    border-radius: 1.8rem;
    text-align: center;
}

.sec_contact .tel_block {
  background: #fff;
  border-radius: 12px;
  padding: 4vw;
  text-align: center;
  margin: 3vw auto 0;
  max-width: 100%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sec_contact .tel_block h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}

.sec_contact .tel_block p {
  /* font-size: 2.8vw; */
  margin-bottom: 8px;
  line-height: 1.6;
  color: #333;
  font-size: clamp(1.2rem, 3.3vw, 1.4rem);
}

.sec_contact .tel_block a {
  display: inline-block;
  font-size: 7vw;
  font-weight: bold;
  color: #d4145a;
  text-decoration: none;
  /* background: #f2f2f2; */
  /* padding: 12px 25px; */
  border-radius: 25px;
  font-size: clamp(2rem, 6vw, 3rem);
}

.sec_contact .tel_block a:hover {
  background: #e5e5e5;
}



/* Block Content */
.sec_contact .block .p1 {color: inherit;font-size: 3.4vw;margin-bottom: 0.9rem;color: #264260;font-weight: 700;font-size: clamp(1.2rem, 3.4vw, 1.8rem);}
.sec_contact  .block .txt {color: inherit;/* font-size: 3.3vw; */font-size: clamp(1.2rem, 3.3vw, 1.4rem);}

/* Buttons */
.sec_contact .block .btn {font-size: 2.8vw;display: block;}
.sec_contact .block .line_btn {background: #4CAF50;}



.sec_fact {
  position: relative;
  background: url("img/town_bg.jpg") no-repeat center center/cover;
  padding: 8vw 0;
  z-index: 0;
}

.sec_fact::before {
  content: "";
  position: absolute;
  inset: 0; /* top, right, bottom, left をまとめて指定 */
  background: rgba(0, 0, 0, 0.8); /* 黒を80%透過 */
  z-index: -1; /* 背景として敷く */
}

.sec_fact h2,.sec_fact p{
	color: #fff;
}
.sec_fact h2{font-size: 7.3vw;font-family: serif;margin-bottom: 5vw;font-size: clamp(2.6rem, 7.3vw, 5rem);}
.sec_fact p{
	font-size: 3.8vw;
	font-family: serif;
	line-height: 1.9;
	margin-bottom: 1.6rem;
	max-width: 80rem;
	margin: 0 auto;
	font-size: clamp(1.2rem, 3.6vw, 1.8rem);
}

/* 段落内の強調文字 */
.sec_fact .highlight {
  display: inline-block;
  font-size: 7.3vw;
  font-weight: bold;
  color: #e63946; /* 赤文字 */
  margin-right: 4.5vw; /* 後続文との間隔 */
  line-height: 1.4;
  font-size: clamp(1.2rem, 6.3vw, 6rem);
}



.highlight_block{
	float: left;
	margin: 5vw 0 4vw;
}
.sec_fact h3{
  text-align: center;
  color: #fff;
  margin: 6vw 0 5vw;
  font-size: 5.8vw;
  font-family: serif;
  font-size: clamp(1.4rem, 5.8vw, 3.2rem);
}
.sec_fact .p2{
  text-align: center;
  font-size: 4.4vw;
  line-height: 1.7;
  font-size: clamp(1.3rem, 5.2vw, 4.2rem);
}

.case_block {
    display: flex;
    margin-bottom: 3rem;
}

.case_block .case {
    background: #00000096;
    padding: 5.7vw;
    margin: 0 0rem;
    border-radius: 1px;
    border: solid 1px #ffffff57;
}

.case_block .case .flex {}

.case_block .case .img {}

.case_block .case .img img {}

.case_block .case .block {}

.case_block .case .block p {
    font-size: 1.6rem;
    line-height: 1.6;
}
.case_block .case .block p.tit{font-size: 3.6vw;margin-bottom: 2.5vw;font-size: clamp(1.4rem, 3.5vw, 2.2rem);}
.case_block .case .block p.txt{
    font-size: 3vw;
    line-height: 1.6;
    font-family: inherit;
    font-weight: 300;
    color: #e0e0e0;
    font-size: clamp(1.2rem, 2.8vw, 1.8rem);
}

.sec_needs {
    padding: 9vw 0 5vw;
}

.sec_needs .inr {}

.sec_header {
    margin-bottom: 5vw;
}

.sec_header h2 {
    text-align: center;
    font-size: 6vw;
    font-family: serif;
    margin-bottom: 7.5vw;
    color: #264260;
    font-weight: 700;
    font-size: clamp(1.3rem, 6vw, 4.2rem);
}

.sec_header .txt {
    font-size: 3.6vw;
    color: #333;
    font-size: clamp(1.2rem, 3.6vw, 1.6rem);
}

.sec_needs .needs_content {margin-bottom: 1rem;max-width: 84rem;margin: 0 auto;}

.sec_needs .needs_content .flex {
    	  display: flex;
    	  grid-template-columns: repeat(2, 1fr); /* 3カラム */
    	  gap: 10px; /* カラム間の余白 */
    	  justify-content: center;
    	  align-items: end;
}

.sec_needs .needs_content .content {
    width: 70%;
}

.sec_needs .needs_content .content .p1 {
    font-size: 5.5vw;
    font-family: serif;
    font-weight: 600;
    color: #264260;
    line-height: 1.4;
    font-size: clamp(1.4rem, 4.2vw, 2.6rem);
    padding-bottom: 2vw;
}

.sec_needs .needs_content .img {
    /* background: #f2f2f2; */
    height: 36vw;
    width: clamp(8rem, 29vw, 32rem);
}

.sec_needs .needs_content .img img {}

.sec_needs .point_content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
    justify-items: center;
    max-width: 100%;
    margin: 0 auto 3vw;
}

.sec_needs .point_content .point {
    background: #f2f2f2;
    padding: 3.2vw;
    border-radius: 5px;
    border-radius: 20px;
    background: linear-gradient(-45deg, /* 斜めの角度 */ #e8f4ff 50%, /* 左上側：青（お好きな青に変更可） */ #ffffff 50% /* 右下側：薄いグレー */);
    border: solid 2px #274260;
}
.sec_needs .point_content .point .img{text-align: center;}
.sec_needs .point_content .point .img img{
    text-align: center;
    margin: 0 auto;
    max-width: 5rem;
}

.sec_needs .point_content .point .tit {
    font-size: 4.4vw;
    text-align: center;
    margin-bottom: 1.2rem;
    font-weight: 600;
    color: #264260;
    font-size: clamp(1.3rem, 4.4vw, 2.3rem);
}

.sec_needs .point_content .point .txt {
    font-size: 2.9vw;
    color: #333;
    line-height: 1.6;
    font-size: clamp(1.2rem, 2.9vw, 1.6rem);
}

.sec_needs .triangle {
  width: 0;
  height: 0;
  border-left: 15vw solid transparent; /* 左右のボーダーを透明にする */
  border-right: 15vw solid transparent;
  border-top: 8vw solid #d22121; /* 上のボーダーに色をつけ、高さを決める */
  margin: 0 auto 5vw;
}
.sec_needs .table_compare {
    max-width: 80rem;
    margin: 0 auto;
    font-family: 'Segoe UI', 'メイリオ', Meiryo, sans-serif;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px; /* 角丸 */
    overflow: hidden; /* 角丸のために必要 */
}

/* テーブル要素 */
.sec_needs .table_compare table {
    width: 100%;
    border-collapse: collapse; /* セルの境界線を結合 */
}

/* ヘッダーセクション */
.sec_needs .table_compare thead {
    /* background-color: #e0e0e0; */ /* 「備えをしなかった場合」の背景色 */
}

.sec_needs .table_compare thead tr {
    /* 特に指定なし */
}

.sec_needs .table_compare thead th {
    padding: 2vw 1vw 0;
    text-align: center;
    font-weight: bold;
    color: #333;
    white-space: nowrap;
    border-bottom: 1px solid #ccc;
    position: relative;
}
.sec_needs .table_compare thead th > div{
    display: block;
    justify-content: center;
    align-items: end;
}
.sec_needs .table_compare thead th img{width: 16.6vw;max-width: inherit;margin-right: 1.2rem;display: block;margin: 0 auto 1vw;}
.sec_needs .table_compare thead th span{
    font-size: 4.1vw;
    font-weight: 600;
    font-size: clamp(1.2rem, 4.1vw, 2.3rem);
}

/* 「積立を始めた場合」のヘッダーに青い背景 */
.sec_needs .table_compare thead th:last-child {
    /* background-color: #007bff; */ /* 青い背景色 */
    color: #007bff;
}

/* ボディセクション */
.sec_needs .table_compare tbody {
    /* 特に指定なし */
}

.sec_needs .table_compare tbody tr {
    /* 行の区切り */
    border-bottom: 1px solid #eee;
}

.sec_needs .table_compare tbody tr:last-child {
    border-bottom: none; /* 最後の行の下線はなし */
}

.sec_needs .table_compare tbody td {
    padding: 2vw 3vw;
    vertical-align: top;
    line-height: 1.6;
    color: #000000;
    background-color: #f9f9f9; /* 左側の背景色 */
    font-size: 4vw;
    font-size: clamp(1.2rem, 4vw, 1.8rem);
}

/* 右側のカラム（積立を始めた場合）の背景色 */
.sec_needs .table_compare tbody td.right {
    background-color: #eaf6ff;
    color: #007bff;
}

/* 左側のカラム（備えをしなかった場合）のスタイル */
.sec_needs .table_compare tbody td.left {
    background-color: #f9f9f9; /* 薄いグレーの背景色 */
}

.sec_needs .table_compare tbody td> div{
    display: block;
    align-items: center;
}
.sec_needs .table_compare tbody td.left span{
    color: #333333;
}
/* アイコン（もし画像内で使用されている場合を想定） */
.sec_needs .table_compare img {
    vertical-align: middle;
    margin-left: 5px;
    max-width: 30px; /* アイコンのサイズ調整 */
    height: auto;
}
.sec_needs .table_compare tbody td> div img{
    margin-right: 1rem;
    display: block;
    margin: 0 auto 3vw;,:;
    width: 7.6vw;
}
.sec_needs .table_compare tbody td.right span{
    font-weight: 700;
}

/* 見出しのスタイル（もしテーブル内に見出しのような要素がある場合） */
.sec_needs .table_compare h3 {
    font-size: 1.1em;
    margin-top: 0;
    margin-bottom: 5px;
    color: #333;
}

.sec_usecase {
    padding: 6vw 0;
}

.sec_usecase .inr {}

.sec_usecase .sec_header {}

.sec_usecase .sec_header h2 {}

.sec_usecase .sec_header .txt {
    font-size: clamp(1.2rem, 3.6vw, 1.6rem);
}

.sec_usecase .contents {
    /* max-width: 100rem; */
    margin: 0 auto;
}

.sec_usecase .contents .content {margin-bottom: 4vw;/* border-bottom: solid 1px #ebebeb; */box-shadow: 0px 0px 4px #ccc;padding: 3.6vw;border-radius: 10px;}

.sec_usecase .contents .content .flex {
    flex-wrap: wrap;
}

.sec_usecase .contents .content .block {
  width: 100%;
  padding-right: 0;
  order: 2;
}

.sec_usecase .contents .content .block .tit {
    font-size: 5vw;
    margin-bottom: 2vw;
    padding-top: 2vw;
    color: #264260;
    font-weight: 600;
    font-size: clamp(1.2rem, 5vw, 2.2rem);
}

.sec_usecase .contents .content .block .txt {
    font-size: 3.5vw;
    margin-bottom: 0;
    color: #333;
    font-size: clamp(1.2rem, 3.5vw, 1.6rem);
}

.sec_usecase .contents .content .img {
    width: var(--width_2col_img);
    height: auto;
    background: #ccc;
    border-radius: 1rem;
    overflow: hidden;
    order: 1;
    margin-bottom: 3vw;
}

.sec_usecase .contents .content .img img {}


.sec_faq {
    padding: 6vw 0;
}

.sec_faq .inr {}

.sec_faq .sec_header {}

.sec_faq .sec_header h2 {}

.sec_faq .sec_header .txt {
}

.sec_faq .contents {
	  display: block;
	   /* 3カラム */
	   /* カラム間の余白 */
}

.sec_faq .contents .content {
    padding: 3.9vw;
    border: solid 1px #ec3378;
    margin-bottom: 5vw;
}

.sec_faq .contents .content .p_q {
    font-size: 4.4vw;
    font-weight: 700;
    margin-bottom: 2.5vw;
    color: #264260;
    border-bottom: solid 1px #264260;
    padding-bottom: 1.4vw;
    font-size: clamp(1.2rem, 4.4vw, 1.7rem);
}

.sec_faq .contents .content .p_a {
    font-size: 3.4vw;
    color: #333;
    font-size: clamp(1.2rem, 3.4vw, 1.6rem);
}

.sec_flow{
    background: #eef8ff;
    padding: 6vw 0;
}

.sec_flow .inr_in{
    max-width: 100%;
    margin: 0 auto;
    padding: 0 3%;
}
.sec_flow .sec_header p{
    font-size: 3.4vw;
    font-size: clamp(1.2rem, 3.4vw, 1.6rem);
}

.sec_flow .block{background: #fff;padding: 2rem;margin-bottom: 0rem;border-radius: 6px;display: flex;justify-content: space-between;align-items: center;}
.sec_flow .block .tit{font-size: 5vw;font-weight: 600;color: #264260;margin-bottom: 0.6rem;text-align: center;font-size: clamp(1.4rem, 5vw, 2.2rem);}
.sec_flow .block .txt{color: #333;font-size: 3.4vw;font-size: clamp(1.2rem, 3.4vw, 1.6rem);}
.sec_flow .block .detail{width: 100%;}
.sec_flow .block .detail .img{
    display: block;
    margin: 3vw auto 4vw;
    width: 50%;
}

.sec_flow .block .img{display: none;}
.sec_flow .block .img img{
    width: 100%;
}
.sec_flow .block.w100{
    width: 100%;
    display: block;
}

.sec_flow .triangle{
    width: 0;
    height: 0;
    border-left: 5rem solid transparent; /* 左右のボーダーを透明にする */
    border-right: 5rem solid transparent;

    margin: 0 auto 0rem;
}


.sec_aboutus {
    padding: 6vw 0;
}

.sec_aboutus .inr {}

.sec_aboutus .sec_header {}

.sec_aboutus .sec_header h2 {}

.sec_aboutus .contents {
    max-width: 80rem;
    margin: 0 auto 4rem;
}

.sec_aboutus .contents .flex {
    align-items: anchor-center;
    display: block;
}

.sec_aboutus .contents .block {
  width: 100%;
  padding-right: 0;
}

.sec_aboutus .contents .block .img {
    width: 30vw;
    margin: 0 auto 3rem;
}

.sec_aboutus .contents .block .img img {}

.sec_aboutus .contents .block .txt {
    color: #333;
    margin-bottom: 4vw;
    font-size: clamp(1.2rem, 3.4vw, 1.6rem);
}

.sec_aboutus .contents .ceo_img {
    width: 100%;
    /* border-radius: 2rem; */
    overflow: hidden;
    text-align: center;
}

.sec_aboutus .contents .ceo_img img {
    /* width: 100%; */
    height: inherit;
    /* background: #ccc; */
    max-width: 60%;
}

.sec_aboutus .company_table {
    max-width: 70rem;
    margin: 0 auto;
}

.sec_aboutus .company_table table {}

.sec_aboutus .company_table tr {}

.sec_aboutus .company_table th,.sec_aboutus .company_table td{
  border-bottom: solid 1px #f7fbff;
  padding: 1.2rem 2rem;
  display: block;
  width: 100%;
  color: #333;
}

.sec_aboutus .company_table th {
    width: inherit;
    background: #f7fbff;
}

.sec_aboutus .company_table td {}


footer{
  background: var(--main_gra);
  padding: 3rem 0 0rem;
}

footer .inr {}

footer .flex {
    align-items: center;
    display: block;
    text-align: center;
}

footer .block {
    margin-right: 0;
    margin-top: 2.8rem;
}

footer .block .logo {
    margin-bottom: 3rem;
}

footer .block .logo img {}

footer .block.no2 {
    color: #fff;
    line-height: 1.6rem;
}

footer .block.no2 p {
    font-size: 1.2rem;
}

footer .footer_nav{

}
footer .footer_nav ul{display: block;}
footer .footer_nav li{

}
footer .footer_nav li a{
    color: #fff;
    font-size: 1.3rem;
    margin-left: 0;
    padding: 0.8rem 2.3rem;
    display: block;
}
footer .copyright{
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.3rem 0;
    margin-top: 3rem;
}


}
