@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Lato:400,700&display=swap');
/* #36a6ba */
/* ------------------------------
- reset
------------------------------ */
html, body, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
* {
  box-sizing: border-box;
}
:root,
html,
body {
  background-color: #fff;
  color: #333;
  width: 100%;
  font-size: 16px;
}
body {
  font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  overflow-x: hidden;
  }
main {
  display: block;
}
li {
  list-style-type: none;
}
a {
  color: #333;
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
*::before,
*::after {
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
a:hover {
  opacity: .8;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  line-height: 1;
}
input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="checkbox"],
input[type="radio"] {
  display: none;
}

input:focus,
textarea:focus,
select:focus {
  outline: 0;
}
select::-ms-expand {
    display: none;
}
input::placeholder,
textarea::placeholder {
  color: #bbb;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #bbb;
}
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #bbb;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
div {
  line-height: 1;
}
h1, h2, h3, h4, h5, h6, a, li {
  line-height: 1.5;
}
p, p a {
  line-height: 1.5;
}
sup {
  font-size: 0.5em;
  vertical-align: super;
}
/* ------------------------------
- utility
------------------------------ */
.cf {
  zoom: 1;
}
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
.visible-xs,
.visible-sm,
.visible-md {
  display: none;
}
.visible-lg {
  display: inherit;
}
@media only screen and (max-width: 1280px) {
  .visible-xs,
  .visible-sm,
  .visible-lg {
    display: none;
  }
  .visible-md {
    display: inherit;
  }
}
@media only screen and (max-width: 1000px) {
  .visible-xs,
  .visible-md,
  .visible-lg {
    display: none;
  }
  .visible-sm {
    display: inherit;
  }
}
@media only screen and (max-width: 640px) {
  .visible-sm,
  .visible-md,
  .visible-lg {
    display: none;
  }
  .visible-xs {
    display: inherit;
  }
}
/* ------------------------------
- layout
------------------------------ */
.l-content-lg {
	max-width: 640px;
	width: 100%;
  margin: 0 auto;
}
.l-content-md {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}
.l-content-sm {
  max-width: 810px;
  width: 90%;
  margin: 0 auto;
}
@media only screen and (max-width: 1250px) {
}
@media only screen and (max-width: 1000px) {
}
@media only screen and (max-width: 640px) {
  .l-content-lg,
  .l-content-md,
  .l-content-sm {
    width: 100%;
  }
}
/* ------------------------------
- bg
------------------------------ */
body{
	background: #eeeeee;
}
.main-bg {
  background: #fff;
}

/* ------------------------------
- main_content
------------------------------ */
.lead .heading{
	color: #005ba7;
	font-size: 55px;
	line-height: 1.2;
	text-align: center;
	margin: 10px 0 20px;
}

.sec01 .heading,
.sec02 .heading{
	color: #b81c22;
	font-size: 44px;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 35px;
}
.sec03 .heading{
	color: #b81c22;
	font-size: 44px;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 30px;
}
.sec01 .img,
.sec02 .img{
	margin-bottom: 20px;
}
.sec05 .img,
.sec06 .img,
.sec07 .img,
.sec08 .img,
.sec09 .img{
	margin-bottom: 40px;
}
.sec10 .img{
	width: 90%;
	margin: 0 auto;
}
.text_middle_img{
	/* sec02テキスト中間にある画像 */
	margin: 50px 0;
}
.text_middle_img-a{
	/* sec03テキスト中間にある画像 */
	margin: 10px 0;
}
.text,
.bottom_text{
	font-size: 24px;
	margin-bottom: 40px;
	padding: 0 10px;
}

.sec02 .text{
	margin-bottom: 10px;
}

.sec04+.sec05{
	margin-top: 35px;
}

.sec05 .text,
.sec06 .text,
.sec07 .text,
.sec08 .text,
.sec09 .text{
	padding: 0 24px;
}
.sec10 {
	padding-bottom: 10px;
}

/* footer */
footer .l-content-lg{
	background: #7ba6d8;
	color: #ffffff;
}
.foot_head{
	text-align: center;
}
.foot_heading{
	font-size: 45px;
}
.foot_address{
	font-size: 30px;
	line-height: 1;
}

.tel_area{
	text-align: center;
}
footer a{
	font-size:7.2vw;
	font-weight: bold;
	color: #ffffff;
	letter-spacing: 3px;
}
.foot_logo{
	padding-bottom: 30px;
}
@media only screen and (min-width: 640px) {
	footer a{
		font-size:72px;
		color: #ffffff;
	}
}

@media only screen and (max-width: 640px) {
	.lead .heading{
		font-size: 8.59vw;
		margin: 10px 0 10px;
	}
	.sec01 .heading, .sec02 .heading, .sec03 .heading{
		font-size: 6.25vw;
		margin-bottom: 15px;
	}
	.text,
	.bottom_text{
		padding: 0 10px;
		font-size: 16px;
		margin-bottom: 20px;
	}
	.text_middle_img{
		margin: 20px 0;
	}
	.sec04+.sec05{
		margin-top: 20px;
	}
	.sec05 .img, .sec06 .img, .sec07 .img, .sec08 .img, .sec09 .img, .sec10 .img{
		margin-bottom: 20px;
	}
	.sec10 .text{
		margin-bottom: 0;
	}
	.foot_heading{
		padding-top: 1%;
		font-size: 7.03vw;
	}
	.foot_address{
		font-size: 4.68vw;
	}
	footer a{
		font-size: 11.71vw;
		letter-spacing: 2px;
	}
	.sp_tel_area .tel{
		text-align: center;
		margin-bottom: 2%;
	}
	.foot_logo{
		padding-bottom: 20px;
	}
}