@charset "UTF-8";
html {
}
button,
*,
*:after,
*::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box; }
body {
	margin: 0;
	padding: 0;
	line-height: 1;
	-webkit-text-size-adjust: 100%; }
a {
	text-decoration: none; }
input[type="submit"],
a {
	-webkit-transition: opacity 1s ease-out;
	-moz-transition: opacity 1s ease-out;
	-ms-transition: opacity 1s ease-out;
	transition: opacity 1s ease-out; }
input[type="submit"]:hover,
a:hover {
  opacity: .5; }
.clearfix {
  zoom: 1;
  overflow: hidden; }
.clearfix:after {
  content: "";
  display: block;
  clear: both; }
input {
  font-size: 16px; }
img {
  width: auto;
  max-width: 100%;
  line-height: 0;
  vertical-align: middle;
  border: none; }
.wysiwyg {
  word-break: break-word;
  line-height: 1.75; }
.wysiwyg table {
  width: 100%!important; }
.wysiwyg ol {
  margin-left: 16px;
  list-style-type: decimal; }
p {
  line-height: 1.75; }
ol,ul,li,dl,dt,dd {
  margin: 0;
  padding: 0; }
li {
  list-style: none; }
figure { margin: 0; }
figcaption { line-height: 1.75; }
.sp-hide {
  display: block; }
.sp {
  display: none; }
.wrap {
  width: 100%;
  margin: 0 auto; }
.center {
  text-align: center; }
 time {
  display:inline-block; }
.flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; }
.sns-btn {
	letter-spacing: -.4em;
  margin:16px 0; }
.sns-btn a {
  display: inline-block;
  color: #fff;
  padding: 10px 8px;
  text-align: center;
  background: #B5B5B6;
  font-size: 12px;
  min-width: 16%;
  width: 33.3%;
letter-spacing: normal;}
.sns-btn a:nth-child(1) {
  background: #036EB8; }
.sns-btn a:nth-child(2) {
  background: #2EA7E0; }
.sns-btn a:nth-child(3) {
  background: #13AE67; }
.gmap.iframe-wrap {
  position: relative;
  padding-top: 400px; }
.gmap.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
@media screen and (max-width: 768px) {
.wysiwyg figure,	
.iframe-wrap {
  position: relative;
  padding-top: 56.25%; }
.wysiwyg figure iframe,
.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
.wysiwyg figure img {
  margin-top: -56.25%; }
.sp {
  display: block; }
.sp-hide{
  display: none; }
.prev-next a {
  width: 47%;
  margin: 0 1.5% 0 0; }
.prev-next a:nth-child(2) {
  margin: 0 0 0 1.5%; }
.sns-btn a {
	padding: 10px 4px;
	font-size: 10px;
	width: 33.3%;}
}  

/*★サイトの基準設定 -------------------------------------------------------------------------*/  
body {
  color: #1E1969;
  font-size: 16px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic","メイリオ","Meiryo", Osaka, Sans-Serif;
  /*font-family: "Avenir Next", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","游ゴシック", "Yu Gothic","メイリオ","Meiryo", Osaka, Sans-Serif;*/ }
a { color: #1E1969; }
.prev-next,
.wrap {
  max-width: 1200px; }
nav,h1,h2,h3,h4,h5 { letter-spacing: 0.1rem; } 
.prev-next {
  margin: 40px auto 0;
  text-align: center; }
.prev-next a {
  display: inline-block;
  font-size: 12px;
  padding: 4px;
  font-weight: normal;
  line-height: 1;
  color: #fff;
  background: #c9caca;
  width: 15%;
  margin: 0 8px;
  max-width: 230px;
  float: none; }
/*.contents { padding-top: 117px; }*/
  
@media screen and (max-width: 768px) {
/*.contents { padding-top: 58px; }*/
.wrap,
.contents .wrap {
  padding: 0 16px; }
.prev-next a {
  width: 47%;
  margin: 0 1.5% 0 0; }
.prev-next a:nth-child(2) { margin: 0 0 0 1.5%; }
}

/*★header -------------------------------------------------------------------------*/
header {
  width: 100%;
  margin: auto;
  padding: 0;
  /*position: fixed;
  background: #fff;
  z-index: 9999;*/
}
header .clearfix {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	padding: 24px 0;
}
header .logo { display:inline-block; }
header .logo a { display:inline-block; }
header .logo a img {
	width: 100%;
}
@media screen and (min-width: 769px) {
	header h1 { margin-left: 24px; }
}

@media screen and (max-width:768px) {
	.sp,.sp-hide{ display: none; }
	header .clearfix { 
		flex-wrap: wrap;
		padding: 16px;
	}
	header .logo {
		width: 50%;
		margin-bottom: 16px;
	}
	header .logo img { width: 100%; }
	header .clearfix h1 { width: 100%; }
}

/*★footer -------------------------------------------------------------------------*/
footer {
  margin-top:40px;
  padding: 40px;
  text-align: center;
  background: #F5FAFE;
}
footer .wrap {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
footer .g-nav { margin:0; }
footer .g-nav a {
  display: inline-block;
  margin: 0 24px 0 0;
  color: #1E1969;
}
footer small {
  display: block;
  margin: 0;
  padding: 0;
	font-size: 16px;
}

@media screen and (max-width: 768px) {
	footer {
		padding: 24px;
	}
	footer .wrap {
		flex-wrap: wrap;
		padding: 0 16px;
	}
	footer .g-nav, footer small {
		width: 100%;
	}
	footer .g-nav a {
		display: block;
		margin:0 0 16px 0; }
}

/*★h1 -------------------------------------------------------------------------*/
h1 {  
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: normal;
}
  
/*★h2 -------------------------------------------------------------------------*/
h2 {
  /*color: #1E1969;*/
  font-size: 32px;
  line-height: 1.5;
  padding:0 0 0 16px;
  margin:40px 0;
  border-left: 16px solid #EA5404; }
h3 {
  line-height: 1.75; }
@media screen and (max-width:768px) {
	header
	h1 { 
		text-align: left;
		font-size: 18px;
	}
	h2 {
		font-size: 16px;
		margin: 24px 0;
		padding: 0 0 0 8px;
  	border-left: 8px solid #EA5404; }
}
	
	.catch  {
		/*max-height: 400px;
		overflow: hidden;*/
	}
.catch img { width: 100%; }
@media screen and (min-width: 1921px) {
	.catch  {
		height: 400px;
		overflow: hidden;
	}
}
.col4 {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; 
	justify-content: flex-start;
	align-content: flex-start;
	flex-wrap: wrap;
}

.col4 li img { width: 100%; }
.col4 li  figure span {
	display: block;
	padding: 66% 0 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.col4 li figcaption { margin-top: 16px; }
.list-btn {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; 
	justify-content: flex-start;
	align-content: flex-start;
	flex-wrap: wrap;
}
.list-btn li {
	display: inline-block;
	margin-bottom: 16px;
}
.list-btn li a {
	display: inline-block;
	color: #008DB7;
	font-weight: bold;
	border: 1px solid #008DB7;
	border-radius: 8px;
	padding: 8px 16px;
	margin-right: 16px;
}
.list-50on > li {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; 
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
}
.list-50on > li > span {
	background: #008DB7;
	padding: 8px;
	color: #fff;
	font-weight: bold;
	border-radius: 50%;
	margin-right: 24px;
}
@media screen and (min-width: 769px) {
	.col4 li {
		width: calc( (100% - 72px) / 4);
		margin:0 24px 40px 0;
	}
	.col4.gallery li:hover {
		cursor: pointer;
	}
	.col4 li:nth-child(4n) { margin-right: 0; }
}
@media screen and (max-width: 768px) {
	.col4 li {
		width: calc( (100% - 16px) / 2);
		margin:0 16px 16px 0;
	}
	.col4 li:nth-child(2n) { margin-right: 0; }
	.list-btn { margin-bottom: 24px; }
	.list-btn li { margin-bottom: 8px; }
	.list-btn li a { margin: 0 8px 0 0; }
	.col4 li figcaption { font-size: 10px; }
	.list-50on > li > span,.list-btn li a { font-size: 14px; }
	
}
.sns {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; 
	justify-content: center;
}
.sns a {
	margin: 40px 12px;
}
.apply {
	/*display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; 
	justify-content: center;*/
	text-align: center;
}
.apply .btn {
	display: inline-block;
	padding: 24px;
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	background: #EA5404;
	border-radius: 16px;
	width: 100%;
	max-width: 600px;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.apply .btn {
		font-size: 24px;
	}
}

/*form-------------------------------------------------------*/
/*
.form-apply {}
.form-apply	dl {
	/*display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex; 
	justify-content: flex-start;
}
.form-apply dt {
	margin-bottom: 8px;
	font-weight: bold;
}
@media screen and (min-width: 769px) {
	.form-apply dd {
		
	}
}
@media screen and (max-width: 768px) {

}
*/

.modal_wrap input {
  display: none;
}
.modal_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}
.modal_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}
.modal_content {
  /*position: relative;*/
  align-self: center;
  /*width: 60%;*/
  max-width: 800px;
  padding: 30px 30px 15px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4em;
	transform: scale(0.3);
  transition: 0.5s;
}
.close_button {
  position: absolute;
  top: 14px;
  right: 16px;
  font-size: 24px;
  cursor: pointer;
}
.modal_wrap input:checked ~ .modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}
.modal_wrap input:checked ~ .modal_overlay .modal_content{
    transform: scale(1);
}
.modal_content img {
	  max-width: 80vw;
    max-height: 80vh;
}
/*.open_button {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 30px;
  margin: auto;
  padding: 8px 16px;
  color: #444;
  font-weight: bold;
  font-family: 'Montserrat', sans-serif;
  box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  border-radius: 16px;
  cursor: pointer;
}*/
.modal_wrap figure {
	text-align: center;
}
