@charset "utf-8";
/*------------------------------------------------------------
共通
------------------------------------------------------------*/

body {
  font-family: 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", sans-serif;
  color: #333337;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wrapper {
    overflow: hidden;
}
img {
 max-width: 100%;
 vertical-align: bottom;
}
ul,li{
	list-style: none;
	margin: 0;
}
a {
	text-decoration: none;
}
p {
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 2px;
}
.fsS {
	font-size: 13px;
	margin: 10px 0 0;
}
.fwB {
	font-weight: bold;
}

/*pc・sp responsive*/
@media screen and (max-width:768px){
    .sp{
        display: inline-block;
    }
    .pc{
        display: none !important;
    }
}
@media screen and (min-width:768px){
    .sp{
        display: none !important;
    }
    .pc{
		display: inline-block;
    }
}

/* ------------ヘッダー------------ */
header {
	background: #fff;
	position: fixed;
    z-index: 9999;
	top: 0;
    left: 0;
	margin: 0 auto;
	width: 100%;
	border-bottom: 1px solid #f0f0f0;
}
.header_inner {
	width: calc(1120 / 1920* 100vw);
	padding-top: calc(10 / 1920* 100vw);
	padding-bottom: calc(10 / 1920* 100vw);
	margin: 0 auto;
}
.header_inner_box {
	display: flex;
	justify-content: space-between;
    align-items: center;
}
.header_logo {
	width: calc(280 / 1920* 100vw);
}
.header_web-btn {
	width: calc(240 / 1920* 100vw);
}
.header_dl-btn {
	width: calc(205 / 1920* 100vw);
	margin-left: 10px;
}
@media screen and (max-width: 768px) {
	.header_inner {
		width: 100%;
		padding-top: calc(15 / 768* 100vw);
		padding-bottom: calc(15 / 768* 100vw);
	}
	.header_logo {
		width: calc(245 / 768* 100vw);
		margin-left: calc(30 / 768* 100vw);
	}
	.header_web-btn {
		width: calc(210 / 768* 100vw);
	}
	.header_dl-btn {
		width: calc(175 / 768* 100vw);
		margin-left: 3px;
		margin-right: calc(30 / 768* 100vw);
	}
}

/*----------mv----------*/
.mv {
	margin-top: calc(75 / 1920* 100vw);
	position: relative;
}
.mv_btn {
	position: absolute;
	top: calc(450 / 1920* 100vw);
	left: calc(360 / 1920 * 100vw);
	width: calc(700 / 1920* 100vw);
	display: flex;
	gap: calc(30 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.mv {
		margin-top: calc(105 / 768* 100vw);
	}
	.mv_btn {
		position: absolute;
		display: initial;
		top: initial;
		bottom: calc(90 / 768* 100vw);
		left: calc(45 / 768 * 100vw);
		width: 90%;
	}
	.web-btn {
		margin-bottom: 10px;
	}
}

/*----------pe-box----------*/
.pe-box {
	background: url(../img/entrust-bg_pc.png) no-repeat bottom;
    background-size: contain;
	position: relative;
}
.problem {
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(35 / 1920* 100vw);
	margin: 0 auto;
	width: calc(1320 / 1920* 100vw);
}
.entrust {
	margin: 0 auto;
	padding-left: calc(70 / 1920* 100vw);
	width: calc(1480 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.pe-box {
		background: url(../img/entrust-bg_sp.png) no-repeat bottom;
		background-size: contain;
	}
	.problem {
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(35 / 768* 100vw);
		width: 90%;
	}
	.entrust {
		padding-left: 0;
		width: 85%;
	}
}

/*----------bland----------*/
@media screen and (max-width: 768px) {
	.bland {
		background: #e4f5f9;
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(90 / 768* 100vw);
	}
	.bland-txt {
		width: 90%;
		margin: 0 auto;
	}
}

/*----------support----------*/
.support {
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(90 / 1920* 100vw);
}
.support-ttl {
	width: calc(980 / 1920* 100vw);
	margin: 0 auto;
	text-align: center;
}
.support-img-box {
	width: calc(1320 / 1920* 100vw);
	margin: 0 auto;
	padding-top: calc(90 / 1920* 100vw);
}
.support-img {
	margin-bottom: calc(50 / 1920* 100vw);
}
.support-img:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	.support {
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(90 / 768* 100vw);
	}
	.support-ttl {
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}
	.support-img-box {
		width: 90%;
		margin: 0 auto;
		padding-top: calc(90 / 768* 100vw);
	}
	.support-img {
		margin-bottom: calc(50 / 768* 100vw);
	}
}

/*----------outsource----------*/
.outsource {
	background: #e4f5f9;
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(90 / 1920* 100vw);
}
.outsource-txt {
	width: calc(1320 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.outsource {
		background: #e4f5f9;
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(90 / 768* 100vw);
	}
	.outsource-txt {
		width: 90%;
		margin: 0 auto;
	}
}

/*----------sample----------*/
.sample {
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(90 / 1920* 100vw);
}
.sample-ttl {
	width: calc(320 / 1920* 100vw);
	margin: 0 auto;
	text-align: center;
}
.sample-box {
	width: calc(1320 / 1920* 100vw);
	margin: 0 auto;
	padding-top: calc(60 / 1920* 100vw);
}
.slider {
	width: 100%;
	margin: 0 auto;
  }
  .slider .slick-slide img {
	display: inline-block;
	padding: 0;
	margin: 0 auto;
  }
  .slider .slick-slide {
	transform: scale(0.8);/*左右の画像のサイズを80%に*/
	transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
  }
  .slider .slick-slide.slick-center{
	transform: scale(1);/*中央の画像のサイズだけ等倍に*/
	opacity: 1;/*透過なし*/
  }
  .slider.slick-list {
	overflow: inherit;
  }

  @media screen and (max-width: 768px) {
	.sample {
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(90 / 768* 100vw);
	}
	.sample-ttl {
		width: calc(380 / 768* 100vw);
		margin: 0 auto;
		text-align: center;
	}
	.sample-box {
		width: 100%;
		margin: 0 auto;
		padding-top: calc(90 / 768* 100vw);
	}
	.sample-item {
		width: 90%;
		margin: 0 auto;
	}
  }

/*----------plan----------*/
.plan {
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(90 / 1920* 100vw);
}
.plan-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(400 / 1920* 100vw);
	margin: 0 auto;
}
.plan-img {
	width: calc(1120 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.plan {
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(90 / 768* 100vw);
	}
	.plan-ttl {
		padding-bottom: calc(90 / 768* 100vw);
		width: calc(490 / 768* 100vw);
	}
	.plan-img {
		width: 90%;
	}
}

/*----------flow----------*/
.flow {
	background: #e4f5f9;
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(90 / 1920* 100vw);
}
.flow-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(325 / 1920* 100vw);
	margin: 0 auto;
}
.flow-img {
	width: calc(1320 / 1920* 100vw);
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.flow {
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(90 / 768* 100vw);
	}
	.flow-ttl {
		padding-bottom: calc(90 / 768* 100vw);
		width: calc(390 / 768* 100vw);
	}
	.flow-img {
		width: 90%;
	}
}

/*----------qa----------*/
.qa {
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(90 / 1920* 100vw);
}
.qa-ttl {
	padding-bottom: calc(60 / 1920* 100vw);
	width: calc(330 / 1920* 100vw);
	margin: 0 auto;
}
.qa_inner {
	margin: 0 auto;
	width: calc(920 / 1920* 100vw);
}
.qa_item {
	font-weight: bold;
	font-style: normal;
	border-bottom: 1px solid #d7e4e6;
    padding: 4% 3%;
}
.qa_item:nth-of-type(1) {
	border-top: 1px solid #d7e4e6;
}
.question_content {
	display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
}
.question_content:hover {
	cursor: pointer;
}
.question_content::before, 
.question_content::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.question_content::before {
	right: 4%;
	width: 14px;
	height: 14px;
	border-top: 2px solid #0fb8cf;
	border-right: 2px solid #0fb8cf;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	transition: all 0.5s ease-in-out;
	border-radius: 2px;
}
.open::before {
    -webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.question_content img {
    width: calc(45 / 1920* 100vw);
}
.question_content h2 {
  font-size: 20px;
  font-weight: bold;
  text-align: left;
  letter-spacing: 2px;
  line-height: 1.7;
  margin: 0 10% 0 2%;
}
.answer_content {
	padding: 4% 0 0;
    display: none;
}
.answer_content_txt {
	display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
}
.answer_content p{
    text-align: justify;
    letter-spacing: 1px;
	margin: 0 0 0 2%;
}
.answer_content img {
    width: calc(45 / 1920* 100vw);
}
@media screen and (max-width: 1100px) {
	.qa_inner {
		width: calc(700 / 1100* 100vw);
	}
}
@media screen and (max-width: 768px) {
	.qa {
		padding-top: calc(90 / 768* 100vw);
        padding-bottom: calc(90 / 768* 100vw);
	}
	.qa-ttl {
		padding-bottom: calc(90 / 768* 100vw);
		width: calc(420 / 768* 100vw);
	}
	.qa_inner {
		width: calc(700 / 768* 100vw);
	}
	.question_content::before {
		width: 10px;
		height: 10px;
	}
	.question_content img {
		width: 8%;
	}
	.question_content h2 {
		margin: 0 12% 0 3%;
	}
	.answer_content img {
		width: 8%;
	}
}

/*----------dl-btn02----------*/
.dl-btn02 {
	position: relative;
	background: #e4f5f9;
	padding-top: calc(90 / 1920* 100vw);
	padding-bottom: calc(90 / 1920* 100vw);
}
.dl-btn02-bg {
	width: calc(920 / 1920* 100vw);
	margin: 0 auto;
}
.dl-btn02-img {
	position: absolute;
	top: calc(140 / 1920* 100vw);
	left: calc(930 / 1920 * 100vw);
	width: calc(380 / 1920* 100vw);
}
@media screen and (max-width: 768px) {
	.dl-btn02 {
		padding-top: calc(90 / 768* 100vw);
		padding-bottom: calc(90 / 768* 100vw);
	}
	.dl-btn02-bg {
		width: 90%;
	}
	.dl-btn02-img {
		top: calc(250 / 768* 100vw);
		left: calc(80 / 768 * 100vw);
		width: 80%;
	}
}

/*----------footer----------*/
footer{
    background: #333337;
	padding-top: calc(50 / 1920* 100vw);
    padding-bottom: calc(30 / 1920* 100vw);
}
.footer_inner {
	margin: 0 auto;
	text-align: center;
	width: calc(900 / 1920* 100vw);
}
.footer_txt {
	margin-bottom: calc(30 / 1920* 100vw);
}
.footer_txt a {
	margin: 10px;
	color: #fff;
	text-decoration: none;
}
.footer_txt a:hover {
	opacity: 0.5;
	transition: 0.3s;
}
.footer_copyright p{
	color: #fff;
	text-align: center;
	font-size: 10px;
}

@media screen and (max-width: 768px) {
	footer {
		padding-top: calc(90 / 768* 100vw);
        padding-bottom: calc(90 / 768* 100vw);
	}
	.footer_inner {
		width: calc(700 / 768* 100vw);
	}
	.footer_txt {
		margin-bottom: calc(30 / 768* 100vw);
	}
}

/*----------pagetop----------*/
.is-hidden {
	visibility: hidden;
	opacity: 0;
	transition: .5s;
}
@media screen and (max-width: 768px) {
	.pagetop {
	position: fixed;
	  z-index: 1000;
	  bottom: 3%;
	  right: 3%;
	  width: calc(100 / 768* 100vw);
	  transition: 0.5s;
	}
	.UpMove{
		animation: UpAnime 0.5s forwards;
	  }
	  @keyframes UpAnime{
		from {
		  opacity: 0;
		transform: translateY(200px);
		}
		to {
		  opacity: 1;
		transform: translateY(0);
		}
	  }
	  .DownMove{
		animation: DownAnime 0.5s forwards;
	  }
	  @keyframes DownAnime{
		from {
		  opacity: 1;
		transform: translateY(0);
		}
		to {
		  opacity: 1;
		transform: translateY(200px);
		}
	  }
}