@charset "UTF-8";


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	vertical-align:baseline;
	background:transparent;
	font-weight:normal;
}
th, td{
	text-align:left;
}
body {
/*	color: #67635a;*/
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
/*	font-family:"Sawarabi Mincho";*/
	line-height: 1.8;
	padding-bottom: 80px;
	width: 100%;
	max-height: 999999px;
	-webkit-text-size-adjust: 100%;
}
/*html { font-size: 62.5%; }*/
body { font-size: 22px;}

article,aside,details,figcaption,figure,
	footer,header,hgroup,menu,nav,section {
	display:block;
}
ul,li {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	vertical-align:baseline;
	background:transparent;
	text-decoration: none;
	color: #67635a;
}
a:hover {
	text-decoration: none;
}
a:hover img{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}
a:hover img.not,
a.allnot:hover img.not,
.allnot a:hover img.not{
	opacity: 1;
	filter: alpha(opacity=1);
	-ms-filter: "alpha(opacity=1)";
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;
	margin:1em 0;
	padding:0;
	background-color: #c2d1b8;
}
hr.red{
	display:block;
	height:1px;
	border:0;
	margin:1em 0;
	padding:0;
	background-color: #c73132;
}
hr.dotted{
	display:block;
	height:1px;
	border-bottom:1px dotted #000;
	margin:1em 0;
	padding:0;
	background: none;
}
input, select {
	vertical-align:middle;
}
/*----------------------------------*/

h1, h2, h3, h4, h5, h6, p, li, dt, dd, th, td {
	font-size: 100%;
	font-weight: normal;
}

/* オブジェクト指向CSSセット start */
.block{ display:block; }
.fl{ float:left; }
.fr{ float:right; }
.w33 { width:  33% !important; }
.w30 { width:  30px !important; }
.w40 { width:  40px !important; }
.w50 { width:  50px !important; }
.w60 { width:  60px !important; }
.w70 { width:  70px !important; }
.w100{ width: 100% !important; }
.w220{ width: 220px !important; }
.w240{ width: 240px !important; }
.w300{ width: 300px !important; }
.w400{ width: 400px !important; }
.w420{ width: 420px !important; }
.w500{ width: 500px !important; }
.w600{ width: 600px !important; }
.w1000{ width: 1000px !important; margin: 0 auto; }
.mt0 { margin-top:  0px !important; }
.mt5 { margin-top:  5px !important; }
.mt10{ margin-top: 10px !important; }
.mt20{ margin-top: 20px !important; }
.mt30{ margin-top: 30px !important; }
.mt40{ margin-top: 40px !important; }
.mt50{ margin-top: 50px !important; }
.mt60{ margin-top: 60px !important; }
.mt70{ margin-top: 70px !important; }
.mt80{ margin-top: 80px !important; }
.mt90{ margin-top: 90px !important; }
.mr5{ margin-right: 5px !important; }
.mr10{ margin-right: 10px !important; }
.mr15{ margin-right: 15px !important; }
.mr20{ margin-right: 20px !important; }
.mr30{ margin-right: 30px !important; }
.mr40{ margin-right: 40px !important; }
.mr50{ margin-right: 50px !important; }
.mb0 { margin-bottom:  0px !important; }
.mb5 { margin-bottom:  5px !important; }
.mb10{ margin-bottom: 10px !important; }
.mb20{ margin-bottom: 20px !important; }
.mb30{ margin-bottom: 30px !important; }
.mb40{ margin-bottom: 40px !important; }
.mb50{ margin-bottom: 50px !important; }
.mb60{ margin-bottom: 60px !important; }
.mb70{ margin-bottom: 70px !important; }
.mb80{ margin-bottom: 80px !important; }
.mb90{ margin-bottom: 90px !important; }
.mb100{ margin-bottom: 100px !important; }
.ml10{ margin-left: 10px !important; }
.ml20{ margin-left: 20px !important; }
.ml30{ margin-left: 30px !important; }
.ml40{ margin-left: 40px !important; }
.ml50{ margin-left: 50px !important; }
.ml60{ margin-left: 60px !important; }
.ml70{ margin-left: 70px !important; }
.pl10{ padding-left:10px !important; }
.pb10{ padding-bottom:10px !important; }
.pb20{ padding-bottom:20px !important; }
.pb30{ padding-bottom:30px !important; }
.pb40{ padding-bottom:40px !important; }
.pb50{ padding-bottom:50px !important; }
.pb60{ padding-bottom:60px !important; }
.pb70{ padding-bottom:70px !important; }
.pb80{ padding-bottom:80px !important; }
.pb90{ padding-bottom:90px !important; }
.boxc{ margin-right:auto; margin-left:auto; }
.txtc{ text-align:center; }
.txtl{ text-align:left; }
.txtr{ text-align:right; }
.fs{ font-size: small; }
.fs10{ font-size: 10px; }
.fs11{ font-size: 11px; }
.fs12{ font-size: 12px; }
.fs50{ font-size: 50%; }
.fs60{ font-size: 60%; }
.fs70{ font-size: 70%; }
.fs80{ font-size: 80%; }
.fs90{ font-size: 90%; }
.fs100{ font-size: 100%; }
.fs110{ font-size: 110%; }
.fs120{ font-size: 120%; }
.fs130{ font-size: 130%; }
.fs140{ font-size: 140%; }
.fs150{ font-size: 150%; }
.fs160{ font-size: 160%; }
.white{ color: #ffffff; }
.black{ color: #000000; }
.red{ color: #f2001b; }
.orange{ color: #F15A24; }
.blue{ color: #3f5fc5; }
.green{ color: #4ddba7; }
.dblu{ color: #005f9d; }
.pink{ color: #ff2d8a; }
.fiber_blu { color: #0f84c2; }
strong{ font-weight: bold; }
.bold{ font-weight: bold !important; }
.underline{ text-decoration: underline; }
.lh10{ line-height: 1.0; }
.lh11{ line-height: 1.1; }
.lh12{ line-height: 1.2; }
.clear{ clear:both; height:0; }
.clearfix,.cf{ zoom:1; }
.clearfix:after,.cf:after{ content:""; display:block; clear:both; }
.w300{width:300px;}
.w400{width:400px;}
.tac{text-align:center;}
.tar{text-align:right;}
.pt10{padding-top:10px !important;}
.pt20{padding-top:20px !important;}

li{list-style:none;}

/* オブジェクト指向CSSセット end */

.inner{
	width: 90%;
	margin: 0 auto;
}

header{
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	padding:10px 0 0;
	border-bottom: 1px solid #1eaa39;
	text-align: center;
}

#eyecatch{
	width: 640px;
	margin:0 auto;
	background: url(images/eyecatch.jpg)no-repeat center;
	height:495px;
}

#a01,#a03,#a04,#a05,#a07,#a08,#a11{line-height: 0;}

#a01{
	background: url(images/a01_bg02_matsuyama-sp.jpg)no-repeat center top;
	height: 1450px;
	padding-top:25px;
	text-align: center;
}

#a02{
	background: url(images/a02.jpg)no-repeat center -30px;
	height: 534px;
}

#a03{
	background: url(images/a03.jpg)no-repeat center top;
	height: 2377px;
}
#a04{text-align: center;}

#a05 p,.a05_2 p{
	line-height: normal;
	text-align: left;
}
.in{
	width: 96%;
	margin:20px auto;
}

#a05 .box .cf p,.a05_2 .box .cf p{
	float: left;
	width: 54%;
}
#a05 .box,
.a05_2 .box{
	background: #fff;
	margin:0 auto;
	text-align: center;
	line-height: 0;
	position:relative;
}
#a05 .box{
	padding-bottom: 50px;
	margin-top:30px;
}
.a05_2 .box{
	padding:40px 0;
}
#a05 .box:before {
/*
	content:"";
	display:block;
	background: url(images/arrow_gr.png)no-repeat center top;
	height: 60px;
	width: 221px;
	margin: 0 auto;
	position: relative;
	top:-1px;
*/
}
#a05 .box:after {
	position:absolute;
	content:"";
	display:block;
	background: url(images/arrow_wh.png)no-repeat;
	height: 61px;
	width: 221px;
	margin: 0 auto;
	bottom: -60px;
	left:0;
	right: 0;
}

.contact{
	margin:40px auto;
	text-align: center;
}

.lattice{
    background-color: #FFFFFF;
    background-image:
        linear-gradient( transparent 90%, rgba(247,247,247,1) 90%, rgba(247,247,247,1) 100%, transparent 100%),
        linear-gradient( 90deg, transparent 90%, rgba(247,247,247,1) 90%, rgba(247,247,247,1) 100%, transparent 100%)
        ;
    background-size: 20px 20px;
    padding:30px 0 50px;
}
.a05_2 h3{
	background: #009c29;
	color: #fff;
	text-align: center;
	padding:8px 0;
	font-size:1.8rem;
	line-height: normal;
	margin: 30px auto;
	width: 90%;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.bg_gr{background: #009c29;}
.bg_gr2{
	background: #009c29;
	padding:50px 0;
}

#a06{
	background: #f4f4f0;
	padding:0 0 50px;
}
#a06 h3{
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	color: #21ab38;
	font-size:1.5rem;
	margin-top:20px;
	font-weight: bold;
}
#a06 h3:first-child{margin-top:0;}

#a10 dt{
	background: url(images/q.jpg)no-repeat 20px;
	padding:20px 10px 20px 70px;
	border-top:1px solid #dcdcdc;
	border-right:1px solid #dcdcdc;
	border-left:1px solid #dcdcdc;
	font-size:1.4rem;
	font-weight: bold;
	margin-top:20px;
}
#a10 dd{
	padding: 0 20px 20px 68px;
	border-bottom:1px solid #dcdcdc;
	border-right:1px solid #dcdcdc;
	border-left:1px solid #dcdcdc;
}
#a10 dd::before{
	font-size:1.4rem;
	content: 'A';
	margin: 0 1em 0 -1.8em;
}

#access
{font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
font-size: 85%;padding: 0 0 120px;}


nav{
	width: 610px;
	background: rgba(255, 255, 255, .7);
	padding:35px 15px;
	position: fixed;
	bottom:0;
}

.coachin{
	width: 559px;
	margin:0 auto;
	text-align: left;
}