body {
	color: #503c28;
	font-family: "Meiryo", "メイリオ", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Verdana, Helvetica, sans-serif;
	font-size: 0.98rem;
	line-height: 1.6;
	background: url(/assets/front/img/pattern.jpg);
}
body.big {
	font-size: 1.2rem;
}
body.middium {
	font-size: 0.98rem;
}
body.small {
	font-size: 0.8rem;
}

.wrapper {
	width: 100%;
}
.inner {
	width: 980px;
	margin: 0 auto;
}

/**
 * header
 */
header {
	width: 980px;
	margin: 0 auto;
	padding: 0 0 20px;
	position: relative;
}
.font-size-control {
	position: absolute;
	top: 20px;
	right: 10px;
	display: inline-block;
	vertical-align: top;
	margin: auto 0;
	height: 50px;
	letter-spacing: -0.4em;
}
.font-size-control > * {
	display: inline-block;
	line-height: 25px;
	letter-spacing: normal;
}
.font-size-control dt {
	margin-right: 2em
}
.font-size-control dd {
	background-color: #ee6d6d;
	color: #fff;
	position: relative;
	display: inline-block;
	cursor: pointer;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}
.font-size-control dt + dd {
	padding-right: 0.25em;
}
.font-size-control dt + dd,
.font-size-control dd + dd + dd {
	position: relative;
	padding-left: 0;
}
.font-size-control dt + dd:before,
.font-size-control dt + dd + dd + dd:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	top: 0;
	bottom: 0;
	background-color: #ee6d6d;
	left: -10px;
	border-radius: 50% 0 0 50%;
	z-index: -1;
}
.font-size-control dt + dd + dd {
	padding-right: 0.25em;
	padding-left: 0.25em;
	margin: 0 2px;
}
.font-size-control dt + dd + dd + dd {
	padding-left: 0.25em;
}
.font-size-control dt + dd + dd + dd:after {
	left: inherit;
	right: -10px;
	border-radius: 0 50% 50% 0;
}
.emergency.pc {
	padding: 0.25em 1em 0.25em 2em;
	background-color: #dd4b4b;
	color: #fff;
	border-radius: 0 0 5px 5px;
	position: absolute;
	top: 0;
	right: 0;
	text-decoration: none;
}
.emergency.pc:before {
	font-family: "FontAwesome";
	content: "\f071";
	margin-left: -1em;
	margin-right: 0.5em;
}

/**
 * nav
 */
nav {
	text-align: center;
	background-color: white;
}
nav ul {
	width: 980px;
	margin: 0 auto;
	letter-spacing: -0.4em;
	padding: 20px 0;
}
nav li {
	letter-spacing: normal;
	display: inline-block;
	width: 33%;
	border-left: 1px solid #aaa;
	border-right: 1px solid #aaa;
}
nav li img {
	vertical-align: top;
	max-height: 50px;
}
nav li + li {
	margin-left: -1px;
}
nav a {
	display: inline-block;
}
/**
 * main
 */
main .main-content section {
	width: 980px;
	margin: 0 auto;
}


/**
 * footer
 */
.top-link {
	padding-top: 100px;
}
.top-link a {
	height: 5em;
	width: 10em;
	background-color: #604d33;
	border-radius: 10em 10em 0 0;
	color: #fff;
	text-decoration: none;
	padding: 1.5em 1em 0.5em;
	display: block;
	margin: 0 auto;
	text-align: center;
}
.top-link a:before {
	font-family: "FontAwesome";
	content: "\f102";
	height: 1em;
	font-size: 1em;
	display: block;
	line-height: 1.2;
	text-align: center;
}
footer {
	text-align: center;
	margin: 0 auto;
	background-color: #f4ebd3;
}
footer .add {
	text-align: left;
	padding: 100px 0;
	position: relative;
}
footer .add > img {
	font-size: 1.2em;
	text-decoration: none;
	color: inherit;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 5em;
}
footer address {
	display: block;
	font-style: normal;
	margin-left: 130px;
}
footer address dl:before {
	content: "";
	display: block;
	clear: both;
}
footer address dt {
	float: left;
}
footer address dt:first-child + dd + dt + dd + dt + dd {
	float: left;
	padding-left: 1em;
	padding-right: 1em;
}
footer address dt:first-child + dd + dt + dd + dt + dd + dt {
	padding-right: 1em;
}
footer address dt:first-child + dd + dt + dd + dt + dd + dt + dd:after {
	content: "";
	display: block;
	clear: both;
}
footer address dt,
footer address dd {
	padding-top: 0.25em;
}
footer address dt:first-child,
footer address dt:first-child + dd {
	padding-top: 0.5em;
}
footer address dl:after {
	content: "";
	display: block;
	clear: both;
}
/*footer .add a:before {
	font-family: "FontAwesome";
	content: "\f1d9";
	display: inline-block;
	margin-right: 0.25em;
}*/
footer .add a {
/*	font-size: 1.2em;
	text-decoration: none;
	color: inherit;
	background-color: #fff;
	padding: 0.75em 1.5em;
	border: 1px solid #aaa;*/
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	height: 6.5em;
}
footer small {
	display: block;
	padding: 1.5em 0;
	background-color: #604d33;
	color: #fff;
}




/**
 * 共通部品
 */
.inline-block {
	letter-spacing: -0.4em;
}
.inline-block > * {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
}

body.browser .app {
	display: none;
}
body.browser .app {
	display: none;
}

body.webview .app span.app_menu:before {
	font-family: "FontAwesome";
	content: "\f0c9";
	margin-left: 0.5em;
	margin-right: 0.5em;
	font-size: 2.0em;
}
body.webview .app span.app_home:before {
	font-family: "FontAwesome";
	content: "\f0c8";
	margin-left: 0.5em;
	margin-right: 0.5em;
	font-size: 2.0em;
}
body.webview .app span.app_search:before {
	font-family: "FontAwesome";
	content: "\f002";
	margin-left: 0.5em;
	margin-right: 0.5em;
	font-size: 2.0em;
}
.area-nav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 3px solid #e7f1f7;
	border-radius: 13px;
	margin: 1.5em 0;
}
.area-nav > * {
	padding: 10px;
	text-align: center;
	position: relative;
}
.area-nav > *:nth-child(-n + 3)::after {
    content: ""; /* 表示したいコンテンツ */
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
	border-right: 2px solid #e7f1f7;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}
.area-nav a::before {
    content: "\f107"; /* 表示したいコンテンツ */
    font-family: "FontAwesome";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    text-align: center;
    border-radius: 50%;
    background-color: #aed578;
	border: 2px solid #6f4b37;
    margin-right: .5em;
}
.area-nav a {
	display: block;
	position: relative;
	line-height: 2.25em;
	text-decoration: none;;
	color: inherit;
	font-weight: bold;
}
.area-nav a::after {
    content: "";
    position: absolute;
}

.area {
	display: grid;
	gap: 1em;
	grid-template-columns: repeat(5, 1fr);
}
.area-header {
    color: #6f4b37;
    font-size: 1.25em;
    background-color: #fdf3cd;
    padding: .5em .5em;
    border-radius: 10px;
	margin: 2em 0;
}
.area-header::before {
	font-family: "FontAwesome";
	content: "\f041";
	margin-right: 0.5em;
	color: #e0475c;
	-webkit-text-stroke: 1px #6f4b37;
	line-height: 1em;
	font-size: 1.25em;
}
.area-btn::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px solid #6f4b37;
	border-radius: 30px;
}
.area-btn {
	display: block;
	position: relative;
	line-height: 2.25em;
	padding-left: 1em;
	text-decoration: none;;
	color: inherit;
	background-color: #fff;
	border-radius: 30px;
}
.area-btn::after {
    content: "\f061";
    font-family: "FontAwesome";
    position: absolute;
	top: 0;
    right: .75em;
    line-height: 2.25em;
}
.area-btn.okinawa {
    text-align: center;
    display: inline-block;
    width: 25%;
    padding-left: 0;
    font-size: 1.25em;
    font-weight: bold;
}

@media screen and (min-width:981px) {
	.sp {
		display: none;
	}
}
@media screen and (max-width:980px) {
	.pc {
		display: none;
	}
	.inner,.wrapper {
		width: inherit;
	}
	body.big, body.middle, body.small {
		font-size: 1rem;
	}
	header {
		width: inherit;
	}
	header img {
		width: 100%;
	}
	nav ul {
		width: inherit;
		padding: 0;
		border-top: 1px solid #aaa;
		border-bottom: 1px solid #aaa;
	}
	nav li {
		width: 33.333%;
		border: none;
		text-align: center;
	}
	nav li:first-child + li {
		border-right: 1px solid #aaa;
		border-left: 1px solid #aaa;
	}
	body.browser nav li {
		width: 50%;
	}
	body.browser nav li:first-child + li {
		border-right: none;
	}
	nav li img {
		max-width: 100%;
	}
	nav a {
		padding: 1em 0;
	}
	footer .add {
		padding: 1em;
	}
	footer .add address {
		margin-left: 0;
	}
	footer .add a {
		position: static;
		display: block;
		text-align: center;
		margin-top: 1em;
	}
}
@media screen and (min-width:768px) {
}
@media screen and (max-width:767px) {
	.area-btn.okinawa {
		width: 10em;
	}
	.area-nav {
		grid-template-columns: repeat(2, 1fr);
		border-radius: 0;
		border-width: 2px;
	}
	.area-nav > *:nth-child(-n + 3)::after {
		border-right: none;
	}
	.area-nav > * {
		border: 2px solid #e7f1f7;
	}
	.area {
		grid-template-columns: repeat(3	, 1fr);
	}
	.okinawa-wrapper {
		text-align: center;
	}
}

body.webview .browser {
	display: none;
}
body.browser .webview {
	display: none;
}

a.icon {
	margin-left: -1em;
}
a.icon:before {
	font-family: "FontAwesome";
	content: "\f08e";
	padding-left: 1em;
	margin-left: 0.5em;
}

@media print{
	.sp,
	header,
	nav,
	.print-viewport,
	.top-link,
	footer {
		display: none;
	}
	body.print {
		margin-top: 0;
	}
}

.screen .print-viewport {
	display: none;
}

.print .print-viewport {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	height: 100%;
	width: 100%;
	z-index: 999;
}
.print header,
.print nav,
.print .top-link,
.print footer {
	opacity: 0.45;
}
.print .print-viewport button {
	padding: 1em;
	background-color: #fbb03b;
	font-weight: bold;
	width: 100%;
	box-shadow: 0 3px 5px 0 rgba(0, 0, 0, .15);
}
.print .print-viewport button:before {
	font-family: "FontAwesome";
	content: "\f02f";
	margin-right: 0.5em;
}
body.print {
	margin-top: 4em;
}

body.webview {
	font-size: 20px;
	line-height: 1.0;
}
body.list.webview {
	background: none;
}
body.webview .app-title {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #a5c96a;
	z-index: 999;
}
body.webview .app-title h1 {
	font-weight: bold;
	font-size: 1em;
	padding: 0.5em 0;
	text-align: center;
}
body.webview header a {
		display: none;
}
body.webview header dl {
	display: none;
}
body.webview header {
	padding: 0;
}
body.webview nav {
	position:fixed;
	bottom:0;
	width:100%;
	z-index: 999;
}
body.webview nav .pc {
	display: none;
}
body.webview nav .sp {
	display: none;
}
body.webview nav .app {
	display: block;
}
body.webview main {
	height: 100%;
	padding-top: 40px;
	padding-bottom: 40px;
}
body.list.webview .button-control {
	margin-top: 0;
}
body.list.webview .sp.menu {
	display: block;
}
body.list.webview .sp.menu a {
	background: none;
	color: #503c28;
	margin-top: 0;
	border-top: 1px solid #eee;
	padding-left: 0.5em;
	border-radius: 0;
}
body.list.webview .sp.menu a:before {
	display: none;
}
body.webview.detail .download {
	display: block;
	width: auto;
	margin: 1em;
}
body.webview.detail .return {
	display: none;
}


/*=======================

Add footer 202209 FlashEdge

=======================*/


footer address {
  margin-left: 0;
}


.footer_inner2209 {
  width: 1024px;
  margin: 0 auto;
  padding: 5em 0;
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}
@media screen and (max-width:767px) {
  .footer_inner2209 {
    padding: 3em 2em;
    width: auto;
  }
}


.footer_item2209_01{
  width: 12%;
}
.footer_item2209_01 img{
  width: 80%;
}

@media screen and (max-width:767px) {
  .footer_item2209_01{
    display: none;
  }
}

.footer_item2209_02{
  width: 45%;
}
@media screen and (max-width:767px) {
  .footer_item2209_02{
    width: 100%;
  }
}

.footer_item2209_03{
  width: 40%;
  padding-left: 1em;
}
.footer_item2209_03 img{width: 100%;}

@media screen and (max-width:767px) {
  .footer_item2209_03{
    width: 100%;
    padding-top: 3em;
    padding-left: 0;
  }
}

.footer_contact2209 {
  padding: 2em 0 0 0;
}

@media screen and (max-width:767px) {
  .footer_contact2209 img{
    width: 100%;
  }
}

