/* vim:set ts=4 sts=4 sw=4 bs=2 ai si noet nu ft=css: */
/* $Id$ */
/* Last Change: 02-October-2022 23:10:11. */

/*
 16   xs: 0,
 17   sm: 480px,
 18   md: 768px,
 19   lg: 960px,
 20   xl: 1280px
*/

/*
html {
	overflow: hidden;
	height: 100%;
}
*/

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	background: url(../images/bg-min.jpg) repeat center center white;
	color: black;
	position: relative;
	line-height: 1.4;

	/*
	overflow-y: scroll;
	overflow-x: hidden;
	height: 100%;
	*/
}

@font-face {
/* 	src: url("./resources/fonts/NotoSansJP-Regular.woff") format("woff"); */
/* 	font-family: "Noto Sans JP"; */
	font-family: "Zen Kaku Gothic New";
	font-style: normal;
	font-display: swap;
}

@font-face {
/* 	src: url("./resources/fonts/NotoSansJP-Regular.woff") format("woff"); */
	font-family: "Noto Sans JP";
	font-style: normal;
	font-display: swap;
}

header {
	position: relative;
	padding-bottom: 3rem;
}

body.subpage header {
	position: relative;
	padding-bottom: 1rem;
}

#header {
	padding-top: 5rem;
/* 	padding-top: 130px; */
	background-color: white;
}

#headers {
	background-color: white;
	height: 5rem;
	padding: 1rem 0 0;
	transition: all 2s;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
}

#headers.Visible {
	position: fixed;
/* 	box-shadow: black 0px 7px 20px; */
	box-shadow: 0 2px 4px 0 rgb(52 52 52 / 30%);
}

/*
header .header_bg {
	background-color: #14194b;
	padding: 13%;
}

header .header_bg img {
	max-height: 400px;
}
*/

#header #menu_toggle img {
	width: 46px;
	height: auto;
}

#header nav li a
{
	font-size: 1.0rem;
	padding-left: 0.5rem;
}

#header nav li a:link,
#header nav li a:active,
#header nav li a:visited,
#header nav li a:hover
{
	color: black;
}

header .sp {
	display: block;
}

header .pc {
	display: none;
}

body.subpage #mv {
	background: url(../images/bg_00.svg) repeat center center;
	background-size: 178px 174px;
	position: relative;
}

body.subpage #mv #main_title {
	max-width: 1280px;
	border-top: 16px solid #badd8c;
	margin: 0 auto;
	padding: 3rem 0 3rem;
	position: relative;
	z-index: 1;
}

body.subpage #mv #main_title:before {
	content: "";
	position: absolute;
	top: -16px;
	left: 0;
	width: 250px;
	height: 16px;
	background-color: #8cc63f;
}

body.subpage #mv #main_title h1.title {
	color: white;
	text-align: center;
}

body.subpage #mv h1 i[data-icon]:before {
	content: "";
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	margin-right: 0.5rem;
}

body.subpage .sec h2 {
	font-size: 1.2rem;
	padding: 0.5rem 1rem;
	background-color: #badd8c;
	border-radius: 4px;
}

body.subpage .sec h2 i[data-icon]:before {
	content: url(../images/icon_head_50.svg);
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	margin-right: 0.5rem;
}

body.subpage .sec p.min {
	font-size: 1.1rem;
	line-height: 1.6;
	padding: 0.5rem;
}

body.subpage #mv #main_title p.subtitle {
	color: #007f7e;
	text-align: center;
}

body.subpage #mv figure {
	max-width: 750px;
	margin: 0 auto;
	position: absolute;
	bottom: -9px;
	left: 0;
	right: 0;
}

body.subpage #mv figure img {
	width: 100%;
}

body.subpage .sec h1 i[data-icon]:before {
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	margin-right: 0.5rem;
}

body.subpage .sec ul.services {
}

body.subpage .sec ul.services li.service {
	padding: 0 1rem;
}

body.subpage .sec ul.services li.service button {
/* 	background-color: #91c844; */
	background-color: #0170bc;
	border: 0;
	padding: 2rem;
	font-size: 1.4rem;
	height: 100%;
	position: relative;
}

body.subpage .sec button i[data-icon]:before {
	display: inline-block;
	width: 1.4rem;
	height: 1.4rem;
	position: absolute;
	bottom: 12px;
	right: 6px;
}

body.subpage .sec button i[data-icon=button_00]:before {
	content: url(../images/icon_button_00.svg);
}

body.subpage .sec button i[data-icon=button_01]:before {
	content: url(../images/icon_button_01.svg);
}

#footer .footer_bg {
	margin-top: 4rem;
	background-color: #14194b;
	color: white;
	padding: 1rem;
}

#footer {
	font-size: 0.9rem;
	color: white;
}

#footer .bg {
	background: url(../images/bg_00.svg) repeat center center;
	background-size: 178px 174px;
	padding: 3rem 0;
	position: relative;
}

#footer .town {
	margin: 0 auto 1rem;
}

#footer .town img {
	width: 100%;
}

#footer p.copyright {
	font-size: 0.9rem;
}

#footer h1 img {
	width: 280px;
}

#footer ul.office {
	width: 100%;
	margin: 0 auto 1.5rem;
	padding: 0 0 0.5rem;
	border-bottom: 3px solid white;

}

#footer ul.office li {
	font-size: 0.95rem;
	padding: 0 0 1rem;
	line-height: 2;
	border-bottom: 2px dashed white;
	margin-bottom: 1rem;
}

#footer ul.office li:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}

#footer ul.office li.line {
	margin-bottom: 1rem;
}

#footer ul.office span {
	display: block;
}

#footer nav .menu {
	width: 100%;
	margin: 0 auto 1rem;
	padding: 0 0 0.5rem;
}

#footer nav .menu li {
	padding: 0.5rem 0;
}

#footer nav .menu li a {
	font-size: 1.1rem;
/* 	padding-bottom: 1rem; */
/* 	margin-bottom: 1rem; */
	border-bottom: 1px dotted white;
	position: relative;
	display: block;
}

#footer nav .menu li a:before {
	font-family: FontAwesome;
	content: "\f054";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3px;
	font-size: 0.8rem;
}

#footer nav .menu li.center-spacing {
}

#footer nav .menu a:link,
#footer nav .menu a:active,
#footer nav .menu a:visited,
#footer nav .menu a:hover
{
	color: white;
}

h1.title {
	font-size: 1.4rem;
	text-align: left;
}

.subtitle {
	font-size: 0.9rem;
	color: #007f7e;
	text-align: left;
	font-weight: 500;
}

img.more {
	width: 200px;
}

#subnavi {
}

#subnavi #contact {
	position: relative;
	padding: 2rem 0;
}

#subnavi #contact.is-show:before {
	content: "";
	background: url(../images/bg_contact.png) no-repeat center center;
	background-size: cover;
	z-index: -1;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	position: fixed;
}

body.subpage .sec .inbox {
	max-width: 780px;
	margin: 0 auto;
}

body.subpage .sec [data-flow-num]:before {
	content: "Step." attr(data-flow-num);
	display: block;
	background-color: #3f84c6;
	color: white;
	padding: 0.5rem 1rem;
	margin-bottom: 0.5rem;
	position: relative;
}

body.subpage .sec .flow-down {
	position: relative;
}

body.subpage .sec .flow-down:after {
	content: "";
	display: block;
	text-align: center;
	background: url(../images/icon_down_01.svg) no-repeat center center;
	background-size: contain;
	position: relative;
	height: 36px;
	margin: 2rem auto 1rem;
}

body.subpage .sec .row.flow-down:after {
	flex: 0 0 100%;
}


.psection {
  width: 100%;
/*   height: 100vh; */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
}

.parallax {
  width: 100%;
  height: 400px;
/*   height: 100vh; */
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.parallax01 {
	background: url(../images/bg_contact.png) no-repeat center center;
	background-size: cover;
}

#subnavi #contact img {
	width: 100%;
	max-width: 800px;
}

#subnavi #banner {
	background-color: white;
	padding: 1rem 0;
}

#subnavi #banner_blog img {
	width: 94%;
	padding: 0 0 0 1.2rem;
}

#subnavi #banner_faq img {
	width: 105%;
	padding: 0 0 1rem 0.7rem;
}

figure {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

p, li {
	font-size: 1.4rem;
}

body.index #list li img {
	width: 100%;
	max-width: 619px;
}

body.subpage .sec {
	background-color: white;
	margin-top: -1px;
	padding-top: 3rem;
}

body.subpage .sec figure.photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.subpage .sec #office {
	border: 8px solid #007f7e;
	border-radius: 10px;
	padding: 2rem 3rem;
	background-color: #fff4dd;
	margin: 0 auto;
	max-width: 420px;
}

body.subpage .sec .container.bg-wrapper {
	background-color: white;
	padding-bottom: 3rem;
}

body.subpage .sec #office ul {
	margin: 0 auto;
}

body.subpage .sec #office li {
	line-height: 3;
	padding: 0;
	border-bottom: 10px dotted #007f7e;
}

body.subpage .sec #office li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

body.subpage .sec #office li img {
	width: 100%;
}

#menuModal .modal-dialog {
  margin: 0 0 0 0;
  max-width: 100%;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;
}

#menuModal .modal-dialog a,
#menuModal .modal-dialog a:hover,
#menuModal .modal-dialog a:visited,
#menuModal .modal-dialog a:active {
/* 	color: #522f16; */
	color: #124c10;
}


 
#menuModal .modal-content {
  height: 100%;
  min-height: 100%;
  border-radius: 0;
/*   background: rgba(244, 237, 227, 0.90); */
/*   background: rgba(244, 237, 227, 1); */
  background: white;
  overflow:auto;
}
 
#menuModal .modal-content .modal-header{
  border: 0px;
/* 	background-color: #584530; */
	color: white;
}
 
#menuModal .modal-content button{
  opacity: 1;
}
 
#menuModal .modal-content button span{
  font-weight: 1;
  font-size: 26px;
  text-shadow: none;
}
 
#menuModal .modal-body .modal-logo {
	text-align: center;
	padding-bottom: 2rem;
	margin-bottom: 0.5rem;
/* 	border-bottom: 6px solid #d3c5b5; */
	border-bottom: 6px solid #006837;
	color: #006837;
}
 
#menuModal .modal-body .modal-logo img {
	width: 200px;
	height: auto;
}
 
#menuModal .modal-body ul {
	padding: 0 0 0 0;
}
#menuModal .modal-body > ul li {
	padding: 1rem 0;
	padding-left: 1rem;
	border-bottom: 1px dotted #007f7e;
	position: relative;
	z-index: 1;
}
#menuModal .modal-body > ul li a:after {
	font-family: FontAwesome;
	content: "\f054";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1rem;
	height: 1rem;
	font-size: 1rem;
	display: inline-block;
	z-index: 0;
	margin: auto;
}
#menuModal .modal-body li[data-acc-id].o_close {
	/* 閉じている状態 */
	padding: 0 0;
	border-bottom: 0;
	line-height: 0;
	opacity: 0;
	visibility: hidden;
	/* 閉じるアニメーション */
	transition:
		line-height .3s ease-out;
}
#menuModal .modal-body li[data-acc-id].o_close li {
	padding: 0 0;
	border-bottom: 0;
}
#menuModal .modal-body li[data-acc-id].o_close.o_open {
	/* 開いている状態 */
	line-height: 1.5;
	opacity: 1;
	visibility: visible;
	/* 開くアニメーション */
	transition:
		line-height .3s ease-out,
		opacity     .5s linear .1s,
		visibility  .5s linear .1s;
}
#menuModal .modal-body li[data-acc-id] ul {
	padding: 0;
}
#menuModal .modal-body li[data-acc-id] ul li a:after {
	right: 1rem;
}
#menuModal .modal-body li[data-acc-id] ul li {
	background: beige;
}
#menuModal .modal-body li[data-acc-id].o_close.o_open li {
	padding: 1rem 2rem;
	border-bottom: 1px dotted #007f7e;
}
#menuModal .modal-body li[data-acc-id] li:last-child {
	padding: 0;
	border-bottom: 0;
}
#menuModal .modal-body > ul li[data-acc] {
	cursor: pointer;
	padding-left: 2rem;
	color: #124c10;
}
#menuModal .modal-body > ul li[data-acc]:after {
	font-family: FontAwesome;
/* 	content: "\f055"; */
	content: "\f078";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3px;
	height: 1rem;
	font-size: 1rem;
	display: inline-block;
	z-index: 0;
	margin: auto;
}
#menuModal .modal-body > ul li[data-acc].o_open:after {
	font-family: FontAwesome;
/* 	content: "\f056"; */
	content: "\f077";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3px;
	height: 1rem;
	font-size: 1rem;
	display: inline-block;
	z-index: 0;
	margin: auto;
}
#menuModal .modal-body a {
/*   font-size: 16px; */
	display: block;
}
 
#menuModal .modal-body .social img {
  width: 56px;
  margin: 8px;
}
#menuModal .modal-title{
}

/* md: 768px */
@media screen and (min-width: 768px) {

}

