@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%
}
body {
margin: 0;
font-size: 16px;
font-weight: 400;
color: #333;
font-family: "Noto Sans JP", sans-serif;
background: #fff;
}
main {
	display: block
}
h1 {
	font-size: 2em;
	margin: 0.67em 0
}
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible
}
pre {
	font-family: monospace, monospace;
	font-size: 1em
}
a {
	background-color: transparent
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}
b, strong {
	font-weight: bolder
}
code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em
}
small {
	font-size: 80%
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}
sub {
	bottom: -0.25em
}
sup {
	top: -0.5em
}
img {
	border-style: none
}
button, input, optgroup, select, textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0
}
button, input {
	overflow: visible
}
button, select {
	text-transform: none
}
[type=button], [type=reset], [type=submit], button {
	-webkit-appearance: button
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
	border-style: none;
	padding: 0
}
[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
	outline: 1px dotted ButtonText
}
fieldset {
	padding: 0.35em 0.75em 0.625em
}
legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}
progress {
	vertical-align: baseline
}
textarea {
	overflow: auto
}
[type=checkbox], [type=radio] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto
}
[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}
details {
	display: block
}
summary {
	display: list-item
}
template {
	display: none
}
[hidden] {
	display: none
}
body {
	font-size: 16px;
	font-weight: 300;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif
}
*, :after, :before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
a:hover, a:link {
	text-decoration: none
}
a {
	color: #333
}
ol, ul {
	list-style: none;
	margin: 0;
	padding: 0
}
img {
	max-width: 100%
}
button {
	border: 0
}
table {
	border-collapse: collapse
}
.spbr {
	display: none
}

.mart10{margin-top: 10px;}
.mart20{margin-top: 20px;}
.mart30{margin-top: 30px;}
.mart40{margin-top: 40px;}
.mart50{margin-top: 50px;}
.mart60{margin-top: 60px;}
.mart70{margin-top: 70px;}
.mart80{margin-top: 80px;}
.mart90{margin-top: 90px;}
.mart100{margin-top: 100px;}

.marb10{margin-bottom: 10px;}
.marb20{margin-bottom: 20px;}
.marb30{margin-bottom: 30px;}
.marb40{margin-bottom: 40px;}
.marb50{margin-bottom: 50px;}
.marb60{margin-bottom: 60px;}
.marb70{margin-bottom: 70px;}
.marb80{margin-bottom: 80px;}
.marb90{margin-bottom: 90px;}
.marb100{margin-bottom: 100px;}

/* clearfix */
* html .clearFix {
	zoom: 1;
}
*+html .clearFix {
	zoom: 1;
}
.clearFix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}



/* =========================================
   各ページ共通 ページタイトル
========================================= */
.page-title {
  text-align: center;
  padding: 40px 0px 43px;
  background: #ffffff;
}
.page-title__text {
  display: inline-block;
  position: relative;
  margin: 0;
  padding-bottom: 20px;
  color: #333333;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.page-title__text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 7px;
  background: #e4453f;
}
.page-title2 {
  text-align: center;
  padding: 40px 0px 43px;
  background: #ffffff;
}
.page-title2 .page-title__text {
  font-size: 26px;
  letter-spacing: 0;
}

/* =========================================
   各ページ共通ボタン【中】
========================================= */
.btn-wrap {
  text-align: center;
}
.red_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 270px;
  height: 43px;
  padding: 0 20ox;
  border-radius: 100px;
  background: linear-gradient(180deg, #e94032 0%, #d93c1e 100%);
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(220, 67, 38, 0.18);
  box-sizing: border-box;
}
.red_btn::before {
  content: "▶";
  display: inline-block;
  margin-right: 9px;
  font-size: 9px;
  transform: translateY(0px);
}
/* =========================================
   ボタン【大】
========================================= */
.c-form-btn-wrap {
  padding: 24px 16px 24px;
  text-align: center;
}
.c-form-btn-wrap .red_btn {
  width: 100%;
  max-width: 80%;
  min-width: auto;
  font-size: 20px;
  font-weight: 600;
		padding: 27px 10px 27px!important;
  border-radius: 999px;
}
.c-form-btn-wrap .red_btn::before {
  margin-right: 12px;
  font-size: 12px;
}

/* =========================================
   区切り
========================================= */
.c-form-divider {
  height: 1px;
  margin: 38px 16px 36px;
  background: #b8b8b8;
}
.c-form-divider2 {
  height: 1px;
  margin: 15px 10px 15px;
  background: #b8b8b8;
}


/* ----■■　ヘッダーにmainが潜り込むのを回避　■■-------*/
main#top {
padding-top: 65px;
}


/* =========================================
   ページャー
========================================= */
.mypage-projects__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 34px 0 0;
  padding: 10px 12px;
  background: #e3e3e3;
}
.mypage-projects__pager-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 38px;
  padding: 0 12px;
  border: 1px solid #b6b6b6;
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  text-decoration: none;
  box-sizing: border-box;
}
.mypage-projects__pager-current {
  color: #222;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
}



/* -------------------------------
　　　■■■　ヘッダー　■■■
---------------------------------*/
header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 100;
	-webkit-transition: all .4s;
	transition: all .4s;
background-color: #FFF;
box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.12);
border-bottom: solid 1px #ccc;
}

header.active {
background-color: transparent!important
}
header .headbox {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
max-width: none;
width: 100%;
padding: 8px 0 3px 0;
transition: all .4s
}

menunav .headlogo {
display: block;
background-image: url(../img/common/main_rogo.png);
background-size: 170px auto;
background-repeat: no-repeat;
background-position: 10px 0px;
-webkit-transition: all .2s;
transition: all .2s;
}
header .headlogo {
background-size: 170px auto;
padding: 0 0 0 12px;
}
header .headlogo img {
width: 170px;
height: auto;
transition: all .4s
}
header .headlogo.active {
visibility: hidden;
}

/*　■■　ヘッダーアイテム　■■　*/
header .snsnav {
	margin-right: 0px;
	-webkit-box-flex: 2;
	-ms-flex-positive: 2;
	flex-grow: 2
}
header .snsnav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0 10px
}
header .snsnav ul li a {
	display: block;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	mask-position: center center;
	content: '';
	-webkit-transition: all .3s;
	transition: all .3s
}
/*　■■　ヘッダーログイン　■■　*/
header .snsnav ul li a.login{
font-size: 14px;
font-weight: 500;
line-height: 14px;
border: solid 1px #333;
padding: 8px 10px 8px 10px;
border-radius: 5px;
margin: 0 10px 0 0;
}

header .snsnav.active {
	visibility: hidden
}

/*　■■　ハンバーガーメニュー　■■　*/
header #menunav {
	margin-right: 0px;
}
header #menunav .menu-trigger, header #menunav .menu-trigger span {
	display: inline-block;
	-webkit-transition: all .4s;
	transition: all .4s;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
header #menunav .menu-trigger {
	position: relative;
	width: 54px;
	height: 54px;
	background: none;
	border: solid 1.4px #FFF;
	border-radius: 50%;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	-webkit-transition: all .3s;
	transition: all .3s
}
header #menunav .menu-trigger span {
	position: absolute;
	left: 17px;
	width: 16px;
	height: 2px;
	background-color: #333;
}
header #menunav .menu-trigger span:first-of-type {
	top: 19px
}
header #menunav .menu-trigger span:nth-of-type(2) {
	top: 25px
}
header #menunav .menu-trigger span:nth-of-type(3) {
	bottom: 18px
}
header #menunav .menu-trigger:hover span {
	background-color: #333;
}
header #menunav .menu-trigger.active {
	border-color: #8d8790;
	background-color: #8d8790
}
header #menunav .menu-trigger.active span {
	background-color: #fff
}
header #menunav .menu-trigger.active span:first-of-type {
	-webkit-transform: translateY(6px) rotate(-315deg);
	transform: translateY(6px) rotate(-315deg)
}
header #menunav .menu-trigger.active span:nth-of-type(2) {
	opacity: 0
}
header #menunav .menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-7px) rotate(315deg);
	transform: translateY(-7px) rotate(315deg)
}
/* -------------------------------
　　　■■■　ヘッダーEND　■■■
---------------------------------*/



/* -------------------------------
　　　スクロール時の挙動
---------------------------------*/
header.scrolled {
background-color: #FFF; /*ヘッダー全体の背景色*/
}
header.scrolled .headlogo {
background-size: 140px auto;
	}
header.scrolled .headlogo img {
width: 140px;
height: auto;
transition: all .4s
}
header.scrolled .headbox {
padding: 1px 0 0px 0;
}
header.scrolled .snsnav ul a {
	background-color: #FFF; /*ログインと検索の背景色*/
}
header.scrolled #menunav .menu-trigger {
	border: solid 1.8px #FFF; /*メニュー表示時の◯のボーダー色*/
}
header.scrolled #menunav .menu-trigger span {
	background-color: #333;　/*スクロール時の三の色*/
}
header.scrolled #menunav .menu-trigger.active {
	border-color: #8d8790; /*メニュー表示時◯のボーダー色*/
}
header.scrolled #menunav .menu-trigger.active span {
	background-color: #FFF; /*メニュー表示時「×」の色*/
}



/*　■■■■　グローバルナビ　■■■■　*/
#globalnav {
	visibility: hidden;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	opacity: 0;
	-webkit-transition: all .4s;
	transition: all .4s
}
#globalnav .navwrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	width: 100%;
	height: 100vh;
	margin: 0 auto 0;
	border: solid 1px #ccc
}

#globalnav .menubox {
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
	padding: 40px 0 0 20px
}
#globalnav .glovallink {
	padding: 0 75px 50px 75px;
}
#globalnav .glovallink li {
	display: block
}
#globalnav .glovallink li a:first-child {
	position: relative;
	display: block;
	padding: 12px 0 12px 30px
}
#globalnav .glovallink li a:first-child:before {
	position: absolute;
	display: block;
	content: '';
	width: 8px;
	height: 8px;
	top: 16px;
	left: 0px;
	border-top: solid 1px #8d8790;
	border-right: solid 1px #8d8790;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: all .3s;
	transition: all .3s
}
#globalnav .glovallink li a:first-child:hover {
	color: #f00
}
#globalnav .glovallink li a:first-child:hover:before {
	border-top: solid 1px #f00;
	border-right: solid 1px #f00;
	-webkit-transform: translateX(5px) rotate(45deg);
	transform: translateX(5px) rotate(45deg)
}
#globalnav .glovallink li .mapbox {
	position: relative;
	display: block;
	background-color: #8d8790;
	border-radius: 15px;
	width: 104px;
	height: 30px;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	text-align: center;
	letter-spacing: 3.2px;
	-webkit-transition: all .3s;
	transition: all .3s
}
#globalnav .glovallink li .mapbox:before {
	position: absolute;
	display: block;
	content: '';
	width: 10px;
	height: 17px;
	top: 7px;
	left: 12px;
	background-color: #fff;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 10px 17px;
	mask-size: 10px 17px;
	-webkit-transition: all .3s;
	transition: all .3s
}
#globalnav .glovallink li .mapbox:hover {
	background-color: #998daf;
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1)
}
#globalnav .glovallink li.multiline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 30px
}
#globalnav .contactbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 25px;
	gap: 30px;
	Border-top: solid 1px #ddd;
	padding-top: 25px;
}
#globalnav .contactbox a {
	position: relative;
	display: block;
	color: #8d8790;
	line-height: 1;
	padding: 4px 0 0 45px;
	-webkit-transition: all .4s;
	transition: all .4s
}
#globalnav .contactbox a:hover {
	color: #f00
}
#globalnav .contactbox a.contact {
	padding: 7px 30px 0 78px;
	text-align: center
}
#globalnav .contactbox a.contact:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '';
	width: 63px;
	height: 63px;
	border-radius: 50%;
	background-color: #8d8790;
	-webkit-transition: all .4s;
	transition: all .4s
}
#globalnav .contactbox a.contact i {
	position: absolute;
	display: block;
	width: 23px;
	height: 15px;
	background-color: #fff;
	-webkit-mask-size: 23px auto;
	mask-size: 23px auto;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	z-index: 1;
	top: 25px;
	left: 20px
}
#globalnav .contactbox a.contact span {
	font-size: 30px;
}
#globalnav .contactbox a.instagram:before, #globalnav .contactbox a.pinterest:before {
	position: absolute;
	display: block;
	width: 27px;
	height: 27px;
	-webkit-mask-size: 27px auto;
	mask-size: 27px auto;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	mask-position: center center;
	background-color: #8d8790;
	-webkit-transition: all .4s;
	transition: all .4s;
	content: '';
	top: 0;
	left: 0
}
#globalnav .contactbox a.contact:hover:before, #globalnav .contactbox a.instagram:hover:before, #globalnav .contactbox a.pinterest:hover:before {
	background-color: #998daf;
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1)
}
#globalnav.active {
	visibility: visible;
	opacity: 1
}
#globalnav .mar1 {
margin-top: 1vh;
}

@media screen and (max-width:768px) {
	#globalnav .navwrap {
		display: block;
		width: initial;
		height: initial;
		margin: 0;
		border: none
	}
	#globalnav .menubox {
		position: relative;
		width: 100%;
		height: 100vh;
		padding: 90px 37px 0 15%;
	}
	#globalnav .glovallink {
		padding: 0 10px 15px 0px;
		border-bottom: none
	}
	#globalnav .glovallink li a:first-child {
		padding: 10px 0 10px 30px
	}
	#globalnav .glovallink .mapbox {
		padding-left: 10px;
		font-size: 1rem
	}
	#globalnav .contactbox {
		display: -ms-grid;
		display: grid;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-top: 0;
		-ms-grid-columns: 1fr 30px 1fr;
		grid-template-columns: repeat(2, 1fr);
		-ms-grid-rows: 1fr 30px 1fr;
		grid-template-rows: repeat(2, 1fr);
		grid-column-gap: 30px;
		grid-row-gap: 30px
	}
	#globalnav .contactbox>:first-child {
		-ms-grid-row: 1;
		-ms-grid-column: 1
	}
	#globalnav .contactbox>:nth-child(2) {
		-ms-grid-row: 1;
		-ms-grid-column: 3
	}
	#globalnav .contactbox>:nth-child(3) {
		-ms-grid-row: 3;
		-ms-grid-column: 1
	}
	#globalnav .contactbox>:nth-child(4) {
		-ms-grid-row: 3;
		-ms-grid-column: 3
	}
	#globalnav .contactbox li.contactarea {
		-ms-grid-row: 1;
		-ms-grid-row-span: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
		grid-area: 1/1/2/3
	}
	#globalnav .contactbox li.pinterestarea {
		-ms-grid-row: 2;
		-ms-grid-row-span: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
		grid-area: 2/1/3/2
	}
	#globalnav .contactbox li.instagramarea {
		-ms-grid-row: 2;
		-ms-grid-row-span: 1;
		-ms-grid-column: 2;
		-ms-grid-column-span: 1;
		grid-area: 2/2/3/3
	}
	#globalnav .contactbox a.contact {
		margin: 0 auto;
		width: 225px
	}
}



/* -------------------------------
　　　■■■　フッター　■■■
---------------------------------*/
.site-footer {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  background: #fbf1d6;
  box-sizing: border-box;
  padding-bottom: 86px; /* 下部固定メニュー分 */
}
.site-footer__inner {
  padding: 46px 24px 34px;
  text-align: center;
}
.site-footer__logo {
  margin-bottom: 34px;
}

.site-footer__logo img {
  width: 100%;
  max-width: 180px;
  height: auto;
  display: inline-block;
  vertical-align: top;
}
.site-footer__info {
  margin-bottom: 22px;
}
.site-footer__address {
  margin: 0;
  color: #111;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 400;
}
.site-footer__tel {
  margin: 10px 0 0;
  color: #111;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.site-footer__tel span {
  font-size: 12px;
}

/* SNS行 */
.site-footer__sns {
  border-top: 1px solid #c9c9c9;
  border-bottom: 1px solid #c9c9c9;
}

.site-footer__sns-link {
  min-height: 50px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #111;
  text-decoration: none;
  box-sizing: border-box;
}
.site-footer__sns-link i {
  font-size: 34px;
  line-height: 1;
}
.site-footer__sns-link span {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
}

/* コピーライト */
.site-footer__copyright {
  padding: 18px 10px 16px;
  text-align: center;
}
.site-footer__copyright p {
  margin: 0;
  color: #111;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.08em;
}



/* =========================
   スマホ下部固定メニュー
========================= */
.sp-bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%) translateY(100%);
  width: 100%;
  max-width: 100%;
  height: 58px;
  background: #fff;
  border-top: 1px solid #d0d0d0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  z-index: 999;
  transition: transform 0.35s ease;
  box-sizing: border-box;
		box-shadow: 0px -5px 14px 0px rgba(0, 0, 0, 0.12);
}
.sp-bottom-nav.is-visible {
  transform: translateX(-50%) translateY(0);
}
.sp-bottom-nav__item {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #333;
  text-decoration: none;
  box-sizing: border-box;
  padding: 8px 0px 4px;
}
.sp-bottom-nav__item i {
  font-size: 20px;
  line-height: 1;
}

.sp-bottom-nav__item span {
  font-size: 11px;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}
/* 4つ目のトップへだけ少し調整 */
.sp-bottom-nav__item:last-child i {
  font-size: 20px;
}


/* -------------------------------
　　　■■■　／フッターEND　■■■
---------------------------------*/



/* -------------------------------
　　　■■　アイコン　■■
---------------------------------*/
:root {
	--email-icon: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226px%22%20height%3D%2216px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M26.000%2C14.372%20L21.880%2C11.017%20L17.802%2C7.733%20L20.165%2C5.847%20L25.994%2C1.224%20L25.992%2C7.684%20L26.000%2C14.372%20ZM14.888%2C8.181%20L13.446%2C9.330%20L11.965%2C8.149%20L7.647%2C4.703%20L1.799%2C0.091%20L13.446%2C0.100%20L25.079%2C0.084%20L19.244%2C4.702%20L14.888%2C8.181%20ZM3.293%2C3.141%20L6.731%2C5.858%20L9.567%2C8.112%20L5.239%2C11.188%20L0.546%2C14.536%20L0.552%2C7.860%20L0.537%2C1.166%20L3.293%2C3.141%20ZM10.767%2C9.071%20L12.523%2C10.480%20L13.447%2C11.212%20L14.367%2C10.476%20L16.085%2C9.104%20L19.205%2C11.523%20L25.049%2C15.993%20L13.408%2C15.990%20L1.768%2C16.000%20L7.608%2C11.524%20L10.767%2C9.071%20Z%22%2F%3E%3C%2Fsvg%3E');
	--map-icon: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2217px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(233%2C%20233%2C%20233)%22%20d%3D%22M4.1000%2C7.846%20C3.621%2C7.846%202.500%2C6.674%202.500%2C5.230%20C2.500%2C3.788%203.621%2C2.615%204.1000%2C2.615%20C6.383%2C2.615%207.500%2C3.788%207.500%2C5.230%20C7.500%2C6.674%206.383%2C7.846%204.1000%2C7.846%20ZM9.1000%2C5.230%20C9.1000%2C2.340%207.762%2C-0.000%204.1000%2C-0.000%20C2.237%2C-0.000%200.000%2C2.340%200.000%2C5.230%20C0.000%2C6.185%200.250%2C7.075%200.675%2C7.846%20L0.671%2C7.846%20L4.1000%2C16.1000%20L9.333%2C7.846%20L9.325%2C7.846%20C9.754%2C7.075%209.1000%2C6.185%209.1000%2C5.230%20Z%22%2F%3E%3C%2Fsvg%3E');
	--close-icon: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%20512c141.4%200%20256-114.6%20256-256S397.4%200%20256%200S0%20114.6%200%20256S114.6%20512%20256%20512zM175%20175c9.4-9.4%2024.6-9.4%2033.9%200l47%2047%2047-47c9.4-9.4%2024.6-9.4%2033.9%200s9.4%2024.6%200%2033.9l-47%2047%2047%2047c9.4%209.4%209.4%2024.6%200%2033.9s-24.6%209.4-33.9%200l-47-47-47%2047c-9.4%209.4-24.6%209.4-33.9%200s-9.4-24.6%200-33.9l47-47-47-47c-9.4-9.4-9.4-24.6%200-33.9z%22%2F%3E%3C%2Fsvg%3E');
	--morebot-icon: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E7%B9%9D%EF%BD%AC%E7%B9%A7%EF%BD%A4%E7%B9%9D%EF%BD%A4%E7%B9%9D%EF%BD%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23231815%3Bfill-rule%3Aevenodd%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22m32%2C16c0%2C8.84-7.16%2C16-16%2C16S0%2C24.84%2C0%2C16%2C7.16%2C0%2C16%2C0s16%2C7.16%2C16%2C16Zm-18.19-5.92l-1.54.54%2C5.38%2C5.38-5.38%2C5.38%2C1.54.54%2C5.92-5.92-5.92-5.92Z%22%2F%3E%3C%2Fsvg%3E')
}
#globalnav .contactbox a.contact i, footer .contactbox li.e-mail a:before, header .snsnav ul .e-mail {
	-webkit-mask-image: var(--email-icon);
	mask-image: var(--email-icon)
}
#globalnav .glovallink li .mapbox:before, footer .companybox .mapbot:before {
	-webkit-mask-image: var(--map-icon);
	mask-image: var(--map-icon)
}
.morebot:after {
	-webkit-mask-image: var(--morebot-icon);
	mask-image: var(--morebot-icon)
}



/* -------------------------------------------------------------------------------------
　　　■■■　ここから各ページの共通パーツ（ブロック）のCSS　■■■
---------------------------------------------------------------------------------------*/




/* ==================================
   プロジェクトリスト　1カラム　ここから
================================== */
.project-list {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 40px auto;
  padding: 0 0 12px;
  background: #fff;
  box-sizing: border-box;
}

.project-list-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-decoration: none;
  color: #333;
  padding: 23px 10px 20px 10px;
  background: #fff;
  border-bottom: 1px solid #ece7e2;
  box-sizing: border-box;
}

/* 左画像 */
.project-list-thumb {
  position: relative;
  flex: 0 0 44%;
  width: 44%;
  border-radius: 4px;
  overflow: hidden;
  background: #ddd;
}

.project-list-thumb::before {
  content: "";
  display: block;
  padding-top: 66%;
}

.project-list-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-list-thumb-label {
  position: absolute;
  left: 6px;
  bottom: 6px;
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0 7px;
  border-radius: 999px;
  background: rgba(128, 128, 128, 0.88);
  color: #fff;
  font-size: 9px;
  line-height: 1;
  white-space: nowrap;
}

/* 右テキスト */
.project-list-body {
  flex: 1;
  min-width: 0;
}

.project-list-title {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 700;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 金額＋進捗 */
.project-list-price-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.project-list-price {
  margin: 0;
  font-size: 17px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}

/* ■進捗グラフ■ */
.project-list-progress-wrap {
  flex: 1;
  min-width: 0;
}
.project-list-progress-bar {
  position: relative;
  width: 100%;
  height: 16px;
  background: #fff;
  border: 1.5px solid #ef6767;
  border-radius: 999px;
  overflow: hidden;
  box-sizing: border-box;
}
.project-list-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(var(--rate) * 1%);
  min-width: 30%;
  max-width: 100%;
  height: 100%;
  background: #ef6767;
  border-radius: 999px 0 0 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.project-list-progress-percent {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

/* メタ */
.project-list-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
  color: #666;
		font-weight: 400;
  font-size: 12px;
  line-height: 1;
  flex-wrap: wrap;
}
.project-list-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}


/* タグ */
.project-list-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.project-list-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  background: #d4837a;
  color: #fff;
  font-size: 10px;
  line-height: 1;
}

/* スマホ確認用 */
@media (min-width: 768px) {
  .project-list {
    max-width: 100%;
  }
}
/* =================================
   ／プロジェクトリスト　1カラム　ここまで
================================= */






/* ================================
  プロジェクトリスト　2カラム　ここから
================================ */
.project-archive {
  background: #fff;
  padding: 42px 0 46px;
}
.project-archive-inner {
  width: calc(100% - 10px);
  max-width: 100%;
  margin: 0 auto;
}
.project-card-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 18px;
  row-gap: 48px;
}

/* ========　カード本体　========= */
.project-card-item {
  min-width: 0;
}
.project-card, .project-card-link {
  display: block;
}

/* =================
   サムネール画像
===================== */
.project-card-thumb {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  background: #ddd;
}
.project-card-thumb::before {
  content: "";
  display: block;
  padding-top: 75%;
}
.project-card-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card-maincopy {
  position: absolute;
  left: 7px;
  top: 7px;
  margin: 0;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 600;
  text-shadow:
2px 2px 0 rgba(120, 120, 120, 0.95),
-2px 2px 0 rgba(120, 120, 120, 0.95),
2px -2px 0 rgba(120, 120, 120, 0.95),
-2px -2px 0 rgba(120, 120, 120, 0.95);
}
.project-card-thumb-label {
  position: absolute;
		width: 96%;
  left: 4px;
  bottom: 5px;
  display: inline-flex;
  align-items: center;
  padding: 0 7px;
  border-radius: 20px;
  background: rgba(140, 140, 140, 0.88);
		overflow: hidden;
}
.project-card-thumb-label p{
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1em;
  white-space: nowrap;
		margin: 3px 0 3px 0;
}

/* ============
   body
============== */
.project-card-body {
  padding-top: 10px;
}
.project-card-title {
  margin: 0;
  color: #1f1f1f;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 500;
display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.project-card-line {
  margin-top: 10px;
  height: 1px;
  background: #666;
}
.project-card-price-row {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
}
/* ====　金額　=== */
.project-card-price {
  margin: 0;
  color: #333;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  white-space: nowrap;
}

/* ■===　進捗グラフ　===■ */
.project-card-progress-wrap  {
  flex: 1;
  min-width: 0;
}
.project-card-progress-bar {
  position: relative;
  width: 100%;
  height: 16px;
  background: #fff;
  border: 1.5px solid #ef6767;
  border-radius: 999px;
  overflow: hidden;
  box-sizing: border-box;
}
.project-card-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(var(--rate) * 1%);
  min-width: 30%;
  max-width: 100%;
  height: 100%;
  background: #ef6767;
  border-radius: 999px 0 0 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.project-card-progress-percent {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

/* ■=====　状況　=====■ */
.project-card-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 10px;
  color: #9c9c9c;
}
.project-card-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
}
.project-card-meta-item i {
  font-size: 12px;
  color: #666;
}
.project-card-tags {
  margin-top: 7px;
}
.project-card-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  background: #d4837a;
  color: #fff;
  font-size: 10px;
  line-height: 1;
}

/* ======================
   only for larger screens
======================= */
@media (min-width: 768px) {
  .project-list-page-main {
    max-width: 768px;
    margin: 0 auto;
  }
}
/* ================================
  プロジェクトリスト　2カラム　ここまで
================================ */



/* ===================================
   プロジェクトランキング　ここから
=================================== */
.top-ranking {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 50px 0px 10px;
  background: #fffbf2;
  box-sizing: border-box;
}
.top-ranking__head {
  text-align: center;
  margin-bottom: 10px;
}

.top-ranking__title {
  margin: 0;
  line-height: 1;
}
.top-ranking__title img {
  display: inline-block;
  width: 100%;
  max-width: 186px;
  height: auto;
  vertical-align: top;
}
.top-ranking__sub {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
  color: #333;
}

.top-ranking__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* ====　■■ カード　■■ ====== */
.ranking-card__link {
  display: flex; 
  align-items: flex-start;
  gap: 14px;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.ranking-card {
margin: 0 auto;
width: 96%;
max-width: 96%;
}
.ranking-card__left {
  flex: 0 0 88px;
  width: 30%;
  padding-top: 6px;
}
.ranking-card__right {
  flex: 1;
  min-width: 0;
}

/* 左カラム */
.ranking-card__rank {
  width: 78px;
  margin: 0 auto 14px;
}
.ranking-card__rank img {
  display: block;
  width: 100%;
  height: auto;
}
.ranking-card__price {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* ■進捗グラフ■ */
.ranking-card__progress {
  position: relative;
  margin-bottom: 8px;
}
.ranking-card__progress-bar {
  position: relative;
  width: 100%;
  height: 22px;
  background: #fff;
  border: 2px solid #ea463f;
  border-radius: 999px;
  overflow: hidden;
  box-sizing: border-box;
}
.ranking-card__progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(var(--rate) * 1%);
  min-width: 30%;
  max-width: 100%;
  height: 100%;
  background: #ea463f;
  border-radius: 999px 0 0 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.ranking-card__progress-text {
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

/* ■人数と残り日数■ */
.ranking-card__meta {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 8px;
}
.ranking-card__meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #666;
		font-weight: 400;
  line-height: 1;
}
.ranking-card__meta-text {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.ranking-card__meta-icon {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  opacity: 0.7;
}


.ranking-card__tags {
  display: flex;
  flex-wrap: wrap;
}

/* カテゴリータグ */
.ranking-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 12px;
  border-radius: 999px;
  background: #d4837a;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
  margin: 5px 5px 0 0;
}

/* 右カラム */
.ranking-card__title {
  margin: 36px 0 12px 0;
  font-size: 15px;
  line-height: 1.5em;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.01em;
}

.ranking-card__image-wrap {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: #ddd;
}

.ranking-card__image-wrap::before {
  content: "";
  display: block;
  padding-top: 64%;
}

.ranking-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ranking-card__image-label {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(130, 130, 130, 0.78);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}


/* PC確認用 */
@media (min-width: 768px) {
  .top-ranking {
    max-width: 100%;
  }
}
/* ===================================
   ／プロジェクトランキングEND
=================================== */




/* =========================
   ヒーローランキングここから
========================= */
.hero-ranking {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 60px 0 34px;
  background: #faf4e8;
  box-sizing: border-box;
}
.hero-ranking__head {
  padding: 0 24px;
  text-align: center;
}
.hero-ranking__lead {
  margin: 0;
  line-height: 1;
}
.hero-ranking__title img {
  display: inline-block;
  width: 100%;
  max-width: 300px;
  height: auto;
  vertical-align: top;
}
.hero-ranking__sub {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
  color: #333;
}
.hero-ranking__lead {
 margin: 24px auto 0;
  font-size: 14px;
  line-height: 1.75;
  color: #333;
  text-align: left;
}
.hero-ranking__group {
  margin-top: 24px;
}
.hero-ranking__group--corporate {
  margin-top: 60px;
}

/* ■■　見出し帯　■■ */
.hero-ranking__bar {
  position: relative;
  height: 59px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;
		margin-bottom: 10px;
}
.hero-ranking__bar--personal {
  background: linear-gradient(180deg, #f45047 0%, #d83c1f 100%);
}
.hero-ranking__bar--corporate {
  background: linear-gradient(180deg, #96c44f 0%, #77ad39 100%);
}
.hero-ranking__bar-title {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.crown {
  position: absolute;
  top: 50%;
  width: 31px;
  height: auto;
  transform: translateY(-50%);
}
.crown_left {
  left: 56px;
}
.crown_right {
  right: 56px;
}

/* カード一覧 */
.hero-ranking__cards {
  padding: 34px 10px 0;
  display: flex;
  flex-direction: column;
  gap: 36px;
}

/* カード */
.hero-card {
  position: relative;
		overflow: visible;
		margin-top: 40px;
}
.hero-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
		overflow: visible;
}
.hero-card__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2%;
  min-height: 166px;
  padding: 34px 16px 18px 0px;
  background: #fff;
  border-radius: 17px;
  box-sizing: border-box;
		overflow: visible;
}

/* =========================
   Noバッジ全体
========================= */
.hero-card__no {
  position: absolute;
  top: -45px;
  left: 50%;
  width: 150px;
  height: 80px;
  transform: translateX(-50%);
  z-index: 3;
}
/* =========================
   白い楕円
========================= */
.hero-card__no-oval {
  position: absolute;
  top: 0;
  left: 50%;
  width: 160px;
  height: 80px;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 50%;
}
/* =========================
   No画像
========================= */
.hero-card__no img {
  position: relative;
  z-index: 2;
  display: block;
  width: 110px;
  margin: 24px auto 0 auto;
}

/* 左アイコン */
.hero-card__thumb-wrap {
  position: relative;
  flex: 0 0 152px;
  width: 152px;
  height: 152px;
}

.hero-card__thumb {
  position: absolute;
  top: 36px;
  left: 36px;
  width: 81px;
  height: 81px;
  border-radius: 50%;
  overflow: hidden;
  background: #d9d9d9;
}

.hero-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 額縁装飾 */
.hero-card__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

/* 右本文 */
.hero-card__body {
  flex: 1;
  min-width: 0;
  padding-top: 8px;
}

.hero-card__name {
  margin: 0 0 9px;
  font-size: 20px;
  line-height: 1.22;
  font-weight: 600;
  color: #333;
  letter-spacing: 0.01em;
  word-break: break-word;
}

.hero-card__amount-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 6px;
  border-top: 1px solid #de7d58;
}

.hero-card__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  padding: 0 10px;
  border-radius: 999px;
  background: #e8aa93;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}

.hero-card__amount {
  font-size: 20px;
  line-height: 1.15;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.hero-card__stars {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-top: 10px;
}

.hero-card__stars img {
  width: 31px;
  height: 31px;
  object-fit: contain;
  display: block;
}

/* 端末幅が広い時の確認用 */
@media (min-width: 768px) {
  .hero-ranking {
    max-width: 390px;
  }
}
/* =========================
   ヒーローランキングここまで
========================= */


/* =========================
   ログイン
========================= */

.ltxt01{
  color:#333333;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
		text-align: center;
		padding: 25px 0 30px;
}
.ltxt01 a{
  text-decoration: underline;
}


/* =========================
   20260529目標金額
========================= */
.goal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 0 10px;
  border-radius: 999px;
  background:#2E8EA9;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  margin: 4px 0 4px 0;
}
.goal_r {
  align-items: center;
  padding: 5px 10px;
  border-radius: 8px;
		text-align: center;
  background:#2E8EA9;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  margin: 4px 0 8px 0;
}
.goal_r div{
  font-size: 10px;
}
.goal_l {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 4px 12px 3px;
  border-radius: 999px;
  background:#2E8EA9;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  margin: 7px 0 -2px 0;
		letter-spacing: 1px;
}
.goal_l span{
  font-size: 9px;
}