@charset "utf-8";

/*
Theme Name: 一般社団法人日本有害鳥獣駆除・防除管理協会LP
Theme URI: http://www.dm-s.co.jp/
Author: DM Solutions
Author URI: http://www.dm-s.co.jp/
Version: 10.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

html {
	font-size: 10px;
}

body {
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'MS PGothic', 'ＭＳ Ｐゴシック', 'MS Gothic', 'メイリオ', Meiryo, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'Helvetica Neue', Arial, sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0.06em;
	margin: 0;
	text-align: center;
	background: #fff;
	line-height: 1.5;
	color: #191919;
	word-wrap: break-word;
	-webkit-text-size-adjust: none;
	image-rendering: auto;
	font-weight: normal;
	overflow-x: hidden;
}

p,
form {
	margin: 0;
	padding: 0;
}

img {
	border: none;
	margin: 0;
	padding: 0;
	backface-visibility: visible;
	-webkit-backface-visibility: visible;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

a {
	text-decoration: none;
	outline: none;
	color: #191919;
}

a:hover img {
	opacity: 0.75;
}

a,
a img,
input,
textarea,
select,
button {
	transition: all 0.15s ease-out;
	outline: none;
}

input,
textarea,
select,
button {
	outline: none;
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
ul,
dl,
dt,
dd {
	margin: 0;
	padding: 0;
	list-style: none;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight: normal;
}

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

*[data-before]:before {
	content: attr(data-before);
}

*[data-after]:after {
	content: attr(data-after);
}

.sp {
	display: none;
}

.tel {
	display: inline-block;
	text-align: center;
}

.tel a {
	display: block;
	background: url(img/tel_free.png) no-repeat 0px center;
	background-size: 45px auto;
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.2;
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
	padding: 2px 0px 0px 50px;
	letter-spacing: -0.02em;
	pointer-events: none;
	white-space: nowrap;
}

.tel a:hover {
	color: #5299CC;
}

.tel span {
	font-size: 1.4rem;
	font-weight: bold;
	display: block;
	padding: 0px 0px 0px 30px;
}

.tel span i {
	font-style: normal;
	font-weight: 900;
	line-height: 1.4;
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
}

.btn {
	text-align: center;
}

.btn a {
	display: inline-block;
	background: linear-gradient(45deg, #5252CC, #5299CC, #D6E68A);
	color: #fff;
	font-weight: bold;
	border-radius: 50px;
	padding: 10px 25px 12px 25px;
	white-space: nowrap;
}

.btn a:hover {
	opacity: 0.75;
}

header {
	height: 120px;
	position: fixed;
	z-index: 200;
	top: 0px;
	left: 0px;
	width: 100%;
	padding: 0px 60px;
	transition: height 0.2s ease-in-out;
}

header:before {
	content: '';
	background-color: #fff;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	transition: all 0.2s ease-in-out;
	z-index: 2;
	pointer-events: none;
}

header .cont {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 120px;
	gap: 25px;
	transition: height 0.2s ease-in-out;
}

header .logo {
	position: relative;
	z-index: 3;
}

header nav {
	margin-left: auto;
	max-width: calc(100% - 700px);
	position: relative;
	z-index: 3;
}

header nav ul {
	display: flex;
	flex-flow: row wrap;
	gap: 10px 25px;
	justify-content: center;
}

header nav a {
	display: inline-block;
	padding-right: 18px;
	background: url(img/arrow_down.svg) no-repeat right 10px;
	background-size: 10px auto;
}

header nav a:hover {
	color: #5299CC;
	background-position: right 12px;
}

header .btns {
	display: flex;
	align-items: center;
	gap: 18px;
	position: relative;
	z-index: 3;
}

header .spm {
	display: none;
	position: relative;
	z-index: 3;
}

.float_nav header,
.float_nav header .cont {
	height: 100px;
}

.float_nav header:before,
.nav_on header:before {
	box-shadow: 0px 0px 10px #00000011;
}

@media screen and (max-width: 1560px) {
	header {
		padding: 0px 20px;
	}
}

@media screen and (max-width: 1460px) {

	header .cont,
	header nav ul {
		gap: 10px 20px;
	}
}

@media screen and (max-width: 1080px) {

	header,
	header .cont {
		height: 100px;
	}

	header .logo img {
		width: 260px;
	}

	header nav {
		position: fixed;
		top: 100px;
		right: 0px;
		background-color: #ffffffdd;
		width: 300px;
		height: 100%;
		max-width: 100%;
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
		box-shadow: 0px 0px 10px #0001;
		z-index: 1;
		padding: 30px;
		transition: all 0.2s ease-in-out;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateX(20px);
	}

	header nav ul {
		display: block;
		text-align: center;
	}

	header nav ul li {
		padding: 20px 0px;
	}

	header nav ul li:not(:last-child) {
		border-bottom: #ccc dotted 1px;
	}

	header .btns {
		margin-left: auto;
	}

	header .spm {
		display: block;
		width: 50px;
		height: 46px;
		background-color: #f9f9f9;
		position: relative;
		border-radius: 5px;
		cursor: pointer;
		transition: all 0.15s ease-in-out;
	}

	header .spm:hover {
		background-color: #eee;
	}

	header .spm i:before,
	header .spm i:after {
		content: '';
		width: 36px;
		height: 2px;
		background-color: #000;
		position: absolute;
		left: 50%;
		margin-left: -18px;
		top: 50%;
		margin-top: -1px;
		transition: all 0.2s ease-in-out;
	}

	header .spm i:before {
		transform: translateY(-5px);
	}

	header .spm i:after {
		transform: translateY(5px) scaleX(0.75) translateX(-6px);
	}

	.nav_on header nav {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
		transform: translateX(0px);
	}

	.nav_on header .spm i:before {
		transform: translateY(0px) rotate(45deg);
	}

	.nav_on header .spm i:after {
		transform: translateY(0px) rotate(-45deg) scaleX(1) translateX(0px);
	}
}

.mv {
	background: url(img/mv_bg.jpg) no-repeat center;
	background-size: cover;
	padding: 120px 20px 0px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	max-height: 1120px;
	min-height: 900px;
}

.mv .cont {
	width: 1480px;
	max-width: 100%;
	margin: 0 auto;
	text-align: left;
}

.mv .title {
	margin-bottom: 40px;
	background: linear-gradient(45deg, #7A7ACC, #7AAACC, #DAE6A1);
	display: inline-block;
	font-size: 6.4rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.2;
	padding: 6px 20px 10px 20px;
}

.mv p {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 40px;
}

.mv .box {
	width: 552px;
	background: url(img/bg02.jpg) no-repeat center;
	background-size: cover;
	padding: 50px 20px;
	text-align: center;
	border-radius: 8px;
}

.mv .box .ti {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
}

.mv .box .tel {
	margin-bottom: 20px;
}

.mv .box .tel a {
	font-size: 4.4rem;
	background-size: 90px auto;
	padding: 6px 0px 0px 105px;
}

.mv .box .tel span {
	font-size: 1.7rem;
	padding-left: 0;
}

.mv .box .btn a {
	padding: 10px 38px 10px 25px;
	font-size: 1.4rem;
	position: relative;
	box-shadow: 0px 5px 10px #00000011;
}

.mv .box .btn a:after {
	content: '';
	width: 20px;
	height: 20px;
	background: url(img/arrow.svg) no-repeat center;
	background-size: contain;
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -10px;
}

.pos {
	display: block;
	border: none;
	background: none;
	z-index: -1;
	padding: 130px 0px 0px 0px;
	margin: -130px 0px 0px 0px;
}

@media screen and (max-width: 1080px) {
	.pos {
		padding-top: 110px;
		margin-top: -110px;
	}
}

.sec {
	padding: 120px 20px;
}

.sec .cont {
	max-width: 1200px;
	margin: 0 auto;
}

.sec_title {
	font-size: 4.8rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 80px;
}

.sec_title:before {
	display: block;
	font-size: 2rem;
	font-weight: 900;
	color: #003182;
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
	margin-bottom: 15px;
}

.sec01 {
	background: url(img/bg01.jpg) no-repeat center top, linear-gradient(45deg, #CFCFE6, #CFDBE6, #E1E6CF);
}

.sec01 .box1 {
	margin: 0px -12px;
	margin-bottom: 24px;
}

.sec01 .box1 .swiper-wrapper {
	height: auto;
}

.sec01 .box1 .swiper-slide {
	padding: 0px 12px;
	display: flex;
	height: auto;
}

.sec01 .box1 .col {
	background-color: #fff;
	border-radius: 16px;
	padding: 40px 32px 30px 32px;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sec01 .box1 .col>span {
	font-size: 2rem;
	border: #5252CC solid;
	border-width: 4px 0px 2px 0px;
	display: inline-block;
	padding: 3px 0px;
	width: 180px;
	position: relative;
	margin-bottom: 35px;
	color: #5252CC;
}

.sec01 .box1 .col>span:after {
	content: '';
	height: 20px;
	width: 2px;
	position: absolute;
	left: 50%;
	margin-left: -1px;
	bottom: -20px;
	background-color: #5252CC;
}

.sec01 .box1 .swiper-slide:nth-child(2) .col>span {
	border-color: #5299CC;
	color: #5299CC;
}

.sec01 .box1 .swiper-slide:nth-child(2) .col>span:after {
	background-color: #5299CC;
}

.sec01 .box1 .swiper-slide:nth-child(3) .col>span {
	border-color: #B8CC52;
	color: #B8CC52;
}

.sec01 .box1 .swiper-slide:nth-child(3) .col>span:after {
	background-color: #B8CC52;
}

.sec01 .box1 .nav {
	display: none;
}

.sec01 .box1 h3 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5em;
	min-height: 3em;
	margin-bottom: 20px;
}

.sec01 .box1 p {
	margin-top: 20px;
	line-height: 2;
	text-align: left;
}

.sec01 .box1 p span {
	color: #FF791A;
}

.sec01 .box2 {
	background: #fff url(img/faq_img.png) no-repeat center bottom;
	background-size: 420px auto;
	border-radius: 16px;
	padding: 60px 20px 240px 20px;
	display: flex;
	justify-content: space-evenly;
	flex-flow: row wrap;
	gap: 40px 20px;
}

.sec01 .box2 .ti {
	font-size: 3.2rem;
	font-weight: bold;
	border: #003182 solid;
	border-width: 4px 0px 2px 0px;
	display: inline-block;
	padding: 2px 10px 5px 10px;
	position: relative;
	margin-bottom: 35px;
}

.sec01 .box2 .ti:before {
	content: '';
	height: 24px;
	width: 2px;
	position: absolute;
	left: 50%;
	margin-left: -1px;
	bottom: -24px;
	background-color: #003182;
}

.sec01 .box2 .ct {
	font-size: 2.4rem;
	color: #FF791A;
	font-weight: bold;
	line-height: 1;
}

.sec01 .box2 .ct span {
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
	font-weight: 900;
	font-size: 6.4rem;
}

.sec01 .box2 p {
	margin-top: 5px;
}

.sec01 .box2 div:nth-child(1) {
	width: 100%;
}

.sec01 .box2 div:nth-child(1) .ti {
	font-size: 4rem;
}

@media screen and (max-width: 1050px) {
	.sec01 .box1 .col {
		padding: 30px 20px 20px 20px;
	}

	.sec01 .box1 h3 {
		font-size: 2rem;
	}
}

@media screen and (max-width: 960px) {
	.sec01 .box2 .ti {
		font-size: 2.5rem;
	}
}

.cta {
	background: url(img/cta_bg.jpg) no-repeat center;
	background-size: cover;
	position: relative;
	z-index: 1;
}

.cta .title {
	font-size: 4.8rem;
	font-weight: bold;
	color: #003182;
	background-color: rgba(255, 255, 255, 0.85);
	padding: 20px;
	position: relative;
}

.cta .title span {
	color: #FF791A;
}

.cta .title:after {
	content: '';
	width: 30px;
	height: 30px;
	border: rgba(255, 255, 255, 0.85) solid 15px;
	border-top-color: transparent;
	border-right-color: transparent;
	position: absolute;
	bottom: -15px;
	left: 50%;
	margin-left: -15px;
	transform: rotate(-45deg);
}

.cta .cont {
	padding: 50px 20px 10px 20px;
	max-width: 1240px;
	margin: 0 auto;
}

.cta p {
	font-size: 4rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.8;
	margin-bottom: 40px;
}

.cta p span {
	color: #FF791A;
}

.cta .box {
	background-color: #fff;
	border-radius: 16px;
	padding: 40px;
	box-shadow: 0px 5px 10px #00000022;
	margin-bottom: -260px;
}

.cta .box .inner {
	background: url(img/bg03.jpg) no-repeat center;
	background-size: cover;
	border-radius: 8px;
	padding: 48px;
}

.cta .box .ti {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 30px;
}

.cta .box .tel a {
	display: inline-block;
	font-size: 6.4rem;
	background-size: 90px auto;
	padding-left: 105px;
}

.cta .box .tel span {
	display: inline-block;
	font-size: 2.1rem;
	vertical-align: bottom;
	margin-bottom: 10px;
}

.cta .box .cn {
	border-top: #003182 dashed 2px;
	margin-top: 30px;
	padding-top: 40px;
}

.cta .box .cn a {
	font-size: 2rem;
	color: #5299CC;
	text-decoration: underline;
	display: inline-block;
	background: url(img/icon_mail.svg) no-repeat 0px center;
	background-size: 26px auto;
	padding: 2px 0px 4px 35px;
}

.cta .box .cn a:hover {
	text-decoration: none;
}

.cta+* {
	padding-top: 380px;
}

@media screen and (max-width: 980px) {
	.cta p {
		font-size: 3rem;
	}
}

.sec02 {
	background-color: #EDEFF2;
}

.sec02 .list>div {
	background-color: #fff;
	border-radius: 16px;
	padding: 40px;
}

.sec02 .list>div:not(:last-child) {
	margin-bottom: 40px;
}

.sec02 .list .box {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.sec02 .list .box:not(:last-child) {
	margin-bottom: 32px;
}

.sec02 .list>div:nth-child(even) .box {
	flex-direction: row;
}

.sec02 .list .im,
.sec02 .list .tx {
	width: 540px;
	max-width: calc(50% - 15px);
}

.sec02 .list .im img {
	border-radius: 8px;
}

.sec02 .list .im_sp {
	display: none;
}

.sec02 .list .tx {
	text-align: left;
}

.sec02 .list .tx:before {
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
	font-weight: 900;
	font-size: 4rem;
	line-height: 1;
	display: block;
	margin-bottom: 5px;
}

.sec02 .list h3 {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 20px;
}

.sec02 .list h3:after {
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
	font-weight: 900;
	font-size: 2rem;
	color: #003182;
}

.sec02 .list h3 span:after {
	content: '／';
	font-weight: normal;
	font-size: 2.4rem;
	color: #808080;
	margin: 0px 10px;
}

.sec02 .list p {
	font-size: 1.4rem;
	line-height: 1.8;
}

.sec02 .list p.st {
	font-size: 1.6rem;
	margin-bottom: 40px;
}

.sec02 .list h4 {
	font-size: 2.4rem;
	color: #003182;
	font-weight: bold;
	margin-bottom: 15px;
}

.sec02 .specs {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 100%;
	gap: 10px 0px;
}

.sec02 .specs dl {
	width: 540px;
	max-width: calc(50% - 15px);
	background: linear-gradient(45deg, #5252CC26, #5299CC26, #D6E68A26);
	border-radius: 8px;
	display: flex;
	align-items: center;
	position: relative;
	font-weight: bold;
	text-align: left;
}

.sec02 .specs dl:before {
	content: '';
	top: 0px;
	left: 190px;
	position: absolute;
	height: 100%;
	border-left: #808080 dashed 1px;
}

.sec02 .specs dt {
	padding: 12px 10px 12px 24px;
	width: 190px;
}

.sec02 .specs dd {
	padding: 12px 10px 12px 24px;
	width: calc(100% - 190px);
}

.sec03 {
	background-color: #F7F8FA;
}

.sec03 .cont>p {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.8;
	margin-bottom: 70px;
}

.sec03 .list {
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
	gap: 24px;
}

.sec03 .list>div {
	width: calc(50% - 12px);
	background: linear-gradient(45deg, #5252CC26, #5299CC26, #D6E68A26);
	border-radius: 8px;
	padding: 35px 40px;
}

.sec03 .list h3 {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 20px;
}

.sec03 .list .im {
	min-height: 200px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-bottom: 30px;
}

.sec03 .list ul {
	border-top: #003182 solid 1px;
	padding-top: 30px;
	text-align: left;
}

.sec03 .list li {
	position: relative;
	line-height: 1.6;
	padding-left: 20px;
}

.sec03 .list li:not(:last-child) {
	margin-bottom: 10px;
}

.sec03 .list li:before {
	content: '';
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #003182;
	position: absolute;
	left: 0px;
	top: 8px;
}

@media screen and (max-width: 980px) {
	.sec03 .list h3 {
		font-size: 2.8rem;
	}
}

.sec04 {
	background: linear-gradient(45deg, #CFCFE6, #CFDBE6, #E1E6CF);
}

.sec04 .box {
	background-color: #fff;
	border-radius: 16px;
	padding: 45px 50px;
}

.sec04 p {
	line-height: 1.8;
	text-align: left;
	font-size: 2rem;
}

.sec04 .box div {
	text-align: right;
	margin-top: 5px;
}

.sec05 {
	background-color: #EDEFF2;
	overflow: hidden;
}

.cases {
	margin: 0px -12px;
	margin-bottom: 100px;
}

.cases .swiper {
	overflow: visible;
}

.cases .swiper-wrapper {
	height: auto;
}

.cases .swiper-slide {
	padding: 0px 12px;
	width: auto !important;
	display: flex;
	height: auto;
}

.cases .swiper-slide>div {
	padding: 24px;
	border-radius: 16px;
	display: flex;
	background-color: #d5d5d5;
}

.cases .swiper .nav {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: calc(-792px / 2);
	width: 792px;
}

.cases .swiper .nav span {
	width: 56px;
	height: 56px;
	border-radius: 50px;
	position: absolute;
	z-index: 2;
	top: 50%;
	margin-top: -28px;
	background-color: #000;
	cursor: pointer;
	transition: all 0.15s ease-in-out;
}

.cases .swiper .nav span.prev {
	background: #191919 url(img/arrow_prev.svg) no-repeat center;
	background-size: 32px auto;
	left: -16px;
}

.cases .swiper .nav span.next {
	background: #191919 url(img/arrow_next.svg) no-repeat center;
	background-size: 32px auto;
	right: -16px;
}

.cases .swiper .nav span:hover {
	opacity: 0.75;
}

.cases .inner {
	background-color: #fff;
	border-radius: 9px;
	width: 744px;
	padding: 35px 40px;
	text-align: left;
}

.cases h3 {
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 15px;
}

.cases h3:before {
	color: #666;
	margin-right: 30px;
}

.cases h3:before,
.cases h3 span {
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
	font-weight: 900;
	font-size: 4rem;
	vertical-align: top;
	margin-top: -2px;
	display: inline-block;
}

.cases dl {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	font-size: 2rem;
	font-weight: bold;
	padding-bottom: 15px;
}

.cases dt {
	width: 112px;
	border: #999 solid 1px;
	border-radius: 50px;
	text-align: center;
	padding: 5px;
	margin-bottom: 10px;
}

.cases dd {
	width: calc(100% - 136px);
	margin-bottom: 10px;
}

.cases p {
	line-height: 1.8;
}

.cases .swiper-slide>div.c1 {
	background-color: #5252CC;
}

.cases .c1 h3:before {
	color: #5252CC;
}

.cases .c1 dt {
	border-color: #5252CC;
}

.cases .swiper-slide>div.c2 {
	background-color: #5299CC;
}

.cases .c2 h3:before {
	color: #5299CC;
}

.cases .c2 dt {
	border-color: #5299CC;
}

.cases .swiper-slide>div.c3 {
	background-color: #B8CC52;
}

.cases .c3 h3:before {
	color: #B8CC52;
}

.cases .c3 dt {
	border-color: #B8CC52;
}

.cases .swiper-slide>div.c4 {
	background-color: #CC8F52;
}

.cases .c4 h3:before {
	color: #CC8F52;
}

.cases .c4 dt {
	border-color: #CC8F52;
}

.cases .swiper-slide>div.c5 {
	background-color: #CC5299;
}

.cases .c5 h3:before {
	color: #CC5299;
}

.cases .c5 dt {
	border-color: #CC5299;
}

.sec05 .sub {
	margin-bottom: 50px;
}

.sec05 .sub h3 {
	font-size: 4rem;
	font-weight: bold;
	margin-bottom: 80px;
}

.sec05 .sub ul {
	display: flex;
	flex-flow: row wrap;
	gap: 24px;
	background: url(img/arrows.png) no-repeat center bottom;
	padding-bottom: 140px;
	margin-bottom: 40px;
}

.sec05 .sub li {
	width: calc((100% - 48px) / 3);
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(45deg, #5252CC26, #5299CC26, #D6E68A26);
	font-size: 2rem;
	font-weight: bold;
	border-radius: 8px;
	padding: 10px;
	min-height: 100px;
}

.sec05 .sub p {
	font-weight: bold;
	font-size: 4rem;
}

.sec05 .sub p span {
	color: #FF791A;
}

.sec05 .box {
	display: flex;
	justify-content: space-between;
}

.sec05 .box>div {
	background-color: #003182;
	border-radius: 16px;
	width: calc(50% - 12px);
	padding: 24px;
	display: flex;
}

.sec05 .box .inner {
	background-color: #fff;
	border-radius: 9px;
	padding: 35px 40px;
}

.sec05 .box h4 {
	font-size: 2.8rem;
	font-weight: bold;
	display: inline-block;
	border-bottom: #003182 solid 1px;
	padding-bottom: 15px;
	margin-bottom: 20px;
	color: #003182;
}

.sec05 .box p {
	text-align: left;
	line-height: 1.8;
}

.sec05 .box p span {
	color: #FF791A;
}

@media screen and (max-width: 834px) {
	.cases .swiper-slide {
		width: 100% !important;
	}

	.cases .inner {
		width: auto;
	}

	.cases .swiper .nav {
		position: static;
	}

	.cases .swiper .nav span.prev {
		left: -4px;
	}

	.cases .swiper .nav span.next {
		right: -4px;
	}
}

.sec06 {
	background-color: #F7F8FA;
}

.sec06 .box {
	display: flex;
	flex-direction: row-reverse;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
}

.sec06 .map img {
	border-radius: 16px;
}

.sec06 .area {
	width: 486px;
}

.sec06 .area dl {
	border-radius: 8px;
	background-color: #fff;
}

.sec06 .area dl:not(:last-child) {
	margin-bottom: 24px;
}

.sec06 .area dt {
	font-size: 2.4rem;
	font-weight: bold;
	background-color: #E6E6E6;
	border-radius: 8px 8px 0px 0px;
	color: #999;
	padding: 10px;
}

.sec06 .area dt span {
	display: inline-block;
	padding: 1px 0px 2px 32px;
}

.sec06 .area .a1 dt span {
	background: url(img/pin01.png) no-repeat 0px center;
	background-size: 18px auto;
	color: #5252CC;
}

.sec06 .area .a2 dt span {
	background: url(img/pin02.png) no-repeat 0px center;
	background-size: 18px auto;
	color: #5299CC;
}

.sec06 .area .a3 dt span {
	background: url(img/pin03.png) no-repeat 0px center;
	background-size: 18px auto;
	color: #A1B347;
}

.sec06 .area .a4 dt span {
	background: url(img/pin04.png) no-repeat 0px center;
	background-size: 18px auto;
	color: #CC8F52;
}

.sec06 .area .a5 dt span {
	background: url(img/pin05.png) no-repeat 0px center;
	background-size: 18px auto;
	color: #CC5299;
}

.sec06 .area .a6 dt span {
	background: url(img/pin06.png) no-repeat 0px center;
	background-size: 18px auto;
	color: #DF534A;
}

.sec06 .area .a7 dt span {
	background: url(img/pin07.png) no-repeat 0px center;
	background-size: 18px auto;
	color: #6EAF4B;
}

.sec06 .area dd {
	padding: 25px 32px;
	text-align: left;
	line-height: 1.8;
}

.sec06 .area dd span {
	display: inline-block;
}

.sec07 {
	background: linear-gradient(45deg, #E6E6F2, #E6ECF2, #EFF2E6);
}

.sec07 table {
	width: 100%;
	border-collapse: collapse;
	font-size: 2rem;
	text-align: left;
}

.sec07 table th {
	width: 20px;
	white-space: nowrap;
	position: relative;
	padding: 3px 20px 3px 0px;
	vertical-align: top;
}

.sec07 table th:after {
	content: '：';
	position: absolute;
	right: 0px;
}

.sec07 table td {
	padding: 3px 0px;
	vertical-align: top;
}

.sec07 a {
	color: #5299CC;
	text-decoration: underline;
}

.sec07 a:hover {
	text-decoration: none;
}

footer {
	background-color: #1F2633;
	padding: 45px 20px 22px 20px;
}

footer ul {
	display: flex;
	flex-flow: row wrap;
	gap: 15px 50px;
	justify-content: center;
	margin-bottom: 40px;
}

footer ul a {
	color: #fff;
	text-decoration: underline;
}

footer ul a:hover {
	text-decoration: none;
}

footer .copy {
	color: #fff;
	font-size: 1.2rem;
}

.ptop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 210;
	transition: all 0.2s ease-in-out;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(10px);
}

.ptop a {
	display: block;
	background: #fff url(img/arrow_up.svg) no-repeat right 10px center;
	background-size: 20px auto;
	border-radius: 50px;
	padding: 11px 16px 10px 10px;
	width: 140px;
	font-family: "Avenir", "Avenir Next LT Pro Bold", "Montserrat", sans-serif;
	font-weight: 900;
	font-size: 1.4rem;
	letter-spacing: 0em;
	box-shadow: 0px 0px 10px #00000011;
}

.ptop a:hover {
	opacity: 0.75;
}

.ptop_up .ptop {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transform: translateY(0px);
}

.cta_sp {
	display: none;
}

.p404 {
	text-align: center;
	padding: 20px;
	display: flex;
	height: 100vh;
	align-items: center;
	justify-content: center;
}

.p404 .cont {
	background-color: #eee;
	padding: 50px;
	border-radius: 16px;
}

.p404 h1 {
	margin-bottom: 20px;
	color: #003182;
}

.p404 h1 b {
	font-size: 6rem;
	line-height: 1.2;
	display: block;
}

.p404 h1 span {
	font-size: 2rem;
	font-weight: bold;
}

.p404 h2 {
	font-weight: bold;
	font-size: 2rem;
}

.p404 p {
	line-height: 1.8;
}

@media screen and (max-width: 768px) {

	body {
		font-size: 1.4rem;
	}

	.sp {
		display: block;
	}

	.tel a {
		pointer-events: all;
	}

	header {
		padding: 0px 16px;
	}

	header,
	header .cont {
		height: 72px;
	}

	header .logo img {
		width: 206px;
	}

	header .btns {
		display: none;
	}

	header .spm {
		height: 50px;
		background: none;
		margin-right: -5px;
	}

	header .spm:hover {
		background-color: #f9f9f9;
	}

	.float_nav header,
	.float_nav header .cont {
		height: 60px;
	}

	header nav {
		top: 60px;
		background-color: #ffffffdd;
		width: 100%;
		height: auto;
		padding: 30px 16px 24px 16px;
		transform: translateX(0px) translateY(-10px);
	}

	header nav ul {
		border-top: #003182 dotted 1px;
	}

	header nav ul li {
		padding: 0px;
		border-bottom: #003182 dotted 1px;
		text-align: left;
	}

	header nav ul li:not(:last-child) {
		border-bottom: #003182 dotted 1px;
	}

	header nav ul a {
		display: block;
		font-size: 2rem;
		font-weight: bold;
		padding: 15px 10px;
		background-position: right 10px center;
		background-size: 14px auto;
	}

	header nav ul a:hover {
		background-position: right 10px center;
	}

	.nav_on header nav {
		transform: translateY(0px);
	}

	.mv {
		background: url(img/mv_bg_sp.jpg) no-repeat center;
		background-size: cover;
		height: auto;
		min-height: 0px;
		padding: 72px 16px 0px 16px;
	}

	.mv .cont {
		display: flex;
		flex-direction: column;
		height: 740px;
		padding: 25px 0px;
		align-items: flex-start;
	}

	.mv .title {
		margin-bottom: 15px;
		font-size: 3.2rem;
		padding: 6px 12px 8px 12px;
	}

	.mv p {
		font-size: 1.5rem;
		line-height: 1.8;
		margin-bottom: auto;
	}

	.mv .box {
		width: 100%;
		padding: 30px 20px;
		margin-top: auto;
	}

	.mv .box .ti {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}

	.mv .box .tel {
		margin-bottom: 15px;
	}

	.mv .box .tel a {
		font-size: 9vw;
		background-size: 45px auto;
		padding: 4px 0px 0px 50px;
	}

	.mv .box .tel span {
		font-size: 4.2vw;
		padding-left: 50px;
		line-height: 1.2;
		margin: 5px 0px 0px 0px;
	}

	.pos {
		padding-top: 76px;
		margin-top: -76px;
	}

	.sec {
		padding: 50px 16px;
	}

	.sec_title {
		font-size: 3.6rem;
		margin-bottom: 40px;
	}

	.sec_title:before {
		font-size: 1.6rem;
		margin-bottom: 12px;
	}

	.sec01 .box1 {
		margin: 0px -16px;
		margin-bottom: 24px;
	}

	.sec01 .box1 .swiper-slide {
		padding: 0px 16px;
	}

	.sec01 .box1 .col {
		padding: 30px 24px 24px 24px;
	}

	.sec01 .box1 .col>span {
		margin-bottom: 30px;
	}

	.sec01 .box1 h3 {
		font-size: 2.4rem;
		margin-bottom: 15px;
	}

	.sec01 .box1 p {
		margin-top: 15px;
		line-height: 1.8;
	}

	.sec01 .box1 .nav {
		display: block;
	}

	.sec01 .box1 .nav span {
		width: 40px;
		height: 40px;
		border-radius: 50px;
		position: absolute;
		z-index: 2;
		top: 50%;
		margin-top: -16px;
		background-color: #000;
		cursor: pointer;
		transition: all 0.15s ease-in-out;
	}

	.sec01 .box1 .nav span.prev {
		background: #191919 url(img/arrow_prev.svg) no-repeat center;
		background-size: 16px auto;
		left: 5px;
	}

	.sec01 .box1 .nav span.next {
		background: #191919 url(img/arrow_next.svg) no-repeat center;
		background-size: 16px auto;
		right: 5px;
	}

	.sec01 .box1 .nav span:hover {
		opacity: 0.75;
	}

	.sec01 .box1 .nav span.swiper-button-disabled {
		opacity: 0.2;
	}

	.sec01 .box2 {
		background-size: 268px auto;
		padding: 48px 24px 214px 24px;
		gap: 20px;
	}

	.sec01 .box2 .ti {
		font-size: 2.4rem;
		line-height: 1.4;
		display: block;
		margin-bottom: 30px;
	}

	.sec01 .box2 p {
		margin-top: 10px;
	}

	.sec01 .box2 div {
		width: 100%;
	}

	.sec01 .box2 div:nth-child(1) .ti {
		font-size: 2.8rem;
	}

	.cta {
		background: url(img/cta_bg.jpg) no-repeat center;
		background-size: cover;
		position: relative;
		z-index: 1;
	}

	.cta .title {
		font-size: 2.4rem;
		padding: 20px 16px;
	}

	.cta .title:after {
		width: 20px;
		height: 20px;
		border-width: 10px;
		bottom: -10px;
		margin-left: -10px;
	}

	.cta .cont {
		padding: 30px 16px 10px 16px;
	}

	.cta p {
		font-size: 2.8rem;
		line-height: 1.5;
		margin-bottom: 20px;
	}

	.cta .box {
		padding: 22px;
		box-shadow: 0px 5px 10px #00000022;
		margin-bottom: -260px;
	}

	.cta .box .inner {
		padding: 22px;
	}

	.cta .box .ti {
		font-size: 2.4rem;
		margin-bottom: 15px;
	}

	.cta .box .tel a {
		font-size: 9vw;
		background-size: 56px auto;
		padding: 3px 0px 0px 60px;
	}

	.cta .box .tel span {
		display: block;
		font-size: 4.2vw;
		line-height: 1.2;
		margin: 5px 0px 0px 0px;
	}

	.cta .box .cn {
		border-top-width: 1px;
		margin-top: 22px;
		padding-top: 22px;
	}

	.cta .box .cn a {
		font-size: 1.6rem;
		background-size: 20px auto;
		padding: 1px 0px 4px 25px;
	}

	.cta+* {
		padding-top: 300px;
	}

	.sec02 .list>div {
		padding: 24px;
	}

	.sec02 .list>div:not(:last-child) {
		margin-bottom: 24px;
	}

	.sec02 .list .box {
		display: block;
	}

	.sec02 .list .box:not(:last-child) {
		margin-bottom: 20px;
	}

	.sec02 .list>div:nth-child(even) .box {
		flex-direction: row;
	}

	.sec02 .list .tx {
		width: auto;
		max-width: 100%;
	}

	.sec02 .list .im {
		display: none;
	}

	.sec02 .list .im_sp {
		display: block;
		margin-bottom: 20px;
	}

	.sec02 .list .im_sp img {
		border-radius: 8px;
	}

	.sec02 .list .tx:before {
		font-size: 3.2rem;
	}

	.sec02 .list h3 {
		font-size: 2.8rem;
		margin-bottom: 10px;
	}

	.sec02 .list h3:after {
		font-size: 1.8rem;
	}

	.sec02 .list h3 span:after {
		margin-right: 0px;
	}

	.sec02 .list p.st {
		font-size: 1.4rem;
		margin-bottom: 20px;
	}

	.sec02 .list h4 {
		font-size: 2rem;
		margin-bottom: 10px;
	}

	.sec02 .specs {
		gap: 8px 0px;
	}

	.sec02 .specs dl {
		max-width: calc(50% - 5px);
		flex-direction: column;
		text-align: center;
	}

	.sec02 .specs dl:before {
		display: none;
	}

	.sec02 .specs dt {
		padding: 10px 0px;
		width: 100%;
		border-bottom: #808080 dashed 1px;
	}

	.sec02 .specs dd {
		padding: 10px;
		width: 100%;
	}

	.sec03 .cont>p {
		font-size: 2rem;
		line-height: 1.6;
		margin-bottom: 30px;
	}

	.sec03 .list {
		display: block;
	}

	.sec03 .list>div {
		width: auto;
		padding: 24px;
	}

	.sec03 .list>div:not(:last-child) {
		margin-bottom: 16px;
	}

	.sec03 .list h3 {
		font-size: 2.4rem;
		margin-bottom: 15px;
	}

	.sec03 .list .im {
		min-height: 0px;
		margin-bottom: 20px;
	}

	.sec03 .list ul {
		padding-top: 20px;
	}

	.sec03 .list li {
		padding-left: 18px;
	}

	.sec03 .list li:before {
		width: 8px;
		height: 8px;
		top: 8px;
	}

	.sec04 .box {
		padding: 24px;
	}

	.sec04 p {
		font-size: 1.6rem;
	}

	.sec04 .box div {
		font-size: 1.2rem;
		margin-top: 10px;
	}

	.cases {
		margin: 0px -16px;
		margin-bottom: 50px;
	}

	.cases .swiper-slide {
		padding: 0px 16px;
	}

	.cases .swiper-slide>div {
		padding: 10px;
	}

	.cases .swiper .nav span {
		width: 40px;
		height: 40px;
		margin-top: -20px;
	}

	.cases .swiper .nav span.prev {
		background-size: 16px auto;
		left: 5px;
	}

	.cases .swiper .nav span.next {
		background-size: 16px auto;
		right: 5px;
	}

	.cases .swiper .nav span:hover {
		opacity: 0.75;
	}

	.cases .inner {
		border-radius: 8px;
		padding: 20px;
	}

	.cases h3 {
		font-size: 2.2rem;
		margin-bottom: 10px;
	}

	.cases h3:before {
		margin-right: 20px;
	}

	.cases h3:before,
	.cases h3 span {
		font-size: 2.8rem;
	}

	.cases dl {
		font-size: 1.4rem;
		padding-bottom: 5px;
	}

	.cases dt {
		width: 85px;
		padding: 4px;
		margin-bottom: 8px;
	}

	.cases dd {
		width: calc(100% - 100px);
		margin-bottom: 8px;
	}

	.cases p {
		line-height: 1.6;
	}

	.sec05 .sub {
		margin-bottom: 30px;
	}

	.sec05 .sub h3 {
		font-size: 2.2rem;
		margin-bottom: 30px;
	}

	.sec05 .sub ul {
		gap: 10px;
		background-size: 120px auto;
		padding-bottom: 90px;
		margin-bottom: 20px;
	}

	.sec05 .sub li {
		width: calc((100% - 10px) / 2);
		font-size: 1.4rem;
		padding: 5px 10px;
		min-height: 80px;
	}

	.sec05 .sub p {
		font-size: 2rem;
	}

	.sec05 .box {
		display: block;
	}

	.sec05 .box>div {
		width: auto;
		display: block;
		padding: 22px;
	}

	.sec05 .box>div:not(:last-child) {
		margin-bottom: 24px;
	}

	.sec05 .box .inner {
		border-radius: 8px;
		padding: 22px;
	}

	.sec05 .box h4 {
		font-size: 2.2rem;
		padding-bottom: 10px;
		margin-bottom: 15px;
	}

	.sec05 .box p {
		line-height: 1.6;
	}

	.sec06 .box {
		display: block;
	}

	.sec06 .map {
		margin-bottom: 24px;
	}

	.sec06 .area {
		width: auto;
	}

	.sec06 .area dl:not(:last-child) {
		margin-bottom: 16px;
	}

	.sec06 .area dt {
		font-size: 1.8rem;
		padding: 8px;
	}

	.sec06 .area dt span {
		padding: 1px 0px 2px 25px;
	}

	.sec06 .area .a1 dt span {
		background-size: 15px auto;
	}

	.sec06 .area .a2 dt span {
		background-size: 15px auto;
	}

	.sec06 .area .a3 dt span {
		background-size: 15px auto;
	}

	.sec06 .area .a4 dt span {
		background-size: 15px auto;
	}

	.sec06 .area .a5 dt span {
		background-size: 15px auto;
	}

	.sec06 .area .a6 dt span {
		background-size: 15px auto;
	}

	.sec06 .area .a7 dt span {
		background-size: 15px auto;
	}

	.sec06 .area dd {
		padding: 10px 24px;
		line-height: 1.8;
	}

	.sec07 table {
		display: block;
		font-size: 1.4rem;
	}

	.sec07 tbody,
	.sec07 tr {
		display: block;
	}

	.sec07 table th {
		display: block;
		width: auto;
		padding: 0px 0px 5px 0px;
	}

	.sec07 table th:after {
		display: none;
	}

	.sec07 table td {
		display: block;
		padding: 0px;
	}

	.sec07 table tr:not(:last-child) td {
		padding-bottom: 10px;
	}

	footer {
		padding: 25px 16px 20px 16px;
	}

	footer ul {
		gap: 15px 30px;
		margin-bottom: 25px;
	}

	footer .copy {
		font-size: 0.9rem;
	}

	.ptop {
		right: 5px;
		bottom: 66px;
	}

	.ptop a {
		background-position: center;
		padding: 0px;
		width: 40px;
		height: 40px;
		font-size: 0px;
	}

	.cta_sp {
		background-color: #1F2633;
		display: block;
		height: 56px;
	}

	.cta_sp .cont {
		display: flex;
		position: fixed;
		z-index: 150;
		left: 0px;
		bottom: 0px;
		width: 100%;
		box-shadow: 0px 0px 10px #00000011;
	}

	.cta_sp a {
		height: 56px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
	}

	.cta_sp a.ct {
		background-color: #fff;
		color: #5299CC;
		width: 36%;
	}

	.cta_sp a.ct span {
		background: url(img/icon_mail.svg) no-repeat 0px center;
		background-size: 20px auto;
		padding: 0px 0px 1px 25px;
		margin-top: 1px;
	}

	.cta_sp a.tl {
		background: linear-gradient(45deg, #5252CC, #5299CC, #D6E68A);
		color: #fff;
		width: 64%;
	}

	.cta_sp a.tl span {
		background: url(img/icon_tel.svg) no-repeat 0px center;
		background-size: 17px auto;
		padding: 1px 0px 1px 22px;
	}

	.p404 {
		padding: 16px;
	}

	.p404 .cont {
		padding: 30px;
	}

	.tel a,
	.tel span i,
	.sec_title:before,
	.sec01 .box2 .ct span,
	.sec02 .list .tx:before,
	.sec02 .list h3:after,
	.cases h3:before,
	.cases h3 span {
		font-weight: 800;
	}

}