@charset "UTF-8";

/* common */

#wrapper {
padding:120px 0 0 0;
width:100%;
overflow-x:hidden;}
.container {
position:relative;
padding:70px 0;
width:100%;}
.contents {
position:relative;
margin:0 auto;
width:93%;
max-width:1100px;}
.main {
float:left;
width:73%;
max-width:750px;
text-align:left;}
.sidebar {
float:right;
width:23%;
text-align:left;}

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

#wrapper {
padding:0;}
.container {
padding:7% 0;}
.main {
float:none;
width:100%;
max-width:750px;
margin:0 auto;}
.sidebar {
float:none;
width:100%;
max-width:750px;
margin:0 auto;
padding:7% 0 0 0;}

}

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

.container {
padding:45px 0;}
.sidebar {
padding:45px 0 0 0;}

}

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

.sidebar h3 {
margin:0 0 0.9em 0;
padding:0 0 6px 0;
font-size:116%;
line-height:1.3;
color:#00a39b;
border-bottom:2px dotted #00a39b;}
.sidebar ul.bnr {
width:100%;
margin:0 0 33px 0;}
.sidebar ul.bnr li {
text-align:center;
width:100%;
padding:0 0 10px 0;}
.sidebar ul.bnr li a {
display:block;
background:#22AC38;
transition:0.3s;}
.sidebar ul.img {}
.sidebar ul.img li {
text-align:center;}
.sidebar ul.img li img {
box-shadow:8px 8px 0 0 #6dbb58;
margin:0 0 70% 0;}
.sidebar ul.img li:nth-child(2) img {
box-shadow:8px 8px 0 0 #00b9ef;}
.sidebar ul.img li:nth-child(3) img {
box-shadow:8px 8px 0 0 #f39800;}
.sidebar ul.img li:nth-child(4) img {
box-shadow:8px 8px 0 0 #e60012;}
.sidebar ul.img li:nth-child(5) img {
box-shadow:8px 8px 0 0 #6dbb58;}
.sidebar ul.img li:nth-child(6) img {
box-shadow:8px 8px 0 0 #00b9ef;}
.sidebar ul.img li:last-child img {
margin:0 0 0 0;}
.sidebar ul li {
font-size:84%;}

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

.sidebar ul.bnr {
justify-content:space-between;}
.sidebar ul.bnr li {
width:32%;
padding:0 0 2% 0;}
.sidebar ul.img {
display:none;}

}

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

.sidebar ul.bnr li {
width:49%;}

}

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

.header-youchien {
display:block;}
.header-hoikuen {
display:none;}

.header {
position:fixed;
z-index:9995;
top:0;
width:100%;
height:120px;
background:#fff;}
.header-contents {
position:relative;
margin:0 auto;
padding:0 0 0 260px;
max-width:1300px;}
.header-contents .logo {
position:absolute;
width:250px;
left:0;
top:0;}
.header-contents .logo .pc {
display:block;}
.header-contents .logo .sp {
display:none;}

.header-contents .bnr-contact {
position:absolute;
right:70px;
top:15px;;
width:180px;}
.header-contents .bnr-contact a img {
border-radius:20px;
transition:box-shadow 0.25s;}
.header-contents .bnr-contact a img:hover {
box-shadow:0 0 0 2px #f90;}

.header-contents .sns-icon {
position:absolute;
right:255px;
top:15px;;
width:95px;}
.header-contents .sns-icon li {
width:50%;}
.header-contents .sns-icon img {
width:90%;
max-width:40px;
border-radius:50%;
box-shadow:1px 1px 2px rgba(0,0,0,0.1);}

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

.header {
position:static;
height:70px;
background:rgba(255,255,255,0.9);}
.header-contents .logo {
width:220px;
left:10px;
top:10px;}
.header-contents .logo .pc {
display:none;}
.header-contents .logo .sp {
display:block;}

}

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

.header-contents .bnr-contact {
display:none;}
.header-contents .sns-icon {
display:none !important;}

}

/*  menu  ======================*/

.gmenu {
position:relative;
font-family:'Kosugi Maru', sans-serif;
padding:60px 0 0 0;
margin:0 0 0 auto;
width:100%;
max-width:1000px;}
.gmenu .bnr-kisen {
position:absolute;
left:0;
top:-2px;
width:340px;}
.gmenu .bnr-kisen a img {
width:100%;
box-shadow:0 2px 0 1px #00923a;
border-radius:0 0 12px 12px;
transition:box-shadow 0.25s;}
.gmenu .bnr-kisen a img:hover {
box-shadow:0 2px 0 1px #f90;}
.gmenu > ul > li {
position:relative;
flex-grow:1;}
.gmenu > ul > li:nth-child(-n+3)::before {
content:"";
position:absolute;
left:50%;
bottom:9px;
width:0;
height:0;
border-left:6px solid transparent;
border-right:6px solid transparent;
border-top:5px solid #009E9D;
transform:translate(-50%,0);
transition:transform 0.25s;}
.gmenu > ul > li:nth-child(-n+3):hover::before {
transform:translate(-50%,0) rotate(180deg);}
.gmenu > ul > li > a {
position:relative;
display:inline-block;
padding:20px 6px;
line-height:20px;
color:#222;
white-space:nowrap;}
.gmenu > ul > li > a:hover {
color:#f90;}
.gmenu > ul > li > a::before {
content:"";
position:absolute;
right:100%;
top:47.5%;
width:16px;
height:24px;
background:url("../../images/i_arrow_blue.png") no-repeat center center / cover;
transform:translate(0,-50%);}
.gmenu > ul > li:nth-child(3n-1) > a::before {
background:url("../../images/i_arrow_green.png") no-repeat center center / cover;}
.gmenu > ul > li:nth-child(3n) > a::before {
background:url("../../images/i_arrow_orange.png") no-repeat center center / cover;}
.gmenu > ul > li ul.sub-menu {
visibility:hidden;
opacity:0;
position:absolute;
z-index:9996;
top:80%;
left:50%;
width:200px;
overflow:hidden;
border-radius:6px; 
transition:0.25s;
transform:translate(-50%,0);}
.gmenu > ul > li:hover ul.sub-menu {
top:100%;
visibility:visible;
opacity:1;}
.gmenu > ul > li ul.sub-menu li {}
.gmenu > ul > li ul.sub-menu li a {
display:block;
font-size:92%;
line-height:44px;
color:#fff;
background:#009E9D;
border-bottom:1px solid #4bb9b8;
white-space:nowrap;}
.gmenu > ul > li ul.sub-menu li:last-child a {
border-bottom:none;}
.gmenu > ul > li ul.sub-menu li a:hover {
background:#4bb9b8;}

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

.gmenu {
display:none;}

}

/* hamburger =================== */

.gmenu-sp-btn {
position:fixed;
z-index:10000;
cursor:pointer;
top:8px;
left:calc(50% + 590px);
width:54px;
height:54px;
background:#009E9D;
border-radius:50%;}

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

.gmenu-sp-btn {
right:8px;
left:auto;}

}

.gmenu-sp-btn:hover {
background:#f90;}
.gmenu-sp-btn::after {
font-family:"Noto Sans JP", sans-serif;
content:"MENU";
position:absolute;
font-size:12px;
line-height:30px;
font-weight:700;
color:#fff;
letter-spacing:-0.05em;
bottom:0px;
left:50%;
transform:translate(-50%,0);}
.gmenu-sp-btn span, .gmenu-sp-btn span::before, .gmenu-sp-btn span::after {
content:"";
position:absolute;
display:block;
left:50%;
top:20px;
height:1px;
width:32px;
background:#fff;
transform:translate(-50%,0);}
.gmenu-sp-btn span::before {
top:-7px;}
.gmenu-sp-btn span::after {
top:7px;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn {
top:10px;
left:auto;
right:15px;
width:70px;
height:70px;
background:none;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn::after {
font-size:14px;
line-height:40px;
color:#222;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn span {
top:25px;
width:40px;
background:none;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn span::before {
top:0px;
width:40px;
background:#222;
transform:translate(-50%,0) rotate(45deg);}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-btn span::after {
top:0px;
width:40px;
background:#222;
transform:translate(-50%,0) rotate(-45deg);}
#gmenu-sp-btn-check {
display:none;}

.gmenu-sp-bg {
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
pointer-events:none;
opacity:0;
position:fixed;
z-index:9998;
overflow-y:auto;
overscroll-behavior-y:contain;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(226,238,197,0.95);
transition:0.25s;}
#gmenu-sp-btn-check:checked ~ .gmenu-sp-bg {
pointer-events:auto;
opacity:1;}
.gmenu-sp-modal {
margin:75px auto 40px;
width:90%;
max-width:540px;}
.gmenu-sp-logo {
margin:0 auto 1.6em;
max-width:480px;}
.gmenu-sp-sns {
margin:1.6em auto;
width:200px;}
.gmenu-sp-sns ul {
justify-content:center;}
.gmenu-sp-sns li {
width:25%;}
.gmenu-sp-sns img {
max-width:85%;
border-radius:50%;
box-shadow:1px 1px 2px rgba(0,0,0,0.1);}
.gmenu-sp-global {
margin:2.0em 0;}
.gmenu-sp-global ul {
justify-content:center;
width:100%;}
.gmenu-sp-global ul li {
width:33.3333%;}
.gmenu-sp-global ul li a {
display:block;
padding:0 2.2%;
transition:transform 0.25s;}
.gmenu-sp-global ul li a:hover {
transform:scale(1.075);}
.gmenu-sp-global ul li a:hover img {
transform-origin: 50% 57.5%;}
.gmenu-sp-contact {
margin:1.6em 0 0 0;}
.gmenu-sp-contact a {
display:block;
padding:6px 0;
background:#8ec555;
border-radius:12px;}
ul.gmenu-sp {
font-family:'Kosugi Maru', sans-serif;}
ul.gmenu-sp a {
display:block;
color:#222;}
ul.gmenu-sp a:hover {
color:#f90;}
ul.gmenu-sp > li {
text-align:left;
padding:0 0 0 20px;
border-bottom:1px solid rgba(0,0,0,0.3);}
ul.gmenu-sp > li > a {
position:relative;
padding:0 0 0 8px;
font-size:108%;
line-height:46px;
white-space:nowrap;}
ul.gmenu-sp > li > a::before {
content:"";
position: absolute;
right:100%;
top:47.5%;
width:16px;
height:24px;
background:url("../../images/i_arrow_blue.png") no-repeat center center / cover;
transform:translate(0,-50%);}
ul.gmenu-sp > li:nth-child(3n-1) > a::before {
background:url("../../images/i_arrow_green.png") no-repeat center center / cover;}
ul.gmenu-sp > li:nth-child(3n) > a::before {
background:url("../../images/i_arrow_orange.png") no-repeat center center / cover;}
ul.gmenu-sp ul.sub-menu {
padding:0 0 15px 0;}
ul.gmenu-sp ul.sub-menu a {
font-size:92%;
line-height:29px;
padding:0 0 0 20px;}

/*  mainimg mainimg-hoiku  ======================*/

.mainimg {
background-size:cover;
background-position:center center;
overflow:hidden;}
.mainimg .ttl {
text-align:left;
position:relative;
padding:5% 0;
max-width:1100px;
width:96%;
margin:0 auto;}
.mainimg-s {
padding:0 5%;}
.mainimg .ttl-hoiku {
padding:8% 5% 7% 5%;}
.mainimg .bnr-recruit {
position:absolute;
right:0;
top:4.5%;
width:22.5%;
max-width:200px;}

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

.mainimg .ttl {
padding:10% 25%;}
.mainimg .ttl-hoiku {
padding:11% 5% 9% 5%;}
.mainimg .bnr-recruit {
width:25%;}

}

/*  intro  ==============================*/

.intro {
font-family: 'Kosugi Maru', sans-serif;
margin:0 auto 77px;
padding:0 0 9px 0;
width:94%;
max-width:1000px;
font-size:308%;
line-height:1.2;
font-weight:normal;
letter-spacing:0.04em;
color:#00A39B;
border-bottom-style:dotted;
border-bottom-width:3px;
border-bottom-color:#00A39B;}
.intro br {
display:none;}
.intro.blue {
color:#00A39B;
border-bottom-color:#00A39B;}
.intro.pink {
color:#ef737b;
border-bottom-color:#EF858C;}
.intro.orange {
color:#EA5504;
border-bottom-color:#F39800;}
.intro.purple {
color:#B062A3;
border-bottom-color:#B062A3;}
.intro.green {
color:#22ac39;
border-bottom-color:#22ac39;}

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

.intro {
margin:0 auto 9%;
padding:0 0 3% 0;
font-size:9.2vw;}
.intro br {
display:block;}

}

/*  smenu  ======================*/

.smenu {
font-family: 'Kosugi Maru', sans-serif;
position:relative;
z-index:9994;
background:#eee;
padding:20px;}
.smenu.blue {
background:#D5DEF0;}
.smenu.blue ul li a {
background:#38A1DB;
border-bottom-color:#076FB8;}
.smenu.pink {
background:#FCEDF1;}
.smenu.pink ul li a {
background:#EF858C;
border-bottom-color:#E4007F;}
.smenu.orange {
background:#FCE1CC;}
.smenu.orange ul li a {
background:#F39800;
border-bottom-color:#EA5504;}
.smenu.purple {
background:#eeddec;}
.smenu.purple ul li a {
background:#b062a3;
border-bottom-color:#601986;}
.smenu.green {
background:#e2eec5;}
.smenu.green ul li a {
background:#22ac39;
border-bottom-color:#007c41;}
.smenu ul {
margin:0 auto;
width:100%;
max-width:1050px;}
.smenu li {
width:33.333333%;
padding:4px;}
.smenu li.pc-50 {
width:50%;}
.smenu li.pc-25 {
width:25%;}
.smenu li.sp-100 {}
.smenu li a {
display:block;
font-size:17px;
line-height:3.2em;
background:#999;
border-bottom-style:solid;
border-bottom-width:5px;
color:#fff;
white-space:nowrap;
overflow:hidden;
border-radius:9px;}
.smenu li a:hover {
margin:3px 0 0 0;
border-bottom-width:2px;}

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

.smenu {
padding:10px;}
.smenu li a {
font-size:15px;}

}

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

.smenu li {
width:50%;}
.smenu li.pc-25 {
width:50%;}
.smenu li.sp-33 {
width:33.333333%;}
.smenu li.sp-50 {
width:50%;}
.smenu li.sp-100 {
width:100% !important;}

}

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

.smenu {
padding:4px;}
.smenu li {
padding:3px;}
.smenu li a {
font-size:13px;}

}

/*  privacy  =====================*/

.privacy {
margin:48px 0 0 0;
text-align:left;
font-size:84%;}
.privacy .ttl {
padding:0 0 3px 0;
margin:0 0 25px 0;
font-size:140%;
line-height:1.3;
font-weight:bold;
border-bottom:2px solid #333;}
.privacy dl {
margin:15px 0 0 0;
line-height:1.5;}
.privacy dt {
width:23px;
white-space:nowrap;
padding:4px 0;}
.privacy dd {
width: calc(100% - 24px);
padding:4px 0;}

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

.footer-forest {
pointer-events:none;
position:relative;
z-index:1100;
transform:translate(0,15%);}

.footer-youchien {
text-align:left;
padding:50px 0 50px 0;
color:#fff;
background:#6eba5c;}
.footer-youchien a {
color:#fff;}
.footer-youchien a:hover {
color:#f90;}
.footer-youchien .address {
width:30%;
text-align:left;}
.footer-youchien .address .logo {
margin:16px 0 20px 0;}
.footer-youchien .address .tel {
margin:4px 0 0 0;
font-size:21px;
line-height:1.2;
font-weight:bold;}
.footer-youchien .address .sns-icon {
margin:20px 0 0 0;
width:200px;}
.footer-youchien .address .sns-icon li {
width:25%;}
.footer-youchien .address .sns-icon img {
max-width:85%;
border-radius:50%;
box-shadow:1px 1px 2px rgba(0,0,0,0.1);}
.footer-youchien .address .contact {
margin:25px 0 0 0;}
.footer-youchien .address .contact img {
border-radius:24px;
transition:box-shadow 0.25s;}
.footer-youchien .address .contact img:hover {
box-shadow:0 0 0 2px #f90;}
.footer-youchien .sitemap {
width:70%;
float:right;}
.footer-youchien .sitemap .col {
width:33.33333%;
float:left;
padding:0 0 0 40px;}
.footer-youchien .sitemap .ttl {
margin:7px 0 14px 0;
padding:16px 0;
font-size:16px;
line-height:1.4;
font-weight:bold;
border-bottom:1px solid #fff;}
.footer-youchien .sitemap ul {
margin:14px 0 7px 0;
font-size:13px;
line-height:1.2;}
.footer-youchien .sitemap li {
padding:7px 0;}

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

.footer-youchien .address {
width:100%;
text-align:center;}
.footer-youchien .address .sns-icon {
margin:21px auto;
justify-content:center;}
.footer-youchien .sitemap {
margin:0 0 16px 0;
padding:0 0 26px 0;
border-bottom:1px solid #fff;
width:100%;
float:none;}
.footer-youchien .sitemap .col {
padding:0 12px;}
#page-top {
width:60px;}

}

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

.footer-youchien .sitemap .col {
width:100%;
padding:0;}

}

/* footer-global ===================== */

.footer-global {
font-family:"Noto Sans JP",sans-serif;
text-align:center;
background:#c4d700;}
.footer-global .footer-menu {
padding:2.5em 0 3.0em 0;
background:#534c4a;}
.footer-global .footer-menu h2 {
margin-bottom:1.0em;
font-size:200%;
line-height:1.15;
font-weight:800;
color:#fff;
letter-spacing:0.075em;
white-space:nowrap;}
.footer-global .footer-menu h2 br {
display:none;}
.footer-global .footer-menu ul {
margin:0 auto;
width:95%;
max-width:1050px;
justify-content:center;}
.footer-global .footer-menu ul li {
width:20%;}
.footer-global .footer-menu ul li a {
display:block;
padding:0 5%;
transition:transform 0.25s;}
.footer-global .footer-menu ul li a:hover {
transform:scale(1.1);}
.footer-global .footer-menu ul li a:hover img {
transform-origin: 50% 57.5%;}
.footer-global .footer-logo {
padding:1.5em 0 0.25em 0;}
.footer-global .footer-copyright {
padding:1.25em 0;
font-size:60%;
line-height:1.25;}

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

.footer-global .footer-menu h2 {
margin-bottom:0.7em;
font-size:6.5vw;}
.footer-global .footer-menu h2 br {
display:block;}
.footer-global .footer-menu ul li {
width:33.3333%;}
.footer-global .footer-menu ul li a {
padding:0 4%;}

}

#page-top {
position:fixed;
z-index:9990;
bottom:10px;
right:10px;
width:80px;}
#page-top:hover {
transform:translate(0,-10px);}
