@charset "utf-8";

/* ============================================
   Global Reset and Base Styles
   ============================================ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
	display: block;
}

ul {
	list-style: none;
}

a {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* ============================================
   Base HTML/Body Styles
   ============================================ */
html, body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	color: #444444;
	min-width: 1080px;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

::selection {
	background: #CCC;
	color: #fff;
}

::-moz-selection {
	background: #CCC;
	color: #fff;
}

.PC {
	display: block;
}

.SP {
	display: none;
}

.newLineTB {
	display: none;
}

.newLineSP {
	display: none;
}

img {
	border-style: none;
}

a {
	cursor: pointer;
	text-decoration: none;
}

a:link {
	color: #000;
}

a:visited {
	color: #000;
}

a:hover {
	color: #000;
}

a:active {
	color: #000;
}

a {
	color: #000;
}

.start svg {
	backface-visibility: hidden;
	transform: translateZ(0);
}

.inner {
	width: 1050px;
	margin: 0 auto;
}

.contentWrap {
	position: relative;
	background-color: #F7F5F5;
}

/* Bring furusato clipped images to front when needed */
.furusatoImages li {
	position: relative;
	z-index: 9000; /* put above header/nav (navFixed z-index:8000) */
}
.furusatoImages .thumImage {
	position: relative;
	z-index: 9000;
}
.furusatoImages .thumImage svg {
	position: relative;
	z-index: 9100; /* svg above its li container */
	display: block;
	max-width: 100%;
	height: auto;
}

main {
	display: block !important;
}

.slick-slide {
	outline: none !important;
}

.slideItem a {
	outline: none !important;
}

/* ============================================
   Header and Navigation Styles
   ============================================ */
.modal {
	position: fixed;
	display: table;
	top: 48px;
	left: 0;
	width: 100%;
	height: auto;
	background: #058DBF;
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: hidden;
	opacity: 0;
}

.modal > ul {
	display: table-cell;
	vertical-align: middle;
}

.modal li {
	width: 100%;
	height: 48px;
	line-height: 48px;
	padding-left: 16px;
	margin: 0 auto;
	text-align: left;
}

.modal li a {
	display: block;
	font-size: 18px;
	color: #ffffff;
	text-decoration: none;
}

.modal li a:hover {
	color: #ffffff;
}

.modal > ul > li {
	border-bottom: solid 1px #ffffff;
	position: relative;
}

.modal > ul > li:last-child {
	border-bottom: 0;
}

.modal > ul > li::after {
	position: absolute;
	content: "";
	right: 16px;
	top: 13px;
	width: 8.43px;
	height: 16.86px;
	background-image: url(/share/imgs/cp/top/images/arrow.png);
	background-repeat: no-repeat;
	background-position: center;
}

.open .modal {
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: visible;
	opacity: 1;
	z-index: 8000;
}

.menu-trigger,
.menu-trigger span {
	display: block;
	transition: all .4s;
	box-sizing: border-box;
}

.menu-trigger {
	display: none;
	position: fixed;
	width: 32px;
	height: 16px;
	top: 16px;
	right: 16px;
	z-index: 9000;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.big .menu-trigger {
	display: none;
}

.menu-trigger span {
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #058DBF;
	border-radius: 0px;
	z-index: 9999;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}

.menu-trigger span:nth-of-type(2) {
	top: 7px;
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.open .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}

.open .menu-trigger span:nth-of-type(2) {
	opacity: 0;
}

.open .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}

#header {
	width: 100%;
	background-color: #fff;
	position: absolute;
}

#header::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	background-color: #058DBF;
}

.page #header::before {
	display: none !important;
}

#header .inner {
	position: relative;
}

.logoHome {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 7002;
	opacity: 0;
}

.navHome {
	position: absolute;
	right: 0;
	z-index: 1000;
}

.navHome ul li {
	float: left;
	opacity: 0;
	-webkit-transition: all 1.6s;
	-moz-transition: all 1.6s;
	-ms-transition: all 1.6s;
	-o-transition: all 1.6s;
	transition: all 1.6s;
}

.navHome ul li a {
	position: relative;
	display: block;
}

.navHome ul li.onPage a .iconHover {
	visibility: visible;
	opacity: 1;
}

.big .navFixed {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.page .navFixed {
	visibility: visible !important;
	opacity: 1 !important;
}

.navFixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 85px;
	background-color: #ffffff;
	z-index: 8000;
	visibility: visible;
	opacity: 1;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.navFixed::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	background-color: #058DBF;
}

.navFixed ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 1050px;
	margin: 0 auto;
	height: 85px;
}

.navFixed ul li:last-child {
	display: none;
}

.navFixed ul li a {
	font-size: 15px;
	line-height: 20px;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
	color: #222222;
	position: relative;
	display: block;
}

.navFixed ul li a:hover {
	color: #058DBF;
}

.navFixed ul li.onPage a {
	color: #058DBF !important;
}

.navFixed ul li a::after {
	position: absolute;
	top: 50%;
	left: -24px;
	transform: translate(0%, -50%);
	content: "";
	width: 16px;
	height: 14px;
	background-image: url(/share/imgs/cp/top/images/iconHoverBlue.svg);
	background-size: 16px;
	background-repeat: no-repeat;
	opacity: 0;
}

.navFixed ul li:last-child a::after {
	display: none;
}

.navFixed ul li.onPage a::after {
	opacity: 1 !important;
}

.breadcrumb {
	width: 100%;
	height: 26px;
	background-color: #F7F5F5;
}

.breadcrumb p {
	font-size: 10px;
	line-height: 12px;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
	padding: 8px 0;
}

/* ============================================
   Footer Styles
   ============================================ */
#footer {
	background-color: #058DBF;
	padding-top: 40px;
	padding-bottom: 40px;
	position: relative;
}

#footer .inner {
	padding-left: 80px;
}

.footerWave {
	position: absolute;
	left: 0;
	width: 100%;
	height: 80px;
	top: -78px;
	background-image: url(../imgs/cp/top/images/footerWave@2x.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: 100;
}

.footerWave::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 4px;
	background-color: #058DBF;
	z-index: 1000;
}

.navFooter ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 32px;
	width: 820px;
	height: 30px;
}

.navFooter ul li {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	border-right: solid 1px #ffffff;
	padding-right: 30px;
	height: 30px;
}

.navFooter ul li:last-child {
	border-right: none;
	padding-right: 0;
}

.navFooter ul li:first-child {
	padding-left: 0;
}

.navFooter ul li a {
	font-size: 12px;
	line-height: 14px;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
	color: #ffffff;
}

.navFooter ul li.furusato {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.footerText {
	position: relative;
	width: 760px;
}

.footerText a {
	color: inherit;
}

.logoHachioji {
	position: absolute;
	top: -20px;
	right: -120px;
}

.footerContact {
	font-size: 10.4px;
	line-height: 10.4px;
	letter-spacing: 0;
	font-weight: normal;
	text-align: left;
	color: #ffffff;
	margin: 12px 0;
}

.footerContact a {
	color: inherit;
}

.copyright {
	font-size: 10.4px;
	letter-spacing: 0;
	font-weight: normal;
	text-align: center;
	color: #ffffff;
	margin: 12px 0;
}

#pageTop {
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 7000;
	cursor: pointer;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

#pageTop img {
	width: 132.498px;
	height: 131.057px;
}

a.phoneLink {
	pointer-events: auto;
	cursor: pointer;
	text-decoration: underline;
}

/* ============================================
   Goodpoint Page Styles
   ============================================ */
.goodpointSlide {
	display: block !important;
	opacity: 0;
	background-color: #FFFFFF;
}

.goodpointSlideSP {
	display: none !important;
	background-color: #FFFFFF;
}

#goodpoint {
	padding-top: 85px;
}

.keyVisual {
	position: relative;
	z-index: 0;
	background-color: #FFFFFF;
}

.keyVisualWave {
	position: absolute;
	left: 0;
	height: 44px;
	top: -66px;
	width: 100%;
	background-image: url(../imgs/cp/images/pageWaveWhite@2x.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: 1000;
}

.keyVisualWave::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 4px;
	background-color: #FFFFFF;
	z-index: 1000;
}

.contentWrap .keyVisualWave {
	z-index: 100;
}

.contentWrap {
	position: relative;
	padding-top: 47px;
	overflow: visible;
}

.contentWrap2 {
	padding-top: 0;
}

.titleGoodpoint {
	width: 442.73px;
	margin: 0 auto;
	padding-top: 30px;
	text-align: center;
}

.titleGoodpoint img {
	width: auto;
	max-width: 100%;
}

.goodpointDescription {
	font-size: 16px;
	line-height: 1.875em;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: center;
	margin-top: 51px;
}

.goodpointWrap {
	position: relative;
	padding: 0px;
}

.anchor {
	position: absolute;
	top: -60px;
	width: 100%;
}

.icon {
	width: 78px;
	margin-left: 11px;
	margin-right: 11px;
	float: left;
}

.icon img {
	width: 100%;
}

.textWrap {
	width: 598px;
	float: left;
}

.textWrap h2 {
	font-size: 28px;
	line-height: 1.5em;
	letter-spacing: .01em;
	font-weight: bold;
	text-align: left;
}

.textWrap p {
	font-size: 16px;
	line-height: 1.875em;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
}

.dotted {
	width: 100%;
	height: 20px;
	margin-top: 10px;
}

.dotted line {
	fill: none;
	stroke: #058DBF;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 0.5, 4;
}

.goodpointThum {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 59px;
}

.goodpointThum li {
	width: 336px;
	margin-bottom: 30px;
}

.thumImage img {
	border-radius: 5px;
}

.thumTitle {
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.714em;
	letter-spacing: .01em;
	font-weight: bold;
	text-align: left;
}

.thumCaption {
	margin-top: 4px;
	font-size: 10px;
	line-height: 1.7em;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
}

.thumCaption a {
	text-decoration: underline;
}

.btn {
	text-align: center;
}

.btn a {
	position: relative;
	display: inline-block;
	font-size: 12px;
	line-height: 1em;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
	padding-left: 19px;
	padding-right: 42px;
	padding-top: 24px;
	padding-bottom: 24px;
	border: solid 1px #707070;
	background-color: #ffffff;
	opacity: 1;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.btn a::after {
	position: absolute;
	content: "";
	width: 6px;
	height: 11px;
	right: 16px;
	top: 24px;
	background-image: url(/share/imgs/cp/images/arrow@2x.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.bannerWrap {
	width: 998px;
	margin: 0 auto;
}

.bannerWrap a {
	display: block;
	float: left;
	width: 300px;
	margin-left: 20px;
	opacity: 1;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.bannerWrap a img {
	width: 100%;
}

/* ============================================
   Voice Related Styles
   ============================================ */
#voice {
	padding-top: 85px;
}

.slideTopVoice {
	opacity: 0;
}

.slideTopVoice .slideItem a {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.slideTopVoice .slideItem a {
	position: relative;
	padding-top: 2px;
}

.voiceThumHover {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.voiceTextWrap {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1000;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 40%;
	opacity: 1;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.slideTopVoice li:nth-child(2n+1) .voiceTextWrap {
	margin-top: -6px;
}

.voiceTitle {
	font-size: 14px;
	line-height: 24px;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: center;
	color: #ffffff;
	margin-bottom: 24px;
}

.voiceTitle.longText {
	margin-bottom: 8px;
}

.voiceName {
	font-size: 16px;
	line-height: 21px;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: center;
	color: #000000;
}

.voicePosition {
	font-size: 12px;
	line-height: 12px;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: center;
	color: #222222;
	margin-bottom: 8px;
}

.voiceNameBig {
	font-size: 20px !important;
	letter-spacing: .2em;
	font-weight: 300 !important;
}

.voiceCatchWrap {
	background-color: #ffffff;
	padding: 36px 0;
	padding-top: 44px;
}

.titleVoice {
	width: 484.84px;
	margin: 0 auto;
}

.titleVoice img {
	width: 100%;
}

.textVoice {
	font-size: 16px;
	line-height: 1.875em;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: center;
	color: #222222;
}

.voiceGrid {
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.voiceGrid li {
	width: 518.5px;
	height: 350px;
	background-color: #ffffff;
	border-radius: 5px;
	border: solid 1px #D0D0D0;
	margin-bottom: 50px;
}

.voiceGrid li:hover {
	background-color: #E95E1C;
}

.voiceGrid li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 28px;
	position: relative;
}

.gridTitle {
	font-size: 22px;
	line-height: 1.5em;
	letter-spacing: .05em;
	font-weight: bold;
	text-align: left;
}

.voiceGrid li:hover .gridTitle {
	color: #ffffff;
}

.gridPosition {
	font-size: 16px;
	line-height: 1em;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
	margin-top: 20px;
}

.voiceGrid li:hover .gridPosition {
	color: #ffffff;
}

.gridName {
	font-size: 22px;
	line-height: 1.4em;
	letter-spacing: .01em;
	font-weight: normal;
	text-align: left;
	margin-top: 16px;
}

.gridNameBig {
	font-size: 26px !important;
	letter-spacing: .2em;
	font-weight: 300 !important;
}

.voiceGrid li:hover .gridName {
	color: #ffffff;
}

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

/* ============================================
   Education Related Styles
   ============================================ */
#education {
	padding-top: 85px;
}

.educationWrap {
	padding: 80px 0 0 0;
}

.educationWrap.orange .dotted line {
	stroke: #E95E1C;
}

.educationWrap.blue .dotted line {
	stroke: #058DBF;
}

.educationWrap.green .dotted line {
	stroke: #1D9135;
}

.featureNo {
	font-size: 12px;
	line-height: 35px;
	letter-spacing: 0.075em;
	font-weight: 600;
	text-decoration: none;
	position: relative;
	z-index: 10;
	color: #058DBF;
}

.featureNo::after {
	content: "";
	width: 28px;
	height: 1px;
	background: #058DBF;
	position: absolute;
	left: 72px;
	top: 24px;
}

.featureNo span {
	position: relative;
	display: inline-block;
	font-size: 24px;
	line-height: 35px;
	letter-spacing: 0.075em;
	font-weight: 500;
	color: #ffffff;
	text-decoration: none;
	z-index: 1;
	margin-left: 60px;
	margin-top: 4px;
}

.featureNo span::after {
	content: "";
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #058DBF;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: -1;
	margin-left: -1px;
}

.featureTitle {
	font-size: 26px;
	line-height: 50px;
	letter-spacing: 0.075em;
	font-weight: 600;
	text-decoration: none;
	color: #058DBF;
	margin-top: 40px;
}

.educationWrap.blue {
	margin-top: 60px;
}

.educationWrap.orange .featureTitle,
.educationWrap.orange .featureNo {
	color: #E95E1C;
}

.educationWrap.orange .featureNo::after,
.educationWrap.orange .featureNo span::after {
	background: #E95E1C;
}

.educationWrap.green .featureTitle,
.educationWrap.green .featureNo {
	color: #1D9135;
}

.educationWrap.green .featureNo::after,
.educationWrap.green .featureNo span::after {
	background: #1D9135;
}

.keyWrap {
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 60px;
}

.keyTxtWrap {
	width: 30%;
}

.keyImgWrap {
	width: 64%;
}

.keyImgWrap img {
	width: 100%;
	border-radius: 20px;
}

.keyContentWrap {
	flex: 1;
	padding-left: 30px;
}

.keyContentWrap p {
	font-size: 17px;
	line-height: 1.8;
}

.bannerWrap2 {
	width: 48%;
	margin-bottom: 20px;
}

.bannerWrap2 img {
	width: 100%;
	height: auto;
}

/* ============================================
   Furusato Page Custom Styles
   ============================================ */
.furusatoImages {
	display: flex !important;
	flex-direction: row !important;
	gap: 80px !important; /* 2026.03.27 UPD */
	justify-content: center !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.furusatoImages li {
	width: 38% !important;
	margin: 0 !important;
}

.furusatoImages .thumImage {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.furusatoImages .thumImage svg {
	display: block !important;
	max-width: 100% !important;
	width: 100% !important;
	height: auto !important;
}

.slideTopVoice {
	opacity: 1;
}

.contentWrap {
	padding-bottom: 100px;
}

.voiceTextWrap {
	position: static;
	transform: translate(0%, 0%);
	opacity: 1;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 60%;
}

.voiceTextWrap .dotted {
	width: 70%;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.voiceTextWrap .voiceName {
	text-align: center;
	width: 100%;
}

.btn h2 a {
	font-size: 32px;
}

.goodpointThum2 img {
	width: 500px;
}

.goodpointThum2 li {
	width: 510px;
}

.goodpointWrap2 {
	padding: 0;
}

.banner2 .goodpointMain {
	margin-top: 60px;
	margin-bottom: 20px;
}

.banner2 .educationWrap {
	padding-top: 0;
}

.banner2 div.bannerWrap2 {
	width: 510px;
	height: 160px;
	float: left;
	padding: 10px;
}

.banner2 .bannerWrap2 img {
	width: 480px;
}

.jimanTitle {
	display: none;
}

.jimanText {
	background-color: #f5f4f2;
	border: none;
}

.goodpointThum li {
	display: flex;
	flex-direction: column;
}

.goodpointThum:not(.furusatoImages) li {
	width: 48%;
	text-align: center;
}

.goodpointWrap .listTxtWrap {
	text-align: center;
}

.jimanLinkWrap {
	width: 100%;
	text-align: center;
	background-color: #f5f4f2;
	padding: 20px 0;
}

.jimanLinkWrap a {
	display: inline-block;
	border: 2px solid #ffffff;
	border-radius: 50px;
	padding: 12px 30px;
	background-color: #ffffff;
}

.jimanLinkWrap a span img {
	width: auto;
	height: 20px;
	vertical-align: middle;
	margin-left: 8px;
}

#accessWrap .goodpointMain {
	background-color: #f5f4f2;
	margin-bottom: 0;
	padding-top: 60px;
}

#accessWrap + .keyVisual {
	background-color: #f5f4f2;
	padding-top: 40px;
}

ul.goodpointThum2 li {
	display: flex !important;
	flex-direction: column !important;
}

ul.goodpointThum2 .thumCaption {
	margin-bottom: 15px;
}

.keyContentWrap .btn {
	margin-top: 30px;
}

.slideTopVoice .slideItem {
	text-align: center;
}

.slideTopVoice .slideItem a {
	display: inline-block;
	padding-bottom: 20px;/* 2026.03.23 UPD */
	margin-left: 0;
	margin-right: 0;
}

#accessWrap + .keyVisual .slideTopVoice .slideItem a {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#accessWrap + .keyVisual .voiceTextWrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#accessWrap + .keyVisual .voiceTextWrap .dotted {
	width: 70% !important;
}

#accessWrap + .keyVisual .voiceTextWrap .voiceName {
	width: 100%;
	text-align: center;
	margin-top: 15px;
}

.goodpointWrap .goodpointThum:not(.furusatoImages) {
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.goodpointThum:not(.furusatoImages) li {
	width: 48%;
	text-align: center;
	margin-bottom: 15px;
}

.goodpointThum:not(.furusatoImages) .thumImage img {
	width: 85%;
	height: auto;
}

.goodpointWrap .goodpointThum:not(.furusatoImages) .jimanText {
	max-width: 82%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	font-size: 16px; /* 2026.03.23 UPD */
	line-height: 1.5;
	margin-top: 20px;
}

.educationWrap.orange .keyContentWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.educationWrap.orange .keyContentWrap .bannerWrap2 {
	width: 48%;
	margin-bottom: 20px;
}

.educationWrap.orange .keyContentWrap .bannerWrap2 img {
	width: 100%;
	height: auto;
}

.educationWrap.green .keyContentWrap {
	max-width: 950px;
}

.educationWrap.green .keyContentWrap p {
	text-align: center;
}

.educationWrap.green .keyContentWrap .goodpointThum2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	margin-top: 20px;
	max-width: 900px;
	gap: 30px;
}

.educationWrap.green .keyContentWrap .goodpointThum2 li {
	display: flex;
	flex-direction: column;
	width: 47%;
	margin-bottom: 20px;
}

.educationWrap.green .keyContentWrap .goodpointThum2 .thumImage img {
	width: 100%;
	height: auto;
}

.educationWrap.green .keyContentWrap .goodpointThum2 .thumCaption {
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}

.contentWrap:not(.contentWrap2) {
	background-color: #FFFFFF;
}

.goodpointWrap.gray .educationWrap.green .featureNo,
.goodpointWrap.gray .educationWrap.green .featureTitle {
	color: #888888 !important;
}

.goodpointWrap.gray .educationWrap.green .featureNo::after,
.goodpointWrap.gray .educationWrap.green .featureNo span::after {
	background: #888888 !important;
}

.goodpointWrap.gray .educationWrap.green .keyContentWrap p {
	text-align: left;
}

.goodpointWrap.banner2 {
	padding-bottom: 60px;
}

.educationWrap .keyWrap {
	display: flex;
	align-items: stretch;
	min-height: 400px;
	margin-top: 50px;
}

/* ============================================
   Responsive: Tablet (768px - 1079px)
   ============================================ */
@media only screen and (min-width: 768px) and (max-width: 1079px) {
	html, body {
		min-width: 768px;
	}

	.newLineTB {
		display: inline;
	}

	.inner {
		width: 735px;
		margin: 0 auto;
	}

	.navFixed {
		height: 59.5px;
	}

	.navFixed ul {
		height: 59.5px;
		width: 735px;
	}

	.navFixed ul li a {
		font-size: 10px;
		line-height: 14px;
	}

	.navFixed ul li a::after {
		top: 50%;
		left: -18.2px;
		transform: translate(0%, -50%);
		width: 11.2px;
		height: 9.8px;
		background-size: 11.2px;
	}

	#footer {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	#footer .inner {
		padding-left: 0px;
		width: 584px;
		margin: 0 auto;
		position: relative;
		left: -4%;
	}

	.navFooter ul {
		margin-bottom: 22.4px;
		width: 498.4px;
	}

	.navFooter ul li {
		padding-right: 11px;
		height: 30px;
	}

	.navFooter ul li a {
		font-size: 11px;
		line-height: 12px;
		letter-spacing: .01em;
		font-weight: normal;
		text-align: left;
		color: #ffffff;
	}

	.footerText {
		width: 498.4px;
	}

	.logoHachioji {
		top: -10px;
		right: -84px;
	}

	.logoHachioji img {
		width: 86.8px;
		height: 21.7px;
	}

	.footerContact {
		font-size: 10.4px;
		line-height: 14px;
		margin: 8.4px 0;
	}

	.copyright {
		font-size: 10.4px;
		letter-spacing: 0;
		margin: 12px 0;
	}

	#pageTop {
		right: 28px;
		bottom: 28px;
	}

	#pageTop img {
		width: 92.7486px;
		height: 91.7399px;
	}

	#goodpoint {
		padding-top: 58px;
	}

	.titleGoodpoint {
		width: auto !important;
	max-width: 100% !important;
	}

	.goodpointDescription {
		font-size: 13px;
		line-height: 1.875em;
		margin-top: 35.7px;
	}

	.goodpointWrap {
		padding: 0;
	}

	.anchor {
		position: absolute;
		top: -40px;
		width: 100%;
	}

	.icon {
		width: 54.6px;
		margin-left: 7.7px;
		margin-right: 7.7px;
	}

	.textWrap {
		width: 418.6px;
	}

	.textWrap h2 {
		font-size: 19.6px;
	}

	.textWrap p {
		font-size: 12px;
	}

	.goodpointThum {
		margin-top: 41.3px;
	}

	.goodpointThum li {
		width: 235.2px;
		margin-bottom: 30px;
	}

	.thumImage img {
		border-radius: 5px;
		width: 100%;
	}

	.thumTitle {
		margin-top: 2.8px;
		font-size: 10px;
	}

	.thumCaption {
		margin-top: 2.8px;
		font-size: 10px;
	}

	.btn {
		margin: 42px auto;
	}

	.btn a {
		font-size: 12px;
		padding-left: 13.3px;
		padding-right: 29.4px;
		padding-top: 16.8px;
		padding-bottom: 16.8px;
	}

	.btn a::after {
		position: absolute;
		content: "";
		width: 4.2px;
		height: 7.7px;
		right: 11.2px;
		top: 16.8px;
	}

	.bannerWrap {
		width: 698.6px;
	}

	.bannerWrap a {
		width: 342.3px;
	}

	.bannerWrap a:first-child {
		margin-right: 14px;
	}

	#voice {
		padding-top: 58px;
	}

	.keyVisual {
		padding: 14px 0;
	}

	.contentWrap {
		padding-top: 56px;
		padding-bottom: 112px;
	}

	.voiceTextWrap {
		min-width: 160px;
		margin: 5.6px auto;
		opacity: 1 !important;
	}

	.voiceTitle {
		font-size: 13px;
	}

	.voicePosition {
		font-size: 10px;
		line-height: 12px;
		margin-bottom: 5.6px;
	}

	.voiceName {
		font-size: 11.2px;
		line-height: 14.7px;
	}

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

	.voiceNameBig {
		font-size: 15px !important;
	}

	.voiceCatchWrap {
		background-color: #ffffff;
		padding: 36px 0;
		padding-top: 44px;
	}

	.titleVoice {
		width: 339.388px;
	}

	.titleVoice img {
		width: 100%;
	}

	.textVoice {
		font-size: 13px;
	}

	.voiceGrid li {
		width: 362.95px;
		margin-bottom: 35px;
		height: 240px;
	}

	.voiceGrid li a {
		padding: 22px;
	}

	.gridTitle {
		font-size: 14px;
		letter-spacing: .025em;
	}

	.gridPosition {
		font-size: 11.2px;
		margin-top: 14px;
	}

	.gridName {
		font-size: 15.4px;
		margin-top: 11.2px;
	}

	.gridName span {
		font-size: 11.2px;
	}

	.gridNameBig {
		font-size: 18px !important;
	}

	.featureNo {
		font-size: 9.8px;
		line-height: 24.5px;
		letter-spacing: 0.075em;
		font-weight: 600;
		text-decoration: none;
		position: relative;
		z-index: 10;
		color: #058DBF;
	}

	.featureNo::after {
		content: "";
		width: 19.6px;
		height: 1px;
		background: #058DBF;
		position: absolute;
		left: 58.4px;
		top: 16.8px;
	}

	.featureNo span {
		position: relative;
		display: inline-block;
		font-size: 16.8px;
		line-height: 24.5px;
		letter-spacing: 0.075em;
		font-weight: 500;
		color: #ffffff;
		text-decoration: none;
		z-index: 1;
		margin-left: 42px;
		margin-top: 2.8px;
	}

	.featureNo span::after {
		content: "";
		width: 24.5px;
		height: 24.5px;
		border-radius: 50%;
		background: #058DBF;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		z-index: -1;
		margin-left: -1px;
	}

	.featureTitle {
		font-size: 18.2px;
		line-height: 45px;
		letter-spacing: 0.075em;
		font-weight: 600;
		text-decoration: none;
		color: #058DBF;
		margin-top: 86.8px;
	}

	.educationWrap.blue {
		margin-top: 42px;
	}

	.educationWrap.orange .featureTitle,
	.educationWrap.orange .featureNo {
		color: #E95E1C;
	}

	.educationWrap.orange .featureNo::after,
	.educationWrap.orange .featureNo span::after {
		background: #E95E1C;
	}

	.educationWrap.green .featureTitle,
	.educationWrap.green .featureNo {
		color: #1D9135;
	}

	.educationWrap.green .featureNo::after,
	.educationWrap.green .featureNo span::after {
		background: #1D9135;
	}
}

/* ============================================
   Responsive: Mobile (max-width: 767px)
   ============================================ */
@media only screen and (max-width: 767px) {
	.PC {
		display: none;
	}

	.SP {
		display: block;
	}

	.newLineSP {
		display: inline;
	}

	html, body {
		min-width: auto;
		max-width: 767px;
	}

	.inner {
		width: 85%;
		margin: 0 auto;
	}

	.menu-trigger {
		display: block;
	}

	.open .navFixed {
		visibility: visible !important;
		opacity: 1 !important;
	}

	.open .menu-trigger {
		display: block !important;
	}

	.page .menu-trigger {
		display: block !important;
	}

	.navFixed {
		height: 48px;
	}

	.navFixed ul {
		height: 48px;
		width: 96%;
		margin: 0 auto;
	}

	.navFixed ul li {
		display: none;
	}

	.navFixed ul li:last-child {
		display: block;
	}

	.navFixed ul li a {
		font-size: 10px;
		line-height: 14px;
	}

	.navFixed ul li a::after {
		top: 50%;
		left: -18.2px;
		transform: translate(0%, -50%);
		width: 11.2px;
		height: 9.8px;
		background-size: 11.2px;
	}

	#footer {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	#footer .inner {
		padding-left: 0px;
		width: 324px;
		margin: 0 auto;
		position: relative;
		left: 0%;
	}

	.navFooter ul {
		margin-bottom: 0px;
		width: 100%;
		height: auto;
	}

	.navFooter ul li {
		width: 32%;
		padding-right: 0px;
		height: 30px;
		padding-left: 12px;
		border-left: solid 1px #ffffff;
		border-right: none;
		margin-bottom: 24px;
	}

	.navFooter ul li:first-child {
		padding-left: 12px;
	}

	.navFooter ul li a {
		font-size: 11px;
		line-height: 12px;
		letter-spacing: .01em;
		font-weight: normal;
		text-align: left;
		color: #ffffff !important;
	}

	.footerText {
		width: 100%;
		color: #ffffff !important;
	}

	.logoHachioji {
		position: relative;
		display: block;
		top: 0;
		right: 0;
	}

	.logoHachioji img {
		width: 86.8px;
		height: 21.7px;
	}

	.footerContact {
		font-size: 10.4px;
		line-height: 14px;
		margin: 8.4px 0;
	}

	.footerContact a {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}

	.copyright {
		font-size: 10.4px;
		letter-spacing: 0;
		margin: 12px 0;
		text-align: left;
	}

	#pageTop {
		right: 16px;
		bottom: 16px;
	}

	#pageTop img {
		width: 64px;
		height: 62px;
	}

	a.phoneLink {
		pointer-events: auto;
		cursor: pointer;
		text-decoration: underline;
	}

	.goodpointSlide {
		display: none !important;
	}

	.goodpointSlideSP {
		display: block !important;
	}

	#goodpoint {
		padding-top: 47px;
	}

	.titleGoodpoint {
	width: auto !important;
	max-width: 100% !important;
}

	.goodpointDescription {
		font-size: 13px;
		line-height: 1.875em;
		margin-top: 35.7px;
	}

	.goodpointWrap {
		padding: 25.2px 0;
		padding-top: 47px;
	}

	.goodpointWrap.access {
		padding: 0 !important;
	}

	.anchor {
		position: absolute;
		top: -28px;
		width: 100%;
	}

	.icon {
		width: 54.6px;
		margin-left: 0px;
		margin-right: 3.4px;
	}

	.textWrap {
		width: 262px;
	}

	.textWrap h2 {
		font-size: 19.6px;
	}

	.textWrap p {
		font-size: 12px;
	}

	.goodpointThum {
		width: 100%;
		margin-top: 41.3px;
		position: relative;
		padding-bottom: 20px;
	}

	.goodpointThum li {
		width: 48%;
		margin-bottom: 30px;
	}

	#accessWrap {
		margin-bottom: 40px;
	}

	#accessWrap .goodpointThum {
		padding-bottom: 196px;
	}

	.accessWay {
		width: 100%;
	}

	.accessWay span {
		display: block;
		clear: both;
	}

	.accessWay img {
		width: 84px;
		margin: 16px 16px;
		margin-top: 16px;
		display: block;
		float: left;
	}

	.accessWay p {
		font-size: 12px;
		width: 200px;
		display: block;
		float: left;
		margin-top: 24px;
	}

	.thumImage img {
		border-radius: 5px;
		width: 100%;
	}

	.thumTitle {
		margin-top: 2.8px;
		font-size: 10px;
	}

	.thumCaption {
		margin-top: 2.8px;
		font-size: 10px;
	}

	.btn {
		margin: 42px auto;
	}

	.btn a {
		font-size: 12px;
		padding-left: 13.3px;
		padding-right: 29.4px;
		padding-top: 16.8px;
		padding-bottom: 16.8px;
	}

	.btn a::after {
		position: absolute;
		content: "";
		width: 4.2px;
		height: 7.7px;
		right: 11.2px;
		top: 16.8px;
	}

	.bannerWrap {
		width: 320px;
	}

	.bannerWrap a {
		width: 320px;
		margin-bottom: 24px;
	}

	.bannerWrap a:first-child {
		margin-right: 0px;
	}

	.jimanLinkWrap a {
		padding: 12px 20px;
		font-size: 14px;
		white-space: nowrap;
	}

	.jimanLinkWrap a span img {
		height: 16px;
		margin-left: 6px;
	}

	.keyContentWrap > p {
		font-size: 14px;
		line-height: 1.6;
	}

	.goodpointSlideSP .slideItem {
		max-width: 60%;
		margin: 0 auto;
	}

	.goodpointSlideSP .slideItem img {
		width: 100%;
		height: auto;
	}

	#accessWrap .goodpointMain {
		padding-top: 20px;
	}

	.keyContentWrap .bannerWrap2 {
		width: 80% !important;
		height: auto !important;
		float: none !important;
		padding: 10px !important;
		margin: 0 auto 15px auto !important;
		display: block !important;
	}

	.keyContentWrap .bannerWrap2 a {
		display: block !important;
	}

	.keyContentWrap .bannerWrap2 img {
		width: 100% !important;
	}

	.banner2 div.bannerWrap2 {
		width: 80% !important;
		height: auto !important;
		float: none !important;
		padding: 10px !important;
		margin: 0 auto 15px auto !important;
		display: block !important;
	}

	.banner2 .bannerWrap2 img {
		width: 100% !important;
	}

	.goodpointWrap.access {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.goodpointWrap.access .jimanLinkWrap {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}

	#voice {
		padding-top: 48px;
	}

	.keyVisual {
		padding: 14px 0;
	}

	.keyVisualWave {
		height: 91px;
		background-size: contain;
	}

	.contentWrap {
		padding-top: 28px;
		padding-bottom: 56px;
	}

	.voiceTextWrap {
		min-width: 160px;
		margin: 5.6px auto;
		margin-top: -8px;
		opacity: 1 !important;
	}

	.voiceTitle {
		font-size: 13px;
	}

	.voicePosition {
		font-size: 10px;
		line-height: 12px;
		margin-bottom: 5.6px;
	}

	.voiceName {
		font-size: 11.2px;
		line-height: 14.7px;
	}

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

	.voiceNameBig {
		font-size: 15px !important;
	}

	.voiceCatchWrap {
		background-color: #ffffff;
		padding: 36px 0;
		padding-top: 44px;
	}

	.titleVoice {
		width: 305.55px;
	}

	.titleVoice img {
		width: 100%;
	}

	.textVoice {
		font-size: 13px;
	}

	.voiceGrid li {
		width: 100%;
		height: auto;
		margin-bottom: 17.5px;
	}

	.voiceGrid li a {
		padding: 14.4px;
	}

	.gridTitle {
		font-size: 14px;
		letter-spacing: .025em;
	}

	.gridPosition {
		font-size: 11.2px;
		margin-top: 14px;
	}

	.gridName {
		font-size: 15.4px;
		margin-top: 11.2px;
	}

	.gridNameBig {
		font-size: 18px !important;
	}

	.gridName span {
		font-size: 11.2px;
	}

	#education {
		padding-top: 47px;
	}

	.educationWrap {
		padding: 0;
	}

	.keyWrap {
		width: 100%;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 0;
	}

	.keyTxtWrap {
		width: 100%;
		padding-left: 20px;
		padding-bottom: 20px;
	}

	.keyImgWrap {
		width: 100%;
		margin-top: 20px;
	}

	.keyImgWrap img {
		width: 100%;
		border-radius: 14px;
	}

	.featureNo {
		font-size: 9.8px;
		line-height: 24.5px;
		letter-spacing: 0.075em;
		font-weight: 600;
		text-decoration: none;
		position: relative;
		z-index: 10;
		color: #058DBF;
	}

	.featureNo::after {
		content: "";
		width: 19.6px;
		height: 1px;
		background: #058DBF;
		position: absolute;
		left: 58.4px;
		top: 16.8px;
	}

	.featureNo span {
		position: relative;
		display: inline-block;
		font-size: 16.8px;
		line-height: 24.5px;
		letter-spacing: 0.075em;
		font-weight: 500;
		color: #ffffff;
		text-decoration: none;
		z-index: 1;
		margin-left: 42px;
		margin-top: 2.8px;
	}

	.featureNo span::after {
		content: "";
		width: 24.5px;
		height: 24.5px;
		border-radius: 50%;
		background: #058DBF;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		z-index: -1;
		margin-left: -1px;
	}

	.featureTitle {
		font-size: 18.2px;
		line-height: 45px;
		letter-spacing: 0.075em;
		font-weight: 600;
		text-decoration: none;
		color: #058DBF;
		margin-top: 30px;
	}

	.educationWrap.blue {
		margin-top: 0;
	}

	.educationWrap.orange .featureTitle,
	.educationWrap.orange .featureNo {
		color: #E95E1C;
	}

	.educationWrap.orange .featureNo::after,
	.educationWrap.orange .featureNo span::after {
		background: #E95E1C;
	}

	.educationWrap.green .featureTitle,
	.educationWrap.green .featureNo {
		color: #1D9135;
	}

	.educationWrap.green .featureNo::after,
	.educationWrap.green .featureNo span::after {
		background: #1D9135;
	}

	.furusatoImages {
		display: flex !important;
		flex-direction: row !important;
		gap: 20px !important;
		justify-content: center !important;
		padding-left: 0 !important;
		margin-left: 0 !important;
	}

	.furusatoImages li {
		width: 38% !important;
		margin: 0 !important;
	}

	.furusatoImages .thumImage {
		width: 100% !important;
		height: 80px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.furusatoImages .thumImage img,
	.furusatoImages .thumImage svg {
		display: block !important;
		max-width: 100% !important;
		max-height: 100% !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
	}

	.goodpointWrap.gray .btn {
		text-align: center !important;
	}

	.goodpointWrap.gray .btn img {
		max-width: 80% !important;
		height: auto !important;
		display: inline-block !important;
		margin: 0 auto !important;
	}

	.educationWrap.orange .keyContentWrap .bannerWrap2 {
		margin-bottom: 10px !important;
	}

	.educationWrap.green .keyContentWrap .goodpointThum2 {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: space-between !important;
		gap: 15px !important;
	}

	.educationWrap.green .keyContentWrap .goodpointThum2 li {
		width: 47% !important;
		margin-bottom: 15px !important;
	}

	.educationWrap.green .keyContentWrap .goodpointThum2 .thumImage img {
		width: 100% !important;
		height: auto !important;
	}

	.educationWrap.green .keyContentWrap .goodpointThum2 .thumCaption {
		font-size: 12px !important;
		text-align: center !important;
	}

	/* 生産者にきいてみた：スマホ最終版 */
	#accessWrap + .keyVisual {
		display: block !important;
		background-color: #f5f4f2 !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 auto 10px !important;
	}

	#accessWrap + .keyVisual .slideTopVoice {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 0 6px !important;
		opacity: 1 !important;
		visibility: visible !important;
		display: block !important;
	}

	#accessWrap + .keyVisual .slick-list {
		width: 100% !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 auto !important;
	}

	#accessWrap + .keyVisual .slick-track {
		width: 100% !important;
		transform: none !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: center !important;
		align-items: flex-start !important;
		gap: 0 !important;
		margin: 0 auto !important;
	}

	#accessWrap + .keyVisual .slick-slide.slick-cloned,
	#accessWrap + .keyVisual .slideTopVoice .slick-slide.slick-cloned,
	#accessWrap + .keyVisual .slideTopVoice li.slick-slide.slick-cloned {
		display: none !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned) {
		width: 38% !important;
		max-width: 140px !important;
		min-width: 100px !important;
		float: none !important;
		height: auto !important;
		margin: 0 -10px !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
		text-align: center !important;
		position: relative !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned):nth-child(1) {
		z-index: 1 !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned):nth-child(2) {
		z-index: 2 !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned):nth-child(3) {
		z-index: 1 !important;
	}

	#accessWrap + .keyVisual .slick-slide > div {
		display: flex !important;
		justify-content: center !important;
		align-items: flex-start !important;
		width: 100% !important;
		margin: 0 auto !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned) > a {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		margin: 0 auto !important;
		padding: 0 0 4px 0 !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned) svg {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned) .voiceTextWrap,
	#accessWrap + .keyVisual .voiceTextWrap {
		position: static !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 2px auto 0 !important;
		padding: 0 !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned) .voiceTextWrap .dotted,
	#accessWrap + .keyVisual .voiceTextWrap .dotted {
		width: 58% !important;
		height: auto !important;
		margin: 0 auto 2px !important;
		display: block !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide:not(.slick-cloned) .voiceTextWrap .voiceName,
	#accessWrap + .keyVisual .voiceTextWrap .voiceName {
		width: auto !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		font-size: 11px !important;
		line-height: 1.4 !important;
	}
}
 
/* ============================================
   Desktop Hover Effects (min-width: 768px)
   ============================================ */
@media only screen and (min-width: 768px) {
	.navFixed ul li a:hover::after {
		opacity: 1;
	}

	#pageTop:hover {
		-webkit-transform: scale(1.06);
		transform: scale(1.06);
		-webkit-transition: all 0.2s;
		-moz-transition: all 0.2s;
		-ms-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
		transform-origin: center center;
	}

	.btn:hover a {
		-webkit-transform: translate(1%, 1%);
		transform: translate(1%, 1%);
		-webkit-transition: all 0.2s;
		-moz-transition: all 0.2s;
		-ms-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
		transform-origin: center center;
	}

	.bannerWrap a:hover {
		-webkit-transform: translate(1%, 1%);
		transform: translate(1%, 1%);
		-webkit-transition: all 0.2s;
		-moz-transition: all 0.2s;
		-ms-transition: all 0.2s;
		-o-transition: all 0.2s;
		transition: all 0.2s;
		transform-origin: center center;
	}
}

/* ============================================
   生産者にきいてみた PC中央寄せ
   ============================================ */
@media only screen and (min-width: 768px) {
	#accessWrap + .keyVisual {
		display: flex !important;
		justify-content: center !important;
		overflow: visible !important;
		padding-top: 40px;
	}

	#accessWrap + .keyVisual .slideTopVoice {
		width: auto !important;
		max-width: 980px !important;
		margin: 0 auto !important;
		opacity: 1 !important;
	}

	#accessWrap + .keyVisual .slick-list {
		width: 100% !important;
		overflow: visible !important;
	}

	#accessWrap + .keyVisual .slick-track {
		display: flex !important;
		justify-content: center !important;
		align-items: flex-start !important;
		transform: none !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slick-slide {
		float: none !important;
		height: auto !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slideItem {
		display: flex !important;
		justify-content: center !important;
		text-align: center !important;
	}

	#accessWrap + .keyVisual .slideTopVoice .slideItem a {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	#accessWrap + .keyVisual .voiceTextWrap {
		width: 100% !important;
		margin: 12px auto 0 !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	#accessWrap + .keyVisual .voiceTextWrap .dotted {
		width: 70% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	#accessWrap + .keyVisual .voiceTextWrap .voiceName {
		width: 100% !important;
		text-align: center !important;
		margin-top: 15px !important;
	}
}

/* ============================================
   スマホ時：見出し画像サイズ調整
   ============================================ */
@media only screen and (max-width: 767px) {

  /* 見出し全体は中央寄せ */
  #goodpoint .titleGoodpoint {
    width: auto !important;
    max-width: 100% !important;
    display: table !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* デフォルト：画像は画面内に収める */
  #goodpoint .titleGoodpoint img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 拡大させたくない見出しだけ元サイズ優先 */
  #goodpoint .titleGoodpoint img[alt="ふるさと納税"],
  #goodpoint .titleGoodpoint img[alt="八王子じまん"],
  #goodpoint .titleGoodpoint img[alt="初めての方へ"] {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
  }

  /* 生産者にきいてみた はスマホ幅に収める */
#goodpoint .titleGoodpoint img[alt="生産者にきいてみた"] {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
}
}

@media only screen and (max-width: 767px) {
	.contentWrap .keyVisualWave {
		position: absolute;
		left: 0;
		height: 44px;
		top: -60px;
		width: 100%;
		background-image: url(../imgs/cp/images/pageWaveWhite@2x.png);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		z-index: 1000;
		}
}

/* ============================================
   スマホ：見出し画像サイズ個別指定
   ============================================ */
@media only screen and (max-width: 767px) {

  #goodpoint h2.titleGoodpoint {
    width: 100% !important;
    text-align: center !important;
  }

  #goodpoint h2.titleGoodpoint img {
    display: block !important;
    margin: 0 auto !important;
    height: auto !important;
  }

  /* ふるさと納税 */
  #goodpoint h2.titleGoodpoint img[src*="titleFurusato"] {
    width: 180px !important;
  }

  /* 八王子じまん */
  #goodpoint h2.titleGoodpoint img[src*="titleJiman"] {
    width: 180px !important;
  }

  /* 生産者に聞いてみた */
  #goodpoint h2.titleGoodpoint img[src*="titleSeisansha"] {
    width: 290px !important;
  }

  /* 初めての方へ */
  #goodpoint h2.titleGoodpoint img[src*="titleHajimete"] {
    width: 180px !important;
  }

}

/* ============================================
   PC：生産者にきいてみた の重なり防止
   ============================================ */
@media only screen and (min-width: 768px) {

  #accessWrap + .keyVisual .slideTopVoice {
    opacity: 1 !important;
  }

  #accessWrap + .keyVisual .slick-list {
    overflow: visible !important;
  }

  #accessWrap + .keyVisual .slick-track {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 24px !important;
    width: auto !important;
    transform: none !important;
  }

  /* クローン要素を非表示 */
  #accessWrap + .keyVisual .slick-slide.slick-cloned {
    display: none !important;
  }

  /* 3件を固定幅で並べる */
  #accessWrap + .keyVisual .slideTopVoice .slick-slide {
    float: none !important;
    width: 264px !important;
    height: auto !important;
    margin: 0 !important;
  }

  #accessWrap + .keyVisual .slideTopVoice .slideItem {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }

  #accessWrap + .keyVisual .slideTopVoice .slideItem > a {
    display: block !important;
    width: 264px !important;
    margin: 0 auto !important;
    padding-bottom: 20px !important;
  }

  #accessWrap + .keyVisual .slideTopVoice .slideItem svg {
    display: block !important;
    width: 264px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  #accessWrap + .keyVisual .voiceTextWrap {
    width: 100% !important;
    margin: 12px auto 0 !important;
    text-align: center !important;
  }

  #accessWrap + .keyVisual .voiceTextWrap .dotted {
    width: 70% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #accessWrap + .keyVisual .voiceTextWrap .voiceName {
    width: 100% !important;
    text-align: center !important;
    margin-top: 12px !important;
  }
}

/* ============================================
   ふるさと納税：「寄付のお申し込み」「寄付金控除について」
   の2画像だけを最前面に出す
   ============================================ */

/* 対象セクション全体を前面レイヤー化 */
.educationWrap.blue {
	position: relative !important;
	z-index: 3000 !important;
}

.educationWrap.blue .keyWrap {
	position: relative !important;
	z-index: 3001 !important;
}

.educationWrap.blue .keyContentWrap {
	position: relative !important;
	z-index: 3002 !important;
	overflow: visible !important;
}

/* 2枚の画像リスト全体 */
.educationWrap.blue .furusatoImages {
	position: relative !important;
	z-index: 3003 !important;
	overflow: visible !important;
}

/* 各画像ブロック */
.educationWrap.blue .furusatoImages li {
	position: relative !important;
	z-index: 3004 !important;
}

/* クリック領域 */
.educationWrap.blue .furusatoImages .thumImage,
.educationWrap.blue .furusatoImages .thumImage a {
	position: relative !important;
	z-index: 3005 !important;
	display: block !important;
}

/* SVG画像本体を最前面に */
.educationWrap.blue .furusatoImages .thumImage svg {
	position: relative !important;
	z-index: 3006 !important;
	display: block !important;
}

/* SVG内の画像も確実に表示 */
.educationWrap.blue .furusatoImages .thumImage svg image {
	position: relative !important;
	z-index: 3007 !important;
}

/* 念のため、他の波や装飾より上に出す */
.contentWrap .educationWrap.blue,
.contentWrap .educationWrap.blue * {
	isolation: auto;
}