@charset "UTF-8";
/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
main {
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* clearfix */
.cf {
	overflow: hidden;
}
.clearfix {
	overflow: hidden;
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* base */
body {
	font-family:"メイリオ", Meiryo,"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	color: #333333;
	font-size: 16px;
}

.inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

* {word-wrap: break-word;}

*, *:before, *:after {
	    -webkit-box-sizing: border-box;
	       -moz-box-sizing: border-box;
	         -o-box-sizing: border-box;
	        -ms-box-sizing: border-box;
	            box-sizing: border-box;
	}

* section {
	clear: both;
}

html {
  overflow: auto;
}
body {
  overflow: hidden;
}

a:focus, *:focus {
	outline: none;
}
a, a img {
	-webkit-transition: 200ms;
	transition: 200ms;
}
a, a:visited {
	color: #333;
}
a:hover {
	text-decoration: none;
}
a:hover img {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
	cursor: pointer;
}
p {
	margin-bottom: 1em;
	word-break: break-all;
	/* letter-spacing: 0.05em; */
	line-height: 1.8;
}
img {
	height: auto;
	vertical-align: middle;
	max-width: 100%;
	max-height: 100%;
}

figure {
  text-align: center;
}

figure img {
  width: auto;
  max-width: 100%;
}

figure figcaption {
  margin: 10px auto;
  text-align: left;
  font-size: 15px;
}

strong {
	font-weight: bold;
}

@media screen and (min-width: 641px) {
a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}
}
@media only screen and (min-width: 768px) {
.pc {display: block;}
.sp {display: none;}
}
@media only screen and (max-width: 767px) {
.pc{ display: none;}
.sp {display: block;}
}
/***************共通パーツ******************/
header {
	padding: 10px 0;
}
header h1 {
	float: left;
	width: 50%;
}

header h1 img {
	max-width: 160px;
	margin-top: 5px;

}
header h1 p {
	font-size: 80%;
	margin-bottom: 0;
	text-align: left;
}
@media ( max-width : 420px ) {
	header h1 p {
		font-size: 60%!important;
	}
}
@media ( min-width : 423px ) {
	header h1 img {
		margin: 10px 0;
		max-width: 228px;
	}
}

header .h_right {
	float: right;
	text-align: right;
	width: 40%;
	margin: 10px 0 0;
	box-sizing: border-box;
}

.telimg {
	max-width: 70px;
	width: 44%;
	display: inline-block;
	cursor: pointer;
}
.telimg img {
	max-width: 60px;
	width: 100%;
}
h1 a:hover img, footer p.logo a:hover img {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
}
header nav {
	padding: 20px 0 0;
}
header nav ul li {
	float: left;
	width: 20%;
	display: block;
}
footer {
	background: #fff;
	/*background-size: cover !important;*/
	/*padding: 60px 0 1%;
	margin: 40px auto 0;*/
	text-align: left;
}

footer .inner {
	max-width: 600px;
}

.pagetop {
	display: block;
	text-align: center;
	background: #fff;
  padding: .8em 0;
	border-bottom: 1px solid #fff;
}

.pagetop a {
	text-decoration: none;
	color: #fff!important;
	font-weight: bold;
}

footer p.logo img {
	display: block;
	margin: 0 auto;
}

.copy {
	padding: 15px 0;
	box-sizing: border-box;
	background: #d1e8ff;
}
.copy p {
	font-size: 14px;
	color: #333333;
	letter-spacing: 0.1em;
	text-align: center;
}
 footer p {
	margin: 0;
	text-align: center;
}
footer ul {
	display: block;
	font-size: 14px;
	margin: 0 auto;
}

footer ul li:not(:first-child) {
	border-top: 1px solid #fff;
}

footer ul li a {
	display: block;
	position: relative;
	padding: 18px 30px 18px 20px;
	box-sizing: border-box;
	/*background: #fff;*/
	margin: 0 auto;
	letter-spacing: 0.1em;
	text-align: left;
	text-decoration: none;
	transition: 0.2s;
	-webkit-transition: 0.2s;
	transition: 0.4s;
	color: #333;
}
footer ul li a:hover {
	text-decoration: none;
	color: #333;
	background: #d1d1ff;
	transition: 0.4s;
}
footer ul li a:before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 15px;
	border-top: 1px solid #808b96;
	border-right: 1px solid #808b96;
	transform: rotate(45deg);
}

/*/-----------------見出し*/

.under main h1 {
	background: #f59acd;
	text-align: center;
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 2em 0 1.5em;

}

h2 {
    text-align: center;
    position: relative;
    padding: .5em 0;
		font-size: 26px;
		letter-spacing: 0.1em;
		font-weight: bold;
		color: #dd9b9d;
		margin-bottom: .8em;
		vertical-align: middle;
			    line-height: 1.5em;
}

h2 img {
	vertical-align: bottom;
	margin-right: .5em;
}

/* h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background: #4b9587;
} */
h2 span {
display: block;
font-size: 0.8em;
vertical-align: middle;
}


h3 {
    text-align: left;
    margin-bottom: .8em;
    position: relative;
    padding: .2em 0 .5em 1em;
    font-size: 20px;
    font-weight: bold;
    color: #4b9587;
    border-bottom: 1px dashed #4b9587;
}
 h3:before {
	 content: '';
	 display: block;
	 position: absolute;
	 top: -8px;
	 left: 0;
	 right: auto;
	 bottom: 0;
	 margin: auto;
	 width: 10px;
	 height: 10px;
	 background: #4b9587;
}
h3 span {
	background: #e73217;
	font-size: 14px;
	padding: 0.2em 1em;
	color: #fff;
	margin-left: 1.3em;
	border-radius: 3px;
	vertical-align: middle;
}

h4 {
	font-size: 17px;
	text-align: left;
	position: relative;
	padding: 0.3em 0;
	padding-left: .8em;
	font-weight: 500;
	margin-bottom: 1em;
}
h4:after {
	content: '';
	display: block;
	position: absolute;
	/* top: 0; */
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border-bottom: 3px solid #4b9587;
}

h5 {
margin: 0 0 .3em;
padding: 0 0.8em;
color: #333;
font-weight: bold;
font-size: 16px;
position: relative;
vertical-align: middle;
text-align: center;
display: table;
margin: 13px auto;
}
h5:before,
h5:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
display: block;
width: .5em;
height: 3px;
margin: auto;
background: #4b9587;
}

h5:after {
	left: auto;
	right: 0;
}

h5 span {
display: block;
font-size: 0.8em;
vertical-align: middle;
}

.numberTitle-inner {
	counter-reset: number 0;
}

.numberTitle span {
	font-style: normal;
	position: relative;
	vertical-align: text-bottom;
	padding-left: 1.5em;
}

.numberTitle span:after {
	counter-increment: number 1;
	content:  counter(number) ". ";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media ( max-width : 480px ) {
	.under main h1 {
		font-size: 26px!important;
	}
	h2 {
		font-size: 22px!important;
	}
	h3 {
		font-size: 16px!important;
	}
	h4 {
		font-size: 15px!important;
	}
	h4:before {
		width: 5px;
		height: 5px;
		top: 10px;
	}
	.flowTitle span.circle:before {
		width: 18px;
		height: 18px;
		top: 1px;
		left: -6px;
	}
	h5 {
		font-size: 14px!important;
	}
	p, td, th, li {
		font-size: 14px!important;
	}
}

/*/-----------------ボタン*/
.button {
	position: relative;
	margin: 15px auto;
	padding: 1em 1em;
	width: 95%;
	max-width: 340px;
	display: block;
	text-align: center;
	background: url(../img/btn01.png) no-repeat center;
	background-size: cover;
	color: #333333;
	text-decoration: none;
	border-radius: 6px;
	transition: 0.8s;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 0.04em;
}

.button:hover {
    opacity: 0.7;
    -moz-opacity: 0.7;
    filter: alpha(opacity=70);	
}

/*
.button:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	vertical-align: middle;
	margin: auto;
	width: 88px;
	height: 4px;
	transition: 0.8s;
}
.button:hover:after {
	color: #fff6f5;
	transition: 0.8s;
}
*/
.button:visited {
	color: #333;
}

/*/-----------------グーグルマップ*/

.googlemap {
	position: relative;
	width: 100%;
	padding-top: 70%;/*ここで高さ調整*/
	min-height: 300px;
	margin-bottom: 40px;
}
.googlemap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
@media ( min-width : 768px ) {
.googlemap {
	padding-top: 25%;/*ここで高さ調整*/
}
}
/*/-----------------ニュース*/
.newsContent {
	background: none;
	padding: 0;
	overflow: hidden;
}

.newsContent dl {
	width: 100%;
}

.newsContent dt,
.newsContent dd {
	padding: .8em .2em;
	display: block;
	text-align: left;
	letter-spacing: 0.08em;
	border-bottom: 1px solid #cccccc;
}

.newsContent dt {
	width: 20%;
	clear: left;
	float: left;
}

.newsContent dd {
	width: 74%;
	float: left;
	padding-left: 1em;
}

@media ( max-width : 467px ) {
	.newsContent dd,
	.newsContent dt,
	.newsContent dl  {
		font-size: 12px;
}
}

/*/-----------------メールフォーム*/

table.mailform {
	width: 100%;
	margin:0 auto;
}
table.mailform th, table.mailform td {
	padding:10px 10px;
	text-align: left;
	border:1px solid #fc7b65;
	vertical-align: middle;
}
table.mailform th {
	background: #ffdad4;
	width:30%;
}
input {
	padding: 5px;
}

.inquiry_form th, .inquiry_form td {
    width: 100%;
    display: block;
    box-sizing: border-box;
}
.inquiry_form input[type="text"] {
    width: 100%;
    box-sizing: border-box;
}
.inquiry_form input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 5px;
}
.inquiry_form textarea {
    width: 100%;
    box-sizing: border-box;
}

/*/-----------------リスト*/

dl.info {
	margin: 0 auto 20px;
}
dl.info dt {
	font-weight: bold;
	width: 100%;
	padding: 10px 0 10px 5px;
	float: left;
}
dl.info dd {
	padding: 10px 0 10px 20%;
	border-bottom: 4px dotted #0054ae;
	text-align: right;
}

ul.ul01 {
	margin: 0 auto;
}
ul.ul01 li {
	position: relative;
	padding: 0 0 5px 15px;
	margin-bottom: 10px;
}
ul.ul01 li:before {
	content: "";
	position: absolute;
	width: 3px;
	height: 3px;
	left: 3px;
	top: 8px;
	background: #231815;
	border-radius: 50%;
}

ul.ul02 {
	margin: 0 auto;
	counter-reset: number 0;
}
ul.ul02 li {
	position: relative;
	padding: 0 0 0 2em;
	text-align: left;
	margin-bottom: 15px;
	line-height: 1.6;
}
ul.ul02 li:before {
	counter-increment: number 1;
	content:  counter(number) ". ";
	position: absolute;
	left: 3px;
	top: 0;
	bottom: 0;
	margin: auto;
	font-weight: 500;
	color: #0e215c;
}

/*/-----------------qa*/
.faq {
	display: block;
	position: relative;
	margin: 0 auto 50px;
}

.faq > ul > li {
	list-style-type: none;
	list-style-image: none;
	padding: 10px 0 10px 37px;
	/*border-bottom: 2px solid #cdcdcd;*/
	margin-bottom: 10px;
	position: relative;
	text-align: left;
}

.faq ul > li:nth-child(odd):before {
	content: 'Q.';
	position: absolute;
	top: 10px;
	bottom: 0;
	left: 0;
	margin: auto;
	font-size: 150%;
	font-weight: bold;
	vertical-align: baseline;
	color: #29a4fa;
}
.faq > ul > li:nth-child(even) {
	/*border-left: 2px solid #cdcdcd;
	border-right: 2px solid #cdcdcd;*/
	padding-top: 1.5em;
	padding-left: 2.5em;
	padding-right: 1.5em;
	background: #fffff1;
	margin-bottom: 40px;
}

.faq > ul > li:nth-child(even):before {
	content: 'A.';
	position: absolute;
    top: 25px;
    left: 8px;
	margin: auto;
	font-size: 150%;
	font-weight: bold;
	vertical-align: baseline;
	color: #e40000;
}

.faq > ul > li:nth-child(even) p {
	margin-bottom: 20px;
}
.faq .qtit{
font-size: 1.26em;
font-weight: bolder;
display: inline-block;
width: 98%;
line-height: 1.4;	
}


@media ( max-width : 980px ) {
	.faq {
		width: 98%;
	}
	.faq .qtit{
		font-size: 1.2em;
		width: 90%;
	}
}

@media ( max-width : 476px ) {
	.faq .qtit{
		font-size: 1em;
		width: 90%;
	}
}



/*/-----------------テーブル*/
table.table01 {
	margin: 0 auto 20px;
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #999;
}

table.table01 th, table.table01 td {
	box-sizing: border-box;
	padding: 10px 10px 8px;
	text-align: left;
	line-height: 1.5;
	vertical-align: middle;
	border: 1px solid #999;
}

table.table01 thead th {
	text-align: center;
	font-weight: bold;
	background: #ffb751;
	color: #fff;
}
table.table01 thead th:last-child {
	border-right: none;
}
table.table01 tbody th {
	width: 20%;
	background: rgba(6, 87, 192, 0.2);
	text-align: center;
}

.borderTable {
  	width:100%;
  	margin-bottom:1.5em;
  }
.borderTable tr {
	border-bottom:2px solid #eee;
}
.borderTable th,
.borderTable td {
	text-align: left;
	padding: 1.3em .3em 1em;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.4;	
}

.borderTable th {
	text-align: left;
	padding-left: .8em;
	border-bottom: 2px solid #d1e8ff;
}

.table00 {
  	width:100%;
  	margin-bottom:1.5em;
		border: 1px solid #cccccc;
}
table.table00 thead td, table.table00 thead th {
    background: #d1e8ff;
	text-align: center;
	font-weight: bold;
}
.table00 tr, .table00 th, .table00 td {
	border: 1px solid #cccccc;
}

/*.table00 tr:nth-child(odd) {
	background: #ffffff;
}*/
.table00 tr:nth-child(even) {
	background: rgba(209,232,255,.2);
}
.table00 tr:first-child {
	background: #fff;
}

.table00 th,
.table00 td {
	text-align: center;
	padding: 1em .3em 1em;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.2em;
	vertical-align: middle;
}

.priceTable,
.priceTable tbody {
	width: 100%;
	margin-bottom: 20px;
	border-spacing: 10px 0;
}

.priceTable tr {
	width: 100%;
	border-bottom: 1px solid #bfd8d3;
	margin-bottom: 15px;
}

.priceTable th {
    width: 50%;
    text-align: left;
    padding: 1.5em 1em;
    vertical-align: middle;
    line-height: 1.4;
}

.priceTable td {
    width: 50%;
    text-align: right;
    padding: 1.5em 1em;
    line-height: 1.8em;
	vertical-align: middle;
}

@media ( max-width : 649px ) {
	.table00 th,
	.table00 td {
		font-size: 13px;
		padding: .8em .3em .5em;
}
.borderTable th,
.borderTable td {
	font-size: 14px;
	padding: .8em .3em .5em;
}
}


/*-----------------汎用クラス*/

.t_right {
	text-align: right !important;
}
.t_center {
	text-align: center !important;
}
.mb0 {
	margin-bottom: 0 !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.fl {
	float: left;
}
.fr {
	float: right;
}
.fl30 {
	float: left;
	margin: 0 20px 0 0;
}
.fr30 {
	float: right;
	margin: 0 0 0 20px;
}
.pink {
	color: #f11c8f;
}
.org {
	color: #ffb751;
}
.red {
	color: #d02626;
}
.blue {
	color: #08a6f0;
}

.bnr {
	margin-bottom: 5%;
}

.bnr p {
	text-align: left;
	font-size: 14px;
	letter-spacing: 0.1em;
	color: #323130;
}

.con_l {
    padding-right: 6px!important;
}
.con_r {
    padding-left: 6px!important;
}

.textIndent {text-indent:1em}
.textLeft {text-align:left!important}
.textCenter {text-align:center!important}
.textRight {text-align:right!important}
.textLarge {font-size:120%!important}
.textSmall {font-size:80%!important}

.centering {
	display: block;
	margin: auto;
}

.mb0 {margin-bottom: 0!important}
.mb20 {margin-bottom:20px!important;}
.mb30 {margin-bottom:30px!important;}
.mb40 {margin-bottom:40px!important;}
.mb50 {margin-bottom:50px!important;}
.mb5P {margin-bottom:5%!important;}

.felxBox {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:  space-between;
  justify-content:  space-between;
  -webkit-align-items: center;
  align-items: center;
}

.highlight {
	background: #fff;
	padding: 2.5em 1em;
}

.caution {
	font-size: 90%;
	color: red;
	line-height: 1.3;
}

.color01 {color: #4b9587!important}
.color02 {color: #935c0e!important}

.mincho {
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif!important;
	font-size: 108%!important;
}

.gothic {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.marugo {
	font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "Verdana", "Osaka", sans-serif;
}

/*----------------- 横並びコンテンツ用*/

.inner-wrap {
	display: block;
	table-layout: fixed;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

.block {
	display: inline-block;
	width: 49%;
	padding: 0;
	margin: auto;
	float: left;
	margin-right: 2%;
}

.block:last-child {
	margin-right: 0!important;
}

.blockLine {
	clear: both;
	position: relative;
	display: block;
	overflow: hidden;
	text-align: center;
	width: 100%;
}

@media ( min-width : 470px ) {
.blocks_3 > .block {
	width: calc(100% / 3 - 1%);
}
.blocks_5 > .block {
	width: calc(100% / 5 - 1%);
}
}

.wd10 {	width: 9%;}

.wd20 {	width: 19%;}

.wd30 {	width: 29%;}

.wd40 {	width: 39%;}

.wd60 {	width: 59%;}

.wd70 {	width: 69%;}

.wd80 {	width: 79%;}

.wd90 {	width: 89%;}



@media ( max-width : 469px ) {
	.inner-wrap, .block {
		display: block;
		text-align: center;
		margin: 0 auto 15px;
		width: 100%;
}
.wd10, .wd20, .wd30, .wd40, .wd60, .wd70, .wd80, .wd90 {
	width: 100%;
}
.blockLine {
	 padding: 0;
}
}

/*/-----------------フロー*/

.flow-inner {
	box-sizing: border-box;
	padding: 0;
	margin-bottom: 20px;
	counter-reset: number 0;
}
.flow {
	position: relative;
	max-width: 100%;
	display: block;
	margin: 10px auto 20px;
	padding: 2em 1.5em 2%;
	background: #fbf6f8;
	border-radius: 4px;
}

.flow:last-child {
	margin: 10px auto;
}

/*.flow:after {
	content: '≫';
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	bottom: 10px;
	margin: auto;
	width: 1px;
	height: auto;
	color: #e40080;
	font-size: 100px;
	transform: rotate(90deg);
	font-weight: lighter;
}*/
.flowTitle {
	padding: 0;
	text-align: left!important;
	vertical-align: middle;
	display: inherit;
	width: 95%;
	margin: 15px 0 10px;
	color: #e40080;
  font-size: 22px;
  font-weight: bold;
  box-sizing: border-box;
	position: relative;
}
.flow:last-child:after,
.flowTitle:before,
.flowTitle:after {
	content: none!important;
}
.flowTitle span {
	font-style: normal;
	position: relative;
	vertical-align: text-bottom;
	margin-right: 1.5em;
}
.flowTitle span:after {
	counter-increment: number 1;
	content:  counter(number) ". ";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.flowTitle span.circle:before {
	content: '';
	position: absolute;
	left: -7px;
	top: -2px;
	margin: auto;
	background: none;
	width: 25px;
	height: 25px;
	border: 2px solid #fc7b65;
	border-radius: 50%;
}

.flowTitle span.circle:after {
	counter-increment: number 1;
	content:  counter(number) "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.flow img {
	display: block;
}
.flow p, .flow ul {
	padding: 0 .5em 1em;
	text-align: left;
}

/***************SP_TOPコンテンツ******************/

.mainimage {
	position: relative;
}


.mainimage img {
    max-width: 640px;
		width: 100%;
		margin: auto;
		display: block;
}

.mainimage .catch {
    position: absolute;
    text-align: center;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 90%;
    z-index: 1;
}

.mainimage .catch img {
	position: absolute;
	top: auto;
	bottom: 15px;
	right: 0;
	left: 0;
	margin: auto;
	width: 100%;
	max-width: 604px;
}

.mainimage .catch {
    animation: catchfade 2s ease 0s 1 normal;
    -webkit-animation: catchfade 2s ease 0s 1 normal;
}
@-webkit-keyframes catchfade {
    0% {opacity: 0}
    100% {opacity: 1}
}
@keyframes catchfade {
    0% {opacity: 0}
    100% {opacity: 1}
}

/* SP表示をPCでも採用 */
/*@media screen and (max-width: 767px) {*/
.inner {
	width: 95%;
	max-width: 600px;
}
header .inner {
	width: 95%;
	max-width: 600px;
}

header h1 {
	    width: 100%;
	    margin: 0 0 0.25em;
	    text-align: center;
	    display: block;
}
header .h_right {
	float: right;
	text-align: right;
	width: 40%;
	margin: 0;
	box-sizing: border-box;
margin-top: -70px;
}

header .h_right img {
	display: inline-block;
	margin-right: 5%;
	width: 100%;
	max-width: 60px;
}
header .h_right img.menuimg {
	margin: 0;
	text-align: center;
}

.ac_menu {
	width: 44%;
	max-width: 60px;
	display: inline-block;
}
.ac_menu dt img {
	max-width: 70px;
	width: 100%;
	cursor: pointer;
}
header .ac_menu dd {
	display: none;
	position: absolute;
	top: 118px;
	left: 0;
	width: 100%;
	z-index: 9999;
}


header .ac_menu dd ul li a {
	padding: 1.3em 20px 1em;
	box-sizing: border-box;
	color: #fff;
	background: #ffd1d1;
	width: 100%;
	border-bottom: 1px solid #fff;
	text-decoration: none;
	display: block;
	text-align: left;
}
header .ac_menu dd ul li a:hover {
	background: #e39e9e;
	text-decoration: none;
}

/*}*/

@media screen and (max-width: 420px) {
dl.info dt, dl.info dd, table th, table td {
	font-size: 80%;
}
header .h_right {
    margin-top: -55px;
}
.ac_menu {
    max-width: 50px;
}
header .ac_menu dd {
	top: 90px;
}
/*header h1 {
	width: 50%;
	margin: 2% 0;
	min-width: 140px;
}*/
}

@media screen and (max-width: 360px) {
}

.underContents {
	padding: 2em 0;
	margin-bottom:0;
}


main section {
	margin-bottom: 3%;
}

main section:last-child {
	margin-bottom: 0;
}

/*/-----------------ここから個別*/
.contents01 {
  padding: 2em 0;
  margin-bottom: 1%;
}

.contents02 {
  padding: 2em 0;
  margin-bottom: 0;
	background-color: #ffffe3;
	background-size: cover;
}

.contents03 {
	padding: 2em 0;
  margin-bottom: 0;
}

.contents04 {
	padding: 2em 0;
  margin-bottom: 1%;
}

.contents05 {
}

/*/-----------------下層*/

.telNo {
	font-size: 36px;
  color: #02d1ad;
	letter-spacing: 0.1em;
  text-align: center;
	line-height: 1.8;
	text-decoration: none;
}
.telNo a {
  color: #02d1ad;
	text-decoration: none;
}

@media ( max-width : 467px ) {
	.telNo {
		font-size: 24px;
	}
}


.under .underTitle {
background-color: #ffd1d1;
}


.f_nav{
	background-color: #d1e8ff;
	background-size: cover;

}
.ft_logo{
	text-align: center;
	margin-top: 2%;
	margin-bottom: 2%;
}

p.block{
	margin-left: 2%;
}

.under h2 {
    background: #d1e8ff;
    border-left: 5px solid #5fa6ec;
    color: #333;
    text-align: left;
    padding: 0.5em 1em 0.25em;
    font-size: 24px;
}
span.campaign {
    font-size: 80%;
    background: #f59999;
    color: #fff;
    padding: 2px 5px;
    margin-right: 5px;
	vertical-align: top;
	border-radius: 5px;
}