@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@700&display=swap");

html {
	font-size: 100%;
}

body {
	margin: 0;
	padding: 0;
	color: #222;
	font-family: "Sawarabi Gothic", sans-serif;
}

.flexBox_01 {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
}

.flexBox_02 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.gridBox {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 10px;
}

div.column {
	display: flex;
}

/*div.column_l {
	overflow: hidden;
}*/

div.column_r {
	overflow: hidden;
}

.w_wrapper {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	/*overflow: hidden;*/
}

.m_wrapper {
	width: 100%;
	max-width: 1008px;
	padding: 0 35px 40px;
}

.s_wrapper {
	width: 100%;
	height: 100%;
	max-width: 272px;
	padding: 33px 23px 0;
	background-color: #ececec;
	/*float: left;
	min-height: 100vh;
	position: relative;
	padding-bottom: 10000px;
	margin-bottom: -10000px;*/
}

.b_wrapper {
	width: 100%;
	max-width: 1008px;
	padding: 0 0 80px;
}

.f_wrapper {
	width: 100%;
	max-width: 1008px;
	/*min-height: 100vh;*/
	/*position: relative;*/
}

.clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: " ";
}

.clearfix {
	display: inline-block;

	zoom: 100%;
}

.clr {
	clear: both;
}

a {
	color: #222;
}

main a {
	color: #006781;
}

a:hover {
	opacity: 0.7;
}

.button_red {
	display: inline-block;
	width: 40%;
	padding: 1rem;
	background-color: #c33e3e;
	border-radius: 4px;
	box-shadow: -4px -4px 8px #fff, 4px 4px 8px rgb(0 0 0 / 24%);
	color: #fff;
	text-align: center;
}

.button_blue {
	display: inline-block;
	width: 40%;
	padding: 1rem;
	background-color: #26a0bf;
	border-radius: 4px;
	box-shadow: -4px -4px 8px #fff, 4px 4px 8px rgb(0 0 0 / 24%);
	color: #fff;
	text-align: center;
}

.button_Wgray {
	display: inline-block;
	width: 40%;
	padding: 1rem;
	background-color: #f1f1f1;
	border-radius: 4px;
	box-shadow: -4px -4px 8px #fff,
	4px 4px 8px rgb(0 0 0 / 24%);
	color: #000;
	text-align: center;
}

att_1 {
	padding-left: 1rem;
	text-indent: -1rem;
}

att_5 {
	padding-left: 5rem;
	text-indent: -5rem;
}

/* margin-bottom */
.marginAuto {
	margin-right: auto !important;
	margin-left: auto;
}

.marginBottom0 {
	margin-bottom: 0 !important;
}

.marginBottom10 {
	margin-bottom: 10px !important;
}

.marginBottom20 {
	margin-bottom: 20px !important;
}

.marginBottom30 {
	margin-bottom: 30px !important;
}

.marginBottom40 {
	margin-bottom: 40px !important;
}

.marginBottom50 {
	margin-bottom: 50px !important;
}

.marginBottom60 {
	margin-bottom: 60px !important;
}

.marginBottom70 {
	margin-bottom: 70px !important;
}

.marginBottom80 {
	margin-bottom: 80px !important;
}

.marginBottom90 {
	margin-bottom: 90px !important;
}

/* margin-left,margin-right */
.marginLeft0 {
	margin-left: 0 !important;
}

.marginLeft10 {
	margin-left: 10px !important;
}

.marginLeft20 {
	margin-left: 20px !important;
}

.marginLeft30 {
	margin-left: 30px !important;
}

.marginLeft40 {
	margin-left: 40px !important;
}

.marginLeft50 {
	margin-left: 50px !important;
}

.marginRight0 {
	margin-right: 0 !important;
}

.marginRight10 {
	margin-right: 10px !important;
}

.marginRight20 {
	margin-right: 20px !important;
}

.marginRight30 {
	margin-right: 30px !important;
}

.marginRight40 {
	margin-right: 40px !important;
}

.marginRight50 {
	margin-right: 50px !important;
}

/* margin-top */
.marginTop0 {
	margin-top: 0 !important;
}

.marginTop10 {
	margin-top: 10px !important;
}

.marginTop20 {
	margin-top: 20px !important;
}

.marginTop30 {
	margin-top: 30px !important;
}

.marginTop40 {
	margin-top: 40px !important;
}

.marginTop50 {
	margin-top: 50px !important;
}

.marginTop60 {
	margin-top: 60px !important;
}

.marginTop70 {
	margin-top: 70px !important;
}

.marginTop80 {
	margin-top: 80px !important;
}

.marginTop90 {
	margin-top: 90px !important;
}

.marginTop100 {
	margin-top: 100px !important;
}

/* padding-top */
.paddingTop0 {
	padding-top: 0 !important;
}

.paddingTop10 {
	padding-top: 10px !important;
}

.paddingTop20 {
	padding-top: 20px !important;
}

.paddingTop30 {
	padding-top: 30px !important;
}

.paddingTop40 {
	padding-top: 40px !important;
}

.paddingTop50 {
	padding-top: 50px !important;
}

.paddingTop60 {
	padding-top: 60px !important;
}

.paddingTop70 {
	padding-top: 70px !important;
}

.paddingTop80 {
	padding-top: 80px !important;
}

.paddingTop90 {
	padding-top: 90px !important;
}

.paddingTop100 {
	padding-top: 100px !important;
}

/* padding-bottom */
.paddingBottom0 {
	padding-bottom: 0 !important;
}

.paddingBottom10 {
	padding-bottom: 10px !important;
}

.paddingBottom20 {
	padding-bottom: 20px !important;
}

.paddingBottom30 {
	padding-bottom: 30px !important;
}

.paddingBottom40 {
	padding-bottom: 40px !important;
}

.paddingBottom50 {
	padding-bottom: 50px !important;
}

.paddingBottom60 {
	padding-bottom: 60px !important;
}

.paddingBottom70 {
	padding-bottom: 70px !important;
}

.paddingBottom80 {
	padding-bottom: 80px !important;
}

.paddingBottom90 {
	padding-bottom: 90px !important;
}

/* padding-left,padding-right */
.paddingLeft0 {
	padding-left: 0 !important;
}

.paddingLeft10 {
	padding-left: 10px !important;
}

.paddingLeft20 {
	padding-left: 20px !important;
}

.paddingLeft30 {
	padding-left: 30px !important;
}

.paddingLeft40 {
	padding-left: 40px !important;
}

.paddingLeft50 {
	padding-left: 50px !important;
}

.paddingRight0 {
	padding-right: 0 !important;
}

.paddingRight10 {
	padding-right: 10px !important;
}

.paddingRight20 {
	padding-right: 20px !important;
}

.paddingRight30 {
	padding-right: 30px !important;
}

.paddingRight40 {
	padding-right: 40px !important;
}

.paddingRight50 {
	padding-right: 50px !important;
}

/* header
--------------------------------------------------------------*/

header {
	position: relative;
	float: right;
	width: 100%;
	max-width: 1008px;
}

header h1 {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-direction: column;
	height: 96px;
	line-height: 1.2rem;
	padding-right: 3rem;
	color: #26a0bf;
	font-size: x-large;
	text-align: right;
	letter-spacing: 0.1rem;
}

h1 span {
	opacity: 0.7;
	font-size: 0.8rem;
	letter-spacing: 0.2rem;
}

div#header img {
	display: none;
}

/* left_contents
--------------------------------------------------------------*/

div.form-inline {
	margin-bottom: 3rem;
}

div.infoWrapper {
	position: absolute;
	bottom: 0;
}

section#info figure {
	display: table;
}

section#info figcaption {
	display: table-caption;
	margin-bottom: 4rem;
	font-family: "Source Sans Pro", sans-serif;
	font-size: 1.3rem;
	text-align: center;
}

section#info div.regarding {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	flex-direction: column;
	margin: 0;
}

section#info div.regarding a.button_a {
	width: 100%;
	margin-bottom: 1rem;
	padding: 1rem;
	background-color: #4a6066;
	color: #fff;
	text-align: center;
}

section#info div.regarding a.button_b {
	width: 100%;
	margin-top: 1.6rem;
	padding: 1rem;
	background-color: #fff;
	border: 1px solid #4a6066;
	color: #4a6066;
	text-align: center;
}

/* 検索ボックス */
.search {
	margin-bottom: 1rem;
}

div.search .gsc-control-cse {
	background-color: #ececec;
}

/* aside
--------------------------------------------------------------*/

aside.infoS {
	margin-bottom: 4rem;
	color: #4a6066;
}

aside.infoS p {
	width: 40%;
	line-height: 1.2rem;
	margin: 0 auto;

/*border-bottom: dashed 1px #4a6066;*/
	font-size: 0.8rem;

/*padding: 1rem 0 1rem;*/
	text-align: center;
}

aside.infoS p.boxKK {
	position: relative;
	padding: 0.25em 1em;
}

aside.infoS p.boxKK:before ,
aside.infoS p.boxKK:after {
	display: inline-block;
	position: absolute;
	width: 20px;
	height: 30px;
	content: "";
}

aside.infoS p.boxKK:before {
	top: 0;
	left: 0;
	border-top: solid 2px #4a6066;
	border-left: solid 2px #4a6066;
}

aside.infoS p.boxKK:after {
	right: 0;
	bottom: 0;
	border-right: solid 2px #4a6066;
	border-bottom: solid 2px #4a6066;
}

aside.infoS p span.phone {
	line-height: 2rem;
	font-size: 2rem;
}

aside.infoS p span.nText {
	margin-bottom: 1rem;

/*display: block;*/
	font-weight: initial;
	font-size: 0.8rem;
}

aside.infoS p a {
	color: #000;
	/*font-size: 1rem;*/
}

aside.infoS div.service {
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-wrap: wrap;
	margin: 4rem 3rem 0;
}

aside.infoS div.service p {
	/*color: #fff;*/
	display: grid;
	width: 46%;
	height: 80px;
	box-sizing: content-box;
	margin-bottom: 2rem;
	padding: 0;
	background-color: #ececec;
	border-radius: 5px;
	font-size: clamp(14px, 1.4vw, 18px);

	place-items: center;
}

/*aside.infoS div.service p {
  align-items: center;
  border: solid 1px #4a6066;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 80px;
  justify-content: center;
  margin-bottom: 2rem;
  padding: 0;
  width: 40%;
}*/

aside.infoS div.service span.nText {
	margin-bottom: 0;
}

section#info aside.exlLinks {
	margin-top: 4rem;
}

section#info aside.exlLinks p {
	display: grid;
	width: 226px;
	height: 77px;
	margin-bottom: 1.2rem;
	padding: 1rem;
	background-color: #fff;
	font-size: 0.9rem;
	text-align: center;

	place-items: center;
}

section#info aside.exlLinks h4 {
	margin-bottom: 1rem;
}

section#info aside.exlLinks a img {
	margin-bottom: 0.8rem;
}

section#info aside.social_b {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: nowrap;
}

/* main_contents
--------------------------------------------------------------*/

/* branding img
--------------------------------------------------------------*/
section#branding {
	position: relative;
	margin-bottom: 5rem;
	padding-bottom: 300px;
}

section#branding ul li img {
	width: 100%;
	max-width: 1008px;
}

section#branding figure.brandingTitle {
	position: absolute;
	top: 88%;
}

section#branding figure.brandingTitle img {
	width: 100%;
	height: auto;
	max-width: 1008px;
}

section.appBox {
	margin: 8% 0 4%;
}

section.appBox a.btn_app {
	display: block;
	width: 46%;
	margin-bottom: 1rem;
	padding: 1rem;
	background-color: #26a0bf;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}

article.update {
	width: 48%;
	max-width: 450px;
	margin: 3rem 0 0;
}

article.update h4 {
	margin-bottom: 1rem;
}

article.update ul.infoList {
	list-style-type: none;
}

article.update ul.infoList li {
	margin-bottom: 0.8rem;
	padding-bottom: 0.3rem;
	border-bottom: solid 1px #c3cdcf;
	font-weight: 600;
	font-size: clamp(14px, 2vw, 16px);
}

article.update ul.infoList li span {
	opacity: 0.8;
}

article.status {
	width: 46%;
	margin: 3rem 0;
}

article.status table {
	width: 100%;
	height: 50%;
	margin-top: 1rem;
	background-color: #fff;
	border: 1px solid #c3cdcf;
	border-collapse: collapse;
}

article.status table th ,
td {
	padding: 0.2rem;
	border: 1px solid #c3cdcf;
	font-weight: bold;
	text-align: center;
}

section#contents {
	min-height: 826px;
	margin-top: 5rem;
}

.mhAuto {
	min-height: auto !important;
}

/*section#contents img {
	overflow: hidden;
	max-width: 226px;
	width: 100%;
}*/

/* modaal
**************************************************************/


/*section#contents div.info_modal {

}*/

.modaal-container {
	border-radius: 10px !important;
}

.modaal-content-container {
	text-align: center;
}

.modaal-content-container h4 {
	width: 80%;
	margin: 0 auto 3rem;
	padding-bottom: 1.6rem;
	border-bottom: 1px solid #26a0bf;
	font-size: 1.3rem;
}

.modaal-content-container p {
	padding-bottom: 1rem;
}

.modaal-content-container table {
	width: 50%;
	margin: 0 auto;
}

section#contents div.info_modal {
	max-width: 300px;
	/*width: 24%;*/
}

div.null {
	width: 24%;
	max-width: 300px;
}

section#contents div.info_modal img {
	width: 100%;
	max-width: 300px;
}

section#contents div.info_modal ul {
	margin-bottom: 0.4rem;

/*border: solid 2px #26a0bf;*/
	list-style-type: none;
}


/***************************************************************/

section#socialMedia {
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-top: 3rem;
}

section#socialMedia div.timeLine {
	max-width: 500px;
	overflow: auto;
	padding: 10px;
}

section#socialMedia div.attArrow {
	/*max-width: 50%;*/
	float: left;
	margin-bottom: 1rem;
}

section#socialMedia div.attArrow h4 {
	line-height: 0;
	margin-bottom: 1rem;
	font-size: clamp(13px, 1.4vw, 14px);
}

hr.dashed {
	margin: 5rem 0 4rem;
	background-color: #fff;
	border: none;
	border-color: #9d9d9d;
	border-width: 0.5px 0 0 0;
	border-top: dashed;
}

/* entry-content
--------------------------------------------------------------*/
main section#branding {
	margin-bottom: 2rem;
	padding-bottom: 0;
}

main section#branding img {
	width: 100%;
}

main h2 {
	margin-bottom: 4rem;
	padding: 0.6rem 0 0.6rem 1rem;
	border-top: solid 1px;
	border-left: solid 20px;
	font-weight: inherit;
	font-size: clamp(18px, 2vw, 48px);
}

main h2.border_gradation {
	border-bottom: 1px solid;
	border-image: linear-gradient(to right, #26a0bf 0%, #fff 100%);
	border-image-slice: 1;
}

main div.itemList {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 100%;
	margin: 3rem 0;
}

main div.itemList::after {
	display: block;
	width: 100%;
	max-width: 400px;
	content: "";
}

main div.itemList a {
	width: 100%;
	max-width: 400px;
}

main div.itemList div.itemBox {
	margin-bottom: 2rem;
	padding: 1rem;
	background-color: #4a6066;
	border-radius: 3px;
	box-shadow: 15px 15px 0 0 #cce7f0;
	color: #fff;
	font-size: 2rem;
}

main div.itemList div.itemBox p {
	padding: 0.5rem 2rem !important;
	border: 1px solid rgb(255 255 255 / 36%);
	text-align: center;
}

main section#contents article {
	margin-bottom: 5rem;
}

main section#contents h3 {
	padding-bottom: 1rem;
}

main section#contents h3.headLine {
	position: relative;
	margin: 0;
	margin-bottom: 15px;
	padding-bottom: 5px;
	border-bottom: solid 2px #d1d1d1;
	font-weight: normal;
	font-size: 24px;
}

main section#contents h4 {
	margin-bottom: 1rem;
	padding: 0.8rem;
	background-color: #d6ebeb;
	border-bottom: 4px solid #b9dbdb;
}

main section#contents h5 {
	padding: 2rem 0 1rem;
}

main section#contents ol {
	list-style-position: inside;
}

main section#contents ol li {
	line-height: 2rem;
	padding-left: 1em;
	text-indent: -1em;
}

main section#contents h3.headLine:before {
	display: block;
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 10%;
	height: 2px;
	background-color: #26a0bf;
	content: "";
}

main section#contents p {
	line-height: 1.8rem;
	padding-bottom: 3rem;
	padding-left: 1rem;
	font-size: clamp(14px, 2vw, 18px);
}

main section#contents table {
	margin-bottom: 2rem;
}

main section#contents iframe.map {
	/*アスペクト比（縦横比）を指定*/
	width: 100%;
	aspect-ratio: 16/9;
}

main section#contents div.dataTable table {
	width: 100%;
	font-size: clamp(14px, 1.4vw, 16px);
	border-collapse: collapse;
	border-spacing: 0;
}

main section#contents div.dataTable table th {
	padding: 10px 5px;
	background-color: #c5c5c5;
	text-align: left;
}

main section#contents div.dataTable2 table th {
	padding: 10px 5px;
	background-color: #c5c5c5;
	text-align: center;
}

main section#contents div.dataTable table td {
	padding: 10px 20px;
	border: none;
	font-weight: normal;
	text-align: left;
}

main section#contents div.dataTable2 table td {
	padding: 10px 20px;
	border: 1px solid #cfcfcf;
	font-weight: normal;
	text-align: left;
}

main section#contents div.dataTable table th.a_centor {
	padding: 10px 5px;
	background-color: #c5c5c5;
	text-align: center;
}


main section#contents div.dataTable table td.a_centor {
	padding: 10px 20px;
	border: none;
	font-weight: normal;
	text-align: center;
}

main section#contents div.dataTable table tr:nth-child(odd) {
	background-color: #ececec;
}

table.datadata {
	margin-bottom: 0 !important;
	padding-left: 1rem;
}

table.datadata th ,
table.datadata td {
	vertical-align: top;
	padding-right: 20px;
	border: 0;
	font-weight: normal !important;
	text-align: left;
}

main section#contents div.infoBox {
	position: relative;
	max-width: 1008px;
	margin: 0 0 3rem 1rem;
	padding: 1rem 1.5rem;
	border: 2px solid #26a0bf;
	border-radius: 3px;
}

main section#contents div.infoBox span {
	position: absolute;
	top: -1.9rem;
	left: -2px;
	padding: 0.2rem 0.8rem;
	background-color: #26a0bf;
	border-radius: 5px 5px 0 0;
	color: #fff;
}

main section#contents div.infoBox p {
	margin: 0;
	padding: 0;
	color: #333;
}

main section#contents article ul.gallery-list li ,
main section#contents article ul.gallery-list_s li {
	list-style-type: none !important;
}

main section#contents article ul.gallery-list li img {
	width: 100%;
	max-width: 220px;
}

main section#contents article ul.gallery-list_s li img {
	width: 100%;

/*float: left;
  margin-right: 1rem;*/
	max-width: 240px;
}

main section#contents ul.importantNotice {
	margin-bottom: 3rem;
	padding-left: 3rem;
}

main section#contents ul.importantNotice li {
	margin-bottom: 1rem;
	list-style-position: outside;
}

main section#contents figure.figureRight {
	float: right;
	padding-left: 1.4rem;
}

main section#contents figure.figureLeft {
	float: left;
}

main section#contents ul.notice {
	color: #a9a9a9;
	list-style: square inside;
	list-style-type: none;
}

main section#contents ul.notice li {
	padding: 0.5rem 0;
	/*list-style-position: inside;*/
}

main section#contents ul.notice li a {
	color: #003e48 !important;
}

main section#contents article.contactInfo {
	width: 96%;
	margin: 8rem auto;
	padding: 3rem 1rem 0;
	background-color: #ececec;

/*border: 1px solid #cce7f0;*/
	border-radius: 1rem;
	text-align: center;
}

main section#contents article.contactInfo p {
	line-height: 2.5rem;
}

main section#contents div#office ,
main section#contents div#equipment ,
main section#contents div#rescueTeam ,
main section#contents div#handle {
	margin-bottom: 3rem;
}

main section#contents div#office p ,
main section#contents div#equipment p ,
main section#contents div#rescueTeam p ,
main section#contents div#handle p {
	padding-bottom: 1rem;
}

main section#contents article.prBox {
	width: 80%;
	margin: 8rem auto;
	padding: 3rem 1rem 3rem;
	background-color: #ececec;
	text-align: center;
}

main section#contents article.prBox p {
	width: 84%;
	margin: 0 auto;
	padding-left: 1em;
	text-align: start;
	text-indent: -1em;
}

main section#contents div.documentBtn {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
	margin: 2rem 0 0;
	padding-bottom: 2rem;
	border-bottom: 1px dashed #d7d7d7;
}

main section#contents div#office div.box_04 {
	width: 100%;
	margin-bottom: 2rem;
	padding: 1rem;
	border: 2px solid #26a0bf;
	border-radius: 5px;
}

main section#contents div#office div.box_04 article {
	width: 100%;
	margin-bottom: 0;
}

main section#contents div#office div.box_04 article p.small {
	font-size: inherit;
}

main section#contents div#equipment div.box_04 {
	width: 100%;
	margin-bottom: 2rem;
	padding: 1rem;
	border: 2px solid #4a6066;
	border-radius: 5px;
}

main section#contents div#equipment div.box_04 img {
	float: left;
	width: 100%;
	max-width: 300px;
	margin-right: 2rem;
}

main section#contents div.box_04 p {
	padding-bottom: 1rem;
}

main section#contents div.box_04 figure {
	float: left;
	margin-right: 1rem;
}

main section#contents figure.imgRight img {
	float: right;
	width: 30%;
	margin-left: 2rem;
}

main section#contents div.photoBox {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

main section#contents div.photoBox img {
	width: 100%;
	max-width: 300px;
	padding-left: 2rem;
}

main section#contents ul {
	padding-left: 2rem;
	list-style-position: outside;
}

main section#contents ul.chapterSet li.chapter {
	padding-bottom: 1rem;
}

main section#contents ul.chapterSet ul.section {
	padding: 1rem;
}

main section#contents ul.chapterSet ul.item {
	padding: 0.5rem;
}

/* footter
--------------------------------------------------------------*/
.sticky-footer {
	position: absolute;
	bottom: 0;
	width: 100%;
}

footer {
	/*position: absolute;
	bottom: 0;*/
	width: 100%;

/*float: right;*/
	background-color: #cce7f0;
}

footer div.footerContents {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	padding: 3rem 2rem;
	color: #28768c;
}

nav.footerMenu {
	display: flex;

/*flex-direction: column;*/
	justify-content: space-between;
	width: 50%;
	font-weight: bold;
	list-style-type: none;
}

nav.footerMenu ul {
	list-style-type: none;
}

nav.footerMenu ul.menu_l {
	flex: 1;
}

nav.footerMenu ul.menu_r {
	flex: 1;
}

nav.footerMenu ul li {
	padding-bottom: 1rem;
}

nav.footerMenu ul li a {
	color: #28768c;
}

div.footerContents div.footerIndex {
	text-align: end;
}

div.footerContents div.footerIndex div.siteMapHome {
	margin-bottom: 2rem;
	font-size: 1rem;
	letter-spacing: 2px;
}

div.footerContents div.footerIndex div.siteMapHome a {
	color: #28768c;
}

div.footerContents div.footerIndex div.siteMapHome a span {
	font-size: calc((100vw - 320px) / 140 + 16px);
}

div.footerContents div.footerIndex address {
	font-style: normal;
	font-size: 0.8rem;
}

div.footerContents div.footerIndex address a {
	color: #28768c;
}

footer aside {
	float: right;
	margin: 0 2rem 2rem 0;
}

footer aside img {
	padding-left: 1rem;
}

#copyright {
	padding: 0.8rem 0;
	background-color: #191919;
	color: #fff;
	opacity: 1;
	font-size: 0.7rem;
	text-align: center;
}

/* Media query ********************************************************************/

/*********************************************************************/
@media screen and (min-width: 769px) {
	a[href^="tel:"] {
		pointer-events: none;
	}

	nav#drawr {
		display: none;
	}

	div#nav-drawer {
		display: none;
	}
}

/* Media query ********************************************************************/

/*********************************************************************/
@media screen and (max-width: 960px) {
	aside.infoS p {
		width: 300px;
	}

	aside.infoS div.service {
		margin: 2rem auto;
	}

	aside.infoS div.service p {
		width: 96%;
		margin-bottom: 1rem;
	}
}

/* Media query ********************************************************************/

/*********************************************************************/
@media screen and (max-width: 768px) {
	nav .btn {
		display: block;
		position: absolute;
		top: 30px;
		right: 6px;
		z-index: 200;
		width: 35px;
		height: 35px;
		background: transparent url(../img/btn.png) no-repeat 0 0;
		cursor: pointer;
	}

	nav .peke {
		background-position: -35px 0;
	}

	nav .drawr {
		display: none;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 100;
		width: 67vw;
		height: 100vh;
		padding: 20px 0 20px 20px;
		background-color: #28a0bf;
		opacity: 0.9;
	}

	nav #menu li {
		width: 260px;
		list-style-type: none;
	}

	nav #menu li a {
		display: block;
		padding: 5px;
		color: #fff;
	}

	nav #menu li a img {
		display: inline-block;
		width: 14%;
		vertical-align: middle;
	}

	.menuSns {
		margin-top: 0.3rem;
	}

	#nav-drawer {
		position: relative;
		z-index: 999999999999;
		height: 100% !important;
		text-align: end;
	}

	/*チェックボックス等は非表示に*/
	.nav-unshown {
		display: none;
	}

	/*アイコンのスペース*/
	#nav-open {
		display: inline-block;
		right: 10px;
		width: 30px;
		height: 22px;
		vertical-align: middle;
		margin-left: 0.5rem;
	}

	/*ハンバーガーの形をCSSで表現*/
	#nav-open span ,
	#nav-open span:before ,
	#nav-open span:after {
		display: block;
		position: absolute;

/*線の太さ*/
		width: 25px;
		height: 3px;
		background: #555;

/*長さ*/
		border-radius: 3px;
		content: "";
		cursor: pointer;
	}

	#nav-open span:before {
		bottom: -8px;
	}

	#nav-open span:after {
		bottom: -16px;
	}

	/*閉じる用の薄黒箇所*/
	#nav-close {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		width: 100%;
		height: 100%;
		background: black;
		opacity: 0;
		transition: 0.3s ease-in-out;
	}

	/*メニューの中身*/
	#nav-content {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999999999999;
		width: 90%;

/*最大幅（お好みで調整を）*/
		height: 100%;
		max-width: 330px;
		overflow: auto;
		background: #26a0bf;
		transform: translateX(-105%);
		transition: 0.3s ease-in-out;

		-webkit-transform: translateX(-105%);
	}

	#nav-content ul {
		text-align: left;
	}

	#nav-content ul li {
		padding: 0.5rem;
	}

	#nav-content ul li a {
		color: #fff;
	}

	#nav-content ul li img {
		vertical-align: middle;
		padding-right: 1rem;
	}

	/*チェックがついたら表示させる*/
	#nav-input:checked ~ #nav-close {
		display: block;
		opacity: 0.5;
	}

	#nav-input:checked ~ #nav-content {
		box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
		transform: translateX(0%);

		-webkit-transform: translateX(0%);
	}

	/**** nav-drawer ***---------------------------------------------*/

	.flexBox_03 {
		display: flex;
		justify-content: center;
		flex-wrap: nowrap;
	}

	.gridBox {
		grid-template-columns: repeat(3, 1fr);
	}

	.s_wrapper {
		display: none;
	}

	.m_wrapper {
		width: 100%;
		max-width: 1280px;
		padding: 0 1rem 2rem;
	}

	header h1 {
		align-items: center;
		font-size: calc(23px + 9 * (100vw - 768px) / 512);
		text-align: center;
	}

	div#header img {
		display: block;
		width: 15%;
		margin-right: 0.6rem;
	}

	section#branding {
		margin-bottom: 0 !important;
		padding-bottom: 6rem;
	}

	section#branding figure.brandingTitle {
		position: absolute;
		top: 77%;
		left: 5%;
		padding-right: 1rem;
	}

	section.appBox {
		margin: 0;
	}

	section.appBox a.btn_app {
		display: block;
		width: 96%;
		margin: 1rem auto;
		margin-bottom: 1rem;
		padding: 1rem;
		background-color: #26a0bf;
		color: #fff;
		font-size: 1.2rem;
		text-align: center;
	}

	article.update {
		width: 96%;
	}

	article.status {
		width: 96%;
		margin: 1rem 0;
	}

	section#contents {
		margin-top: 2rem;
	}

	section#contents figure {
		width: 46%;
		max-width: 226px;
	}

	section#contents figure img {
		height: auto;
		max-width: 100%;
	}

	main section#contents div.box_04 figure {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	section#socialMedia div.timeLine {
		width: 93vw;
		padding: 0;
		border: none;
	}

	main div.itemList {
		display: block;
		width: 100%;
	}

	main div.itemList div.itemBox {
		width: 90%;
		margin: 2rem auto;
		padding: 1rem;
		box-shadow: 10px 10px 0 0 rgb(76 160 191);
		font-size: 1rem;
	}

	main div.itemList div.itemBox p {
		text-align: center;
	}

	ul.gallery-list_s li img {
		width: 96%;
		max-width: 40vw;
	}

	main section#contents article ul.gallery-list_s li img {
		width: 100%;

/*float: left;
    margin-right: 1rem;*/
		max-width: 150px;
	}

	main section#contents ul.importantNotice {
		padding-left: 2rem;
	}

	/*section#contents div.info_modal {
        max-width: 226px;
        width: 46%;
      }*/

	section#contents div.info_modal ul.info-list li img {
		height: auto;
		max-width: 100%;
	}

	main section#contents figure.imgRight {
		width: 90%;
		max-width: 600px;
		margin: 0 auto 3rem;
	}

	main section#contents figure.imgRight img {
		float: none;
		width: 100%;
		margin-left: 0;
	}

	main section#contents article.prBox {
		width: 96%;
		margin: 3rem auto;
		padding: 2rem 1rem;
	}

	.button_red {
		width: 90%;
		margin-bottom: 1rem;
	}

	.button_blue {
		width: 90%;
		margin-bottom: 1rem;
	}

	.button_Wgray {
		width: 90%;
	}

	article.update ul.infoList li {
		margin-bottom: 0;
	}

	.modaal-content-container table {
		width: 100%;
		margin: 0 auto;
		font-size: 0.8rem;
	}

	footer div.footerContents {
		display: block;
	}

	footer div.footerContents nav.footerMenu {
		width: 90%;
		margin: 0 auto;
	}

	footer div.footerContents div.footerIndex {
		margin-top: 4rem;
		text-align: center;
	}

	div.footerContents div.footerIndex div.siteMapHome a span {
		font-size: calc(28px + 14 * (100vw - 768px) / 512);
	}
}

/*********************************************************************/
