@charset "utf-8";

@media screen and (max-width:959px){
	.pc__only {
		display: none;
	}
	.sp__only {
		display: block;
	}

	a:hover,
	a:hover * {
		opacity: 1;
	}
	html {
		font-size: 14px;
	}
	body {
		padding: 20vw 0 0;
	}
	body.home {
		background: url(../images/sp/mv.png) 0 20vw no-repeat;
		background-size: 100% auto;
	}
	body::before {
		background: url(../images/bg_bubble_05.png) right 0 no-repeat, url(../images/bg_bubble_05.png) 0 25vh no-repeat;
		background-size: 200% auto;
		width: 90vw;
		height: 566px;
		margin: auto;
		position: absolute;
		top: 50vh;
		right: 0;
		left: 0;
	}
	.common__section__icon img {
		width: 25%;
	}
	.common__section__icon {
		width: 60vw;
		margin: 0 auto;
	}
	.common__section__label {
		margin: 0 0 1rem;
		font-size: 1.4rem;
	}
	.common__section__heading {
		font-size: 1.6rem;
	}
	.common__section__lead {
		max-width: 90vw;
		margin: 2rem auto 0;
		font-size: 1.2rem;
		line-height: 1.6;
	}

/*===============================================
ヘッダー部分
===============================================*/
	header {
		height: 20vw;
	}
	.header__logo {
		margin: 0 auto 0 5vw;
	}
	.header__logo img {
		width: 40vw;
	}
	.header__logo span {
		font-size: 1rem;
	}
	.header__logo span::before {
		content: "";
		height: 10vw;
		margin: 0 1rem;
	}
	header nav {
		display: none;
		background: rgba(171, 221, 242, 0.75);
		width: 100vw;
		position: fixed;
		top: 20vw;
		bottom: 0;
		left: 0;
		right: 0;
	}
	header nav ul {
		display: block;
		position: absolute;
		top: 1px;
		right: -70vw;
		z-index: 11;
		background: #fff;
		width: 70vw;
	}
	header nav ul li + li {
		margin: 0;
	}
	header nav ul li a {
	}
	header nav ul li:not(.header__nav__entry) a {
		padding: 10px 10px 10px 45px;
		font-size: 1rem;
		line-height: 25px;
	}
	header nav ul li:nth-of-type(1) a {
		background: url(../images/nav_01.png) 10px center no-repeat;
		background-size: auto 25px;
	}
	header nav ul li:nth-of-type(2) a {
		background: url(../images/nav_02.png) 10px center no-repeat;
		background-size: auto 25px;
	}
	header nav ul li:nth-of-type(3) a {
		background: url(../images/nav_03.png) 10px center no-repeat;
		background-size: auto 25px;
	}
	header nav ul li:nth-of-type(4) a {
		background: url(../images/nav_04.png) 10px center no-repeat;
		background-size: auto 25px;
	}
	header nav ul li:nth-of-type(5) a {
		background: url(../images/nav_05.png) 10px center no-repeat;
		background-size: auto 25px;
	}
	.header__nav__entry a {
		width: 90%;
		height: 60px;
		margin: 10px auto;
		font-size: 1.2rem;
		line-height: 60px;
	}
	.header__menu a {
		display: block;
		width: 50px;
		height: 50px;
		width: 15vw;
		height: 15vw;
		position: relative;
		-webkit-transition: all .3s ease-in-out;
		transition: all .3s ease-in-out;
	}
	.p-hamburger__line {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		width: 18px;
		height: 2px;
		background-color: #333;
		-webkit-transition: inherit;
		transition: inherit;
	}
	.p-hamburger__line::before,
	.p-hamburger__line::after {
	  position: absolute;
	  display: block;
	  width: 100%;
	  height: 100%;
	  background-color: inherit;
	  content: '';
	  -webkit-transition: inherit;
			  transition: inherit;
	}
	.p-hamburger__line::before {
	  top: -5px;
	}
	.p-hamburger__line::after {
	  top: 5px;
	}
	
	.p-hamburger[aria-expanded="true"] .p-hamburger__line {
	  background-color: transparent;
	}
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::before,
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::after {
	  top: 0;
	  background-color: #333;
	}
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::before {
	  -webkit-transform: rotate(45deg);
		  -ms-transform: rotate(45deg);
			  transform: rotate(45deg);
	}
	.p-hamburger[aria-expanded="true"] .p-hamburger__line::after {
	  -webkit-transform: rotate(-45deg);
		  -ms-transform: rotate(-45deg);
			  transform: rotate(-45deg);
	}
	.u-visuallyHidden {
	  position: absolute;
	  white-space: nowrap;
	  width: 1px;
	  height: 1px;
	  overflow: hidden;
	  border: 0;
	  padding: 0;
	  clip: rect(0 0 0 0);
	  clip-path: inset(50%); 
	  margin: -1px;
	}

/*===============================================
フッター部分
===============================================*/
	footer {
		background: url(../images/bg_footer.png) top no-repeat;
		background-size: 100% auto;
		margin: 0;
		padding: 4rem 0 2rem;
	}
	footer::before {
		content: "";
		background: url(../images/bg_footer_02.png) top no-repeat;
		background-size: 100% auto;
		display: block;
		width: 110vw;
		position: absolute;
		top: 0;
		bottom: 0;
		left: -5vw;
		z-index: -1;
	}
	footer::after {
		content: "";
		background: url(../images/bg_footer_03.png) top no-repeat;
		background-size: 100% auto;
		display: block;
		width: 110vw;
		position: absolute;
		top: 0;
		bottom: 0;
		left: -5vw;
		z-index: -2;
	}
	.footer__inner {
		display: block;
		width: 90vw;
		margin: 0 auto 1rem;
	}
	.footer__logo {
		width: 60vw;
		margin: 0 auto;
	}
	.footer__sns {
		margin: 2rem 0 0;
	}
	.footer__sns ul {
		justify-content: center;
	}
	.footer__sns ul li a i {
		font-size: 2rem;
	}
	footer nav {
		display: block;
		width: 90vw;
		padding: 1rem 0 0;
		position: relative;
	}
	footer nav::before {
		content: "";
		background: #a2d9ed;
		position: absolute;
		top: -4rem;
		right: -5vw;
		bottom: -8rem;
		left: -5vw;
		z-index: -1;
	}
	footer nav .gnav {
		display: block;
	}
	footer nav .gnav > li + li {
		margin: 0;
	}
	footer nav .gnav > li > a {
		padding: 0 0 0 35px;
		font-size: 1rem;
		line-height: 40px;
		text-align: left;
		border-bottom: #808080 solid 1px;
	}
	footer nav .gnav > li + li > a::before {
		content: none;
	}
	footer nav .gnav > li:nth-of-type(1) > a {
		background: url(../images/nav_01.png) 0 center no-repeat;
		background-size: auto 24px;
	}
	footer nav .gnav > li:nth-of-type(2) > a {
		background: url(../images/nav_02.png) 0 center no-repeat;
		background-size: auto 24px;
	}
	footer nav .gnav > li:nth-of-type(3) > a {
		background: url(../images/nav_03.png) 0 center no-repeat;
		background-size: auto 24px;
	}
	footer nav .gnav > li:nth-of-type(4) > a {
		background: url(../images/nav_04.png) 0 center no-repeat;
		background-size: auto 24px;
	}
	footer nav .gnav > li:nth-of-type(5) > a {
		background: url(../images/nav_05.png) 0 center no-repeat;
		background-size: auto 24px;
	}
	footer nav .gnav li ul {
		margin: 0 0 1rem 35px;
	}
	footer nav .gnav li ul::before {
		content: none;
	}
	footer nav .gnav li ul li {
		margin-top: 1rem;
	}
	footer nav .gnav li ul li a {
		font-size: 0.8rem;
	}
	footer nav .gnav li ul li a::before {
		content: "- ";
	}
	.footer__links {
		width: 100%;
		margin: 2rem auto 0;
	}
	.footer__links li + li {
		margin: 1rem 0 0;
	}
	.footer__links__entry a {
		font-size: 1.2rem;
		line-height: 60px;
	}
	.footer__links__hp a {
		font-size: 1.2rem;
		line-height: 40px;
	}
	.copyright {
		margin: 4rem 0 0;
		font-size: 0.8rem;
	}

	.cta {
		background: #51c9f6;
		padding: 1rem 5vw;
	}
	.cta.fix {
		display: none;
		position: fixed;
		bottom: 0;
		width: 100%;
		padding: 1rem 5vw;
	}
	.cta__entry a {
		display: block;
		background: #365bab;
		border-radius: 10px;
		border: #fff solid 1px;
		overflow: hidden;
		color: #fff;
		font-family: "M PLUS Rounded 1c", sans-serif;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 40px;
		text-align: center;
		position: relative;
	}
	.cta__entry a::after {
		content: "\f054";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		position: absolute;
		right: 2rem;
	}

/*===============================================
MV部分
===============================================*/
	.mv__heading {
		top: 5vw;
		right: 35vw;
	}
	.mv__heading li {
		background: #ffff00;
		padding: 1rem 0;
		font-size: 1.4rem;
		line-height: 1.6;
	}
	.mv__heading li + li {
		margin-left: 1rem;
	}
	.mv__message img:not(.sp__only) {
		display: none;
	}

/*===============================================
小池設備って？部分
===============================================*/
	.about {
		padding: 4rem 0;
	}
	.about__list__heading {
		font-size: 1.4rem;
		line-height: 1.4;
		letter-spacing: 0.1em;
	}
	.about__list__heading::before {
		content: "";
		background-size: cover;
		width: 93px;
		height: 88px;
	}
	.about__list:nth-of-type(2) .about__list__heading::before {
			background-size: cover;
	}
	.about__list:nth-of-type(3) .about__list__heading::before {
			background-size: cover;
	}
	.about__list {
		width: 90vw;
		margin: 3rem auto 0;
	}
	.about__list ul {
		display: block;
		width: 60vw;
		margin: 2rem auto 0;
	}
	.about__list ul li {
		width: 100%;
		padding: 1rem;
	}
	.about__list ul li + li {
		margin-top: 1rem;
	}
	.about__list__subheading {
		font-size: 1.1rem;
		line-height: 3rem;
		border-radius: 1.5rem;
	}
	.about__list ul li p {
		margin: 1rem 0 0;
		font-size: 1rem;
		line-height: 1.8;
	}

/*===============================================
社員の声部分
===============================================*/
	.report {
		padding: 4rem 0;
	}
	.report::before {
		background: url(../images/bg_bubble_01.png) no-repeat;
		background-size: 100% auto;
		width: 90vw;
		top: 5rem;
	}
	.report__list {
		width: 90vw;
		margin: 3rem auto 0;
	}
	.report__list li + li {
		margin-top: 2rem;
	}
	.report__list__image {
		width: 25vw;
		height: 50vw;
	}
	.report__list__col {
		width: calc(100% - 30vw);
	}
	.report__list__heading {
		font-size: 1.2rem;
	}
	.report__list__name {
		margin: 1rem 0 0;
		font-size: 0.9rem;
	}
	.report__list__more a {
		width: 50vw;
		height: 40px;
		margin: 1rem 0 0 auto;
		font-size: 1.2rem;
		line-height: 40px;
		border-radius: 20px;
	}
	.report__list__more a::after {
		width: 0.8rem;
		height: 0.8rem;
		right: 1rem;
	}

/*===============================================
小池設備の仕事部分
===============================================*/
	.work {
		background: url(../images/bg_work.png) 0 0 no-repeat #f2f2f2;
		background-size: 100% auto;
		margin: 0;
		padding: 4rem 0 4rem;
		position: relative;
	}
	.work::before {
		background: url(../images/bg_bubble_02.png) no-repeat;
		background-size: 100% auto;
		width: 27vw;
		top: -1rem;
		right: 5%;
	}
	.work__type {
		display: block;
		width: 90vw;
		margin: 3rem auto 0;
	}
	.work__type__image {
		width: 100%;
		margin: 0 0 1rem;
	}
	.work__type__image img {
		width: 60%;
	}
	.work__type__col {
		width: 100%;
	}
	.work__type__heading {
		font-size: 1.4rem;
		text-align: center;
	}
	.work__type__col p {
		margin: 1rem 0 0;
	}
	.work__type__col ul {
		margin: 1rem 0 0;
	}
	.work__type__col ul li {
		width: 43vw;
		height: 43vw;
	}

/*===============================================
ステップアップ＆研修内容部分
===============================================*/
	.training {
		width: 90vw;
		margin: 4rem auto 0;
		padding: 4rem 5vw;
		border-radius: 30px;
	}
	.training::before {
		content: "";
		display: block;
		background: url(../images/bg_bubble_03.png) no-repeat;
		background-size: 100% auto;
		width: 28vw;
		position: absolute;
		top: -2rem;
		right: 5%;
	}
	.training__order {
		margin: 5rem 0 0;
	}
	.training__order > li {
		width: 80vw;
		margin: 0 auto;
		padding: 3.5rem 1rem 2rem;
	}
	.training__order > li.long__padding {
		padding-bottom: 6rem;
	}
	.training__order > li + li {
		margin-top: 7rem;
	}
	.training__order > li + li::before {
		width: 2rem;
		height: 2rem;
		margin: auto;
		top: -6rem;
	}
	.training__order > li + li::after {
		height: 3.5rem;
		margin: auto;
		top: -8rem;
	}
	.training__order__no {
		width: 100%;
		font-size: 6rem;
		top: -3rem;
	}
	.training__order__no::before {
		top: calc(3rem - 5px);
	}
	.training__order__label {
		width: 60%;
		font-size: 1.2rem;
		line-height: 3;
	}
	.training__order__heading {
		margin: 2rem 0 0;
		font-size: 1.4rem;
	}
	.training__order__subheading {
		margin: 1rem 0 0;
		font-size: 1.2rem;
	}
	.training__order__lead {
		margin: 2rem 0 0;
		font-size: 1.2rem;
	}
	.training__order__list {
		display: block;
		width: 100%;
		margin: 2rem auto 0;
	}
	.training__order__list ul {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin: 0;
	}
	.training__order__list li {
		min-width: 50%;
		margin-top: 1rem;
		font-size: 1rem;
	}
	.training__order__list li + li {
		margin-top: 1rem;
	}
	.training__order__list__image {
		width: 100%;
		height: auto;
	}
	.training__order__graph {
		margin: 2rem 0 0;
	}
	.training__order__meeting {
		width: 100%;
		margin: 2rem auto 0;
		padding: 1rem 1rem 0;
	}
	.training__order__copy {
		font-size: 1rem;
	}
	.training__order__meeting__flex {
		display: block;
		padding: 2rem 0 6rem;
	}
	.training__order__meeting p {
		font-size: 1rem;
	}
	.training__order__meeting ul {
		flex-wrap: wrap;
		margin: 0;
	}
	.training__order__meeting ul li {
		width: 25vw;
		height: 25vw;
		margin: 1rem 5px 0;
		padding: 2vw 0 0;
		font-size: 0.8rem;
	}
	.training__order__meeting ul li + li {
		margin-left: 0;
	}
	.training__order__meeting__image01 {
		width: 80%;
		margin: auto;
		bottom: -6rem;
		right: 0;
		left: 0;
	}
	.training__order__meeting__image02 {
		margin: 2rem 0 0;
	}
	.training__order__type {
		display: block;
		width: 100%;
		margin: 2rem auto 0;
	}
	.training__order__type li {
		width: 100%;
		padding: 1rem 1rem 10rem;
	}
	.training__order__type li + li {
		margin-top: 1rem;
	}
	.training__order__type.three li {
		width: 100%;
		padding: 1rem 1rem 10rem;
	}
	.training__order__type li.bg__type__01 {
		background: url(../images/bg_type_01.png) no-repeat center bottom #e0f7ff;
		background-size: auto 10rem;
	}
	.training__order__type li.bg__type__02 {
		background: url(../images/bg_type_02.png) no-repeat center bottom #f2f2f2;
		background-size: auto 10rem;
	}
	.training__order__type.three li.bg__type__03 {
		background: url(../images/bg_type_03.png) no-repeat bottom #e0f7ff;
		background-size: auto 10rem;
	}
	.training__order__type.three li.bg__type__04 {
		background: url(../images/bg_type_04.png) no-repeat bottom #f2f2f2;
		background-size: auto 10rem;
	}
	.training__order__type.three li.bg__type__05 {
		background: url(../images/bg_type_05.png) no-repeat bottom #ffffaf;
		background-size: auto 10rem;
	}
	.training__order__type > li::before {
		content: none;
	}
	.training__order__type > li::after {
		content: none;
	}
	.training__order__type__copy {
		display: block;
		height: auto;
		padding: 1rem;
		font-size: 1rem;
	}
	.training__order__type__copy br {
		display: none;
	}
	.training__order__type.three .training__order__type__copy {
		height: auto;
	}
	.training__order__type__heading {
		margin: 1rem 0 0;
		font-size: 1.2rem;
	}
	.training__order__type li p {
		width: 100%;
		margin: 1rem 0 0;
		font-size: 1rem;
	}
	.training__order__image {
		width: 100%;
		margin: 2rem auto 0;
	}

/*===============================================
福利厚生部分
===============================================*/
	.support {
		padding: 4rem 5vw;
	}
	.support::before {
		background: url(../images/bg_bubble_04.png) no-repeat;
		background-size: 100% auto;
		width: 90vw;
		top: -1rem;
	}
	.support__list {
		display: block;
		width: 90vw;
		margin: 3rem auto 0;
	}
	.support__list li {
		width: 100%;
		position: relative;
	}
	.support__list li:nth-of-type(n+2) {
		margin-top: 2rem;
	}
	.support__list__image {
		top: -1rem;
	}
	.support__list li:nth-of-type(1) .support__list__image {
		width: 54%;
	}
	.support__list li:nth-of-type(2) .support__list__image {
		width: 32%;
	}
	.support__list li:nth-of-type(3) .support__list__image {
		width: 37%;
	}
	.support__list li:nth-of-type(4) .support__list__image {
		width: 62%;
	}
	.support__list li:nth-of-type(5) .support__list__image {
		width: 46%;
	}
	.support__list li:nth-of-type(6) .support__list__image {
		width: 78%;
	}
	.support__list__heading {
		padding: 11rem 0 2rem;
		font-size: 1.4rem;
	}
	.support__list__heading br {
		display: none;
	}
	.support__list li p {
		padding: 1rem;
		font-size: 1rem;
	}
	.support__list li p small {
		font-size: 0.8rem;
	}

/*===============================================
エントリー部分
===============================================*/
	.entry {
		background: #e0f7ff;
		padding: 4rem 5vw;
	}
	.entry::before {
		background: url(../images/bg_bubble_05.png) no-repeat;
		background-size: 100% auto;
		width: 90vw;
		height: 566px;
		top: -2rem;
	}
	.entry:not(.thanks)::after {
		height: 30rem;
	}
	.entry__contact {
		display: block;
		width: 90vw;
		margin: 2rem auto 0;
	}
	.entry__contact__heading {
		width: 100%;
		padding: 1rem;
	}
	.entry__contact dl {
		width: 100%;
		padding: 1rem;
		font-size: 1.2rem;
	}
	.entry__contact dl a {
		font-weight: bold;
		text-decoration: underline;
	}
	.entry form {
		width: 90vw;
		margin: 2rem auto 0;
	}
	.entry form dl dt {
		font-size: 1rem;
	}
	.entry form dl dt:nth-of-type(n+2) {
		margin-top: 1rem;
	}
	.entry form dl dd {
		margin: 10px 0 0;
		font-size: 1rem;
	}
	.entry form dl dd .radiobtn li input[type='radio']{
		width: 20px;
		height: 20px;
	}
	.entry form dl dd input[type='text'] {
		height: auto;
	}
	.entry form dl dd input.short {
		width: 4rem;
		margin: 0 0.5rem 0 0;
	}
	.entry form dl dd input.short:nth-of-type(n+2) {
		margin-left: 0.5rem;
	}
	.entry form dl dd select {
		height: auto;
		padding: 1rem;
	}
	.entry__privacy {
		display: block;
		margin: 4rem 0 0;
		font-size: 1.2rem;
	}
	.entry__privacy input[type="checkbox"] {
		width: 20px;
		height: 20px;
	}
	.entry__privacy__link a {
		display: inline-block;
		width: 50vw;
		margin: 1rem 0 0;
		font-size: 1rem;
		line-height: 40px;
	}
	.entry__submit {
		display: block;
		margin: 4rem 0 0;
	}
	.entry__submit li + li {
		margin: 1rem 0 0;
	}
	.entry__submit input {
		width: 100%;
		font-size: 1.2rem;
		line-height: 60px;
	}
	.entry form .caution {
		font-size: 1rem;
	}

/*===============================================
インタビューページ部分
===============================================*/
	.interview__ttl {
		padding: 2rem 0;
	}
	.interview__ttl__label {
		margin: 0 0 1rem;
		font-size: 1.4rem;
	}
	.interview__ttl__heading {
		font-size: 1.6rem;
	}
	.interview__heading {
		margin: 4rem 5vw 0;
		font-size: 1.4rem;
	}
	.interview__profile {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		margin: 2rem 5vw 4rem;
	}
	.interview__profile dt {
		font-size: 1.2rem;
	}
	.interview__profile dd {
		font-size: 1rem;
	}
	.interview__contents section + section {
		margin-top: 4rem;
	}
	.interview__contents__heading {
		margin: 0 0 1rem;
		font-size: 1.2rem;
	}
	.interview__contents p {
		font-size: 1rem;
		text-indent: 1rem;
	}

	.interview__block__01 {
		display: block;
	}
	.interview__block__01 .interview__contents__image {
		width: 90vw;
		margin: 0 0 0 auto;
	}
	.interview__block__01__col {
		width: 100%;
		padding: 0 5vw 1rem;
	}
	.interview__block__02 {
		display: block;
	}
	.interview__block__02 .interview__contents__image {
		width: 90vw;
	}
	.interview__block__02__col {
		width: 100%;
		padding: 0 5vw 1rem;
	}
	.interview__block__03 {
		width: 90vw;
	}
	.interview__block__03 .interview__contents__image {
		margin: 1rem 0 0;
	}
	.interview__block__04 {
		display: block;
		width: 90vw;
	}
	.interview__block__04__col {
		width: 100%;
		margin: 0;
	}
	.interview__block__04 .interview__contents__image {
		width: 60%;
		margin: 1rem auto 0;
	}
	.interview__goals {
		display: block;
		width: 90vw;
		margin: 4rem auto;
	}
	.interview__goals dt {
		width: 25%;
		margin: 0 auto 1rem;
	}
	.interview__goals dd {
		width: 100%;
		padding: 0 1rem 1rem;
		font-size: 1.4rem;
	}
}