@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("font-awesome.min.css");


/*reset*/
/*******************************************************************/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,select,textarea,p,blockquote,th,td,a { margin: 0; padding: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display: block;}
address,caption,cite,code,dfn,em,strong,th,var { font-style: normal;}
table { border-collapse: collapse; border-spacing: 0;}
object,embed { vertical-align: top;}
hr,legend { display: none;}
h1,h2,h3,h4,h5,h6 { font-size: 100%;}
.fa { padding-right: 5px; vertical-align: middle;}
img { border: 0; vertical-align: middle;}
li { list-style: none;}
a { color: #333; text-decoration: none;}


/*LAYOUT*/
/*******************************************************************/
body { width: 100%; height: 100%;}
body,input,textarea,select,button { font-family: 'Noto Sans Japanese', serif; font-size: 15px; font-weight: 400; line-height: 1; word-break: break-all; color: #333;}
#container { width: 100%; background: url(../images/common/footer.png) center bottom 50px repeat-x, url(../images/common/back.png) 0 0 repeat;}


/*HEADER*/
/*******************************************************************/
#header { position: relative; text-align: center; background: #D6FFFC url(../images/common/header.png) center bottom repeat-x;}
#header.top { background-image: url(../images/top/header.png);}
#header h1 { padding-top: 10px;}
#header h1 img { width: 100%; max-width: 650px; height: auto;}
#header.top h1 img { max-width: 900px;}
#header h2 { display: inline-block; margin: 20px 20px 30px; padding-bottom: 10px; border-bottom: #FF7F00 dotted 4px; line-height: 1.3; font-size: 31px; font-weight: 700; color: #FF7F00; text-shadow: 2px 2px 1px #FFF, -2px 2px 1px #FFF, 2px -2px 1px #FFF, -2px -2px 1px #FFF, 1px 1px 20px #FFF;}
#header h2 .lb span { color: #05805D;}
#nav { margin: auto;}
#nav ul { display: table; width: 100%; max-width: 1060px; margin: 0 auto;}
#nav li { display: table-cell; text-align: center; vertical-align: middle;}
#nav li a { display: block; padding: 15px 10px; border-left: #93C75A dotted 1px; font-size: 20px; font-weight: 500; color: #FFF;}
#nav li a:hover, #nav li a.on { background: #217E01;}
#nav li:first-child a { border-left: none;}
#social { position: absolute; top: 10px; right: 10px;}
#social li { display: inline-block; font-size: 40px;}
.facebook a { color: #39599F;}
.twitter a { color: #45B0E3;}
#open { display: none;}


/*FOOTER*/
/*******************************************************************/
#footer { position: relative; height: 50px; text-align: center; line-height: 50px; background: #FFF;}
#footer p { color: #7C4B27;}
#pagetop { display: none; position: fixed; right: 10px; bottom: 10px; z-index: 100;}
#pagetop a { display: block; width: 50px; height: 50px; background: #693; font-size: 20px; font-weight: 500; color: #FFF; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;}
#pagetop .fa { padding: 0;}


/*CONTENTS*/
/*******************************************************************/
#main { position: relative; padding: 40px 40px 80px;}
#main p { line-height: 1.7;}
.btn { margin-bottom: 40px;}
.btn a { display: block; padding: 4px 10px; text-align: center; background: #05825D; border: #FFF solid 5px; font-size: 40px; font-weight: 700; color: #FFF; box-shadow: 2px 2px 5px rgba(0,0,0,.5); -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px;}
.btn a span { font-size: 36px;}
.btn a .fa-repeat { color: #05825D;}
.btn a:hover { background: #04684A;}
.btn a:hover .fa-repeat { color: #04684A;}
.circle { position: absolute; top: 20px; left: 50%; margin-left: -350px; z-index: 10;}
.circle span { display: block; margin: 0 auto;}
.circle a { display: table-cell; width: 300px; height: 300px; vertical-align: middle; font-size: 36px; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%;}
.joinbtn { margin: 0 auto; text-align: center;}
.joinbtn a { display: inline-block; padding: 20px; text-align: center; background: #7C4B27; border: #FFF solid 4px; font-size: 28px; font-weight: 700; color: #FFF; box-shadow: 2px 2px 5px rgba(0,0,0,.5); -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px;}
.joinbtn a:hover { background: #5E391E;}
#map { position: relative; max-width: 484px; margin: 0 auto 30px; text-align: center;}
#map img { width: 100%; height: auto;}
#map ul > li { position: absolute; top: 50%;}
#map li a { display: block; padding: 10px 20px; border: #FFF solid 5px; box-shadow: 0 0 5px rgba(0,0,0,.4); font-size: 20px; font-weight: 700; color: #FFF; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;}
#map li.mapaichi { right: -100px;}
#map li.mapmie { left: -100px; margin-top: 50%;}
#map li.mapgifu { right: -100px; margin-top: -50%;}
#map ol { margin: 10px; padding: 10px; background: rgba(255,255,255,.8); font-weight: 500; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;}

.filter, .nav { text-align: center;}
.nav { margin: 50px 0;}
.filter li, .nav li { position: relative; display: inline-block; margin: 0 5px 10px; border: #FFF solid 5px; box-shadow: 0 0 5px rgba(0,0,0,.4); -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;}
.filter li a, .nav li a { display: block; padding: 10px 20px; font-size: 20px; font-weight: 500; color: #FFF;}
.filter li a.current:after { content: ''; display: block; position: absolute; bottom: -14px; left: 0; right: 0; width: 0; height: 0; margin: auto; border-style: solid; border-width: 15px 15px 0 15px; border-color: #7C4B27 transparent transparent transparent;}
.filter li.aichi a.current:after { border-color: #008C8C transparent transparent transparent;}
.filter li.mie a.current:after { border-color: #D96D00 transparent transparent transparent;}
.filter li.gifu a.current:after { border-color: #85B200 transparent transparent transparent;}
.mainlist { margin: 0 auto; padding: 50px 0;}
.mainlist .item { position: relative; float: left; margin-bottom: 50px; width: 290px; height: 370px; background: #FFF; box-shadow: 0 0 5px rgba(0,0,0,.2);}

.img { margin-bottom: 10px;}
.img img { width: 100%; height: auto;}
.mainlist li .kind { position: absolute; top: -10px; left: -10px; width: 60px; height: 60px; text-align: center; line-height: 60px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; color: #FFF;}
.mainlist li h3 { padding: 10px 0; text-align: center; font-size: 24px; font-weight: 700; color: #723119;}
.mainlist dl { padding: 10px; font-size: 13px;}
.mainlist dt { clear: left; float: left; padding-bottom: 5px;}
.mainlist dd { padding: 0 0 5px 50px;}

.relay { background-color: #05825D;}
.all { background-color: #7C4B27;}
.aichi { background-color: #008C8C;}
.mie { background-color: #D96D00;}
.gifu { background-color: #85B200;}

#contents, #comments { width: 100%; max-width: 853px; margin: 0 auto 50px;}
#contents .movie { position: relative; width: 100%; margin-bottom: 20px; padding-top: 56.25%; border: #000 solid 4px; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px;}
#contents .movie iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
#contents .kind { display: inline-block; width: 80px; height: 80px; margin: 0 10px 20px 0; text-align: center; vertical-align: middle; line-height: 80px; font-size: 22px; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; color: #FFF;}
#contents h2 { display: inline-block; margin-bottom: 20px; vertical-align: middle; font-size: 40px; font-weight: 700; color: #73311B;}
#contents dl { margin-bottom: 30px; padding-bottom: 5px; border-bottom: #74311C dotted 1px;}
#contents dt { clear: left; float: left; padding-bottom: 5px;}
#contents dd { padding: 0 0 5px 50px;}
#contents p { padding-bottom: 30px; text-align: center; font-size: 22px; line-height: 1.3; font-weight: 500;}
#comments { padding: 20px; background: #FFF; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;}

#page { width: 100%; max-width: 1060px; margin: 0 auto 20px;}
#page h2 { margin-bottom: 40px; text-align: center; font-size: 40px; font-weight: 700; color: #73311B;}
#page h3 { margin-bottom: 20px; padding-bottom: 5px; border-bottom: #73311B solid 2px; font-size: 20px; font-weight: 700; color: #73311B;}
#page h4 { margin-bottom: 20px; font-size: 18px; font-weight: 700; color: #73311B;}
#page p { padding-bottom: 30px;}
.catch { text-align: center; font-size: 20px; font-weight: 500;}
#prof { margin-bottom: 40px; padding: 20px; background: #FFF; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px;}
#prof ul { display: table; table-layout: fixed; width: 100%;}
#prof li { display: table-cell; border-left: #D6D6D6 solid 1px;}
#prof li:first-child { border: none;}
#prof .profcon { width: 80%; margin: 0 auto;}
#prof h3 { padding: 10px 0; font-size: 20px;}

.flow li { position: relative; margin-bottom: 50px; border-bottom: #F7B52C solid 1px;}
.flow li span { display: inline-block; width: 10%; margin-right: 10px; text-align: center; vertical-align: middle; background: #693; font-size: 50px; font-weight: 700; color: #FFF;}
.flow li:nth-child(even) span { background: #F7B52C;}
#page .flow li p { display: inline-block; width: 85%; padding: 0; vertical-align: middle; font-weight: 500;}
.flow li:after { content: ''; display: block; position: absolute; bottom: -15px; left: 0; right: 0; width: 0; height: 0; margin: auto; border-style: solid; border-width: 15px 15px 0 15px; border-color: #7C4B27 transparent transparent transparent;}
.flow li:last-child:after { display: none;}
.flow li a { display: inline-block; padding: 0 5px; background: #E5FF99;}
.kiyaku { width: 100%; height: 200px; margin-bottom: 20px; padding: 20px; border: #F7B52C solid 2px; overflow: auto;}
.kiyaku hr { display: block;}
.kiyaku strong { display: inline-block; padding: 5px 0;}
.kiyaku li { margin-bottom: 20px;}
.kiyaku ol { margin: 0 0 20px 30px;}
.kiyaku ol li { list-style: decimal;}

.tokai li { position: relative; margin-bottom: 30px;}
.tokai li span { display: inline-block; width: 100px; height: 100px; margin-right: 20px; text-align: center; vertical-align: middle; background: #693; line-height: 100px; font-size: 50px; font-weight: 700; color: #FFF; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%;}
.tokai li:nth-child(even) span { background: #F7B52C;}
#page .tokai li p { display: inline-block; width: 80%; padding: 0; vertical-align: middle; font-weight: 500;}
#tsutsumi { width: 760px; margin: 0 auto 40px; background: #86898C; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px;}
#tsutsumi ul { display: table; width: 100%;}
#tsutsumi li { display: table-cell; vertical-align: middle; font-size: 20px; font-weight: 700; color: #FFF;}
#tsutsumi li:first-child img { -moz-border-radius: 6px 0 0 6px; -webkit-border-radius: 6px 0 0 6px; border-radius: 6px 0 0 6px;}
.center { text-align: center;}


@media only screen and (max-width: 767px){
body,input,textarea,select { font-size: 14px;}
#container { background-size: 100% auto, auto;}

#header { height: auto!important; background-size: 100% auto;}
#header h1 { padding-top: 2px;}
#header h2 { margin: 0 5px 10px; border: none; font-size: 18px;}
.lb { display: block;}
#nav { position: fixed; top: -500px; left: 0; width: 100%; margin: 0; z-index: 100; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; transition: .5s ease-in-out;}
#nav ul { display: block;}
#nav li { display: block; text-align: left;}
#nav li a { display: block; width: 100%; padding: 20px; background: #693; border-left: none; border-bottom: #FFF solid 1px;}
#social { display: none;}
#nav li.facebook a, #nav li.twitter a { float: left; width: 50%; padding: 10px; text-align: center; font-size: 30px;}
#nav li.facebook a { background: #39599F;}
#nav li.twitter a { background: #45B0E3;}
#open { display: block; position: fixed; top: 5px; right: 5px; width: 50px; height: 50px; text-align: center; background: #7C4B27; border: #FFF solid 3px; font-size: 10px; color: #FFF; cursor: pointer; z-index: 102; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;}
#open div { position: relative; height: 25px; margin: 6px 7px 0;}
#open span { position: absolute; left: 0; display: block; width: 32px; height: 3px; background: #FFF; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -webkit-transition: .15s ease-in-out; -moz-transition: .15s ease-in-out; transition: .15s ease-in-out;}
#open span:nth-child(1) { top: 0;}
#open span:nth-child(2) { top: 9px;}
#open span:nth-child(3) { top: 18px;}
.open #open span:nth-child(1) { top: 9px; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);}
.open #open span:nth-child(2) { width: 0; left: 50%;}
.open #open span:nth-child(3) { top: 9px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg);}
.open #nav { -moz-transform: translateY(500px); -webkit-transform: translateY(500px); transform: translateY(500px);}

#main { padding: 15px 15px 40px;}
.btn a { padding: 10px 0; font-size: 16px;}
.btn a span { font-size: 14px;}
.circle { position: relative; top: auto; left: auto; margin: 0 0 2px;}
.circle span { display: inline-block; vertical-align: middle;}
.circle a { display: block; width: auto; height: auto; padding: 10px 0; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px;}
#map li a { padding: 10px; font-size: 15px;}
#map li.mapaichi { right: 0; margin-top: -20%;}
#map li.mapmie { left: 0; margin-top: 50%;}
#map li.mapgifu { right: 0; margin-top: -70%;}
#map ol { font-size: 13px;}
#map ol li { display: inline-block; padding: 3px;}

.nav { margin: 30px 0;}
.filter li { margin: 0 2px 20px;}
.nav li { width: 46%; margin: 1%;}
.filter li a, .nav li a { padding: 10px 6px; font-size: 14px;}
.mainlist { padding: 20px 0;}
.mainlist .item { width: 100%; height: auto;}

#contents, #comments { margin: 0 auto;}
#contents .kind { width: 50px; height: 50px; line-height: 50px; font-size: 16px;}
#contents h2 { font-size: 28px;}
#contents p { text-align: left; font-size: 17px;}
#comments { padding: 10px;}

#page h2 { margin-bottom: 20px; font-size: 26px;}
#page h3 { margin-bottom: 15px; font-size: 18px;}
#page p { padding-bottom: 20px;}
.catch { text-align: left; font-size: 16px;}
.catch br { display: none;}
#prof { margin-bottom: 20px; padding: 0 10px 20px;}
#prof ul { display: block; table-layout: fixed; width: 100%;}
#prof li { display: block; margin-top: 20px; padding-top: 20px; border-left: none; border-top: #D6D6D6 solid 1px;}
#prof .profcon { width: 100%;}
#prof h3 { padding: 10px 0; font-size: 18px;}

.flow li { margin-bottom: 30px;}
.flow li span { display: inline-block; width: auto; margin-right: 0; padding: 0 20px; font-size: 30px;}
#page .flow li p { display: block; width: 100%; padding: 10px 0;}
.kiyaku { padding: 10px;}

.tokai li { position: relative; margin-bottom: 30px;}
.tokai li span { display: block; width: 60px; height: 60px; margin: 0 auto 10px; line-height: 60px; font-size: 40px;}
#page .tokai li p { display: block; width: 100%;}
#tsutsumi { width: 100%;}
#tsutsumi ul { display: block;}
#tsutsumi li { display: block; font-size: 16px;}
#tsutsumi li:first-child { text-align: center;}
#tsutsumi li:first-child img { width: 50%; height: auto;}
#tsutsumi p { padding: 10px!important;}
}