@charset "shift_jis";

/* ------------------------------------------------------------------------

	北加瀬　共通CSS

------------------------------------------------------------------------ */

body {
	margin:0;
	width:100%;
	padding:0;
	font-family:"メイリオ", Meiryo, sans-serif;
	line-height:1.5;
	color:#000000;
	background: #fffbf4;
}

a {	color:#00856F; }
a:hover { color:#D81E44; }
.link {
	background-image:url(../img/icon_arrow01.png);
	background-position: 0 center;
	background-repeat: no-repeat;
	background-size:12px;
	padding-left:20px;
}
.blank {
	background-image:url(../img/icon_window.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size:12px;
	padding-right:18px;
}
.pdf {
	background-image:url(../img/icon_pdf.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size:12px;
	padding-right:18px;
}
section a img:hover {
	opacity: 0.7;
}
[class^="contBox"] {
	width:900px;
	margin: 40px auto;
	font-size:1.4rem;
	position: relative;
}
#breadcrumb {
	width:900px;
	margin:0 auto;
	padding:10px 0;
	font-size: 1.2rem;
}
#breadcrumb li {
	display:inline;
}
section {
	text-align:center;	
}
.indent {
	text-indent: -1em;
	padding-left: 1em;
}
.red { color:#D81E44; }
.sp { display:none; }
@media screen and (max-width:640px) {
[class^="contBox"]{
	width:100%;
	margin: 6% auto;
}
.contBox01 {
	padding: 0 10px;
}
#breadcrumb {
	width:100%;
	padding:10px;
}
.pc { display:none; }
.sp { display:block; }
}

.ft16{
	font-size:1.4rem;
}
.ft19{
	font-size:1.9rem;
}
@media screen and (max-width:640px) {
.ft16{
	font-size:1.2rem;
}
.ft19{
	font-size:1.6rem;
}
}

/* ヘッダー */
header .contBox01 {
	margin-top: 0;
}
header .contBox01:before {
	display: block;
	width: 56px;
	height: 73px;
	position: absolute;
	content: "";
	top: 30px;
	left: -60px;
	background: url(../img/img_swallow.png) 0 0 no-repeat;
}
header h1 {
	position: absolute;
	top: 10px;
	left: 30px;
	width: 238px;
	height: 238px;
	background: url(../img/logo01.png);
	background-size: contain;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
header .gNav {
	position: absolute;
	top: 10px;
	right: 0;
	display: flex;
	padding: 40px 50px 210px 0;
	background: url(../img/bubble_pc01.png) top right no-repeat;
}
header .gNav li:nth-child(2) {
	margin: 40px 0 0 8px;
}
header .gNav li:nth-child(3) {
	margin: 10px 0 0 10px;
}
header .gNav li:nth-child(4) {
	margin: 30px 0 0 12px;
}
header .gNav li:hover {
	opacity: 0.7;
}

header .mainvisual {
	padding-top: 100px;
}

@media screen and (max-width:640px) {
header .contBox01 {
	margin: 0px;
}
header h1 {
	top: 0;
	left: 20px;
	width: 119px;
	height: 89px;
	background: url(../img/logo02.png);
	background-size: contain;
}
header .gNav { display: none; }
header .mainvisual {
	padding-top: 45px;
}
header .mainvisual img {
	width: 100%;
}
}

/* 言語メニューPC */
header .language_pc {
	width: 100%;
	height:30px;
	background:#ffd38c;
	display: flex;
	justify-content: flex-end;
	padding: 8px;
}
header .language_pc li{
	padding: 0 5px;
}
header .language_pc li:nth-child(6){
	border-left: 1px #825000 solid;
	margin-left: 10px;
	padding-left: 15px;
}
header .language_pc li a{
    line-height: 1em;
	color:#825000;
	font-size:1.2rem;
	text-decoration:none;
}
@media screen and (max-width:640px) {
header .language_pc {
    display: none;
}
}

/* メニューSP */
header .menu_btnbox, header .sp_menu {
    display: none;
}
@media screen and (max-width:640px) {
header .menu_btnbox {
	position: absolute;
	top: 0;
	right: 0;
	width: 134px;
	height: 78px;
	background: url(../img/bubble_sp.png) no-repeat right 0;
	background-size: contain;
	padding: 10px 10px 0 0;
}
header .menu_btnbox {
	display: block;
}
header .menu_btn {
	width: 50px;
	height: 50px;
	background: url(../img/icon_menu_close.png)0 0 no-repeat;
	background-size: contain;
}
header .menu_btn.on {
	width: 50px;
	height: 57px;
	background: url(../img/icon_menu_open.png)0 0 no-repeat;
	background-size: contain;
}
header .menu_btn {
	position: absolute;
	top: 10px;
	right: 30px;
	width: 50px;
	cursor: pointer;
}
header .sp_menu {
	position: absolute;
	z-index: 100;
	top:70px;
	left:0;
	right:0;
	margin:0 auto;
    width: 96%;
	border: 5px solid #ffd38c;
	border-radius: 20px;
	background: #fff;
	padding: 0 10px;
}
header .gNav_sp {
	margin-top: 2%;
	}
header .gNav_sp li {
	border-bottom: 1px solid #cacaca;
}
header .gNav_sp li:last-child {
	border-bottom:none;
}
header .gNav_sp li a {
	display:flex;
	align-items: center;
	font-size: 1.4rem;
	height:44px;
	text-decoration: none;
	color: #000;
	background: url(../img/icon_arrow01.png) right 8px center no-repeat;
	background-size: 12px;
}
header .gNav_sp li a[target="_blank"] {
	background: url(../img/icon_window.png) right 8px center no-repeat;
	background-size: 12px;
}
header .gNav_sp li a span {
	width: 50px;
	text-align: center;
}

header .langNav {
	display: flex;
	flex-wrap: wrap;
}
header .langNav li {
	background:#d7eeec;
	box-sizing:border-box;
}
header .langNav li:nth-child(1) {
	width:50%;
	border-right:1px solid #fff;
	border-bottom: 1px solid #fff;
	border-top-left-radius: 10px;
}
header .langNav li:nth-child(2) {
	width:50%;
	border-bottom: 1px solid #fff;
	border-top-right-radius: 10px;
}
header .langNav li:nth-child(3) {
	width:33.4%;
	border-right:1px solid #fff;
	border-bottom-left-radius: 10px;
}
header .langNav li:nth-child(4) {
	width:33.4%;
	border-right:1px solid #fff;
}
header .langNav li:nth-child(5) {
	width:33.2%;
	border-bottom-right-radius: 10px;
}
header .langNav li a {
	background: url(../img/icon_arrow01.png) right 8px center no-repeat;
	background-size: 12px;
	height:44px;
	display:flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	text-decoration: none;
	color: #000;
	padding-right: 12px;
}

header .sp_menu .btn_close {
	display: block;
	text-align: center;
	font-size: 1.4rem;
	cursor: pointer;
	background:#f29704;
	color:#fff;
	padding: 10px 0;
	margin: 4% 0;
	border-radius: 20px / 50%;
}
header .sp_menu.on {
	display: block;
}
}


/* 頁の先頭へ */
#pagetop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: none;
	z-index: 9999;
	height:70px;
	width:55px;
	background:url(../img/page_top.png)  0 0 no-repeat;
	background-size: contain;
	cursor:pointer;
}

/* footer */
footer {
	font-size: 13px; font-size:1.3rem;
	background: url(../img/footer_bg.png) center bottom repeat-x;
	background-size: 85px 39px;
}
footer .contBox01 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0;
	padding-bottom: 60px;
}
footer li a {
	margin-right: 20px;	
}
footer img {
	width:290px;
}
@media screen and (max-width:640px) {
footer .contBox01 {
	flex-direction: column;
	text-align: center;
}
footer li {
	margin-bottom: 4%;	
}
}


/* ------------------------------------------------------------------------

	リンクナビ

------------------------------------------------------------------------ */

#linkNav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#linkNav a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32.6%;
	height: 100px;
	padding-right: 30px;
	margin-bottom: 10px;
	border: 5px solid #FFE8C7;
	border-radius: 10px;
	color: #000;
	text-decoration: none;
	font-size: 2.0rem;
	line-height: 1.2;
	background-size: 12px;
	position: relative;
}
#linkNav a:hover {
	opacity: 0.7;
}
#linkNav a:after {
	display: block;
	width: 12px;
	height: 12px;
	position: absolute;
	content: "";
	bottom: calc(50% - 6px);
	left: 20px;
	background: url(../img/icon_arrow01.png) 0 0 no-repeat;
	background-size: contain;
}
#linkNav a:nth-child(1) {
	background: url(../img/icon_shop.png) right 10px bottom 5px no-repeat #fff;
}
#linkNav a:nth-child(2) {
	background: url(../img/icon_house.png) right 10px bottom 10px no-repeat #fff;
}
#linkNav a:nth-child(3) {
	background: url(../img/icon_oldage.png) right 10px bottom no-repeat #fff;
}
#linkNav a:nth-child(4) {
	background: url(../img/icon_nursery.png) right 5px bottom no-repeat #fff;
}
#linkNav a:nth-child(5) {
	background: url(../img/icon_plaza.png) right bottom no-repeat #fff;
}
#linkNav a:nth-child(6) {
	background: url(../img/icon_contact_sp.png) right 10px bottom 10px no-repeat #fff;
}
@media screen and (max-width:640px) {
#linkNav a {
	padding: 70px 5px 0;
	font-size: 1.3rem;
	height: 110px;
	margin-bottom: 1%;
	border-width: 3px;
}
#linkNav a:after {
	left: inherit;
	bottom: inherit;
	top: 5px;
	right: 5px;
}
#linkNav a:nth-child(1) {
	background-position: center 10px;
}
#linkNav a:nth-child(2) {
	background-position: center 15px;
}
#linkNav a:nth-child(3) {
	background-position: center 5px;
}
#linkNav a:nth-child(4) {
	background-position: center 15px;
}
#linkNav a:nth-child(5) {
	background-position: center 25px;
}
#linkNav a:nth-child(6) {
	background-position: center 20px;
}
}


/* ------------------------------------------------------------------------

	ニュース・イベント

------------------------------------------------------------------------ */

#info.contBox {
	background-color: #F2ECE2;
	border-radius: 10px;
	padding: 10px;
	position: relative;
}
#info:before {
	display: block;
	content: "";
	position: absolute;
	background: url(../img/info_bg.png) 0 0 no-repeat;
	background-size: contain;
	width: 184px;
	height: 68px;
	top: 0;
	left: -30px;
	z-index: 2;
}
#info:after {
	display: block;
	content: "";
	position: absolute;
	background: url(../img/info_bg.png) 0 0 no-repeat;
	background-size: contain;
	transform: scale(-1, 1);
	width: 184px;
	height: 68px;
	top: 0;
	right: -30px;
	z-index: 2;
}
#info > div {
	background: #fff;
	padding-bottom: 30px;
}
#info > div:before {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 880px;
	height: 10px;
	background-color: #F2ECE2;
	border-bottom-left-radius: 50% 10px;
	border-bottom-right-radius: 50% 10px;
}
#info > div:after {
	display: block;
	content: "";
	position: absolute;
	bottom: 10px;
	left: 10px;
	width: 880px;
	height: 10px;
	background-color: #F2ECE2;
	border-top-left-radius: 50% 10px;
	border-top-right-radius: 50% 10px;
}
#info h2 img {
	padding:50px 0 30px;
	width: calc(396px / 3 * 2);
}
#info dl {
	text-align:left;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#info dt {
	width:20%;
	padding-left: 76px;
}
#info .event {
	background:url(../img/info_event.png) no-repeat 0 0;
	background-size:66px;
}
#info .news {
	background:url(../img/info_news.png) no-repeat 0 0;
	background-size:66px;
}
#info dd {
	width: 80%;
	padding:0 10px 15px 0;
}
#info .btn_more {
	text-align: right;
}
#info .btn_more img {
	width: 240px;
}

@media screen and (max-width:640px) {
#info.contBox {
	border-radius: 0px;
	padding: 5px 10px;
	margin-bottom: 0;
}
#info:before {
	width: 92px;
	height: 34px;
	left: 0px;
}
#info:after {
	width: 92px;
	height: 34px;
	right: 0px;
}
#info > div:before {
	left: 0px;
	top: 5px;
	width: 100%;
}
#info > div:after {
	left: 0px;
	bottom: 5px;
	width: 100%;
}
#info h2 img {
	padding:15% 0 9%;
	width: calc(396px / 2);
}
#info dl {
	flex-direction: column;
}
#info dt {
}
#info dd {
	width:100%;
	padding: 4% 4% 6%;
}
#info .btn_more img {
	width: 180px;
}
}


/* ------------------------------------------------------------------------

	コンセプト

------------------------------------------------------------------------ */

#concept {
	background-color: #fff;
}
#concept .contBox {
	display: flex;
	padding: 4% 0;
	position: relative;
}
#concept .contBox:before {
	position: absolute;
	display: block;
	content: "";
	left: 0px;
	top: 50px;
	width: 448px;
	height: 419px;
	background: url(../img/concept_img_pc.png) 0 0 no-repeat;
}
#concept .contBox > div {
	width: 440px;
	height: 440px;
	margin-left: auto;
	background: url(../img/concept_bg.png) 0 0 no-repeat;
	background-size: contain;
	padding: 80px;
	position: relative
}
#concept .contBox > div:before {
	position: absolute;
	display: block;
	content: "";
	right: 0px;
	bottom: -80px;
	width: 120px;
	height: 200px;
	background: url(../img/concept_img.png) 0 0 no-repeat;
	background-size: contain;
}
#concept h2 img {
	width: calc(228px / 3 * 2);
	margin-bottom: 8%;
}
#concept p {
	margin-bottom: 4%;
	text-align: center;
}
@media screen and (max-width:640px) {
#concept {
}
#concept .contBox {
	padding: 8% 0;
}
#concept .contBox:before {
	top: 330px;
	width: 100%;
	background: url(../img/concept_img_sp.png) center 0 no-repeat;
	background-size: 299px;
	z-index: 2;
}
#concept .contBox > div {
	margin: 0 auto;
	padding: 15% 16%;
	background-size: 380px;
	background-position: center top;
}
#concept .contBox > div:before {
	bottom: 70px;
	right: 10px;
	width: 60px;
	height: 100px;
}
#concept h2 img {
	width: calc(228px / 2);
	margin-bottom: 10px;
}
}
@media screen and (max-width:400px) {
#concept .contBox > div {
	padding: 15% 12%;
}
}
@media screen and (max-width:320px) {
#concept .contBox > div {
	padding: 15% 10%;
	margin-bottom: 2%;
}
#concept p {
	margin-bottom: 0;
}
}

/* ------------------------------------------------------------------------

	まちについて

------------------------------------------------------------------------ */

#town.contBox {
	position: relative;
	background: url(../img/townmap_img.png) center bottom no-repeat;
	padding-bottom: 600px;
	margin-bottom: 0;
}
#town.contBox:before {
	position: absolute;
	display: block;
	content: "";
	left: -80px;
	top: -50px;
	width: 366px;
	height: 276px;
	background: url(../img/townmap_bg.png) 0 0 no-repeat;
	background-size: contain;
}
#town h2 {
	text-align: left;
	padding: 20px 0 20px 200px;
}
#town h2 img {
	width: calc(282px / 3 * 2);
}
#town a .btn {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 160px;
}
@media screen and (max-width:640px) {
#town.contBox {
	padding-bottom: 105%;
	background-size: 160%;
}
#town.contBox:before {
	left: -45px;
	top: -25px;
	width: 183px;
	height: 138px;
}
#town h2 {
	text-align: center;
	padding: 10px 0 20px;
}
#town h2 img {
	width: calc(282px / 2);
}
#town a .btn {
	width: 120px;
	right: 10px;
	bottom: -20px;
}
}

/* ------------------------------------------------------------------------

	アクセス

------------------------------------------------------------------------ */

#access {
	background-color: #fff;
	padding: 60px 0;
}
#access .contBox {
	background-color: #F9EDEB;
	margin: 0 auto;
	border-radius: 10px;
	padding: 20px;
	position: relative;
}
#access .contBox:before {
	position: absolute;
	display: block;
	content: "";
	left: 0;
	top: 50px;
	width: 124px;
	height: 60px;
	background: url(../img/access_bg02.png) 0 0 no-repeat;
	background-size: contain;
}
#access .contBox:after {
	position: absolute;
	display: block;
	content: "";
	right: 0;
	top: -12px;
	width: 128px;
	height: 164px;
	background: url(../img/access_bg01.png) 0 0 no-repeat;
	background-size: contain;
}
#access h2, #access .address, #access li {
	background-color: #fff;
	border-radius: 10px;
}
#access h2 {
	padding: 20px;
	margin-bottom: 10px;
}
#access h2 img {
	width: calc(186px / 3 * 2);
}
#access h3 {
	margin-bottom: 5px;
}
#access .address {
	padding: 20px 10px 10px;
	margin-bottom: 10px;
}
#access .map {
	position: relative;
	padding-bottom: 40%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-top: 15px;
}
#access .map iframe,
#access .map object,
#access .map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#access .route {
	display: flex;
	justify-content: space-between;
}
#access ul {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#access li {
	width: 280px;
	padding: 14px 10px;
}

#access li.txleft {
	text-align:left;
}

#access li.txleft h3{
	text-align:center;
}

@media screen and (max-width:640px) {
#access {
	padding:  0;
	margin-top: 20px;
}
#access .contBox {
	border-radius: 0;
	padding: 10px;
}
#access .contBox:before {
	width: 62px;
	height: 30px;
}
#access .contBox:after {
	top: -6px;
	width: 64px;
	height: 82px;
}
#access h2 {
	padding: 6% 0 2%;
}
#access h2 img {
	width: calc(186px / 2);
}
#access h3 {
	margin-bottom: 1%;
}
#access .address {
	padding: 4% 10px 10px;
}
#access .map {
	margin-top: 2%;
}
#access .route {
	flex-direction: column;
}
#access li {
	width: 100%;
	height: auto;
	padding: 4%;
	margin-top: 10px;
}
#access .route img {
	width: 100%;
}
}


/* ------------------------------------------------------------------------

	トップバナー

------------------------------------------------------------------------ */

#topbnr .bnrBox {
	display: flex;
	justify-content: center;
	margin-top:30px;
}
#topbnr  .bnrBox a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 440px;
	min-height: 100px;
	text-decoration: none;
	color: #000;
	background: url(../img/icon_arrow01.png) right 20px center no-repeat #EFF5F4;
	background-size: 12px;
	border-radius: 10px;
	padding: 0 40px 0 20px;
}
#topbnr .bnrBox a[target="_blank"] {
	background: url(../img/icon_window.png) right 20px center no-repeat #EFF5F4;
	background-size: 12px;
}
#topbnr .bnrBox a.bnr {
	background: none #fff;
	padding: 0;
}
#topbnr .bnrBoxBox a:hover {
	opacity: 0.7;
}
#topbnr .bnrBox .bnr img {
	width: 100%;
	border-radius: 10px;
}

@media screen and (max-width:640px) {
#topbnr  .bnrBox a {
	width: 96%;
}
}

/* ------------------------------------------------------------------------

	下層ページ

------------------------------------------------------------------------ */

.under [class^="contBox"], .under[class^="contBox"]{
	margin-top: 10px;
}
.under .btn_more img {
	width: 200px !important;
}

@media screen and (max-width:640px) {
.under [class^="contBox"], .under[class^="contBox"]{
	margin-top: 2%;
}
.under .btn_more img {
	width: 150px !important;
}
}

/* ヘッダー */
header.under {
	height: 220px;
}
header.under .contBox01 {
	margin-top: 0;
}
header.under h1 {
	top: 0px;
	height: 178px;
	background: url(../img/logo02.png) 0 0 no-repeat;
	background-size: contain;
}
header.under .gNav {
	top: 0;
	padding: 30px 50px 0 0;
	background: url(../img/bubble_pc02.png) top right no-repeat;
}
@media screen and (max-width:640px) {
header.under {
	height: 90px;
}
}

/* まちについて 共通*/
#town.under {
	background: url(../img/town_bg.png) center 0 repeat-y;
}
#town.under:before {
	display: none;
}
#town.under .map:before {
	position: absolute;
	display: block;
	content: "";
	left: 20px;
	top: 20px;
	width: 244px;
	height: 184px;
	background: url(../img/townmap_bg.png) 0 0 no-repeat;
	background-size: contain;
	z-index: 5;
}
#town.under h2 {
	text-align: center;
	padding: 40px 0 30px;
}
.shop { color: #D4423A; }
.house { color: #247ABC; }
.oldage { color: #7741B8; }
.nursery { color: #D13585; }
.plaza { color: #7F9A1D; }

/* まちについて トップ*/
#town.under .map {
	position: relative;
	margin-bottom: 0;
	background: #fff;
	border-radius: 10px;
	height: 700px;
}
#town.under.townmap h2 img {
	width: calc(282px / 3 * 2);
}
#town.under .map [id^="mapLink"] {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}
#town.under .map #mapLink { z-index: 2;}
#town.under .map #mapLink02 { z-index: 1;}
#town.under.townmap .contBox01 > div {
	display: flex;
	padding: 20px 20px 20px 0;
	margin-bottom: 10px;
	position: relative;
	background-color: #fff;
	border-radius: 10px;
}
#town.under.townmap .contBox01 figure {
	width: 130px;
}
#town.under.townmap .contBox01 > div > div {
	text-align: left;
	width: 750px;
}
#town.under .contBox01 h3 {
	font-size: 2.4rem;
	font-weight: normal;
	margin: 0 0 10px;
}
#town.under.townmap .contBox01 .btn_more {
	position: absolute;
	top: 10px;
	right: 0;
}
.under #linkNav.sp {
	display: none;
}

/* まちについて 施設紹介*/
#town.under.about .contBox01 > div {
	background-color: #fff;
	border-radius: 10px;
	margin-bottom: 20px;
	padding: 20px;
}
#town.under.about .head {
	display: flex;
	justify-content: space-between;
}
#town.under.about .head > div {
	width: 420px;
}
#town.under.about .head > div:first-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#town.under.about .head > div:last-child {
	display: flex;
	flex-direction: column;
}
#town.under.about figure {
	min-height: 0%;
}
#town.under.about figure img {
	border-radius: 10px;
	width: 100%;
}
#town.under.about h2 {
	padding: 0 0 20px;
}
#town.under h2.shop img {
	width: calc(210px / 3 * 2);
}
#town.under h2.house img {
	width: calc(330px / 3 * 2);
}
#town.under h2.oldage img {
	width: calc(600px / 3 * 2);
}
#town.under h2.nursery img {
	width: calc(294px / 3 * 2);
}
#town.under h2.plaza img {
	width: calc(282px / 3 * 2);
}
#town.under.about .head p {
	margin-bottom: 20px;
	text-align: left;
	font-size: 1.6rem;
}
#town.under.about h3 span {
	font-weight: normal;
	display: block;
	font-size: 1.8rem;
}
#town.under.about h3 span.font-s{
	font-weight: normal;
	display: inline;
	font-size: 1.4rem;
}
#town.under.about h3 span.font-m{
	font-weight: normal;
	display: inline;
	font-size: 1.6rem;
}
#town.under.about .contBox01 > div.fac{
	background-color:#eeeeee;
	padding:15px 30px;
	margin-top:10px;
	border-radius:10px;
}
#town.under.about .contBox01 > div.fac .title{
	font-size: 1.8rem;
	margin-bottom:10px;
}
#town.under.about h3 img.logo{
	width:50px;
	vertical-align:middle;
}
#town.under.about [class^="col"] {
	display: flex;
	justify-content: space-between;
}
#town.under.about .col2.reverse_row {
	flex-direction: row-reverse;
}
#town.under.about .reverse_clm p:last-child {
	margin-bottom: 10px;
}
#town.under.about .col2 > div {
	width: 420px;
	margin-top: 10px;
	text-align: left;
}
#town.under.about .col3 > div {
	width: 274px;
	position: relative;
	margin-top: 30px;
}
#town.under.about .col3 > div:before {
	display: block;
	position: absolute;
	content: "";
	width: 100%;
	height: 6px;
	border-radius: 3px;
	background-color: #00856F;
}
#town.under.about .col3 p:first-child {
	padding: 20px 0 10px;
}
#town.under.about .col3 p:not(:first-child) {
	text-align: left;
	margin-top: 10px;
}
#town.under.about .col3 span {
	width: 80px;
	text-align: center;
	display: inline-block;
	background-color: #FFF2DD;
	border-radius: 5px;
	line-height: 1;
	padding: 5px 0 3px;
	margin-right: 10px;
}
#town.under.about .col3 p span.indent4 {
	text-align: left;
	background-color:white;
	padding-left:6.5em;
	width: 100%;
}
#town.under.about .col4 > div {
	width: 420px;
	position: relative;
	margin-top: 30px;
}
#town.under.about .col4 > div:before {
	display: block;
	position: absolute;
	content: "";
	width: 100%;
	height: 6px;
	border-radius: 3px;
	background-color: #00856F;
}
#town.under.about .col4 p:first-child {
	padding: 20px 0 10px;
}
#town.under.about .col4 p:not(:first-child) {
	text-align: left;
	margin-top: 10px;
}
#town.under.about .col4 span {
	width: 80px;
	text-align: center;
	display: inline-block;
	background-color: #FFF2DD;
	border-radius: 5px;
	line-height: 1;
	padding: 5px 0 3px;
	margin-right: 10px;
	float:left;
}
#town.under.about .col4 p span.indent4 {
	text-align: left;
	background-color:white;
	padding-left:6.5em;
	width: 100%;
}
#town.under.about .bnrBox {
	display: flex;
	justify-content: center;
}
#town.under.about .bnrBox a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 440px;
	min-height: 100px;
	text-decoration: none;
	color: #000;
	background: url(../img/icon_arrow01.png) right 20px center no-repeat #EFF5F4;
	background-size: 12px;
	border-radius: 10px;
	padding: 0 40px 0 20px;
}
#town.under.about .bnrBox a:nth-child(even) {
	margin-left: 20px;
}
#town.under.about .bnrBox a:nth-child(3) {
	margin-left: 20px;
}
#town.under.about .bnrBox a[target="_blank"] {
	background: url(../img/icon_window.png) right 20px center no-repeat #EFF5F4;
	background-size: 12px;
}
#town.under.about .bnrBox a.bnr {
	background: none #fff;
	padding: 0;
}
#town.under.about .bnrBoxBox a:hover {
	opacity: 0.7;
}
#town.under.about .bnrBox .bnr img {
	width: 100%;
	border-radius: 10px;
}
#town.under.about #linkNav a {
	width: 219px;
	font-size: 1.6rem;
	border-width: 3px;
	height: 60px;
	padding-right: 0px;
}
#town.under.about #linkNav a.none {
	display: none;
}
#town.under #linkNav a:nth-child(1) {
	background-size: 40px;
}
#town.under #linkNav a:nth-child(2) {
	background-size: 40px 31px;
}
#town.under #linkNav a:nth-child(3) {
	background-size: 50px 42px;
}
#town.under #linkNav a:nth-child(4) {
	background-size: 45px 36px;
}
#town.under #linkNav a:nth-child(5) {
	background-size: 70px 28px;
}

@media screen and (max-width:640px) {
#town.under {
	background: none;
}
#town.under .map {
	background: url(../img/townmap_img02.png) center bottom no-repeat #fff;
	padding-bottom: 90%;
	background-size: 140%;
	border-radius: 0;
	height: inherit;
}
#town.under .map:before {
	left: -45px;
	top: 10px;
	width: 183px;
	height: 138px;
}
#town.under h2 {
	padding: 40px 0 6%;
}
#town.under.townmap h2 img {
	width: calc(282px / 2);
}
#town.under.townmap .contBox01 > div {
	padding: 4% 6% 16%;
}
#town.under.townmap .contBox01 figure {
	display: none;
}
#town.under.townmap .contBox01 h3 {
	font-size: 2.0rem;
	text-align: center;
}
#town.under.townmap .contBox01 .btn_more {
	bottom: 20px;
	top: inherit;
}
#town.under #linkNav {
	justify-content: center;
	margin-top: 0;
}
#town.under.townmap #linkNav {
	display: flex;
	background: #fff;
	padding-bottom: 6%;
}
#town.under.townmap #linkNav a {
	padding: 50px 2% 10px;
	font-size: 1.3rem;
	height: 80px;
}
#town.under.townmap #linkNav a:nth-child(3) {
	margin-right: 0;
}
#town.under.about .head {
	flex-direction: column;
}
#town.under.about .head > div {
	width: 100%;
}
#town.under.about h2 {
	padding: 4% 0 8%;
}
#town.under h2.shop img {
	width: calc(210px / 2);
}
#town.under h2.house img {
	width: calc(330px / 2);
}
#town.under h2.oldage img {
	width: 100%;
	max-width: calc(540px / 2);
}
#town.under h2.nursery img {
	width: calc(294px / 2);
}
#town.under h2.plaza img {
	width: calc(282px / 2);
}
#town.under.about .head p {
	margin-bottom: 0;
}
#town.under.about .head div figure {
	margin-top: 6%;
}
#town.under.about h3 {
	padding-top: 2%;
	font-size: 2.0rem;
}
#town.under.about h3 span {
	font-size: 1.4rem;
}
#town.under.about h3 span.font-s {
	font-size: 1.2rem;
}
#town.under.about h3 img.logo{
	width:30px;
	vertical-align:middle;
}
#town.under.about [class^="col"] {
	flex-direction: column;
}
#town.under.about .col2.reverse_row {
	flex-direction: column;
}
#town.under.about .reverse_clm {
	display: flex;
	flex-direction: column-reverse;
}
#town.under.about .reverse_clm p:first-child {
	margin-top: 4%;
}
#town.under.about .reverse_clm p:last-child {
	margin-bottom: 0;
}
#town.under.about .col2 > div {
	width: 100%;
	margin-top: 4%;
}
#town.under.about .col3 > div {
	width: 100%;
	margin-top: 12%;
}
#town.under.about .col3 p:first-child {
	padding: 8% 0 6%;
}
#town.under.about .col4 > div {
	width: 100%;
	margin-top: 12%;
}
#town.under.about .col4 p:first-child {
	padding: 8% 0 6%;
}
#town.under.about .bnrBox {
	flex-direction: column;
}
#town.under.about .bnrBox a {
	width: 100%;
	min-height: 68px;
	padding: 4% 40px 4% 20px;
	margin-bottom: 4%;
}
#town.under.about .bnrBox a:last-child {
	margin-bottom: 0;
}
#town.under.about .bnrBox a:nth-child(even) {
	margin-left: 0px;
}
#town.under.about .bnrBox a:nth-child(3) {
	margin-left: 0px;
}
#town.under.about #linkNav {
	justify-content: space-between;
}
#town.under.about #linkNav a {
	width: 49%;
	font-size: 1.4rem;
	padding: 60px 2% 10px;
	height: 90px;
}
#linkNav a:nth-child(5) {
    background-position: center 15px;
}
}

/* ニュース・イベント */
#info.contBox {
	margin-bottom: 20px;
}
#info.under .info_box {
	padding: 30px 0 0;
	margin-bottom: 30px;
	text-align: left;
	border-top: 2px dotted #000;
	position: relative;
}
#info.under .event, #info.under .news {
	position: absolute;
	width: 100%;
	height: 28px;
	top: -14px;
	background-size: 88px;
	padding-left: 100px;
}
#info.under .info_box > div {
	display: flex;
	justify-content: space-between;
	margin: 0 20px;
}
#info.under figure {
	width: 200px;
}
#info.under figure img {
	width: 100%;
}
#info.under h3 {
	background:url(../img/icon_arrow01.png) 0 center no-repeat;
	background-size:12px;
	padding-left:20px;
}
#info.under .info_box > div > div{
	width: 620px;
}
#info.under .info_box > div p {
	margin-top: 10px;
}
#info.under .info_box > div span {
	color: #fff;
	background-color: #00856F;
	border-radius: 10px / 50%;
	padding: 1px 10px 0;
	line-height: 1;
	margin-right: 6px;
	font-size: 1.2rem;
}
.contBox01.pageNavi {
	display: flex;
	justify-content: space-between;
	margin-top: 0;
}
.pageNavi img {
	width: 92px;
}
.pageNavi img:hover {
	opacity: 0.7;
}
@media screen and (max-width:640px) {
#info.contBox {
	margin-bottom: 4%;
}
#info.under .info_box {
	padding: 10% 0 0;
	margin-bottom: 8%;
}
#info.under .event, #info.under .news {
	top: -10px;
	background-size: 66px;
	padding-left: 80px;
}
#info.under .info_box > div {
	flex-direction: column;
	margin: 0 6% 4%;
}
#info.under figure {
	width: 100%;
	margin-bottom: 2%;
}
#info.under .info_box > div > div {
	width: 100%;
}
#info.under .info_box > div p {
	margin-top: 4%;
}
.pageNavi img {
	width: 69px;
}
}

/* ニュース・イベント詳細 */
#info.under .archives {
	border: none;
}
#info.under .archives h2 {
	position: static;
	margin: 60px 0 30px;
}
#info.under .archives figure {
	width: 300px;
	font-size: 1.2rem;
}
#info.under .archives figure img {
	margin-bottom: 10px;
	width: 100%;
}
#info.under .archives > div > div{
	width: 520px;
}
#info.under .archives dl {
	border-bottom: 2px dotted #000;
	padding: 20px 0;
}
#info.under .archives dl.first {
	border-top: 2px dotted #000;
	margin-top: 30px;
}
#info.under .archives dt {
	padding: 0;
}
#info.under .archives dt span {
	display: block;
	text-align: center;
	padding: 5px 0;
	margin: 0;
}
#info.under .archives dd {
	padding: 0 0 0 20px;
}

@media screen and (max-width:640px) {
#info.under .archives h2 {
	position: static;
	height: inherit;
	margin: 8% 0 2%;
}
#info.under .archives figure {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}#info.under .archives figure .pop {
	pointer-events: none;
}
#info.under .archives figure a {
	width: 48%;
}
#info.under .archives figure a:first-child {
	width: 100%;
}
#info.under .info_box > div > div{
	width: 100%;
}
#info.under .archives dl {
	padding: 6% 0;
	flex-direction: row;
}
#info.under .archives dl.first {
	border-top: 2px dotted #000;
	margin-top: 8%;
}
#info.under .archives dt {
	padding: 0;
	width: 30%;
}
	
#info.under .archives dt span {
	display: block;
	text-align: center;
	padding: 5px 0;
	margin: 0;
}
#info.under .archives dd {
	padding: 0 0 0 4%;
	width: 70%;
}
}

/* お問い合わせ */
#contact.contBox {
	background-color: #fff;
	border-radius: 10px;
	padding: 40px 20px;
}
#contact h2 {
	margin-bottom: 10px;
}
#contact h2 img {
	width: calc(300px / 3 * 2);
}
#contact h2 + p {
	text-align: center;
	margin-bottom: 20px;
}
#contact p {
	text-align:left;
}
#contact .flow {
	text-align:right;
	margin:20px 0;
}
#contact .flow img {
	width:200px;
}
#contact form dl {
	border-top:1px solid #cacaca;
	border-left:1px solid #cacaca;
	text-align:left;
	display: flex;
	flex-wrap: wrap;
}
#contact form dt {
	width:30%;
	background:#EFF5F4;
	border-right:1px solid #cacaca;
	border-bottom:1px solid #cacaca;
	padding:10px;
}
#contact form dt span { color:#D81E44; }
#contact form dd {
	width:70%;
	border-right:1px solid #cacaca;
	border-bottom:1px solid #cacaca;
	padding:10px;
}
#contact form dd span {
	margin-top:5px;
	display:inline-block;
}
#contact input[type="text"],
#contact input[type="submit"],
#contact textarea {
  -webkit-appearance: none;
}
input[type="text"],
#contact textarea {
	border: 1px solid #ccc;
}
#contact form input {
	width:50%;
}
#contact form .radio {
	display: flex;
	margin-top: 10px;
}
#contact form .radio input {
	width:20px;
}
#contact textarea {
	width:100%;
	height:100px;
}
#contact #privacy {
	border-left:1px solid #cacaca;
	border-right:1px solid #cacaca;
	border-bottom:1px solid #cacaca;
	text-align:left;
	padding: 20px;
}
#contact #privacy p:first-child {
	font-weight: bold;
	font-size: 1.6rem;
	margin: 0;
}
#contact #privacy p {
	margin-top: 10px;
}
#contact [class^="btn"] {
	border-radius: 20px / 50%;
	background: url(../img/icon_arrow01.png) 20px center no-repeat #D7EEEC;
	background-size: 12px;
	padding:15px 20px 12px 40px;
	color:#000;
	display: inline-block;
	text-decoration: none;
	margin-top: 30px;
	width: auto;
}
#contact input.btn {
	font-family:"メイリオ", Meiryo, sans-serif;
	font-size:1.4rem;
	cursor:pointer;
	border-style:none;
	margin-bottom: 20px;
}
#contact .btn02 {
	background-color:#FFD38C;
	margin-left:10px;
}
#contact .btn:hover {
	filter: alpha(opacity=80);
	-moz-opacity: 0.80;
	opacity: 0.80;
}
@media screen and (max-width:640px) {
#contact.contBox {
	border-radius: 0px;
	padding: 8% 10px;
}
#contact h2 img {
	width: calc(300px / 2);
}
#contact .flow img {
	width:150px;
}
#contact form dl {
	flex-direction: column;
}
#contact form dt {
	width:100%;
	padding:4%;
}
#contact form dd {
	width:100%;
	padding:4%;
}
#contact form input {
	width:100%;
}
#contact [class^="btn"] {
	padding:15px 15px 12px 35px;
	margin-top: 6%;
	background-position: 15px;
}
#contact input.btn {
	margin-bottom: 20px;
	font-size: 1.3rem;
}
#contact .btn02 {
	margin: 0;
}
}