@charset "UTF-8";

#wrapper {
overflow:hidden;}
.container {
position:relative;
padding:75px 0;}
.container-bg-orange {
background:#fef4e8;}
.container-bg-wave-white {
padding-top:115px !important;
background:#fff url("../images/bg_wave_orange.svg") repeat-x left top / 100%;}
.container-bg-wave-orange {
padding-top:115px !important;
background:#fef4e8 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:7.5% 0;}
.container-bg-wave-white {
padding-top:11.5% !important;}
.container-bg-wave-orange {
padding-top:11.5% !important;}
.container-last {
padding-bottom:18% !important;}

}

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

.container {
padding:55px 0;}
.container-bg-wave-white {
padding-top:80px !important;}
.container-bg-wave-orange {
padding-top:80px !important;}

}

.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 {
font-family:"Zen Maru Gothic", sans-serif;
text-align:center;
font-size:112.5%;
line-height:1.85;
letter-spacing:0.03em;}
.contents-txt br {
display:block;}
.contents-img {
text-align:center;}
.contents-img img {
border-radius:1.5em;}
.contents-img ul {
margin:0 auto;
justify-content:space-between;
width:100%;
max-width:1000px;}
.contents-img ul li {
padding-top:50px;
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-top:33px;
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:320px;
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:#f08300;
border-radius:50%;}
.header .mail {
right:66px;}
.header .mail img {
background:#8dc21f;
border-radius:50%;}
.header.scrolled {
height:60px;}
.header.scrolled .logo {
left:10px;
width:160px;}

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

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

}

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

.gmenu-pc {
position:absolute;
z-index:9999;
right:10px;
top:50%;
width:calc(100% - 380px);
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(254,244,232,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 20px 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 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 #222;
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 / 120;
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%;}

}

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

.smenu {
padding-top:30px;
background:#fef4e8;}
.smenu ul {
margin:0 auto;
width:96%;
justify-content:center;}
.smenu ul li {
padding:0.5%;}
.smenu ul li a {
display:block;
padding:0 2em;
font-size:106.25%;
line-height:2.4em;
color:#f08300;
white-space:nowrap;
background:#fff;
border:2px solid #f08300;
border-radius:1.4em;
transition:0.25s;}
.smenu ul li a:hover {
color:#fff;
background:#f08300;}

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

.smenu ul li {
width:33.3333%}
.smenu ul li.col-50 {
width:50%}
.smenu ul li a {
padding:0;}

}

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

.smenu {
padding-top:5%;}
.smenu ul li {
padding:1.0%;
width:50%}
.smenu ul li.col-100 {
width:100%}
.smenu ul li a {
font-size:3.7333vw;}

}

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

.footer {
font-family:"Zen Maru Gothic", sans-serif;
position:relative;
padding:1em 0;
white-space:nowrap;
background:url("../images/footer_bg01.jpg") no-repeat center bottom / cover;}
.footer::before {
content:"";
position:absolute;
pointer-events:none;
left:50%;
bottom:100%;
width:100%;
aspect-ratio:150 / 8;
background:url("../images/footer_bg00.svg") no-repeat center center / cover;
transform:translate(-50%,0);}
.footer .logo {
margin:0 auto;
max-width:66.6666%;}
.footer .address {
margin:0.6em 0 0.3em 0;
font-size:106.25%;
line-height:1.15;}
.footer .tel {
font-size:250%;
line-height:1.15;
font-weight:500;}
.footer .img01 {
pointer-events:none;
margin:1em auto 0;
max-width:45%;}
.fmenu {
font-family:"Zen Maru Gothic", sans-serif;
padding-top:1em;
background:#6fb92c;}
.fmenu ul {
width:100%;
justify-content:center;}
.fmenu ul li a {
display:block;
padding:0 1em;
line-height:3.0em;
color:#fff;
transition:0.25s;}
.fmenu ul li a:hover {
color:#e82;}

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

.fmenu {
padding-top:0;
border-bottom:1px solid rgba(255,255,255,0.6);}
.fmenu ul li {
width:50%;
border-top:1px solid rgba(255,255,255,0.6);
border-right:1px solid rgba(255,255,255,0.6);}
.fmenu ul li:nth-child(2n) {
border-right:none;}
.fmenu ul li a:hover {
color:#fff;
background:rgba(255,255,255,0.3);}

}

.copyright {
font-family:"Zen Maru Gothic", sans-serif;
font-size:81.25%;
line-height:4em;
color:#fff;
white-space:nowrap;
background:#6fb92c;}
.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 #f08300;
transition:0.25s;
border-radius:50%;}
.page-top a:hover {
background:#f08300;}
.page-top a::after {
content:"";
position:absolute;
z-index:2;
left:50%;
top:50%;
width:25%;
height:25%;
border-top:2px solid #f08300;
border-right:2px solid #f08300;
transform:translate(-50%,-30%) rotate(-45deg);
transition:0.25s;}
.page-top a:hover::after {
border-top:2px solid #fff;
border-right:2px solid #fff;}
