@charset "UTF-8";

#wrapper {
width:100%;}
.container {
position:relative;
padding:77px 0;}
.contents {
position:relative;
margin:0 auto;
width:90%;
max-width:1200px;}
.contents-2col {
text-align:left;
justify-content:space-between;
-ms-flex-pack:justify;}
.main {
width:68%;
max-width:780px;}
.sidebar {
width:27%;
max-width:300px;}

@media only screen and (max-width:1023px) {

.container {
padding:7.7% 0;}
.main {
margin:0 auto;
width:100%;}
.sidebar {
margin:7.5% auto 0;
width:100%;
max-width:780px;}

}

@media only screen and (max-width:640px) {

.container {
padding:50px 0;}
.sidebar {
margin:50px auto 0;}

}

/* header ============ */

.header {
font-family:'M PLUS Rounded 1c',sans-serif;
position:fixed;
z-index:999;
top:0;
left:0;
width:100%;
height:90px;
transition:0.25s;}
.header .logo {
z-index:9999;
position:absolute;
left:15px;
top:50%;
width:36%;
max-width:440px;
transition:0.25s;
transform:translate(0,-50%);}
.header.scrolled {
height:60px;
background:rgba(255,255,255,0.9);}
.header.scrolled .logo {
left:10px;
width:76%;
max-width:286px;}

@media only screen and (max-width:1023px) {

.header {
height:60px;}
.header .logo {
left:10px;
width:76%;
max-width:330px;}

}

/* gmenu-pc =================== */

.gmenu-pc {
z-index:9998;
position:absolute;
right:72px;
top:50%;
width:54%;
max-width:720px;
transform:translate(0,-50%);}
.gmenu-pc > li {
position:relative;
flex-grow:1;}
.gmenu-pc > li.arrow::before {
content:"";
position:absolute;
left:50%;
bottom:3px;
width:0;
height:0;
border-left:5px solid #1c9745;
border-right:5px solid #1c9745;
border-top:5px solid #1c9745;
border-bottom:5px solid #1c9745;
transform:translate(-50%,0);
border-radius:50%;
transition:0.25s;}
.gmenu-pc > li.arrow:hover::before {
border-left:6px solid transparent;
border-right:6px solid transparent;
border-top:0px solid transparent;
border-bottom:8px solid #1c9745;
border-radius:0%;
transform:translate(-50%,0);}
.gmenu-pc > li > a {
position:relative;
display:block;
font-size:108%;
line-height:55px;
letter-spacing:0.00em; 
white-space:nowrap;
color:#222;}
.gmenu-pc > li > a:hover {
color:#e82;}
.gmenu-pc > li ul.sub-menu {
visibility:hidden;
opacity:0;
position:absolute;
z-index:300;
top:80%;
left:50%;
width:200px;
overflow:hidden;
background:linear-gradient(0deg,#e5f6e1,#f3f8f1);
border-radius:6px;
box-shadow:2px 2px 3px 0 rgba(0,0,0,0.1);
transition:0.25s;
transform:translate(-50%,0);}
.gmenu-pc > li:hover ul.sub-menu {
top:100%;
visibility:visible;
opacity:1;}
.gmenu-pc > li ul.sub-menu li {}
.gmenu-pc > li ul.sub-menu li a {
display:block;
font-size:92%;
line-height:45px;
color:#222;
white-space:nowrap;
border-bottom:1px solid #bee8b4;}
.gmenu-pc > li ul.sub-menu li:last-child a {
border-bottom:none;}
.gmenu-pc > li ul.sub-menu li a:hover {
background:rgba(255,255,255,0.5);}

@media only screen and (max-width:1100px) {

.gmenu-pc > li > a {
font-size:100%;}

}

@media only screen and (max-width:1023px) {

.gmenu-pc {
display:none;}

}

.bnr-fix {
position:fixed;
z-index:999;
right:0;
top:150px;
width:70px;}
.bnr-fix ul {}
.bnr-fix ul li {
padding:0 0 15px 0;}
.bnr-fix ul li a {
display:block;
padding:16px 11px 16px 3px;
background-color:#bee8b4;
background-image:repeating-linear-gradient(-55deg,rgba(255,255,255,0.3) 0, rgba(255,255,255,0.3) 1px,transparent 1px, transparent 3px);
border-radius:20px 0 0 20px;
box-shadow:3px 3px 5px 0 rgba(0,0,0,0.2);
transform:translate(8px,0);
transition:transform 0.25s;}
.bnr-fix ul li:nth-child(2) a {
background-color:#531;}
.bnr-fix ul li a:hover {
transform:translate(0,0);}

@media only screen and (max-width:1023px) {

.bnr-fix {
display:none;}

}

/* hamburger gmenu-sp =================== */

.gmenu-sp-button {
position:fixed;
z-index:10000;
display:flex;
cursor:pointer;
justify-content:center;
align-items:center;
border:none;
outline:none;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
top:20px;
right:10px;
width:50px;
height:50px;
background:#1c9745;
border-radius:50%;
transition:0.25s;}
.gmenu-sp-button:hover {
background:#e82;}
.header.scrolled .gmenu-sp-button {
top:5px;}
.gmenu-sp-button span, .gmenu-sp-button span::before, .gmenu-sp-button span::after {
content:"";
position:absolute;
display:block;
height:1px;
width:30px;
background:#fff;
transition:0.25s;}
.gmenu-sp-button span::before {
bottom:7px;}
.gmenu-sp-button span::after {
top:7px;}
.gmenu-sp-button.active {
display:flex;
background:none;}
.gmenu-sp-button.active span {
background:none;}
.gmenu-sp-button.active span::before {
bottom:0;
background:#000;
transform:rotate(45deg);}
.gmenu-sp-button.active span::after {
top:0;
background:#000;
transform:rotate(-45deg);}
#gmenu-sp-btn-check {
display:none;}

@media only screen and (max-width:1023px) {

.gmenu-sp-button {
top:0px;
right:0px;
width:60px;
height:60px;
border-radius:0 0 0 15px;}
.header.scrolled .gmenu-sp-button {
top:0px;}

}

.gmenu-sp-bg {
pointer-events:none;
opacity:0;
position:fixed;
z-index:9998;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.1);
transition:0.25s;}
.gmenu-sp-bg.active {
pointer-events:auto;
opacity:1;}
.gmenu-sp-container {
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
pointer-events:none;
opacity:0;
position:fixed;
z-index:9999;
overflow-y:auto;
overscroll-behavior-y:contain;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(255,255,255,0.95);
transition:0.25s;}
.gmenu-sp-container.active {
pointer-events:auto;
opacity:1;}
.gmenu-sp-modal {
margin:70px auto 40px;
width:85%;
max-width:480px;}
.gmenu-sp-modal .gmenu-sp-logo {
margin:0 0 18px 0;}
.gmenu-sp-contact {
margin:0 0 20px 0;
width:100%;
overflow:hidden;
border-radius:10px;}
.gmenu-sp-contact li {
width:50%;}
.gmenu-sp-contact li a {
position:relative;
display:block;
padding:28px 0 0 0;
font-size:84%;
line-height:28px;
white-space:nowrap;
overflow:hidden;
color:#222;
background-color:#bee8b4;
background-image:repeating-linear-gradient(-55deg,rgba(255,255,255,0.3) 0, rgba(255,255,255,0.3) 1px,transparent 1px, transparent 3px);
box-shadow:0 0 0 1px rgba(255,255,255,1);
transition:background-color 0.25s;}
.gmenu-sp-contact li a:hover {
background-color:#e82;}
.gmenu-sp-contact li a::after {
content:"";
position:absolute;
z-index:2;
top:10px;
right:50%;
width:20px;
height:20px;
background:url("../images/i_tel.svg") no-repeat center center / contain;
transform:translate(50%,0);}
.gmenu-sp-contact li:nth-child(2) a::after {
background:url("../images/i_mail.svg") no-repeat center center / contain;}
.gmenu-sp-contact li:nth-child(3) a::after {
background:url("../images/i_rsv.svg") no-repeat center center / contain;}
ul.gmenu-sp {}
ul.gmenu-sp a {
display:block;
color:#222;}
ul.gmenu-sp a:hover {
color:#e82;}
ul.gmenu-sp > li {
text-align:left;
padding:0 0 0 8px;
border-bottom:1px solid #ddd;}
ul.gmenu-sp > li > a {
position:relative;
padding:0 0 0 4px;
font-size:108%;
line-height:48px;
white-space:nowrap;}
ul.gmenu-sp > li > a::before {
content:"";
position: absolute;
right:100%;
top:50%;
width: 0;
height: 0;
border-style: solid;
border-width: 5px 0 5px 8px;
border-color: transparent transparent transparent #000;
transform:translate(0,-50%);}
ul.gmenu-sp ul.sub-menu {
padding:0 0 15px 0;}
ul.gmenu-sp ul.sub-menu a {
padding:0 0 0 6px;
font-size:92%;
line-height:30px;
white-space:nowrap;}

@media only screen and (max-width:640px) {

.gmenu-sp-contact li a {
padding:21px 0 0 0;
font-size:68%;
line-height:24px;}
.gmenu-sp-contact li a::after {
top:7px;
right:50%;
width:16px;
height:16px;}

}

/* mainimg ============= */

.mainimg {
text-align: left;
z-index:-1;
margin:95px 0 0 20px;
padding:65px;
background:url("../images/bg01.jpg") repeat center center / 240px;
border-radius:50px 0 0 50px;}
.mainimg .ttl {
font-family:'M PLUS Rounded 1c',sans-serif;
font-size:260%;
line-height:1.2;
font-weight:400;}
.mainimg .ttl-eng {
font-family:"Afacad Flux", sans-serif;
margin:0.3em 0 0 0;
font-size:132%;
line-height:1.2;
letter-spacing:0.1em;
color:#138e58;}

@media only screen and (max-width:1023px) {

.mainimg {
margin:70px 0 0 15px;
padding:6.5%;}

}

@media only screen and (max-width:640px) {

.mainimg {
margin:70px 0 0 12px;
padding:8%;
border-radius:35px 0 0 35px;}
.mainimg .ttl {
font-size:7vw;}
.mainimg .ttl-eng {
font-size:3.6vw;}

}

/* bread ========== */

.bread {
margin:1em 0 0 0;
padding:0 25px;
text-align:left;}
.bread ul li {
font-size:76%;
line-height:1.3;}
.bread ul li:not(:last-of-type) {
display:flex;}
.bread ul li:not(:last-of-type)::after {
content:">";
display:block;
margin:0 6px;}
.bread ul li a {
color:#222;}
.bread ul li a:hover {
color:#e82;}

@media only screen and (max-width:640px) {

.bread {
padding:0 15px;}
.bread ul li {
font-size:68%;}

}

/* sidebar ======================== */

.sidebar h2 {
margin:0 0 1.0em 0;
padding:0 0 3px 0;
font-size:140%;
line-height:1.2;
border-bottom:1px solid #555;}
.sidebar_tab {
margin:25px 0 0 0;}
.sidebar_tab .tab_menu li {
text-align:center;
width:50%;
font-size:15px;
line-height:48px;
white-space:nowrap;
overflow:hidden;
border-radius:10px 10px 0 0;}
.sidebar_tab .tab_menu li a {
display:block;
color:#000;}
.sidebar_tab .tab_menu li.active a {
background:#e5f6e1;}
.sidebar_tab .tab_menu li a:hover {
color:#e82;}
.sidebar_tab .sidebar_tab_contents {
padding:15px;
background:#e5f6e1;
border-radius:0 0 10px 10px;}
.sidebar-archive {
padding:0 5px;}
.sidebar-archive li {
font-size:76%;
line-height:1.3;
width:50%;
padding:6px 0 5px 15px;
background:url("../images/i_arrow.svg") no-repeat left center / 10px;}
.sidebar-topics {  
padding:0 5px;}
.sidebar-topics li {
padding:11px 0 0 0;
margin:11px 0 0 0;
border-top:1px dotted rgba(102,51,17,0.5);}
.sidebar-topics li:first-child {
margin:0;
border-top:none;}
.sidebar-topics .ttl {
font-size:92%;
line-height:1.3;}
.sidebar-topics .date {
margin:7px 0;
font-size:76%;
line-height:1.3;
color:#555;}

@media only screen and (max-width:1023px) {

.sidebar-archive li {
width:33.33333%;}

}

@media only screen and (max-width:640px) {

.sidebar-archive li {
width:50%;}

}

/* footer ==================== */

.footer-address {
text-align:left;
justify-content:space-between;
-ms-flex-pack:justify;
align-items:center;
background:#fff;}
.footer-address .left {
padding:0 55px;
width:50%;
max-width:600px;
line-height:1.5;}
.footer-address .right {
padding:40px 0;
width:50%;
min-width:calc(100% - 600px);}
.footer-address .logo {
margin:0 0 12px 0;}
.footer-address .tel {
margin:12px 0 15px 0;
font-size:204%;
line-height:1.2;
font-weight:bold;}
.footer-address .tel a {
color:#222;}
.footer-address iframe {
width:100%;
vertical-align:bottom;
border-radius:40px 0 0 40px;}
.footer {
font-family:'M PLUS Rounded 1c',sans-serif;
padding:25px 0;
background:linear-gradient(0deg,#02892f,#1c9745);}
.fmenu {
margin:0 auto;
width:100%;
max-width:950px;}
.fmenu li {
flex-grow:1;}
.fmenu li a {
position:relative;
display:block;
font-size:92%;
line-height:50px;
white-space:nowrap;
color:#fff;
transition:0.25s;}
.fmenu li a:hover {
color:#e82;}
.fmenu li a::after {
content:"";
position:absolute;
left:0px;
top:50%;
width:1px;
height:16px;
background:#fff;
transform:translate(0,-50%);}
.fmenu li:nth-child(1) a::after {
display:none;}
.footer-copyright {
padding:1em 0;
font-size:76%;
line-height:1.2;
letter-spacing:0.0.5em;
background:#bee8b4;}

@media only screen and (max-width:1023px) {

.footer-address {
text-align:center;}
.footer-address .left {
margin:50px auto 0;
padding:0;
width:88%;}
.footer-address .right {
padding:50px 0 0 0;
width:100%;}
.footer-address iframe {
border-radius:0;}
.footer {
padding:0;}
.fmenu {
max-width:100%;}
.fmenu li {
width:50%;
border-left:1px solid rgba(255,255,255,0.5);
border-bottom:1px solid rgba(255,255,255,0.5);}
.fmenu li:nth-child(odd) {
border-left:none;}
.fmenu li:nth-child(1) {
width:50%;}
.fmenu li a:hover {
color:#fff;
background:rgba(255,255,255,0.2);}
.fmenu li a::after {
display:none;}

}

.page-top {
opacity:0;
pointer-events:none;
position:fixed;
z-index:999;
bottom:12px;
right:12px;
width:38px;
height:38px;
line-height:0;
transition:0.25s;}
.page-top.scrolled {
opacity:1;
pointer-events:auto;}
.page-top a {
position:relative;
display:block;
width:100%;
height:100%;
background:#1c9745;
transition:0.25s;
border-radius:50%;}
.page-top a:hover {
background:#e82;}
.page-top a::after {
content:"";
position:absolute;
z-index:2;
left:50%;
top:50%;
width:25%;
height:25%;
border-top:1px solid #fff;
border-right:1px solid #fff;
transform:translate(-50%,-30%) rotate(-45deg);}
