/*
Theme Name: kosmo_corporation
Theme URl: https://sub-05.hokuto-web-development.com/wp-content/themes/kosmo_corporation/
Author: arakawahokuto
Description: arakawahokuto Original Theme
License: GNU General Public License v2 or later
License URl: http://www.gnu.org/licenses/gpl-2.0.html
Version: 1.0
*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
	font-size: clamp(1rem, 1.11vw, 1.6rem);
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
	color: #000;
}

@media screen and (max-width: 767px) {
	body {
		font-size: min(3.72vw, 1.6rem);
	}
}

body.is-fixed {
	position: fixed;
	width: 100%;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a {
	text-decoration: none;
	transition: all 0.5s;
}

a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	.u-pc {
		display: none !important;
	}
}

@media screen and (min-width: 768px) {
	.u-sp {
		display: none !important;
	}
}

.u-text-left {
	text-align: left;
}

.u-mt-30-20 {
	margin-top: min(1.74vw, 25px) !important;
}

@media screen and (max-width: 767px) {
	.u-mt-30-20 {
		margin-top: min(4.65vw, 20px) !important;
	}
}





/* content */
.l-content {
	position: relative;
	width: 100%;
}

.l-content__inner {
	max-width: 920px;
	margin: 0 auto;
	padding: min(12.85vw, 185px) 20px min(8.33vw, 120px);
}

@media screen and (max-width: 767px) {
	.l-content__inner {
		padding: min(13.95vw, 60px) 16px;
	}
}

.l-content__sec {
	width: 100%;
}

.l-content__narrow {
	max-width: 780px;
	margin: 0 auto;
}




/* heading */
.c-heading-02__wrap {
	position: relative;
	width: 95%;
	padding-bottom: 5px;
  border-bottom: 2px solid #D9D9D9;
}

.c-heading-02__wrap::before {
  position: absolute;
  content: '';
  bottom: -2px;
	left: 0;
	width: 119px;
  height: 2px;
  background: #0AA2E9;
}

@media screen and (max-width: 767px) {
	.c-heading-02__wrap::before {
		width: 25%;
	}
}

.c-heading-02 {
	font-size: min(3.47vw, 5rem);
	font-weight: 900;
}

@media screen and (max-width: 767px) {
	.c-heading-02 {
		font-size: min(7.44vw, 3.2rem);
	}
}

.c-heading-02__lead {
	font-size: 12px;
}

@media screen and (max-width: 767px) {
	.c-heading-02__lead {
		font-size: min(2.79vw, 1.2rem);
	}
}

.c-heading-03 {
	position: relative;
	font-size: min(1.67vw, 2.4rem);
	font-weight: 700;
	padding-left: 7px;
}

@media screen and (max-width: 767px) {
	.c-heading-03 {
		font-size: min(4.65vw, 2rem);
	}
}

.c-heading-03::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 4px;
	height: 100%;
	background: #0AA2E9;
}




/* header */
.l-header {
	position: absolute;
	top: 37.5vw;
	left: 0;
	width: 100%;
	height: min(4.51vw, 65px);
	z-index: 99999;
	background: #0AA2E9;
}

@media screen and (max-width: 767px) {
	.l-header {
		background: transparent;
	}
}

.sticky-header {
	position: fixed !important;
	top: 0;
	left: 0;
}

.l-header__inner {
	position: relative;
	max-width: 1040px;
	height: 100%;
	margin: 0 auto;
	padding: 5px 20px;
}

.l-header__contents-wrap {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}


@media screen and (max-width: 767px) {
	.l-header__contents-wrap {
		position: fixed;
		top: 0;
		right: -100%;
		justify-content: center;
		flex-direction: column;
		width: 100%;
		height: 100%;
		margin-top: 0;
		margin-left: 0;
		transition: all .5s;
		z-index: 1;
		background: #0AA2E9;
	}
}

@media screen and (max-width: 767px) {
	.is-open .l-header__contents-wrap {
		right: 0;
	}
}

.l-header__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-left: 20px;
}

@media screen and (max-width: 767px) {
	.l-header__nav {
		width: 100%;
		flex-direction: column;
		margin-left: 0;
	}
}

.l-header__nav-item:not(:first-of-type) {
	margin-left: min(1.81vw, 26px);
}

@media screen and (max-width: 767px) {
	.l-header__nav-item:not(:first-of-type) {
		margin-left: 0;
	}
}

@media screen and (max-width: 767px) {
	.l-header__nav-item {
		width: 100%;
	}
}

.l-header__nav-item.is-current {
	padding: 4px 6px;
	background: rgba(255, 255, 255, .3);
	border-radius: 6px;
}

@media screen and (max-width: 767px) {
	.l-header__nav-item.is-current {
		padding: 0;
		border-radius: 0;
	}
}

.l-header__nav-item.is-current a {
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	.l-header__nav-item.is-current a {
		color: #FFF;
	}
}

.l-header__nav-item a {
	display: block;
	color: #FFF;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.l-header__nav-item a {
		padding: min(1.16vw, 7.5px) min(4.65vw, 35px);
		font-size: min(4.65vw, 3.5rem);
	}
}

.l-header__trigger {
	display: none;
	position: fixed;
	top: 14px;
	right: 14px;
	width: 28px;
	height: 13px;
	transition: .5s all;
	cursor: pointer;
	z-index: 20;
}

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

.l-header__trigger span {
	display: block;
	position: absolute;
	right: 0;
	width: 28px;
	height: 1px;
	background: #231815;
	transition: all .5s;
}

.is-open .l-header__trigger span {
	right: auto;
	left: 0;
}

.l-header__trigger span:first-of-type {
	top: 0;
}

.is-open .l-header__trigger span:first-of-type {
	top: -4px;
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(10px) rotate(-315deg);
}

.l-header__trigger span:nth-of-type(2) {
	top: 6px;
}

.is-open .l-header__trigger span:nth-child(2) {
	width: 28px;
	opacity: 0;
}

.l-header__trigger span:last-of-type {
	bottom: 0;
}

.is-open .l-header__trigger span:nth-child(3) {
	width: 28px;
	bottom: -4px;
	-webkit-transform: translateY(-10px) rotate(315deg);
	transform: translateY(-10px) rotate(315deg);
}

.l-header__trigger-text {
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	font-size: min(2.33vw, 1rem);
  text-align: center;
	transition: all .5s;
}

.is-open .l-header__trigger-text {
	opacity: 0;
}





/* KV TOP */

.p-kv__text-group {
	display: flex;
	/* justify-content: center; */
	align-items: center;
	flex-direction: column;
	text-align: center;
}
.p-kv__area {
	width: 100%;
	height: 37.5vw;
	background: url(assets/img/kv_pc.jpg) no-repeat top left / cover;
}

@media screen and (max-width: 767px) {
	.p-kv__area {
		height: min(140.81vw, 1080px);
		background: url(assets/img/kv_sp.jpg) no-repeat top left / cover;
	}
}

.p-kv__area-inner {
	max-width: 920px;
	margin: 0 auto;
	padding: 0 20px;
}

@media screen and (max-width: 767px) {
	.p-kv__area-inner {
		padding: 0 16px;
	}
}

.p-kv__address-text {
	padding-top: 2.64vw;
	font-size: min(1.39vw, 2rem);
	text-align: end;
}

@media screen and (max-width: 767px) {
	.p-kv__address-text {
		padding-top: 80px;
		font-size: min(3.72vw, 1.6rem);
	}
}

.p-kv__heading-wrap {
	margin-top: 9.44vw;
}

@media screen and (max-width: 767px) {
	.p-kv__heading-wrap {
		margin-top: min(18.6vw, 80px);
	}
}

.p-kv__heading {
	display: flex;
	align-items: center;
	justify-content: left;
}

@media screen and (max-width: 767px) {
	.p-kv__heading {
		align-items: start;
		flex-direction: column;
	}
}

.p-kv__heading img {
	width: min(24.03vw, 346px);
	height: min(4.1vw, 59px);
}

@media screen and (max-width: 767px) {
	.p-kv__heading img {
		width: min(80.47vw, 346px);
		height: min(13.72vw, 59px);
	}
}

.p-kv__heading span {
	color: #0AA2E9;
	font-size: min(2.22vw, 3.2rem);
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.p-kv__heading span {
		font-size: min(6.05vw, 2.6rem);
	}
}

.p-kv__lead-text {
	margin-top: 0.21vw;
	font-size: min(2.22vw, 3.2rem);
}

@media screen and (max-width: 767px) {
	.p-kv__lead-text {
		margin-top: min(6.98vw, 30px);
		font-size: min(5.12vw, 2.2rem);
	}
}

.p-kv__lead-text span {
	display: inline-block;
	margin-top: 0.21vw;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.p-kv__lead-text span {
		margin-top: 0;
	}
}

.p-kv__lead-sub-text {
	margin-top: 0.49vw;
}

@media screen and (max-width: 767px) {
	.p-kv__lead-sub-text {
		margin-top: min(3.72vw, 16px);
	}
}





/* top */
.p-top__text-01 {
	margin-top: min(2.08vw, 30px);
}

@media screen and (max-width: 920px) {
	.p-top__text-01 {
		margin-top: min(6.98vw, 30px);
	}
}

.p-top__item-group {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 65px;
	margin-top: min(4.17vw, 60px);
}

@media screen and (max-width: 920px) {
	.p-top__item-group {
		gap: min(6.8vw, 65px);
	}
}

@media screen and (max-width: 767px) {
	.p-top__item-group {
		max-width: 530px;
		justify-items: center;
		grid-template-columns: 1fr 1fr;
		gap: min(6.98vw, 30px);
		margin: min(6.98vw, 30px) auto 0;
	}
}

@media screen and (max-width: 570px) {
	.p-top__item-group {
		grid-template-columns: 1fr;
	}
}

.p-top__item-list a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 250px;
	background-position: top left;
	background-repeat: no-repeat;
	background-size: 250px 250px;
}

@media screen and (max-width: 920px) {
	.p-top__item-list {
		width: min(27.17vw, 250px);
		height: min(27.17vw, 250px);
	}
}

@media screen and (max-width: 767px) {
	.p-top__item-list {
		width: min(58.14vw, 250px);
		height: min(58.14vw, 250px);
	}
}

.p-top__item-list:nth-of-type(1) a {
	background-image: url(assets/img/top_img_01.jpg);
}
.p-top__item-list:nth-of-type(2) a {
	background-image: url(assets/img/top_img_02.jpg);
}
.p-top__item-list:nth-of-type(3) a {
	background-image: url(assets/img/top_img_03.jpg);
}
.p-top__item-list:nth-of-type(4) a {
	background-image: url(assets/img/top_img_04.jpg);
}
.p-top__item-list:nth-of-type(5) a {
	background-image: url(assets/img/top_img_05.jpg);
}
.p-top__item-list:nth-of-type(6) a {
	background-image: url(assets/img/top_img_06.jpg);
}

.p-top__item-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 210px;
	height: 210px;
	padding: 5px;
	background: rgba(255, 255, 255, 0.47);
}

@media screen and (max-width: 920px) {
	.p-top__item-inner {
		width: min(22.83vw, 210px);
		height: min(22.83vw, 210px);
	}
}

@media screen and (max-width: 767px) {
	.p-top__item-inner {
		width: min(48.84vw, 210px);
		height: min(48.84vw, 210px);
	}
}

.p-top__item-text {
	color: #FFF;
  text-shadow:
       1px  1px 1px #000,
      -1px  1px 1px #000,
       1px -1px 1px #000,
      -1px -1px 1px #000,
       1px  0px 1px #000,
       0px  1px 1px #000,
      -1px  0px 1px #000,
       0px -1px 1px #000;
	font-size: 3.2rem;
	font-weight: 700;
}

@media screen and (max-width: 920px) {
	.p-top__item-text {
		font-size: min(3.48vw, 3.2rem);
	}
}

@media screen and (max-width: 767px) {
	.p-top__item-text {
		font-size: min(5.58vw, 2.4rem);
	}
}



/* page共通 */
.page .l-content__inner {
	padding: min(8.33vw, 120px) 20px;
}

@media screen and (max-width: 767px) {
	.page .l-content__inner {
		padding: min(13.95vw, 60px) 16px;
	}
}

.page .c-heading-02__wrap:not(:first-of-type) {
	margin-top: min(8.33vw, 120px);
}

@media screen and (max-width: 767px) {
	.page .c-heading-02__wrap:not(:first-of-type) {
		margin-top: min(13.95vw, 60px);
	}
}

.page .page-heading-03 {
	font-size: min(1.67vw, 2.4rem);
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.page .page-heading-03 {
		font-size: min(5.58vw, 2.4rem);
	}
}

.page .page-heading-mt {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.page .page-heading-mt {
		margin-top: min(11.63vw, 50px);
	}
}

.l-page .l-header {
	position: static;
}

@media screen and (max-width: 767px) {
	.l-page .l-header {
		position: absolute;
	}
}

.l-page__item {
	width: 100%;
	height: min(7.36vw, 106px);
	background: #FFF;
}

@media screen and (max-width: 767px) {
	.l-page__item {
		height: 80px;
	}
}

.l-page__item-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 920px;
	height: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

@media screen and (max-width: 767px) {
	.l-page__item-inner {
		align-items: start;
		justify-content: center;
		flex-direction: column;
		padding: 0 60px 0 16px;
	}
}

.l-page__item-contents-wrap {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.l-page__item-contents-wrap {
		align-items: start;
		flex-direction: column;
	}
}

.l-page__item-logo-wrap {
	width: 144px;
	height: 23px;
}

.l-page__item-logo-wrap img {
	display: block;
}

.l-page__item-contents-text {
	margin-left: 10px;
	color: #0AA2E9;
	font-weight: 700;
	font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
	.l-page__item-contents-text {
		margin-left: 0;
	}
}

.l-page__text {
	font-size: min(1.39vw, 2rem);
}

@media screen and (max-width: 767px) {
	.l-page__text {
		margin-top: 4px;
		font-size: 1.2rem;
	}
}

.page {
	position: relative;
}

.page_bk {
	position: absolute;
	width: min(38.4vw, 553px);
	height: min(36.67vw, 528px);
	background-repeat: no-repeat;
	background-size: 100% auto;
	opacity: .6;
}

@media screen and (max-width: 767px) {
	.page_bk {
		width: min(64.19vw, 276px);
		height: min(61.4vw, 264px);
	}
}

.page_bk_right {
	right: 0;
	background-position: top right;
	background-image: url(assets/img/bk_arrow_left.png);
}

.page_bk_left {
	left: 0;
	background-position: top left;
	background-image: url(assets/img/bk_arrow_right.png);
}



/* page business */
.p-business__item-group {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-business__item-group {
		margin-top: min(11.63vw, 50px);
	}
}

.p-business__item:not(:first-of-type) {
	margin-top: min(6.94vw, 100px);
}

@media screen and (max-width: 767px) {
	.p-business__item:not(:first-of-type) {
		margin-top: min(11.63vw, 50px);
	}
}

.p-business__item-img-group {
	display: flex;
	align-items: center;
}

.p-business__item-img-wrap {
	max-width: 295px;
	width: min(20.49vw, 295px);
}

@media screen and (max-width: 767px) {
	.p-business__item-img-wrap {
		max-width: 295px;
		width: 100%;
		margin: 0 auto;
	}
}

.p-business__item-body {
	margin-top: min(2.78vw, 40px);
}

@media screen and (max-width: 767px) {
	.p-business__item-body {
		margin-top: min(6.98vw, 30px);
	}
}

.p-business__item-text-wrap {
	margin-top: min(1.11vw, 16px);
}

@media screen and (max-width: 767px) {
	.p-business__item-text-wrap {
		margin-top: min(3.72vw, 16px);
	}
}

.p-business__item-text:not(:first-of-type) {
	margin-top: min(2.08vw, 30px);
}

@media screen and (max-width: 767px) {
	.p-business__item-text:not(:first-of-type) {
		margin-top: min(4.65vw, 20px);
	}
}

.p-business__item-list {
	padding-left: 1em;
	text-indent: -1em;
}

.p-business__item-box {
	margin-top: min(2.08vw, 30px);
}

@media screen and (max-width: 767px) {
	.p-business__item-box {
		margin-top: min(4.65vw, 20px);
	}
}

.p-business__item-box dl {
	display: flex;
}

@media screen and (max-width: 767px) {
	.p-business__item-box dl {
		display: block;
	}
}

.p-business__item-box dl:not(:first-of-type) {
	margin-top: min(1.39vw, 20px);
}

@media screen and (max-width: 767px) {
	.p-business__item-box dl:not(:first-of-type) {
		margin-top: min(3.72vw, 16px);
	}
}

.p-business__item-box dt {
	min-width: min(10.42vw, 150px);
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.p-business__item-box dt {
		min-width: none;
	}
}

.p-business__item-box dd {
	margin-left: 1em;
	padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
	.p-business__item-box dd {
		margin: min(1.86vw, 8px) 0 0;
	}
}

.p-business__item-box dd span {
  display: inline-block;
}

.p-business__item-company-text-group {
	max-width: min(24.31vw, 350px);
	margin: min(8.33vw, 120px) 0 0 auto;
}

@media screen and (max-width: 900px) {
	.p-business__item-company-text-group {
		max-width: 220px;
	}
}

@media screen and (max-width: 767px) {
	.p-business__item-company-text-group {
		max-width: none;
	}
}

.p-business__item-company-title {
	font-weight: bold;
}

.p-business__item-company-text-wrap {
	margin-top: min(0.56vw, 8px);
}

@media screen and (max-width: 767px) {
	.p-business__item-company-text-wrap {
		margin-top: min(1.86vw, 8px);
	}
}

.page_bk--01 {
	top: min(30.21vw, 435px);
}

@media screen and (max-width: 767px) {
	.page_bk--01 {
		top: min(93.02vw, 400px);
	}
}

.page_bk--02 {
	top: min(83.33vw, 1200px);
}

@media screen and (max-width: 767px) {
	.page_bk--02 {
		top: min(279.07vw, 1200px);
	}
}

.page_bk--03 {
	bottom: min(131.94vw, 1900px);
}

@media screen and (max-width: 767px) {
	.page_bk--03 {
		bottom: min(511.63vw, 2200px);
	}
}

.page_bk--04 {
	bottom: min(76.39vw, 1100px);
}

@media screen and (max-width: 767px) {
	.page_bk--04 {
		bottom: min(325.58vw, 1400px);
	}
}

.page_bk--05 {
	bottom: min(18.75vw, 270px);
}

@media screen and (max-width: 767px) {
	.page_bk--05 {
		bottom: min(139.53vw, 600px);
	}
}



/* page company */
.p-message__item {
	width: 95%;
	display: flex;
	align-items: center;
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-message__item {
		width: 100%;
		flex-direction: column-reverse;
		margin-top: min(11.63vw, 50px);
	}
}

@media screen and (max-width: 767px) {
	.p-message__item-text-wrap {
		margin-top: min(6.98vw, 30px);
	}
}

.p-message__item-img-wrap {
	margin-left: min(1.94vw, 20px);
	width: 65%;
}

@media screen and (max-width: 767px) {
	.p-message__item-img-wrap {
		max-width: 255px;
		width: 100%;
		margin: 0 auto;
	}
}

.p-message__item-text-company {
	margin-top: min(1.11vw, 16px);
	font-weight: bold;
}

.p-company__information {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-company__information {
		margin-top: min(11.63vw, 50px);
	}
}

.p-company__information-with-image {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.p-company__information-with-image {
		flex-direction: column-reverse;
	}
}

.p-company__information-with-text-wrap {
	width: 64%;
}

@media screen and (max-width: 767px) {
	.p-company__information-with-text-wrap {
		width: 100%;
		margin-top: min(6.98vw, 30px);
	}
}

.p-company__information-with-image-wrap {
	width: min(18.75vw, 270px);
	margin-left: min(0.83vw, 12px);
}

@media screen and (max-width: 767px) {
	.p-company__information-with-image-wrap {
		max-width: 270px;
		width: 100%;
		margin: 0 auto;
	}
}

.p-company__information-list {
	display: flex;
	padding-bottom: min(1.04vw, 15px);
	border-bottom: 1px solid #D9D9D9;
}

@media screen and (max-width: 767px) {
	.p-company__information-list {
		flex-direction: column;
		padding-bottom: min(2.79vw, 12px);
	}
}

.p-company__information-list:not(.p-company__information-list--first) {
	margin-top: min(1.04vw, 15px);
}

@media screen and (max-width: 767px) {
	.p-company__information-list:not(.p-company__information-list--first) {
		margin-top: min(2.79vw, 12px);
	}
}

.p-company__information-list dt {
	min-width: min(13.89vw, 200px);
	padding-left: 1em;
}

@media screen and (max-width: 767px) {
	.p-company__information-list dt {
		min-width: none;
		padding-left: 0;
	}
}

.p-company__information-list dd {
	margin-left: min(1.04vw, 15px);
}

@media screen and (max-width: 767px) {
	.p-company__information-list dd {
		margin: min(1.86vw, 8px) 0 0;
		padding-left: 1em;
	}
}

.p-company__information-list:has(.p-company__information-list-sales) dt {
	min-width: min(8.33vw, 120px);
}

@media screen and (max-width: 767px) {
	.p-company__information-list:has(.p-company__information-list-sales) dt {
		min-width: none;
	}
}

.p-company__information-list-sales li {
	padding-left: 1em;
	text-indent: -1em;
}

.p-company__information-list-sales li:not(:first-of-type) {
	margin-top: min(0.56vw, 8px);
}

@media screen and (max-width: 767px) {
	.p-company__information-list-sales li:not(:first-of-type) {
		margin-top: min(0.93vw, 4px);
	}
}

.p-company__permit-list-group,
.p-company__history-list-group {
	margin-top: min(3.47vw, 50px);
}

@media screen and (max-width: 767px) {
	.p-company__permit-list-group,
	.p-company__history-list-group {
		margin-top: min(6.98vw, 30px);
	}
}

.p-company__permit-list,
.p-company__history-list {
	display: flex;
	padding-bottom: min(1.04vw, 15px);
	border-bottom: 1px solid #D9D9D9;
}

@media screen and (max-width: 767px) {
	.p-company__permit-list,
	.p-company__history-list {
		flex-direction: column;
		padding-bottom: min(2.79vw, 12px);
	}
}

.p-company__permit-list:not(:first-of-type),
.p-company__history-list:not(:first-of-type) {
	margin-top: min(1.04vw, 15px);
}

@media screen and (max-width: 767px) {
	.p-company__permit-list:not(:first-of-type),
	.p-company__history-list:not(:first-of-type) {
		margin-top: min(2.79vw, 12px);
	}
}

.p-company__permit-list dt,
.p-company__history-list dt {
	min-width: min(19.44vw, 280px);
	padding-left: 1em;
}

@media screen and (max-width: 767px) {
	.p-company__permit-list dt,
	.p-company__history-list dt {
		min-width: none;
		padding-left: 0;
	}
}

.p-company__permit-list dd,
.p-company__history-list dd {
	margin-left: min(1.04vw, 15px);
}

@media screen and (max-width: 767px) {
	.p-company__permit-list dd,
	.p-company__history-list dd {
		margin: min(1.86vw, 8px) 0 0;
		padding-left: 1em;
	}
}

.p-company__qualifications-table-wrap {
	display: flex;
	margin-top: min(3.47vw, 50px);
}

@media screen and (max-width: 767px) {
	.p-company__qualifications-table-wrap {
		flex-direction: column;
		margin-top: min(6.98vw, 30px);
	}
}

.p-company__qualifications-table {
	width: 50%;
  border-collapse: collapse;
}

@media screen and (max-width: 767px) {
	.p-company__qualifications-table {
		width: 100%;
	}
}

.p-company__qualifications-table th, .p-company__qualifications-table td {
	border: solid 1px #D9D9D9;
	text-align: center;
	padding: min(1.11vw, 16px);
}

@media screen and (max-width: 767px) {
	.p-company__qualifications-table th, .p-company__qualifications-table td {
		padding: min(3.72vw, 16px);
	}
}

.p-company__qualifications-table thead th, .p-company__qualifications-table thead td {
  background: rgba(217, 217, 217, 0.73);
}

.p-company__qualifications-table thead th {
  width: 80%;
}

@media screen and (max-width: 767px) {
	.p-company__qualifications-table thead th {
		width: 75%;
	}
}

.p-company__qualifications-table thead td {
  width: 20%;
}

@media screen and (max-width: 767px) {
	.p-company__qualifications-table thead td {
		width: 25%;
	}
}

@media screen and (max-width: 767px) {
	.p-company__qualifications-table:nth-of-type(2n) {
		margin-top: min(4.65vw, 20px);
	}
}

.p-company__qualifications-table:nth-of-type(2n) th {
  border-left: none;
}

@media screen and (max-width: 767px) {
	.p-company__qualifications-table:nth-of-type(2n) th {
		border-left: solid 1px #D9D9D9;
	}
}



/* page access */
.p-access__item-group {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-access__item-group {
		margin-top: min(11.63vw, 50px);
	}
}

.p-access__map-wrap {
	display: flex;
}

@media screen and (max-width: 767px) {
	.p-access__map-wrap {
		flex-direction: column;
	}
}

.p-access__title-wrap {
	min-width: min(11.25vw, 162px);
}

@media screen and (max-width: 767px) {
	.p-access__title-wrap {
		min-width: none;
	}
}

.p-access__img-wrap {
	width: min(37.92vw, 546px);
	margin-left: 1em;
}

@media screen and (max-width: 767px) {
	.p-access__img-wrap {
		max-width: 546px;
		width: 100%;
		margin: min(4.65vw, 20px) auto 0;
	}
}

.p-access__company-wrap {
	margin-top: min(2.78vw, 40px);
	font-size: min(1.67vw, 2.4rem);
}

@media screen and (max-width: 767px) {
	.p-access__company-wrap {
		margin-top: min(4.65vw, 20px);
		font-size: min(4.19vw, 1.8rem);
	}
}

.p-access__company-text--01 {
	font-weight: bold;
}

.p-access__company-text--02 {
	margin-top: min(1.25vw, 18px);
	text-align: center;
}

@media screen and (max-width: 767px) {
	.p-access__company-text--02 {
		margin-top: min(1.86vw, 8px);
		padding-left: 1em;
		text-align: left;
	}
}

.p-access__train-wrap {
	margin-top: min(2.78vw, 40px);
	font-size: min(1.67vw, 2.4rem);
}

@media screen and (max-width: 767px) {
	.p-access__train-wrap {
		margin-top: min(4.65vw, 20px);
		font-size: min(4.19vw, 1.8rem);
	}
}

.p-access__train-list {
	display: flex;
}

@media screen and (max-width: 767px) {
	.p-access__train-list {
		flex-direction: column;
	}
}

.p-access__train-list dt {
	min-width: min(18.06vw, 260px);
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.p-access__train-list {
		min-width: none;
	}
}

.p-access__train-list dd {
	margin-left: 1em;
}

@media screen and (max-width: 767px) {
	.p-access__train-list dd {
		margin: min(1.86vw, 8px) 0 0;
		padding-left: 1em;
	}
}

.p-access__map-wrap--02 {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-access__map-wrap--02 {
		margin-top: min(11.63vw, 50px);
	}
}

.p-access__company-wrap-another {
	display: flex;
	justify-content: center;
	margin-top: min(1.25vw, 18px);
	font-size: min(1.67vw, 2.4rem);
}

@media screen and (max-width: 767px) {
	.p-access__company-wrap-another {
		justify-content: left;
		margin-top: min(1.86vw, 8px);
		padding-left: 1em;
		font-size: min(4.19vw, 1.8rem);
	}
}

.page_bk--01 {
	top: min(13.89vw, 200px);
}

@media screen and (max-width: 767px) {
	.page_bk--01 {
		top: min(23.26vw, 100px);
	}
}

.page_bk--02 {
	top: min(55.56vw, 800px);
}

@media screen and (max-width: 767px) {
	.page_bk--02 {
		top: min(156.98vw, 675px);
	}
}

.page_bk--03 {
	bottom: min(13.89vw, 200px);
}

@media screen and (max-width: 767px) {
	.page_bk--03 {
		bottom: min(46.51vw, 200px);
	}
}



/* page group */
.p-group__area {
	margin-top: min(2.08vw, 30px);
}

@media screen and (max-width: 767px) {
	.p-group__area {
		margin-top: min(4.65vw, 20px);
	}
}

.p-group-heading {
	display: inline-block;
	font-size: min(2.22vw, 3.2rem);
	font-weight: bold;
	color: #0AA2E9;
}

@media screen and (max-width: 767px) {
	.p-group-heading {
		font-size: min(6.05vw, 2.6rem);
	}
}

.p-group__item-wrap {
	margin-top: min(4.17vw, 60px);
}

@media screen and (max-width: 767px) {
	.p-group__item-wrap {
		margin-top: min(6.98vw, 30px);
	}
}

.p-group__item:not(:first-of-type) {
	margin-top: min(4.17vw, 60px);
}

@media screen and (max-width: 767px) {
	.p-group__item:not(:first-of-type) {
		margin-top: min(6.98vw, 30px);
	}
}

.p-group__lead-text {
	margin-top: min(1.04vw, 15px);
}

@media screen and (max-width: 767px) {
	.p-group__lead-text {
		margin-top: min(1.86vw, 8px);
	}
}

.p-group__list-wrap {
	margin-top: min(0.69vw, 10px);
}

@media screen and (max-width: 767px) {
	.p-group__list-wrap {
		margin-top: min(1.86vw, 8px);
	}
}

.p-group__list {
	display: flex;
	padding: min(1.04vw, 15px) 0;
	border-bottom: 1px solid #D9D9D9;
}

@media screen and (max-width: 767px) {
	.p-group__list {
		flex-direction: column;
		padding: min(2.79vw, 12px) 0;
	}
}

.p-group__list dt {
	min-width: min(13.89vw, 200px);
}

@media screen and (max-width: 767px) {
	.p-group__list dt {
		min-width: none;
	}
}

.p-group__list dd {
	margin-left: 1em;
}

@media screen and (max-width: 767px) {
	.p-group__list dd {
		margin: min(1.86vw, 8px) 0 0;
		padding-left: 1em;
	}
}



/* page privacy */
.p-privacy__area {
	margin-top: min(2.08vw, 30px);
}

@media screen and (max-width: 767px) {
	.p-privacy__area {
		margin-top: min(4.65vw, 20px);
	}
}

.p-privacy-heading {
	font-size: min(1.67vw, 2.4rem);
	font-weight: bold;
	color: #0AA2E9;
}

@media screen and (max-width: 767px) {
	.p-privacy-heading {
		font-size: min(4.65vw, 2rem);
	}
}

.p-privacy__lead-text {
	margin-top: min(1.04vw, 15px);
}

@media screen and (max-width: 767px) {
	.p-privacy__lead-text {
		margin-top: min(1.86vw, 8px);
	}
}

.p-privacy__item-group {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-privacy__item-group {
		margin-top: min(9.3vw, 40px);
	}
}

.p-privacy__item:not(:first-of-type) {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-privacy__item:not(:first-of-type) {
		margin-top: min(9.3vw, 40px);
	}
}

.p-privacy__item-text {
	margin-top: min(1.74vw, 25px);
}

@media screen and (max-width: 767px) {
	.p-privacy__item-text {
		margin-top: min(4.65vw, 20px);
	}
}

.p-privacy__list-wrap {
	margin-top: min(1.74vw, 25px);
}

@media screen and (max-width: 767px) {
	.p-privacy__list-wrap {
		margin-top: min(4.65vw, 20px);
	}
}

.p-privacy__list {
	padding-bottom: min(1.04vw, 15px);
	border-bottom: 1px solid #D9D9D9;
}

@media screen and (max-width: 767px) {
	.p-privacy__list {
		padding-bottom:  min(2.79vw, 12px);
	}
}

.p-privacy__list:not(:first-of-type) {
	margin-top: min(1.04vw, 15px);
}

@media screen and (max-width: 767px) {
	.p-privacy__list:not(:first-of-type) {
		margin-top: min(2.79vw, 12px);
	}
}

.p-privacy__list dd {
	margin-top: min(0.83vw, 12px);
	padding-left: 1em;
}

@media screen and (max-width: 767px) {
	.p-privacy__list dd {
		margin-top: min(1.86vw, 8px);
	}
}


.p-privacy__inquiry-wrap {
	margin-top: min(5.56vw, 80px);
	font-size: min(1.67vw, 2.4rem);
}

@media screen and (max-width: 767px) {
	.p-privacy__inquiry-wrap {
		margin-top: min(9.3vw, 40px);
		font-size: min(4.65vw, 2rem);
	}
}

.p-privacy__inquiry-title {
	font-weight: bold;
}

.p-privacy__inquiry-body {
	margin-top: min(1.39vw, 20px);
}

@media screen and (max-width: 767px) {
	.p-privacy__inquiry-body {
		margin-top: min(3.72vw, 16px);
	}
}

.p-privacy__inquiry-body a {
	color: #000;
}

.p-privacy__inquiry-mail {
	text-decoration: underline;
}

.p-privacy__inquiry-mail:hover {
	text-decoration: none;
}



/* page environmental */
.p-environmental__area {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-environmental__area {
		margin-top: min(11.63vw, 50px);
	}
}


.p-environmental__sdgs-wrap {
	margin-top: min(2.78vw, 40px);
}

@media screen and (max-width: 767px) {
	.p-environmental__sdgs-wrap {
		margin-top: min(6.98vw, 30px);
	}
}

.p-environmental__sdgs-text-wrap {
	margin-top: min(1.11vw, 16px);
}

@media screen and (max-width: 767px) {
	.p-environmental__sdgs-text-wrap {
		margin-top: min(3.72vw, 16px);
	}
}

.p-environmental__effort-wrap {
	margin-top: min(5.56vw, 80px);
}

@media screen and (max-width: 767px) {
	.p-environmental__effort-wrap {
		margin-top: min(9.3vw, 40px);
	}
}

.p-environmental__effort-text-wrap {
	margin-top: min(2.78vw, 40px);
}

@media screen and (max-width: 767px) {
	.p-environmental__effort-text-wrap {
		margin-top: min(6.98vw, 30px);
	}
}

.p-environmental__effort-text li {
	padding-left: 1em;
	text-indent: -1em;
}

.p-environmental__effort-text li:not(:first-of-type) {
	margin-top: min(2.78vw, 40px);
}

@media screen and (max-width: 767px) {
	.p-environmental__effort-text li:not(:first-of-type) {
		margin-top: min(6.98vw, 30px);
	}
}

.p-environmental__effort-text li:last-of-type {
	margin-top: min(5.56vw, 80px);
	text-indent: 0;
}

@media screen and (max-width: 767px) {
	.p-environmental__effort-text li:last-of-type {
		margin-top: min(9.3vw, 40px);
	}
}



/* footer */
.l-footer {
	width: 100%;
	height: min(4.51vw, 65px);
	background: #0AA2E9;
}

@media screen and (max-width: 767px) {
	.l-footer {
		height: min(13.95vw, 60px);
	}
}

.l-footer__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1040px;
	height: 100%;
	margin: 0 auto;
	padding: 5px 98px;
}

@media screen and (max-width: 767px) {
	.l-footer__inner {
		padding: 5px 50px;
	}
}

.l-footer__text {
	word-break: break-all;
}

@media screen and (max-width: 767px) {
	.l-footer__text {
		font-size: min(2.79vw, 1.2rem);
	}
}

.l-footer__img-wrap {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 38px;
}

@media screen and (max-width: 767px) {
	.l-footer__img-wrap {
		right: 20px;
	}
}



/* CONTACT */
.p-contact__lead-text {
	font-size: min(1.67vw, 2.4rem);
	font-weight: 400;
	margin-top: min(5.56vw, 80px);
	text-align: center;
}

@media screen and (max-width: 767px) {
	.p-contact__lead-text {
		font-size: min(5.58vw, 2.4rem);
		margin-top: min(18.6vw, 80px);
	}
}

.p-contact__cf7-area {
	max-width: 640px;
	margin: min(5.56vw, 80px) auto 0;
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-area {
		margin: min(11.63vw, 50px) auto 0;
	}
}

.p-contact__cf7-item-information {
	font-weight: 500;
}

.p-contact__cf7-item:not(:first-of-type) {
	margin-top: min(1.53vw, 22px);
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-item:not(:first-of-type) {
		margin-top: min(3.72vw, 16px);
	}
}

/* input・textarea */
.p-contact__cf7-item input[type="text"],
.p-contact__cf7-item input[type="email"],
.p-contact__cf7-item textarea {
  width: 100%;
	margin-top: min(0.56vw, 8px);
  padding: min(0.69vw, 10px) min(1.11vw, 16px);
	border: 1px solid #D9D9D9;
	font-size: min(1.11vw, 1.6rem);
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-item input[type="text"],
	.p-contact__cf7-item input[type="email"],
	.p-contact__cf7-item textarea {
		margin-top: min(1.4vw, 6px);
		padding: min(1.86vw, 8px) min(2.79vw, 12px);
		font-size: min(3.72vw, 1.6rem);
	}
}

.p-contact__cf7-item input[type="text"]::placeholder,
.p-contact__cf7-item input[type="email"]::placeholder,
.p-contact__cf7-item textarea::placeholder {
	font-size: min(0.97vw, 1.4rem);
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-item input[type="text"]::placeholder,
	.p-contact__cf7-item input[type="email"]::placeholder,
	.p-contact__cf7-item textarea::placeholder {
		font-size: min(2.79vw, 1.2rem);
	}
}

.p-contact__cf7-item--flex {
	display: flex;
	align-items: center;
}

.p-contact__cf7-item-required {
	display: inline-block;
	margin-left: 10px;
	padding: 3px 8px;
	color: #FFF;
	font-size: 10px;
	background: #B30124;
}




.p-contact__cf7-item input[type="text"]:focus,
.p-contact__cf7-item input[type="email"]:focus,
.p-contact__cf7-item textarea:focus {
  outline: none;
	border: 2px solid #080133;
}

.p-contact__cf7-item input[type="text"],
.p-contact__cf7-item input[type="email"] {
	height: min(3.19vw, 46px);
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-item input[type="text"],
	.p-contact__cf7-item input[type="email"] {
		height: min(9.3vw, 40px);
	}
}

.p-contact__cf7-item textarea {
	height: min(11.11vw, 160px);
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-item textarea {
		height: min(27.91vw, 120px);
	}
}

/* 送信ボタン */
.p-contact__cf7-button {
  text-align: center;
}

.p-contact__cf7-button input[type="submit"] {
  width: min(14.31vw, 206px);
  height: min(3.19vw, 46px);
	margin-top: min(5.56vw, 80px);
	font-weight: 500;
  background: #B30124;
  color: #fff;
  transition: opacity .5s;
	border: none;
	cursor: pointer;
	font-size: min(1.11vw, 1.6rem);
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-button input[type="submit"] {
		width: min(44.42vw, 191px);
		height: min(10.23vw, 44px);
		margin-top: min(9.3vw, 40px);
		font-size: min(3.72vw, 1.6rem);
	}
}

.p-contact__cf7-button input[type="submit"]:hover {
  opacity: .7;
}

/* ajax-loader */
.wpcf7-spinner {
  display: none !important;
}

/* 未入力時文言 */
.wpcf7-response-output {
	font-size: min(1.67vw, 2.4rem) !important;
	padding: 0 !important;
	border: none !important;
	color: #dc3232 !important;
	text-align: center !important;
}

@media screen and (max-width: 767px) {
	.wpcf7-response-output {
		font-size: min(5.33vw, 2rem) !important;
	}
}

/* reCAPTCHA */
.grecaptcha-badge {
	visibility: hidden;
}

.p-contact__cf7-recaptcha {
	margin-top: min(1.39vw, 20px) !important;
	font-size: min(0.83vw, 1.2rem) !important;
  text-align: center !important;
}

@media screen and (max-width: 767px) {
	.p-contact__cf7-recaptcha {
		margin-top: min(5.33vw, 20px) !important;
		font-size: min(3.2vw, 1.2rem) !important;
		text-align: center !important;
	}
}



/* お問い合わせ完了ページ */
.page-contact-thanks__button-wrap {
  width: min(14.31vw, 206px);
  height: min(3.19vw, 46px);
	margin: min(5.56vw, 80px) auto 0;
	font-weight: 500;
  background: #B30124;
  color: #fff;
  transition: opacity .5s;
	border: none;
	cursor: pointer;
	font-size: min(1.11vw, 1.6rem);
}

@media screen and (max-width: 767px) {
	.page-contact-thanks__button-wrap{
		width: min(44.42vw, 191px);
		height: min(10.23vw, 44px);
		margin: min(9.3vw, 40px) auto 0;
		font-size: min(3.72vw, 1.6rem);
	}
}




.page-contact-thanks__button-wrap a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #fff;
	font-size: min(1.11vw, 1.6rem);
}

@media screen and (max-width: 767px) {
	.page-contact-thanks__button-wrap a {
		font-size: min(3.72vw, 1.6rem);
	}
}

