@charset "utf-8";

html {
	font-size: 62.5%;
}
body {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
	width: 100%;
	height: 100%;
	background: #f9f2ea;
	color: #05161a;
	font-size: 1.6rem;
	line-height: 1.6;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
}
a {
	color: #00f;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
img {
	width: auto;
	max-width: 100%;
	height: auto;
}
a img {
	transition: .5s;
}
a:hover img {
	opacity: .7;
}
.container {
  width: 92%;
  max-width: 1280px;
  margin: 0 auto;
}
.flex {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
.list > li {
  position: relative;
  padding-left: 1.3em;
}
.list > li + li {
  margin-top: .2em;
}
.list.inline {
  display: inline-flex;
  flex-flow: column nowrap;
  text-align: left;
}
.list > li::before {
  position: absolute;
  top: 0;
  left: 0;
}
.list.smldot > li::before {
  content: "・";
}
.list.kome > li::before {
  content: "※";
}
.red {color: #e8412e;}
.txt_center {text-align: center;}
.mt05 {margin-top: .5em !important;}
.mt10 {margin-top: 1em !important;}
.mt20 {margin-top: 2em !important;}
.mt30 {margin-top: 3em !important;}
.btn {
  display: inline-block;
  background: #004986;
  color: #fff;
  line-height: 1.2;
  text-decoration: none;
  text-align: center;
  padding: .8em 1.8em;
}
.tel_link a {
	display: none;
}

/* .header */
.header.flex {
  align-items: center;
  padding: 1.5em 0;
}
.header_tit {
  width: 50%;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.3;
}
.header_body {
  width: 27%;
  text-align: right;
}
.header_btn {
  width: 17%;
}
.header_btn .btn {
  display: block;
  width: 100%;
  font-size: 1.8rem;
}

/* main */
.mv.flex {
  justify-content: center;
  align-items: center;
}
.mv_img {
  width: 50%;
}
.mv_body {
  width: 50%;
  padding: 0 2.5em;
}
.mv_catch {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: .75em;
}
.sec_block {
  padding: 3em 0;
}
.sec_block .container {
  max-width: 960px;
}
.sec_tit {
  font-size: 2.8rem;
  line-height: 1.3;
  border-bottom: 2px solid #004986;
  padding: 0 0 .5em 1.8em;
  margin-bottom: 1.25em;
  position: relative;
}
.sec_tit::before,
.sec_tit::after {
  content: "";
  border-radius: 100%;
  width: 1em;
  height: 1em;
  background: #004986;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
.sec_tit::after {
  width: .75em;
  height: .75em;
  background: #2099ff;
  top: .5em;
  left: .5em;
}
.sec_body > * + * {
  margin-top: 1em;
}
.outline.flex .outline_img {
  width: 40%;
}
.outline.flex .sec_body {
  width: 55%;
}
.outline.flex .modal__content {
  width: 92%;
  max-width: 672px;
}
.sec_body.feature {
  text-align: center;
}
.feature_copy {
  font-size: 2.4rem;
  margin-top: 1em;
}
.photo_list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin-top: 2em;
}
.photo_list figure {
  width: 48%;
}
.photo_list figure:nth-of-type(n+3) {
  margin-top: 2em;
}
.photo_list figcaption {
  margin-top: .5em;
}
.important_copy {
  color: #e8412e;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
}
.gmap {
  width: 100%;
  max-width: 960px;
  height: 500px;
  margin: 2em auto 0;
}
.gmap iframe {
  width: 100%;
  height: 100%;
}
.sec_table table {
  width: 100%;
  border-collapse: collapse;
}
.sec_table table tr > * {
  border-bottom: 1px solid #ccc;
  padding: .75em;
}
.sec_table table tr > th {
  width: 25%;
  font-weight: bold;
}
.sec_table table tr > td {
  width: 75%;
}
.inquiry_tel {
  text-align: center;
}
.inquiry_tel ._tel {
  font-size: 2.8rem;
  margin-top: .5em;
}
.inquiry_tel ._add {
  margin-top: .5em;
}
.inquiry_mail {
  background-color: #fbfbfc;
  background-image: linear-gradient(45deg, #7abb27 25%, transparent 25%, transparent 50%, #7abb27 50%, #7abb27 75%, transparent 75%, transparent);
  background-size: 20px 20px;
  box-shadow: 0 2px 1px rgba(0, 0, 0, 0.04);
  padding: 20px;
  margin-top: 3em;
}
.inquiry_mail > div {
  background: #fff;
  padding: 3em;
}
.inquiry_mail > div > * + * {
  margin-top: 1em;
}
.inquiry_mail > div > * + .btn_block {
  margin-top: 2em;
}
.btn_block {
  text-align: center;
}
.btn_block .btn {
  border-radius: 999px;
  padding: .8em 3em;
}

/* .footer */
.footer {
  background: #004986;
  color: #fff;
  text-align: center;
  padding: 4em 0;
  margin-top: 3em;
}
.footer small {
  display: block;
  font-size: 1.4rem;
}
.footer a {
  color: #fff;
}

/* modal */
.modal__open {
	cursor: pointer;
	transition: .5s;
}
.modal__open:hover {
	opacity: .7;
}
.modal {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}
.modal__bg {
	background: rgba(0,0,0,.7);
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
}
.modal__content {
	background: transparent;
	box-shadow: 0 0 10px rgba(0,0,0,.7);
	width: 100%;
  max-width: 1100px;
  padding: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.modal .close__text {
	width: 2em;
	height: 2em;
	position: absolute;
	top: -2.5em;
	right: 0;
	cursor: pointer;
}
.modal .close__text::before,
.modal .close__text::after {
	content: "";
	width: 100%;
	height: 0;
	border-top: 3px solid #fff;
	position: absolute;
	top: 48%;
	left: 0;
}
.modal .close__text::before {
	transform: rotate(45deg);
}
.modal .close__text::after {
	transform: rotate(-45deg);
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
  .pc {display: none;}
  .flex {
		flex-flow: column nowrap;
	}
	.tel_link {
		position: relative;
    color: #00f;
	  text-decoration: underline;
	}
	.tel_link a {
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
  
  /* .header */
  .header.flex {
    padding: 1.5em 0;
  }
  .header_tit {
    width: 100%;
    font-size: 2.0rem;
  }
  .header_body {
    width: 100%;
    text-align: center;
    margin-top: .5em;
  }
  .header_btn {
    width: 50%;
    margin-top: .5em;
  }
  .header_btn .btn {
    font-size: 1.6rem;
  }
  
  /* main */
  .mv_img {
    width: 100%;
  }
  .mv_body {
    width: 100%;
    padding: 1em 4%;
  }
  .mv_catch {
    font-size: 2.2rem;
    margin-bottom: .5em;
  }
  .sec_tit {
    font-size: 2.0rem;
  }
  .outline.flex .outline_img {
    width: 100%;
  }
  .outline.flex .sec_body {
    width: 100%;
    margin-top: 1.25em;
  }
  .feature_copy {
    font-size: 1.7rem;
    margin-top: 0;
  }
  .photo_list {
    flex-direction: column;
    justify-content: center;
  }
  .photo_list figure {
    width: 100%;
  }
  .photo_list figure:nth-of-type(n+2) {
    margin-top: 2em;
  }
  .important_copy {
    font-size: 2.0rem;
  }
  .gmap {
    height: 300px;
  }
  .sec_table table tr > * {
    display: flex;
    flex-flow: column wrap;
    padding: 1em .5em;
  }
  .sec_table table tr:first-child > * {
    padding-top: 0;
  }
  .sec_table table tr > th {
    width: 100%;
    border-bottom: none;
    padding-bottom: 0;
  }
  .sec_table table tr > td {
    width: 100%;
    padding-top: .25em;
  }
  .inquiry_tel ._tel {
    font-size: 2.4rem;
  }
  .inquiry_mail {
    background-size: 10px 10px;
    padding: 10px;
    margin-top: 2em;
  }
  .inquiry_mail > div {
    padding: 1.5em;
  }
  .btn_block .btn {
    display: block;
    font-size: 1.6rem;
    padding: .8em;
  }
  /* .footer */
  .footer {
    padding: 2em 0;
    margin-top: 1em;
  }
  .footer small {
    font-size: 1.2rem;
  }
  
  
}

@media only screen and (min-width: 769px) {
	.sp {display: none;}
	
}