@charset "utf-8";

* {box-sizing: border-box;}
body {
	margin: 0;
	font-size: clamp(16px, 1.6vw, 23px);
}
ul, ol {
	list-style: none;
	padding: 0;
}
ul.ul{
	margin: 1em 0;
	padding-left: 40px;
	list-style-type: disc;
}
ol.ol{
	margin: 1em 0;
	padding-left: 40px;
	list-style-type: decimal;
}

span.yellow {
	color: #ff0;
}
/* アニメーション前のスタイル */
.js-marker {
	display: inline;
	position: relative;
	background-image: linear-gradient(90deg, #f88080, #f88080); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: 0 30%; /* '30%'の部分にマーカーの太さを記入 */
	transition: all 1s ease-in-out; /* マーカーを引く速度を調整 */
	font-weight: bold;
}

/* アニメーション発火時 */
.js-marker.inview {
	background-size: 100% 30%; /* '30%'の部分は上で設定した太さに合わせる */
}

a {
	text-decoration: none;
	color: #000;
}
a:hover img {
	opacity: 0.7;
}
a.txt:hover {
	text-decoration: underline;
}
.red {
	color: #f00;
}
.bold {
	font-weight: bold;
}
.tac {text-align: center;}
header {
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	align-items: center;
	justify-content: space-between;
}
header div {
	width: 15%;
}
header div.logo img {
	width: 100%;
}
header ul {
	display: flex;
	align-items: center;
	padding: 0;
}
header ul.link {
	width: 40%;
}
header ul.link li {
	margin: 0 5%;
}
header ul.link li a {
	font-size: clamp(14px, 1.2vw, 18px);
	font-weight: bold;
}
header ul.btn {
	width: 40%;
}
header ul.btn li {
	width: 100%;
	margin: 0;
}
header ul.btn li a {
	display: block;
	padding: 10px;
	background: #fff;
	color: #0096E0;
	font-weight: bold;
	text-align: center;
	border: 2px solid #0096E0;
}
header ul.btn li + li a {
	background: #0096E0;
	color: #fff;
}
header ul.btn li a:hover {
	background: #0096E0;
	color: #fff;
}
header ul.btn li + li a:hover {
	background: #fff;
	color: #0096E0;
}
.wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
}
.gray {
	padding: 20px 0;
	background: #ececec;
}
section {
	margin-bottom: 80px;
}

section h3 {
	font-size: clamp(24px, 3vw, 50px);
	text-align: center;
	color: #0096E0;
}
.main {
	background: url(img/main.jpg);
	background-size: cover;
	background-position: center;
	height: 500px;
}
.main .wrap {
	position: relative;
	height: 100%;
}
.main h2 {
	font-size: clamp(28px, 3vw, 48px);
	color: #fff;
	position: absolute;
	top: 5%;
	margin: 0;
	text-shadow: 1px 2px 2px #000;
}
.main .box {
	font-size: clamp(16px, 1.7vw, 24px);
	padding: 20px;
	position: absolute;
	top: 40%;
	background-color: rgba(255,255,255,.8);
}

.main .box p {
	margin: 0;
}
.main ul {
	width: 100%;
	font-size: clamp(16px, 2vw, 30px);
	position: absolute;
	display: flex;
	bottom: 2%;
	justify-content: center;
}
.main ul li {
	width: 40%;
	margin: 0 5%;
}
.main ul li a {
	display: block;
	padding: 10px;
	background: #fff;
	color: #15b948;
	font-weight: bold;
	border-radius: 20px;
	text-align: center;
	border: 5px solid #15b948;
}
.main ul li + li a {
	background: #15b948;
	color: #fff;
}
.main ul li a:hover {
	background: #15b948;
	color: #fff;
}
.main ul li + li a:hover {
	background: #fff;
	color: #15b948;
}
.impression h3 {
	color: #000;
	font-size: clamp(24px, 3vw, 40px);
}
.sec03 .box {
	width: 100%;
	margin: 30px auto;
	background: url(img/cooperation.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.sec03 .box p {
	font-size: clamp(24px, 2vw, 30px);
	background-color: rgba(255,255,255,0.5);
	padding: 50px 20px;
	text-shadow: 1px 1px 1px #fff;
}
.sec04.type02 {
	background: url(img/human.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.sec04 .box p {
	font-size: clamp(26px, 3vw, 50px);
	background-color: rgba(255,255,255,0.5);
	padding: 150px 20px;
	text-shadow: 1px 1px 1px #fff;
}
.sec05 dl.box {
	padding: 10px;
	width: 80%;
	margin: 30px auto 0;
	background: #FCE2C4;
	font-weight: bold;
}
.sec05 dl.box dt {
	font-weight: bold;
	font-size: clamp(20px, 2vw, 30px);
	margin-bottom: 20px;
	color: #fd7e00;
}
.sec05 dl.box dd {
	margin: 0;
}
.sec05 dl.box dd ul li {
	font-size: clamp(18px, 1.6vw, 25px);
}
.sec06 .img {
	width: 50%;
	margin: 0 auto;
}
.sec06 .img img {
	width: 100%;
}
.sec06 .btn p {
	max-width: 400px;
	width: 100%;
	margin: 0 auto 30px;
}
.sec06 .btn p a {
	display: block;
	padding: 10px;
	background: #15b948;
	color: #fff;
	font-weight: bold;
	border-radius: 20px;
	text-align: center;
	border: 5px solid #15b948;
	font-size: clamp(18px, 1.8vw, 24px);
}
.sec06 .btn a:hover {
	background: #fff;
	color: #15b948;
}
.sec06 .btn p a span {
	font-size: .8em;
}
.sec06 .wrap > p {
	font-size: clamp(20px, 2vw, 30px);
}
.sec07 .flex {
	display: flex;
	justify-content:  space-between;
	margin: 0 auto 40px;
	width: 100%;
}

.sec07 .flex > * {
	width: 48%;
}
.sec07 table {
	border-spacing: 0;
	width: 100%;
}
.sec07 table tr * {
	border-spacing: 0;
	padding: 10px;
}
.sec07 table tr td {
	font-size: clamp(16px, 1.5vw, 20px);
}
.sec07 table .title {
	color: #fff;
}
.sec07 table.type01 .title {
	background: #FFC000;
}
.sec07 table.type02 .title {
	background: #ED7D31;
}
.sec07 table.type01,
.sec07 table.type01 tr * {
	border: 2px solid #FFC000;
}
.sec07 table.type02,
.sec07 table.type02 tr * {
	border: 2px solid #ED7D31;
}
.sec07 table.type01 tr:nth-child(n) {
	background: #FFF2CC;
}
.sec07 table.type02 tr:nth-child(n) {
	background: #FBE5D6;
}

.sec07 ul {
	margin: 0 auto;
	width: 80%;
	font-size: clamp(16px, 1.7vw, 24px);
	display: flex;
	bottom: 2%;
	justify-content: center;
}
.sec07 ul li {
	width: 40%;
	margin: 0 5%;
}
.sec07 ul li a {
	display: block;
	padding: 10px;
	background: #fff;
	color: #15b948;
	font-weight: bold;
	border-radius: 20px;
	text-align: center;
	border: 5px solid #15b948;
}
.sec07 ul li + li a {
	background: #15b948;
	color: #fff;
}
.sec07 ul li a:hover {
	background: #15b948;
	color: #fff;
}
.sec07 ul li + li a:hover {
	background: #fff;
	color: #15b948;
}

.sec08 .btn {
	margin: 0 auto;
	width: 100%;
	font-size: clamp(16px, 1.7vw, 24px);
	display: flex;
	bottom: 2%;
	justify-content: center;
}
.sec08 .btn p {
	width: 40%;
	margin: 0 5%;
}
.sec08 .btn p a {
	display: block;
	padding: 10px;
	background: #fff;
	color: #15b948;
	font-weight: bold;
	border-radius: 20px;
	text-align: center;
	border: 5px solid #15b948;
}
.sec08 .btn p a:hover {
	background: #15b948;
	color: #fff;
}
footer {
	border-top: 1px solid #ccc;
	padding: 30px;
	text-align: center;
}
footer ul {
	margin-top: 20px;
	display: flex;
	justify-content: center;
}
footer ul li + li:before {
	content: "|";
	margin: 0 10px;
}
@media print, screen and (max-width: 720px) {
	header {
		flex-wrap:  wrap;
		padding: 0 10px;
	}
	header div {
		width: 20%
	}
	header ul.link {
		width: 80%;
	}
	header ul.btn {
		width: 100%;
	}
	* {
		box-sizing: border-box;
	}
	.main .wrap,
	.main h2,
	.main .box,
	.main ul {
		position: static;
	}
	.main ul {
		display: block;
	}
	.main ul li {
		width: 80%;
		margin: 5% auto;
	}
	.main h2,
	.main ul {
		padding: 20px 0;
	}
	.sec03 .box {
		width: 100%
	}
	.sec04 .box p {
		padding: 15% 20px;
	}
	.sec05 dl.box {
		width: 100%
	}
	.sec07 .flex {
		display: block;
		width: 100%;
	}
	.sec07 ul {
		display: block;
		width: 100%
	}

	.sec07 .flex > *,
	.sec07 ul li {
		width: 100%;
		margin: 20px 0;
	}
}

/*.fixlink {
	position: fixed;
	bottom: 0;
	right: 60px;
}
.fixlink a {
	background: #15b948;
	color: #fff;
	line-height: 1;
	display: block;
	padding: 20px;
	font-weight: bold;
	font-size: clamp(16px, 1.6vw, 20px);
}
.fixlink a:hover {
	opacity: 0.7;
	}*/

/* Bnr
-----------------------------------------*/
.Bnr{
	position: relative;
	margin: 0 auto;
	width: 30%;
	max-width:  300px;
	display: none;
}
.Bnr .Bnr__img{
	position: fixed;
	bottom: 0;
	right: 60px;
	box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
	z-index: 88;
}
.Bnr__img__inner{
	width: 100%;
	box-sizing:border-box;
	background-color: #fafafa;
}
.Bnr .Bnr__img__inner a{
	display: block;
}
.Bnr p {
	margin: 0;
	line-height: 0;
}
.Bnr p img {
	max-width: 300px;
	width: 100%;
}
.Bnr .Bnr__img p.close{
	position: absolute;
	right: 0;
	top:0;
	background: #ccc;
	border-radius:  50px;
}
.Bnr .Bnr__img p.close a{
	display: block;
	width: 25px;
	height: 25px;
	text-align: center;
}
.Bnr .Bnr__img p.close a span{
	display: block;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.Bnr .Bnr__img p.close a i{
	font-size: 20px;
	z-index: 888;
	color: #222;
}


.top_bignav.fixed {
	position: fixed;
}

.top_bignav {
	position: relative;
	bottom: 0;
	width: 100%;
	z-index: 100;
	background-color: #8c774d;
	z-index: 10000;
}
.top_bignav .goTop.hide {
	/* opacity: 0; */
	top: -80px;
	height: 80px;
}

.top_bignav .goTop {
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 60px;
	height: 100px;
	background-color: #327fa6;
	overflow: hidden;
	-webkit-transition: all 0.7s;
	transition: all 0.7s;
}
.top_bignav .arrow {
	width: 100%;
	height: 100%;
	transform: rotate(
		-90deg
		);
	background: url(/solution2020/img/common/arrow_top.png) no-repeat center 50%;
	background-size: contain;
}