@charset "UTF-8";
/* =========================================================
	共通
========================================================= */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  overflow-x: hidden;
  background: #fff;
  color: #282828;
	font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
  line-height: 1.4;
	letter-spacing: -0.05em;
}
h1, p, button {
  font-family: "Noto Sans JP", arial, helvetica, clean, sans-serif;
}
img {
  width: 100%;
  height: auto;
  vertical-align: top;
  line-height: 0;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
}
a:hover {
  opacity: .7;
  transition: .2s;
}
strong {
  font-weight: bold;
}
.sp {
  display: none;
}
@media only screen and (max-width: 764px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.wp_in {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.wp__in {
  padding: 0 25px 70px;
}
@media only screen and (max-width: 764px) {
  .wp__in {
    padding: 0 4% 50px;
  }
}
.txt_m {
  font-size: 24px;
  line-height: 1.5;
}
.txt_s {
  font-size: 16px;
  line-height: 1.5;
}
.txt_ss {
  font-size: 14px;
  line-height: 1.5;
}
@media only screen and (max-width: 764px) {
  .txt_m {
    font-size: 4.8vw;
  }
  .txt_s {
    font-size: 4.6vw;
  }
  .txt_ss {
    font-size: 3.6vw;
  }
}
sup {
  font-size: 80%;
}
.kk {
  padding-left: 1em;
  text-align: left;
  text-indent: -1em;
}
.mt1em {
  margin-top: 1em;
}
.mt2em {
  margin-top: 2em;
}
/* =========================================================
	header
========================================================= */
#WP_ALL {
  width: 100%;
  padding: 20px 0 20px;
  background-color: #fff;
}
#WP_ALL.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 999;
}
.h_tp {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.h_logo {
  width: 31%;
}
.h_gr {
  width: 18%;
  margin-right: 11%;
}
.h_btn {
  width: 20%;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}
.h_btn a {
  display: block;
  text-align: center;
  padding-left: 55px;
  padding-top: 1.2em;
  padding-bottom: 1.2em;
  background-position: 22px center;
  background-size: 35px auto;
  background-repeat: no-repeat;
}
.h_form a {
  color: #333;
  background-color: #f8cc33;
  background-image: url("../images/i_form.gif");
}
.h_req a {
  color: #fff;
  background-color: #487cd8;
  background-image: url("../images/i_req.gif");
}
.h_hum {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .h_btn {
    font-size: 2vw;
  }
}
@media only screen and (max-width: 764px) {
  #WP_ALL {
    width: 100%;
    padding: 0 0 0;
    background: none;
    background-color: #fff;
  }
  .h_tp {
    display: table;
  }
  .h_logo {
    display: table-cell;
    width: 21%;
  }
  .h_gr {
    display: table-cell;
    width: 34%;
    margin-right: 0;
    vertical-align: top;
  }
  .h_btn {
    display: table-cell;
    vertical-align: bottom;
    width: 15%;
    font-size: 2.4vw;
    background-position: top center;
    background-size: 30% auto;
    background-repeat: no-repeat;
  }
  .h_btn a {
    background: none;
    padding: 0;
  }
  .h_form {
    padding-bottom: .8em;
    background-color: #fec525;
    background-image: url("../images/i_form.gif");
  }
  .h_req {
    padding-bottom: .8em;
    background-color: #487cd8;
    background-image: url("../images/i_req.gif");
  }
  .h_hum {
    background-color: #333;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
  .h_hum img {
    width: auto;
    height: 2.4em;
  }
}
.h_anc {
  width: 94%;
  margin: 25px auto 0;
  display: table;
}
.h_anc li {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
}
.h_anc li a:hover {
  color: #0099ff;
  text-decoration: underline;
}
#WP_ALL .h_sp {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .h_anc li {
    font-size: 1.4vw;
  }
}
@media only screen and (max-width: 764px) {
  #WP_ALL .h_anc {
    position: fixed;
    width: 80%;
    right: 0;
    background-color: #333;
    margin: 0;
    z-index: 1;
    display: none;
    font-size: 4vw;
    padding: 1em 6% 4em;
  }
  #WP_ALL .h_anc.app {
    display: block;
  }
  .h_anc li {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 4vw;
    border-bottom: 1px solid #fff;
  }
  .h_anc li a {
    color: #fff;
    line-height: 2;
  }
  #WP_ALL .h_sp {
    display: block;
    color: #fff;
    font-size: 4vw;
    line-height: 3;
    position: relative;
  }
  .h_cl {
    position: absolute;
    top: 0;
    right: 0;
    width: 2em !important;
  }
}
/* =========================================================
	ttl
========================================================= */
.ttl {
	background-color: #f9f6de;
	width: 100%;
	background-image: url("../images/bg.gif");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.ttl h1 {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
@media only screen and (max-width: 764px) {

	
}
/* =========================================================
	s1
========================================================= */
.s1 {
	background-color: #c5f3fc;
	background-image: url("../images/s1_bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 1000px auto;
	padding: 40px 0 40px;
}
.s1 h2 {
	max-width: 522px;
	width: 52.2%;
	margin: 0 auto;
}
.p4 {
	width: 88.3%;
	margin: 40px auto 0;
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;	
}
.p4 li {
	max-width: 195px;
	width: 22.1%;
}
@media only screen and (max-width: 764px) {
	.s1 {
		padding: 8vw 0 8vw;
		background-image: url("../images/s1_bg_sp.png");
		background-size: 100% auto;
	}
	.s1 h2 {
		max-width: none;
		width: 80%;
	}
	.p4 {
		width: 80%;
		margin: 8vw auto 0;
	}
	.p4 li {
		max-width: none;
		width: 44%;
	}
	.p4 li:nth-child(n+3){
		margin-top: 4vw;
	}
}
/* =========================================================
	s2
========================================================= */
.s2 {
	background-color: #2c74e1;
	padding: 60px 0 0;
}
.ans_wp {
	width: 100%;
	overflow: hidden;
}
.ans_wp .ans_wp_h {
	width: 70%;
	float: right;
}
.s2 h2 {
	max-width: 395px;
	width: 71.9%;
}
.ans_ph {
	float: left;
	width: 24.7%;
}
.ans_txt {
	width: 70%;
	float: right;
	padding-right: 10%;
	box-sizing: border-box;
}
.ans_txt p {
	text-align: left;
	font-size: 21px;
	color: #fff;
	line-height: 1.6;
	margin-top: 1.8em;
}
@media only screen and (max-width: 764px) {
	.s2 {
		background-color: #2c74e1;
		padding: 8vw 0 0;
	}
	.ans_ph {
		width: 32%;
		margin-right: 0;
		margin-left: 5%;
	}
	.ans_txt {
		width: 60%;
		margin-top: 0;
		padding-right: 4%;
	}
	.ans_wp .ans_wp_h {
		width: 100%;
		float: none;
		clear: both;
	}
	.s2 h2 {
		max-width: none;
		width: 70%;
		margin: 0 auto 4vw;
	}
	.ans_txt p {
		font-size: 3.0vw;
		margin-top: 1em;
	}
}
/* =========================================================
	s3
========================================================= */
.s3 {
	background-color: #c5f3fc;
	background-image: url("../images/s1_bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 60px 0 40px;
}
.s3 h2 {
	width: 45%;
	margin: 0 auto;
}
.s3 .p4 {
	justify-content: center;
}
.s3 .p4 li:nth-child(2) {
	margin: 0 3.7%;
}
@media only screen and (max-width: 764px) {
	.s3 {
		padding: 8vw 0 8vw;
	}
	.s3 h2 {
		width: 69%;
	}
	.s3 .p4 {
		width: 90%;
		margin-top: 6vw;
		justify-content: space-between;
	}
	.s3 .p4 li {
		width: 30%;
	}
	.s3 .p4 li:nth-child(2) {
		margin: 0;
	}
	.s3 .p4 li:nth-child(n+3) {
		margin-top: 0;
	}
}
/* =========================================================
	s4
========================================================= */
.s4 {
	background-color: #2c74e1;
	padding: 60px 0 0;
}
.s4 h2 {
	max-width: 394px;
	width: 71%;
}
@media only screen and (max-width: 764px) {
	.s4 {
		padding: 8vw 0 0;
	}
	.s4 h2 {
		max-width: none;
		width: 70%;
		margin: 0 auto 4vw;
	}
	.s4 .ans_ph {
		margin-top: 4vw;
	}
}
/* =========================================================
	s5
========================================================= */
.s5 {
	background-color: #fff;
	background-image: url("../images/s5_bg.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 60px 0 0;
}
.s5 h2 {
	width: 78.6%;
	margin: 0 auto;
}
.p3 {
	width: 100%;
	margin: 40px 0 0 0;
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;	
}
.p3 li {
	width: 26.6%;
}
.p3 li:first-child {
	margin-left: 7%;
	justify-content: flex-start;
}
.p3 li:nth-child(2) {
	width: 29.9%;
	margin-left: 3.4%;
}
.s5_04 {
	width: 52.3%;
	margin: 35px auto 0;
}
@media only screen and (max-width: 764px) {
	.s5 {
		padding: 8vw 0 0;
		background-image: url("../images/s5_bg_sp.jpg");
	}
	.s5 h2 {
		max-width: none;
		width: 65%;
	}
	.p3 {
		width: 100%;
		margin: 6vw auto 0;
		justify-content: space-between;
		flex-wrap: nowrap;
	}
	.p3 li {
		width: 33.2%;
		margin: 0 !important;
	}
	.p3 li:nth-child(2) {
		width: 37.3%;
	}
	.p3 li:nth-child(3) {
		width: 29.3%;
	}
	.s5_04 {
		width: 70%;
		margin: 2vw auto 0;
	}
}
/* =========================================================
	s6
========================================================= */
.s6 {
	background-color: #2c74e1;
	padding: 7px 0 35px;
}
.s6 h2 {
	width: 75.5%;
	margin: 0 auto;
}

@media only screen and (max-width: 764px) {
	.s6 {
		padding: 0;
	}
	.s6 h2 {
		width: 100%;
		margin: 0 auto;
	}
}
/* =========================================================
	s7
========================================================= */
.s7 {
	background-color: #fff;
	padding: 17px 0 55px;
}
.bnr_line {
	width: 100%;
}
@media only screen and (max-width: 764px) {
	.s7 {
		padding: 3vw 0 3vw;
	}
	.bnr_line {
		width: 100%;
		margin: 0 auto;
	}
}










/* =========================================================
	footer
========================================================= */
.footer_tp {
  position: fixed;
  right: 30px;
  width: 60px;
  bottom: 30px;
  z-index: 2;
}
@media only screen and (max-width: 764px) {
  .footer_tp {
    position: fixed;
    right: 2%;
    width: 10%;
    bottom: 20px;
  }
}
.footer {
  padding: 5px 0 0;
}
.f_logo {
  width: 43.2%;
  margin: 40px auto 0;
}
.footer p {
	text-align: center;
	font-size: 16px;
	color: #fff;
	background-color: #000;
	line-height: 3.2;
	margin-top: 30px;
}
@media only screen and (max-width: 764px) {
  .footer {
    padding: 5px 0 0;
  }
  .footer .h_anc {
    display: none;
  }
  .f_logo {
    width: 58%;
    margin: 20px auto 0;
  }
	.footer p {
		font-size: 2.1vw;
		line-height: 3.2;
		margin-top: 4.4em;
	}
}