@charset "UTF-8";
/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");
/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=M+PLUS+1p:wght@100;300;400;500;700;800;900&family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
/* ==========================================================================
 * FAQ
 * ========================================================================== */
#sub-main_content.faq-page {
  height: auto;
  min-height: 100vh;
  background: #f3f3f3;
  padding-bottom: 0;
}
#faq,
#faq *,
#faq *::before,
#faq *::after {
  box-sizing: border-box;
}
#faq.member-faq-content {
  width: min(100%, 640px);
  margin: 0 auto;
  padding: 31px 30px 62px;
  color: #111b2c;
}
#faq.member-faq-content > h1 {
  margin: 0 0 13px;
  color: #070d19;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .02em;
}
#faq .lead {
  margin: 0;
  color: #1d2941;
  font-size: 14px;
  line-height: 1.7;
}
#faq .category-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 20px;
}
#faq .category-nav a {
  display: flex;
  min-width: 0;
  min-height: 46px;
  padding: 10px 11px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #d6e0ed;
  border-radius: 9px;
  background: #fff;
  color: #001f4b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}
#faq .category-nav a span {
  margin-left: 5px;
  color: #0098c9;
  font-size: 15px;
}
#faq .category-nav a:hover {
  border-color: #0098c9;
}
#faq .faq-section {
  counter-reset: question;
}
#faq .faq-category {
  margin-top: 31px;
  scroll-margin-top: 72px;
}
#faq .section-label {
  position: relative;
  margin: 0 0 12px;
  padding-left: 11px;
  color: #001f4b;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
}
#faq .section-label::before {
  position: absolute;
  top: .15em;
  bottom: .15em;
  left: 0;
  width: 3px;
  border-radius: 3px;
  background: #0098c9;
  content: "";
}
#faq .faq-list {
  display: grid;
  gap: 12px;
}
#faq details.faq {
  overflow: hidden;
  counter-increment: question;
  border: 1px solid #d6e0ed;
  border-radius: 12px;
  background: #fff;
}
#faq details.faq summary {
  display: grid;
  grid-template-columns: 39px minmax(0, 1fr) 20px;
  align-items: center;
  column-gap: 8px;
  min-height: 62px;
  padding: 15px 16px;
  color: #0c1628;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  list-style: none;
  cursor: pointer;
}
#faq details.faq summary::before {
  color: #0098c9;
  font-size: 12px;
  font-weight: 600;
  content: "Q" counter(question) ".";
}
#faq details.faq summary::-webkit-details-marker,
#faq details.faq summary::marker {
  display: none;
  content: "";
}
#faq .pm {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #002d69;
  font-size: 26px;
  font-weight: 300;
  line-height: .8;
}
#faq .pm::after {
  content: "+";
}
#faq details.faq[open] .pm::after {
  content: "−";
}
#faq .faq-answer {
  margin: 0 16px;
  padding: 0 0 17px 47px;
  border-top: 1px solid #e6ebf3;
  color: #26334b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}
#faq .faq-answer-inner {
  display: block;
  padding-top: 14px;
}
#faq .faq-note {
  display: block;
  margin-top: 7px;
  color: #5b6678;
  font-size: 12px;
  line-height: 1.65;
}
#faq .faq-note + .faq-note {
  margin-top: 2px;
}
@media screen and (max-width: 430px) {
  #faq.member-faq-content {
    padding: 28px 16px 50px;
  }
  #faq .faq-category {
    margin-top: 27px;
  }
  #faq details.faq summary {
    grid-template-columns: 36px minmax(0, 1fr) 18px;
    padding: 14px 13px;
    font-size: 14px;
  }
  #faq .faq-answer {
    margin: 0 13px;
    padding-left: 39px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  #faq details.faq[open] .faq-answer-inner {
    animation: faq-answer-in .18s ease-out;
  }
  @keyframes faq-answer-in {
    from { opacity: 0; transform: translateY(-3px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

/* FAQ下部：会員登録CTA・ブランドメッセージ */
.faq-registration {
  padding: 30px 22px 34px;
  background: #eef3f8;
  text-align: center;
}
.faq-registration__inner {
  width: min(100%, 640px);
  margin: 0 auto;
}
.faq-registration h2 {
  margin: 0 0 9px;
  color: #002d69;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.45;
}
.faq-registration p {
  margin: 0 0 17px;
  color: #33415b;
  font-size: 13px;
  line-height: 1.7;
}
.faq-registration a {
  display: flex;
  box-sizing: border-box;
  width: min(100%, 560px);
  min-height: 52px;
  margin: 0 auto;
  padding: 10px 16px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  background: #002d69;
  box-shadow: 0 10px 22px rgba(0, 45, 105, .18);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
.faq-registration a span {
  display: inline-flex;
  min-width: 34px;
  height: 20px;
  padding: 0 7px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff7b4;
  color: #002d69;
  font-size: 12px;
  font-weight: 800;
}
.faq-brand-message {
  padding: 36px 22px 30px;
  border-top: 1px solid #d6e0ed;
  background: #fff;
}
.faq-brand-message__inner {
  width: min(100%, 640px);
  margin: 0 auto;
}
.faq-brand-message p {
  margin: 0;
  color: rgba(31, 43, 84, .82);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
.faq-brand-message img {
  display: block;
  width: 150px;
  height: auto;
  margin: 16px auto 0;
}

.m-plus-rounded-1c-thin {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 100;
	font-style: normal;
}
.m-plus-rounded-1c-light {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.m-plus-rounded-1c-regular {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.m-plus-rounded-1c-medium {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.m-plus-rounded-1c-bold {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.m-plus-rounded-1c-extrabold {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 800;
	font-style: normal;
}
.m-plus-rounded-1c-black {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 900;
	font-style: normal;
}
.m-plus-1p-thin {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 100;
	font-style: normal;
}
.m-plus-1p-light {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.m-plus-1p-regular {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.m-plus-1p-medium {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.m-plus-1p-bold {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.m-plus-1p-extrabold {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	font-style: normal;
}
.m-plus-1p-black {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
	font-style: normal;
}
/*---------------------------------------------------------------------------*/
a {
	text-decoration: none;
	color: #007bff;
}
ul {
	margin-block-start: inherit;
	margin-block-end: inherit;
	padding-inline-start: inherit;
}
body, p, ul, td, th {
	margin: 0;
	padding: 0;
}
html, body {
	overflow-x: hidden;
	width: 100%;
	font-size: 14px;;
}
h1, h2, h3, h4, h5 {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
}
@media (max-width: 768px) {
  input,
  textarea,
  select {
    font-size: 16px;
  }
}

/*----------------------------------

ベース

---------------------------------- */
body {
	color: #000;
	font-family: "M PLUS 1p", 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	margin: 0;
	/*background: #f1f1f1;*/
	max-width: 640px;
	margin: 0 auto;
	background-color: #ccc;
}
#main_content {
	padding-top: 60px;
	font-family: "M PLUS 1p", sans-serif;
	line-height: 1.75;
	background-color: #FFF;
	padding-bottom: 50px;
	/* min-height: 88vh; */
}
@media screen and (max-width: 980px) {
#main_content {
	padding-top: 0;

}
}
@media screen and (max-width: 736px) {
	body {
		background-color: #f3f3f3;
	}
#main_content,
#sub-main_content {
	padding-top: 60px;
}

}
#main_content > section {
	/* padding-bottom: 50px; */
}
.sub-body {
	display: flex;
	flex-direction: column;
	min-height: 100vh; /* 画面の高さ全体をカバー */
}
#sub-main_content {
	flex: 1;
	box-sizing: border-box; /* パディングを含めて高さを計算 */
	height: 100%;
}
#sub-main_content .wrap {
	padding: 15px;
}
.back-color-g {
	background: #f3f3f3;
	padding-bottom: 50px;
}
.sub-footer {
	text-align: center;
	padding: 20px;
}
.margin-t-sss {
	margin-top: 2px;
}
.margin-t {
	margin-top: 15px;
}
.margin-t-xl {
	margin-top: 30px !important;
}
.margin-t-xxl {
	margin-top: 50px !important;
}
h1, h2 {
	font-size: 20px;
	margin-top: 0;
}
p {
	color: #000;
}
p.lead {
	font-size: 18px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
}
.margin-b {
	margin-bottom: 15px !important;
}
.margin-b-sss {
	margin-bottom: 2px;
}
.margin-b-xl {
	margin-bottom: 30px !important;
}
.margin-b-xxl {
	margin-bottom: 50px !important;
}
.margin-b-xxxl {
	margin-bottom: 100px !important;
}
.margin-tb {
	margin-bottom: 15px !important;
	margin-top: 15px !important;
}
.padding-tb {
	padding-bottom: 15px !important;
	padding-top: 15px !important;
}
.margin-l {
	margin-left: 15px;
}
.image img {
	width: 100%;
}
.image-30 img {
	width: 30%;
}
.center {
	text-align: center;
}
.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flex-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flex-right {
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center;
}
.flex-start {
	display: flex !important;
	justify-content: flex-start;
	align-items: center;
}
.gap_1 {
	column-gap: 1%
}
.gap_2 {
	column-gap: 2%
}
.gap_3 {
	column-gap: 3%
}
.gap_4 {
	column-gap: 4%
}
.gap_5 {
	column-gap: 5%
}
.gap_10 {
	column-gap: 10%
}
.right {
	text-align: right !important;
}
.align-center {
	text-align: center !important;
}
.align-right {
	text-align: right !important;
}
.align-left {
	text-align: left !important;
}
.main-color {
	color: #0a2f60;
}
.red-color {
	color: #db5456;
	font-weight: bold;
}
.gold-color {
	color: #a49550;
}
.white-color {
	color: #fff;
}
.blue-color {
	color: #01498f;
}
.back-color-b {
	background: #174069;
}
.font-size_sss {
	font-size: 0.75rem !important;
}
.font-size_ss {
	font-size: 0.85rem !important;
}
.font-size_s {
	font-size: 0.9rem !important;
}
.font-size_m {
	font-size: 1rem !important;
}
.font-size_l {
	font-size: 1.2rem !important;
}
.font-size_xl {
	font-size: 1.7rem;
	font-weight: bold;
}
.bold {
	font-weight: bold;
}
.txt-nowrap {
	white-space: nowrap;
}
.custom-link {
	text-decoration: underline;
	color: #0075c2;
}
.hr {
	height: 0.3px;
	width: 100%;
	background-color: #9999;
	border: none;
}
.flexbox {
	display: flex;
	gap: 10px;
	align-items: center;
}
.flexbox-lr {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
}
.flexbox-c {
	display: flex;
	justify-content: center; /* Horizontally center */
	align-items: center; /* Vertically center */
	gap: 10px;
	width: 100%;
}
.flexbox-sb {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	justify-content: space-between;
}
.flexbox-ss {
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	align-items: flex-start;
}
.flexbox-sc {
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
}
.flexbox-bc {
	display: flex;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
}
.flexbox-ec {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	align-items: center;
}
.flexbox-c div {
	width: 50%;
}
.space-between_box {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	align-items: center;
}
.width-70 {
	width: 70% !important;
}
.width-30 {
	width: 30% !important;
}
.width-90 {
	width: 90% !important;
}
.width-10 {
	width: 10% !important;
}
.btn-area {
	padding: 20px 0;
}
.btn-flex {
	display: flex;
	column-gap: 10px;
	justify-content: space-around;
	align-items: center;
}

/**/
.heading {
	display: block;
	background-color: #0a2f60;
	padding: 5px 0;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	margin-left: -10px;
	margin-right: -10px;
}
.list-img {
	position: relative;
}
.list-img img {
	width: 100%;
}
.list-img .main-img {
	display: block;
}
.list-img .main-fav {
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
	top: 6px;
	right: 10px;
}
.entry-info {
	/*	background-color: #0a2f60;
	padding: 15px 10px;
	margin-left: -10px;
	margin-right: -10px;
	color: #fff;*/
}
.detail .entry-info {
	margin-left: -3%;
	margin-right: -3%;
	background-color: #cee8f1;
	padding: 20px 0;
}
.detail .reward-info {
	margin-left: -3%;
	margin-right: -3%;
	padding: 10px 0 0;
}
.list-entry {
	position: relative;
	display: block;
	color: #fff;
	background-color: #0a2f60;
	padding: 10px 15px 10px 52px;
	border-radius: 50px;
	font-weight: bold;
	margin: 5px auto;
	text-align: center;
}
.list-entry::before {
	width: 37px;
	height: 37px;
	background-image: url(../images/entry_white.png);
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 7px;
	left: 6px;
	background-size: contain;
}
.list-map {
	margin: 20px 0 0 0;
}
.list-map a {
	position: relative;
	color: #01498f;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 12px;
	background-color: #EEE;
	margin-right: 5px;
	display: inline-block;
}
.list-map a::before {
	/*width: 20px;
  height: 20px;
  background-image: url(../images/map.png);
  background-repeat: no-repeat;
  content: '';
  display: block;
  position: absolute;
  top: 5px;
  left: -3px;
  background-size: contain;*/
}
.list-map a::before {
	content: '\f3c5';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right: 5px;
}
.list-day {
	font-weight: normal;
	background-color: #ff0000;
	color: #fff;
	padding: 5px 10px;
	font-size: 17px;
	margin: -20px 0 20px;
	text-align: center;
	font-weight: 500;
}
.detail .list-day {}
.detail .entry-info .list-day {
	background-color: #F20505;
}
.detail .entry-info .list-fix-info {
	background-color: rgb(255, 210, 0);
	color: #0a2f60;
	padding: 15px;
}
.detail .entry-info .list-rei {
	background-color: #0a2f60;
	color: #fff;
	padding: 15px;
}
.txt_rei {
	font-size: 30px !important;
	font-weight: bold;
	margin-right: 5px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.detail .list-rei h4 {
	margin: 0;
	color: #fff;
}
.detail .list-rei p {
	color: #fff;
	padding: 0;
	margin-bottom: 0;
}
div:has(> .txt_jouken) {
  align-items: start;
}
div:has(> .txt_jouken) dt {
	padding-top: 5px;
	white-space: nowrap;
}
.txt_jouken {
	font-weight: 500;
	font-size: 22px !important;
	color: #FFF;
	margin-left: 10px;
}
.approach-img {
	text-align: center;
	padding: 10px 2%;
}
.approach-img img {
	width: 100%;
	margin: 0;
	vertical-align: bottom;
	border-radius: 5px;
}
.str-big {
	color: #a49550;
	text-align: center;
	font-size: 45px;
	font-weight: bold;
}
/* ==================================================================================== */
/*  事業者詳細
/* ==================================================================================== */
.detail h3 {
	font-size: 16px;
	margin: 0 auto 10px;
}
.detail .category h3 {
	display: inline-block;
	font-size: 10px !important;
	margin-bottom: 0 !important;
	font-weight: normal;
	color: #666;
}
.detail .category {
  margin: 5px 0 0 0;
}
.detail .catchcopy h2 {
	font-size: 16px;
	margin-bottom: 5px;
	margin-top: 0;
	line-height: 1.6;
	font-weight: 500;
}
.detail p, .detail .grad-item {
	color: #000;
	margin-bottom: 10px;
}
.detail .detail_block {
	background-color: #0a2f60;
	border-radius: 28px;
	color: #fff;
	padding: 20px;
	margin-bottom: 30px;
}
.detail .detail_block.block_share {
	margin-bottom: 10px;
}
.detail .detail_block h2.title {
	text-align: center;
	font-size: 18px;
	border-radius: 15px;
	padding: 5px 0;
	margin-top: 0;
	background-color: #0a2f60;
	display: flex;
	justify-content: center;
	align-items: center;
}

.detail .detail_block p.head_lead {
	font-size: 14px;
	font-weight: 500;
}

.detail .detail_block .grad-item {
	color: #FFF;
}
.detail .detail_block .grad-item.grad-item::before {
  background: linear-gradient(to bottom, rgba(10, 47, 96, 0) 0%, #0a2f60 100%);
}
.detail .detail_block .grad-btn {
	color: #FFF;
	padding: 0;
	bottom: -20px;
	font-size: 14px;
}
.balloon-001 {
	justify-content: center;
	position: relative;
	width: 88%;
	margin-bottom: 15px;
	padding: .4em 6%;
	border-radius: 50px;
	background-color: #ffffff;
	color: #f10605;
	font-size: 20px;
	font-weight: 500;
	text-align: left;
	display: block;
}
.balloon-001::before {
	position: absolute;
	bottom: -12px;
	width: 20px;
	height: 15px;
	background-color: #ffffff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	left: 10%;
}
.balloon-001 span {
	line-height: 1.2;
}
.block_recommend h2.title + p {
	font-size: 16px;
	font-weight: bold;
}
.detail .detail_block dl {
	border-bottom: dotted 1px #fff;
}
.detail .detail_block dl dl {
	border: none;
}
.detail .block_yourself .txt-block1,
.detail .block_yourself .txt-block2,
.detail .block_recommend .txt-block1,
.detail .block_recommend .txt-block2,
.detail .block_recommend .txt-block4,
.detail .block_share .txt-block1,
.detail .block_share .txt-block2 {
	padding-bottom: 0;
}
.detail .block_share_job .txt-block2 {
	padding-bottom: 20px;
}
.block_share .txt-block3 dt,
.block_share .txt-block3 dd {
	font-size: 130% !important;
	font-weight: 500 !important;
}
.detail .detail_block dl.border-none {
	border: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.detail .detail_block dl dt {
	text-indent: -0.5em;
	font-size: 16px;
	font-weight: 500;
}
.detail .detail_block dl dt span {
	font-size: 13px;
}
.detail .detail_block dl dd {
	margin: 0;
	font-size: 16px;
}

.detail .detail_block dt.fixed_wording {
	color: #ffc7c7;
	font-weight: 500;
	margin-top: 10px;
	margin-bottom: 5px;
	font-size: 14px;
}
.detail .detail_block dd.fixed_wording {
	font-size: 14px;
}
.detail .detail_block p {
	color: #fff;
}
.detail_block.block_yourself {
	margin-bottom: 10px;
}
.detail .detail_block.block_recommend {
	margin-bottom: 10px;
}
.detail .detail_block h3 {
	font-size: 16px;
	color: #fffbcb;
	font-weight: 500;
}
/* .detail .detail_block_foot {
	padding: 20px 0;
} */
.detail .detail_block_foot h3 {
	margin-bottom: 0;
}
.detail .detail_block_foot .btn-secondary, .detail .detail_block_foot .list-entry {
	margin-bottom: 15px;
}
/*エントリーフォームへのボタン*/
.detail .detail_block .detail_block_foot .btn-area a,
.grabo-form button,
.entry-form button {
  display: block;
  color: #29394F;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
  font-weight: bold;
  font-size: 15px;
  border: none;
  padding: 15px;
  margin-top: 15px;
  margin-bottom: 15px;
} 
.block_share .btn-area a {
  display: block;
  color: #29394F;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
  font-weight: bold;
  font-size: 15px;
  border: none;
  padding: 15px;
  margin-top: 15px;
  margin-bottom: 15px;
  background-color: #81D4FA;
}
.grabo-form button,
.entry-form button {
	width: 100%;
}
.detail .detail_block .detail_block_foot .btn-area a span {
	position: relative;
	display: inline-block;
	padding: 3px 6px 3px 40px;
}
.detail .detail_block .detail_block_foot .btn-area a span::before {
	width: 30px;
	height: 30px;
	background-image: url(../images/entry.png);
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 0;
	background-size: contain;
}
/* =================
 * help アイコン
 * =================*/
/* help全体の基準 */
.icon_help {
  display: inline-block;
  margin-left: 6px;
}

/* アイコン */
.icon_help .btn-mouseover {
  cursor: pointer;
  font-size: 30px;
}
.block_yourself .icon_help {
	color: #EFE26E;
}
.block_recommend .icon_help {
	color: #FFD0E0;
}
.block_share .icon_help {
	color: #81D4FA;
}
/* 初期状態：非表示 */
.detail .detail_block h2.title {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1.2;
	padding: 5px 20px;
}
.detail .detail_block.block_recommend h2.title + p.note {
	font-weight: normal;
}
/* .detail .detail_block.block_recommend h2.title span {
	margin: 0 auto;
}
.detail .detail_block.block_recommend h2.title .icon_help {
	margin-left: auto;
} */
.icon_help .mouseover__box {
  position: absolute;
  top: 120%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  /* background: #efefef; */
  background: #0e4388;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px 12px;
  width: 95%;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);

  transition: opacity .2s ease, visibility .2s ease;
}

/* ▼ マウスオーバーで表示 */
.icon_help:hover .mouseover__box,
.icon_help:focus-within .mouseover__box {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.icon_help:hover .mouseover__box,
.icon_help:hover .mouseover__box p {
	color: #fff;
	font-size: 14px;
	font-weight: normal;
	margin-bottom: 0;
	text-align: left;
}
.icon_help:hover .mouseover__box h3 {
	/* color: #0a2f60; */
	color: #fff;
}
.icon_help:hover .mouseover__box h3 {
	color: #fff;
}
.block_yourself .icon_help:hover .mouseover__box h3 {
	color: #EFE26E;
}
.block_recommend .icon_help:hover .mouseover__box h3 {
	color: #FFD0E0;
}
.block_share .icon_help:hover .mouseover__box h3 {
	color: #81D4FA;
}

.icon_help:hover .mouseover__box ul {
	background-color: inherit;
	padding: 0 0 0 1em;
}
.icon_help:hover .mouseover__box li {
	list-style: disc;
	background-color: inherit;
	padding: 0;
	margin-bottom: 0;
}
/* ============== */
/*  3色色分け
/* ============== */
/*タイトル*/
.detail .block_yourself h2.title {
	border: solid 4px #fff176;
	display: flex;
	justify-content: space-between;
	padding: 5px 20px;
}
.detail .block_yourself h2.title .icon_GraBo span::before {
  width: 28px;
  height: 28px;
  top: 0;
  left: 1px;
}
.detail .block_yourself h2.title .icon_GraBo {
	margin-bottom:0;
}
.detail .block_recommend h2.title {
	border: solid 4px #FFD0E0;
}
.detail .block_share h2.title {
	border: solid 4px #81D4FA;
}
/*項目タイトル*/
.detail .block_yourself dl dt {
	color: #fff176;
}
.detail .block_recommend dl dt {
	color: #FFD0E0;
}
.detail .block_share dl dt {
	color: #81D4FA;
}
/*項目テキスト*/
.block_yourself dl dd.lead {
	/* color: #EFE26E; */
	margin-bottom: 15px;
}
.block_recommend dl dd.lead {
	/* color: #FFD0E0; */
	margin-bottom: 15px;
}
.block_share dl dd.lead {
	/* color: #81D4FA; */
	margin-bottom: 15px;
}
/*ボタン*/
.detail .detail_block.block_yourself .detail_block_foot .btn-area a,
.grabo-form button.btn_yourself {
	background-color: #fff176;
}
.detail .detail_block.block_recommend .detail_block_foot .btn-area a,
.entry-form button.btn_recommend {
	background-color: #F8C2D4;
}
.detail .detail_block.block_share .detail_block_foot .btn-area a,
.entry-form button.btn_share {
	background-color: #81D4FA;
}
/* ==================================================================================== */
/*  GraBo エントリー
/* ==================================================================================== */
.grabo-entry .reward-info {
  background-color: #f3f3f3;
}
.grabo-entry .detail_block {
	margin-bottom: 0;;
}
.grabo-entry .grabo-form {
  margin-left: -4%;
  margin-right: -4%;
  padding: 10px 20px 0;
  background-color: #f3f3f3;
}

.grabo-entry .grabo-form .wrap dl {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-top: 0;
	margin-bottom: 10px;
}
.grabo-entry .grabo-form .wrap dl:last-child {
	margin-bottom: 0;
}
.grabo-entry .grabo-form .wrap dt {
	font-weight: 500;
	width: 35%;
	margin-right: 10px;
}
.f-release {
	display: block !important;
}
.grabo-entry .f-release dd {
	margin-bottom: 10px;
}
.grabo-entry .f-release dd:last-child {
	margin-bottom: 0;
}
.grabo-entry .grabo-form .wrap .f-release dt {
	width: 100%;;
}
/* ===エントリー 注意・確認事項文章== */
.grabo-entry .grabo-form .txt-cautions {
	background-color: #fff;
	margin: 0 -20px !important;
	padding: 20px;
}
.grabo-entry .grabo-form .txt-cautions dt {
	font-weight: 500;
	font-size: 12px;
}
.grabo-entry .grabo-form .txt-cautions dd {
	margin-left: 0;
	font-size: 10px;
	color: #666;
	margin-bottom: 10px;
}
.grabo-entry .grabo-form .txt-cautions .agree {
	font-size: 14px;
	font-weight: 600;
	border-bottom: dotted 2px #0a2f60;
	padding-bottom: 25px;;
}
.grabo-entry .btn-inquiry {
	border: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
/* ==================================================================================== */
/*  シェアされた人からのエントリー
/* ==================================================================================== */
.inner {
  padding-left: 3%;
  padding-right: 3%;
}
.shared-person-entry {
	padding-left: 3%;
	padding-right: 3%;
}
.shared-person-entry .reward-info {
	background-color: #f3f3f3;
}
.shared-person-entry .detail_block {
	margin-bottom: 0;;
}
.shared-person-entry .entry-form {
  margin-left: -3%;
  margin-right: -3%;
  background-color: #f3f3f3;
  padding: 20px 3% 0;
}
.shared-person-entry .entry-form-input {
	padding-bottom: 25px;
	padding-top: 10px;
}
.shared-person-entry .entry-form .wrap dl {
	margin-top: 0;;
}
.shared-person-entry .entry-form .wrap dt {
	font-weight: 600;
	margin-right: 10px;
}
.shared-person-entry .entry-form .wrap dd {
	margin-bottom: 10px;;
}
.entry-form-input .form-group {
  margin-bottom: 20px;
}
.f-release {
	display: block !important;
}
.shared-person-entry .entry-form .wrap .f-release dt {
	width: 100%;;
}
/* ===エントリー 注意・確認事項文章== */
.shared-person-entry .entry-form .txt-cautions {
	background-color: #fff;
	margin: 0 -3% !important;
	padding: 10px 3% 0;
}
.shared-person-entry .entry-form .txt-cautions dt {
	font-weight: 500;
	font-size: 12px;
}
.shared-person-entry .entry-form .txt-cautions dd {
	margin-left: 0;
	font-size: 10px;
	color: #666;
	margin-bottom: 10px;
}
.shared-person-entry .entry-form .txt-cautions .agree {
	font-size: 14px;
	font-weight: 600;
	border-bottom: dotted 2px #0a2f60;
	padding-bottom: 25px;;
}
.shared-person-entry .btn-inquiry {
	border: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.shared-person-entry .entry-form .form-group.width30 button {
	margin: 0;
	padding: 8px;
}
.wrap.account-detail {
  /* background-color: #fff; */
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 15px;
}
.shared-person-entry .wrap.account-detail {
	margin-bottom: 0;
}
.shared-person-entry .entry-form dt {
	padding-left: 3px;
	font-weight: 500;
}
.shared-person-entry .entry-form .wrap dt {
	padding-left: 0;
}
.shared-person-entry .entry-form dd p.note {
	margin-bottom: 10px !important;
}
.shared-person-entry .entry-form .status_check {
	margin-bottom: 20px;
}

/* ===  お店への連絡方法. == */

.entry-contact-box {
  padding: 24px 4%;
}

.entry-contact-card {
  padding: 28px 30px 34px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
}

.entry-contact-title {
  margin: 0 0 20px;
  color: #0a2f60;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}

.entry-contact-message {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 34px;
  padding: 12px 16px;
  border-radius: 34px;
  background: #fff3d6;
  font-size: 15px;
  font-weight: 700;
}

.entry-contact-message__icon {
  color: #d89a25;
  font-size: 26px;
  line-height: 1;
}

.entry-contact-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 18px;
  color: #0a2f60;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.entry-contact-heading::before,
.entry-contact-heading::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #d8d8d8;
}

.entry-contact-box .entry-contact-btn {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 36px;
  padding: 5px 5px 5px 16px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  min-height: 52px;
}

.entry-contact-btn--wait {
  margin-bottom: 0 !important;
}

.entry-contact-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  margin-right: 26px;
  border-radius: 50%;
  background: #fff;
  color: #0a2f60;
  font-size: 20px;
  line-height: 1;
}

.entry-contact-btn__arrow {
	position: absolute;
  transform: translateY(-9%);
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  right: 10px;
}

.entry-contact-detail {
  display: none;
  margin-top: 28px;
}

.entry-contact-detail.is-active {
  display: block;
}

.entry-contact-field {
  margin-bottom: 22px;
}

.entry-contact-field dt {
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: 700;
}

.entry-contact-field select {
  width: 100%;
  height: 52px;
  padding: 0 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  font-size: 16px;
}

#contact_time_field {
  display: none;
}

#contact_time_field.is-active {
  display: block;
}

.entry-contact-submit {
  width: 100%;
  margin-top: 22px;
}

.entry-contact-note {
  margin: 18px 0 0;
  color: #777;
  font-size: 14px;
  line-height: 1.8;
}

.entry-contact-back {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px;
}

.entry-contact-back .btn-back {
  width: auto;
  padding: 10px 28px;
  border-radius: 8px;
}

@media screen and (max-width: 767px) {
  .entry-contact-box {
    padding: 20px 3%;
  }

  .entry-contact-card {
    padding: 24px 16px 28px;
  }

  .entry-contact-title {
    font-size: 18px;
  }

  .entry-contact-message {
    font-size: 13px;
  }

  .entry-contact-box .entry-contact-btn {
    padding: 5px 5px 5px 10px;
  }

  .entry-contact-box .entry-contact-btn__icon {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    margin-right: 5px;
    font-size: 16px;
  }

  .entry-contact-box .entry-contact-btn__arrow {
	position: absolute;
    right: 6px;
    font-size: 30px;
  }
  .entry-contact-btn__time {
	font-weight: normal;
	font-size: 75%;
  }
}
/* .entry-contact-box{
	padding:10px 3%;
}

.entry-contact-box h3{
	margin-bottom:20px;
	font-size:16px;
	font-weight:bold;
}

.entry-contact-box .btn-primary{
	width:100%;
	margin-bottom:8px;
}

.entry-contact-detail{
	display:none;
	margin-top:18px;
}

.entry-contact-detail.is-active{
	display:block;
}

.entry-contact-field{
	margin-bottom:15px;
}

.entry-contact-field dt{
	margin-bottom:8px;
	font-weight:bold;
}

.entry-contact-field select{
	width:100%;
	height:42px;
	padding:0 12px;
	border:1px solid #ccc;
	border-radius:4px;
	background:#fff;
}

#contact_time_field{
	display:none;
}

#contact_time_field.is-active{
	display:block;
}

.entry-contact-detail .entry-contact-submit{
	margin-top:30px;
}

.entry-contact-note {
	margin-top:14px;
}

.entry-contact-back {
	display:flex;
	justify-content:flex-end;
	margin-top:20px;
}

/* .btn-back{
	padding:8px 20px;
	border:none;
	border-radius:4px;
	background:#0a2f60;
	color:#fff;
	cursor:pointer;
} */
.entry-contact-back .btn-back{
	width:auto;
	padding:8px 20px;
} 

/* ===エントリー 完了== */
.entry-done {
	padding: 3% 3% 10%;
}
.entry-done h2.title {
	font-size: 18px;
	border-radius: 10px;
	margin-bottom: 10px;
}
.entry-done .txt-message {
	margin-bottom: 30px;
}
.entry-done .txt-message h3 {
	font-size: 16px;
	margin-bottom: 5px;
}
.entry-done .txt-message p {
	margin-bottom: 10px;
}

.entry-done .done-message {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px dotted #aaa;
	font-size: 16px;
	line-height: 1.8;
}
.entry-done .done-guide {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 32px;
}
.entry-done .done-guide p {
	margin: 0;
}
.entry-done .done-guide--qr {
	align-items: center;
}
.entry-done .done-icon {
	position: relative;
	display: flex;
	flex: 0 0 64px;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #0a2f60;
	color: #fff;
	font-size: 32px;
}
.entry-done .done-icon .fa-qrcode {
	position: absolute;
	right: 13px;
	bottom: 13px;
	padding: 2px;
	background: #fff;
	color: #0a2f60;
	font-size: 13px;
}
.entry-done .done-contact {
	margin: 4px 0 24px;
}
.entry-done .done-contact h3 {
	margin-bottom: 12px;
	color: #0a2f60;
	font-size: 17px;
}
.entry-done .done-contact ul {
	padding-left: 1.5em;
	list-style: disc;
}
.entry-done .done-contact li {
	margin-bottom: 8px;
}
.entry-done .done-contact .note-gray {
	padding-left: 2em;
}
.entry-done .done-note {
	margin: 0;
	color: #777;
	text-align: center;
	font-size: 13px;
}
.entry-done .job-done-contact .note-gray {
	padding-left: 0;
}
@media screen and (max-width: 600px) {
	.entry-done .done-message {
		margin-top: 20px;
		padding-top: 20px;
		font-size: 14px;
	}
	.entry-done .done-guide {
		gap: 12px;
		margin-bottom: 24px;
	}
	.entry-done .done-icon {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		font-size: 24px;
	}
	.entry-done .done-icon .fa-qrcode {
		right: 8px;
		bottom: 8px;
		font-size: 11px;
	}
	.entry-done .done-contact {
		margin-left: 0;
	}
	.entry-done .done-contact h3 {
		font-size: 15px;
	}
}

/* ===LINEからのシェアコード入力== */

.box-white {
  padding: 15px;
  background-color: #fff;
  border-radius: 10px;
}
.share-code .box-white {
	margin-bottom: 10px;
	padding: 30px 15px;
}
.input-share-code input {
	width: 100%;
	margin-bottom: 10px;
}

/**/
.condition-info, .condition-note {
	border-bottom: dotted 2px #0a2f60;
}
.condition-info, .condition-note, .condition-benefits {
	margin-left: -15px;
	margin-right: -15px;
	padding: 15px;
}
.condition-info p, .condition-note p {
	/*text-align: center;*/
}
.condition-info p {
	font-weight: bold;
	font-size: 18px;
}
.condition-note {}
.referral-benefits, .review-thanks {
	background-color: #0a2f60;
	border-top: dotted 2px #0a2f60;
	border-bottom: dotted 2px #0a2f60;
	margin-left: -15px;
	margin-right: -15px;
	padding: 15px;
}
.referral-benefits h3, .review-thanks h3 {
	color: #ffd200;
	/*text-align: center;*/
}
.referral-benefits p, .review-thanks p {
	color: #fff;
}
.review-thanks h3, .review-thanks p {
	text-align: center;
}
.review-thanks p.dotted {
	border-top: dotted 2px #fff;
	border-bottom: dotted 2px #fff;
	padding: 10px;
}
.condition-benefits p {
	margin-bottom: 0;
}
.condition-benefits .list-entry {
	padding: 0;
}
.condition-benefits .list-entry a {
	width: 100%;
	font-size: 18px;
	box-sizing: border-box;
	text-align: center;
	display: block;
	padding: 10px 15px 10px 52px;
}
.condition-benefits .list-entry::before {
	width: 40px;
}
.benefits-info {
	color: #ff0000 !important;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.add-list {
	background-color: #cee8f1;
	margin-left: -15px;
	margin-right: -15px;
	padding: 15px;
}
.btn-add-list {
	margin-bottom: 20px;
}
.add-list h3 {}
.bg-light-blue2 {
	background-color: #cee8f1 !important;
}
.bg-blue {
	background-color: #1673FF !important;
}
.bg-red {
	background-color: #F20505 !important;
}
.bg-gray {
	background-color: #f3f3f3 !important;
}
/*--- about-company / 店舗情報のご紹介 ---*/
.about-company {
  background-color: #FFF;
  padding: 20px 3% 20px;
}
.detail .about-company {
  margin-left: -3%;
  margin-right: -3%;
  padding-top: 10px;
}
.detail .about-company .company-intro {
	padding-bottom: 10px;
}
.detail .about-company .company-intro h3 {
	display: flex;
	justify-content: space-between;
	align-items: center;

}
.company-intro .flex-start {
	grid-gap: 20px;
}
.comment-box {
	display: flex;
	align-items: center;      /* 縦位置をそろえる */
	gap: 12px;                /* アイコンとの余白 */
	max-width: 100%;
	margin-bottom: 10px;
}

/* アイコン画像（figure） */
.comment-box figure {
  width: 100px;              /* 任意のサイズ */
  height: 100px;
  margin: 0;
  border-radius: 50%;       /* 正円にする */
  overflow: hidden;         /* 中の画像を丸く切り抜く */
  flex-shrink: 0;           /* 圧縮されないように固定 */
}

/* 画像が長方形でも中心を表示させる */
.comment-box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;        /* 画像の中央を維持してトリミング */
  object-position: center;
  display: block;
}

/* コメント部分 */
.comment-box__text {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  word-break: break-word;  /* 長い日本語でも折り返しを安全に */
}
/*.company-intro figure {
	margin: 10px 0;
	font-size: 14px;
}
.company-intro figure img {
  border-radius: 100px;
}*/

.achievements {
	margin-left: -15px;
	margin-right: -15px;
	padding: 15px;
}
.company-info {
	border-top: dotted 2px #0a2f60;
	padding: 15px 0 25px;
}
.company-info div {
	color: #000;
	font-size: 14px;
	font-weight: 500;
}
.company-info .hp-url {
}
.map {
	margin-left: -15px;
	margin-right: -15px;
}
/*--- rating ---*/
.rating {
	margin-left: -15px;
	margin-right: -15px;
	padding: 0 15px 10px;
}
.star-large {
	margin-bottom: 10px;
}
.star-large .star-container {
	text-align: center;
}
.star-large .star-rating {
	font-size: 40px;
}
.star-large .rating-text {
	font-size: 16px;
}
.star-container h3 {
	text-align: left;
}
/*.review dl {
	margin-bottom: 20px;
}
.review dt {
	font-weight: 500;
}
.review dd {
	margin-left: 0;
	color: #000;
	font-size: 14px;
}*/
.review {
  margin-top: 24px;
}

.review-item {
  margin: 0 0 16px;
  padding: 12px;
  border-radius: 8px;
  background: #f7f7f7;
}

.review-item dt {
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 4px;
  color: #555;
}

.review-item dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

/* もっと見るボタン */
.review-more {
  display: block;
  width: 40%;
  padding: 5px;
  margin: 8px auto;
  border-radius: 999px;
  /*border: 1px solid #0a2f60;*/
	border: none;
  background: #fff;
  color: #000;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
	font-weight: bold;
}

.review-more:disabled {
  opacity: 0.5;
  cursor: default;
}
.review .review_all {
	color: #ffba00;
}
/*--- btnarea-referral ---*/
.btnarea-referral {
	padding: 30px 0 10px;
}
/*.company-intro {
  padding: 25px;
  background-color: #ddd;
}
.company-intro figure {
  max-width: 50%;
  height: auto;
  float: right;
  margin: 0 0 20px 20px;
  vertical-align: bottom;
}
.company-intro h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}
.company-intro p {
  margin: 20px 0 0 0;
  line-height: 1.6;
}
.company-intro::after {
  content: "";
  display: block;
  clear: both;
}*/
/*--- btnarea-referral ---*/
.btn-inquiry {
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 10px;
}
.btn-inquiry .favo {
	width: 10%;
	text-align: center;
}
.btn-inquiry .btn-referral {
	width: 100%;
}
.btn-inquiry .btn-referral a {
	font-size: 16px;
}
/*--- 詳細ページ 一覧 ---*/
.detail .list-grid ul {
	padding: 0;
	background-color: inherit;
	margin-bottom: 0;
}
.detail .list-grid {
	margin-top: 30px;
}
.note {
	font-size: 10px !important;
	margin-bottom: 2px !important;
	font-weight: 300;
	line-height: 1.4;
}
.note-gray {
	font-size: 10px !important;
	margin-bottom: 2px !important;
	font-weight: 300;
	line-height: 1.4;
	color: #666;
}
.txt-small {
	font-size: 80%;
}
.txt-large {
	font-size: 120%;
}
.indent-1 {
	text-indent: -1em;
	padding-left: 1em;
}
.indent-2 {
	text-indent: -2em;
	padding-left: 2em;
}
.indent-kakko {
	text-indent: -0.5em;
}
button.btn-primary, .btn-primary a, a.btn-primary {
	background-color: #0a2f60;
	border: none;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	padding: 10px;
	font-size: 15px;
	display: block;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	position: relative;
}
button.btn-secondary, .btn-secondary a, a.btn-secondary {
	background-color: #ffd200;
	border: none;
	border-radius: 5px;
	text-align: center;
	color: #0a2f60;
	padding: 10px;
	font-size: 15px;
	display: block;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	position: relative;
}
button.btn-gray, .btn-gray, a.btn-gray {
	background-color: #666;
	border: none;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	padding: 10px;
	font-size: 18px;
	display: block;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	position: relative;
}
button.btn-primary.off:hover, .btn-primary a.off:hover, a.btn-primary.off:hover {
	background-color: #0a2f60;
	border: solid 1px #0a2f60;
	color: #fff;
}
button.btn-primary.off, .btn-primary a.off, a.btn-primary.off {
	background-color: #fff;
	color: #666;
	border: solid 1px #ccc;
}
/*ボタンにアイコン*/
.btn-arrow::after {
	font-family: 'Material Symbols Outlined';
	content: "\e5c8";
	font-weight: 900;
	position: absolute;
	right: 10px;
	font-size: 20px;
	line-height: 1.3;
}
.btn-arrow.arrow-back::after {
	content: "\e31b";
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

/*ボタン+>*/
/*button.btn-primary::after, .btn-primary a::after, a.btn-primary::after,
button.btn-secondary::after, .btn-secondary a::after, a.btn-secondary::after {
	font-family: 'Font Awesome 6 Free';
	content: "\f105";
	font-weight: 900;
	margin-left: 8px;
}*/
/*----------------------------------

フォーム関連

---------------------------------- */
.form-container, .frame-container, .frame-container_width-x {
	max-width: 500px;
	margin: 20px auto;
	padding: 20px;
	background-color: #fff;
	border-radius: 10px;
}
.frame-container_width-x {
	padding: 20px 5px !important;
}
/* 各フォームグループのスタイル */
.form-group, .form-group_40 {
	margin-bottom: 20px;
}
.flexbox .form-group {
	width: 100%;
}
/* ラベルのスタイル */
.form-group label, .form-group_40 label {
	display: block;
	margin-bottom: 8px;
	font-weight: bold;
	font-size: 0.9rem;
}
/* テキスト入力やメール入力フィールドのスタイル */
.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="password"], .form-group input[type="tel"], .form-group input[type="number"], .form-group textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 16px;
	box-sizing: border-box;
	transition: border-color 0.3s;
}
.form-group_40 input[type="text"] {
	width: 40%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 16px;
	box-sizing: border-box;
	transition: border-color 0.3s;
}
/* 入力フィールドにフォーカスしたときのスタイル */
.form-group input[type="text"]:focus, .form-group_40 input[type="text"]:focus, .form-group input[type="email"]:focus, .form-group input[type="password"]:focus, .form-group input[type="tel"]:focus, .form-group input[type="number"]:focus, .form-group textarea:focus {
	border-color: #007bff;
	outline: none;
}
.zipcode-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 10px 0 0 0;
}
.zipcode-label {
	width: 90%;
	margin: 0 auto;
}
.zipcode-label input, .nickname-form input {
	width: 100%;
}
.nickname-form {
	width: 90%;
	margin: 0 auto;
}
.nickname-form button {
	margin: 10px auto 0 auto;
}
/*----------------------------------

ヘッダー

---------------------------------- */
/* 固定ヘッダー */
.header {
	position: fixed;
	top: 0;
	width: calc(100% - 20px);
	background-color: #fff;
	color: white;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px;
	z-index: 1000;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	height: 40px;
}
.header-flex {
	display: flex;
	margin-left: auto;
	align-items: center;
	column-gap: 15px;
}
.header-flex div {
	column-gap: 15px;
}
.header-flex a {
	color: #333;
	font-size: 13px;
}
.logo img {
	height: 35px;
}
.logo a {
	font-size: 24px;
	font-weight: bold;
	color: #0a2f60;
}
/* ハンバーガーメニュー */
.hamburger {
	width: 40px;
	height: 40px;
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* ハンバーガーの線 */
.hamburger span {
	position: absolute;
	width: 30px;
	height: 3px;
	background-color: #333;
	transition: 0.3s;
}
/* 三本線の位置調整 */
.hamburger span:nth-child(1) {
	top: 10px;
}
.hamburger span:nth-child(2) {
	top: 18px;
}
.hamburger span:nth-child(3) {
	top: 26px;
}
/* メニューオープン時（バツボタン） */
.hamburger.open span:nth-child(1) {
	top: 18px;
	transform: rotate(45deg);
}
.hamburger.open span:nth-child(2) {
	opacity: 0;
}
.hamburger.open span:nth-child(3) {
	top: 18px;
	transform: rotate(-45deg);
}
/* ログインボタン */
.login-btn {}
.login-btn a {
	background-color: #01498f;
	padding: 10px 20px;
	border-radius: 5px;
	transition: background-color 0.3s;
	font-size: 12px;
	font-weight: bold;
	display: inline-block;
	color: #fff;
}
.login-btn a:hover {
	background-color: #777;
}
.header-search img {
	width: 100%;
}
.header-search {
	width: 30px;
	height: 30px;
}
/* サイドメニュー（右側スライド） */
.side-menu {
	width: 80%;
	height: 100vh; /* 画面全体の高さに固定 */
	background-color: #fff;
	position: fixed;
	top: 0;
	right: -80%; /* 右側に隠す */
	z-index: 999;
	transition: right 0.3s ease-in-out; /* 右側スライドアニメーション */
	padding-top: 60px;
	padding-bottom: 80px; /* 下端に余白を追加 */
	overflow-y: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}
.side-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.side-menu ul li {
	font-size: 0.8rem;
	padding: 15px;
	position: relative; /* 矢印を右側に配置するため */
	border-bottom: 0.5px solid #999; /* リスト項目下部の線 */
}
.side-menu ul li:first-child {
	padding-top: 50px; /* 最初の項目の上に余白を追加 */
}
.side-menu ul li a {
	font-weight: bold;
	display: flex;
	align-items: center;
}
/* 矢印（リスト項目右側に表示される） */
.side-menu ul li a::after {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg); /* 縦中央の補正と45度回転 */
	width: 5px;
	height: 5px;
	margin-left: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	content: '';
}
.menu-footer-spacer {
	height: calc(60px + env(safe-area-inset-bottom)); /* 必要なスペースを考慮し、最下部のUI領域も考慮 */
}
/* メニューを開いた時 */
.side-menu.open {
	right: 0;
}
/* オーバーレイ */
.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 998;
}
/* オーバーレイを表示 */
.overlay.show {
	display: block;
}
/*----------------------------------

チェックボックス

---------------------------------- */
/*ボタン化*/
.checkbox {
	border: none;
}
.checkbox label {
	display: flex;
	align-items: center;
	gap: 0 .5em;
	position: relative;
	margin-bottom: .4em;
	padding: .5em .7em;
	cursor: pointer;
	font-size: 1rem;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 5px;
	color: #888;
	font-weight: normal !important;
	box-sizing: border-box;
	transition: border-color 0.3s;
	margin-right: 0 !important;
	background: #fff;
}
.checkbox.flexbox {
	gap: 15px !important;
}
.center.checkbox label {
	justify-content: center;
	text-align: center;
	margin-left: 0 !important;
}
/* チェックされた時の背景色と文字色のみ変更 */
.checkbox label:has(:checked) {
	background-color: #2589d0;
	color: #fff;
}
/* チェックマークも枠も削除するために、::beforeと::afterを削除 */
.checkbox input {
	display: none;
}
/*通常*/
.checkbox-normal {
	display: flex;
	flex-wrap: wrap;
	gap: .5em 2em;
	border: none;
}
.checkbox-normal label {
	display: flex;
	align-items: center;
	gap: 0 .5em;
	position: relative;
	cursor: pointer;
}
.checkbox-normal label::before, .checkbox-normal label:has(:checked)::after {
	content: '';
}
.checkbox-normal label::before {
	width: 17px;
	height: 17px;
	border-radius: 3px;
	background-color: #e6edf3;
}
.checkbox-normal label:has(:checked)::before {
	background-color: #2589d0;
}
.checkbox-normal label:has(:checked)::after {
	position: absolute;
	top: 6px;
	left: 6px;
	transform: rotate(45deg);
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
}
.checkbox-normal input {
	display: none;
}
.checkbox-container {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 50px 0;
}
.checkbox-circle {
	display: flex;
	gap: 80px; /* チェックボックス間の間隔 */
}
.checkbox-circle input[type="radio"] {
	display: none;
}
.checkbox-circle label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background-color: #ddd;
	color: #333;
	font-size: 1rem;
	font-weight: bold;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s;
}
.checkbox-circle input[type="radio"]:checked + span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	background-color: #2589d0;
	color: #fff;
}
/*----------------------------------

セレクトボックス

---------------------------------- */
.selectbox {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 100%;
}
.selectbox {
	position: relative;
}
.selectbox::before, .selectbox::after {
	position: absolute;
	content: '';
	pointer-events: none;
}
.selectbox::before {
	right: 0;
	display: inline-block;
	width: 50px;
	height: 45px;
	border-radius: 0 3px 3px 0;
	background-color: #0a2f60;
	content: '';
}
.selectbox::after {
	position: absolute;
	top: 50%;
	right: 1.6em;
	transform: translate(50%, -50%) rotate(45deg);
	width: 6px;
	height: 6px;
	border-bottom: 3px solid #fff;
	border-right: 3px solid #fff;
	content: '';
}
.selectbox select {
	appearance: none;
	width: 100%;
	border-radius: 3px;
	border: 1px solid #0a2f60;
	;
	cursor: pointer;
	height: 45px;
	padding: .4em 3.6em .4em .8em;
	background: #fff;
	font-size: 16px;
	color: #777;
}
/*
.selectbox select:focus {
    outline: 1px solid #0a2f60;
}*/
.selectbox-inquiry {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 100%;
	height: 45px;
	border: 1px solid #ccc;
	border-radius: 5px;
	background-color: #fff;
	font-size: 16px;
}
.selectbox-inquiry::after {
	position: absolute;
	right: 15px; /* 矢印の位置 */
	width: 10px; /* 矢印の幅 */
	height: 7px; /* 矢印の高さ */
	background-color: #535353; /* 矢印の色 */
	clip-path: polygon(0 0, 100% 0, 50% 100%); /* 矢印の形状 */
	content: '';
	pointer-events: none; /* 矢印のクリック無効 */
}
.selectbox-inquiry select {
	appearance: none; /* デフォルト矢印を無効化 */
	-moz-appearance: none; /* Firefox用 */
	-webkit-appearance: none; /* Safari用 */
	width: 100%;
	height: 100%;
	padding: 0 15px;
	border: none;
	border-radius: 5px;
	background-color: transparent; /* 背景透明 */
	color: #333333;
	font-size: 16px;
	cursor: pointer;
	outline: none; /* フォーカス時の枠を無効化 */
	z-index: 1; /* テキストが矢印より上に表示される */
}
/*----------------------------------

キーワード検索

---------------------------------- */
.pick-search {
	background-color: #f4f4f4;
	padding: 5px 10px 15px;
}
.pick-search p {
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	font-weight: bold;
}
.search-form {
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	border: 2px solid #00488e;
	border-radius: 10px;
	background-color: #ffffff;
}
.search-form input {
	flex: 1;
	width: 100%;
	height: 45px;
	padding: 5px 15px;
	box-sizing: border-box;
	outline: none;
	border: none !important;
}
.search-form input::placeholder {
	color: #777777;
}
.search-form button {
	display: block;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 52px;
	border: none;
	background-color: #ffffff;
	cursor: pointer;
	position: relative;
}
.search-form button::after {
	width: 24px;
	height: 24px;
	background-image: url(../images/icon-loupe.png);
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: 8px;
	background-size: contain;
}
.flex-grow {
	flex-grow: 1;
}
.search-d-form input[type="text"] {
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	border: 2px solid #00488e;
	border-radius: 10px;
	background-color: #ffffff;
	width: 70%;
	padding: 12px 0 12px 10px;
	margin: 0 0 50px 80px;
}
.search-d-form {
	position: relative;
	margin: 20px 0 0 0;
}
.search-d-form::before {
	width: 60px;
	height: 60px;
	background-image: url(../images/entry_blue_key.png);
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 8px;
	background-size: contain;
}
.search-d-form form {
	margin: 0;
}
.pick-search .search-d-select select {
	overflow: hidden;
	border: 2px solid #00488e;
	border-radius: 10px;
	background-color: #ffffff;
	width: 80%;
	padding: 12px 0 12px 10px;
	margin: 0 auto;
	display: block;
}
.search-d-select select {
	overflow: hidden;
	border: 2px solid #00488e;
	border-radius: 10px;
	background-color: #ffffff;
	width: 70%;
	padding: 12px 0 12px 10px;
	margin: 0 0 50px 80px;
}
.search-d-select-category select, .search-d-zip input, .search-d-select select, .search-d-select-money select, .search-d-select-entry select {
	overflow: hidden;
	border: 2px solid #00488e;
	border-radius: 10px;
	background-color: #ffffff;
	width: 80%;
	padding: 6px 0 6px 10px;
	margin: 0 10% 10px;
}
/**ヘッダー地域検索**/
.area-search {
	padding: 10px 2%;
}
.area-search-form {
	display: flex;
	align-items: center;
	overflow: hidden;
	background-color: #EEE;
	border-radius: 24px;
	margin-bottom: 0;
}
.area-search-form label {
	width: 100%;
}
/*.area-search-form:hover {
    box-shadow: 0 1px 6px rgb(32 33 36 / 28%);
}*/
.area-search-form::before {
	font-family: "Font Awesome 5 Free";
	content: '\f3c5';
	font-weight: 600;
	margin-right: 10px;
	margin-left: 15px;
	color: #666;
}
.area-search-form::after {
	font-family: "Font Awesome 5 Free";
	content: '\f105';
	font-weight: 600;
	margin-right: 15px;
	color: #999;
}
.area-search-form input {
	width: 100%;
	height: 30px;
	padding: 5px 15px 5px 0;
	border: none;
	box-sizing: border-box;
	outline: none;
	background-color: #EEE;
}
/**フッターー絞り込み検索・地図検索**/
#search-by-prefectures, #search-by-map {
	display: none;
	height: 80vh;
	overflow: auto;
}
#search-by-map {
	margin-top: -40px;
}
.search-footer-form .inner {
	width: 80%;
	margin: 0 10% 10px;
}
.search-footer-form .area-search {
	padding: 0;
}
.search-footer-btn-area button {
	color: #fff;
	width: 100%;
	padding: 10px 0;
	border-radius: 5px;
	border: none;
	margin: 0 auto 30px;
	font-size: 20px;
	font-weight: bold;
}
.back-to-btn {
	margin-top: 15px;
	color: #0a2f60;
	font-weight: bold;
}
#search-by-prefectures .flex-between {
	column-gap: 10px;
}
#search-by-prefectures .flex-between select {
	width: 70%;
	margin-bottom: 15px;
}
#search-by-prefectures .flex-between button {
	width: 30%;
	padding: 7px;
	margin-bottom: 15px;
}
.search-footer-form .select-genre .btn-primary {
	font-size: 15px;
}
.search-footer-form .area-search, 
.search-footer-form .select-genre, .search-footer-form .select-job, .search-footer-form .keyword {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: solid 1px #eee;
}
.search-footer-form .select-job a {
	color: #3A88C5;
}
.search-footer-form .keyword input {
	width: 100%;
}
.search-footer-form .keyword a {
	display: block;
	width: 100%;
}
.select-service-btn,
.select-job-btn {
	width: 80%;;
}
.select-genre .btn-flex {
	align-items: start;
}
.select-genre .btn-flex .FilterCheckbox {
	margin-top: 10px;
	display: none;
}

/*#search-by-prefectures .search-by-category,
#search-by-map .search-by-category {
	display: none;
}
.search-by-category {
	margin-bottom: 20px;
	font-size: 16px;
}
.search-by-category h3 {
	font-size: 16px;
	margin-bottom: 5px;
}
.search-footer-form .category-list {
	margin-bottom: 10px;
}
.search-footer-form .btn_serch {
	width: 100%;
}
.search-footer-form .map_area {
	background-color: #eee;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60vh;
}
.search-by-category .flex-between button {
	width: 40% !important;
	padding: 5px;
	font-size: 16px;
}*/
/*.search-d-select-category select {
	text-align: center;
	border-radius: 10px;
	background-color: #898989;
	color: #fff;
	width: 70%;
	padding: 12px 0;
	margin: 0 0 0 80px;
	border: none;
}*/
.search-d-select-category option {
	background-color: #ffffff;
	color: #000;
}
.search-d-select-entry, .search-d-select-meny {
	position: relative;
	display: block;
}
/*.search-d-select-entry::before, .search-d-select-meny::before {
	width: 60px;
	height: 60px;
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 10px;
	background-size: contain;
}
.search-d-select-entry::before {
	background-image: url(../images/entry_blue_entry.png);
}
.search-d-select-meny::before {
	background-image: url(../images/entry_blue_meny.png);
}*/
.search-d-btn {
	display: flex;
	align-content: center;
	column-gap: 5%;
	width: 80%;
	margin: 0 10% 10px;
}
.search-d-select-sub, .search-d-select-sub-can {
	text-align: center;
	margin: 0 0 20px 0;
	width: 50%;
}
.search-d-select-sub input[type="submit"] {
	background-color: #01498f;
	color: #fff;
	width: 100%;
	padding: 10px 0;
	border-radius: 10px;
	border: none;
	margin: 0 auto;
}
.search-d-select-sub-can input[type="submit"] {
	background-color: #ffffff;
	color: #000;
	width: 100%;
	padding: 8px 0;
	border-radius: 10px;
	border: 2px solid #01498f;
	margin: 0 auto;
}
.search-footer-form {
	max-width: 850px;
	margin: 40px auto 20px;
	padding: 0 5%;
}
.arrow_r_b {
	position: relative;
	display: inline-block;
	padding-left: 22px;
}
.arrow_r_b:before {
	content: '';
	width: 18px;
	height: 18px;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}
.arrow_r_b:after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #01498f;
	border-right: solid 2px #01498f;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 4px;
	bottom: 0;
	margin: auto;
}
.search-d-input {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
.search-d-input img {
	width: 28px;
}
.search-d-input button {
	padding: 6px 10px;
}
/*----------------------------------

TOP一覧

---------------------------------- */
.box-address {
	margin-bottom: 15px;
	padding: 5px;
	border-radius: 5px;
	text-align: center;
	color: #fff;
	width: 40%;
	font-weight: bold;
	background-color: #306afc;
	font-size: 0.9rem;
}
.box-yourself {
	margin-bottom: 15px;
	padding: 5px;
	border-radius: 5px;
	text-align: center;
	color: #191205;
	width: 40%;
	font-weight: bold;
	background-color: #f8b62d;
	font-size: 0.9rem;
}
/*
.position-relative{
  position: relative;
}

.circle {
  width: 70px;
  height: 70px;
  background-color: #ff1414;
  border-radius: 50%;
  position: absolute;
  top: -30px;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 0.7rem;
  color: #fff;
  cursor: pointer;
}*/
.cv-detail {
	width: 100%;
	display: block;
	padding: 10px 0;
	text-align: center;
	background: #0a2f60;
	color: #fff;
	font-weight: bold;
	border-radius: 5px;
	letter-spacing: 3px;
}
.publish {
	margin-bottom: 15px;
	border: 1px solid #d0d0d0;
	box-shadow: 0 0 3px #d0d0d0;
	padding: 10px;
}
.publish img {
	width: 100%;
}
.list-sc ul {
	background-color: #eee;
	padding: 15px 10px 10px;
}
.list-sc ul li {
	margin: 0 0 15px;
	padding: 0 10px 10px;
	background-color: #fff;
	border-radius: 10px;
	list-style: none;
}
.list-sc ul li .list-img {
	position: relative;
	margin-left: -10px;
	margin-right: -10px;
	border-radius: 5px;
}
.list-img img {
	width: 100%;
	border-radius: 10px 10px 0 0;
}
.detail .list-img img {
	border-radius: 0;
}
/*.list-sc ul li:nth-child(even){
  background-color: #c4e0d1;
}
.list-sc ul li:nth-child(odd){
  background-color: #c2d2e1;
}*/

/*----------------------------------

詳細ページ

---------------------------------- */
.m-list-d {
	padding-left: 3%;
	padding-right: 3%;
}
.info {
	width: 100%;
	display: block;
	padding: 5px 0 0 0;
}
.usage .customers-type,
.recruitment-type  {
	background-color: #F20505;
	border-radius: 5px;
	color: #fff;
	display: inline-flex;
	padding: 0 10px;
	margin-right: 5px;
	font-size: 11px;
	width: inherit;
}
.m-list-d .usage {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 10px;
}
.recruitment-type {
	margin-bottom: 0;
}
.m-list-d .usage .deadline span {
	color: #F20505;
}
.m-list-d .usage .deadline {
	font-weight: 500;
	font-size: 13px;
	margin: 0;
}
.detail .business-name {
	font-size: 18px;
	font-weight: bold;
}
.detail .contents-id {
	color: #666;
	/* border: none;
	background: none;
	padding: 0;
	font-size: inherit; */
}
.shop {
	display: inline;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 1.1rem;
	font-weight: bold;
	margin-top: 0;
}
.business-cate {
	display: inline;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: bold;
	margin-top: 0;
}
.cp_title h3 {
	margin: 0;
	margin-bottom: 5px;
	font-size: 15px;
}
.cp_title p {
	margin: 0;
	margin-bottom: 5px;
	font-size: 15px;
}
.tag {
	color: #888888;
	font-size: 13px;
}
.corp_name h3 {
	margin: 0;
}

.catchcopy h3 {
	margin-top: 0;
}

.category {
	margin: 10px 0 5px 0;
}
.category p {
	display: inline-block;
}
.favorite {
	width: 20%;
	text-align: right;
}
.favorite img {
	width: 25px;
	height: 25px;
}
.title {
	font-size: 1rem;
	font-weight: bold;
	margin: 10px 0;
}
.sub-title {
	width: 50%;
	font-weight: bold;
	/*padding-left: 10px;*/
}
.money {
	width: 50%;
	font-size: 1.15rem;
	font-weight: bold;
}
.user_review {
	font-size: 0.9rem;
	margin-bottom: 20px;
	padding: 0 10px 15px 10px;
	border-bottom: 0.5px solid #999;
}
hr.line {
	height: 1px;
	background-color: #d1d0d0;
	border: none;
	color: #d1d0d0;
	margin-top: 15px;
}
hr.detail-line {
	height: 1px;
	background-color: #d1d0d0;
	border: none;
	color: #d1d0d0;
	margin: 25px 0;
}

/* ==========================================================================
 * 店舗一覧　紹介/求人タブ
 * ========================================================================== */
/*--新デザイン--*/
.tab-container {
	width: 100%;
	background-color: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	overflow: hidden;
}
.tab-buttons {
	display: flex;
	padding: 2px;
	margin: 10px;
	background-color: #F0F0F0;
	border-radius: 50px;
}
.tab-button {
	flex: 1;
	padding: 6px 0;
	border: none;
	background-color: transparent;
	font-size: 16px;
	font-weight: 600;
	color: #888;
	cursor: pointer;
	transition: all 0.3s ease;
	position: relative;
	outline: none;
}
.tab-button[data-tab="tab1"] {
	color: #000;
	background-color: #eee;
	border-radius: 50px;
}
.tab-button[data-tab="tab1"].active {
	color: #fff;
	background-color: #0a2f60;
}
.tab-button[data-tab="tab2"] {
	color: #000;
	background-color: #eee;
	border-radius: 50px;
}
.tab-button[data-tab="tab2"].active {
	color: #000;
	background-color: #ffd200;
	border-radius: 50px;
}
.tab-content .list-sc {
	background-color: #eee;
}
.tab-content .list-sc ul {
	padding: 4%;
}
/*#tab1.tab-content .list-sc ul {
	background-color: #1e81fb;
}
#tab2.tab-content .list-sc ul {
	background-color: #ffd200;
}*/
.tab-content .list-sc ul li {
	margin-bottom: 25px;
	border: solid 2px #ccc;
	border-radius: 13px;
}
.tab-content .list-sc .ttl {
	margin: 0;
	padding: 4% 4% 0;
	text-align: center;
}
.tab-content .list-sc .ttl span {
	font-size: 24px;
}
#tab1.tab-content .list-sc {
	border-top: solid 5px #0a2f60;
}
#tab2.tab-content .list-sc {
	border-top: solid 5px #ffd200;
}
.tab-button::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-10%);
	width: 0;
	height: 3px;
	transition: width 0.3s ease;
}
.tab-button.active::after {
	width: 100%;
}
.tab-content {
	display: none;
	animation: fadeIn 0.5s ease-in-out;
}
.tab-content.active {
	display: block;
}
.tab-content h2 {
	font-size: 22px;
	margin-top: 0;
	color: #333;
}
.tab-content p {
	font-size: 15px;
	line-height: 1.6;
	color: #555;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(0);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/* Responsive adjustments for smaller screens */
@media (max-width: 480px) {
	.tab-container {
		border-radius: 8px;
	}
	.tab-button {
		font-size: 15px;
		padding: 12px 0;
	}
	.tab-content {
		padding: 0;
	}
	.tab-content h2 {
		font-size: 20px;
	}
	.tab-content p {
		font-size: 14px;
	}
}
/*
.tab-container {
    width: 100%;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.tab-buttons {
    display: flex;
	padding: 10px 10px 0;
  column-gap: 10px;
}
.tab-button[data-tab="tab1"] {
  color: #fff;
  background-color: #1e81fb;
  border-radius: 10px 10px 0 0;
}
.tab-button[data-tab="tab2"] {
  color: #000;
  background-color: #ffd200;
  border-radius: 10px 10px 0 0;
}
.tab-content .list-sc ul {
	padding: 4%;
}
#tab1.tab-content .list-sc ul {
	background-color: #1e81fb;
}
#tab2.tab-content .list-sc ul {
	background-color: #ffd200;
}
.tab-content .list-sc ul li {
	margin-bottom: 25px;
}
.tab-button {
    flex: 1;
    padding: 15px 0;
    border: none;
    background-color: transparent;
    font-size: 16px;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    outline: none;
}


.tab-button::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-10%);
    width: 0;
    height: 3px;
    transition: width 0.3s ease;
}

.tab-button.active::after {
    width: 100%;
}

.tab-content {
    display: none;
    animation: fadeIn 0.5s ease-in-out;
}

.tab-content.active {
    display: block;
}

.tab-content h2 {
    font-size: 22px;
    margin-top: 0;
    color: #333;
}

.tab-content p {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(0); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive adjustments for smaller screens */
/*
@media (max-width: 480px) {
    .tab-container {
        border-radius: 8px;
    }

    .tab-button {
        font-size: 15px;
        padding: 12px 0;
    }

    .tab-content {
        padding: 0;
    }

    .tab-content h2 {
        font-size: 20px;
    }

    .tab-content p {
        font-size: 14px;
    }
}

/*----------------------------------

TOP一覧/ 2列 / 2025.12.4

---------------------------------- */
.page-inner,
.list-page {
	padding-bottom: 5%;
	padding-left: 3%;
	padding-right: 3%;
	padding-top: 3%;
}
/*ボタン2列の場合*/
.tab-nav {
	display: flex;
	justify-content: space-around;
	align-items: center;
	column-gap: 10px;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 5px #eee;
}
.tab-nav .btn-primary {
	padding: 8px;
	width: 50%;
}
/*ボタン1列の場合*/
.tab-nav-single {
	column-gap: 10px;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 5px #eee;
}

/*リスト*/
.FilterCheckbox {
	margin-bottom: 5px;
}
.list-grid ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.list-grid ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 2列固定 */
	gap: 16px;
	margin-bottom: 10px;
}
/* .list-grid ul .card {
	padding: 0 0 10px;
	width: 100%;
	min-width: 170px;
} */
.list-grid ul li .list-img {
	margin: inherit;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 10px;
}
.card {
	background: #fff;
	border-radius: 10px;
	display: flex;
	flex-direction: column; /* 高さ揃えのポイント① */
	line-height: 1.4;
	margin-bottom: 10px;
}
.card__body {
	flex: 1; /* 高さ揃えのポイント② → ここが伸びる */
}
.card .list-img img {
	width: 100%;
	border-radius: 5px;
	aspect-ratio: 4 / 3;
}
.card .list-img .main-map {
	display: block;
	position: absolute;
	width: 34px;
	height: 18px;
	top: 6px;
	right: 6px;
	background-color: #0a2f60;
	color: #fff;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 500;
	text-align: center;
	padding-top: 2px;
	cursor: pointer;
}
.card .list-img .main-map a {
	color: #fff;;
}
.card__cate {
	font-size: 10px;
	color: #666;
	margin-top: 4px;
}
.card__name {
	font-size: 14px;
}
.card__info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	column-gap: 10px;
}
.card__id {
	color: #333;
}
.customers-type,
.firstvisitor {
	background-color: #DA272A;
	color: #fff;
	font-weight: 500;
	text-align: center;
	width: 50%;
	padding: 1px;
	border-radius: 5px;
}
.card__title {
	font-size: 15px;
	margin: 0;
	font-weight: 400;
}
.card__stitle {
	font-size: 12px;
	color: #666;
}
.card__desc {
	font-size: 12px;
	color: #666;
	margin-bottom: 5px;
}
.icon_GraBo span {
	position: relative;
	display: inline-block;
	background-color: #0a2f60;
	border-radius: 5px;
	color: #fff;
	padding: 3px 6px 3px 35px;
	font-weight: 500;
	font-size: 16px;
	white-space: nowrap;
}
.icon_GraBo span::before {
	width: 22px;
	height: 22px;
	background-image: url(../images/entry_white.png);
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 4px;
	background-size: contain;
}
.icon_GraBo {
  margin-bottom: 5px;
}
.card__footer {
	margin-top: auto; /* フッターを下に固定 */
	/* padding-top: 5px; */
}
.card__reward {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	margin-bottom: 5px;
}
.card__reward .amount {
	font-size: 18px;
	font-weight: 600;
}
.card .list-map {
	margin-top: 0;
}
/*採用*/
.card__per_hour {
	font-size: 18px;
	font-weight: 600;
}
.card__per_hour span {
	color: #D21F22;
	margin-right: 10px;
}

/* カード全体の土台 */
.list-grid ul .card {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-bottom: 20px;
  /* max-width: 352px; */
}

/* a.card__link をカード本体として伸ばす */
.list-grid ul .card > a.card__link {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  position: relative;
}

/* フッターを下に固定 */
.list-grid ul .card > a.card__link .card__footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
}

/* ------------------------------
   未ログイン時プレースホルダー
   ------------------------------ */

/* 謝礼が存在しない場合だけ表示 */
.list-grid ul .card > a.card__link
.card__footer:not(:has(.card__reward))::before {
  content: "ログインで謝礼表示";
  display: block;
  font-size: 11px;
  color: #0a2f60;
  background: #f2f6fb;
  border: 1px dashed #0a2f60;
  border-radius: 5px;
  text-align: center;
  padding: 4px;
  margin-bottom: 6px;
  margin-top: 4px;
}
.list-grid ul .card > a.card__link
.card__footer:not(:has(.card__reward)) {
  cursor: pointer;
}
/* 地図リンクは常に最下部 */
.list-grid ul .card > a.card__link .list-map {
  margin-top: auto;
}



/*---------- 地図モーダル ----------*/
/* 背景を固定したい場合（任意） */
body.is-fixed {
	overflow: hidden;
}
/* モーダルのベース */
.map-modal {
	position: fixed;
	inset: 0; /* top/right/bottom/left = 0 */
	display: none; /* 非表示 */
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.6);
	z-index: 9999;
}
/* 表示状態 */
.map-modal.is-active {
	display: flex;
}
/* 中身（全画面に近い白背景） */
.map-modal__inner {
	position: relative;
	width: 100%;
	height: 100%;
	background: #fff;
}
/* 閉じるボタン（×） */
.map-modal__close {
	position: absolute;
	cursor: pointer;
}
/* 地図エリア（ダミー） */
.map-modal__body {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	overflow: auto;
	height: 100%;
}
.map-modal__map {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}
/* 都道府県選択エリア */
.map-modal__head {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	border-bottom: solid 1px #eee;
}
.map-modal__pref, .map-modal__job, .map-modal__service {
	padding: 10px 5% 120px;

}
.map-modal__pref label, .map-modal__job label, .map-modal__service label {
	display: block;
	border-bottom: solid 1px #eee;
	padding: 10px 5px;
	font-size: 12px;
}
.map-modal__pref label input {
	margin-right: 15px;
}
.pref-group, .category-modal__body {
  overflow: auto;
  max-height: 70vh;
}
button.js-genre-ok {
	width: 100%;
}
/*.pref-group, .job-group {
	overflow: auto;
	height: 80%;
	margin-bottom: 12px;
}*/
.pref-form {
  height: 95vh;
}
.btn-filter {
	margin-top: 20px;
}
/* 必要ならPCのときは少し余白をつけて“枠”っぽくしてもOK */
@media (min-width: 768px) {
	.map-modal__inner {
		width: 90%;
		height: 90%;
		border-radius: 10px;
		overflow: hidden;
	}
}
/*----------------------------------

店舗詳細

---------------------------------- */
/* テーブルのコンテナ */
.table-container {
	width: 100%;
	padding: 10px 0;
	margin: 0 auto;
	border-radius: 8px;
	box-sizing: border-box; /* パディングを含めて幅を計算 */
	overflow-x: hidden; /* 横スクロールを防止 */
}
/* テーブルのデザイン */
.shop-user-table {
	width: 100%;
	border-collapse: collapse;
	box-sizing: border-box; /* パディング込みで幅を計算 */
	table-layout: fixed; /* 固定レイアウトで幅を統一 */
}
.shop-user-table tbody tr {
	display: block;
	margin-bottom: 5px;
	border-bottom: 1px solid #ddd;
}
.shop-user-table tbody td {
	display: block;
	padding: 5px;
	text-align: left;
	font-size: 0.85rem;
	position: relative;
	border-radius: 5px;
}
/* データのラベル表示 */
.shop-user-table tbody td:before {
	content: attr(data-label);
	font-weight: bold;
	display: block;
	margin-bottom: 5px;
	color: #007bff;
}
/* リンクのスタイル */
.shop-user-table tbody a {
	color: #007bff;
	text-decoration: none;
}
.circle-ok {
	width: 80px;
	height: 80px;
	background-color: #ff1414;
	border-radius: 50%;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.deadline {
	margin: 15px 0;
	text-align: center;
}
.deadline p {
	background-color: #e1e1e1;
	display: inline-block;
}
.reward {
	padding: 10px 0;
	margin: 15px 0;
	background: #ffe9e9;
	color: #db5456;
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	position: relative;
	text-align: center;
	width: 100%;
	border-radius: 20px;
}
.reward p {
	background: #db5456;
	color: #fff;
	width: 50%;
	margin: 0 auto;
}
.period {
	background-color: #afafaf;
	border-radius: 2px;
}
.period, .closing {
	text-align: center;
	margin-bottom: 15px;
}
.precautions {
	margin-bottom: 15px;
}
.benefits {
	font-size: 0.9rem;
	padding: 10px 0;
	margin: 15px 0;
	background-color: #666;
	color: #fff;
	border-radius: 20px;
	font-weight: bold;
	text-align: center;
}
.index, .index-red {
	display: block;
	color: #fff;
	margin-left: -15px;
	margin-right: -15px;
	padding: 10px;
	text-align: center;
	font-weight: bold;
	font-size: 1.1rem;
}
.index {
	background-color: #416f9b;
}
.index-red {
	background-color: #b3313d;
}
.bg-light-blue {
	background-color: #d9fbfe;
	padding: 15px 15px 35px;
	margin-left: -15px;
	margin-right: -15px;
	margin-bottom: 25px;
}
.full-width-table {
	width: 100%;
}
.txt-limit {
	overflow: hidden;
	word-break: break-all;
}
.txt-limit p {
	color: #000;
}
.txt-summary {
	text-align: center;
	font-size: 1.1rem;
	font-weight: bold;
	margin: 15px 0;
}
.read-appeal-txt {
	background-color: #e0edf9;
	padding: 15px 15px 35px;
	font-weight: bold;
}
.read-appeal-txt-gry {
	background-color: #8a8a8a;
	color: #fff;
	padding: 10px;
	border-radius: 10px;
	font-weight: normal;
	margin: 25px 0 10px 0;
}
.read-appeal-txt-gry ul {
	display: flex;
}
.read-txt {
	margin: 15px 10px 10px 10px;
	padding-bottom: 10px;
}
.read-txt-hr {
	margin: 15px 10px;
	padding-bottom: 25px;
	border-bottom: 1px solid #bbbbbb;
}
.img-flex {
	display: flex;
	align-items: stretch;
}
.img-flex .image {
	width: 50%;
	text-align: right;
}
/*----------------------------------

もっと見る

---------------------------------- */
.read-more-container {
	position: relative;
	max-width: 90%;
	word-break: break-all;
	margin: 0 auto;
}
.read-more-text {
	overflow: hidden;
	display: block;
	white-space: normal;
	word-break: break-all;
}
.read-more-text.collapsed {
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.5; /* 行間調整 */
}
.read-more-btn {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
	background: none;
	border: none;
	font-size: 0.9rem;
	text-decoration: underline;
	cursor: pointer;
	text-align: center;
}
.read-pickup-text {
	font-weight: bold;
	border-radius: 10px;
	margin: 30px auto;
	padding: 10px;
	background: #416f9b;
	color: #fff;
}
.read-pickup-text li:nth-child(1) {
	color: #ffffff;
	background: #8db0d1;
	text-align: center;
	padding: 10px 0;
	margin-bottom: 20px;
}
.read-pickup-text .read-pickup-txt {
	background-color: #fbfdff;
	color: #bf3737;
	padding: 20px 0;
	border-radius: 10px;
	font-weight: bold;
	margin: 10px 0;
	text-align: center;
	font-size: 18px;
	list-style: none;
}
.read-pickup-mark {
	font-weight: bold;
	border-radius: 10px;
	margin: 30px auto;
	padding: 10px 10px 20px 10px;
	background: #7f7f7f;
	color: #fff;
}
.read-pickup-mark li:nth-child(1) {
	color: #ffffff;
	background: #ababab;
	text-align: center;
	padding: 10px 0;
	margin-bottom: 20px;
}
/*----------------------------------

ボタン

---------------------------------- */
.button-narrow_down, .button-enter, .button-cancel, .button-confirmation, .button-enter-yourself {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80%;
	margin: 0 auto;
	/*padding: .9em 2em;*/
	padding: 10px;
	border: none;
	border-radius: 15px;
	color: #fff;
	font-weight: bold;
	font-size: 1em;
	margin-bottom: 10px;
}
.button-confirmation {
	width: 80% !important;
	font-size: 0.85rem !important;
	border: 1px solid #ddd;
	background: #0a2f60;
}
.button-inquiry, .button-wallet {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 35%;
	padding: 5px;
	border-radius: 15px;
	color: #fff;
	font-size: 0.8rem !important;
	border: none;
}
.button-narrow_down {
	background-image: linear-gradient(0deg, #f1c617 0%, #f1c617 100%);
	color: #111 !important;
	font-size: 0.85rem;
}
.button-enter, .button-inquiry {
	background: #01498f;
	font-size: 0.85rem;
}
.button-enter-yourself {
	background-color: #c5a14b;
	font-size: 0.85rem;
	color: #fff !important;
}
.button-wallet {
	background: #fff;
	font-size: 0.95rem;
	font-weight: bold;
	color: #111 !important;
}
.button-cancel {
	background-image: linear-gradient(0deg, #999 0%, #999 100%);
	font-size: 0.85rem;
}
.button-next_page, .user-box {
	display: flex;
	align-items: center;
	margin: 0 auto;
	padding: 15px 10px;
	border: 1px solid #ddd;
	border-radius: 13px;
	background-color: #fff;
	font-size: 1rem;
	font-weight: bold;
	color: #333;
	margin-bottom: 5px;
}
.button-next_page {
	width: 100%;
	position: relative;
	font-size: 0.9rem;
}
.button-next_page::after {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg); /* 縦中央の補正と45度回転 */
	width: 5px;
	height: 5px;
	margin-left: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	content: '';
}
.user-box {
	font-size: 1rem;
}
.user-box span {
	padding-right: 8px;
}
.button-change {
	display: block;
	background-color: #01498f;
	padding: 5px 20px;
	border-radius: 20px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: bold;
	margin-bottom: 10px;
	border: none;
}
.line-btn {
	text-align: center;
	margin: 60px 0;
}
.line-btn a {
	display: inline-block;
	background: #00bf63;
	color: #fff;
	padding: 10px 40px;
	border-radius: 10px;
	font-weight: bold;
}
.button-gry {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	border: none;
	border-radius: 5px;
	color: #fff;
	font-weight: bold;
	font-size: 1em;
	margin-bottom: 10px;
	background: #a7a7a7;
	font-size: 0.85rem;
	cursor: pointer;
}
.button-gry input[type="radio"]:checked + .radio-button {
	background-color: rgb(65, 65, 65);
	color: white;
	border-color: black;
}
.button-gry input[type="radio"] {
	display: none;
}
.search-top-category {
	text-align: center;
	margin-bottom: 10px;
}
.search-top-category select {
	padding: 15px 0;
	border-radius: 20px;
	background: #01498f;
	color: #fff;
	border: 1px solid #01498f;
	margin: 0 auto;
	font-size: 16px;
	font-weight: bold;
	width: 80%;
	text-align: center;
}
.search-top-category option {
	background: #fff;
	color: #000;
}
/*----------------------------------

追従バナー

---------------------------------- */
.footer-hart {
	position: fixed;
	z-index: 99;
	bottom: 0;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	background: #f5f5f5;
	padding: 20px 0;
	border-top: 1px solid #d1d1d1;
}
.footer-hart ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex; /* 横並び */
	align-items: center;
}
.footer-hart ul img {
	width: 40px;
	height: 40px;
	margin-right: 10px;
}
.footer-hart-btn a {
	background: #01498f;
	color: #fff;
	padding: 10px 50px;
	width: 100%;
	border-radius: 15px;
}
.footer-hart li {
	margin-right: 15px; /* liの間隔 */
}
.footer-search {
	position: relative;
}
.footer-fixed {
	position: fixed;
	z-index: 99;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	background-color: #fff;
	padding-top: 5px;
	border-top: double;
}
.footer-fixed-menu {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
.footer-t-btn {
	width: 60%;
}
.footer-s-btn {
	width: 40%;
}
.footer-t-btn p a {
	color: #fff;
	background-color: #0a2f60;
	position: relative;
	display: inline-block;
	padding: 10px 20px 10px 20px;
	border-radius: 10px;
	font-weight: bold;
	font-size: 15px;
	margin-bottom: 5px;
	width: 70%;
}
.footer-s-btn p {
	color: #000;
	background-color: #ffd200;
	position: relative;
	display: inline-block;
	padding: 10px 20px 10px 35px;
	border-radius: 10px;
	font-weight: bold;
	font-size: 15px;
	margin-bottom: 5px;
	width: 50%;
}
.footer-s-btn p::before {
	width: 20px;
	height: 20px;
	background-image: url(../images/search_d.png);
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: 12px;
	background-size: contain;
}
.footer-search-text {
	color: #666;
	padding: 0 20pxx;
	text-align: left;
	flex: 1;
	font-size: 10px;
	max-width: 52%;
}
.fixed-footer .open {
	display: none;
}
.dis_none {
	animation: fade-out-none 0.5s;
	animation-fill-mode: forwards;
}
@keyframes fade-out-none {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		display: none;
	}
}
.footer-menu {
	background-color: #ffffff;
	position: fixed;
	display: none;
	z-index: 1000;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.footer-menu .txt {
	text-align: left;
	margin: 30px 0 0 10px;
	font-size: 16px;
}
.close_btn img,
.js-close-map img {
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 0;
}
.footer-ac-title {
	position: relative;
	text-align: center;
	border-bottom: 1px solid #bdbbbb;
	padding: 0 0 10px 0;
}
.footer-ac-title p {
	padding: 17px 0 0 0;
	font-weight: bold;
}
.footer-terms {
	list-style: none;
	background: #f3f3f3;
	font-size: 12px;
	padding: 10px 0 60px;
	text-align: center;
}
.footer-terms ul {
	padding: 5px 0;
}
.footer-terms li {
	display: inline-block;
	margin: 0 5px 0 0;
}
.floating-banner {
	position: fixed;
	z-index: 99999;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
}
.floating-banner .column {
	display: flex;
	justify-content: space-between;
	text-align: center;
	padding: 15px 10px;
	grid-gap: 10px;
	box-shadow: 0 -1px 1px 0 rgba(153, 153, 153, 0.3);
	background-color: #fff;
	width: calc(100% - 20px);
}
/* ==========================================================================
 *  / footer 2
 * ========================================================================== */
.footer .copyright {
	background-color: #f4f4f4;
	padding: 20px 15px;
	text-align: center;
	font-size: 12px;
	color: #0a2f60;
}
/*----------------------------------

絞り込みドロワーメニュー

---------------------------------- */
.bottom-drawer {
	position: fixed;
	bottom: -100%; /* 初期状態で画面外に配置 */
	left: 0;
	width: 100%;
	height: 100%; /* メニューの高さを指定 */
	background-color: #fff;
	transition: bottom 0.4s ease; /* スムーズに表示されるように */
	z-index: 10000; /* floating-banner よりも上に表示されるよう設定 */
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.3);
}
/* ドロワーメニューが開いたとき */
.bottom-drawer.show {
	bottom: 0; /* 下から表示 */
}
/* ドロワーメニューのヘッダー */
.drawer-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.1rem;
	font-weight: bold;
	padding: 20px;
}
/* ドロワーメニューのコンテンツ */
.drawer-content {
	padding: 20px 25px;
}
.drawer-flexbox {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	margin-bottom: 45px;
}
/* ×ボタン */
#close-bottom-menu {
	background: none;
	border: none;
	font-size: 1.7rem;
	cursor: pointer;
}
/*----------------------------------

星評価

---------------------------------- */
.star-container {
	text-align: right;
}
.star-rating {
	position: relative;
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	unicode-bidi: bidi-override;
	color: #CCC;
}
.star-rating::before {
	content: "★★★★★";
	display: block;
}
.star-rating .filled {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: #ffd200;
	white-space: nowrap;
	pointer-events: none;
}
.rating-text {
	margin-left: 8px;
	font-size: 16px;
	vertical-align: baseline;
}
/*----------------------------------

ウォレット

---------------------------------- */
/*  */
.reward-summary {

}

.reward-summary__card {
  padding: 28px 34px 34px;
  border-radius: 16px;
}

.reward-summary__card + .reward-summary__card {
  margin-top: 18px;
}

.reward-summary__card--current {
  background: #FFF3D6;
  color: #8A5A00;
}
.reward-summary__card--current p {
  color: #8A5A00;
}

.reward-summary__card--next {
  background: #DDF3E6;
  color: #00833E;
}
.reward-summary__card--next p {
  color: #00833E;
}

.reward-summary__title {
  margin: 0 0 10px;
  font-weight: 700;
  line-height: 1.4;
}

.reward-summary__text {
  margin: 0;
  font-weight: 500;
  line-height: 1.6;
}

.reward-summary__amount {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 10px;
  margin: 42px 0 0;
  font-weight: 500;
  line-height: 1;
}

.reward-summary__amount span {
  font-size: 36px;
}

.reward-summary__amount strong {
  font-size: 42px;
}

@media screen and (max-width: 767px) {
  .reward-summary__card {
    padding: 22px 20px 28px;
    border-radius: 14px;
  }

/*
  .reward-summary__title {
    font-size: 20px;
  }

  .reward-summary__text {
    font-size: 16px;
  }
*/

  .reward-summary__amount {
    gap: 6px;
    margin-top: 34px;
  }

  .reward-summary__amount span {
    font-size: 26px;
  }

  .reward-summary__amount strong {
    font-size: 30px;
  }
}
/*
.wallet-container, .wallet-sub_container {
	max-width: 500px;
	margin: 20px auto;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	color: #fff;
}
.wallet-container {
	background-color: #0087f6;
}
.wallet-sub_container {
	background-color: rgb(10, 47, 96);
}
.wallet-text, .wallet-sub_text {
	font-weight: bold;
	text-align: center;
}
.wallet-text {
	padding: 25px 0;
	font-size: 1.8rem;
}
.wallet-sub_text {
	padding: 10px 0;
	font-size: 1.1rem;
}
*/
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 8px;
	list-style-type: none;
	padding: 0;
}
.pagination a {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	height: 2em;
	border: 1px solid #01498f;
	border-radius: 1px;
	color: #01498f;
}
.pagination a:not(:hover) {
	text-decoration: none;
}
.pagination .current a {
	background-color: #01498f;
	color: #fff;
	pointer-events: none;
}
.year-box {
	display: block;
	background-color: #01498f;
	padding: 5px 10px;
	border-radius: 20px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.list-application {
	list-style-type: none;
	counter-reset: li;
	font-size: 0.8rem;
	padding-left: 0px;
}
.list-application li {
	display: flex;
	align-items: center;
	padding-top: 3px;
}
.list-application li::before {
	display: inline-block;
	margin-right: 5px;
	border-radius: 50%;
	font-weight: bold;
	font-size: 0.8rem;
	text-align: center;
	content: counter(li);
	counter-increment: li;
}
/* ==========================================================================
 *  / アカウント詳細
 * ========================================================================== */
#sub-main_content .account-detail .wrap {
	padding: 30px;
}
#account-detail-top .wrap ul {
	list-style: none;
	margin-bottom: 30px;
	background-color: #fff;
	border-radius: 10px;
}
#account-detail-top .wrap ul li a, #account-detail-top .wrap ul li span {
	display: block;
	padding: 10px 20px;
}
#account-detail-top .wrap ul:nth-child(3) li {
	border-bottom: solid 1px #ececec;
}
#account-detail-top .wrap ul:nth-child(3) li:last-child {
	border: none;
}
#account-detail-top .wrap ul li {
	position: relative;
}
#account-detail-top .wrap ul li a::after {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 5px;
	height: 5px;
	margin-left: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	content: '';
}
/* ==========================================================================
 *  / アカウント 登録情報 
 * ========================================================================== */
.account-detail .flexbox-lr .btn-primary {
	font-size: 14px;
	line-height: 1;
}
.account-detail dl {
	margin: 0;
}

#account-individual.account-detail dl dt, #account-confirm.account-detail dl dt {
	color: #999;
}
.account-detail dl dd {
	margin-left: 0;
}
.account-detail dl.flex-start dt {
	margin-right: 10px;
}
.account-detail dl.flex-start dd {
	margin-right: 10px
}
.account-detail dl.flexbox-ss {
	column-gap: 10px;
}
.account-detail dl.flexbox-ss dt {
	width: 42%;
}
.account-detail dl.flexbox-ss dd {
	width: 50%;
}
.account-detail dl.flexbox-ss dt {
	width: 42%;
}
.account-detail.account-detail-personal dl.flexbox-ss dt {
	width: 25%;
}
.account-detail.account-detail-personal dl.flexbox-ss dd {
	width: 75%;
}
dl.flexbox-ss dd {
	width: 50%;
}
.account-detail .box-white-r10 {
	padding: 15px;
}
.account-detail .box-white-r10 .flexbox-lr {
	margin-bottom: 20px;
}
.account-detail .box-white-r10 .btn-primary {
	margin-bottom: 0;
}
.account-detail .box-white-r10 .title {
	margin: 0;
}
.account-detail .box-white-r10 div {
	margin-bottom: 10px;
}

/*  */
#account-email input[type="email"],
#account-email input[type="password"] {
	box-sizing: border-box;
}
#account-email .account-agree .policy-link {
  display: flex;
  justify-content: flex-start;
  list-style: none;
  gap: 5px;
  font-size: 14px;
  padding-left: 0;
}
@media screen and (max-width: 736px) {
	#account-email .account-agree .policy-link {
	display: block;
	}
}
#account-email .account-agree .policy-link a {
	color: #0087f6;
}
#account-email #submitBtn {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 6px;
  background: #0a2f60; /* Gratiyカラー */
  color: #fff;
  font-size: 16px;
  cursor: pointer;
}
.birth-date-edit .flexbox,
.gender-edit .checkbox {
	display: flex;
	gap: 10px !important;
}
#account-email .birth-date-edit .form-group,
#account-email .gender-edit label {
	margin-right: 0 !important;
}
.flexbox .form-group {
	margin-right: 0 !important;
}
/* 無効状態 */
#submitBtn:disabled {
  background: #ccc;
  cursor: not-allowed;
  opacity: 0.7;
}
.account-detail.account-edit dl dt {
	font-weight: bold;
	color: #000;
}
.dashboard .single-column-table th {
	align-items: center;
	display: flex;
}
/*---selectデザイン---*/
.selectbox2 {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 100%;
}
.selectbox2::after {
	position: absolute;
	right: 15px;
	width: 10px;
	height: 7px;
	background-color: #535353;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	pointer-events: none;
}
.selectbox2 select {
	appearance: none;
	height: 2.8em;
	padding: .5em calc(.8em + 30px) .5em .8em;
	border: 1px solid #d0d0d0;
	border-radius: 5px;
	background-color: #fff;
	color: #333333;
	font-size: 1em;
	cursor: pointer;
	width: 100%;
}
/*---写真アップ---*/
.dragDropArea .photo {
	border: solid 2px #ccc;
	width: 45%;
	border-radius: 10px;
	min-height: 150px;
	height: auto;
	padding-top: 10px;
	background-color: #fff;
	font-size: 12px;
}
.photo_upload_edit_btn {
	font-size: 90% !important;
	padding-top: 5px;
}
.photo_upload_edit_btn button {
	margin-inline: inherit;
}
/*-ファイル選択-*/
.file__label {
	display: block;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	width: min(55%, 170px);
	padding: 0.5em 0.5em;
	margin-inline: auto;
	color: #fff;
	background-color: #08264d;
	cursor: pointer;
	transition: opacity 0.3s ease;
	border-radius: 5px;
	font-weight: normal !important;
}
button.file__label {
	width: min(55%, 200px);
	margin-inline: inherit;
	padding: 0.5em 0.5em;
	color: #fff;
	font-size: 14px;
	margin-top: 5px;
}
.file__label:hover {
	opacity: 0.7;
}
input[type=file] {
	display: none;
}
.file__none {
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	margin-top: 1em;
	margin-bottom: 0;
	word-break: break-all;
}
.dragDropArea #delete {
	margin: 5px auto;
	padding: 5px;
	width: 30%;
	font-size: 14px;
}
/*----------------------------------

テーブル

---------------------------------- */
.single-column-table, .normal-column-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0; /* セル間の余白をゼロに設定 */
	font-size: 0.8rem;
}
.single-column-table tr {
	display: flex;
	margin: 0 0 -1px;
}
.single-column-table th, .single-column-table td {
	padding: 8px;
	/*margin: 0 0 -1px;*/
	border: 1px solid #232323;
	vertical-align: top;
	text-align: left;
}
.single-column-table th {
	background-color: #797979;
	width: 30%;
	color: #fff;
	vertical-align: middle;
	/*margin: -1px 0 -1px 0;*/
}
.single-column-table.bg-light th {
	background-color: #e2e2e2;
	width: 30%;
	color: #000;
	/*margin: -1px 0 -1px 0;*/
}
.single-column-table td {
	width: 70%;
	margin: 0 0 0 -1px;
	background-color: #fff;
}
.normal-column-table {
	table-layout: fixed;
	text-align: center;
}
.normal-column-table th {
	padding: 8px;
	background: #797979;
	border-top: 1px solid #232323;
	border-right: 1px solid #232323;
	border-bottom: 1px solid #232323;
	color: #fff;
}
.normal-column-table.bg-light th {
	background: #e2e2e2;
	color: #000;
}
.normal-column-table th:first-child, .normal-column-table td:first-child {
	border-left: 1px solid #232323;
}
.normal-column-table tr td {
	padding: 8px;
	border-right: 1px solid #232323;
	border-bottom: 1px solid #232323;
}
.normal-column-table tr:last-child td {
	border-bottom: 1px solid #232323;
}
.normal-column-table tr {
	background: #fff;
}
.table-wrap {
	overflow-x: scroll;
}
.table-wrap table {
	width: 100%;
	table-layout: auto;
	white-space: nowrap;
}
/*
.normal-column-table tr:nth-child(2n+1) {
  background: #fffafa;
}*/
.user-table {
	width: 100%;
	margin: 20px auto; /* 中央に配置 */
	border-collapse: collapse;
	font-size: 0.8rem;
	background-color: #fff;
}
.user-table th, .user-table td {
	padding: 10px;
	border: 1px solid #ddd;
	text-align: left;
}
.user-table th {
	background-color: #f4f4f4;
	width: 25%;
	color: #666;
}
.user-table td {
	background-color: #fff;
	font-weight: bold;
	font-size: 0.9rem;
}
.table-back-w {
	background-color: #fff;
	border-radius: 5px;
	padding: 30px 10px;
	margin-bottom: 30px;
}
.box-white-r5 {
	background-color: #fff;
	border-radius: 5px;
	padding: 10px;
	margin-bottom: 30px;
}
.box-white-r10 {
	background-color: #fff;
	border-radius: 10px;
	padding: 10px;
	margin-bottom: 30px;
}
.box-white-r15 {
	background-color: #fff;
	border-radius: 15px;
	padding: 10px;
	margin-bottom: 30px;
}
/*
.user-table tr:nth-child(odd) td {
  background-color: #f9f9f9;
}*/
/*----------------------------------

リスト
お気に入り
お知らせ
メッセージ

---------------------------------- */
.list-account li a, .list-favorite li a, .list-notice li a, .list-message li a {
	padding-right: 35px !important; /* 矢印の幅に合わせて適宜調整 */
	word-wrap: break-word; /* 必要に応じてテキストを折り返す */
}
.list-account {
	list-style-type: none;
	margin-top: 20px;
	border: 1px solid #ddd;
	border-radius: 13px;
	overflow: hidden;
	padding-inline-start: 0;
}
.list-account li {
	position: relative;
	font-size: 0.9rem;
	border-bottom: 1px solid #ddd;
	padding: 10px;
	cursor: pointer;
	background: #fff;
}
.list-account li:last-child {
	border-bottom: none;
}
.list-account li a {
	display: block;
	color: #333;
	text-decoration: none;
	font-weight: bold;
	margin-bottom: 4px; /* 日付との間隔 */
}
.list-account li a::after {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg); /* 縦中央の補正と45度回転 */
	width: 5px;
	height: 5px;
	margin-left: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	content: '';
}
.list-favorite {
	list-style-type: none;
	margin-top: 20px;
	border: 1px solid #ddd;
	border-radius: 8px;
	overflow: hidden;
	padding-inline-start: 0;
	list-style-position: inside;
}
.list-favorite li {
	display: flex;
	align-items: center;
	gap: 0 10px;
	padding: 10px;
	position: relative;
	font-size: 0.9rem;
	border-bottom: 1px solid #ddd;
}
/* 最後の項目の下線を削除 */
.list-favorite li:last-child {
	border-bottom: none;
}
.list-favorite li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0.5em;
	width: 100%;
	text-decoration: none;
	color: #333;
	border: 1px solid transparent;
	border-radius: 4px;
	position: relative; /* 矢印の位置調整用 */
	transition: background-color 0.3s, border 0.3s;
}
.list-favorite li a::after {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg); /* 縦中央の補正と45度回転 */
	width: 5px;
	height: 5px;
	margin-left: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	content: '';
}
.list-notice {
	list-style-type: none;
	margin: 15px;
	border: 1px solid #f3f3f3;
	border-radius: 8px;
	overflow: hidden;
	padding-inline-start: 0;
}
.list-notice li {
	position: relative;
	font-size: 0.9rem;
	border-bottom: 1px solid #ddd;
	padding: 10px;
	cursor: pointer;
	background: #fff;
}
.list-notice li:last-child {
	border-bottom: none;
}
.list-notice li a {
	display: block;
	color: #333;
	text-decoration: none;
	font-weight: bold;
	margin-bottom: 4px; /* 日付との間隔 */
}
.list-notice li .date {
	display: block;
	font-size: 0.8rem;
	color: #888;
	font-weight: normal !important;
}
.list-notice li.unread a::after {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background-color: #ff6b6b;
	border-radius: 50%;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.list-message, .list-read {
	list-style-type: none;
	margin-top: 20px;
	border: 1px solid #f3f3f3;
	border-radius: 8px;
	overflow: hidden;
	padding-inline-start: 0;
	margin: 15px;
}
.list-message li {
	position: relative;
	font-size: 0.9rem;
	border-bottom: 1px solid #ddd;
	padding: 10px;
	cursor: pointer;
	background: #fff;
}
.list-message li:last-child {
	border-bottom: none;
}
.list-message li a {
	display: block;
	color: #333;
	text-decoration: none;
	font-weight: bold;
	margin-bottom: 4px;
}
.list-message li .text, .list-message li .date {
	display: block;
	font-size: 0.8rem;
	color: #888;
	font-weight: normal !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; /* 3行目で省略 */
	overflow: hidden;
}
.list-message li a::after {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg); /* 縦中央の補正と45度回転 */
	width: 5px;
	height: 5px;
	margin-left: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	content: '';
}
.list-read li {
	margin-bottom: 20px;
}
.list-read li p {
	font-size: 0.9rem;
	padding: 10px;
	cursor: pointer;
	background: #fff;
	border-radius: 10px;
	margin-bottom: 10px;
}
.list-read li span {
	display: block;
	margin: 5px 0;
}
.button-container {
	display: flex;
	justify-content: flex-end; /* 右寄せ */
	padding-right: 10px; /* 右側に余白を追加（オプション） */
}
.list-read li .mini-tag {
	font-size: 12px;
	color: #6b6b6b;
	border-bottom: 1px solid #dbdbdb;
	padding-bottom: 5px;
}
/*----------------------------------

個人メッセージ

---------------------------------- */
.chat-container {
	max-width: 600px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border: 1px solid #ccc;
	padding: 10px;
	background-color: #f7f7f7;
	height: 400px;
	overflow-y: scroll;
	border-radius: 15px;
}
.shop-message {
	padding: 10px 15px;
	border-radius: 15px;
	max-width: 70%;
	display: inline-block;
	word-wrap: break-word;
	position: relative;
	background-color: #dcf8c6;
	align-self: flex-start;
	border-top-left-radius: 0;
	font-size: 0.85rem;
}
.message {
	padding: 10px 15px;
	border-radius: 15px;
	max-width: 70%;
	display: inline-block;
	word-wrap: break-word;
	position: relative;
}
.message-container {
	text-align: right;
}
.message.sent {
	background-color: #dcf8c6;
	border-top-right-radius: 0;
}
.message.received {
	background-color: #fff;
	border-top-left-radius: 0;
}
.username {
	font-size: 0.85em;
	align-self: flex-end;
}
.input-container {
	display: flex;
	gap: 10px;
	margin-top: 20px;
}
.form_txt {
	flex: 1;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 16px !important;
}
.input-container button {
	padding: 10px 15px;
	background-color: #0a2f60;
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}
/*----------------------------------

アイコン

---------------------------------- */
.entry-icon {
	position: relative;
}
.entry-icon::before {
	width: 39px;
	height: 39px;
	background-image: url(../images/entry.png);
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 0;
	background-size: contain;
}
/*----------------------------------

2列

---------------------------------- */
/* ==================================================================================== */
/*  続きを読む　/　さらに表示
/* ==================================================================================== */
.grad-wrap {
	position: relative;
}
.grad-btn {
	display: none;
	cursor: pointer;
	text-decoration: underline;
	z-index: 0;
	position: absolute;
	right: 0;
	bottom: -35px;
	left: 0;
	width: 148px;
	margin: auto;
	padding: .5em 0;
	border-radius: 2px;
	text-align: center;
	transition: .2s ease;
	color: #007ca9;
}
.grad-btn::before {
	content: "さらに表示";
	font-size: 14px;
}
.grad-item {
	position: relative;
	overflow: hidden;
	height: 80px;
}
.grad-item::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 100%);
	content: "";
}
.grad-trigger {
	display: none;
}
.grad-trigger:checked ~ .grad-btn::before {
	content: "閉じる";
}
.grad-trigger:checked ~ .grad-item {
	height: auto;
}
.grad-trigger:checked ~ .grad-item::before {
	display: none;
}
.grad-wrap {
	color: #000;
	margin-bottom: 25px;
}
/* ==================================================================================== */
/*  選択した事業者情報　送信リスト
/* ==================================================================================== */
.select-list, .send-list, .sent-mail {
	background-color: #f4f4f4;
	padding: 20px 15px;
}
.select-list h2, .send-list h2 {
	text-align: center;
}
.select-list li h3 {
	text-align: left;
	margin-top: 0;
	margin-bottom: 8px;
	line-height: 1.6;
	color: #000;
}
.select-list > ul > li, .send-list-box {
	padding: 15px;
	background-color: #fff;
	border-radius: 5px;
	list-style: none;
	margin-bottom: 20px;
}
.select-list-info {
	margin-bottom: 30px;
}
.select-list-info ul {
	background-color: #0a2f60;
	padding: 25px 15px;
	margin: auto -15px;
	list-style: none;
}
.select-list-info ul li {
	background-color: #fff;
	padding: 3px 10px 3px 40px;
	margin-bottom: 12px;
	border-radius: 8px;
	position: relative;
}
.select-list-info ul li:last-child {
	margin-bottom: 0;
}
.select-list-info ul li::before {
	width: 37px;
	height: 37px;
	background-image: url("../images/icon_hand3.png");
	background-repeat: no-repeat;
	content: '';
	display: block;
	position: absolute;
	top: -4px;
	left: 6px;
	background-size: contain;
}
/* .icon-category {
	display: inline-block;
	font-size: 10px !important;
	margin-bottom: 0 !important;
	font-weight: normal;
	color: #666;
} */

.list-category {
	color: #676767;
	font-size: 14px;
}
.business-name {
	font-size: 18px !important;
	font-weight: bold;
}
.business-txt {
	color: #000;
	font-size: 16px;
	margin-bottom: 10px;
}
.cp_title p.per_hour {
	font-size: 20px;
	font-weight: 600;
}
.btn-delete {
	z-index: 100;
	padding: 0 10px;
	color: #666;
}
.btn-delete::before {
	font-family: "Font Awesome 5 Free";
	content: '\f2ed';
	font-weight: 600;
	margin-right: 5px;
}
/*.btn-detail,
.btn-delete {
	color: #fff;
	font-weight: 300;
	padding: 8px 20px;
	display: inline-block;
	border-radius: 5px;
	border: none;
	text-align: center;
}
.btn-detail {
	background-color: #0a2f60;
}
.btn-delete {
	background-color: #7e7e7e;
}
.btn-detail::before {
	font-family: "Font Awesome 5 Free";
	content: '\f15c';
	font-weight: 600;
	margin-right: 5px;
}
.select-list .btn-delete {
	width: 30%
}
*/
.select-list .btn-area-flex {
	column-gap: 10px;
}
.select-list .btn-detail {
	width: 70%
}
.select-list > ul > li::after {
	content: "";
	clear: both;
	display: block;
}
.btn-area-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.send-list-box {
	border-radius: 10px;
}
.send-list-box .referred-person {
	display: flex;
	justify-content: space-evenly;
	color: #000;
	font-weight: bold;
	list-style: none;
	margin-top: 10px;
	margin-bottom: 30px;
	font-size: 18px;
}
.send-line {
	margin-bottom: 30px;
}
.send-line a {
	background-color: #06c755 !important;
}
.send-mail h3 {
	text-align: center;
}
.send-mail input {
	overflow: hidden;
	border: 2px solid #00488e;
	border-radius: 10px;
	background-color: #ffffff;
	width: 100%;
	padding: 12px 0 12px 10px;
	margin: 0 auto 20px;
	display: block;
}
.send-mail .btn-primary {
	margin-bottom: 10px;
}
/*---- sent-mail ----*/
.sent-mail h2 {
	text-align: center;
	margin-bottom: 40px;
}
.sent-mail .image-area {
	text-align: center;
	margin-bottom: 50px;
}
.sent-mail .txt-area p:first-child {
	margin-bottom: 50px;
}
.sent-mail .txt-area p:nth-child(2) {
	margin-bottom: 60px;
}
.sent-mail a {
	color: #3C6E91
}
.referrer-info {
	background-color: #fff;
	border: solid 1px #0a2f60;
	margin-bottom: 20px;
	border-radius: 5px;
}
.referrer-info div {
	color: #000;
}
.referrer-info span {
	display: inline-block;
	width: 6em;
	background-color: #0a2f60;
	color: #fff;
	font-size: 14px;
	padding: 3px;
	text-align: center;
	margin-right: 10px;
}
.referrer-info .referrer-name span {
	padding-top: 5px;
}
.referrer-info .referrer-tel span {
	padding-bottom: 5px;
}
/* ==================================================================================== */
/*  シェアリスト
/* ==================================================================================== */
#main_content.page-share-list {
	background-color: #f3f3f3;
}
#main_content.page-share-list.shared {
	padding-bottom: 0;
}
.list-page-header {
	margin-bottom: 10px;
}
.list-page-header h2 {
	margin-bottom: 0;
	background-color: #0a2f60;
	color: #FFF;
	text-align: center;
	margin: 0 -4% 3%;
	padding: 5px;
}
.list-page-header h3 {
	margin-bottom: 0;
}
.list-page-header h4 {
	margin-bottom: 0;
}
.list-page-header p {
	margin-bottom: 10px;
}
.list-page-header .referrer_info {
	border: solid 1px #0a2f60;
	padding: 10px 20px;
	border-radius: 10px;
	background-color: #FFF;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #0a2f60;
	column-gap: 10px;
	margin-bottom: 10px;
}

.list-page-header .referrer_info p {
	color: #0a2f60 !important;
	font-size: 14px;
	width: 82%;
	margin-bottom: 0;
}
.list-page-header .referrer_info p span {
	white-space: nowrap
}
.list-page-header .referrer_info .send-mail {
	width: 18%;
	max-width: 55px;
	font-size: 10px;
	text-align: center;
}
.list-page-header .referrer_info .send-mail a {
	text-align: center;
}
.list-page-header .referrer_info .send-mail img {
	width: 100%;
}
.list-page-header ol {
	list-style: none;
	border: solid 1px #0a2f60;
	padding: 10px 20px;
	border-radius: 10px;
	background-color: #FFF;
	margin-top: 10px;
	margin-bottom: 10px;
	font-weight: 500;
}
.share-list {
	margin-bottom: 40px;
}
.share-list h3 {
	margin-bottom: 10px;

}
.share-list ul li {
	padding: 15px;
	background-color: #fff;
	border-radius: 10px;
}
.share-list .card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.share-list .card__footer .delete {
	position: relative;
}
.share-list .card__footer .delete a::before {
	content: '\f2ed';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right: 5px;
}
.share-list .card {
	margin-bottom: 20px;
}
.share-list .card .customers-type {
	padding: 3px;
}
.share-list .card .card__info,
.share-list .card .card__title {
	margin-bottom: 5px;
	font-weight: 600;
}
.share-list .card .card__desc {
	margin-bottom: 15px;
}
.share-list-footer p.note {
	text-align: center;
	margin-top: 5px;
}

/*---- シェア方法の選択 ----*/
.choose-share {
	padding: 15px;
	background-color: #fff;
	border-radius: 10px;
}
.share-code h2.title,
.choose-share h2.title {
	text-align: center;
	font-size: 18px;
	border-radius: 15px;
	padding: 5px 0;
	margin-top: 0;
	background-color: #0a2f60;
	color: #FFF;;
}
.choose-share button {
	border: none;
	border-radius: 5px;
	padding: 10px 10px 10px 20px;
	font-size: 15px;
	display: block;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	color: #29394F;
	width: 100%;
}
.choose-share .txt-notice h3 {
	margin-bottom: 5px;
}
.choose-share .txt-notice h4 {
	margin-top: 0;
	margin-bottom: 5px;
}
.choose-share .txt-notice ul {
	padding-left: 1.1em;
	line-height: 1.4;
	font-size: 12px;
	margin-bottom: 5px;
}
.share-area {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	column-gap: 10px;
	margin-bottom: 30px;
}
.share-area .left-icon {
	width: 10%;
	padding-top: 5px;
}
.share-area .right {
	width: 90%;
}
.share-area .right input {
	width: 100%;
	margin-bottom: 10px;
}
.share-area .left-icon img {
	width: 100%;
}
.share-area .right p {
	text-align: left;
}
.share-area .right p.note {
	margin-top: 5px;
}
.share-line h4 {
	margin-bottom: 5px;
}
.share-line ol {
	list-style: none;
	padding-left: .5em;
	margin-top: 0;
}
.share-line ol li {
	text-indent: -4em;
	padding-left: 4em;
}
.choose-share .txt-notice h3 {
	font-size: 15px;
}

/*---- 3色 ----*/
.choose-share.pink h2.title {
	border: solid 4px #FFD0E0;
}
.share-code .lightblue h2.title,
.choose-share.lightblue h2.title {
	border: solid 4px #81D4FA;
}
.choose-share.yellow h2.title {
	border: solid 4px #fff176;
}
.choose-share.pink button {
	background-color: #FFD0E0;
}
.choose-share.lightblue button {
	background-color: #81D4FA;
}
/*---- 送信完了 ----*/
.share-done {
  min-height: 40vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 16px;
  background-color: #FFF;
  border-radius: 10px;
  margin-top: 20px;
}

/*---- シェアコード ----*/
.input-share-code {
  display: flex;
  gap: 10px;
}
.input-share-code input {
	margin-bottom: 0;
}
.input-share-code button {
	padding: 5px 10px;
}
@media screen and (min-width: 500px) {
	.share-area .left-icon {
		width: 8%;
		padding-top: 0;
	}
}
/*---- シェアされたリスト ----*/
.list-page-header .txt-notice p.indent-1 {
	margin-bottom: 0;
}
.list-page-header .txt-notice p.note {
	padding-left: 3px;
}
/* シェア導線ページ */
.share-guide {
  /* padding: 28px 16px 48px; */
}

.share-guide__inner {
  max-width: 640px;
  margin: 0 auto;
}
.share-guide__inner h2 {
  background-color: #0a2f60;
  color: #FFF;
  text-align: center;
  margin: 0 -4% 20px;
  padding: 5px;
}
/* .share-guide__label {
  background: #0a2f60;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  padding: 12px 16px;
  margin-bottom: 18px;
} */

.share-guide__card {
  background: #fff;
  border-radius: 10px;
  padding: 28px 24px 26px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}

.share-guide__eyebrow {
  margin: 0 0 12px;
  color: #0a2f60;
  font-size: 14px;
  font-weight: 700;
}

.share-guide__title {
  margin: 0 0 22px;
  font-size: 26px;
  line-height: 1.45;
  font-weight: 700;
  color: #111;
}

.share-guide__text {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.8;
  color: #222;
}

.share-guide__action {
  margin: 28px 0 20px;
}

/* .share-guide__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  background: #0a2f60;
  border-radius: 8px;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
}

.share-guide__button:hover {
  opacity: 0.9;
} */
.share-guide__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 58px;
  border-radius: 10px;
  background: linear-gradient(135deg, #ff7b54 0%, #ff5f6d 100%);
  box-shadow: 0 3px 4px rgba(255, 95, 109, 0.28);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

.share-guide__button:hover {
  transform: translateY(-2px);
  opacity: 0.96;
}
.share-guide__notes {
  background: #f5f7fa;
  border-radius: 10px;
  padding: 16px 18px;
}

.share-guide__notes p {
  margin: 0 0 2px;
  font-size: 12px;
  line-height: 1.6;
  color: #333;
  text-indent: -1em;
  padding-left: 1em;
}

.share-guide__notes p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .share-guide {
    /* padding: 22px 12px 40px; */
  }

  .share-guide__label {
    font-size: 18px;
    margin-bottom: 14px;
  }

  .share-guide__card {
    padding: 24px 18px 22px;
    border-radius: 12px;
  }

  .share-guide__title {
    font-size: 22px;
  }

  .share-guide__text {
    font-size: 15px;
  }

  .pc-br {
    display: none;
  }
}
/* ==================================================================================== */
/*  PC用 & タブレット
/* ==================================================================================== */
@media screen and (min-width:990px) {
	#main_content {
		background-color: #fff;
		min-height: 80vh;
	}
	#main_content section {
		padding-bottom: 60px;
	}
	.footer-search {
		width: 100%;
		margin: 0 auto;
	}
	#sub-main_content {
		margin: 0 auto;
		padding-bottom: 130px;
		width: 640px;
	}
	.footer-fixed {
		right: 0;
		width: 640px;
		text-align: center;
		margin: 0 auto;
	}
}
/* ==================================================================================== */
/*  エントリーフォーム
/* ==================================================================================== */
.entry-form {
	padding: 15px;
}
.entry-form h2 {
	background-color: #0a2f60;
	color: #fff;
	margin: 0 -15px 30px;
	;
	padding: 10px;
	text-align: center;
}
.form-flex {
	display: flex;
	column-gap: 10px;
}
.form-flex dl {
	width: 50%;
	margin: 5px 0;
}
.entry-form dl dt, .entry-form dl dd {
	color: #000;
}
.entry-form dl dd {
	margin-left: 0;
}
.entry-form dl dd input[type="text"], .entry-form dl dd input[type="email"] {
	width: 100%;
}
select {
	flex: 1;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 16px !important;
	background-color: #fff;
}
/* ==================================================================================== */
/*  成約確定QRコード
/* ==================================================================================== */
.list-sc .list-page-header.qr {
	padding: 0 3%;
}
.list-sc .list-page-header.qr p.lead {
	font-size: 16px;
}
.list-sc .list-page-header.qr .scan-qr {
	text-align: center;
	padding: 40px 20px;
}
.list-sc .list-page-header.qr .scan-qr img {
	width: 120px;
}
.grabo-entry .qr + div .reward-info {
  background-color: #fff;
}
/* ==========================================================================
 *  / #index
 * ========================================================================== */
#index {
	background-color: #0a2f60;
	padding: 15px;
	text-align: center;
	color: #fff;
}
#index p {
	color: #fff;
}
.bg_navy {
	background-color: #0a2f60;
	color: #fff;
}
.bg_navy p {
	color: #fff;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
}
#index #fv h1 {
	font-size: 32px;
	margin-top: 50px;
	letter-spacing: -1;
	margin-bottom: 20px;
}
#index #fv p.lead {
	font-size: 20px;
	margin-bottom: 20px;
}
#index #fv h2, #index #feature h2 {
	font-size: 32px;
	color: #ffd200;
	margin-bottom: 10px;
}
#index .feature01 {
	margin-bottom: 50px;
}
#index .feature02 {
	margin-bottom: 10px;
}
#index .feature01 img, #index .feature02 img {
	width: 100%;
}
#index #about-gratiy-txt p {
	text-align: left;
	margin-bottom: 20px;
}
#index #about-gratiy-txt p.lead {
	font-size: 16px;
	margin-bottom: 10px;
	font-weight: bold;
	background-color: #fff;
	color: #0a2f60;
	border-left: solid 5px #ffd200;
	padding: 5px 7px 5px 8px;
}
#index #fv h2 img {
	vertical-align: top;
}
#index #feature {
	margin-bottom: 50px;
}
#index #feature p {
	font-weight: 400;
	font-size: 18px;
	margin-bottom: 10px;
}
#index #feature p.lead {
	font-weight: 500;
	font-size: 18px;
}
#index #feature p.note {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
	font-size: 14px;
}
#index #feature .box {
	background-color: #f4f4f4;
	padding: 20px 10px;
	border-radius: 5px;
}
#index #gracam-rule #rule {
	position: relative;
}
#index #gracam-rule #rule h3 {
	position: absolute;
	background-color: #ffd200;
	color: #0a2f60;
	font-size: 24px;
	border-radius: 50px;
	border: solid 1px #fff;
	width: 80%;
	top: -20px;
	;
	right: 0;
	left: 0;
	margin: auto;
}
#index #gracam-rule ol {
	background-color: #fff;
	border-radius: 10px;
	padding: 40px 30px 30px 60px;
	color: #0a2f60;
	margin-top: 40px;
	text-align: left;
	font-size: 18px;
	font-weight: bold;
}
#index #gracam-rule #rule p {
	text-align: left;
	margin-bottom: 10px;
}
#index #gracam-rule #benefits-3 {
	margin-bottom: 50px;
}
#index #gracam-rule #benefits-3 h3 {
	color: #ffd200;
	font-size: 24px;
	font-weight: 400;
	margin-bottom: 10px;
}
#index #gracam-rule #benefits-3 ul {
	margin: 0;
	list-style: none;
	display: flex;
	justify-content: space-around;
	gap: 10px;
}
#index #gracam-rule #benefits-3 ul li {
	background-color: #fff;
	border-radius: 10px;
	padding: 15px 2px 10px;
	width: 33%;
	font-size: 22px;
	color: #0a2f60;
	font-weight: 600;
}
#index #gracam-rule #benefits-3 ul li span {
	font-family: "M PLUS Rounded 1c", sans-serif;
	color: #ff0084;
	font-size: 24px;
	line-height: 1.2;
}
#index #gracam-rule #benefits-3 ul li:nth-child(3) span {
	letter-spacing: -4;
}
#index #serch-link {}
#index #serch-link h2 {
	font-size: 30px;
	color: #ffd200;
}
#index #serch-link dl dt {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}
#index #serch-link dl dt:first-child {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 10px;
	line-height: 1.4;
}
#index #serch-link dl dd {
	margin-left: 0;
	margin-bottom: 30px;
}
#index #serch-link dl dd a.btn-primary {
	background-color: #ffd200;
	color: #0a2f60;
	border: solid 1px #fff;
}
#index #step {
	margin-bottom: 50px;
}
#index #step li {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: #fff;
	color: #0a2f60;
	font-size: 16px;
	text-align: left;
	border-radius: 10px;
	padding: 10px;
	margin-bottom: 10px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
}
#index #step li:nth-child(3), #index #step li:nth-child(4) {
	align-items: flex-start;
}
#index #step li img {
	margin-right: 10px;
}
/* ==========================================================================
 *  / .list-top
 * ========================================================================== */
@media screen and (min-width: 990px) {
	body.list-top {
		width: 90%;
		max-width: 100%;
	}

	body.list-top header {
		width: 100%;
		max-width: 100%;
	}

	body.list-top .list-grid ul {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
		gap: 16px;
		margin-bottom: 10px;
		justify-content: start;
	}

	body.list-top .footer-fixed {
		width: 100%;
	}

	.footer-fixed-menu {
		max-width: 800px;
		margin: 0 auto;
	}

	.search-footer-form {
		max-width: 640px;
		margin: 40px auto 20px;
		padding: 0 5%;
	}

	.search-footer-form .select-genre .btn-primary {
		margin: 0 auto;
		display: block;
		width: initial;
	}

	.btn-flex {
		gap: 20px;
	}
}




/* ==========================================================================
 * #account-complete
 * ========================================================================== */
#account-complete .box-white-r10 {
	border: solid 2px #0a2f60;
	text-align: center;
	padding: 10% 5%;
}
#account-complete .box-white-r10 img.icon_complete {
	width: 100px;
	margin-bottom: 10%;
}
#account-complete .box-white-r10 h3 {
	margin-bottom: 10%;
}
span.marker {
	background: linear-gradient(transparent 70%, #f78989 70%);
}
#account-complete .box-white-r10 img.logo {
	width: 70%;
	margin-top: 5%;
}
/* ==========================================================================
 * #guidelines
 * ========================================================================== */
.rules-txt .box-white-r10 {
	padding: 15px;
}
.rules-txt h1, .rules-txt h2 {
	text-align: center;
}
.rules-txt .box-white-r10 h3 {
	background-color: #EEE;
	padding: 5px 10px;
	margin-bottom: 15px;
	border-radius: 6px;
	font-size: 18px;
	font-weight: 600;
}
.rules-txt .box-white-r10 p {
	margin-bottom: 10px;
}
.rules-txt .box-white-r10 ul, .rules-txt .box-white-r10 ol {
	padding-left: 1em;
}
.rules-txt .box-white-r10 li {
	margin-bottom: 5px;
}
/* ==========================================================================
 * slick-slider
 * ========================================================================== */
/*    .slider-for, .slider-nav {
      margin: auto;
      width: 100%;
    }

    .slider-for img {
      width: 100%;
      height: auto;
      border-radius: 8px;
    }

    .slider-nav {
      margin-top: 20px;
    }

    .slider-nav .slick-slide {
      margin: 0 5px;
      cursor: pointer;
    }

    .slider-nav img {
      width: 100%;
      height: auto;
      object-fit: cover;
      opacity: 0.6;
      transition: opacity 0.3s ease;
    }

    .slider-nav .slick-current img {
      opacity: 1;
      border: 2px solid #333;
    }

    .slick-prev:before, .slick-next:before {
      color: #666;
      font-size: 30px;
    }

    .slick-slide {
      outline: none;
		height: inherit !important;
    }*/
.slick-arrow {
	font-size: 26px;
	color: #bbb;
}
.slider-nav {
	position: relative;
	margin-top: 5px;
}
.slider-nav .slick-list {
	width: 90%;
	margin: auto;
}
.slick-arrow {
	position: absolute;
	cursor: pointer;
}
.slick-arrow.fa-angle-left {
	top: 50%;
	transform: translateY(-50%);
	left: 1%;
}
.slick-arrow.fa-angle-right {
	top: 50%;
	transform: translateY(-50%);
	right: 1%;
}
/*.slick-slide.slick-current img {
	border: solid 1px #333;
}*/
/*----- スライダーの高さを合わせる -----*/
/* 上段の画像高さ固定 */
.slider-for {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
.slider-for img {
	width: 100%;
	height: auto; /* ★強制的に親にフィット */
	object-fit: cover; /* cover = トリミングあり、contain = 全体表示 */
	aspect-ratio: 4 / 3;
}
.slide-item img {
	height: auto !important;
	border-radius: 0 !important;
}
/* 下段のサムネイル */
.slider-nav-wrapper {
	position: relative;
	width: 80%;
	margin: 20px auto 0;
}
.slider-nav .slick-list {
	/* height: 100px;*/ /*★サムネイルの高さ固定 */
	overflow: hidden;
}
/* キャプション */
.slider-for .single-image .caption h4 {
	padding: 0 10px;
	margin: 0;
}
.slider-for .single-image .caption p {
	padding: 0 10px;
	margin: 0;
}
/*.slider-nav .slick-list {
	border: 2px solid #fff;
}*/
.slider-nav .slick-track {
	/* height: 96px;  *//* ★サムネイルの高さ固定 マイナス border*/
}
.slider-nav .slick-slide {
	margin: 0 5px;
	cursor: pointer;
}
.slider-nav .slick-current {
	/*border: 2px solid #333;*/
}
.slider-nav img, .slider-nav .slick-slide div div img {
	width: 100%;
	height: auto; /* 高さ合わせ */
	object-fit: cover;
	opacity: 0.7;
	transition: opacity 0.3s ease;
	aspect-ratio: 4 / 3;
}
.slider-nav .slick-slide > div > div {
	/* height: 96px; */
}
.slider-nav .slick-current img, .slick-slide.slick-current.slick-active img {
	opacity: 1 !important;
}
/*---　キャプション　---*/
.slider-for, .slick-slide {
	/* padding-bottom: 66px; */
	/* background-color: #f9f9f9; */
}
.slick-slide .caption {
	margin: 0;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.4;
	height: 56px;
}
.slick-slide .caption h4, .slick-slide .caption dt {
	font-weight: bold;
	margin: 0;
}
.slick-slide .caption p, .slick-slide .caption dd {
	margin: 0;
	font-size: 12px;
}
.slide-item .caption h4,
.slide-item .caption p {
	font-size: 12px !important;
}
@media screen and (min-width: 851px) {
	.slider-for {
		/* height: 640px; ★高さ固定（例） */
	}
	.slider-for, .slick-slide {
		/* padding-bottom: 63px; */
		background-color: #f9f9f9;
	}
	.slider-nav {
		height: 137px; /* ★サムネイルの高さ固定 */
	}
	.slider-nav .slick-list {
		height: 137px; /* ★サムネイルの高さ固定 */
		overflow: hidden;
	}
	.slider-nav .slick-track {
		height: 133px; /* ★サムネイルの高さ固定 マイナス border*/
	}
	.slider-nav .slick-slide > div > div {
		height: 133px;
	}
	.slick-slide {}
}
/* キャプションの詰め設定 */
/* 通常：本文あり想定 */
.slider-for,
.slider-for .slick-slide {
  padding-bottom: 66px;
  background-color: #f9f9f9;
}
.slider-for {
	height: auto !important;
}
.slider-for .slick-slide .caption {
  margin: 0;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.4;
  height: 56px;
}

/* 全画像がタイトルのみ、または本文なしの場合 */
.list-img.is-caption-compact .slider-for,
.list-img.is-caption-compact .slider-for .slick-slide {
  padding-bottom: 34px;
}

.list-img.is-caption-compact .slider-for .slick-slide .caption {
  height: 28px;
  padding: 5px 10px;
}

.list-img.is-caption-compact .slider-for .slick-slide .caption p,
.list-img.is-caption-compact .slider-for .slick-slide .caption dd {
  display: none;
}

/* 全画像がタイトルも本文も空の場合 */
.list-img.is-caption-empty .slider-for,
.list-img.is-caption-empty .slider-for .slick-slide {
  padding-bottom: 0;
}

.list-img.is-caption-empty .slider-for .slick-slide .caption {
  display: none;
}
/* ==========================================================================
 * 成約確定QRコードページ
 * ========================================================================== */
.deal-closed {
	padding: 15px;
}
.deal-closed-qrcode .qrcode {
	text-align: center;
}
.deal-closed-qrcode .qrcode h3 {
	margin-bottom: 0;
	font-size: 18px;
}
.write-review h3 {
	margin-top: 10px;
}
.write-review textarea {
	width: 100%;
	margin-bottom: 20px;
}
.write-review p.note {
	margin-top: 10px;
}
/* ==========================================================================
 * 応募フォーム
 * ========================================================================== */
.referrer_info {
	background-color: #0a2f60;
	padding: 10px 20px;
}
.referrer_info dl {
	margin: 0;
}
.referrer_info dl dt {
	width: 30%;
	color: #fff !important;
	font-size: 16px;
	font-weight: normal;
}
.referrer_info dl dd {
	color: #fff;
	font-size: 16px;
}
dl.cautionary_notes {
	margin: 50px 0;
}
dl.cautionary_notes ul {
	margin-left: 20px;
}
/* ==========================================================================
 * 評価する
 * ========================================================================== */
.bg_navy_block {
	background-color: #0a2f60;
	color: #fff;
	padding: 20px 30px;
	margin-left: -3%;
	margin-right: -3%;
}
 .rate .section-header {
	padding: 20px 15px 0;
}
 /* .rate .section-header p {
	text-align: center;
	font-size: 18px;
 } */
.rate .section-header h2 {
	text-align: center;
	font-size: 18px;
	margin-bottom: 5px;
	/* border: solid 5px #ffd703; */
	border-radius: 5px;
	background-color: #ffd703;
	padding: 15px 10px;
}
.rate .bg_navy_block h3 {
	color: #ffd703;
	text-align: center;
	font-weight: 500;
	margin: 0 10px 10px;
}
.rate .bg_navy_block p {
	color: #FFF;
}
.rate .bg_navy_block p.note {
	margin-top: 10px;
}
.rate .txt-area {
	margin-bottom: 20px;
}
.rate .txt-area h3 {
    padding-left: 1.3em;
    position: relative;
}
.rate .txt-area h3 i {
	color: #ffd703;
    position: absolute;
    left: 0;
    top: 5px;
}
/*=== 星評価 ===*/
.rated-area p {
    padding: 10px;
}
/* ボタンにしてクリック可能に（見た目はそのまま） */
.rate .star-rating {
  position: relative;
  display: inline-block;
  font-size: 44px;
  line-height: 1;
  unicode-bidi: bidi-override;
  color: #c4c4c4;

  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

/* 星5個（下地） */
.star-rating::before {
  content: "★★★★★";
  display: block;
}

/* 塗りつぶし部分（表示用と同じ） */
.star-rating .filled {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  color: #000;
  white-space: nowrap;
  pointer-events: none;
  width: 0%;
}
.rate .star-large .star-container {
  text-align: center;
}
.rate .rating-text {
  margin-left: 8px;
  font-size: 14px;
  vertical-align: baseline;
}
/*=== コメント ===*/
.comment-area dt {
	font-weight: 500;
}
.comment-area dd {
	margin: 0;
}
.comment-area .btn-area {
	padding-top: 0;
}
.comment-area button {
	width: 100%;
}
/*=== thanksページ ===*/
.thanks .bg_navy_block h3 {
	text-align: left;
}
.rate.thanks .bg_navy_block h2 {
	text-align: center;
}
.rate.thanks .bg_navy_block p {
	margin-bottom: 10px;
    font-size:16px;
}
.rate.thanks {
/*	height: 70vh;*/
}
/*.rate.thanks .bg_navy_block */
.bg_navy_block{
    padding:40px 30px;
    text-align:center;
    background:#0A2F60;
    color:#fff;
}

.bg_navy_block h2{
    margin:0 0 20px;
    color:#fff;
}

.thanks-lead{
    margin:0;
    font-weight:500;
    line-height:1.8;
}

.thanks-logo{
    margin:30px 0 20px;
}

.thanks-logo img{
    width:180px;
}

.thanks-copy{
    margin:0;
    font-size:18px;
    line-height:1.8;
}

.thanks-border{
    width:70px;
    height:2px;
    margin:30px auto;
    background:rgba(255,255,255,.4);
}

.thanks-text{
    margin:0 0 24px;
}

.thanks-message{
    margin:0;

    line-height:1.8;
}

.thanks-message span{
    color:#FFB400;
    font-weight: 600;
}
/* ==========================================================================
 * 利用履歴/お気に入り 共通リスト
 * ========================================================================== */
.bookmark-list h1 img {
	width: 40px;
	vertical-align: bottom;
	margin-right: 5px;
}
.bookmark-list .box-white-r10 {
  background: #fff;
  border-radius: 12px;
  padding: 2px 12px;
  box-sizing: border-box;
}

/* list wrapper */
.gr-list {
  display: block;
}

/* 1 item */
.gr-item {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 10px;
  cursor: pointer;
}

/* 区切り線（最後以外） */
.gr-item + .gr-item {
  border-top: 1px solid #e6e6e6;
}

/* text area */
.gr-item__body {
  min-width: 0;
}

/* date（利用履歴のみ） */
.gr-item__date {
  display: block;
  font-size: 13px;
  color: #7a7a7a;
  margin-bottom: 6px;
}

/* title */
.gr-item__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 4px 0;
  line-height: 1.25;
  color: #111;
  word-break: break-word;
}

/* meta（カテゴリ） */
.gr-item__meta {
  margin: 0;
  font-size: 14px;
  color: #666;
}

/* trash button */
.gr-item__trash {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  place-items: center;
  opacity: 0.55;
}

.gr-item__trash svg {
  width: 20px;
  height: 20px;
  fill: #8b8b8b;
}

.gr-item__trash:hover {
  opacity: 1;
  background: #f3f3f3;
}

/* empty */
.gr-empty {
  margin: 0;
  padding: 16px 10px;
  color: #666;
  font-size: 14px;
}

/* スマホ幅最適化（画像と同じ感じに） */
@media (max-width: 480px) {
  .box-white-r10 {
    padding: 14px 10px;
  }
  .gr-item {
    padding: 14px 8px;
  }
  .gr-item__title {
    font-size: 17px;
  }
}

 /* ===== 削除確認モーダル ===== */
.gr-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none; /* closed */
}

.gr-modal.is-open {
  display: block;
}

.gr-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}

.gr-modal__panel {
  position: relative;
  width: min(92vw, 420px);
  margin: 18vh auto 0;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  overflow: hidden;
}

.gr-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid #eee;
}

.gr-modal__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

.gr-modal__x {
  border: none;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 8px;
}

.gr-modal__x:hover {
  background: #f3f3f3;
}

.gr-modal__body {
  padding: 14px 16px 6px;
}

.gr-modal__text {
  margin: 0 0 6px;
  font-size: 14px;
  color: #111;
  line-height: 1.6;
}

.gr-modal__note {
  margin: 0;
  font-size: 12px;
  color: #666;
}

.gr-modal__actions {
  display: flex;
  gap: 10px;
  padding: 12px 16px 16px;
  justify-content: flex-end;
}

.gr-modal__btn {
  border: none;
  cursor: pointer;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 14px;
}

.gr-modal__btn--ghost {
  background: #f3f3f3;
  color: #111;
}

.gr-modal__btn--danger {
  background: #e24b4b;
  color: #fff;
}

.gr-modal__btn--danger:hover {
  filter: brightness(0.95);
}

/* ==========================================================================
 * 謝礼総金額、支払日
 * ========================================================================== */
/*
#rseward .btn-select-payment-method a {
	background-color: #0087f6;
}
*/
/*送金方法選択*/
.reward-transfer-setting {
  padding: 24px;
  background: #fff;
  border-radius: 5px;
	margin-bottom: 20px;
}

.reward-transfer-setting__title {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 700;
  color: #111;
}

.reward-transfer-setting__lead {
  margin: 0 0 18px;
  font-size: 15px;
  color: #333;
}

.reward-method-select {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
	justify-content: space-between;
}

.reward-method-option {
  flex: 1;
  cursor: pointer;
	display: flex;
}

.reward-method-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.reward-method-option__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  min-height: 72px;
  padding: 12px 10px;
  border: 2px solid #333;
  border-radius: 8px;
  background: #fff;
  color: #0a2f60;
  text-align: center;
  transition: .2s;
  box-sizing: border-box;
	width: 100%;
}

.reward-method-option__main {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.reward-method-option__sub {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #1c84e8;
}
.reward-method-option__small {
	font-size: 14px;
	font-weight: 500;
}
.reward-method-option input[type="radio"]:checked + .reward-method-option__box {
  background: #fdeee6;
/*  color: #fff;*/
}

.reward-method-option input[type="radio"]:checked + .reward-method-option__box .reward-method-option__sub {
  color: #1c84e8;
}
/* ロゴ */
.reward-method-option__logo {
  display: block;
  margin-bottom: 6px;
}

.reward-method-option__logo img {
  height: 26px;
  width: auto;
  display: block;
}

/* デフォルト表示 */
.logo-active {
  display: none;
}

/* 選択時（radio checked） 
.reward-method-option input:checked + .reward-method-option__box .logo-default {
  display: none;
}

.reward-method-option input:checked + .reward-method-option__box .logo-active {
  display: block;
}
.reward-method-option__logo img.logo-active {
  display: none;
}*/
@media screen and (max-width: 767px) {
  .reward-method-select {
    flex-direction: column;
  }

  .reward-method-option__box {
    min-height: 80px;
  }
}
.reward-method-detail {
  margin-bottom: 10px;
  padding: 20px;
  border: 1px solid #d8e1ee;
  border-radius: 10px;
  background: #f7faff;
}
.reward-method-detail .entry-label {
	font-weight: 700;
	margin-bottom: 5px;
}
.form_txt--aupay {
  letter-spacing: 0.08em;
}

.reward-method-detail__note {
  margin: 8px 0 0;
  font-size: 12px;
  color: #666;
}

.reward-method-detail__help {
  margin: 10px 0 0;
}

.reward-method-detail__help-link {
  font-size: 13px;
  font-weight: 700;
  color: #0a2f60;
  text-decoration: underline;
}

.auto-transfer-info {
  margin-top: 24px;
  padding: 16px 18px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #d9dde5;
}

.auto-transfer-info__title {
  margin: 0 0 5px;
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

.auto-transfer-info__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}

.auto-transfer-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.7;
  color: #222;
}

.auto-transfer-consent input[type="checkbox"] {
  margin-top: 3px;
}

.form-action--single {
  	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.form-action--single .form-action__button {
  max-width: 360px;
}
.form-action__button:disabled,
.btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.reward-guide {
  margin-top: 20px;
  padding: 20px 16px;
  background: #fff;
  border-radius: 8px;
}

.reward-guide__section + .reward-guide__section {
  margin-top: 28px;
}

.reward-guide__title {
  margin: 0 0 14px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4;
  color: #111;
}

.reward-guide__summary {
  margin-bottom: 14px;
  padding: 14px 16px;
  background: #f7faff;
  border-left: 4px solid #0a2f60;
  border-radius: 6px;
}

.reward-guide__summary p {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #222;
}

.reward-guide__box {
  padding: 16px;
  background: #fafafa;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
}

.reward-guide__list {
  margin: 0 0 10px;
  padding-left: 1.4em;
}

.reward-guide__list li {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.9;
  color: #333;
}

.reward-guide__list li:first-child {
  margin-top: 0;
}

.reward-guide__text {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.9;
  color: #333;
}

.reward-method-info {
  margin-bottom: 16px;
  padding: 16px;
  background: #f7faff;
  border: 1px solid #d8e1ee;
  border-radius: 8px;
}

.reward-method-info__label {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: #0a2f60;
}

.reward-method-info__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.reward-method-info__item {
  padding: 12px 0;
  border-top: 1px solid #d8e1ee;
}

.reward-method-info__item:first-child {
  padding-top: 0;
  border-top: none;
}
.reward-method-info__item:last-child {
  padding-bottom: 0;
}

.reward-method-info__name {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

.reward-method-info__desc {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.7;
  color: #666;
}

.reward-guide__note {
  padding: 16px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
}

.reward-guide__note p {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.9;
  color: #444;
}

.reward-guide__note p:first-child {
  margin-top: 0;
}

.reward-contact {
  margin-top: 28px;
  padding: 18px 16px;
  background: #f5f5f5;
  border-radius: 8px;
}

.reward-contact__title {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #111;
}

.reward-contact__name,
.reward-contact__mail {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.8;
  color: #222;
}

.reward-contact__mail a {
  color: #0a2f60;
  text-decoration: underline;
  word-break: break-all;
}

/*au PAY 会員ナンバー確認方法モーダル*/
.modal-aupay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;

  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.modal-aupay.is-open {
  display: block;
}

.modal-aupay__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
}

.modal-aupay__content {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 720px;

  margin: 16px auto;
  padding: 20px 16px 24px;

  border-radius: 14px;
  background: #fff;

  box-sizing: border-box;
}

.modal-aupay__close {
  position: sticky;
  top: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: #f3f5f8;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
body.modal-open {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .modal-aupay {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .modal-aupay__content {
    width: calc(100% - 16px);
    max-height: none;
    margin: 8px auto;
    padding: 16px 14px 20px;
    border-radius: 12px;
    overflow: visible;
  }

  .modal-aupay__title {
    margin: 8px 48px 10px 0;
    font-size: 19px;
    line-height: 1.5;
  }
}

.modal-aupay__title {
  margin: 0 48px 12px 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  color: #111;
}

.modal-aupay__lead {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.9;
  color: #333;
}

.modal-aupay__flow {
  display: grid;
  grid-template-columns: 1fr 40px 1fr 40px 1fr;
  /* gap: 12px; */
  align-items: start;
}

.modal-aupay__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  font-size: 28px;
  font-weight: 700;
  color: #0a2f60;
}

.modal-aupay-step {
  padding: 18px 16px;
  border: 1px solid #d8e1ee;
  border-radius: 14px;
  background: #f8fbff;
  min-width: 0;
}

.modal-aupay-step__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.modal-aupay-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #0a2f60;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.modal-aupay-step__title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

.modal-aupay-step__phone {
  position: relative;
  /* width: min(100%, 220px);
  margin: 0 auto 14px; */
    width: 100%;
  max-width: 220px;
  margin: 0 auto;
  padding: 10px;
  border-radius: 28px;
  background: #111827;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
  box-sizing: border-box;
}

.modal-aupay-step__phone::before {
  content: "";
  display: block;
  width: 72px;
  height: 6px;
  margin: 0 auto 10px;
  border-radius: 999px;
  background: #374151;
}

.modal-aupay-step__phone img {
  display: block;
  /* width: 100%; */
  aspect-ratio: 9 / 19;
  object-fit: cover;
  border-radius: 20px;
  background: #fff;
}

.modal-aupay-step__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: #444;
}

.modal-aupay__note {
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid #d9dde5;
  border-radius: 12px;
  background: #fafafa;
}

.modal-aupay__note-title {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

.modal-aupay__note-list {
  margin: 0;
  padding-left: 1.2em;
}

.modal-aupay__note-list li {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.8;
  color: #444;
}

.modal-aupay__note-list li:first-child {
  margin-top: 0;
}

/* スマホだけ改行 */
.sp-br {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp-br {
    display: block;
  }

  .modal-aupay__content {
    width: calc(100% - 16px);
/*    max-height: calc(100vh - 16px);*/
    padding: 20px 14px 16px;
    border-radius: 12px;
  }

  .modal-aupay__title {
    font-size: 19px;
    margin-bottom: 10px;
  }

  .modal-aupay__lead {
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.8;
  }

  .modal-aupay__flow {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .modal-aupay__arrow {
    min-height: auto;
    font-size: 22px;
    transform: rotate(90deg);
  }

  .modal-aupay-step {
    padding: 14px;
  }

  .modal-aupay-step__title {
    font-size: 15px;
  }

  .modal-aupay-step__phone {
    width: min(100%, 180px);
    border-radius: 24px;
  }

  .modal-aupay-step__phone img {
    border-radius: 16px;
  }

  .modal-aupay-step__text,
  .modal-aupay__note-list li {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .reward-guide {
    padding: 16px 14px;
  }

  .reward-guide__section + .reward-guide__section {
    margin-top: 24px;
  }

  .reward-guide__title {
    font-size: 18px;
    margin-bottom: 12px;
  }

  .reward-guide__summary {
    padding: 12px 14px;
  }

  .reward-guide__summary p {
    font-size: 14px;
    line-height: 1.8;
  }

  .reward-guide__box,
  .reward-method-info,
  .reward-guide__note,
  .reward-contact {
    padding: 14px;
  }

  .reward-guide__list li,
  .reward-guide__text,
  .reward-guide__note p,
  .reward-contact__name,
  .reward-contact__mail {
    font-size: 13px;
    line-height: 1.85;
  }

  .reward-method-info__name {
    font-size: 15px;
  }

  .reward-contact__title {
    font-size: 16px;
  }
}
/* ==========================================================================
 * common
 * ========================================================================== */
/* 改行制御 */
.sp-br { display: none; }
.pc-br { display: block; }

/* 画像切り替え */
.sp-only { display: none; }
.pc-only { display: block; }

@media screen and (max-width: 767px) {
  .sp-br { display: block; }
  .pc-br { display: none; }

  .sp-only { display: block; }
  .pc-only { display: none; }
}
.required {
	color: red;
}
sup {
	font-size: 12px;
}
.mt00 {
	margin-top: 0 !important;
}
.mt05 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 14px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt55 {
	margin-top: 54px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt65 {
	margin-top: 65px !important;
}
.mt70 {
	margin-top: 70px !important;
}
.mt75 {
	margin-top: 75px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.mt85 {
	margin-top: 85px !important;
}
.mt90 {
	margin-top: 90px !important;
}
.mt95 {
	margin-top: 95px !important;
}
.mt100 {
	margin-top: 100px !important;
}
.mb00 {
	margin-bottom: 0 !important;
}
.mb05 {
	margin-bottom: 5px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb15 {
	margin-bottom: 14px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb45 {
	margin-bottom: 45px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb55 {
	margin-bottom: 54px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb65 {
	margin-bottom: 65px !important;
}
.mb70 {
	margin-bottom: 70px !important;
}
.mb75 {
	margin-bottom: 75px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb85 {
	margin-bottom: 85px !important;
}
.mb90 {
	margin-bottom: 90px !important;
}
.mb95 {
	margin-bottom: 95px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
.mr00 {
	margin-right: 0 !important;
}
.mr05 {
	margin-right: 5px !important;
}
.mr10 {
	margin-right: 10px !important;
}
.mr15 {
	margin-right: 14px !important;
}
.mr20 {
	margin-right: 20px !important;
}
.mr25 {
	margin-right: 25px !important;
}
.mr30 {
	margin-right: 30px !important;
}
.mr35 {
	margin-right: 35px !important;
}
.mr40 {
	margin-right: 40px !important;
}
.mr45 {
	margin-right: 45px !important;
}
.mr50 {
	margin-right: 50px !important;
}
.mr55 {
	margin-right: 54px !important;
}
.mr60 {
	margin-right: 60px !important;
}
.mr65 {
	margin-right: 65px !important;
}
.mr70 {
	margin-right: 70px !important;
}
.mr75 {
	margin-right: 75px !important;
}
.mr80 {
	margin-right: 80px !important;
}
.mr85 {
	margin-right: 85px !important;
}
.mr90 {
	margin-right: 90px !important;
}
.mr95 {
	margin-right: 95px !important;
}
.mr100 {
	margin-right: 100px !important;
}
.ml00 {
	margin-left: 0 !important;
}
.ml05 {
	margin-left: 5px !important;
}
.ml10 {
	margin-left: 10px !important;
}
.ml15 {
	margin-left: 14px !important;
}
.ml20 {
	margin-left: 20px !important;
}
.ml25 {
	margin-left: 25px !important;
}
.ml30 {
	margin-left: 30px !important;
}
.ml35 {
	margin-left: 35px !important;
}
.ml40 {
	margin-left: 40px !important;
}
.ml45 {
	margin-left: 45px !important;
}
.ml50 {
	margin-left: 50px !important;
}
.ml55 {
	margin-left: 54px !important;
}
.ml60 {
	margin-left: 60px !important;
}
.ml65 {
	margin-left: 65px !important;
}
.ml70 {
	margin-left: 70px !important;
}
.ml75 {
	margin-left: 75px !important;
}
.ml80 {
	margin-left: 80px !important;
}
.ml85 {
	margin-left: 85px !important;
}
.ml90 {
	margin-left: 90px !important;
}
.ml95 {
	margin-left: 95px !important;
}
.ml100 {
	margin-left: 100px !important;
}
.pt00 {
	padding-top: 0 !important;
}
.pt05 {
	padding-top: 5px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pt15 {
	padding-top: 14px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pt25 {
	padding-top: 25px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pt35 {
	padding-top: 35px !important;
}
.pt40 {
	padding-top: 40px !important;
}
.pt45 {
	padding-top: 45px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pt55 {
	padding-top: 54px !important;
}
.pt60 {
	padding-top: 60px !important;
}
.pt65 {
	padding-top: 65px !important;
}
.pt70 {
	padding-top: 70px !important;
}
.pt75 {
	padding-top: 75px !important;
}
.pt80 {
	padding-top: 80px !important;
}
.pt85 {
	padding-top: 85px !important;
}
.pt90 {
	padding-top: 90px !important;
}
.pt95 {
	padding-top: 95px !important;
}
.pt100 {
	padding-top: 100px !important;
}
.pb00 {
	padding-bottom: 0 !important;
}
.pb05 {
	padding-bottom: 5px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pb15 {
	padding-bottom: 14px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pb25 {
	padding-bottom: 25px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pb35 {
	padding-bottom: 35px !important;
}
.pb40 {
	padding-bottom: 40px !important;
}
.pb45 {
	padding-bottom: 45px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}
.pb55 {
	padding-bottom: 54px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
.pb65 {
	padding-bottom: 65px !important;
}
.pb70 {
	padding-bottom: 70px !important;
}
.pb75 {
	padding-bottom: 75px !important;
}
.pb80 {
	padding-bottom: 80px !important;
}
.pb85 {
	padding-bottom: 85px !important;
}
.pb90 {
	padding-bottom: 90px !important;
}
.pb95 {
	padding-bottom: 95px !important;
}
.pb100 {
	padding-bottom: 100px !important;
}
.pr00 {
	padding-right: 0 !important;
}
.pr05 {
	padding-right: 5px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pr15 {
	padding-right: 14px !important;
}
.pr20 {
	padding-right: 20px !important;
}
.pr25 {
	padding-right: 25px !important;
}
.pr30 {
	padding-right: 30px !important;
}
.pr35 {
	padding-right: 35px !important;
}
.pr40 {
	padding-right: 40px !important;
}
.pr45 {
	padding-right: 45px !important;
}
.pr50 {
	padding-right: 50px !important;
}
.pr55 {
	padding-right: 54px !important;
}
.pr60 {
	padding-right: 60px !important;
}
.pr65 {
	padding-right: 65px !important;
}
.pr70 {
	padding-right: 70px !important;
}
.pr75 {
	padding-right: 75px !important;
}
.pr80 {
	padding-right: 80px !important;
}
.pr85 {
	padding-right: 85px !important;
}
.pr90 {
	padding-right: 90px !important;
}
.pr95 {
	padding-right: 95px !important;
}
.pr100 {
	padding-right: 100px !important;
}
.pl00 {
	padding-left: 0 !important;
}
.pl05 {
	padding-left: 5px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.pl15 {
	padding-left: 14px !important;
}
.pl20 {
	padding-left: 20px !important;
}
.pl25 {
	padding-left: 25px !important;
}
.pl30 {
	padding-left: 30px !important;
}
.pl35 {
	padding-left: 35px !important;
}
.pl40 {
	padding-left: 40px !important;
}
.pl45 {
	padding-left: 45px !important;
}
.pl50 {
	padding-left: 50px !important;
}
.pl55 {
	padding-left: 54px !important;
}
.pl60 {
	padding-left: 60px !important;
}
.pl65 {
	padding-left: 65px !important;
}
.pl70 {
	padding-left: 70px !important;
}
.pl75 {
	padding-left: 75px !important;
}
.pl80 {
	padding-left: 80px !important;
}
.pl85 {
	padding-left: 85px !important;
}
.pl90 {
	padding-left: 90px !important;
}
.pl95 {
	padding-left: 95px !important;
}
.pl100 {
	padding-left: 100px !important;
}
.pd05 {
	padding: 0.5% !important;
}
.pd1 {
	padding: 1% !important;
}
.pd2 {
	padding: 2% !important;
}
.pd3 {
	padding: 3% !important;
}
.pd4 {
	padding: 4% !important;
}
.pd5 {
	padding: 5% !important;
}
.pd6 {
	padding: 6% !important;
}
.pd10 {
	padding: 10px !important;
}
.pd15 {
	padding: 15px !important;
}
.pd20 {
	padding: 20px !important;
}
.pd25 {
	padding: 25px !important;
}
.pd30 {
	padding: 30px !important;
}
.pd50 {
	padding: 50px !important;
}
.width05 {
	width: 5% !important
}
.width10 {
	width: 10% !important
}
.width20 {
	width: 20% !important
}
.width30 {
	width: 30% !important
}
.width40 {
	width: 40% !important
}
.width50 {
	width: 50% !important
}
.width60 {
	width: 60% !important
}
.width70 {
	width: 70% !important
}
.width80 {
	width: 80% !important
}
.width90 {
	width: 90% !important
}
.width100 {
	width: 100% !important
}
.width48 {
	width: 48% !important
}
.width48_mr4 {
	width: 48%;
	margin-right: 4% !important
}
.width49 {
	width: 49% !important
}
.width49_mr2 {
	width: 49%;
	margin-right: 2% !important
}
.width15 {
	width: 15% !important
}
.width25 {
	width: 25% !important
}
.width35 {
	width: 35% !important
}
.width45 {
	width: 45% !important
}
.width55 {
	width: 55% !important
}
.width65 {
	width: 65% !important
}
.width75 {
	width: 75% !important
}
.width85 {
	width: 85% !important
}
.width95 {
	width: 95% !important
}
.width1em {
	width: 1em !important
}
.width2em {
	width: 2em !important
}
.width3em {
	width: 3em !important
}
.width4em {
	width: 4em !important
}
.width5em {
	width: 5em !important
}
.max_w1000 {
	max-width: 1000px
}
.max_w900 {
	max-width: 900px
}
.max_w800 {
	max-width: 800px
}
.max_w700 {
	max-width: 700px
}
.max_w600 {
	max-width: 600px
}
.max_w500 {
	max-width: 500px
}
.max_w400 {
	max-width: 400px
}
.max_w300 {
	max-width: 300px
}
.max_w200 {
	max-width: 200px
}
.max_w100 {
	max-width: 100px
}
.w100 {
	width: 100% !important
}
.w95 {
	width: 95% !important
}
.w90 {
	width: 90% !important
}
.w85 {
	width: 85% !important
}
.w80 {
	width: 80% !important
}
.w75 {
	width: 75% !important
}
.w70 {
	width: 70% !important
}
.w65 {
	width: 65% !important
}
.w60 {
	width: 60% !important
}
.w55 {
	width: 55% !important
}
.w50 {
	width: 50% !important
}
.w45 {
	width: 45% !important
}
.w40 {
	width: 40% !important
}
.w35 {
	width: 35% !important
}
.w30 {
	width: 30% !important
}
.w25 {
	width: 25% !important
}
.w20 {
	width: 20% !important
}
.w15 {
	width: 15% !important
}
.w10 {
	width: 10% !important
}
.w05 {
	width: 5% !important
}
.w00 {
	width: 0% !important
}
.txt12 {
	font-size: 12px !important;
}
.txt14 {
	font-size: 14px !important;
}
.txt15 {
	font-size: 15px !important;
}
.txt16 {
	font-size: 16px !important;
}
.txt18 {
	font-size: 18px !important;
}
.txt20 {
	font-size: 20px !important;
}
.txt22 {
	font-size: 22px !important;
}
.txt24 {
	font-size: 24px !important;
}
.txt26 {
	font-size: 26px !important;
}
.txt28 {
	font-size: 28px !important;
}
.txt30 {
	font-size: 30px !important;
}
.txt-bold {
	font-weight: bold !important;
}
.txt-center {
	text-align: center !important;
}
.txt-left {
	text-align: left !important;
}
.txt-right {
	text-align: right !important;
}
.txt-yl {
	color: #ffd200 !important;
}
.txt-yl-light {
	color: #fff66e !important;
}
.txt-og {
	color: #ff6000 !important;
}
.txt-red {
	color: #d80a0a !important;
}
.txt-white {
	color: #fff !important;
}

/* ==========================================================================
 * New share cards
 * ========================================================================== */
.share-card {
	--share-accent: #79d3f6;
	--share-bg: #0b3366;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 10px;
	padding: 18px 18px 20px;
	overflow: visible;
	color: #fff;
	background: var(--share-bg);
	border-radius: 28px;
}

.share-card--job {
	--share-accent: #79d3f6;
}

.share-card--service {
	--share-accent: #f8c2d4;
}

.share-card--grabo {
	--share-accent: #fff176;
}

.share-card + .share-card {
	margin-top: 20px;
}

.detail .share-card *,
.detail .share-card *::before,
.detail .share-card *::after {
	box-sizing: border-box;
}

.share-card__header {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 60px;
	padding: 9px 11px 9px 15px;
	border: 5px solid var(--share-accent);
	border-radius: 17px;
}

.share-card .icon_help {
	display: flex;
	flex: 0 0 30px;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-left: 8px;
	color: var(--share-accent);
	line-height: 1;
}

.share-card .icon_help .btn-mouseover {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
}

.share-card .icon_help .mouseover__box {
	top: calc(100% + 12px);
	width: calc(100% - 12px);
	max-height: 60vh;
	overflow-y: auto;
}

.detail .share-card .icon_help .mouseover__box h3 {
	margin: 0 0 8px;
	color: var(--share-accent);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
}

.detail .share-card .icon_help .mouseover__box p {
	margin: 0;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	text-align: left;
}

.detail .share-card .icon_help .mouseover__box p + p {
	margin-top: 5px;
}

.share-card .icon_help:hover .mouseover__box h3,
.share-card .icon_help:focus-within .mouseover__box h3 {
	color: var(--share-accent);
}

.detail .share-card .share-card__title {
	flex: 1;
	margin: 0;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	white-space: nowrap;
}

.detail .share-card .share-card__title--with-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

.share-card__title-text {
	white-space: nowrap;
}

.share-card__title-reading {
	font-size: 14px;
	font-weight: 500;
}

.detail .share-card .share-card__title--with-icon img {
	width: 28px;
	height: 25px;
	margin-right: 7px;
	object-fit: contain;
}

@media screen and (max-width: 375px) {
	.share-card__header {
		margin-right: -14px;
		margin-left: -14px;
		padding-right: 6px;
		padding-left: 6px;
	}

	.detail .share-card .share-card__title {
		font-size: 18px;
		letter-spacing: 0;
	}

	.detail .share-card .share-card__title--with-icon img {
		width: 18px;
		height: 16px;
		margin-right: 2px;
	}

	.share-card .icon_help {
		flex-basis: 24px;
		width: 24px;
		height: 24px;
		margin-left: 2px;
	}

	.share-card .icon_help .btn-mouseover {
		font-size: 24px;
	}
}

.share-card__help,
.share-card__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	color: var(--share-bg);
	background: var(--share-accent);
	border-radius: 50%;
}

.share-card__help {
	width: 30px;
	height: 30px;
	margin-left: 8px;
	font-size: 17px;
}

.share-card__icon {
	width: 29px;
	height: 29px;
	margin-right: 7px;
	font-size: 15px;
}

.share-card__icon .fa-file-pen {
	transform: translateX(1px);
}

.detail .share-card .share-card__intro {
	margin: 17px 3px 18px;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 2;
}

.detail .share-card .share-card__intro.share-card__intro--large {
	font-size: 16px;
}

.share-card__section {
	padding: 21px 3px 20px;
	border-top: 1px dotted rgba(255, 255, 255, .8);
}

.share-card__section--plain {
	padding-top: 5px;
	border-top: 0;
}

.share-card__section--header-gap {
	padding-top: 20px;
}

.detail .share-card .share-card__heading {
	display: flex;
	align-items: center;
	margin: 0 0 17px;
	color: var(--share-accent);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
}

.detail .share-card .share-card__heading small {
	margin-left: 4px;
	font-size: 12px;
	font-weight: 500;
}

.detail .share-card .share-card__text + .share-card__heading {
	margin-top: 18px;
}

.detail .share-card .share-card__minor-heading {
	margin: 18px 0 8px;
	color: var(--share-accent);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
}

.detail .share-card .share-card__minor-heading span {
	margin-left: 4px;
	font-size: 11px;
}

.detail .share-card .share-card__amount {
	margin: 0;
	color: #fff;
	font-size: 35px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .02em;
}

.detail .share-card .share-card__condition-title {
	margin: 0 0 18px;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
}

.detail .share-card .share-card__text {
	margin: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.48;
}

.detail .share-card .share-card__text strong {
	color: #ffdb2e;
	font-weight: 600;
}

.detail .share-card .share-card__expand-content p {
	margin: 0;
	color: #fff;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
}

.detail .share-card .share-card__fixed-notice-heading {
	margin-top: 24px;
}

.detail .share-card .share-card__fixed-notice-text {
	color: #fff;
}

.share-card__trigger {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.share-card__expand-content {
	position: relative;
	max-height: 84px;
	overflow: hidden;
	font-size: 14px !important;
	line-height: 1.5 !important;
	transition: max-height .25s ease;
}

.share-card__expand-content::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 21px;
	content: "";
	background: linear-gradient(to bottom, rgba(11, 51, 102, 0), var(--share-bg));
	pointer-events: none;
}

.share-card__trigger:checked ~ .share-card__expand-content {
	max-height: 500px;
}

.share-card__trigger:checked ~ .share-card__expand-content::after {
	display: none;
}

.share-card__expand--static .share-card__expand-content {
	max-height: none;
	overflow: visible;
	transition: none;
}

.share-card__expand--static .share-card__expand-content::after,
.share-card__expand--static .share-card__more {
	display: none;
}

.share-card__more {
	display: block;
	width: max-content;
	margin: 8px auto 0;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	text-decoration: underline;
	cursor: pointer;
}

.share-card__more-close {
	display: none;
}

.share-card__trigger:checked ~ .share-card__more .share-card__more-open {
	display: none;
}

.share-card__trigger:checked ~ .share-card__more .share-card__more-close {
	display: inline;
}

.share-card__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 57px;
	margin: 18px 0 32px;
	padding: 12px 15px;
	color: var(--share-bg);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	background: var(--share-accent);
	border-radius: 5px;
}

.share-card__cta:visited,
.share-card__cta:hover {
	color: var(--share-bg);
}

.share-card__cta img {
	width: 30px;
	height: 27px;
	margin-right: 8px;
	object-fit: contain;
}

.detail .share-card .share-card__cta-note {
	margin: -25px 3px 28px;
	color: #fff;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.45;
}

.detail .share-card .share-card__notes {
	margin: 0 3px;
	color: #fff;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.45;
}

.detail .share-card .share-card__notes strong {
	color: #fff;
	font-weight: 600;
}

@media screen and (min-width: 737px) {
	.share-card {
		padding: 25px 28px 28px;
	}

	.detail .share-card .share-card__title {
		font-size: 22px;
	}

	.detail .share-card .share-card__intro {
		font-size: 14px;
	}

	.share-card__section {
		padding-right: 5px;
		padding-left: 5px;
	}
}

@media screen and (min-width: 737px) {
	/**TOP**/
	#index {
		padding: 15px 80px;
	}
	#index #fv h2, #index #feature h2 {
		font-size: 40px;
	}
	#index #fv h2 img {
		vertical-align: text-top;
	}
	#index #about-gratiy-txt p.lead {
		font-size: 27px;
	}
	#index #about-gratiy-txt p {
		text-align: center;
	}
	#index .feature01 img, #index .feature02 img {
		width: 65%;
	}
	#index #feature .box {
		padding: 30px 0;
		margin: 0 auto;
	}
	#index #feature p.lead .txt-yl-light {
		display: block;
	}
	#index #step li {
		font-size: 20px;
		align-items: center;
	}
	/**ログイン後　一覧**/
	/*	body {
  background-color: #01498f;
}*/
	.list-sc ul {
		padding: 15px 50px 10px;
	}
	.list-sc ul li {
		margin: 0 0 50px;
	}
}
