@charset "utf-8";
/* title-wrap
------------------------------------------------- */
body {
	background-color: #fff;
}

#solution #contents {
	/*background: #F5F5F5;*/
}
#solution .title-wrap {
  padding-bottom: 13.4%;
	background: #F5F5F5;
}
#solution h1 {
	/*padding: 20% 0 9%;*/
	padding: 11% 0 7%;
	width: 51%;
	max-width: 631px;
	margin: 0 auto;
	text-align: center;
}
#solution h1 img {
	max-width: 631px;
	margin: 0 auto;
}
#solution .title-wrap p {
  text-align: justify;	
}
#solution .title-img {
	margin: 6% 2% 15%;
}
#solution p.title-sub {
	text-align: center;
	font-size: 3.47vw;
	font-weight: bold;
}

@media screen and (min-width: 751px),print {
#solution .title-wrap {
  padding: 2.5em 0 5em;
}
#solution h1 {
	padding: 0 0 3%;
	width: 60%;
	max-width: 220px;
}
#solution p.lead {
	max-width: 610px;
	margin: 0 auto;
  text-align: center;
	font-size: 16px;
}	
#solution .title-img {
  margin: 3.2% auto;
  max-width: 998px;
	padding: 0 2%;
}	
#solution p.title-sub {
	font-size: 1vw;
}
}

/* in-page-link
------------------------------------------------- */
#solution .in-page-link {
  display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#solution .in-page-link a {
	width: 46%;	
  color: #3366CC;
	font-weight: bold;
}
#solution .in-page-link li {
	margin-top: 10%;
	padding-bottom: 10%;
	font-size: 4.26vw;
  background-image: url("../img/in-page-link-arrow.png");
  background-repeat: no-repeat;
  background-position: top 31% right 5%;
  background-size: 8%;
	border-bottom: 2px solid #3366CC;
}

/* 調整用 */
@media screen and (min-width: 550px),print {
#solution .in-page-link li {
	border-bottom: 4px solid #3366CC;
}	
}

@media screen and (min-width: 751px),print {
#solution .in-page-link {
  margin: 0 auto;
	max-width: 680px;
}
#solution .in-page-link a {
	width: 20%;	
}
#solution .in-page-link a.in-page-link02 {
	width: 24%;	
}
#solution .in-page-link a.in-page-link03 {
	width: 15%;	
}
#solution .in-page-link a.in-page-link04 {
	width: 17%;	
}
#solution .in-page-link a.in-page-link05 {
	width: 17%;	
}
#solution .in-page-link li {
	text-align: right;
	padding-right: 1.2em;
	margin-top: 0;
	padding-bottom: 0;
	font-size: 16px;
  background-position: center right 5%;
  background-size: 10px;
	border-bottom: none;
}
}
@media screen and (min-width: 851px),print {
#solution .in-page-link li {
	font-size: 18px;
}
}


/* solution-box
------------------------------------------------- */
#solution .solution-box {
  padding-top: 17vw;
  margin-top: -17vw;	
}
#solution .solution-box-inner {
	background-color: #fff;
	padding-top: 10%;
	text-align: center;
}
#solution .solution-box-icon {
	width: 19.2%;
}
#solution .solution-box h2.section-title {
	font-size: 7.2vw;
	margin-top: 2%;
	color: #3366CC;
	line-height: 1.4;
}
#solution .solution-box h2 span {
	font-size: 4.8vw;
	display: block;
}

#solution .solution-box-image {
	margin-top: 6%;
}
#solution .overview-area {
  padding-top: 7%;
	background-color: #fff;
}
#solution .overview-btn {
	margin: 0 auto;
	width: 48%;
	height: 13.1vw;
	color: #3366CC;
	font-size: 4.8vw;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
	font-weight: bold;
	text-align: center;
	border: 2px solid #3366CC;
	border-radius: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#solution ul.overview {
	padding: 0 4% 13%;
}
#solution ul.overview li {
	position: relative;
	margin-top: 1em;
  padding-left: 1.4em;
	/*font-weight: 500;*/
  /*background-image: url("../img/list-style-image.png");
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: left top 8%;*/
}
#solution ul.overview li:before {
    content: "";
    position: absolute;
    top: 0.9em;
    left: 0;
    width: 1em;
    height: 1em;
    border-radius: 50px;
    background: #3366CC;
    transform: translateY(-50%);
    box-sizing: border-box;
}
#solution .solution-box .example-area {
	position: relative;
	background-color: #EFEFEF;
	padding: 16% 0 8%;
}
#solution .example-btn {
	position: absolute;
	top: 23vw;
	left: 50%;
  transform: translate(-50%, -105%) !important;
	margin: 0 auto;
	width: 48%;
	height: 13vw;
	color: #3366CC;
	background-color: #fff;
	font-size: 4.8vw;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
	font-weight: bold;
	border: 2px solid #3366CC;
	border-radius: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#solution .example-card {
	background-color: #fff;
	margin: 0 4%;
	border-radius: 32px;
}
#solution .example-card-inner {
	text-align: center;
}
#solution .example-card-inner h3 {
	padding: 10% 0 6%;
	font-size: 4.8vw;
	color: #3366CC; 
	line-height: 1.4;
}
#solution .example-card-image {
	width: 80%;
}
#solution .example-card-inner-bottom {
	padding: 0 10% 6%;
}
#solution .example-card-btn {
	margin-top: 10.8%;
	text-align: center;
	width: 23.8%;
	color: #fff;
	background-color: #3366CC;
	font-size: 3vw;
	font-weight: bold;
	padding: 0.2em 0;
}
#solution .subject-txt {
	margin: 4% 0 0;
	font-size: 4.8vw;
  font-weight: 500;
	line-height: 1.4;
}
#solution .example-txt-main {
	margin: 4% 0 0;
	font-size: 4.8vw;
  font-weight: 500;
	line-height: 1.4;
}
#solution .example-txt-sub {
	margin: 4% 0 0;
	font-size: 3.2vw;	
}
#solution .example-txt-sub a {
  color: #3366CC;
	font-weight: bold;
	text-decoration: underline;
}
#solution .example-txt-sub.text-indent {
	margin-left: 1em;
	padding-left:1.5em;
	text-indent:-1.5em;
}
#solution .example-txt-sub span.circle {
	color: #3366CC;
	padding-right: 0.5em;
}
#solution .brpc {
	display: none;
}

/* 高さ調整 */


@media screen and (min-width: 751px),print {
#solution .solution-box {
  padding-top: 8.375em;
  margin-top: -8.375em;	
}
#solution .solution-box-inner {
  padding-top: 3%;
}
#solution .solution-box-icon {
	width: 82px;
}	
#solution .solution-box h2.section-title {
    font-size: 30px;
}
#solution .solution-box h2 span {
    font-size: 20px;
}
#solution .solution-box-image {
  margin-top: 2.3%;
	width: 80%;
	max-width: 760px;
}
#solution .overview-area {
  padding-top: 2.4%;
}
#solution .overview-btn {
	margin: 2% auto;
	width: 220px;
	height: 64px;
	font-size: 22px;
	line-height: 64px;
	border: 2px solid #3366CC;
	border-radius: 48px;
}
#solution ul.overview {
	width: 80%;
  max-width: 720px;
	margin: 3% auto 0;
  padding: 0 0 4%;
}
#solution ul.overview li {
	font-size: 16px;
  /*background-position: left top 13%;*/
}
#solution .solution-box .example-area {
  position: relative;
  background-color: #EFEFEF;
  padding: 100px 0 100px;
}
#solution .example-btn { 
	top: 132px;
  margin: 0 auto;
  width: 220px;
  height: 64px;
  font-size: 24px;
	line-height: 64px;
}
#solution .example-card {
	width: 90%;
	max-width: 760px;
  margin: 0 auto;
  border-radius: 64px;
}
#solution .example-card-inner h3 {
	padding: 6% 0 3%;
	font-size: 24px;
}
#solution .example-card-image {
  width: 388px;
}
#solution .example-card-inner-bottom {
    padding: 0 8.4% 6% 14%;
}
#solution .example-card-wrap {
  display: flex;
	flex-wrap: wrap;
	margin-top: 5%;
}
#solution .example-card-btn {
  margin-top: 4px;
  width: 74px;
  height: 24px;
  font-size: 14px;
  padding: 0.2em 0;
}
#solution .subject-txt {
  margin: 0 0 0;
  font-size: 22px;
	padding-left: 0.8em;
}
#solution .example-txt-box {
  width: calc(100% - 74px);
}
#solution .example-txt-main {
  margin: 0 0 0;
  font-size: 22px;
	padding-left: 0.8em;
}
#solution .example-txt-sub {
  margin: 2em 0 0;
  font-size: 16px;
	padding-left: 24px;
}
#solution .brpc {
	display: block;
}
}

#solution .contact-wrap.sp-wrap {
  margin-top: 16%;
}
#solution .contact-wrap.pc-wrap {
  display: none;
}
#solution .contact-wrap a {
  display: block;	
}
#solution .contact-wrap a.mail-box {
	margin-top: 10%;
}
#solution .contact-wrap a:hover {

}

@media screen and (min-width: 751px),print {
a[href^="tel:"]{
  pointer-events: none;
}
#solution .contact-wrap.sp-wrap {
  display: none;
}
#solution .contact-wrap.pc-wrap {
  display: flex;
  justify-content: space-between;
	max-width: 840px;
	margin: 0 auto;
}	
#solution .contact-wrap.pc-wrap a {
	position: relative;
	display: block;
  width: 48%;
	height: 160px;
	overflow: hidden;
	cursor: pointer;
}
#solution .contact-wrap a.mail-box {
	margin-top: 0;
}
#solution .contact-wrap.pc-wrap a img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}
#solution .contact-wrap.pc-wrap a:hover img:nth-of-type(2) {
	opacity: 0;
}
}


/* swiper-container01
------------------------------------------------- */
.swiper-area {
	background-color: #EFEFEF;	
}
.swiper-container01 {
	position: relative;
	max-width: 760px;
  overflow: hidden;
	margin: 0 auto;
	background-color: #EFEFEF;	
}
.swiper-button-prev, .swiper-button-next {
  height: 40px;
  width: 40px;
	border: 2px #3366cc solid;
  border-radius: 40px;
  background-color: #FFF;
  opacity: .4;
  background-size: 16px 16px;
}
@media screen and (min-width: 751px),print {
#solution .swiper-area .example-btn {
	/*margin-top: 30px;*/	
}
}


/* #pnav
------------------------------------------------- */
/*#pnav {
	background-color: #FFF;
}
#pnav .business-nav-area {
	margin-top: 8%;
}
#pnav .business-nav-area ul {
	width: 92%;
}
#pnav .business-nav-area ul li {
	margin: 0 0 6vw;
	border-bottom: none;
}
#pnav .business-nav-area ul li a {
	line-height: 1.5;
	color: #2076C6;
}
@media screen and (min-width: 751px),print {
#pnav .business-nav-area {
	margin-top: 2%;
}	
#pnav .business-nav-area ul {
	width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
#pnav .business-nav-area ul li {
	margin: 0;
	border-bottom: none;
}
}*/

/* .title-wrap .business-nav-area
------------------------------------------------- */
.title-wrap .business-nav-area {
  margin: 0 auto 2.4%;
  padding: 10% 0 0;
}
.title-wrap .business-nav-area ul {
	margin: 0 auto;
	width: 92%;
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.title-wrap .business-nav-area ul li {
	font-size: 3.733vw;
  text-align: center;
}
.title-wrap .business-nav-area ul li:nth-child(2) {
  color: #3366cc;
  padding: 0 0.5em;
	border-left: 1px solid #666666;
	border-right: 1px solid #666666;
}
.title-wrap .business-nav-area ul li a {
	line-height: 1.5;
	color: #666666;
}
.title-wrap .business-nav-area ul li a:hover {
	color: #3366cc;
}

@media screen and (min-width: 751px),print {
.title-wrap .business-nav-area {
  padding: 0;
}
.title-wrap .business-nav-area ul {
	width: 88%;
  max-width: 960px;
  margin: 0 auto;
}
.title-wrap .business-nav-area ul li {
	margin: 0;
	border-bottom: none;
	width: 33%;
  font-size: 16px;
}
.title-wrap .business-nav-area ul li:nth-child(2) {
  padding: 0;
}
}
