@charset "UTF-8";
/*
#1f2a66;
#3d4888;
rgba(31, 42, 102,.8)
rgba(31, 42, 102,.4)
↓
#054e3c
#0d6b52
rgba(5, 78, 60, 0.8)
rgba(5, 78, 60, 0.4)
*/

* {
    box-sizing: border-box;
}

.alt {
    position: absolute;
    top: -5000px;
    left: -9999px;
}

.bold {
    font-weight: bold;
}

.normal {
    font-weight: normal;
}

/*float設定*/

.floatL {
    float: left;
}

.floatR {
    float: right;
}

.imgR {
    float: right;
    overflow: auto;
}

.clearfloat {
    height: 1px;
    font-size: 1%;
    clear: both;
    display: block;
    background: transparent;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.clearfix {
    min-height: 1px;
}

* html .clearfix {
    height: 1px;
    /*\*/
    /*/
	height: auto;
	overflow: hidden;
	/**/
}

.tCenter {
    text-align: center !important;
}

.tRight {
    text-align: right !important;
}

.tLeft {
    text-align: left !important;
}

/*margin*/

.m5 {
    margin: 5px !important;
}

.m10 {
    margin: 10px !important;
}

.m15 {
    margin: 15px !important;
}

.m20 {
    margin: 20px !important;
}


.p0 {
    padding: 0px !important;
}

.p5 {
    padding: 5px !important;
}

.p10 {
    padding: 10px !important;
}

.p15 {
    padding: 15px !important;
}

.p20 {
    padding: 20px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.ml5 {
    margin-left: 5px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml15 {
    margin-left: 15px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.w40per {
    width: 40%;
}


/*font-size*/

.f230 {
    font-size: 230% !important;
}

.f170 {
    font-size: 170% !important;
}

.f140 {
    font-size: 140% !important;
}

.f130 {
    font-size: 130% !important;
}

.f120 {
    font-size: 120% !important;
}

.f110 {
    font-size: 110% !important;
}

.f90 {
    font-size: 90% !important;
}

.f85 {
    font-size: 85% !important;
}

.cBlack {
    color: #231815
}

.cRed {
    color: #CA062C;
}

.cWhtie {
    color: #fff;
}

.bg-gray {
    background: #E6E6E6;
}

.bg-lightgray {
    background: #f5f5f5;
}

/*共通CSS*/

body {
    height: 100%;
    width: 100%;
    margin: 0px auto;
    padding: 0px;
    line-height: 220%;
    color: #333;
    font-size: 87.5%;
    background: #fff;
    font-family: 'Noto Sans JP', sans-serif;
}

/*リンク色*/

a:link {
    color: #333;
}

a:visited {
    color: #333;
}

a:active {
    color: #CA062C;
    text-decoration: underline;
}

a:hover {
    color: #CA062C;
    text-decoration: underline;
}

p {
    line-height: 1.5em;
}

.w960 {
    width: 960px;
    margin: 0 auto;
}

.w1100 {
    max-width: 1100px;
    width: auto;
    margin: 0 auto;
}

#CONTAINER {
    background: #fff;
    margin: 0 auto;
}




/*////////////////////////

	#HEADER

////////////////////////*/

#HEADER {}

#HEADER .mdiscription {
    padding: 25px 20px 25px 290px;
    position: relative;
    text-align: left;
    margin: 0 auto;
    font-size: .9em;

}

#HEADER .mdiscription .header-imgl {
    position: absolute;
    top: 20px;
    left: 20px;
}

#HEADER .mdiscription .header-imgr {
    position: absolute;
    top: 20px;
    right: 10px;
}

#HEADER #menu {
    background: #054e3c;
    opacity: 0.9;
    position: relative;
    z-index: 100;
}

#HEADER #menu > ul > li {
    float: left;
    position: relative;
    border-right: 1px solid rgba(255, 255, 255, .2);
}

#HEADER #menu > ul > li:first-of-type {
    border-left: 1px solid rgba(255, 255, 255, .2);
}

#HEADER #menu > ul > li a {
    color: #fff;
    text-decoration: none;
    padding: .5em 1em;
    display: block;
    min-width: 3em;
    transition: .3s;
}

#HEADER #menu ul li a:hover {
    background: #0d6b52;
}

#HEADER #menu ul li ul {
    float: none;
    background: #054e3c;
    position: absolute;
    top: 100%;
    left: 0;
    text-align: left;
    display: none;
}

#HEADER #menu ul li ul li a {
    color: #fff;
    text-decoration: none;
    padding: .5em 1em;
    display: block;
    white-space: nowrap;
    min-width: 6em;

}

#HEADER #menu .btnlanguage {
    float: right;
    margin-right: 0px;
    border: none;
}

#HEADER #menu .btnlanguage a {
    display: block;
    color: #054e3c;
    padding: 0;
}

#HEADER #menu .btnlanguage a span {
    background: rgba(255, 255, 255, .8);
    display: block;
    padding: .5em 1em;
}



#spheader {
    display: none;
}

.breadcrumb{
    background: rgba(5, 78, 60, 0.8);
}
.breadcrumb_list{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}
.breadcrumb_list__item{
    margin-left: .5em;
    font-size: .9em;
    line-height: 1.2em;
    padding: .5em 0;
}
.breadcrumb_list__item::before{
    font-family: FontAwesome;
    content: "\f105";
    margin-right: .25em;
    color: #fff;
}
.breadcrumb_list__item:first-child{
    font-size: 1em;
    vertical-align: -1px;
}
.breadcrumb_list__item:first-child::before{
    content: "";
    margin-right: 0;
}

.breadcrumb_list__item,
.breadcrumb_list__item a{
    color:#fff;
}

.btnarea {
    padding: 20px 0 80px;
    width: 600px;
    margin: 0 auto;
}



.btnarea ul li {
    width: 285px;
    margin: 0 30px 20px 0;
    float: left;
}

.btnarea ul li.btn2,
.btnarea ul li.btn4 {
    margin-right: 0
}

.btnarea ul li a {
    display: block;
    width: 285px;
    height: 55px;
    background: url(../img/btn.png) no-repeat;
}

.btnarea ul li.btn1 a {
    background-position: 0 0;
}

.btnarea ul li.btn2 a {
    background-position: -285px 0;
}

.btnarea ul li.btn3 a {
    background-position: -570px 0;
}

.btnarea ul li.btn4 a {
    background-position: -855px 0;
}

.btnarea ul li.btn1 a:hover {
    background-position: 0 -55px;
}

.btnarea ul li.btn2 a:hover {
    background-position: -285px -55px;
}

.btnarea ul li.btn3 a:hover {
    background-position: -570px -55px;
}

.btnarea ul li.btn4 a:hover {
    background-position: -855px -55px;
}




ul.category-list {
    margin-bottom: 30px;
}

ul.category-list li {
    padding: 15px 0px 15px 10px;
    border-bottom: 1px dotted #ccc;
    overflow: auto;
}

ul.category-list li div.list-image {
    float: left;
    margin-right: 15px;
    width: 200px;
    display: table;
    text-align: center;
    transition: .3s;
}

ul.category-list li div.list-image:hover {
    opacity: .5;
    
}
ul.category-list li div.list-image > * {
    display: table-cell;
    vertical-align: middle;
}

ul.category-list li div.list-image img {
    max-width: 200px;
    max-height: 200px;
    height: auto;
    width/***/
    : auto;
}
ul.category-list li div.list-image a {
    text-decoration: none;}

ul.category-list li div.list-image a div.noimage {
    text-decoration: none;
    background: #ccc;
    color: #fff;
    width: 200px;
    padding: 3.5em 0;
}

ul.category-list li dl {
    overflow: hidden;
}

ul.category-list li dl dt,
ul.category-list li dl dd {
    margin: 0;
    padding: 0;
}

ul.category-list li dl span.list-type {
    background: #1a6050;
    color: #fff;
    font-size: .8em;
    padding: 2px 5px;
}

ul.category-list li .list-title {
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 1.4em;
}

/*////////////////////////

	#FOOTER

////////////////////////*/

#FOOTER {
    background: #054e3c;
    padding: 15px;
    color: #fff;
}



/*////////////////////////

	common

////////////////////////*/

#contents {
    text-align: left;
    padding: 20px 20px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}


#leftArea {
    flex-basis: 75%;
    max-width: 75%;
    padding-right: 5%;

}

.shopimage {
    margin: 2em 0 2em 2em;
    float: right;
    max-width: 320px;
    max-height: 320px;
    width: auto;
    height: auto;
    display: block;
}

.shoptext {
    overflow: hidden;
    padding: 2em 0 4em;
}
.shoptext--large{
    font-size: 1.2em;
}

.shoptext img {
    margin-top: 2em;
}

.shopinfo {
    margin-bottom: 30px;

}

.shopinfo dl {
    border-bottom: 1px solid #ccc;
    background: #f5f5f5;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;

}

.shopinfo dl dt {
    max-width: 12em;
    flex-basis: 12em;
    font-weight: bold;
    padding: 0.5em 1em;
    border-top: 1px solid #ccc;
}

.shopinfo dl dd {
    max-width: calc(100% - 12em);
    flex-basis: calc(100% - 12em);
    padding: 0.5em 0px;
    border-top: 1px solid #ccc;
}


h2.title {
    width: auto;
    margin: 0 auto;
    background: rgba(5, 78, 60, 0.4);
    color: #fff;
    font-size: 300%;
    text-align: center;
    padding: 1em 0;
    line-height: 1.1em;
    font-weight: normal;
    letter-spacing: .1em;
}

.tag_block{
    background: rgba(5, 78, 60, 0.8);
    font-size: 1em;
    padding: .3em 0;
    letter-spacing: .05em;
}
.tag_block,
.tag_block a{
    color: #fff;
    text-decoration: none;
}


p.strong {
    font-weight: bold;
    color: #054e3c;
}

#leftArea h3 {
    font-size: 110%;
    margin: 2em 0 0.3em 0;
}

p.title {
    font-size: 180%;
    font-weight: normal;
    margin: 0em 0 0.4em 0;
}

#map {
    margin-top: 2em;
    position: relative;
    width: 100%;
    /* 左右に余白が必要なら値を変更してもOK */
    height: 0;
    padding-bottom: 40%;
    /* padding-topでもOK */
    overflow: hidden;
}

#map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* 必要であれば!importantを付けてください */
    height: 100%;
    /* 必要であれば!importantを付けてください */
}

#rightArea {
    flex-basis: 25%;
    max-width: 25%;
}

#rightArea .block {
    margin-bottom: 2em;
}

#rightArea .block ul.categorylist li {
    margin-left: 1em;
}

#rightArea h3 {
    font-size: 110%;
    margin: 0 0 0.3em 0;
}

#rightArea .block img {
    max-width: 220px;
    max-height: 220px;
    width: auto;
    height: auto;
}

.related-projects-top {
    width: 680px;
    margin: 0 auto 70px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    
}

.related-projects__list {
    margin: 0 auto;
    margin-bottom: .5em;
}
.related-projects__list,
.related-projects-top__list{
    flex-basis: 48%;
    max-width: 48%;
    background: rgb(255, 255, 255);
    border: 1px solid rgb(5, 78, 60);
    border-radius: .5em;
}
.related-projects-top__list{
    margin: 1%;
    font-size: 1.2em;
}
.related-projects__list{
    flex-basis: 100%;
    max-width: 100%;}

.related-projects__list a ,
.related-projects-top__list a {
    padding: 1em .5em;
    width: 100%;
    display: block;
    text-decoration: none;
    text-align: center;
    transition: .3s;
    color:rgb(5, 78, 60);
    position: relative;
    z-index: 1;
}

.related-projects__list a:hover,
.related-projects-top__list a:hover {
    color:rgb(255, 255, 255);
/*    background: rgb(5, 78, 60);*/
}


/*ここから*/
.related-projects-top__list,
.related-projects__list{
    overflow: hidden;
    position: relative;
}

.related-projects-top__list:after,
.related-projects__list:after{
    width: 10px;
    height: 10px;
    content: "";
    display: block;
    background: rgba(5, 78, 60,0);
    position: absolute;
    top: -5px;
    left: 50%;
    border-radius: 100%;
    margin-left:-5px;
    margin-top: -5px;
    transition: .3s;
    z-index: 0;
}
.related-projects-top__list:hover:after,
.related-projects__list:hover:after{
    transform: scale(50);
    background: rgba(5, 78, 60, 1);
}

/*
*/

.contents-page {
    padding-right: 10px;
}

.contents-page img.alignright {
    float: right;
    margin: 0 0 20px 20px;
}

.contents-page img.alignleft {
    float: left;
    margin: 0 20px 20px 0;
}

.contents-page h3 {
    clear: both;
}

.contents-page p {
    overflow: hidden;
    margin-bottom: 2em;
}

/*eof*/
