@charset "utf-8";

body,div,h1,h2,h3,h4,h5,dl,dt,dd,ul,ol,li,p {
margin:0;
padding:0;
border:none
}

img {
border:0;
margin:0;
padding:0;
vertical-align:bottom;
line-height:0
}

html {
overflow-y:scroll;
margin-bottom:1px;
height:100%
}

ul,ol {
list-style:none
}

li {
list-style-position:outside
}

table {
border-collapse:collapse
}

th,td {
padding:0;
text-align:left;
vertical-align:top
}

.clearfix:after {
visibility:hidden;
display:block;
font-size:0;
content:" ";
clear:both;
height:0
}

* html .clearfix {
zoom:1
}

:first-child+html .clearfix {
zoom:1
}

.wf-notosansjapanese {
font-family:"Noto Sans Japanese"
}

body {
font-family:"Noto Sans Japanese","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
font-feature-settings:palt;
font-size:1.05em;
line-height:1.8;
letter-spacing:.05em;
color:#131313;
word-break:break-all
}

a {
text-decoration:none
}

p {
text-align:justify;
text-justify:inter-ideograph
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
display:block
}

audio,canvas,video {
display:inline-block
}

audio:not([controls]) {
display:none;
height:0
}

[hidden] {
display:none
}

html {
font-family:sans-serif;
-ms-text-size-adjust:100%;
-webkit-text-size-adjust:100%
}

body {
margin:0
}

a:focus {
outline:thin dotted
}

a:active,a:hover {
outline:0
}

h1 {
font-size:2em;
margin:.67em 0
}

abbr[title] {
border-bottom:1px dotted
}

b,strong {
font-weight:700
}

dfn {
font-style:italic
}

hr {
-moz-box-sizing:content-box;
box-sizing:content-box;
height:0
}

mark {
background:#ff0;
color:#000
}

code,kbd,pre,samp {
font-family:monospace,serif;
font-size:1em
}

pre {
white-space:pre-wrap
}

q {
quotes:"\201C" "\201D" "\2018" "\2019"
}

small {
font-size:80%
}

sub,sup {
font-size:75%;
line-height:0;
position:relative;
vertical-align:baseline
}

sup {
top:-.5em
}

sub {
bottom:-.25em
}

img {
border:0
}

svg:not(:root) {
overflow:hidden
}

figure {
margin:0
}

fieldset {
border:1px solid silver;
margin:0 2px;
padding:.35em .625em .75em
}

legend {
border:0;
padding:0
}

button,input,select,textarea {
font-family:inherit;
font-size:100%;
margin:0
}

button,input {
line-height:normal
}

button,select {
text-transform:none
}

button,html input[type="button"],input[type="reset"],input[type="submit"] {
-webkit-appearance:button;
cursor:pointer
}

button[disabled],html input[disabled] {
cursor:default
}

input[type="checkbox"],input[type="radio"] {
box-sizing:border-box;
padding:0
}

input[type="search"] {
-webkit-appearance:textfield;
-moz-box-sizing:content-box;
-webkit-box-sizing:content-box;
box-sizing:content-box
}

input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {
-webkit-appearance:none
}

button::-moz-focus-inner,input::-moz-focus-inner {
border:0;
padding:0
}

textarea {
overflow:auto;
vertical-align:top
}

table {
border-collapse:collapse;
border-spacing:0
}

#trigger-overlay {
position:fixed;
top:10px;
right:5px;
border:none;
background:none;
z-index:10000
}

.overlay {
position:fixed;
width:100%;
height:100%;
top:0;
left:0;
background:#fff;
z-index:100000
}

.overlay .overlay-close {
width:50px;
height:50px;
position:absolute;
right:10px;
top:10px;
overflow:hidden;
border:none;
background:url(../img/menu_close.png) no-repeat center center;
text-indent:200%;
color:transparent;
outline:none;
z-index:99999
}

.overlay nav {
text-align:center;
position:relative;
font-size:1em
}

.overlay ul {
list-style:none;
padding:0;
margin:0 auto;
display:inline-block;
position:relative
}

.overlay ul li img {
max-width:120px
}

.overlay ul li a {
font-weight:300;
display:block;
color:#727272;
-webkit-transition:color .2s;
transition:color .2s
}

.overlay ul li a:hover,.overlay ul li a:focus {
color:#88cccf
}

.overlay-hugeinc {
opacity:0;
visibility:hidden;
-webkit-transition:opacity 0.5s,visibility 0 .5s;
transition:opacity 0.5s,visibility 0 .5s
}

.overlay-hugeinc.open {
opacity:1;
visibility:visible;
-webkit-transition:opacity .5s;
transition:opacity .5s
}

.overlay-hugeinc nav {
-webkit-perspective:1200px;
perspective:1200px
}

.overlay-hugeinc nav ul {
opacity:.4;
-webkit-transform:translateY(-25%) rotateX(35deg);
transform:translateY(-25%) rotateX(35deg);
-webkit-transition:-webkit-transform 0.5s,opacity .5s;
transition:transform 0.5s,opacity .5s
}

.overlay-hugeinc.open nav ul {
opacity:1;
-webkit-transform:rotateX(0deg);
transform:rotateX(0deg)
}

.overlay-hugeinc.close nav ul {
-webkit-transform:translateY(25%) rotateX(-35deg);
transform:translateY(25%) rotateX(-35deg)
}

.overlay nav.gNav {
position:relative
}

.overlay nav.gNav ul {
width:100%;
margin:30px 0 10px;
color:#22a271
}

.overlay nav.gNav a {
padding:10px;
font-size:1.05em;
letter-spacing:.15em;
color:#22a271;
display:block
}

.overlay nav.gNav img {
max-width:80px;
margin-bottom:30px;
position:absolute;
top:15px;
left:20px
}

.overlay nav.gNav ul li:nth-child(even) {
border-bottom:solid 2px #4fb58e
}

.overlay nav.gNav ul li:nth-child(odd) {
border-bottom:solid 2px #8ccab2
}

.overlay nav.topNav {
width:100%;
padding:0
}

.overlay nav.topNav ul {
margin-top:10px
}

.overlay nav.topNav li {
margin:0 10px 10px;
display:inline-block
}

.overlay nav.topNav li a {
padding:0;
font-size:.85em;
line-height:1;
display:block
}

.overlay nav.topNav ul li > ul {
display:flex;
justify-content:center;
flex-wrap:wrap;
visibility:hidden;
opacity:0;
z-index:1
}

.overlay nav.topNav ul {
*zoom:1
}

.overlay nav.topNav ul > li {
width:47%;
margin:10px 0;
padding:5px 0;
position:relative
}

.overlay nav.topNav ul > li a {
color:#131313;
line-height:1
}

.overlay nav.topNav ul > li:nth-child(1) a,.overlay nav.topNav ul > li:nth-child(3) a {
border-right:solid 1px #969696;
padding-right:15px
}

.overlay nav.topNav a.inquiry {
margin-top:20px;
padding:10px 0;
color:#fff;
display:block;
background:#22a271
}

.overlay nav.topNav dl.language {
color:#fff;
background:#00683d
}

.overlay nav.topNav dl.language a {
display:block;
color:#fff
}

.overlay nav.topNav dl.language dt {
padding:10px 0;
position:relative;
cursor:pointer
}

.overlay nav.topNav dl.language dt .yajirushi {
width:10px;
height:10px;
border:2px solid;
border-color:transparent transparent #fff #fff;
transform:rotate(-45deg);
position:absolute;
top:12px;
left:30px
}

.overlay nav.topNav dl.language dd {
padding:10px 0;
display:none
}

.overlay nav.topNav dl.language dd a {
margin:0 20px;
padding:5px 20px 5px 30px;
display:inline-block
}

.overlay nav.topNav dl.language dd > a .maru {
position:relative
}

.overlay nav.topNav dl.language dd > a .maru::before {
position:absolute;
content:'';
width:20px;
height:20px;
background:#fff;
border-radius:50%;
top:10px;
left:-30px;
margin-top:-5px
}

.overlay nav.topNav dl.language dd > a .maru::after {
position:absolute;
content:'';
width:6px;
height:6px;
border-top:solid 2px #00683d;
border-right:solid 2px #00683d;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
top:11px;
left:-26px;
margin-top:0
}

.overlay nav.topNav .search {
padding:20px 0;
background:#b7183e
}

.overlay nav.topNav .search input[type="text"] {
width:200px;
height:30px;
padding:0;
border:none;
border-radius:0
}

.overlay nav.topNav .search input[type="submit"] {
width:80px;
height:30px;
text-align:center;
color:#fff;
cursor:pointer;
border:none;
border-radius:0;
background:#A58C4C
}

.navBox {
display:flex
}

h1 img {
width:120px;
margin:0 20px
}

img.i70th {
width:133px;
height:53px;
margin-top:35px
}

.navBox > nav.gNav {
display:none
}

header > .topNav {
display:none
}

#main {
width:100%;
background:url(../img/bg_midori.jpg) repeat
}

header ol {
width:90%;
margin:0 auto;
padding:20px 0;
display:flex;
flex-flow:row wrap;
justify-content:flex-end
}

header ol li {
font-size:.85em;
margin-left:12px;
padding-left:25px;
position:relative
}

header ol li::before {
width:6px;
height:6px;
margin-top:-5px;
content:'';
border-top:solid 2px #898989;
border-right:solid 2px #898989;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
position:absolute;
top:50%;
left:0
}

header ol li:nth-child(1)::before {
border:none
}

header ol li a {
color:#131313;
display:block
}

section {
width:100%;
margin:0 auto
}

footer {
padding:0 0 25px;
background:-moz-linear-gradient(left,#b9cf28,#22a372 50%);
background:-webkit-linear-gradient(left,#b9cf28,#22a372 50%);
background:linear-gradient(to right,#b9cf28,#22a372 50%)
}

footer .footerInner {
width:100%;
margin:0 auto
}

footer section {
width:100%;
margin:0 auto
}

footer ul {
margin-bottom:20px;
padding:20px;
display:flex;
flex-direction:column;
background:url(../img/footer_bg_sp.png) repeat
}

footer ul li {
width:265px
}

footer ul li:nth-child(1) {
margin-bottom:20px
}

footer ul li:nth-child(1) img {
width:120px
}

footer ul li a {
padding:5px 0;
font-size:1em;
color:#fff;
display:block
}

footer dl {
width:100%;
margin:0 auto;
color:#fff;
position:relative
}

footer dl dt {
padding:0 0 0 30px;
font-size:1em;
font-weight:700
}

footer dl dt b {
padding-bottom:5px;
display:block
}

footer dl dt > a {
margin:0 5px 5px 0;
height:18px;
padding:6px 32px 4px 8px;
font-size:.9em;
font-weight:400;
letter-spacing:0;
line-height:1;
color:#fff;
display:inline-block;
background:#65bf9c
}

footer dl dt > a .maru {
position:relative
}

footer dl dt > a .maru::before {
position:absolute;
content:'';
width:18px;
height:18px;
background:#fff;
border-radius:50%;
top:-8px;
right:-27px;
margin-top:-7px
}

footer dl dt > a .maru::after {
position:absolute;
content:'';
width:5px;
height:5px;
border-top:solid 2px #65bf9c;
border-right:solid 2px #65bf9c;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
top:0;
right:-20px;
margin-top:-10px
}

footer dl dd {
margin:5px 0 20px;
padding:0 0 20px 30px;
font-size:.9em;
border-bottom:solid 1px #dcf1e9
}

footer dl dd span {
display:block
}

footer dl dd a {
color:#fff
}

footer dl dd.mapImg {
display:none
}

footer p.c {
margin:0 auto;
padding-left:30px;
font-size:1em;
color:#fff
}

.detail img {
max-width:100%;
height:auto
}

.nextPage .block {
display:block;
padding:10px
}

.ofi {
width:100%;
min-height:100%;
object-fit:cover;
object-position:50% 50%;
font-family:"object-fit: cover; object-position: 50% 50%;"
}

.contents {
width:96%;
margin:30px auto;
padding:50px 0 30px;
clear:both
}

.contents p {
width:90%;
margin:0 auto 20px;
padding:0;
letter-spacing:.15em
}

.contents h2 {
font-size:1.5em;
font-weight:700;
text-align:left;
width:90%;
margin:0 auto 20px;
letter-spacing:.15em
}

.contents h3 {
width:90%;
min-height:24px;
margin:60px auto 20px;
padding-left:30px;
font-size:1em;
letter-spacing:.15em;
line-height:1.3;
background:url(../img/contents/h4_icon.png) repeat-y center left
}

.contents h4 {
padding:4px 20px;
font-size:1em;
letter-spacing:.15em;
border-top:solid 6px #dcefef;
border-right:solid 6px #dcefef;
border-bottom:solid 6px #dcefef;
border-left:solid 6px #dcefef
}

.contents img {
max-width:100%;
height:auto
}

.contents table {
width:100%!important
}

.contents ol {
list-style:decimal;
margin-left:1.5rem
}

.contents ul {
list-style:unset;
margin-bottom:.5rem;
margin-left:1.5rem
}

.contents ul li {
list-style-position:outside
}

.contents ul {
list-style:unset;
margin-bottom:.5rem;
margin-left:1.5rem
}

.contents ul li,.contents ol li {
list-style-position:outside
}

.contents table th {
background-color:#b9dfd0;
border:1px solid #fff;
border-left-color:#b9dfd0;
font-weight:400
}

.contents table td {
border-color:#bdb2b2;
background-color:#fff;
border:1px solid #bdb2b2
}

.contents table tr th:last-child {
border-right-color:#b9dfd0
}

.contents table tr:first-child th {
border-top-color:#b9dfd0
}

.contents table tr:last-child th {
border-bottom-color:#b9dfd0
}

.contents table th,.contents table td {
padding:5px .75rem
}

.contents table img {
min-width:90px
}

.contact-form,.contact-form-field,.contact-form-submit {
width:100%!important
}

.form-label,form-element {
width:100%!important;
text-align:left!important
}

.form-label *,.form-element * {
width:90%!important;
margin:0 5%!important;
font-size:inherit!important
}

p.form-label span.must {
font-size:12px!important
}

.contact-form-submit input[type="submit"] {
margin:0 auto!important;
width:118px!important;
display:block!important
}

.youtube {
position:relative;
padding-bottom:56.25%;
height:0;
overflow:hidden
}

.youtube iframe {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}

/*Add20190828*/
nav.gNav_sm ul {
display: flex;
color: #22a271;
justify-content: center;
}

nav.gNav_sm a {
padding:10px 1rem;
font-size:1.05em;
letter-spacing:.15em;
color:#22a271;
display:block;
}

nav.gNav_sm ul li{
width: 45%;
text-align: center;
margin-bottom: 11px;
}

nav.gNav_sm ul li:nth-child(odd) {
border-bottom:solid 3px #4fb58e;
}

nav.gNav_sm ul li:nth-child(even) {
border-bottom:solid 3px #8ccab2;
}
/*Add20191018*/
.title_lg{display:none;}