@charset "utf-8";

.pc { display:none;}
.sp { display:block;}
.pcOnly {display: none;}

body {
  -webkit-text-size-adjust: 100%;
}

input,textarea {
    border-radius: 0;
    -webkit-appearance: none;
}

/* =======================================

	Structure CSS

========================================== */
.boxContentsWrapper {
    margin: 20px 15px 50px 15px;
}

.boxContents {
    width: 100%;
    float: none;
}

.boxSide {
    width: 100%;
    float: none;
}

/* =======================================

	Text Decorations CSS

========================================== */
.titBorder {
    margin: 0 0 15px 0;
    padding: 5px 0 5px 15px;
    border-width: 0 0 0 5px;
    border-style: solid;
    border-color: #006604;
    font-size: 130%;
}

.titBg {
    padding: 8px 10px;
    font-size: 120%;
    margin: 0 0 15px 0;
}

.titMid {
    margin: 0 0 8px 0;
}

/* =======================================

	Header CSS

========================================== */

#menu {
	width: 55px;
	height: 60px;
	position: absolute;
	cursor: pointer;
    z-index: 30;
    top: 0;
    right: 0;
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: #b2d9b8;
}

#menu:after {
    content: "MENU";
    font-size: 70%;
    color: #006b0e;
    width: 100%;
    text-align: center;
    position: absolute;
    top: 39px;
    left: 0;
}

#menu .bar {
	display: inline-block;
	width: 26px;
	height: 2px;
    left: 14px;
	background-color: #008013;
	position: absolute;
	transition: .15s ease-in-out;
}

#bar01 {
	top: 17px;
}
#bar02 {
	top: 24px;
}
#bar03 {
	top: 31px;
}
.active #bar01 {
	top: 24px;
	transform: rotate(45deg);
}
.active #bar02 {
	width: 0;
}
.active #bar03 {
	top: 24px;
	transform: rotate(-45deg);
}

#globalHeader .inner {
    width: auto;
    padding: 14px 0 0 15px;
    height: 60px;
    box-sizing: border-box;
}

#globalHeader .inner #site-title font {
    display: none;
}

#globalHeader .inner #site-title img {
    width: auto;
    height: 30px;
}

#globalHeader .inner .headerNavi {
    position: absolute;
    top: 15px;
    right: 70px;
}

#globalHeader .inner .headerNavi li {
    display: none;
}

#globalHeader .inner .headerNavi li.member {
    display: block;
}

#globalHeader .inner .headerNavi li.member font {
    display: block;
}

#globalHeader .inner .headerNavi li.member a {
    padding: 5px 8px 3px 28px;
    box-shadow:0px 1px 0px 0 #06495b;
    font-size: 90%;
    text-align: center;
}

#globalHeader .inner .headerNavi li.member a:after {
    width: 17px;
    height: 17px;
    top: 8px;
    left: 6px;
}

#globalNavi {
    display: none;
    margin: 0 0 0 0;
    width: 100%;
    position: absolute;
    background-color: #eeeeee;
    top: 60px;
    left: 0;
    z-index: 100;
}

#globalNavi li {
    display: block;
}

#globalNavi li a {
    text-align: left;
    border-width: 1px 0 0 0;
    padding: 10px 15px;
}

.login #globalNavi a {
	font-size: 100%;
	padding: 10px 15px;
}

#globalNavi li:first-child a {
	padding: 10px 15px;
}

#globalNavi li:last-child a {
	padding: 10px 15px;
}

#globalNavi li:last-child a {
    border-width: 1px 0 1px 0;
}

.login #globalNavi li:first-child a {
	padding: 10px 15px;
}

.login #globalNavi li:last-child a {
	padding: 10px 15px;
}

#globalNavi li div {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    border-width: 0;
    z-index: 100;
    padding: 0;
    display: block;
}

#globalNavi li div:after {
    display: none;
}

#globalNavi li div a.btnClose {
    display: none;
}

#globalNavi li div dl dt {
    display: none;
}

#globalNavi li div dl dd ul {
    display: block;
}

#globalNavi li div dl dd ul li {
    width: 100%;
    margin: 0;
}

#globalNavi li div dl dd ul li a {
    text-align: left;
    border-width: 0 0 0 0;
    padding: 10px 15px 10px 45px !important;
    position: relative;
	background-color: #eeeeee;
}

#globalNavi li div dl dd ul li:last-child a {
    border-width: 0 0 0 0;
}

#globalNavi li div dl dd ul li a:after {
    display: none;
}

/* =======================================

	Footer CSS

========================================== */
.boxFooter01 {
    padding: 0 20px;
}

.boxFooter02 address {
    font-size: 90%;
	margin: 0 0 20px 0;
}

/* =======================================

	トップページ

========================================== */
.boxHomeMain {
    background-image: url(../img/home/sp/bg_photos.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    text-align: center;
    padding: 25px 0;
}

.boxHomeMain.boxIntroductionIndex {
    background-image: none;
    padding: 0 0 25px 0;
}

.boxHomeArea dl {
    margin: 0 0 1px 0;
}

.boxHomeArea dl dt {
    background-color: #52b200;
    position: relative;
    color: #ffffff;
    padding: 15px 0 15px 40px;
    background-image: url(../img/common/ico_circle_white.svg);
    background-repeat: no-repeat;
    background-position: 25px 16px;
}

.boxHomeArea dl dt:after {
    content: "";
    background-image: url(../img/common/ico_plus.svg);
    background-repeat: no-repeat;
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    top: 16px;
    right: 25px;
}

.boxHomeArea dl dt.active:after {
    background-image: url(../img/common/ico_minus.svg);
    background-position: 0 center;
}

.boxHomeArea dl.north dt {
    background-color: #ff4e64;
}

.boxHomeArea dl.center dt {
    background-color: #7e80b0;
}

.boxHomeArea dl.south dt {
    background-color: #ff8000;
}

.boxHomeArea dl dd {
    padding: 15px 25px 5px 25px;
    background-color: #dcf0cc;
    display: none;
}

.boxHomeArea dl.north dd {
    background-color: #ffe5e8;
}

.boxHomeArea dl.center dd {
    background-color: #ececf3;
}

.boxHomeArea dl.south dd {
    background-color: #ffecd9;
}

.boxHomeArea dl dd ul li {
    float: left;
    margin: 0 10px 10px 0;
}

.boxHomeArea dl dd ul li a {
    text-decoration: underline;
}

.boxHomeNewsWrapper {
    padding: 35px 0 75px 0;
    position: relative;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #e2e2e2;
}

.boxHomeNews {
    width: auto;
    margin: 0 15px;
    display: block;
}

.boxHomeNews .left {
    width: 100%;
}

.boxHomeNews .left h2 {
    font-size: 170%;
    text-align: center;
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    background-image: url(../img/common/img_dot.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
}

.boxHomeNews .left a {
    display: block;
    margin: 0 15px;
    position: absolute;
    bottom: 25px;
    width: calc(100% - 30px);
    left: 0;
    padding: 10px 0;
    border-width: 1px;
    border-style: solid;
    border-color: #cecece;
    text-align: center;
}

.boxHomeNews .right {
    width: 100%;
}

.boxHomeNews .right dl dt time {
    font-size: 90%;
    display: block;
    margin: 0 0 5px 0;
}

.boxHomeMuraBlog .boxHomeNews .right dl dt time {
    display: inline-block;
    margin: 0 15px 0 0;
}

.boxHomeBanner {
    padding: 30px 0;
}

.boxHomeBanner ul {
    margin: 0 20px;
}

/* =======================================

	共通

========================================== */
.boxHeaderUnder .inner {
    padding: 20px 15px;
}

.boxHeaderUnder .inner h1 {
    font-size: 140%;
}

.boxBreadCrumbs {
    display: none;
}

.boxSection {
    margin: 0 0 30px 0;
}

.boxSection p {
    margin: 0 0 30px 0;
}

.listArrow {
    margin: 0 0 30px 0;
}

.listDisc {
    margin: 0 0 30px 0;
}

.table01 {
    margin: 0 0 30px 0;
}

.table01 th {
    padding: 15px 10px;
}

.table01 td {
    padding: 15px 10px;
}

.listDecimal {
    margin: 0 0 30px 0;
}

/* =======================================

	ログインページ

========================================== */
.login .titBorder .linkArchive {
    font-size: 70%;
}

.boxLoginNews dl dt time {
    font-size: 90%;
    display: block;
    margin: 0 0 5px 0;
}