@charset "utf-8";

/*-----------------------------------------------------------------------

-----------------------------------------------------------------------*/

:root {
	--main-width: 960px;
	--main-width-max: 100%;
	--main-width-full: 90%;
	
	--main-border-r: 5px;
	
	--main-colorg1: #0d5f76;
	--main-colorg2: #119977;
	
	--main-color1: #469178;
	--main-color2: #3F8377;
	--main-color3: #377276;
	--main-color4: #2C6074;
	
  }
  
  .color1 { color: var(--main-color1); }
  .color2 { color: var(--main-color2); }
  .color3 { color: var(--main-color3); }
  .color4 { color: var(--main-color4); }

@media print {
	body { width: 1120px; }
}

body {
	margin: 0;
	padding: 0;
	color: #444;
	background-color: #fff;
	position: relative;
	font-size: 0.85rem;
	line-height: 2.0rem;
	/* font-family: "M plus 1p"; */
	font-family: 'Murecho', sans-serif;
}

.wrap {
    position: relative;
}

.objectFitImg {
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;'
}

.cvbtm {
	width: 50%;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	background: -webkit-gradient(linear, left bottom, left top, from(var(--main-colorg1)), to(var(--main-colorg2)));
    background: -webkit-linear-gradient(bottom, var(--main-colorg1), var(--main-colorg2));
    background: linear-gradient(0deg, var(--main-colorg1), var(--main-colorg2));
    border-radius: var(--main-border-r);
}

/*------------▼ iehack-------------*/
			@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
			  .cvbtm {
			    background: linear-gradient(0deg, #0d5f76, #119977);
			  }
			}
/*------------▲ iehack-------------*/

.cvbtm a {
	color: #fff;
	display: block;
	width: 100%;
	font-size: 1.6rem;
	padding: 2rem;
}

	@media screen and (max-width: 960px) {
		.cvbtm { width: 90%; margin-bottom: 3rem; }
		.cvbtm a { font-size: 1.2rem; }
	}


/*-----------------------------------------------------------------------
header footer
-----------------------------------------------------------------------*/
header {
	background: rgba(255, 255, 255, 0.9);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}
.header_inner {
    width: 960px;
    margin: 0px auto;
    padding: 1.0rem 0 0 0;
}
.header_inner .logo {
    width: 160px;
    position: absolute;
    top: 1rem;
    z-index: 2000;
}
.header_inner .logo img {
    width: 100%;
}
@media screen and (max-width: 960px) {
	.header_inner {
		width: 100%;
	}
	.header_inner .logo {
		width: 100px;
		position: absolute;
		top: 1.2rem;
		left: 1rem;
		z-index: 2000;
	}
	.header_inner .logo img {
		width: 100%;
	}
}

.header_inner nav {
    width: 100%;
}
.header_inner nav section {
    display: none;
    text-align: center;
    margin: 0;
}
	.header_inner nav section ul {
		font-size: 0;
		text-align: center;
		padding: 0.2rem 0;
	}
	.header_inner nav section ul li {
		display: inline-block;
		font-size: 0.8rem;
		margin: 0 0.5rem 0.5rem 0;
		
	}
	.header_inner nav section ul li a {
		padding: 0.5rem 1rem;
		border: solid 1px #ccc;
		border-radius: 3px;
		color: #444;
	}
	.header_inner nav section ul li a:hover {
		border: solid 1px #3eb79d;
		background-color: #e7f6f3;/*薄緑*/
		color: #24a98d;/*緑*/
	}

footer {
	/* height: intrinsic; */
}

.footerinner {
	background-color: #555;
	padding: 1rem 0;
	margin: 0;
	font-size: 0.8rem;
	color: #fff;
	text-align: center;
}


/*-----------------------------------------------------------------------
mainvisual
-----------------------------------------------------------------------*/
.mainvisual {
    width: 100%;
	margin:0 auto;
	background-size: cover;
}

.mainvisual_inner {
    width: 960px;
    padding: 0;
    margin: 0 auto;
}
@media screen and (max-width: 960px) {
	.mainvisual_inner {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		position: relative;
		background-size: cover;
	}
}

.mainvisual_inner img {
	width: 100%;
	padding-top: 4.7rem;
}

.pc { display: block !important; }
.sp { display: none !important; }


@media screen and (max-width: 960px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

p.mainttl {
	background-color: rgba(56, 111, 207, 0.9);
	color: #4d93cc;
	position:absolute;
	top: 390px;
}


/*-----------------------------------------------------------------------
layout
-----------------------------------------------------------------------*/

section {
	width: 100%;
	margin-bottom: 6rem;
}
@media screen and (max-width: 960px) {
	section { margin-bottom: 0rem; }
}

/*----------------------------
	common inner (width)
----------------------------*/
div.inner {
    width: 960px;
    margin: 0 auto 1rem auto;
    padding: 0;
}

@media screen and (max-width: 960px) {
	div.inner {
		width: 100%;
		margin: 0 auto 1rem auto;
		padding: 1rem;
	}
}

div.inner p {
	font-size: 0.95rem;
	text-align: center;
	padding: 0;
	margin-bottom: 5rem;
}

@media screen and (max-width: 640px) {
	div.inner p {
		font-size: 0.9rem;
		text-align: left;
		margin-bottom: 2rem;
		line-height: 1.8;
	}
	div.inner p br {
		display: none;
	}
}



/*-----------------------------------------------------------------------
text
-----------------------------------------------------------------------*/

h1 {
	width: 100%;
	margin: 0;
	position: relative;
	display: inline-block;

	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.3rem;
	text-align: center;
}
@media screen and (max-width: 640px) {
	h1 { font-size: 1rem; letter-spacing: 0.1rem; }
}
	
h1 span { color: #589FCB; }

h2 {
	margin-bottom: 1.5rem;
	padding: 0.4rem;
	
	text-align: center;
	color: #008CA8;
	font-size: 1.4rem;
	font-weight: normal;
	letter-spacing: 0.2rem;
	line-height: 1;

	background-color: #D4ECF3;
	border-radius: 2rem;
}

h2 span { font-size: 1rem; letter-spacing: 0rem; }

@media screen and (max-width: 640px) {
	h2 { font-size: 1rem; letter-spacing: 0.1rem; }
	h2 span { font-size: 0.8rem; }
}

h3 {
	color: #169e75;
	text-align: center;
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: 0.2rem;
	margin: 1rem 0 0 0;
	border-top: solid 1px #169e75;
	/* background-color: #e4f8f0; */

	background: rgb(245,255,251);
	background: -moz-linear-gradient(180deg, rgba(245,255,251,1) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(180deg, rgba(245,255,251,1) 0%, rgba(255,255,255,1) 100%);
	background: linear-gradient(180deg, rgba(245,255,251,1) 0%, rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f5fffb",endColorstr="#ffffff",GradientType=1);
}

@media screen and (max-width: 640px) {
	h3 { font-size: 1rem; letter-spacing: 0.1rem; }
}

.resp_txt {
	text-align: center;
}

.plain_list {
	text-align: left;
	padding: 2rem;
	list-style-position: inside;
}
.plain_list li {
	padding: 0.7rem;
	border-bottom: dotted 1px #ccc;
}


/*----------------------------
links
----------------------------*/

a {
	color: #3399ff;
}

.tel_inquily_num a {
	color: #fff;
}



/*-----------------------------------------------------------------------
photo
-----------------------------------------------------------------------*/

.itr_photo {
	/* background-color: #eee; */

	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;

	justify-content: space-between;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;

	padding: 1rem 0;
}

.itr_photo li {
	list-style: none;
	width: 100%;
	max-width: 450px;
	margin: 0 auto;
	text-align: center;
}

.itr_photo li img {
	max-width: 98%;
	height: auto;
	border-radius: 5px;
}

i {
	font-size: 3rem;
	margin-right: 0.5rem;
}

caption {
	width: 100%;
	margin: 0 auto;
}










	




/*-----------------------------------------------------------------------

btn_hamburger

-----------------------------------------------------------------------*/

.btn_hamburger {
  margin: 0.5em auto 2em !important;
  width: 40px;
 }
.btn_hamburger a {
  position: relative;
  display: block;
  height: 26px;
  -webkit-transition: all .4s;
          transition: all .4s;
  box-sizing: border-box;
}
.btn_hamburger span {
  position: absolute;
  display: inline-block;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #161b1d;
  border-radius: 2px;
  -webkit-transition: all .4s;
          transition: all .4s;
  box-sizing: border-box;
}
.btn_hamburger span:nth-of-type(1) {
  top: 0;
}
.btn_hamburger span:nth-of-type(2) {
  top: 12px;
}
.btn_hamburger span:nth-of-type(3) {
  bottom: 0;
}
.btn_hamburger span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background-color: #161b1d;
  border-radius: 2px;
  -webkit-transition: all .4s;
          transition: all .4s;
}
.btn_hamburger .active span:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.btn_hamburger .active span:nth-of-type(2)::after {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.btn_hamburger .active span:nth-of-type(1) {
  -webkit-transform: translateY(20px) scale(0);
      -ms-transform: translateY(20px) scale(0);
          transform: translateY(20px) scale(0);
}
.btn_hamburger .active span:nth-of-type(3) {
  -webkit-transform: translateY(-20px) scale(0);
      -ms-transform: translateY(-20px) scale(0);
          transform: translateY(-20px) scale(0);
}



/*-----------------------------------------------------------------------

spot

-----------------------------------------------------------------------*/

.weight_nml { font-weight: normal; }

.txalign_ct { text-align: center; }

.mgnR05 { margin-right: 5px; }
.mgnB05 { margin-bottom: 5px; }
.mgnB10 { margin-bottom: 10px; }
.mgnB15 { margin-bottom: 15px; }

.pdgT02r { padding-top: 2rem; }
.pdgB02r { padding-bottom: 2rem; }
.pdgB05 { padding-bottom: 5px; }

.fs_small { font-size: 0.8rem; }
.fs_large { font-size: 1.2rem; }

.bdrB { border-bottom: solid 1px #f5e6c7; }

.uline {
	border-bottom: solid 4px #ffff66;
	letter-spacing: 0.3rem;
	font-style: italic;
}

.square_txt_box {
/* 	font-size: 1rem; */
	margin-bottom: 1rem;
	padding: 0.5rem 0.8rem;
	background-color: #2d6cb3;
	color: #fff;
	border-radius: 5px;
    width: -moz-max-content;
	width: intrinsic;
	width: -webkit-max-content;
}

@media screen and (max-width: 640px) {
	.square_txt_box {
		width: 100%;
	}
}


#btn-page-top {
	border-radius: 5px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
	background-color: #777;
	height: auto;
	margin-left: auto; 
}

#btn-page-top a {
	padding: 1rem;
	color: #fff;
}

.fc_01 {
	color: #1da34e;
}

.fc_02 {
	color: #a3371e;
}

.ft_notice {
	color: #e74c37;
	font-weight: bold;
}






/*----------------------------
	clear
----------------------------*/

.clr, .clear {
	clear: both;
}
.clearfix {
    overflow:hidden;
    height:100%;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}



