@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap');


/*初期設定
----------------------------------------------------*/
html {
	min-width: 320px;
	font-size: 62.5%;/*10px*/
}

body {
	padding: 0;
	min-width: 320px;
	line-height: 1.6;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
	background: #fff;
}

img {
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border: none;
	vertical-align: bottom;
}

.ie8 img{
	width: auto;
}

h1,h2,h3,h4,h5,ul,dl,dt,dd {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

i {
	padding: 0 0.5em 0 0;
}

p {
	margin: 0 0 10px;
}

a:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.s_r_4 {
	float: right;
	width: 32.3076923%;
}

.s_l_4 {
	float: left;
	width: 32.3076923%;
}

.m_r {
	margin-right: 1.5384615% !important;
}

.m_l {
	margin-left: 1.5384615% !important;
}

.mb_0 {
	margin-bottom: 0;
}

/*clearfix*/
.clearfix,
article section,
article .section02 {
	zoom: 1;
}

.clearfix:after,
article section:after,
article .section02:after {
	content: "";
	display: block;
	clear: both;
}

.slide_up {
 visibility: visible !important;
animation: slide_up 1s ease 0s 1 both;
}
@keyframes slide_up {
 0% { opacity: 0; -webkit-transform: translateY(40px); -ms-transform: translateY(40px); transform: translateY(40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

.fadeIn {
animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.slide_down{ 
opacity:0;
animation: slide_down 1s ease 0.5s 1 forwards;
}
@keyframes slide_down {
0% {
opacity: 0;
transform: translateY(-30px);
}
100%{
opacity: 1;
transform: translateY(0);
  }
}

.slide_left { 
opacity:0;
animation: slide_left 1s ease 0.5s 1 forwards;
}
@keyframes slide_left {
0% {
opacity: 0;
transform: translateX(200px);
}
100%{
opacity: 1;
transform: translateX(0);
  }
}

.img_big {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.img_big img{
  	transition: 0.3s;
}
 
.img_big img:hover{
	-webkit-transform: scale(1.03);
	-moz-transform: scale(1.03);
	-ms-transform: scale(1.03);
	-o-transform: scale(1.03);
	transform: scale(1.03);
}

/*layout
----------------------------------------------------*/
header {
	width: 100%;
	margin: 0 0 20px;
	background: #fff;
}

header .inner {
	max-width: 90%;
	margin: 0 auto;
	padding: 20px 10px 0;
}

header h1 {
	margin: 0;
	padding: 0 0 20px;
	max-width: 70%;
}

header p.tel {
	margin: 0 auto 20px;
	padding: 0 10px;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	letter-spacing: 0.2em;
}

header p.tel a {
	color: #333;
	text-decoration: none;
}

header p.tel span {
	display: block;
	height: 32px;
	line-height: 32px;
	background: #fff;
	border-radius: 20px;
	color: #333;
	font-size: 24px;
	font-size: 2.4rem;
	border: 1px solid #c0dfe2;
}

header p.tel span i {
	color: #5db1c0;
}

header #mainImage {
	clear: both;
	width: 100%;
	margin: 0 0 30px;
	position: relative;
}

header #mainImage img {
	width: 95%;
	border-radius: 0 2em 2em 0;
}

header #mainImage .text {
	position: absolute;
	left: 0;
	top: 7%;
	width: 100%;
}

header #mainImage .text p {
	display: table;
	padding: 0.1em 1em;
	background: rgba(255,255,255,0.8);
	position: absolute;
	right: 0;
	top: 1em;
	text-align: right;
	font-family: 'Noto Serif JP', serif;
	color: #5db1c0;
	border-radius: 10px;
}

header #mainImage .text p.line02 {
	top: 3.5em;
}

header #mainImage .text p.line03 {
	top: 6em;
}

#wrapper {
	clear: both;
}

section {
	padding: 20px 10px;
	max-width: 1400px;
	margin: 0 auto;
}

section.full {
	padding: 0;
	max-width: none;
	margin: 0;
	background: #eff6f7;
}

section.full.color02 {
	background: #c0dfe2;
}

section.full .inner {
	padding: 20px 10px;
	max-width: 1400px;
	margin: 0 auto;
}

.section02 {
	margin: 0 0 30px;
}

article h2.title01 {
	margin: 30px 0 50px;
	font-size: 20px;
	font-size: 2.0rem;
	text-align: center;
	font-weight: normal;
	color: #5db1c0;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.4;
	position: relative;
}

article h2.title01 span {
	font-family: 'Nanum Gothic', sans-serif;
	font-size: 0.6em;
	color: #999;
}

article h2.title01:after {
	position: absolute;
	display: block;
	content: "";
	background: #5db1c0;
	height: 4px;
	width: 40px;
	top: -0.7em;
	left: 50%;
	margin-left: -20px;
	border-radius: 2px;
}

article .entry {
	margin: 0 0 30px;
	padding: 20px 3%;
	background: #fff;
	color: #000;
	border: 1px solid #000;
}

article .entry h3 {
	width: 10em;
	margin: 0 auto 10px;
	color: #000;
	font-size: 24px;
	font-size: 2.4rem;
	background: #ddd;
	font-family: 'Ubuntu', sans-serif;
	text-align: center;
}

article .entry li {
	clear: both;
	padding: 15px 0 5px;
	border-bottom: 1px solid #ccc;
}

.page_top {
	display:none;
	position:relative;
	width:90%;
	max-width:1040px;
	height:0;
	margin:0 auto;
}

.page_top a {
	position: fixed;
	bottom: 10px;
	left: auto;
	padding: 3px 0 0;
	right: 5%;
	display: block;
	width: 35px;
	height: 32px;
	margin-left:100%;
	outline:none;
	z-index: 2000;
	color: #fff;
	font-size: 20px;
	font-size: 2.0rem;
	background: rgba(93,177,192,0.8);
	text-align: center;
	border-radius: 50%;
	line-height: 1;
	border: 1px solid rgba(255,255,255,0.6)
}

.page_top a i {
	padding: 0;
}

footer {
	clear: both;
	padding: 20px 10px;
	text-align: center;
	background: #5db1c0;
	color: #fff;
}

/*media Queries
----------------------------------------------------*/
@media only screen and (min-width: 600px) {
	.r_4 {
		float: right;
		width: 32.3076923%;
	}
	
	.l_4 {
		float: left;
		width: 32.3076923%;
	}
	
	.l_8 {
		float: left;
		width: 66.1538461%;
	}
	
	header {
		height: auto;
		margin: 0 0 40px;
		padding: 30px 0 0;
	}
	
	header .inner {
		padding: 0 10px;
	}
	
	header h1 {
		float: left;
		padding: 0 0 30px;
		max-width: 40%;
	}
	
	header p.tel {
		float: right;
		margin: 20px 0 0;
		padding: 0;
	}
	
	header p.tel span {
		background: none;
		font-size: 30px;
		font-size: 3.0rem;
		border: none;
	}
	
	header #mainImage .text p {
		font-size: 20px;
		font-size: 2.0rem;
	}
	
	section {
		padding: 5% 20px;
	}
	
	section.full {
		padding: 5% 0;
	}
	
	section.full .inner {
		padding: 0 20px;
	}
			
}

/*media Queries
----------------------------------------------------*/
@media only screen and (min-width: 768px) {

	section {
		font-size: 15px;
		font-size: 1.5rem;
	}
	
	article h2.title01 {
		font-size: 30px;
		font-size: 3.0rem;
		margin-bottom: 80px;
	}
	
	article h2.title01:after {
		height: 6px;
		width: 60px;
		border-radius: 3px;
		margin-left: -30px;
	}
	
	.page_top a {
		padding: 5px 0 0;
		width: 65px;
		height: 60px;
		font-size: 40px;
		font-size: 4.0rem;
		bottom: 30px;
	}	
	
}

@media only screen and (min-width: 1040px) {
	
	header #mainImage .text p {
		font-size: 30px;
		font-size: 3.0rem;
	}	
}
	
@media only screen and (min-width: 1400px) {

	header p.tel span {
		font-size: 34px;
		font-size: 3.4rem;
	}
	
	header #mainImage .text {
		top: 15%;	
	}
	
	header #mainImage .text p {
		font-size: 36px;
		font-size: 3.6rem;
	}
	
	section {
		font-size: 16px;
		font-size: 1.6rem;
	}
	
	article h2.title01 {
		font-size: 34px;
		font-size: 3.4rem;
	}	
	
}
