/*** 共通要素 ***/

html { scroll-behavior: smooth;}

h1 { background: #F4F4F4; height: 160px; display: flex; flex-direction: column; align-items: center; font-size: 40px;　padding-inline: 20px;}
h1:before { display: block; content: ""; width: 60px; height: 35px;  background: url("../images/ribbon-orange.png"); background-position: center top; background-repeat: no-repeat; background-size: contain; margin: 0 auto 20px;}
h2 { font-size: 28px; }
h2::after { content: ""; display: block; width: 120px; height: 2px; background: #0FBDEF; margin: 20px auto 50px;}
.orange h2::after,
.no-border h2::after { background: #FF8544;}
.no-border h2::after { margin-bottom: 65px;}
.yellow h2::after { background: #EFD120;}
.green h2::after { background: #8BCE5F;}
h2.outline { color: #8BCE5F; font-size: 32px !important; /* フォントサイズを強制的に指定 */ font-weight: 600; /* 太さを指定 */ -webkit-font-smoothing: antialiased; /* Webkit系で滑らかに */ -moz-osx-font-smoothing: grayscale; /* Firefoxで視覚改善 */ text-shadow: 0.75px 0.75px 0px #000, -0.75px 0.75px 0px #000, 0.75px -0.75px 0px #000, -0.75px -0.75px 0px #000; /* 枠線を指定 */ word-break: auto-phrase;}
h2.outline:after { display: none;}

h3 { display: flex; flex-direction: column; background: transparent; font-size: 24px; position: relative; z-index: 0; align-items: flex-start; height: auto; padding: 0; margin-bottom: 25px;}
h3:before { display: none;}
h3:after { display: block; content: ""; background: #FFC0A4; height: 20px; width: 100%; position: absolute; bottom: -7px; z-index: -1;}
.yellow h3:after { background: #FCF9D2;}
.blue h3:after { background: #D2F4FC;}
h3.heading { flex-direction: inherit; gap: 0 10px; background: #F7EFAA; border-radius: 10px; padding: 8.5px 15px; margin-bottom: 30px; font-size: 20px; align-items: center;}
.blue h3.heading { background: #AAEEF9;}
.green h3.heading { background: #E2F9D2;}
h3.heading:after { display: none;}
h3.heading .if { display: flex; gap: 0 10px;}
h3.heading .badge { margin: auto 0;}
h3.heading .note { color: #C85026; font-size: 14px; font-weight: normal;}
.blue h3.heading .note { color: #00A0E8;}
.green h3.heading .note { color: #8BCE5F;}

h4 { font-size: 22px; border-bottom: 2px solid; padding: 0 0 5px; margin-bottom: 20px;}
.yellow h4 { border-bottom-color: #FFF6A4;}
.blue h4 { border-bottom-color: #D2F4FC;}

h5 { font-size: 20px; font-weight: bold; margin: 30px 0 10px;}

@media screen and (max-width: 768px) {
	h1 { font-size: min(30px, calc((22.17 / 375) * 100vw)); height: 130px;}
	h1:before { width: min(60px, calc(35 / 375) * 100vw); height: 1em; flex-shrink: 0;}
	h2.outline { font-size: 22px !important;}
	h3.heading { font-size: 18px;}	
}

@media screen and (max-width: 450px) {
	h1 { height: 100px;}
	h2 { font-size: 22px; word-break: auto-phrase;}
	h2::after { content: ""; display: block; margin: 15px auto 25px;}
	h3 { font-size: 18px; word-break: auto-phrase;}
}

@media screen and (max-width: 375px) {
	h1 { height: 90px;}
}

.half img,
img.half { display: block; margin-inline: auto; max-width: 470px; width: 100%;}

em { display: inline; text-decoration: underline; text-decoration-thickness: 0.5em; text-decoration-color: rgba(255, 232, 1, 0.5); text-underline-offset: -0.2em; text-decoration-skip-ink: none; font-weight: bold;}

.bold { font-weight: bold;}

a.text { color: #0871BF; text-decoration: underline; text-underline-offset: 5px;}

.mv-inner {
    width: 100%;
    overflow: hidden;  /* 画面外に出る画像を隠す */
}

.thumbnails-wrapper {
    display: flex;
	justify-content: center;
    align-items: center;
    margin: 20px 0;
}
.thumbnails {
    display: flex;  /* 横並びにする */
    gap: 15px;      /* 円同士の間隔を20pxに設定 */
}
.thumbnail {
    width: 12px;
    height: 12px;
    background-color: #999999;
    border-radius: 50%;
    cursor: pointer;
}
.thumbnail.active {
    background-color: #FF8544;
}

@media screen and (max-width: 768px) {
	.thumbnails-wrapper {
		margin: min(20px, calc((15 / 375) * 100vw)) 0;
	}
	.thumbnails {
		gap: min(15px, calc((10 / 375) * 100vw));
	}
	.thumbnail {
    	width: min(12px, calc((6 / 375) * 100vw));
    	height: min(12px, calc((6 / 375) * 100vw));
	}
}

.control-button {
    padding: 5px;
    background-color: #FF8544;
    color: #fff;
    border: none;
    margin-left: 10px;
    cursor: pointer;
    font-size: 18px;
    line-height: 18px;
}
#play {
    display: none;
}
.controls {
    display: flex;
    align-items: center;
    cursor: pointer; /* テキストもボタンのようにクリック可能 */
    margin-left: 20px;
}
.control-text {
    font-size: 16px;
    color: #333;
	margin-top: -2px;
}
.controls button {
    width: 28px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
	.control-button {
	    padding: min(5px, calc((2.5 / 375) * 100vw));
		margin-left: min(10px, calc((5 / 375) * 100vw));
    	font-size: min(18px, calc((9 / 375) * 100vw));
    	line-height: min(18px, calc((9 / 375) * 100vw));
	}
	.controls {
		 margin-left: min(20px, calc((10 / 375) * 100vw));
	}
	.control-text {
    	font-size: clamp(12px, calc((12 / 375) * 100vw), 16px);
	}
	.controls button {
		width: min(28px, calc((21 / 375) * 100vw));
		height: min(28px, calc((21 / 375) * 100vw));
	}
}

/* アイコンのスタイル */
#play::before {
    content: '▶'; /* 右向き矢印 */
	margin-left: 2px;
}
#pause::before {
    content: "";
	background: url("../images/top/slide-stop.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 11px;
	height: 18px;
}

@media screen and (max-width: 768px) {
	#play::before {
		margin-left: min(1px, calc((1 / 375) * 100vw));
	}
	#pause::before {
		width: min(11px, calc((8 / 375) * 100vw));
		height: min(18px, calc((14 / 375) * 100vw));
	}
}

.project-post-list { display: flex; flex-wrap: wrap; gap: 35px 50px; padding-bottom: 150px;}
.home .project-post-list {  padding-bottom: 30px;}

@media screen and (max-width: 1280px) {
	.project-post-list { gap: 25px 15px;}
}

@media screen and (max-width: 768px) {
	.home .project-post-list { padding-bottom: 0;}
}

.post-box { width: calc((100% - 100px) / 3); border-radius: 17.5px; background: #fff; position: relative;}
.post-box a { display: block; height: 100%; color: inherit; text-decoration: none;}
.post-box a:hover { text-decoration: none;}
.post-box a .post-photo { height: 230px; position: relative; border-top-right-radius: 17.5px; border-top-left-radius: 17.5px; overflow: hidden;}
.post-box a .post-photo img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.post-box a:hover .post-photo img { transform: translate(-50%, -50%) scale(1.2); transition: 0.5s;}
.post-box a .post-photo span { position: absolute; top: 15px; left: 0; background: #333; color: #fff; font-size: 14px; font-weight: bold; line-height: 1; padding: 7.5px 20px 8.5px 15px; border-top-right-radius: 16px; border-bottom-right-radius: 16px;}
.post-box a .post-text { padding: 15px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto auto auto auto; gap: 0 2em;}
.post-box a .post-text p { font-size: 14px; display: flex; align-items: center;}
.post-box a .post-text p.name { grid-column: 1/3; grid-row: 1/2; font-size: 20px; font-weight: bold; line-height: 1.2; margin-bottom: 10px;}
.post-box a .post-text p.category { grid-column: 1/3; grid-row: 2/3; line-height: 1; display: flex; flex-wrap: wrap; margin-bottom: 10px;}
.post-box a .post-text p.category span { background: #EFD120; font-size: 12px; display: inline-block; padding: 5.5px 15px 6.5px; border-radius: 12px; margin-right: 10px;}
.post-box a .post-text p.detail { grid-column: 1/3; grid-row: 3/4; line-height: 18px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;}
.post-box a .post-text p.period { grid-column: 1/3; grid-row: 4/5; padding-left: 7.5px; margin-bottom: 10px;}
.post-box a .post-text p.period:before { content: ""; display: inline; width: 18px; height: 20px; background: url("../images/post-box_period.png"); background-size: contain; background-repeat: no-repeat; margin-right: 7.5px; flex-shrink: 0;}
.post-box a .post-text p.city { grid-column: 1/2; grid-row: 5/6; padding-left: 9.5px; margin-bottom: 10px;}
.post-box a .post-text p.city:before { content: ""; display: inline; width: 14px; height: 20px; background: url("../images/post-box_city.png"); background-size: contain; background-repeat: no-repeat; margin-right: 9.5px; flex-shrink: 0;}
.post-box a .post-text p.participation_fee { grid-column: 2/3; grid-row: 5/6; padding-left: 7.5px; margin-bottom: 10px; white-space: nowrap;}
.post-box a .post-text p.participation_fee:before { content: ""; display: inline; width: 18px; height: 18px; background: url("../images/post-box_participation-fee.png"); background-size: contain; background-repeat: no-repeat; margin-right: 7.5px; flex-shrink: 0;}
.post-box a .post-text p.group-name { grid-column: 1/3; grid-row: 6/7; padding-left: 7.5px; font-weight: bold;}
.post-box a .post-text p.group-name:before { font-size: 13px; font-weight: normal; content: "団体"; border: 1px solid #333; display: inline-flex; width: 36px; height: 22px; margin-right: 7.5px; justify-content: center; align-items: center; line-height: 1; padding: 0 0 1px 1px; flex-shrink: 0;}
.post-box a .post-text p:last-of-type { margin-bottom: 0;}

@media screen and (max-width: 1280px) {
	.post-box { width: calc((100% - 15px) / 2);}
	.post-box a .post-photo { height: calc((95 / 375) * 100vw); border-radius: 0;}
	.post-box a .post-photo span { font-size: min(14px, calc((7 / 375) * 100vw)); padding: min(7.5px, calc((4 / 375) * 100vw)) min(20px, calc((11 / 375) * 100vw)) min(8.5px, calc((4 / 375) * 100vw)) min(15px, calc((7 / 375) * 100vw)); top: min(15px, calc((5 / 375) * 100vw));}
	.post-box a .post-text { padding: min(15px, calc((5 / 375) * 100vw)); gap: 0 0.5em;}
	.post-box a .post-text p { font-size: min(14px, calc((9 / 375) * 100vw));}
	.post-box a .post-text p.name { font-size: min(20px, calc((12 / 375) * 100vw));}
	.post-box a .post-text p.category { gap:min(10px, calc((5 / 375) * 100vw)); margin-bottom: min(10px, calc((2.5 / 375) * 100vw));}
	.post-box a .post-text p.category span { font-size: clamp(8px, calc((6 / 375) * 100vw), 12px);; padding: min(5.5px, calc((3.5 / 375) * 100vw)) min(15px, calc((7 / 375) * 100vw)) min(6.5px, calc((4 / 375) * 100vw)); margin-right: 0;}
	.post-box a .post-text p.period { padding-left: min(7.5px, calc((5 / 375) * 100vw)); margin-bottom: 0;}
	.post-box a .post-text p.period:before { width: min(18px, calc((8 / 375) * 100vw)); height: 1em; margin-right: min(7.5px, calc((5 / 375) * 100vw));}
	.post-box a .post-text p.city { padding-left: min(7.5px, calc((5 / 375) * 100vw)); margin-bottom: 2px;}
	.post-box a .post-text p.city:before { width: min(14px, calc((6 / 375) * 100vw)); height: 1em; margin-right: min(7.5px, calc((5 / 375) * 100vw));}
	.post-box a .post-text p.participation_fee { padding-left: min(7.5px, calc((5 / 375) * 100vw)); margin-bottom: 2px;}
	.post-box a .post-text p.participation_fee:before { width: min(18px, calc((8 / 375) * 100vw)); height: 1em; margin-right: min(7.5px, calc((5 / 375) * 100vw));}
	.post-box a .post-text p.group-name { padding-left: min(7.5px, calc((2.5 / 375) * 100vw)); font-size: min(14px, calc((9 / 375)* 100vw)); align-items: first baseline;}
	.post-box a .post-text p.group-name:before { font-size: clamp(9px, calc((6 / 375) * 100vw), 13px); width: auto; height: auto; padding: min(3.5px, calc((2 / 375)* 100vw)) min(4px, calc((2 / 375)* 100vw)); flex-shrink: 0;}
	.post-box a .post-text p.detail { line-height: normal;}
}

.new:after { display: block; content: ""; background: url("../images/new.png"); background-repeat: no-repeat; background-size: contain; height: 53px; width: 69px; position: absolute; top: -5px; right: -10px;}

.button { padding-bottom: 70px; margin-top: 40px;}
.button a { display: block; width: 100%; max-width: 375px; margin: 0 auto; text-align: center; font-size: 20px; font-weight: bold; background: #EFD120; line-height: 1; padding: 8.5px 0 9.5px; border: 1px solid #EFD120; border-radius: 20px; position: relative;}
.no-border .button a,
.orange .button a,
.button.orange  a { background: #FF8544; border-color: #FF8544;}
.blue .button a { background: #0FBDEF; border-color: #0FBDEF;}
.green .button a { background: #8BCE5F; border-color: #8BCE5F;}
.news-list .button a { background: #FF8544; border: 1px solid #FF8544; }
.button a:after { display: block; content: ""; height: 18px; width: 12px; background: url("../images/button_arrow.png"); background-size: contain; background-repeat: no-repeat; position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}
.button a:hover { text-decoration: none; background: #fff; color: #EFD120;}
.no-border .button a:hover,
.orange .button a:hover,
.button.orange a:hover { color: #FF8544;}
.blue .button a:hover { color: #0FBDEF;}
.green .button a:hover { color: #8BCE5F;}
.news-list .button a:hover { color: #FF8544;}
.button a:hover:after { display: block; content: ""; height: 18px; width: 12px; background: url("../images/button_arrow_yellow.png"); background-size: contain; background-repeat: no-repeat; position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}
.news-list .button a:hover:after,
.no-border .button a:hover:after,
.orange .button a:hover:after,
.button.orange a:hover:after { display: block; content: ""; height: 18px; width: 12px; background: url("../images/button_arrow_l-orange.png"); background-size: contain; background-repeat: no-repeat; position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}
.blue .button a:hover:after { display: block; content: ""; height: 18px; width: 12px; background: url("../images/button_arrow_blue.png"); background-size: contain; background-repeat: no-repeat; position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}
.green .button a:hover:after { display: block; content: ""; height: 18px; width: 12px; background: url("../images/button_arrow_green.png"); background-size: contain; background-repeat: no-repeat; position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}

@media screen and (max-width: 1280px) {
	.new:after { width: min(69px, calc((40 / 375) * 100vw));}
}
@media screen and (max-width: 450px) {
	.button a { font-size: 14px;}
}

.news-list { width: 100%; max-width: 1280px; margin: 0 auto; padding: 50px 20px 170px;}
.news-list dl a { display: block; border-top: 1px solid #ccc; padding: 15px 15px 13px;}
.news-list dl a:hover { background: #FFF; text-decoration: none;}
.news-list dl a:last-of-type { border-bottom: 1px solid #ccc;}
.news-list dl a dt { display: flex; align-items: center;}
.news-list dl a dt div { line-height: 26px;}
.news-list dl a dt .date { color: #666; font-weight: normal; margin-right: 20px;}
.news-list dl a dt .news-category { font-size: 13px; margin-top: 3px;}
.news-list dl a dt .news-category span { background: #ccc; border-radius: 13px; padding: 3px 15px 4px; margin-right: 5px; margin-bottom: 5px; display: inline-block; line-height: 19px;}
.news-list dl a dd { margin-top: 0px; font-size: 18px;}

@media screen and (max-width: 768px) {
	.news-list dl a dt .date { font-size: 12px; margin-right: 10px; }
	.news-list dl a dt .news-category { font-size: 9px;}
	.news-list dl a dt .news-category span { padding: 1px 5px 1px;}
	.news-list dl a dd { font-size: 14px;}
}

.navigation { margin: -85px auto 90px; padding-bottom: 80px;}
.navigation .nav-links { width: 100%; max-width: 1280px; padding: 0 20px; margin: 0 auto; display: flex; justify-content: center; position: relative;}
.navigation .nav-links .prev.page-numbers { font-size: 16px; position: absolute; left: 0; margin-left: 0;}
.navigation .nav-links .prev.page-numbers i { margin-right: 0.25em;}
.navigation .nav-links .page-numbers { margin-inline: 15px; line-height: 39px; text-align: center; font-size: 18px;}
.navigation .nav-links .page-numbers.current { background: #333; color: #fff; width: 40px; height: 40px; border-radius: 20px; margin-right: 15px;}
.navigation .nav-links .next.page-numbers { font-size: 16px; position: absolute; right: 0; margin-right: 0;}
.navigation .nav-links .next.page-numbers i { margin-left: 0.25em;}

@media screen and (max-width: 568px) {
	.navigation .nav-links { flex-wrap: wrap; position: relative; padding: 0;}
	.navigation .nav-links .page-numbers { margin-inline: 7.5px;}
	.navigation .nav-links .prev.page-numbers,
	.navigation .nav-links .next.page-numbers { position: static; font-size: 14px;}
	.navigation .nav-links .page-numbers.current { margin-right: 7.5px;}
	.navigation .nav-links .prev.page-numbers { margin-right: auto;}
	.navigation .nav-links .next.page-numbers { margin-left: auto;}
}

.center-button { padding-bottom: 50px;}
.center-button a { display: block; width: 350px; margin: 0 auto; text-align: center; font-size: 22px; font-weight: bold; background: #EFD120; line-height: 1; padding: 19px 0; border: 1px solid transparent; border-radius: 30px; position: relative;}
.center-button a:after { display: block; content: ""; height: 12px; width: 20px; background: url("../images/button_arrow_under.png"); background-size: contain; background-repeat: no-repeat; background-position: center left; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); margin-top: 3px;}
.center-button a:hover { text-decoration: none; background: #fff; border: 1px solid #EFD120; color: #EFD120;}
.center-button a:hover:after { background: url("../images/button_arrow_under_yellow.png"); background-size: contain; background-repeat: no-repeat; background-position: center left;}

@media screen and (max-width: 450px) {
	.center-button a { width: 230px; font-size: 18px; padding: 12px 0;}
}

.post { display: grid; grid-template-columns: auto auto 1fr; grid-template-rows: auto auto auto; width: 100%; max-width: 1000px; padding: 40px 0px 0; margin: 0 auto;}
.post .news-category { grid-column: 1/3; grid-row: 1/2; font-size: 18px; font-weight: bold; display: flex; flex-wrap: wrap; gap: 10px 20px;}
.post .news-category span { padding: 9px 22px; border-radius: 20px; line-height: 1; flex-shrink: 0;}
.post .project-type { grid-column: 1/2; grid-row: 1/2; background: #EFD120; font-size: 18px; font-weight: bold; padding: 2px 28px; border-radius: 20px; height: fit-content; margin: auto 20px auto 0;}
.post .project-city { grid-column: 2/3; grid-row: 1/2; display: flex; flex-wrap: wrap; align-content: center; font-size: 18px; font-weight: bold; margin-right: 20px;}
.post .project-city:before { display: inline-flex; content: ""; width: 23px; height: 34px; background: url("../images/post-box_city.png"); background-size: contain; background-position: center; background-repeat: no-repeat; margin-right: 10px; flex-shrink: 0;}
.post .post-share { grid-column: 3/4; grid-row: 1/2; display: flex; flex-wrap: wrap; align-content: center; justify-content: flex-end; font-size: 14px; margin-right: 15px; min-width: max-content;}
.post .post-meta { grid-column: 1/4; grid-row: 2/3; border-top: 2px solid #EFD120; border-bottom: 2px solid #EFD120; margin: 25px 0; padding: 20px 0; display: flex; flex-wrap: wrap; gap: 20px 30px;}
.post .post-meta h2 { width: 100%; font-size: 30px; text-align: left; margin-bottom: 20px;}
.post .post-meta h2:after { display: none;}
.post .post-meta p { margin: 0; font-size: 18px; font-weight: bold;}
.post .post-meta .post-date { color: #FF8544; font-weight: normal;}
.post .post-meta p span { color: #C85026; margin-right: 1em;}
.post .post-contents { grid-column: 1/4; grid-row: 3/4;}
.post .post-meta .recruiting-period { display: flex; align-items: center;}
.post .post-meta .recruiting-period:before { content: ""; width: 20px; height: 23px; background: url("../images/post-box_period.png"); background-size: contain; background-repeat: no-repeat; margin-right: 10px;}

@media screen and (max-width: 768px) {
	.post { grid-template-columns: auto 1fr; grid-template-rows: auto auto auto auto; padding-top: 0;}
	.post .project-type,
	.post .news-category { grid-column: 1 / 2; grid-row: 2 / 3;}
	.post .project-city { grid-column: 2 / 3; grid-row: 2 / 3; margin-right: 0px;}
	.post .post-share { grid-column: 1 / 3; grid-row: 1 / 2; margin-bottom: 10px;}
	.post .post-meta { grid-column: 1 / 3; grid-row: 3 / 4; gap: 0;}
	.post .post-contents { grid-column: 1 / 3; grid-row: 4 / 5;}
	.post .post-meta h2 { margin-bottom: 20px;}
	.post .post-meta p.project-period { margin-left: 30px;}
}

@media screen and (max-width: 568px) {
	.post .project-type,
	.post .news-category span { font-size: clamp(11px, calc((11 / 475) * 100vw), 18px); padding-inline: 14px;}
	.post .project-city { font-size: clamp(11px, calc((11 / 475) * 100vw), 18px);}
	.post .project-city:before { height: clamp(18px, calc((18 / 475) * 100vw), 24px);}
	.post .post-meta h2 { font-size: 20px;}
	.post .post-meta p { font-size: 14px;}
	.post .post-meta .recruiting-period:before { height: 18px; margin-right: 5px;}
	.post .post-meta p span { margin-right: 0.5em;}
	.post .post-meta p.project-period { margin-left: 25px;}
}

@media screen and (max-width: 375px) {
	.post { grid-template-rows: auto auto auto auto auto auto;}
	.post .project-type { word-break: keep-all; margin-bottom: 15px;}
	.post .project-city { grid-row: 3 / 4; grid-column: 1 / 3;}
	.post .post-meta { grid-row: 4 / 5; margin: 15px 0 20px;;}
	.post .post-contents { grid-row: 5 / 6;}
}



.post-contents p { line-height: 30px; margin-bottom: 30px;}
.post-contents p img,
.post-contents figure img { max-width: min(800px, 100%);}
.post-contents h1 + p img,
.post-contents h1 + figure img { margin-top: 35px;}
.post-contents p a { color: #0871BF; border-bottom: 1px solid #0871BF;}
.post-contents figure { margin: 60px auto; width: fit-content;}
.post-contents figure.alignleft { margin: 0 25px 0px 0;}
.post-contents figure.alignright { margin: 0 0px 0 25px;}
.post-contents figure.center { margin-inline: auto;}
.post-contents figure figcaption { color: #999; background: transparent;}

@media screen and (max-width: 768px) {
	.post-contents figure.alignleft { margin: 0 auto;}
}

.post-contents h1 { background: transparent; font-size: 24px; position: relative; z-index: 0; align-items: flex-start; height: auto; padding: 0;}
.post-contents h1:before { display: none;}
.post-contents h1:after { display: block; content: ""; background: #FFC0A4; height: 20px; width: 100%; margin-top: 20px; position: absolute; z-index: -1;}
.post-contents h2 { display: flex; flex-direction: column; background: transparent; font-size: 24px; position: relative; z-index: 0; align-items: flex-start; height: auto; padding: 0; margin-bottom: 25px;}
.post-contents h2:before { display: none;}
.post-contents h2:after { display: block; content: ""; background: #FFC0A4; height: 20px; width: 100%; margin-bottom: 0; position: absolute; bottom: -7px; z-index: -1;}

.post-contents h4 { font-size: 22px; border-bottom: 2px solid #FFC0A4; padding: 0 0 5px; margin-bottom: 20px;}
.post-contents h5 { font-size: 20px; margin-bottom: 20px;}
.post-contents h6 { font-size: 18px; margin-bottom: 10px;}
.post-contents ul li { list-style: none;}
.post-contents ul li:before { display: inline-block; content: ""; width: 10px; height: 10px; border-radius: 50%; background: #000; margin: 0 0.5em 1px 0;}
.post-contents ul li ul li { margin-left: 1.25em;}
.post-contents dl { margin-bottom: 35px;}
.post-contents dl dt { font-weight: bold;}
.post-contents img { max-width: min(800px, 100%);}

.inner-block { position: relative;}
.inner-block .title-illust { position: absolute; height: 144px; width: 170px; top: -165px; right: -100px; z-index: 1;}

@media screen and (max-width: 1515px) {
	.inner-block .title-illust { right: 20px;}
}
@media screen and (max-width: 768px) {
	.inner-block .title-illust { width: 100px; height: auto; top: -135px; right: 15px;}
}
@media screen and (max-width: 450px) {
	.inner-block .title-illust { width: 80px; top: -105px; right: 10px;}
}

.steps { margin: 60px 0 0 0;}
.steps li { position: relative; background: #E2F9D2; border-radius: 10px; padding: 7.5px 20px 10px 20px; margin-bottom: 45px;}
.orange .steps li { background: #FFEFE9;}
.yellow .steps li,
.blue .steps li { background: #F4f4f4;}
.steps li picture { display: block; margin: 25px auto 15px;}

@media screen and (max-width: 450px) {
	.steps li picture { margin-top: 15px;}
}

.step-icon { position: absolute; background: #8BCE5F; display: flex; flex-direction: column; color: #fff; justify-content: center; align-items: center; width: 70px; height: 70px; border-radius: 50%; top: -15px; left: -20px;}
.orange li .step-icon { background: #FF8544;}
.yellow li .step-icon { background: #EFD120; color: #000;}
.blue li .step-icon { background: #0FBDEF; color: #000;}

.step-icon * { line-height: 1; font-weight: bold;}
.step-icon small { font-size: 16px; margin-bottom: 3px;}
.step-icon strong { font-size: 30px;}

@media screen and (max-width: 568px) {
	.step-icon { top: -35px; left: 50%; transform: translateX(-50%);}
}

.notice { display: flex; width: 100%;}
.notice:before { content: "※"; margin-right: 0.5em;}
.notice p a { color: #0871BF; text-decoration: underline; text-underline-offset: 5px;}

.inner-block.border-box { max-width: 1000px !important; border: 2px solid #FF8544; border-radius: 40px; padding: 40px 30px 45px;}
.inner-block.border-box.yellow { border-color: #EFD120;}
.inner-block.border-box.blue { border-color: #0FBDEF;}
.inner-block.border-box.green { border-color: #8BCE5F;}
.inner-block.border-box.no-border { border-color: transparent;}
.inner-block.border-box h3 { margin-bottom: 60px;}
.inner-block.border-box h3 + p { margin-bottom: 30px;}
.inner-block.border-box h3 + p:last-of-type { margin-bottom: 0;}
.inner-block.border-box h4 { margin-top: 45px;}
.inner-block.border-box .step-icon + div h4,
.inner-block.border-box .step-icon + p { padding: 0 0 0 45px; font-weight: bold; font-size: 16px; line-height: 1.8;}
.inner-block.border-box .step-icon + p + .notice { padding: 0 0 0 45px; font-weight: normal; font-size: 16px; line-height: 1.8;}

@media screen and (max-width: 768px) {
	.inner-block.border-box .step-icon + div h4,
	.inner-block.border-box .step-icon + p,
	.inner-block.border-box .step-icon + p + .notice { font-size: 14px;}
}

@media screen and (max-width: 568px) {
	.inner-block.border-box .step-icon + div h4,
	.inner-block.border-box .step-icon + p { margin-top: 55px; margin-bottom: 10px; padding-left: 0px;}
	.inner-block.border-box .step-icon + p + .notice { margin-top: 1em; margin-bottom: 10px; padding-left: 0px;}
}

.inner-block.border-box ul li { list-style: none; font-size: 18px; font-weight: bold; color: #333; line-height: 34px; flex-wrap: wrap; padding-left: 24px;}
.inner-block.border-box ol li { font-size: 18px; font-weight: bold; color: #333; line-height: 34px; margin-bottom: 15px;}
.inner-block.border-box ol.steps { margin-bottom: 50px;}
.inner-block.border-box ol.steps:last-of-type { margin-bottom: 0px;}
.inner-block.border-box ol.steps li { list-style: none; margin-bottom: 50px;}
.inner-block.border-box ol.steps li:last-child { margin-bottom: 0px;}
.inner-block.border-box ol.steps li.large-font { padding: 1.5px 20px 4px 20px;}
.inner-block.border-box ol.steps li .contact-info { padding-left: 45px; font-size: 16px; line-height: 26px;}
.inner-block.border-box ol.steps li h5.contact-info { font-size: 20px; line-height: 30px; margin-bottom: 0;}
.inner-block.border-box ol.steps li p.contact-info { font-weight: normal;}
.inner-block.border-box ol.steps li.large-font p { font-size: 125% !important;}
.inner-block.border-box ul li:before { content: ""; display: block; width: 10px; height: 10px; background: #333; border-radius: 50%; margin: 13px 10px auto -20px; position: absolute;}

@media screen and (max-width: 768px) {
	.inner-block.border-box { padding: 20px;}
	.inner-block.border-box ol li,
	.inner-block.border-box ul li { font-size: 14px; line-height: 30px;}
	.inner-block.border-box ul li:before { margin-top: 11px}
	.inner-block.border-box ol li br { display: none;}
}

@media screen and (max-width: 568px) {
	.inner-block.border-box ol.steps { padding: 0;}
}

.inner-block.border-box .button { padding-bottom: 70px;}
.inner-block.border-box .button a { max-width: 420px; padding: 13.5px 0 16.5px; border-radius: 25px; font-size: 22px;}

@media screen and (max-width: 568px) {
    .inner-block.border-box .button a { padding: 13.5px 0 14.5px; font-size: 16px; line-height: 1.4; word-break: keep-all; overflow-wrap: anywhere; padding-inline: 35px;}
    .inner-block.border-box ol.steps li .contact-info { padding-left: 0; font-size: 14px; line-height: 26px;}
    .inner-block.border-box h5.contact-info { font-size: 18px!important;}
    .inner-block.border-box p.contact-info { padding-bottom: 10px;}

}

@media screen and (max-width: 450px) {
    .inner-block.border-box .button a { padding-left: 20px;}
}

.links ul { max-width: 1000px !important; display: flex; gap: 25px; flex-wrap: wrap; margin: 50px auto 0; padding: 10px 0 55px;}
.links ul li { list-style: none; width: calc((100% - 50px) / 3); overflow: hidden;}
.links ul li a { height: 80px; text-align: center; font-size: 20px; font-weight: bold; line-height: 1.2; display: flex; align-items: center; justify-content: center; position: relative; padding-right: 0.5em; border: 2px solid; background: #ccc;  border-radius: 20px; color: #333; text-decoration: none;}
.links .yellow a { background: #EFD120; border-color: #EFD120;}
.links .blue a { background: #0FBDEF; border-color: #0FBDEF;}
.links .green a { background: #8BCE5F; border-color: #8BCE5F;}
.links ul li a:hover { background: #fff;}
.links .yellow a:hover { color: #EFD120;}
.links .blue a:hover { color: #0FBDEF;}
.links .green a:hover { color: #8BCE5F;}
.links ul li a:after { content: ""; display: block; background: url(../images/button_arrow.png); height: 18px; width: 22px; background-repeat: no-repeat; background-size: contain; background-position: center right; position: absolute; top: 45%; right: 15px; transform: translateY(-50%) rotate(90deg);}
.links .yellow a:hover:after { background: url("../images/button_arrow_yellow.png"); height: 18px; width: 22px; background-repeat: no-repeat; background-size: contain; background-position: center right;}
.links .blue a:hover:after { background: url("../images/button_arrow_blue.png"); height: 18px; width: 22px; background-repeat: no-repeat; background-size: contain; background-position: center right;}
.links .green a:hover:after { background: url("../images/button_arrow_green.png"); height: 18px; width: 22px; background-repeat: no-repeat; background-size: contain; background-position: center right;}

@media screen and (max-width: 980px) {
	.links ul { margin: 30px auto 0; padding: 10px 0 25px;}
	.links ul li a { font-size: 14px; height: 40px;}
	.links ul li a:after { height: 16px; width: 20px; top: 38%;}
}

@media screen and (max-width: 845px) {
	.links ul { justify-content: center; gap: 15px;}
	.links ul li { width: 100%; max-width: 500px;}
	.links ul li br { display: none;}
}

@media screen and (max-width: 375px) {
	.links ul li br { display: block;}
}

.confirm-dialog .vm--modal,
.complete .vm--modal { background: #FCF9D2; border: 1px solid #000; border-radius: 0; padding: 30px 65px; height: auto !important; width: calc(100% - 40px) !important; max-width: 630px; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%);}
.confirm-dialog .vm--modal .title,
.complete .vm--modal .title { font-size: 22px; font-weight: bold; text-align: center; margin-bottom: 20px; word-break: auto-phrase;}
.confirm-dialog .vm--modal .message,
.complete .vm--modal .message { margin-bottom: 25px;}

.dialog-container .buttons { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap;}
.dialog-container .buttons .submit { font-size: 15px; line-height: 1; font-weight: bold; width: 160px; padding: 10px 0px 11px; border: 2px solid #fff; border-radius: 30px; background: #C85026; opacity: 1; display: inline-block; cursor: pointer; color: #FFF; text-align: center;}
.dialog-container .buttons .back { font-size: 15px; line-height: 1; font-weight: bold; width: 80px; padding: 8px 0px 9px; border: none; border-radius: 30px; background: #555555; opacity: 1; display: inline-block; cursor: pointer; color: #FFF; text-align: center;}

@media screen and (max-width: 450px) {
	.confirm-dialog .vm--modal,
	.complete .vm--modal { padding-inline: 20px;}
	.confirm-dialog .vm--modal .title,
	.complete .vm--modal .title { font-size: 20px;}
}

.form-container,
.form .container,
.project-entry-request .container,
.group-entry-request .container,
.company-entry-request .container { width: 100%; max-width: 1000px; margin: 0 auto; border: 2px solid #ccc; border-radius: 40px; padding: 30px 30px 55px;}
.form-container { max-width: 1040px; border: none; padding: 0 20px;}
.yellow.form .container { border-color: #EFD120;}
.blue.form .container,
.blue.project-entry-request .container,
.blue.group-entry-request .container { border-color: #00A0E8;}
.green.form .container,
.green.company-entry-request .container { border-color: #8BCE5F;}

.form-container .form-row { display: flex; flex-wrap: wrap; font-weight: bold; margin-bottom: 35px;}
.form-container .form-row .label { width: 240px; padding: 7px 0px; display: flex; justify-content: space-between; margin-right: 25px;}
.form-container .form-row .input { width: calc(100% - 265px); display: flex; flex-wrap: wrap; align-items: center; padding-top: 1px; font-size: 20px;}
.form-container .form-row .age,
.form-container .form-row .inquiry-type { width: calc(100% - 265px); padding: 7px 0; gap: 20px; margin-top: 0;}
.form-container .form-row .age { justify-content: flex-start;}
.form-container .form-row .input input,
.form-container .form-row .input textarea { border: 2px solid #CCCCCC; border-radius: 10px; font-size: 16px;}
.form-container .form-row .input input { max-width: 550px;}
.form-container .form-row .input textarea { max-width: 660px;}
.form-container .form-row .input input::placeholder,
.form-container .form-row .input textarea::placeholder { color: #999;}
.form-container .form-row .input input.error { background: #FFE9FD;}

.form-container .form-row.radio .input { gap: 20px;}
.form-container .form-row .input input[type="radio"] { display: none;}
.form-container .form-row .input input[type="radio"] + label { font-size: 16px; line-height: 22px; display: flex; align-items: center; position: relative; left: 2em; margin-right: 2em;}
.form-container .form-row .input input[type="radio"] + label:before { content: ""; display: block; height: 22px; width: 22px; background: #fff; border: 1px solid #999; border-radius: 50%; margin: 0px 10px 0 -2em; padding flex-shrink: 0; position: absolute; top: 50%; transform: translateY(-50%);}
.form-container .form-row .input input[type="radio"]:checked + label:before { border: 1px solid #C85026;}
.form-container .form-row .input input[type="radio"]:checked + label:after { content: ""; display: block; height: 14px; width: 14px; background: #C85026; border-radius: 50%; position: absolute; top: 50%; transform: translateY(-50%); left: 4px; margin-left: -2em;}

.form-container .form-row .input span { display: block; width: 100%; font-size: 14px; font-weight: normal;}
.form-container .form-row .input .caution { color: #999;}
.form-container .form-row .input .caution a { color: #0871BF; text-decoration: underline; text-underline-offset: 5px;}
.form-container .form-row .input .error { color: #FF0000;}
.form-container .form-row .input .date-range { display: flex; gap: 5px; align-items: center;}

.form-container .form-row .age div { min-width: 100px;}
.form-container .form-row .inquiry-type div { min-width: 100%;}

@media screen and (max-width: 768px) {
	.form .container { padding-inline: 20px;}
	.form-container .form-row { flex-direction: column;}
	.form-container .form-row .label { justify-content: flex-start; gap: 15px; margin: 0;}
	.form-container .form-row .label .badge { margin-top:  2.5px;}
	.form-container .form-row .input,
	.form-container .form-row .age,
	.form-container .form-row .inquiry-type { width: 100%;}
	.form-container .form-row .age div { min-width: 60px;}
	.form-container .form-row .label .label-text br { display: none;}
}

@media screen and (max-width: 568px) {
	.form-container { padding: 0;}
	.form-container .form-row .input .date-range { flex-wrap: wrap; justify-content: center; writing-mode: vertical-lr;}
	.form-container .form-row .input .date-range input { writing-mode: lr; width: auto; max-width: 179px;}
}

@media screen and (max-width: 450px) {
	.form-container .form-row .inquiry-type div { min-width: auto;}
}

.form-container .checkbox-area { padding-inline: 0;}

.form-container .attention li { list-style: none;}

.form-control { display: flex; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap;}
.form-control .submit-button button { font-size: 22px; font-weight: bold; width: 360px; padding: 17px 0px; border: 2px solid #fff; border-radius: 30px; background: #C85026; opacity: 1;}
.blue .form-control .submit-button button { background: #00A0E8;}
.green .form-control .submit-button button { background: #8BCE5F;}
.form-control .submit-button button.disable { opacity: 0.3; pointer-events: none;}
.form-control .reset-button button { font-size: 16px; font-weight: bold; width: 110px; border-radius: 19px; background: #555; padding: 11px 0;}

@media screen and (max-width: 450px) {
	.form-control .submit-button button { width: 230px;}
}

.badge { font-size: 12px; font-weight: normal; width: 40px; height: 20px; color: #fff; display: flex; align-items: center; justify-content: center; border-radius: 6px; background: #C85026; padding-bottom: 2px; margin-top: 5px; flex-shrink: 0;}
.blue .badge { background: #00A0E8;}
.green .badge { background: #8BCE5F;}

.checkbox-area { display: flex; flex-wrap: wrap; margin-top: 20px; padding: 0px 25px 35px; justify-content: flex-start; gap: 15px;}
.checkbox-area div { display: flex; min-width: 165px; font-weight: bold;}
.checkbox-area div input { display: none;}
.checkbox-area div label { display: flex; align-items: center; position: relative;}
.checkbox-area div label:before { content: ""; display: block; height: 24px; width: 24px; border: 1px solid #999; border-radius: 5px; margin-right: 10px; flex-shrink: 0; background: #fff;}
.checkbox-area div input:checked ~ label:before { border: 1px solid #EFD120; background: #EFD120; position: relative;}
.green .checkbox-area div input:checked ~ label:before { border-color: #8BCE5F; background: #8BCE5F;}
.orange .checkbox-area div input:checked ~ label:before { border-color: #FF8544; background: #FF8544;}
.blue .checkbox-area div input:checked ~ label:before { border-color: #0FBDEF; background: #0FBDEF;}

.checkbox-area div input:checked ~ label:after { content: ""; display: block; width: 19px; height: 14px; background: url("../images/checked.png"); background-size: contain; position: absolute; top: 50%; left: 2px; transform: translateY(-50%);}

@media screen and (max-width: 900px) {
	.checkbox-area { padding: 10px 15px 20px;}
}

.form-complete { padding: 35px !important; margin-top: 50px !important;}
.form-complete p.message { margin-bottom: 35px;}

.form-complete .big-button a { display: flex; background: #fff; font-weight: bold; border: 1px solid; border-radius: 20px; padding: 3.6px 30px 5.6px 15px; align-items: center; gap: 0 15px; width: fit-content;}
.yellow .form-complete .big-button a { border-color: #EFD120;}
.blue .form-complete .big-button a { border-color: #0FBDEF;}
.green .form-complete .big-button a { border-color: #8BCE5F;}
.form-complete .big-button a:before { display: inline; content: ""; width: 12px; height: 18px; margin-top: 1px;}
.yellow .form-complete .big-button a:before { background: url("../images/button_arrow_back_yellow.png"); background-size: auto; background-size: contain; background-repeat: no-repeat;}
.blue .form-complete .big-button a:before { background: url("../images/button_arrow_back_blue.png"); background-size: auto; background-size: contain; background-repeat: no-repeat;}
.green .form-complete .big-button a:before { background: url("../images/button_arrow_back_green.png"); background-size: auto; background-size: contain; background-repeat: no-repeat;}
.form-complete .big-button a:hover { text-decoration: none; color: #fff;}
.yellow .form-complete .big-button a:hover { background: #EFD120;}
.blue .form-complete .big-button a:hover { background: #0FBDEF;}
.green .form-complete .big-button a:hover { background: #8BCE5F;}
.form-complete .big-button a:hover:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_white.png"); background-size: contain; background-repeat: no-repeat; margin-top: 1px;}

.heading-container { margin-top: 40px;}
.heading-container h2:after { margin-bottom: 40px;}
.heading-sub { display: block; text-align: center; margin-bottom: 30px;}

.select-image-button { display: inline-block; position: relative; overflow: hidden; font-size: 16px; border-radius: 10px; border: 2px solid #CCCCCC; background: #fff; text-align: center; font-weight: bold; cursor: pointer; padding: 10px; width: 180px; color: #00A0E8;}
.green .select-image-button { color: #8BCE5F;}
.select-image-button input { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; opacity: 0;}
.upload-image { display: block; width: 100%;}
.upload-image .remove { display: inline-block; position: relative; margin-bottom: 5px;}
.upload-image .remove span { position: absolute; width: 30px !important; height: 30px; background: #333; border-radius: 50%; right: 5px; top: 5px; cursor: pointer;}
.upload-image .remove span::before,
.upload-image .remove span::after { display: block; position: absolute; height: 6%; content: ""; background-color: #fff; transition: all .8s ease-in-out; top: 47%; left: 15%; width: 70%;}
.upload-image .remove span::before { transform: rotate(315deg);}
.upload-image .remove span::after { transform: rotate(-315deg);}
.upload-image img { height: 200px;}

/*** トップページのみの要素 ***/
#header-navigation .header-global_navi nav .header-gnavi_list > li:before { background: inherit; padding: 0;}
#page-home h1 { background: transparent; height: auto;}
#page-home h1:before { display: none;}
#page-home h1 a { line-height: 1;}

#page-home h2 { display: flex; flex-direction: column; align-items: center; font-size: 34px; margin-bottom: 35px;}
#page-home h2:after { display: none;}
#page-home h2 span img { display: block; width: 50%; margin: 0 auto 25px;}
#page-home h2:before { content: ""; background: url("../images/ribbon-yellow.png"); background-repeat: no-repeat; width: 60px; height: 45px; background-size: contain; background-position: center top; margin-bottom: 60px;}
#page-home .top-news_block h2:before { background: url("../images/ribbon-orange.png"); background-repeat: no-repeat; width: 60px; height: 45px; background-size: contain; background-position: center top; margin-bottom: 60px;}
#page-home .site-link_block h2:before { background: none;}

@media screen and (max-width: 768px) {
	#page-home h2 { font-size: 20px; margin-bottom: 25px;}
	#page-home h2:before { width: 35px !important; margin-bottom: 0 !important;}
	#page-home h2 span img { width: 100px; margin-bottom: 10px;}
}

.top-about_block { background: linear-gradient(transparent 415px, #E4E3CD 415px, transparent 100%); padding: 0 20px;}
.top-about_block picture img { display: block; margin: 50px auto 0; width: 1615px;}
.top-about_block .button { margin-top: 0; padding-bottom: 75px;}
.top-about_block .button a { max-width: 310px; font-size: 26px; padding: 15.5px 0 16.5px; border-radius: 30px; color: #fff; border: 1px solid #C85026; background: #C85026;}
.top-about_block .button a:after { display: none;}
.top-about_block .button a:hover { color: #C85026; background: #fff;}

@media screen and (max-width: 1672px) {
	.top-about_block { background: linear-gradient(transparent calc((415 / 1672) * 100vw), #E4E3CD calc((415 / 1672) * 100vw), transparent 100%);}
	.top-about_block .button { margin-top: 0; padding-bottom: min(75px, calc((75 / 1672) * 100vw));}
	.top-about_block .button a { max-width: min(310px, calc((310 / 1672) * 100vw)); font-size: min(26px, calc((26 / 1672) * 100vw)); padding: min(15.5px, calc((15.5 / 1672) * 100vw)) 0 min(16.5px, calc((16.5 / 1672) * 100vw)); border-radius: min(30px, calc((30 / 1672) * 100vw)); color: #fff; border: 1px solid #C85026; background: #C85026;}
}

@media screen and (max-width: 768px) {
	.top-about_block { background: linear-gradient(transparent calc((180 / 375) * 100vw), #E4E3CD calc((180 / 375) * 100vw), transparent 100%);}
	.top-about_block picture img { max-width: calc((320 / 375) * 100vw); margin-top: min(50px, calc((25 / 375) * 100vw));}
	.top-about_block .button { margin-top: calc((15 / 375) * 100vw);     padding-bottom: min(75px, calc((40 / 375) * 100vw));}
	.top-about_block .button a { max-width: min(310px, calc((180 / 375) * 100vw)); font-size: min(26px, calc((15 / 375) * 100vw)); padding: min(15.5px, calc((8.5 / 375) * 100vw)) 0 min(16.5px, calc((9.5 / 375) * 100vw)); border-radius: min(30px, calc((17.5 / 375) * 100vw));}
}

.top-project_block { background: #FCF9D2;}

.report-post-list { display: flex; flex-wrap: wrap; gap: 45px 80px; margin-bottom: 50px;}
.report-post-list .post-box { width: calc((100% - 80px) / 2);}
.report-post-list .post-box a .post-photo { height: 300px; position: relative; border-radius: 17.5px; overflow: hidden;}
.report-post-list .post-box a .post-photo img { width: 100%; height: 100%; object-fit: cover;}
.report-post-list .post-box a .post-text { padding: 15px 0 0;}
.report-post-list .post-box a .post-text p.name { font-size: 20px; font-weight: bold;}

.top-news_block { background: #F4F4F4}
.top-news_block .inner-block .news-list { max-width: 1240px; padding: 0;}

.site-link_block { width: 100%; padding: 0 15px;}
.site-link_block div { display: flex; justify-content: center; align-items: center; gap: 15px 60px; margin-bottom: 35px; flex-wrap: wrap;}
.site-link_block .upper a img { max-width: 310px; width: 100%;}
.site-link_block .lower a img { max-width: 280px; width: 100%;}

@media screen and (max-width: 1280px) {
	.report-post-list { gap: 25px 15px;}
	.report-post-list .post-box { width: calc((100% - 15px) / 2);}
}
@media screen and (max-width: 768px) {
	.report-post-list .post-box { width: 100%;}
	.report-post-list .post-box a .post-photo { height: min(300px, calc((150 / 375) * 100vw));}
	.report-post-list .post-box a .post-text p.name { font-size: min(16px, calc((12.8 / 375) * 100vw));}
}

/*** 活動プロジェクトのみの要素 ***/
#project h1,
#project-detail h1 { background: #FCF9D2;}
#project h1:before,
#project-detail h1:before{ background: url("../images/ribbon-yellow.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin-bottom: 30px;}

.search-block { width: 100%; max-width: 1040px; padding: 44px 20px 85px; margin: 0 auto;}
.search-block > input { display: none;}
.search-block .hamburger { border: 2px solid #EFD120; border-radius: 40px; overflow: hidden;}
.search-block .hamburger > label { position: relative; cursor: pointer;}
.search-block .hamburger > label:before { display: block; content: ""; background: #EFD120; width: 5px; height: 32px; position: absolute; top: 50%; right: 44px; transform: translateY(-50%); z-index: 2; transition: transform 0.5s}
.search-block > input:checked ~ .hamburger > label:before { transform: translateY(-50%) rotate(90deg); transition: transform 0.5s;}
.search-block .hamburger > label:after { display: block; content: ""; background: #EFD120; width: 32px; height: 5px; position: absolute; top: 50%; right: 31px; transform: translateY(-50%); z-index: 1;}
.search-block .hamburger > label h2 { width: 100%; max-width: 1000px; font-size: 28px; padding: 23.5px 0; text-align: center; position: relative; z-index: 1; background: #EFD120;}
.search-block .hamburger > label h2:after { display: block; content: ""; background: #fff; width: 56px; height: 56px; border-radius: 50%; position: absolute; top: 50%; right: 19px; transform: translateY(-50%); margin: 0;}
.search-block > input ~ .hamburger form { display: block; margin: 0px; visibility: hidden; padding: 0 30px 0 30px; z-index: -1; position: relative; transform: translateY(-100%); height: 0; transition: 0.25s ease;}
.search-block > input:checked ~ .hamburger form { display: block; padding: 45px 30px 65px; transition: 0.25s ease; visibility: inherit;  z-index: 0; height: 100%; transform: translateY(0%);}

.search-block .hamburger form h3 { background: #F7EFAA; border-radius: 10px; padding: 8.5px 15px; margin-bottom: 0; font-size: 20px;}
.search-block .hamburger form h3:after { display: none;}
.search-block .hamburger form ul { display: flex; flex-wrap: wrap; padding: 25px 25px 40px;}
.search-block .hamburger form ul li { display: flex; align-items: flex-start; min-width: 295px;}
.search-block .hamburger form ul li input { display: none;}
.search-block .hamburger form ul li label { display: flex; position: relative;}
.search-block .hamburger form ul li label:before { content: ""; display: block; height: 24px; width: 24px; border: 1px solid #999; border-radius: 5px; margin-right: 10px; flex-shrink: 0;}
.search-block .hamburger form ul li input:checked ~ label:before { border: 1px solid #EFD120; background: #EFD120; position: relative;}
.search-block .hamburger form ul li input:checked ~ label:after { content: ""; display: block; width: 19px; height: 14px; background: url("../images/checked.png"); background-size: contain; position: absolute; top: 5px; left: 2px;}
.search-block .hamburger form ul li label .label-container { padding: 2px 0 10px;}
.search-block .hamburger form ul li .label-text { display: flex;}
.search-block .hamburger form ul li .label-text img { width: 60px; height: 60px; margin-right: 10px;}
.search-block .hamburger form ul li .label-text span { display: block; font-size: 15px; font-weight: bold; line-height: 22px;}
.search-block .hamburger form .input { margin: 30px 120px 45px;}
.search-block .hamburger form .input input { border-radius: 10px; border: 2px solid #ccc;}
.search-block .hamburger form .form-control { display: flex; justify-content: center; gap: 0 25px; align-items: center;}
.search-block .hamburger form .form-control .submit-button button { width: 300px; height: 60px; border-radius: 30px; background: #C85026; font-size: 22px; font-weight: bold; padding: 17px 30px 13px; display: flex; align-items: center; justify-content: center; letter-spacing: 2.2px;}
.search-block .hamburger form .form-control .submit-button button:before { display: block; content: ""; width: 30px; height: 30px; background: url( "../images/search.png"); background-size: contain; background-repeat: no-repeat; background-position: center; margin: -3px 15px 0 0 ;}
.search-block .hamburger form .form-control .reset-button button { width: 110px; height: 38px; border-radius: 19px; padding: 2px 0 0; background: #555;}
.search-block .hamburger ol li { position: relative; background: #E2F9D2; border-radius: 10px; padding: 7.5px 20px 10px 20px; margin-bottom: 45px;}
.search-block .hamburger ol li p { font-weight: bold; padding: 0 0 0 45px;}
.search-block .hamburger ol li picture { display: block; margin: 25px auto 15px;}

@media screen and (max-width: 1060px) {
	.search-block > input ~ .hamburger form { padding: 0px 15px 0px;}
	.search-block > input:checked ~ .hamburger form { padding: 20px 15px 30px;}
	.search-block .hamburger form ul li { width: calc(100% / 3); min-width: auto;}
	.search-block .hamburger form ul li .label-text img { width: 45px; height: 45px;}
}


@media screen and (max-width: 900px) {
	.search-block .hamburger form ul { padding: 13px 15px 20px;}
}

@media screen and (max-width: 845px) {
	.search-block .hamburger form ul li { width: calc(100% / 2);}
}

@media screen and (max-width: 768px) {
	.search-block { padding: 20px 20px 55px;}
	.search-block .hamburger { border-radius: 27px;}
	.search-block .hamburger > label:before { width: 4px; height: 22px; right: 23px;}
	.search-block .hamburger > label:after { width: 22px; height: 4px;  right: 14px;}
	.search-block .hamburger > label h2 { font-size: 20px; padding: 9px 0 10px;}
	.search-block .hamburger > label h2:after { width: 36px; height: 36px; right: 7px;}
	.search-block .hamburger form h3 { font-size: 18px;}
	.search-block .hamburger form ul li .label-text span { font-size: 12px; line-height: 18px; word-break: auto-phrase;}
	.search-block .hamburger form .input { margin-inline: auto;}
}

@media screen and (max-width: 568px) {
	.search-block .hamburger ol li { padding: 50px 20px 10px 20px; margin-bottom: 50px;}
	.search-block .hamburger ol li p { padding: 0;}
	#company .search-block > input:checked ~ .hamburger ol li { margin-top: 40px;}
	.search-block .hamburger form ul li { width: 100%;}
	.search-block .hamburger form ul li .label-text span { word-break: auto-phrase;}
	.search-block .hamburger form ul li .label-text span br { display: none;}
	.search-block .hamburger form .form-control { gap: 15px;}
}

@media screen and (max-width: 450px) {
	.search-block .hamburger form .form-control .submit-button button { width: 230px; height: 45px; font-size: 18px;}
	.search-block .hamburger form .form-control .submit-button button:before { width: 20px; height: 20px;}
}

@media screen and (max-width: 370px) {
	.search-block .hamburger form ul li .label-text span br { display: block;}	
}

.list_project_block { background: #FCF9D2; padding: 110px 0 0px;}
.list_project_block .inner-block > p { display: flex; justify-content: center; align-items: center; gap: 0 20px; margin-bottom: 40px; font-size: 18px;}
.list_project_block .inner-block > p span { font-size: 36px; font-weight: bold; line-height: 55px; margin-top: -2px; color: #FF8544; display: flex; align-items: center;}
.list_project_block .inner-block > p span span { display: inline; content: "件"; font-size: 24px; margin: 2px 0 0 7.5px;}

@media screen and (max-width: 768px) {
	.list_project_block {  padding: 25px 0 0px;}
	.list_project_block .inner-block > p { gap: 0 10px; margin-bottom: 20px; font-size: 14px;}
	.list_project_block .inner-block > p span { font-size: 26px; line-height: 30px; margin-top: -4px;}
	.search-block > label:after {
		width: 46px;
	    height: 46px;
	}
	.search-block label h2 {
	    font-size: 23px;
		padding: 13.5px 0;
	}
	.search-block label h2:before {
		height: 27px;
		right: 39px;
	}
	.search-block label h2:after {
		width: 27px;
		right: 28px;
	}
	.search-block > input:checked ~ form {
		padding: 25px 15px 35px;
	}
	.search-block form .input {
		width: 90%;
		margin-inline: auto;
	}
	.search-block form .form-control {
		flex-wrap: wrap;
		gap: 25px;
	}
	.search-block form .form-control .submit-button button {
		width: 100%;
		padding-inline: 55px;
	}
}

@media screen and (max-width: 370px) {
	.list_project_block .inner-block > p { font-size: 14px;}
	.list_project_block .inner-block > p span { font-size: 26px; line-height: 44px;}
	.list_project_block .inner-block > p span span { font-size: 18px;}
}

/*** 活動プロジェクト（検索結果）のみの要素 ***/
#project .breadcrumbs-area .breadcrumbs,
#project-detail .breadcrumbs-area .breadcrumbs,
#group-detail .breadcrumbs-area .breadcrumbs { padding-right: 70px;}

#project-detail .project-post-list,
#group-detail .project-post-list { padding-bottom: 85px;}

@media screen and (max-width: 1515px) {
	#project .breadcrumbs-area .breadcrumbs,
	#project-detail .breadcrumbs-area .breadcrumbs,
	#group-detail .breadcrumbs-area .breadcrumbs {
		padding-right: 190px;}
}
@media screen and (max-width: 1280px) {
	#project .breadcrumbs-area .breadcrumbs,
	#project-detail .breadcrumbs-area .breadcrumbs,
	#group-detail .breadcrumbs-area .breadcrumbs { margin-right: 20px; margin-left: 20px; padding-right: 0; width: calc(100% - 170px - 40px - 20px);}
}
@media screen and (max-width: 768px) {
	#project .breadcrumbs-area .breadcrumbs,
	#project-detail .breadcrumbs-area .breadcrumbs,
	#group-detail .breadcrumbs-area .breadcrumbs { width: calc(100% - 120px - 0px - 15px); margin-right: 0; margin-left: 0;}
}
@media screen and (max-width: 450px) {
	#project .breadcrumbs-area .breadcrumbs,
	#project-detail .breadcrumbs-area .breadcrumbs,
	#group-detail .breadcrumbs-area .breadcrumbs { width: calc(100% - 80px - 0px - 10px); margin-right: 0; margin-left: 0;}
}

#project .inner-block > h2 { padding: 10px 0 20px; font-size: 36px;}
#project .inner-block > h2:after { display: none;}
#project .inner-block > h2 + .search-word { color: #FF8544; text-align: center; margin-bottom: 50px;}

.btn-back-list:first-of-type { position: absolute; top: 7.5px;}
.btn-back-list:last-of-type { position: absolute; bottom: 0; padding: 0px 0 40px;}
.btn-back-list a { display: flex; background: #fff; font-weight: bold; border: 1px solid #C85026; border-radius: 20px; padding: 3.6px 30px 5.6px 15px; align-items: center; gap: 0 15px;}
.btn-back-list:last-of-type a { padding: 4.6px 30px 4.6px 15px;}
.btn-back-list a:hover { text-decoration: none; background: #C85026; color: #fff;}
.btn-back-list a:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_orange.png"); background-size: contain; background-repeat: no-repeat; margin-top: 1px;}
.btn-back-list a:hover:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_white.png"); background-size: contain; background-repeat: no-repeat; margin-top: 1px;}
#project .navigation { padding-bottom: 125px;}

@media screen and (max-width: 568px) {
	.btn-back-list:first-of-type { top: -60px;}
}

/*** 活動プロジェクト（詳細）のみの要素 ***/
.project-detail-wrap { width: 100%; max-width: 1040px; padding: 0px 20px 0; margin: 0 auto; position: relative;}
.project-detail-wrap .side-button.project-more { position: sticky; top: 0; height: 270px;}
.project-detail-wrap .side-button.project-more a { display: block; width: 100px; position: absolute; right: -115px;}

@media screen and (max-width: 1285px) {
	.project-detail-wrap { max-width: inherit;}
	.project-detail-wrap .side-button.project-more { z-index: 10; max-width: 100px; left: 100%; margin-bottom: -90px;}
	.project-detail-wrap .side-button.project-more a { right: -10px;}
}

@media screen and (max-width: 1220px) {
	.project-detail-wrap .side-button.project-more a { width: 65px;}
}

@media screen and (max-width: 568px) {
	.project-detail-wrap .side-button.project-more { left: 0; top: calc(100vh - 55px); height: 55px; max-width: 141px; margin: 0 0 -55px -10px;}
	.project-detail-wrap .side-button.project-more a { position: static; width: 141px;}
}

#project-detail .post { margin-top: -270px; position: relative; z-index: 1;}
#project-detail .post .project-city { flex-wrap: nowrap;}

@media screen and (max-width: 568px) {
	#project-detail .post { margin-top: -55px;}
}

.project-overview { background: #FCF9D2; border-radius: 18px; padding: 40px 40px 35px;}
.project-overview dl { display: flex; flex-wrap: wrap; margin: 0 0 30px;}
.project-overview dl dt { font-weight: bold; border-bottom: 1px solid #EFD120; width: 170px; padding: 15px 5px 15px 0;}
.project-overview dl dd { border-bottom: 1px solid #DDDDDD; width: calc(100% - 170px); padding: 15px;}
.project-overview img { display: block; border-radius: 18px; margin: 0 auto 30px;}
.project-overview ul { display: flex; justify-content: center; gap: 0 10px; margin: 0;}
.project-overview ul li { margin: 0;}
.project-overview ul li:before { display: none;}
.project-overview ul li img { margin: 0; border-radius: 0; width: 60px;}

@media screen and (max-width: 568px) {
	.project-overview { padding: 20px 20px 25px;}
	.project-overview dl { margin: 0 0 15px;}
	.project-overview dl dt { width: 100%; padding: 5px 0;}
	.project-overview dl dd { width: 100%; padding: 5px 0; margin-bottom: 15px;}
	.project-overview img { margin-bottom: 15px;}
}
.project-request-cheering { padding: 40px; position: relative;}
.project-request-cheering:before { display: block; content: ""; width:133px; height: 89px; background: url( "../images/illust_project02.png"); background-size: contain; background-repeat: no-repeat; position: absolute; top: -30px; left: 12px;}
.project-request-cheering p { line-height: 30px; margin-bottom: 0;}

@media screen and (max-width: 450px) {
	.project-request-cheering:before { width:83px; top: -10px;}
}

.project-detail dl { display: flex; flex-wrap: wrap; border: 1px solid #999999; margin-bottom: 50px;}
.project-detail dl dt { width: 220px; background: #F7EFAA; padding: 15px 20px; border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC;}
.project-detail dl dd { width: calc(100% - 220px); padding: 15px 35px 15px 20px; border-bottom: 1px solid #CCCCCC;}
.project-detail dl dd a { color: #0871BF; border-bottom: 1px solid #0871BF;}

.project-grup { border: 1px solid #0FBDEF; border-radius: 15px; padding: 40px 30px 50px; margin-bottom: 70px;}

@media screen and (max-width: 568px) {
	.project-detail dl dt { width: 100%; padding: 10px 15px; border-right: none;}
	.project-detail dl dd { width: 100%; padding: 10px 15px;}
}
.project-grup h2 { display: flex; flex-direction: column; align-items: center; font-size: 28px; margin-bottom: 35px;}
.project-grup h2:after { width: 120px; height: 2px; display: block; content: ""; background: #0FBDEF; margin: 25px 0 0;}
.project-grup h2 span img { display: block; width: 50%; margin: 0 auto 20px;}

.project-grup .group-outline { display: flex; flex-direction: row-reverse; gap: 0 30px; font-size: 15px;}
.project-grup .group-outline .grup-images { display: flex; flex-shrink: 0; gap: 0 20px;}
.project-grup .group-outline .grup-images div img { width: 190px; height: 170px; object-fit: cover;}

@media screen and (max-width: 900px) {
	.project-grup .group-outline { flex-direction: column; gap: 30px;}
	.project-grup .group-outline .grup-images { justify-content: center;}
}

@media screen and (max-width: 768px) {
	.project-request-cheering p { line-height: 26px;}
	.project-grup .group-outline { font-size: 14px;}
}

@media screen and (max-width: 568px) {
	.project-grup { padding: 25px 20px 30px;}
	.project-grup h2 { font-size: 24px; margin-bottom: 25px;}
	.project-grup h2:after { margin-top: 15px;}
	.project-grup h2 span img { max-width: 220px; margin-bottom: 5px;}
	.project-grup .group-outline { gap: 15px;}
	.project-grup .button { margin-top: 25px;}
}

@media screen and (max-width: 450px) {
	.project-grup .group-outline .grup-images { flex-wrap: wrap; gap: 20px;}
}

.project-grup .button { padding: 0;}
.project-grup .button a { background: #0FBDEF; border-color: #0FBDEF;}
.project-grup .button a:hover { background: #fff; color: #0FBDEF;}
.project-grup .button a:hover:after { background: url("../images/button_arrow_blue.png"); background-size: contain; background-repeat: no-repeat;}

@media screen and (max-width: 1285px) {
	.project-grup { max-width: 1000px; margin-inline: auto;}
}

#joinform { background: #FCF9D2; padding: 40px 0 50px;}
#joinform h2 { font-size: 28px; margin-bottom: 50px;}
#joinform h2:before { display: block; content: ""; width: 50px; height: 66px; background: url( "../images/project_form_hand.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin: 0 auto 15px;}
#joinform h2:after { display: block; content:""; width: 120px; height: 2px; background: #EFD120; margin: 20px auto 0px;}

#project-detail .list_project_block { background: #fff; padding: 90px 0 0;}
#project-detail .list_project_block h2 { display: flex; justify-content: center; align-items: center; gap: 0 30px; font-size: 22px; margin-bottom: 45px; word-break: auto-phrase;}
#project-detail .list_project_block h2:before { display: block; content: ""; width: 110px; height: 1px; background: #AAA;}
#project-detail .list_project_block h2:after { display: block; content: ""; width: 110px; height: 1px; background: #AAA; margin: 0;}
#project-detail .list_project_block .post-box { background: #F5F5F5;}

#project-detail .project-post-list { margin-bottom: 30px;}

#project-detail .navigation { width: 100%; max-width: 1280px; padding: 0 20px; margin: 30px auto 120px;}
#project-detail .navigation .nav-list a { border: 1px solid #EFD120; width: 240px; border-radius: 20px; padding: 8px 13px 9px; display: flex; line-height: 1; align-items: center; gap: 0 15px; font-weight: bold;}
#project-detail .navigation .nav-list a:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_yellow.png"); background-size: contain; background-position: top center; background-repeat: no-repeat; margin-top: 3px;}
#project-detail .navigation .nav-list a:hover { background: #EFD120; color: #fff;}
#project-detail .navigation .nav-list a:hover:before { background: url("../images/button_arrow_back_white.png"); background-size: contain; background-position: top center; background-repeat: no-repeat;}

@media screen and (max-width: 568px) {
	#project-detail .list_project_block {  padding: 50px 0 0;}
	#project-detail .list_project_block h2 { gap: 0 20px; font-size: 18px; margin-bottom: 35px;}
	#project-detail .list_project_block h2:before,
	#project-detail .list_project_block h2:after { width: 55px;}
	#joinform { padding: 40px 20px 50px;}
	#joinform h2 { font-size: 20px; margin-bottom: 30px;}
}

/*** お知らせ（一覧）のみの要素 ***/
#news .news-list dl a { padding-top: 22px;}
#news .news-list dl a:hover { background: #FFEFE9;}
#news .news-list dl a dd { margin-top: 8px;}

#news .navigation .nav-links { padding: 0 20px;}

@media screen and (max-width: 768px) {
	#news .news-list dl a { padding-top: 15px;}
}

/*** お知らせ（詳細）のみの要素 ***/
#news-detail .post { max-width: 1040px; padding-inline: 20px;}
#news-detail .post .post-meta { border-top-color: #FF8544; border-bottom-color: #FF8544; padding: 10px 0 0px; gap: 5px 0;}
#news-detail .post-contents p a:hover { border-bottom: none;}

#news-detail .navigation { width: 100%; max-width: 1040px; padding: 0 20px; margin: 0 auto;}
#news-detail .nav-list { margin: 0px auto 140px 0px; width: 100%; border-top: 1px solid #CCCCCC; padding-top: 40px;}
#news-detail .nav-list a { display: flex; background: #fff; font-weight: bold; border: 1px solid #FF8544; border-radius: 20px; padding: 3.6px 30px 5.6px 12px; align-items: center; gap: 0 15px; width: 220px; margin-left: -10px;}
#news-detail .nav-list a:hover { text-decoration: none; background: #FF8544; color: #fff;}
#news-detail .nav-list a:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_l-orange.png"); background-size: contain; background-repeat: no-repeat; margin-top: 3px;}
#news-detail .nav-list a:hover:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_white.png"); background-size: contain; background-repeat: no-repeat; }

@media screen and (max-width: 768px) {
	#news-detail .nav-list a { padding: 4.6px 30px 4.6px 12px;}
	#news-detail .nav-list a:before { margin-top: 1px;}
}


/*** 活動レポート（一覧）のみの要素 ***/
#pickup h1,
#pickup-detail h1 { background: #FCF9D2;}
#pickup h1:before,
#pickup-detail h1:before { background: url("../images/ribbon-yellow.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin-bottom: 30px;}

#pickup .inner-block > p { text-align: center; margin: 80px auto 75px; font-size: 20px; font-weight: bold;}
#pickup .project-post-list { gap: 50px;}
#pickup .post-box a { background: #F5F5F5; border-radius: 17.5px; overflow: hidden;}
#pickup .post-box a .post-text { gap: 0 1em; padding-bottom: 20px;}
#pickup .post-box a .post-text p.detail { grid-row: 2/3; margin-bottom: 10px; font-size: 12px;}
#pickup .post-box a .post-text p.city { grid-row: 3/4; grid-column: 1/2; padding-left: 5px;}
#pickup .post-box a .post-text p.city:before { margin-right: 7px;}
#pickup .post-box a .post-text p.category { grid-row: 3/4; grid-column: 2/3;}
#pickup .post-box a .post-text p.group-name { padding-left: 5px;}

#pickup .navigation { margin-top: 25px; padding-bottom: 60px;}
#pickup .navigation .nav-links { padding: 0;}

@media screen and (max-width: 1280px) {
	#pickup .project-post-list { gap: 20px;}
	#pickup .project-post-list .post-box { width: calc((100% - 20px) / 2);}
	#pickup .post-box a { border-radius: 0;}
	#pickup .post-box a .post-text { padding-bottom: min(15px, calc((7 / 375) * 100vw));}
	#pickup .post-box a .post-text p.name { margin-bottom: 5px;}
	#pickup .post-box a .post-text p.detail { font-size: min(14px, calc((10 / 375)* 100vw)); margin-bottom: 5px; line-height: normal;}
}

@media screen and (max-width: 768px) {
	#pickup .inner-block > p { text-align: left; margin: 20px auto 30px; font-size: 16px; line-height: 1.5;}
	#pickup .post-box a .post-text p.city:before { margin-right: 3px;}
}

/*** 活動レポート（詳細）のみの要素 ***/
.pickup-detail-wrap { width: 100%; max-width: 1040px; padding: 0px 20px 0; margin: 0 auto; position: relative;}

#pickup-detail .post .pickup-type { font-size: 18px; font-weight: bold;}
#pickup-detail .post .pickup-type span { display: block; padding: 8px 22px 10px; background: #EFD120; border-radius: 20px; margin-right: 20px; line-height: 1;}
#pickup-detail .post .pickup-city { font-size: 18px; font-weight: bold; display: flex; align-items: center;}
#pickup-detail .post .pickup-city:before { display: inline; content: ""; background: url("../images/post-box_city.png"); width: 23px; height: 34px; background-position: center; background-repeat: no-repeat; background-size: contain; margin-right: 10px;}
#pickup-detail .post .post-share { margin-right: 8px;}
#pickup-detail .post .post-meta { padding: 25px 0; margin-bottom: 30px;}
#pickup-detail .post .post-meta h2 { font-size: 28px; margin-bottom: 0;}
#pickup-detail .pickup-overview { background: #F5F5F5; border-radius: 18px; padding: 40px; position: relative; margin-bottom: 50px;}
#pickup-detail .post-contents figure { margin: 35px auto 40px;}

#pickup-detail .pickup-overview mountingportal { display: block; height: 0; width: 0; overflow: hidden;}
#pickup-detail .pickup-overview img { border-radius: 18px;}
#pickup-detail .pickup-overview dl { display: flex; flex-wrap: wrap; margin: 0 0 15px;}
#pickup-detail .pickup-overview dl dt { font-weight: bold; border-bottom: 1px solid #EFD120; width: 170px; padding: 15px 5px 15px 0; display: flex; align-items: center;}
#pickup-detail .pickup-overview dl dd { border-bottom: 1px solid #DDDDDD; width: calc(100% - 170px); padding: 15px 0 15px 25px;}
#pickup-detail .pickup-overview ul { display: flex; justify-content: center; gap: 0 10px; margin: 0;}
#pickup-detail .pickup-overview ul li { margin: 0;}
#pickup-detail .pickup-overview ul li:before { display: none;}
#pickup-detail .pickup-overview ul li img { margin: 0; border-radius: 0; width: 60px;}

@media screen and (max-width: 1285px) {
    .pickup-detail-wrap { max-width: inherit;}
}

@media screen and (max-width: 768px) {
    #pickup-detail .post .post-meta h2 { margin-bottom: 0;}
}

@media screen and (max-width: 568px) {
	#pickup-detail .post .pickup-type span { font-size: clamp(11px, calc((11 / 475) * 100vw), 18px); padding-inline: 14px;}
	#pickup-detail .post .pickup-city { font-size: clamp(11px, calc((11 / 475) * 100vw), 18px);}
	#pickup-detail .post .pickup-city:before { height: clamp(18px, calc((18 / 475) * 100vw), 24px);}
	#pickup-detail .post .post-meta h2 { font-size: 20px;}
	#pickup-detail .pickup-overview { padding: 20px;}
	#pickup-detail .pickup-overview dl dt { width: 100%; padding: 5px 0;}
	#pickup-detail .pickup-overview dl dd { width: 100%; padding: 5px 0; margin-bottom: 15px;}
}

/* モーダル（動画ありの場合） */
#pickup-detail .report-main-visual { position: relative; display: inline-block; cursor: pointer;}
#pickup-detail .report-main-visual img { width: 100%; height: auto; display: block; max-width: 100%;}
#pickup-detail .report-main-visual:not(.has-movie) { cursor: default;}
#pickup-detail .play-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; width: calc(10% + 5px); max-width: 90px; min-width: 45px; height: auto;}
#pickup-detail .play-icon img { width: 100%; height: auto; display: block; border-radius: 50%;}

@media (max-width: 1029px) {
	#pickup-detail .report-main-visual { max-width: 100%;}
	#pickup-detail .play-icon { width: calc(8% + 10px);}
}

#pickup-detail .v--modal { display: flex !important; justify-content: center; align-items: center; position: fixed !important; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; background-color: rgba(0, 0, 0, 0.8); padding: 10px; overflow-y: auto;}
#pickup-detail .youtube-container { position: relative; width: 100%; padding-top: 56.25%; background-color: #000; overflow: hidden;}
#pickup-detail .youtube-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: 860px; max-height: calc(100vh - 20px);}

@media (max-width: 768px) {
	#pickup-detail .v--modal { padding: 10px; justify-content: center; align-items: center; overflow-y: auto;}
	#pickup-detail .youtube-container { max-width: 100%;}
	#pickup-detail .youtube-container iframe {max-width: 100%; max-height: calc(100vh - 40px);}
}

#pickup-detail .pickup-detail h1,
#pickup-detail .pickup-detail h2,
#pickup-detail .pickup-detail h3 { font-size: 24px; border-bottom: none; background: none;}
#pickup-detail .pickup-detail h1:after,
#pickup-detail .pickup-detail h2:after,
#pickup-detail .pickup-detail h3:after { display: block; content: ""; width: 100%; height: 20px; background: #FCF9D2; margin-top: -12px; position: inherit; margin-bottom: 0;}

#pickup-detail .pickup-detail hr { background: #ddd; margin-bottom: 30px;}

#pickup-detail .pickup-detail h4 { border-bottom: 2px solid #FFF6A4;}

#pickup-detail .pickup-detail .linkbox { border: 1px solid #EFD120; border-radius: 18px; padding: 30px; margin-bottom: 50px;}
#pickup-detail .pickup-detail .linkbox p { line-height: 26px; margin-bottom: 25px;}
#pickup-detail .pickup-detail .linkbox p:last-of-type { margin-bottom: 0;}

#pickup-detail .pickup-detail figure > div { display: flex; width: 100%; max-width: 887px; margin: 0 auto; gap: 0 100px;}
#pickup-detail .pickup-detail figure div .image { margin: 0 auto; }
#pickup-detail .pickup-detail figure div .image img { width: 100%; max-width: 800px; max-height: 460px; object-fit: contain; object-position: top;}
#pickup-detail .pickup-detail figure figcaption { padding: 0; line-height: 30px; margin-top: 5px;}

@media screen and (max-width: 980px) {
    #pickup-detail .pickup-detail figure > div { gap: 0 25px;}
}

@media screen and (max-width: 568px) {
    #pickup-detail .pickup-detail figure > div { flex-wrap: wrap; gap: 25px;}
}

#pickup-detail .navigation { width: 100%; max-width: 1040px; padding: 0 15px; margin: 20px auto 95px;}
#pickup-detail .navigation .nav-list a { border: 1px solid #EFD120; width: 240px; border-radius: 20px; padding: 9px 13px 10px; display: flex; line-height: 1; align-items: center; gap: 0 15px; font-weight: bold;}
#pickup-detail .navigation .nav-list a:hover { background: #EFD120; color: #fff;}
#pickup-detail .navigation .nav-list a:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_yellow.png"); background-size: contain; background-position: top center; background-repeat: no-repeat; margin-top: 1px;}
#pickup-detail .navigation .nav-list a:hover:before { background: url("../images/button_arrow_back_white.png"); background-size: contain; background-position: top center; background-repeat: no-repeat;}



/*** 募集終了したプロジェクト（検索・一覧）のみの要素 ***/
#archived-project h1,
#archived-project-detail h1 { background: #FCF9D2;}
#archived-project h1:before,
#archived-project-detail h1:before { background: url("../images/ribbon-yellow.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin-bottom: 30px;}

#archived-project .list_project_block { background: #F5F5F5;}

#archived-project .post-box a .post-text p.detail { margin-bottom: 10px;}

#archived-project .navigation .nav-links { padding: 0;}

@media screen and (max-width: 1280px) {
	#archived-project .post-box a .post-text p.detail { margin-bottom: min(10px, calc((2.5 / 375)* 100vw));}
}


/*** 募集終了したプロジェクト（検索結果）のみの要素 ***/
#archived-project .inner-block > h2 { font-size: 36px; padding: 35px 0 20px;}
#archived-project .inner-block > h2:after { display: none;}
#archived-project .inner-block > h2 + .search-word { color: #FF8544; text-align: center; margin-bottom: 50px;}

#archived-project .navigation { padding-bottom: 125px;}



/*** 募集終了したプロジェクト（詳細）のみの要素 ***/
#archived-project-detail .post { padding-inline: 0;}
#archived-project-detail .post .project-type { height: 36px; margin: auto 36px auto 0;}
#archived-project-detail .post .project-closed { grid-column: 3 / 4; grid-row: 1 / 2; display: flex; flex-wrap: wrap; align-content: center; justify-content: flex-end; font-size: 18px; font-weight: bold; color: #fff; margin-left: auto; background: #333333; border-radius: 7.5px; width: 2em; height: 45px; padding: 0 52px 0 calc(52px + 2em); white-space: nowrap;}
#archived-project-detail .project-overview { background: #F5F5F5; padding-top: 20px;}
#archived-project-detail .project-request-cheering { padding: 35px 0;}
#archived-project-detail .project-request-cheering:before { display: none;}
#archived-project-detail .project-detail dl dt { background: #f5f5f5;}
#archived-project-detail .project-report { background: #FCF9D2; border-radius: 18px; max-width: 1000px; padding: 35px 40px 45px; margin-bottom: 50px;}
#archived-project-detail .project-report h2 { margin-bottom: 35px;}
#archived-project-detail .project-report h2:after { display: none;}
#archived-project-detail .project-report h2 img { width: 150px;}
#archived-project-detail .project-report p img { margin-bottom: 35px;}
#archived-project-detail .navigation { width: 100%; max-width: 1040px; padding: 0 15px; margin: -15px auto 105px;}
#archived-project-detail .navigation .nav-list a { border: 1px solid #EFD120; width: 240px; border-radius: 20px; padding: 8px 13px 9px; display: flex; line-height: 1; align-items: center; gap: 0 15px; font-weight: bold;}
#archived-project-detail .navigation .nav-list a:before { display: inline; content: ""; width: 12px; height: 18px; background: url(../images/button_arrow_back_yellow.png); background-size: contain; background-position: top center; background-repeat: no-repeat; margin-top: 3px;}
#archived-project-detail .navigation .nav-list a:hover { background: #EFD120; color: #fff;}
#archived-project-detail .navigation .nav-list a:hover:before { background: url("../images/button_arrow_back_white.png"); background-size: contain; background-position: top center; background-repeat: no-repeat;}

@media screen and (max-width: 768px) {
	#archived-project-detail .post .project-closed { grid-column: 2 / 3; margin-bottom: 15px;}
	#archived-project-detail .post .post-meta h2 { margin-bottom: 0;}
}

@media screen and (max-width: 568px) {
	#archived-project-detail .post .project-type { font-size: clamp(11px, calc((11 / 475)* 100vw), 18px); padding-inline: 14px; height: auto; margin-right: 15px;}
	#archived-project-detail .post .project-city { margin-bottom: 15px;}
	#archived-project-detail .post .project-closed { font-size: clamp(11px, calc((11 / 475)* 100vw), 18px); height: 2em;}
	#archived-project-detail .post .post-meta { margin-top: 10px;}
	#archived-project-detail .project-report { padding: 25px 20px 25px;}
	#archived-project-detail .project-report h2 { margin-bottom: 15px;}
	#archived-project-detail .project-report p img { margin-bottom: 15px;}
}

@media screen and (max-width: 568px) {
	#archived-project-detail .post .project-type { margin-bottom: 15px;}
}

/*** 活動団体（一覧）のみの要素 ***/
#group h1,
#group-detail h1 { background: #D2F4FC;}
#group h1:before,
#group-detail h1:before { background: url("../images/ribbon-blue.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin-bottom: 30px;}

#group .site-main .inner-block,
#group-detail .site-main .inner-block { max-width: 1240px;}
#group .inner-block .title-illust { top: -170px; right: -100px;}

@media screen and (max-width: 1515px) {
	#group .inner-block .title-illust { right: 20px;}
}

@media screen and (max-width: 1280px) {
	#group .post-box a .post-text p.category { margin-bottom: min(15px, calc((4 / 375)* 100vw));}
}

@media screen and (max-width: 768px) {
	#group h1:before,
	#group-detail h1:before { margin-bottom: 20px;}
	#group .inner-block .title-illust { right: 15px; top: -120px;}
}

@media screen and (max-width: 450px) {
	#group .inner-block .title-illust { right: 10px; top: -105px;}
}

#group .search-block .hamburger { border-color: #0FBDEF;}
#group .search-block .hamburger > label:before,
#group .search-block .hamburger > label:after { background: #0FBDEF;}
#group .search-block .hamburger > label h2 { background: #0FBDEF;}
#group .search-block > input:checked ~ .hamburger > form { border-color: #0FBDEF;}
#group .search-block .hamburger > form h3 { background: #AAEEF9;}
#group .search-block .hamburger > form .checkbox-area:nth-of-type(2) div { min-width: 394px;}
#group .search-block .hamburger > form .checkbox-area div input:checked ~ label:before { border: 1px solid #0FBDEF; background: #0FBDEF;}
#group .search-block .hamburger > form .form-control .submit-button button { background: #0FBDEF;}
#group .list_group_block { background: #F5F5F5; padding: 27px 0 0;}
#group .list_group_block .inner-block > p { font-size: 18px; display: flex; justify-content: center; align-items: center; gap: 0 1em; margin-bottom: 27px;}
#group .list_group_block .inner-block > p span { font-size: 36px; font-weight: bold; display: flex; justify-content: center; align-items: center; gap: 0 5px;}
#group .list_group_block .inner-block > p span span { font-size: 24px;}

@media screen and (max-width: 768px) {
	#group .list_group_block { padding: 25px 0 0px;}
	#group .list_group_block .inner-block > p { font-size: 14px; gap: 0 10px; margin-bottom: 20px;}
	#group .list_group_block .inner-block > p span { font-size: 24px; gap: 0 3px;}

}

#group .new:after { background: url(../images/new_blue.png); background-repeat: no-repeat; background-size: contain;}

#group .post-box a .post-text p.category span { background: #0FBDEF;}
#group .inner-block > h2 { padding: 10px 0 20px; font-size: 36px;}
#group .inner-block > h2:after { display: none;}
#group .inner-block > h2 + .search-word { color: #0FBDEF; text-align: center; margin-bottom: 50px;}
#group .btn-back-list:first-of-type { top: 12.5px;}
#group .btn-back-list a { border-color: #0FBDEF;}
#group .btn-back-list a:hover { background: #0FBDEF;}
#group .btn-back-list a:before { background: url(../images/button_arrow_back_blue.png); background-size: contain; background-repeat: no-repeat;}
#group .btn-back-list a:hover:before { background: url("../images/button_arrow_back_white.png"); background-size: contain; background-repeat: no-repeat;}

@media screen and (max-width: 568px) {
	#group .btn-back-list:first-of-type { top: -60px;}
}

#group .navigation { padding-bottom: 120px;}
#group .navigation .nav-links { padding: 0;}

/*** 活動団体（詳細）のみの要素 ***/
.group-detail-wrap { padding: 0 20px;}

#group-detail .inner-block .title-illust { top: -170px; right: -100px;}

@media screen and (max-width: 1515px) {
	#group-detail .inner-block .title-illust { right: 20px;}
}

@media screen and (max-width: 768px) {
	#group-detail .inner-block .title-illust { right: 15px; top: -135px;}
}

@media screen and (max-width: 450px) {
	#group-detail .inner-block .title-illust { right: 10px; top: -105px;}
}

#group-detail .post { grid-template-columns: auto 1fr; grid-template-rows: auto auto auto;}
#group-detail .post .category { grid-column: 1 / 2; grid-row: 1 / 2; background: #0FBDEF; border-radius: 18px; font-weight: bold; font-size: 18px; padding: 1px 27px 3px;}
#group-detail .post .post-share { grid-column: 2 / 3; grid-row: 1 / 2;}
#group-detail .post .post-meta { grid-column: 1 / 3; grid-row: 2 / 3; border-top: 2px solid #0FBDEF; border-bottom: 2px solid #0FBDEF; margin: 15px 0; justify-content: center; gap: 20px 15px; padding: 20px 0 25px;}
#group-detail .post .post-meta h2 { text-align: center; margin-bottom: 0;}
#group-detail .post .post-meta span { font-size: 18px; font-weight: bold; width: 150px; height: 45px; border-radius: 22.5px; display: flex; justify-content: center; align-items: center;}
#group-detail .post .post-meta span.project-count { background: #EFD120;}
#group-detail .post .post-meta span.report-count { background: #333;}
#group-detail .post .post-meta span.report-count a { color: #fff;}

@media screen and (max-width: 768px) {
	#group-detail .post .post-share { margin-bottom: 0;}
	#group-detail .post .post-meta span { font-size: 12px; width: 100px; height: 30px;}
}

@media screen and (max-width: 568px) {
	#group-detail .post .category { font-size: clamp(11px, calc((11 / 475)* 100vw), 18px); padding: 0 14px; align-self: center;}
	#group-detail .post .post-meta { gap: 10px 15px; padding: 20px 0 15px;}
}

#group-detail .group-contents .grup-images { max-width: 950px; margin: 30px auto 45px; display: flex; justify-content: center; gap: 0 90px;}
#group-detail .group-contents .grup-images div { width: 430px; height: 430px;}
#group-detail .group-contents .grup-images div img { width: 100%; height: 100%; object-fit: cover;}

@media screen and (max-width: 1060px) {
	#group-detail .group-contents .grup-images { justify-content: space-around; gap: 20px;}
	#group-detail .group-contents .grup-images div { width: 350px; height: 350px;}
}

@media screen and (max-width: 845px) {
	#group-detail .group-contents .grup-images div { width: 300px; height: 300px;}
}

@media screen and (max-width: 768px) {
	#group-detail .group-contents .grup-images { flex-wrap: wrap;}
}

@media screen and (max-width: 568px) {
	#group-detail .group-contents .grup-images div { width: 250px; height: 250px;}
}

#group-detail .post-contents p { margin-bottom: 45px;}

#group-detail .group-contents .group-detail dl { border: 1px solid #999; display: flex; flex-wrap: wrap;}
#group-detail .group-contents .group-detail dl dt { width: 220px; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; background: #AAEEF9; font-weight: bold; padding: 14.5px 20px; display: flex; align-items: center; line-height: 26px;}
#group-detail .group-contents .group-detail dl dd { width: calc(100% - 220px); border-bottom: 1px solid #ccc; padding: 14.5px 20px; line-height: 26px;}
#group-detail .group-contents .group-detail dl dt:last-of-type,
#group-detail .group-contents .group-detail dl dd:last-of-type { border-bottom: none;}
#group-detail .group-contents .group-detail dl dd a { color: #0871BF; text-decoration: underline; text-underline-offset: 5px;}
#group-detail .group-contents .group-detail dl dd a:after { content: "\f08e"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-left: 0.5em; display: inline-block;}
#group-detail .group-contents .group-detail dl dd.sns a { margin-right: 10px;}
#group-detail .group-contents .group-detail dl dd.sns a:after { display: none;}
#group-detail .group-contents .group-detail dl dd.sns a img { width: 35px; height: 35px;}


@media screen and (max-width: 568px) {
	#group-detail .group-contents .group-detail dl dt { width: 100%; padding: 10px 15px; border-right: none;}
	#group-detail .group-contents .group-detail dl dd { width: 100%; padding: 10px 15px;}
}

#group-detail .group-message { width: calc(100% - 30px); max-width: 1000px; margin: 40px auto; padding: 40px 30px; border: 1px solid #0FBDEF; border-radius: 15px;}
#group-detail .group-message h2 { margin-bottom: 25px; line-height: 0;}
#group-detail .group-message h2 img { width: 155px; line-height: 0;}
#group-detail .group-facebook { text-align: center; margin-bottom: 40px;}

.facebook_wrap{ margin-left: auto; margin-right: auto; width: fit-content;}
.fb-page,
.fb-page span,
.facebook_wrap iframe{ width: 100% !important;}
.fb-page span iframe { left: 50%; transform: translateX(-50%);}

@media screen and (max-width: 568px) {
	#group-detail .group-message { margin: 20px auto 40px; padding: 25px 20px 30px; width: 100%;}
	#group-detail .group-message h2:after { margin-bottom: 0;}
	#group-detail .group-message h2 img { width: 110px;;}
}

#group-detail .list_project_block { padding: 55px 0 20px;}
#group-detail .list_project_block .inner-block { display: flex; flex-wrap: wrap; justify-content: center;}
#group-detail .list_project_block .inner-block h2,
#group-detail .list_archived-project_block .inner-block h2 { width: 100%; font-size: 28px; word-break: auto-phrase;}
#group-detail .list_project_block .inner-block h2:after { content: ""; display: block; width: 120px; height: 2px; background: #EFD120; margin: 20px auto 50px;}
#group-detail .list_project_block .inner-block .project-post-list { width: 100%; justify-content: center;}

#group-detail .list_archived-project_block { padding: 55px 0 40px;}
#group-detail .list_archived-project_block .inner-block h2:after { content: ""; display: block; width: 120px; height: 2px; background: #EFD120; margin: 20px auto 50px;}
#group-detail .list_archived-project_block .inner-block { max-width: 1250px;}
#group-detail .list_archived-project_block .inner-block .project-post-list { justify-content: center;}
#group-detail .list_archived-project_block .inner-block .project-post-list .post-box { background: #f5f5f5;}
#group-detail .list_archived-project_block .inner-block .project-post-list .post-box a .post-text p.detail { margin-bottom: 10px;}

#group-detail .navigation { width: 100%; max-width: 1250px; padding: 0 15px; margin: 0px auto 135px;}
#group-detail .navigation .nav-list a { border: 1px solid #0FBDEF; width: 240px; border-radius: 20px; padding: 8px 13px 9px; display: flex; line-height: 1; align-items: center; gap: 0 15px; font-weight: bold;}
#group-detail .navigation .nav-list a:hover { background: #0FBDEF; color: #fff;}
#group-detail .navigation .nav-list a:before { display: inline; content: ""; width: 12px; height: 18px; background: url(../images/button_arrow_back_blue.png); background-size: contain; background-position: top center; background-repeat: no-repeat; margin-top: 3px;}
#group-detail .navigation .nav-list a:hover:before { display: inline; content: ""; width: 12px; height: 18px; background: url("../images/button_arrow_back_white.png"); background-size: contain; background-position: top center;}

/*** 応援企業のみの要素 ***/
#company h1 { background: #E2F9D2;}
#company h1:before { background: url("../images/ribbon-green.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin-bottom: 30px;}

#company .inner-block { width: 100%; max-width: 1040px; padding: 0px 20px 0px; margin: 0 auto;}
#company .inner-block .title-illust { top: -215px; right: -105px;}

#company .inner-block h2.outline { margin: 60px auto 80px;}

#company .inner-block h2 { margin: 60px auto 20px;}
#company .inner-block h2 img { width: 768px; line-height: 0;}
#company .inner-block h2 + p { font-size: 18px;}

@media screen and (max-width: 1515px) {
	#company .inner-block .title-illust { right: 20px;}
}

@media screen and (max-width: 768px) {
	#company .inner-block .title-illust { right: 15px; top: -175px;}
	#company .inner-block h2.outline { margin: 30px auto;}
}

@media screen and (max-width: 450px) {
	#company .inner-block .title-illust { right: 10px; top: -150px;}
}


#company .list_company_block { background: #F4F4F4; padding: 55px 0;}
#company .list_company_block .inner-block h2 { font-size: 28px; margin-top: 0;}
#company .list_company_block .inner-block h2:after { content: ""; display: block; width: 120px; height: 2px; background: #8BCE5F; margin: 20px auto 50px;}

#company .list_company_block .inner-block .company-post-list .company-post-box { background: #fff; border-radius: 15px; padding: 40px 30px 15px 30px; margin-bottom: 30px; display: grid; grid-template-columns: 160px calc(100% - 160px); grid-template-rows: auto auto auto;}
#company .list_company_block .inner-block .company-post-list .company-post-box h3 { text-align: center; color: #388E00; margin-bottom: 50px; grid-column: 1/3; grid-row: 1/2; display: inherit; font-size: 20px; word-break: auto-phrase;}
#company .list_company_block .inner-block .company-post-list .company-post-box h3:after { display: none;}
#company .list_company_block .inner-block .company-post-list .company-post-box img { grid-column: 1/2; grid-row: 2/3; align-self: center; max-height: 110px; margin: auto;}
#company .list_company_block .inner-block .company-post-list .company-post-box p { grid-column: 2/3; grid-row: 2/3; padding: 0 0 0 20px; font-weight: bold; display: flex; align-items: center;}
#company .list_company_block .inner-block .company-post-list .company-post-box dl { grid-column: 1/3; grid-row: 3/4; border-top: 1px solid #ddd; margin-top: 30px; display: flex; flex-wrap: wrap;}
#company .list_company_block .inner-block .company-post-list .company-post-box dl dt { width: 160px; display: flex; align-items: center; font-weight: bold; border-bottom: 1px solid #8BCE5F;}
#company .list_company_block .inner-block .company-post-list .company-post-box dl dd { width: calc(100% - 160px); padding: 10px 0 10px 20px; border-bottom: 1px solid #ddd;}
#company .list_company_block .inner-block .company-post-list .company-post-box dl dt:last-of-type,
#company .list_company_block .inner-block .company-post-list .company-post-box dl dd:last-of-type { border-bottom: none;}
#company .list_company_block .inner-block .company-post-list .company-post-box dl dd a { color: #0871BF; text-decoration: underline; text-underline-offset: 5px;}
#company .list_company_block .inner-block .company-post-list .company-post-box dl dd a:after { content: "\f08e"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-left: 0.5em; display: inline-block;}

@media screen and (max-width: 768px) {
	#company .list_company_block .inner-block h2 { font-size: 22px;}
	#company .list_company_block .inner-block .company-post-list .company-post-box { grid-template-rows: auto auto auto auto; padding: 20px;}
	#company .list_company_block .inner-block .company-post-list .company-post-box h3 { margin-bottom: 25px;}
	#company .list_company_block .inner-block .company-post-list .company-post-box img { grid-row: 2 / 3; grid-column: 1 / 3; margin-bottom: 25px;}
	#company .list_company_block .inner-block .company-post-list .company-post-box p { grid-row: 3 / 4; grid-column: 1 / 3; padding-left: 0;}
	#company .list_company_block .inner-block .company-post-list .company-post-box dl { grid-row: 4 / 5;}
	#company .list_company_block .inner-block .company-post-list .company-post-box dl dt { width: 100%; padding: 5px 0;}
	#company .list_company_block .inner-block .company-post-list .company-post-box dl dt:last-of-type { border-bottom: 1px solid #8BCE5F;}
	#company .list_company_block .inner-block .company-post-list .company-post-box dl dd { width: 100%; padding: 5px 0; margin-bottom: 15px;}
	#company .list_company_block .inner-block .company-post-list .company-post-box dl dd:last-of-type { border-bottom: 1px solid #ddd;}
}

#company .search-block { padding-bottom: 80px;}
#company .search-block .hamburger { border-color: #8BCE5F; background: #fff;}
#company .search-block .hamburger > label::before,
#company .search-block .hamburger > label::after { background: #8BCE5F;}
#company .search-block .hamburger > label h2 { background: #fff;}
#company .search-block > input ~ .hamburger ol { display: block; margin: 0px; visibility: hidden; padding: 0 30px 0 50px; z-index: -1; position: relative; transform: translateY(-100%); height: 0; transition: 0.25s ease; }
#company .search-block > input:checked ~ .hamburger ol { display: block; padding: 16.5px 30px 5px 50px; transition: 0.25s ease; list-style: none; visibility: inherit;  z-index: 0; height: 100%;transform: translateY(0%);}

@media screen and (max-width: 768px) {
	#company .inner-block h2 + p { font-size: 14px;}
	#company .search-block .hamburger > label h2 { font-size: 18px;}
}

@media screen and (max-width: 568px) {
	#company .search-block > input:checked ~ .hamburger ol { padding: 0 30px;}
}

@media screen and (max-width: 375px) {
	#company .search-block .hamburger > label h2 { font-size: 14px;}
}

/*** モデル的な取組 ***/
#page-model .inner-block { max-width: 1040px;}
#page-model h1 { background: #D2F4FC;}
#page-model h1:before { background: url("../images/ribbon-blue.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin-bottom: 30px;}

#page-model .description h2.outline { color: #0FBDEF; margin: 50px auto 60px;}
#page-model .description p { font-size: 18px; line-height: 28px; margin-bottom: 50px;}
#page-model .description ul li { list-style: none; margin-bottom: 35px; border: 2px solid #0FBDEF; border-radius: 18px; overflow: hidden;}
#page-model .description ul li a { color: inherit; text-decoration: none;}
#page-model .description ul li a dl { display: flex;}
#page-model .description ul li a dl dt { width: 420px; flex-shrink: 0; overflow: hidden;}
#page-model .description ul li a dl dt img { height: 100%; object-fit: cover;}
#page-model .description ul li a:hover dl dt img { transform: scale(1.2); transition: 0.5s;}
#page-model .description ul li a dl dd { padding: 35px 30px 20px;}
#page-model .description ul li a dl dd > p { font-size: 26px; line-height: 40px; font-weight: bold; margin-bottom: 0; height: 155px; border-bottom: 1px solid #0FBDEF;}
#page-model .description ul li a dl dd .info { display: flex; align-items: center;  margin-top: 20px;}
#page-model .description ul li a dl dd .info p { margin-bottom: 0;}
#page-model .description ul li a dl dd .info p.area { display: flex; align-items: center; font-size: 18px; font-weight: bold; margin-right: 30px;}
#page-model .description ul li a dl dd .info p.area:before { content: ""; display: inline; width: 23px; height: 34px; background: url("../images/post-box_city.png"); background-size: contain; background-position: center center; background-repeat: no-repeat; margin-right: 10px;}
#page-model .description ul li a dl dd .info p.group-name { color: #0FBDEF; font-size: 18px; font-weight: bold; display: flex; align-items: center;}
#page-model .description ul li a dl dd .info p.group-name:before { content: "団体"; color: #333; font-size: 13px; font-weight: normal; height: 22px; width: 36px; display: flex; justify-content: center; align-items: center; border: 1px solid #333; margin: 2px 10px 0 0;}

#page-model .system { background: #F5F5F5; padding: 70px 0 35px;}
#page-model .system img { margin-bottom: 60px;}
#page-model .system a { display: block; color: #0FBDEF; text-decoration: underline; text-underline-offset: 5px; margin-bottom: 30px;}

#page-model .support .inner-block { max-width: 1280px; padding: 65px 20px 40px;}
#page-model .support h2 { font-size: 28px;}
#page-model .support h2:after { content: ""; display: block; width: 120px; height: 2px; background: #0FBDEF; margin: 20px auto 50px;}
#page-model .support .project-post-list { margin-bottom: 0;}
#page-model .support .post-box { background: #f5f5f5;}
#page-model .support .post-box a .post-text { padding-bottom: 20px;}
#page-model .support .post-box a .post-text p.name { min-height: 2.4em;
align-items: flex-start;}
#page-model .support .post-box a .post-text p.category span { background: #0FBDEF;}

@media screen and (max-width: 1280px) {
	#page-model .description p { font-size: 14px; line-height: 24px;}
	
	#page-model .support .post-box a .post-text { padding-bottom: min(15px, calc((5 / 375) * 100vw));}
	#page-model .support .post-box a .post-text p.name { min-height: auto;}
}

@media screen and (max-width: 980px) {
	#page-model .description ul li a dl { flex-wrap: wrap;}
	#page-model .description ul li a dl dt { width: 100%;}
	#page-model .description ul li a dl dt img { height: 200px; width: 100%;}
	#page-model .description ul li a dl dd { width: 100%; padding: 20px 15px 15px;}
	#page-model .description ul li a dl dd > p { height: auto; padding-bottom: 20px;}
	#page-model .description ul li a dl dd .info { margin-top: 15px;}
}

@media screen and (max-width: 568px) {
	#page-model .description h2.outline { margin: 30px auto;}
	#page-model .description ul li a dl dd > p { font-size: 20px; line-height: 34px;}
	#page-model .description ul li a dl dd .info { flex-wrap: wrap; gap: 10px;}
	#page-model .description ul li a dl dd .info p.area { flex-shrink: 0; font-size: 14px; margin-right: 0; width: 100%;}
	#page-model .description ul li a dl dd .info p.area:before { width: 18px; height: 24px; margin-right: 5px;}
	#page-model .description ul li a dl dd .info p.group-name { font-size: 14px;}
	#page-model .description ul li a dl dd .info p.group-name:before { flex-shrink: 0; margin-right: 5px;}
}

/*** サイトについて ***/
#page-howto .inner-block { max-width: 1040px;}
#page-howto .description h2.outline.white { color: #fff; font-size: 26px !important; line-height: 58px; margin-bottom: 45px;}
#page-howto .description h2.outline span { display: inline-block; vertical-align: bottom;}
#page-howto .description h2.outline .black { color: #000; text-shadow: 0.5px 0.5px 0px #000, -0.5px 0.5px 0px #000, 0.5px -0.5px 0px #000, -0.5px -0.5px 0px #000; font-size: 36px; line-height: 58px;}
#page-howto .description h2.outline .yellow { color: #E1CC31; font-size: 36px; line-height: 58px;}
#page-howto .description h2.outline .orange { color: #FF8544; font-size: 36px; line-height: 58px;}
#page-howto .description h2.outline small.black { text-shadow: none; font-size: 20px; line-height: 55px;}
#page-howto .description .notice { padding: 40px 30px;}

#page-howto .abailable { margin-bottom: 75px; padding-inline: 20px;}
#page-howto .abailable .point-content { display: grid; grid-template-columns: 360px auto; grid-template-rows: auto 1fr auto; margin-bottom: 15px; gap: 0 70px; padding: 0 5px 0 20px;;}
#page-howto .abailable .point-content h4 { grid-column: 1/3; grid-row: 1/2; margin-bottom: 25px; padding-left: 25px; margin-top: 0; border-bottom: none; font-size: 20px;}
#page-howto .abailable .point-content img { grid-column: 1/2; grid-row: 2/4; margin-bottom: 10px;}
#page-howto .abailable .point-content p { grid-column: 2/3; grid-row: 2/3;}
#page-howto .abailable .point-content .button { grid-column: 2/3; grid-row: 3/4; padding-bottom: 0;}
#page-howto .abailable .point-content .button a { max-width: 100%; font-size: 18px; height: auto; min-height: 50px; border-radius: 25px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; color: #333; text-decoration: none;}
#page-howto .abailable .point-content .button a:hover { color: #FF8544;}
#page-howto .abailable .point-content .button a br { display: none;}

@media screen and (max-width: 980px) {
	#page-howto .description h2.outline.white { font-size: max(14px, calc((26 / 980) * 100vw))!important; line-height: max(42px, calc((58 / 980) * 100vw));}
	#page-howto .description h2.outline small.black { font-size: max(16px, calc((20 / 980) * 100vw)); line-height: max(38px, calc((55 / 980) * 100vw));}
	#page-howto .description h2.outline .black,
	#page-howto .description h2.outline .yellow,
	#page-howto .description h2.outline .orange { font-size: max(18px, calc((36 / 980) * 100vw)); line-height: max(42px, calc((58 / 980) * 100vw));}
	#page-howto .abailable .steps li:last-of-type { margin-bottom: 0;}
	#page-howto .abailable .point-content { display: flex; flex-wrap: wrap; padding: 0 20px;}
	#page-howto .abailable .point-content h4 { margin-top: 20px;}
	#page-howto .abailable .point-content img { width: 100%; max-width: 360px; margin: 0 auto 25px;}
	#page-howto .abailable .point-content .button { width: 100%; max-width: 500px; margin: 20px auto 0;}
}

@media screen and (max-width: 768px) {
	#page-howto .abailable .point-content { margin-bottom: 20px;}
}

@media screen and (max-width: 568px) {
	#page-howto .description h2.outline.white { font-size: max(12px, calc((15 / 568) * 100vw))!important; line-height: max(30px, calc((42 / 568) * 100vw));}
	#page-howto .description h2.outline small.black { font-size: max(14px, calc((16 / 568) * 100vw)); line-height: max(26px, calc((38 / 568) * 100vw));}
	#page-howto .description h2.outline .black,
	#page-howto .description h2.outline .yellow,
	#page-howto .description h2.outline .orange { font-size: max(18px, calc((21 / 568) * 100vw)); line-height: max(30px, calc((42 / 568) * 100vw));}

	#page-howto .abailable .point-content { padding: 0; margin-bottom: 50px;}
	#page-howto .description .notice { padding: 40px 15px 20px;}
	#page-howto .abailable .point-content h4 { margin-top: 50px; margin-bottom: 25px; padding-left: 0px;}
}

@media screen and (max-width: 450px) {
	#page-howto .abailable .point-content h4 { font-size: 16px;}
	#page-howto .abailable .point-content .button a { height: auto;}
}

/*** 会員【利用手引き】 ***/
#page-supporter .inner-block { max-width: 1040px;}

#page-supporter #about-entry img.half { margin-bottom: 80px;}

#page-supporter .inner-block.border-box h3 { margin-bottom: 35px;}

#page-supporter section { margin-bottom: 40px; padding-inline: 20px;}
#page-supporter .links { margin-bottom: 20px; padding-inline: 0px;}
#page-supporter .links ul { padding-top: 0;}

#page-supporter #about-project .inner-block.border-box h3 + p { margin-bottom: 30px;}

@media screen and (max-width: 450px) {
	#page-supporter #about-entry img.half { margin-bottom: 40px;}
}

/*** 活動団体【利用手引き】 ***/
#page-organization h1 { background: #D2F4FC;}
#page-organization h1:before { background: url("../images/ribbon-blue.png"); background-size: contain; background-position: center top; background-repeat: no-repeat; margin-bottom: 30px;}

#page-organization .inner-block.border-box h3 { margin-bottom: 35px;}

#page-organization section { margin-bottom: 60px; padding-inline: 20px;}
#page-organization .links { padding-inline: 0;}

#page-organization .links { margin-bottom: 30px;}
#page-organization .links ul { padding-top: 0;}

#page-organization #about-activity picture img { margin: 50px auto 30px;}

#page-organization #about-report picture img { margin: 40px auto 10px;}
#page-organization #about-activity .button,#page-organization #about-report .button { padding-bottom: 10px;}

#page-organization #about-contact { margin-bottom: 320px;}

@media screen and (max-width: 980px) {
	#page-organization .links { margin-bottom: 20px;}
}

@media screen and (max-width: 768px) {
	#page-organization h1:before { margin-bottom: 20px;}
}

@media screen and (max-width: 450px) {
	#page-organization h1:before { margin-bottom: 10px;}
}

/*** 新規登録 ***/
#page-entry section { margin-bottom: 40px; padding-inline: 20px;}

#page-entry .links { margin-bottom: 0px; padding-inline: 0px;}

#page-entry #for-person h3 { margin-bottom: 30px;}

#page-entry #for-person .inner-block.border-box .button { padding-bottom: 0; margin: 30px auto 20px;}
#page-entry #for-person .inner-block.border-box .button:first-of-type { margin-top: 50px;}

#page-entry #for-group .inner-block.border-box .button { padding-bottom: 0; margin: 30px auto 20px;}
#page-entry #for-group .inner-block.border-box .button:first-of-type { margin-top: 50px;}

#page-entry #corp-college .inner-block.border-box .button { padding-bottom: 0; margin: 30px auto 20px;}
#page-entry #corp-college .inner-block.border-box .button:first-of-type { margin-top: 50px;}

#page-entry #contact .inner-block.border-box .button { padding-bottom: 0; margin: 30px auto 20px;}
#page-entry #contact .inner-block.border-box .button:first-of-type { margin-top: 75px;}
#page-entry #contact .inner-block.border-box p { text-align: center;}



/*** 利用規約 ***/
#page-terms article h2:after { margin-bottom: 50px;}
#page-terms article { padding-bottom: 60px;}
#page-terms article p { margin-bottom: 00px;}

#page-terms article h3 { margin-bottom: 30px;}
#page-terms article ol { margin-bottom: 0px;}
#page-terms article p + ol { margin-top: 5px;}
#page-terms article ol li { font-size: 16px; font-weight: normal; margin-bottom: 0; line-height: 28px; padding-left: 0.5em;}
#page-terms article ol.lv2 { margin: 5px 0 5px 1.5em;}
#page-terms article li ol.lv2 { margin: 5px 0 5px 1.25em;}
#page-terms article ol.lv2 li { list-style-type: none; counter-increment: cnt; position: relative; padding-left: 0em;}
#page-terms article ol.lv2 li::before { content: "（" counter(cnt) "）"; display: inline-block; margin-left: -3em; width: 3em; text-align: right; position: absolute; top: 0; left: 0;}

#page-terms .conclusion { font-weight: bold;}

@media screen and (max-width: 768px) {
	#page-terms article ol li { font-size: 14px; line-height: 1.8;}
}

/*** サイトマップ ***/
body#page-sitemap .site-main { width: 100%; max-width: 1000px;}

#page-sitemap .page-lists { display: flex; flex-wrap: wrap; gap: 40px; padding-top: 60px;}

#page-sitemap .page-lists .inner-block { width: calc(50% - 20px); padding: 40px 38px;}
#page-sitemap .page-lists .inner-block img { display: block; width: 178px; height: 133px; object-fit: contain; margin: 0 auto 50px;}
#page-sitemap .page-lists .inner-block.yellow img { width: 222px; height: 126px; margin: 5px auto 52px;}
#page-sitemap .page-lists .inner-block.blue img { width: 256px; height: 153px; margin: 0 auto 15px;}
#page-sitemap .page-lists .inner-block.green img { width: 218px; height: 130px; margin: 5px auto 33px;}
#page-sitemap .page-lists .inner-block p { text-align: center; font-size: 26px; line-height: 36px; font-weight: bold; border-bottom: 4px solid #FF8544; padding-bottom: 10px; margin-bottom: 20px; display: flex; justify-content: center; align-items: center; gap: 0 5px;}
#page-sitemap .page-lists .inner-block.yellow p { border-bottom-color: #EFD120;}
#page-sitemap .page-lists .inner-block.blue p { border-bottom-color: #0FBDEF;}
#page-sitemap .page-lists .inner-block.green p { border-bottom-color: #8BCE5F;}
#page-sitemap .page-lists .inner-block p span { font-size: 20px;}
#page-sitemap .page-lists .inner-block ul { margin-bottom: 0;}
#page-sitemap .page-lists .inner-block ul li { padding-left: 0px; display: flex; align-items: center;}
#page-sitemap .page-lists .inner-block ul li:before { color: #FF8544; border-width: 7.5px 10px; border-style: solid; border-color: transparent; border-left-color: currentColor; border-right: 0; background: transparent; border-radius: 0%; margin: 3px 5px 0 0;}
#page-sitemap .page-lists .inner-block.yellow ul li:before { color: #EFD120;}
#page-sitemap .page-lists .inner-block.blue ul li:before { color: #0FBDEF;}
#page-sitemap .page-lists .inner-block.green ul li:before { color: #8BCE5F;}
#page-sitemap .page-lists .inner-block ul li a { line-height: 2; margin-left: 1em;}

@media screen and (max-width: 900px) {
	#page-sitemap .page-lists .inner-block { padding: 25px;}
}

@media screen and (max-width: 768px) {
	#page-sitemap .page-lists .inner-block { width: 100%;}
}

@media screen and (max-width: 450px) {
	#page-sitemap .page-lists .inner-block p { font-size: 18px; line-height: 1.8;}
	#page-sitemap .page-lists .inner-block p span { font-size: 12px;}
	#page-sitemap .page-lists .inner-block:first-of-type p span { font-size: 18px;}
}



section.form,
#page-group-entry-request section,
#page-project-entry-request section,
#page-company-entry-request section { padding-inline: 20px;}
section.form .form-control { margin-top: 45px;}
#page-project-entry-request h4 { font-size: 18px; margin-bottom: -10px; }

@media screen and (max-width: 900px) {
	section.form h3.heading,
	#page-group-entry-request h3.heading,
	#page-project-entry-request h3.heading { margin-bottom: 15px;}
	section.form .checkbox-area,
	#page-group-entry-request .checkbox-area,
	#page-project-entry-request .checkbox-area { margin-top: -5px;}
	#page-project-entry-request h4 { margin-bottom: 5px}
}

@media screen and (max-width: 768px) {
	section.form .form-complete { padding: 20px !important;}
	section.form .form-container .form-row .label { width: 100%;}
	#page-project-entry-request h4 { font-size: 16px;}
}

@media screen and (max-width: 568px) {
	h3.heading { flex-direction: column-reverse; align-items: flex-start;}
	#page-group-entry-request h3.heading { flex-direction: column;}
}

@media screen and (max-width: 450px) {
	section.form .form-control .submit-button button { font-size: 18px;}
}

/*** ふじのくにパスポート＋会員登録 ***/
#page-registration h1,
#page-magazine h1 { background: #FCF9D2;}
#page-registration h1:before,
#page-magazine h1:before { background: url("../images/ribbon-yellow.png"); background-position: center top; background-repeat: no-repeat; background-size: contain;}

#page-registration .form-control .submit-button button { line-height: 28px;}

@media screen and (max-width: 845px) {
	#page-registration h1 { font-size: 46px;}
}

@media screen and (max-width: 768px) {
	#page-registration h1 { font-size: 32px;}
	#page-registration h1:before { margin-bottom: 50px;}
}

@media screen and (max-width: 568px) {
	#page-registration h1 { font-size: 26px;}
	#page-registration h1:before { margin-bottom: 55px;}
}

@media screen and (max-width: 450px) {
	#page-registration h1 { width: 245px; font-size: 24px; padding-inline: calc((100% - 245px) / 2); box-sizing: content-box; text-align: center;}
	#page-registration h1:before { margin-bottom: 25px;}
}

/*** 活動団体情報新規登録申請 ***/
#page-group-entry-request h1,
#page-project-entry-request h1 { background: #D2F4FC;}
#page-group-entry-request h1:before,
#page-project-entry-request h1:before { background: url("../images/ribbon-blue.png"); background-position: center top; background-repeat: no-repeat; background-size: contain;}

#page-group-entry-request section .container { padding-inline: 20px;}

#page-group-entry-request h3.heading + p { padding-inline: 20px;}

#page-group-entry-request .tel-flg { margin-top :10px;}

#page-group-entry-request .model { gap: 30px 15px;}
#page-group-entry-request .model > div { width: calc((100% - 30px) / 2);}
#page-group-entry-request .model .label-container { flex-direction: column;}
#page-group-entry-request .model .label-container .label-description { color: #0FBDEF; font-size: 12px; line-height: 18px; font-weight: bold;}

#page-group-entry-request .terms { background: #f4f4f4; border-radius: 10px; padding: 20px; margin-bottom: 35px;}
#page-group-entry-request .terms ul li { font-size: 14px; line-height: 22px;}
#page-group-entry-request .terms .terms-area { justify-content: flex-start; padding-bottom: 10px;}
#page-group-entry-request .terms .terms-area input { display: none;}
#page-group-entry-request .terms .terms-area label { display: flex; align-items: center; position: relative;}
#page-group-entry-request .terms .terms-area label::before { content: ""; display: block; height: 24px; width: 24px; border: 1px solid #999; border-radius: 5px; margin-right: 10px; flex-shrink: 0; background: #fff;}
#page-group-entry-request .terms .terms-area input:checked ~ label:before { border-color: #0FBDEF; background: #0FBDEF;}
#page-group-entry-request .terms .terms-area label::after { content: ""; display: block; width: 19px; height: 14px; background: url("../images/checked.png"); background-size: auto; background-size: contain; position: absolute; top: 50%; left: 2px; transform: translateY(-50%);}

@media screen and (max-width: 900px) {
	#page-group-entry-request h3.heading { flex-direction: column; align-items: flex-start;}
}

@media screen and (max-width: 568px) {
	#page-group-entry-request h1 { font-size: min(48px, calc(26 / 375)* 100vw);}
}

@media screen and (max-width: 450px) {
	#page-group-entry-request .form-control .submit-button button { padding-inline: 15px;}
}

@media screen and (max-width: 375px) {
	#page-group-entry-request h1 { font-size: min(48px, calc(24 / 375)* 100vw);}
	#page-group-entry-request h1:before { margin-bottom: 40px;}
}


/*** 活動プロジェクト新規登録申請 ***/
#page-project-entry-request .form-container.city .checkbox-area { justify-content: flex-start;}
#page-project-entry-request .form-container .form-row .input input[type="radio"]:checked + label:before { border: 1px solid #0FBDEF;}
#page-project-entry-request .form-container .form-row .input input[type="radio"]:checked + label:after { background: #0FBDEF;}

@media screen and (max-width: 768px) {
	#page-project-entry-request h1 { font-size: min(30px, calc(24 / 375)* 100vw);}

	#page-project-entry-request section .container { padding-inline: 20px;}

	#page-project-entry-request .form-container .form-row .label { width: auto;}
}

@media screen and (max-width: 568px) {	
	#page-project-entry-request h1 { font-size: min(48px, calc(22 / 375)* 100vw);}

	#page-project-entry-request h3.heading { flex-direction: column; align-items: flex-start;}
}

@media screen and (max-width: 450px) {	
	#page-project-entry-request .form-control .submit-button button { padding-inline: 10px;}
}

@media screen and (max-width: 375px) {	
	#page-project-entry-request h1:before { margin-bottom: 40px;}
}



/*** 応援企業等 新規登録申請 ***/
#page-company-entry-request h1 { background: #E2F9D2;}
#page-company-entry-request h1:before { background: url("../images/ribbon-green.png"); background-position: center top; background-repeat: no-repeat; background-size: contain;}

#page-company-entry-request section .container { padding-inline: 20px;}

#page-company-entry-request .form-container { padding-inline: 0;}

#page-company-entry-request .form-container .form-row .label { justify-content: flex-start;}
#page-company-entry-request .form-container .form-row .label .badge { margin-left: 1em;}

@media screen and (max-width: 768px) {
	#page-company-entry-request .form-container .form-row .label { width: auto;}
}

@media screen and (max-width: 375px) {
	#page-company-entry-request h1 { font-size: min(48px, calc(26 / 375)* 100vw);}
	#page-company-entry-request h1:before { margin-bottom: 35px;}
}


/*** お問い合わせ ***/
#page-inquiry .form-container { padding-inline: 0;}




