@charset "UTF-8";

#wrapper {
overflow:hidden;}
.container {
position:relative;
padding:80px 0;}
.container-bg-white {
background:#fff;}
.container-bg-green {
background:#f5f9f0;}
.container-bg-wave-white {
background:#fff url("../images/bg_wave_green.svg") repeat-x left top / 100%;}
.container-bg-wave-green {
background:#f5f9f0 url("../images/bg_wave_white.svg") repeat-x left top / 100%;}
.container-last {
padding-bottom:180px !important;}

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

.container {
padding:8% 0;}
.container-last {
padding-bottom:18% !important;}

}

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

.container {
padding:60px 0;}

}

.contents , .contents-2col , .contents-txt , .contents-img {
position:relative;
margin:0 auto;
width:92%;
max-width:1100px;}
.contents-2col {
text-align:left;
justify-content:space-between;}
.contents-txt {
text-align:center;
font-size:112.5%;
line-height:1.85;
letter-spacing:0.025em;}
.contents-txt br {
display:block;}
.contents-img {
text-align:center;}
.contents-img img {
border-radius:2em;}
.contents-img ul {
margin:0 auto;
justify-content:space-between;
width:100%;
max-width:1000px;}
.contents-img ul li {
padding:24px 0;
width:48.5%;}
.contents-img ul.col-100 {
max-width:900px;}
.contents-img ul.col-100 li {
width:100%;}
.contents-img ul.col-33 {
max-width:1100px;}
.contents-img ul.col-33 li {
width:31.3333%;}
.contents-img ul.col-25 {
max-width:1100px;}
.contents-img ul.col-25 li {
width:23.5%;}
.contents-img .txt {
text-align:left;
margin-top:1.1em;
font-size:87.5%;
line-height:1.55;}
.main {
width:66%;
max-width:750px;}
.sidebar {
width:27.5%;}

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

.contents-img ul li {
padding-top:5%;}
.main {
margin:0 auto;
width:100%;}
.sidebar {
margin:6.5% auto 0;
width:100%;
max-width:750px;}

}

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

.contents-txt {
text-align:left;
font-size:100%;
line-height:1.7;
letter-spacing:0.015em;}
.contents-txt br {
display:none;}
.contents-img ul li {
padding:16px 0;
width:100% !important;}
.contents-img ul.col-25 li {
width:48.5% !important;}
.sidebar {
margin:50px auto 0;}

}

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

.header {
font-family:"Zen Maru Gothic", sans-serif;
position:fixed;
z-index:999;
top:0;
left:0;
width:100%;
height:120px;
font-weight:400;
background:rgba(255,255,255,0.75);
transition:height 0.25s;}
.header .logo {
z-index:9999;
position:absolute;
left:15px;
top:50%;
width:360px;
transform:translate(0,-50%);
transition:0.25s;}
.header .tel , .header .mail {
display:none;
position:absolute;
width:36px;
height:36px;
right:110px;
top:50%;
transform:translate(0,-50%);}
.header .tel img {
background:#00aeeb;
border-radius:50%;}
.header .mail {
right:66px;}
.header .mail img {
background:#eb6d7b;
border-radius:50%;}
.header.scrolled {
height:60px;}
.header.scrolled .logo {
left:10px;
width:180px;}

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

.header {
height:60px;}
.header .logo {
left:10px;
width:180px;}
.header .tel , .header .mail {
display:block;}

}

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

.gmenu-pc {
position:absolute;
z-index:9999;
right:10px;
top:50%;
width:calc(100% - 420px);
max-width:840px;
transform:translate(0,-50%);}
.gmenu-pc > li {
width:14.2857%;}
.gmenu-pc > li > a {
position:relative;
display:block;
padding:60px 0 0 0;
font-size:106.25%;
line-height:25px;
letter-spacing:0.03em;
white-space:nowrap;
color:#222;}
.gmenu-pc > li > a:hover {
color:#e82;}
.gmenu-pc > li > a::after {
content:"";
position:absolute;
top:1px;
right:50%;
width:54px;
height:54px;
background:url("../images/b01.png") no-repeat center center / contain;
transform:translate(50%,0) scale(0.01);
animation:gmenu_icon 0.66s 0.66s forwards cubic-bezier(0.05,0.6,0.5,1.6);
transition:0.25s;}
.gmenu-pc > li > a:hover::after {
top:-5px;}
.gmenu-pc > li:nth-child(2) > a::after {
background:url("../images/b02.png") no-repeat center center / contain;
animation-delay:0.77s;}
.gmenu-pc > li:nth-child(3) > a::after {
background:url("../images/b03.png") no-repeat center center / contain;
animation-delay:0.88s;}
.gmenu-pc > li:nth-child(4) > a::after {
background:url("../images/b04.png") no-repeat center center / contain;
animation-delay:0.99s;}
.gmenu-pc > li:nth-child(5) > a::after {
background:url("../images/b05.png") no-repeat center center / contain;
animation-delay:1.10s;}
.gmenu-pc > li:nth-child(6) > a::after {
background:url("../images/b06.png") no-repeat center center / contain;
animation-delay:1.21s;}
.gmenu-pc > li:nth-child(7) > a::after {
background:url("../images/b07.png") no-repeat center center / contain;
animation-delay:1.32s;}
@keyframes gmenu_icon {
100% {transform:translate(50%,0) scale(1);}
}
.header.scrolled .gmenu-pc > li > a {
padding:0;
line-height:60px;}
.header.scrolled .gmenu-pc > li > a::after {
opacity:0;}

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

.gmenu-pc > li > a {
font-size:92%;}
.gmenu-pc > li > a::after {
top:6px;
width:50px;
height:50px;}

}

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

.gmenu-pc {
display:none;}

}

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

.gmenu-sp-button {
position:fixed;
z-index:10000;
display:none;
cursor:pointer;
justify-content:center;
align-items:center;
border:none;
outline:none;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
top:0px;
right:5px;
width:60px;
height:60px;
background:none;
border-radius:0%;
transition:0.25s;}
.gmenu-sp-button span, .gmenu-sp-button span::before, .gmenu-sp-button span::after {
content:"";
position:absolute;
display:block;
height:3px;
width:36px;
background:#6a4331;
border-radius:2px;
transition:0.25s;}
.gmenu-sp-button span::before {
bottom:8px;}
.gmenu-sp-button span::after {
top:8px;}
.gmenu-sp-button.active {
display:flex;
background:none;}
.gmenu-sp-button.active span {
background:none;}
.gmenu-sp-button.active span::before {
bottom:0;
background:#6a4331;
transform:rotate(45deg);}
.gmenu-sp-button.active span::after {
top:0;
background:#6a4331;
transform:rotate(-45deg);}
#gmenu-sp-btn-check {
display:none;}

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

.gmenu-sp-button {
display:flex;}

}

.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.05);
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(245,249,240,0.9);
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 15px 0;}
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 0.5em;
border-bottom:1px solid #ddd;}
ul.gmenu-sp > li > a {
position:relative;
padding:0 0 0 0.2em;
font-size:106.25%;
line-height:3em;
white-space:nowrap;}
ul.gmenu-sp > li > a::before {
content:"●";
position:absolute;
right:100%;
top:50%;
transform:translate(0,-50%);}

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

.mainimg {
position:relative;
width:100%;}
.mainimg::after {
content:"";
z-index:2;
position:absolute;
pointer-events:none;
width:100%;
aspect-ratio:1500 / 70;
left:0%;
bottom:-1px;
background:url("../images/bg_mainimg.svg") no-repeat center bottom / cover;}
.mainimg-contents {
width:100%;
height:750px;}
.mainimg-contents img {
pointer-events:none;
object-fit:cover;
width:100%;
height:100%;}
.mainimg .ttl {
z-index:3;
position:absolute;
pointer-events:none;
width:450px;
left:50%;
bottom:0;
transform:translate(-50%,0%);}
.mainimg .ttl img {
width:100%;}

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

.mainimg-contents {
aspect-ratio:140 / 75;
height:auto;}

}

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

.mainimg-contents {
aspect-ratio:140 / 90;}

}

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

.mainimg-contents {
aspect-ratio:140 / 110;}
.mainimg .ttl {
width:75%;}

}

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

.footer {
font-family:"Zen Maru Gothic", sans-serif;
position:relative;
padding:20px 0;
white-space:nowrap;
background:#dff2fc url("../images/footer_bg01.png") repeat-x center bottom / 2800px;}
.footer::before {
content:"";
position:absolute;
pointer-events:none;
left:50%;
bottom:100%;
width:100%;
aspect-ratio:1500 / 70;
background:url("../images/footer_bg00.svg") no-repeat center center / cover;
transform:translate(-50%,0);}
.footer .bnr-group {
margin:0 auto 30px;
max-width:1000px;
justify-content:space-between;}
.footer .bnr-group li {
width:31.3333%;}
.footer .bnr-group li a img {
border:3px solid #ad7357;
box-shadow:3px 3px 4px 0 rgba(0,0,0,0.2);
border-radius:1em;
transition:border 0.25s;}
.footer .bnr-group li:nth-child(2) a img {
border:3px solid #40ca7b;}
.footer .bnr-group li:nth-child(3) a img {
border:3px solid #00a080;}
.footer .bnr-group li a:hover img {
border:3px solid #e82 !important;}
.footer .logo {
margin:0 auto;
width:300px;
max-width:66.6666%;}
.footer .address {
margin:0.8em 0 0.4em 0;
font-size:106.25%;
line-height:1.15;}
.footer .tel {
font-size:262.5%;
line-height:1.15;
font-weight:600;}
.footer .tel a {
color:#000;}
.footer .fmenu {
padding-top:310px;}
.footer .fmenu ul {
margin:0 auto;
justify-content:center;}
.footer .fmenu ul li a {
display:block;
padding:0 0.75em;
font-size:106.25%;
line-height:2.1;
color:#fff;}
.footer .fmenu ul li a:hover {
color:#e82;}
.footer .copyright {
margin-top:20px;
font-size:81.25%;
line-height:1.15;
color:#fff;}

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

.footer .bnr-group {
margin:0 auto 15px;
width:90%;
max-width:360px;
justify-content:space-between;}
.footer .bnr-group li {
padding:8px 0;
width:100%;}
.footer .fmenu {
padding-top:280px;}
.footer .fmenu ul {
max-width:360px;
justify-content:space-between;}
.footer .fmenu ul li {
width:33.3333%;}
.footer .fmenu ul li a {
padding:0;}

}

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

.footer {
background:#dff2fc url("../images/footer_bg01.png") repeat-x center bottom / 2400px;}
.footer .fmenu {
padding-top:240px;}
.footer .copyright {
margin-top:15px;}

}

.page-top {
opacity:0;
pointer-events:none;
position:fixed;
z-index:999;
bottom:8px;
right:8px;
width:36px;
height:36px;
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%;
border:2px solid #8dc21f;
transition:0.25s;
border-radius:50%;}
.page-top a:hover {
border:2px solid #e82;}
.page-top a::after {
content:"";
position:absolute;
z-index:2;
left:50%;
top:50%;
width:25%;
height:25%;
border-top:2px solid #8dc21f;
border-right:2px solid #8dc21f;
transform:translate(-50%,-30%) rotate(-45deg);
transition:0.25s;}
.page-top a:hover::after {
border-top:2px solid #e82;
border-right:2px solid #e82;}
