@charset "UTF-8";

html,body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input { margin: 0; padding: 0; }
body,html{
width: 100%;
}
body{
background: #fff;
font-family:"游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

div,table,tr,td,input{box-sizing: border-box;}

.bebas{
font-family: "bebas-neue-by-fontfabric", sans-serif;
font-weight: 700;
font-style: normal;
}
.acumin{
font-family: acumin-variable, sans-serif;
font-variation-settings: "slnt" -12, "wdth" 50, "wght" 400;
}
.sml80{
font-size: 80%;
}
.sml70{
font-size: 70%;
}
.sml60{
font-size: 60%;
}
.sml50{
font-size: 50%;
}
img{
max-width: 100%;
height: auto;
}
br.sponly{
display: none;
}
.clear{
clear: both;
}
p{
padding-bottom: 1.5em;
}
img{
vertical-align: top;
}
a{
color: #383838;
transition: 0.3s;
}
a:hover{
color: #ad3232;
color: #19573b;
text-decoration: underline;
}

a.linkbtn{
display: block;
width: 10em;
margin: auto;
text-align: center;
color: #fff;
background: #19573b;
border-radius: 50px;
text-decoration: none;
padding: 0.3em 0;
font-size: 87.5%;
}
a.linkbtn:hover{
background: #007b43;
}



/* ===========================
MODAL MENU
=========================== */

#modalmenu{
width: 100%;
min-height: 100vh;
position: absolute;
background: #fff;
display: none;
z-index: 50;
}
#modalmenu a{
text-decoration: none;
}
p.modal_logo{
width: 236px;
margin: auto;
}
#modalmenu ul{
width: 80%;
max-width: 450px;
border-top: 1px dashed #dcd4be;
margin: 60px auto 30px;
text-align: center;
}
#modalmenu li{
font-size: 1.1rem;
padding: 11px 0;
border-bottom: 1px dashed #dcd4be;
list-style-type: none;
}
#modalmenu h4{
text-align: center;
padding: 11px 0 0;
font-size: 1.1rem;
font-weight: normal;
}
#modal_recruit{
padding: 10px 0 20px;
display: flex;
justify-content: center;
align-items: center;
gap:15px;
}
#modal_recruit a{
display: block;
width:9em;
text-align: center;
color: #fff;
background: #c82127;
border-radius: 50px;
text-decoration: none;
padding: 0.4em 0;
font-size: 1.1rem;
}
#modal_btn{
padding: 20px 0 20px;
display: flex;
justify-content: center;
align-items: center;
gap:15px;
}
#modal_btn a{
display: block;
width:9em;
text-align: center;
color: #fff;
background: #72777e;
border-radius: 50px;
text-decoration: none;
padding: 0.4em 0;
font-size: 1.1rem;
}
#modal_btn a.cargo{
background: #19573b;
}

@media screen and (max-width:500px){
#modal_btn{
padding: 10px 0 20px;
display: block;
justify-content: center;
align-items: center;
gap:0;
}
#modal_btn a{
display: block;
width:12em;
margin: auto;
font-size: 1.1rem;
padding: 0.4em 0;
margin-bottom: 15px;
}
#modal_recruit{
padding: 10px 0 20px;
display: block;
justify-content: center;
align-items: center;
gap:0;
}
#modal_recruit a{
display: block;
width:12em;
margin: auto;
font-size: 1.1rem;
padding: 0.4em 0;
margin-bottom: 15px;
}
}




/* ===========================
HEAD
=========================== */
#page_header{
width: 100%;
position: fixed;
background: #fff;
padding: 12px;
z-index: 10;
border-bottom: solid 1px rgba(0,0,0,0.1);
}
#page_header_logo{
width: 250px;
}
#header_subbtn{
position: absolute;
right: 12px;
top: 12px;
display: flex;
gap:5px;
align-items: center;
}
#header_subbtn a{
display: block;
width: 8.5em;
text-align: center;
color: #fff;
background: #c82127;
border-radius: 50px;
text-decoration: none;
padding: 0.3em 0;
font-size: 87.5%;
}
#header_subbtn a.cargo{
background: #19573b;
}
#header_subbtn a:hover{
opacity: 0.7;
}
#header_dropbtn{
display: none;
position: absolute;
right: calc(12px + 15.5em);
top: 41px;
align-items: center;
z-index: 8;
padding-top: 2px;
}
#header_dropbtn a{
display: block;
width: 8.5em;
text-align: center;
color: #fff;
background: #c82127;
border-radius: 50px;
text-decoration: none;
padding: 0.3em 0;
font-size: 87.5%;
margin-bottom: 0.2em;
}
#header_dropbtn a:hover{
opacity: 0.7;
}
#header_menu{
display: flex;
justify-content: center;
position: relative;
align-items: center;
padding: 15px 0 5px;
}
#header_menu li{
list-style-type: none;
padding: 0 1.5em 0 0;
}
#header_menu li a{
text-decoration: none;
border-bottom: 1px solid transparent;
transition: 0.2s;
padding-bottom: 4px;
}
#header_menu li a:hover{
text-decoration: none;
color: #19573b;
border-color: #19573b;
padding-bottom: 6px;
}
#header_menu li::after {
content: "";
display: inline-block;
height: 1em;
border-right: solid 1px rgba(0,0,0,0.5);
vertical-align: middle;
margin-left: 1.5em;
}
#header_menu li:last-child{
padding: 0 0 0 0;
}
#header_menu li:last-child::after{
content: none;
}
@media screen and (max-width:940px){
#header_menu li{
list-style-type: none;
padding: 0 1.0em 0 0;
font-feature-settings: "palt";
}
}
@media screen and (max-width:800px){
#header_menu{
display: none;
}
#header_subbtn{
display: none;
}
}



/* ===========================
HAMGURGER
=========================== */
.burger-btn{
display: none;
width: 45px;
height: 45px;
position: absolute;
border:none;
right: 10px;
top: 7px;
z-index: 10;
}
.burger-btn .bar{
width: 36px;
height: 1px;  
display: block;
position: absolute;
background-color: #555555;
}
.burger-btn .bar_top{
top: 10px;
}
.burger-btn .bar_mid{
top: 49%;
}
.burger-btn .bar_bottom{
bottom: 10px;
}

.burger-close{
display: block;
width: 45px;
height: 45px;
position: absolute;
border:none;
right: 12px;
top: 5px;
}
.burger-close .bar{
width: 38px;
height: 1px;  
display: block;
position: absolute;
left: 50%;
background-color: #555555;
}    
.burger-close .bar_top{
top: 16px;
  transform: translate(-50%,10px) rotate(45deg);
}
.burger-close .bar_bottom{
bottom: 10px;
transform: translate(-50%,-8px) rotate(-45deg);
}

@media screen and (max-width:800px){
.burger-btn{
display: block;
}
}




/* ===========================
FOOTER
=========================== */

#footer_menu{
display: flex;
justify-content: center;
position: relative;
align-items: center;
margin: 50px auto 30px;
}
#footer_menu li{
list-style-type: none;
padding: 0 1.5em 0 0;
}
#footer_menu li a{
text-decoration: none;
border-bottom: 1px solid transparent;
transition: 0.2s;
padding-bottom: 4px;
}
#footer_menu li a:hover{
text-decoration: none;
color: #19573b;
border-color: #19573b;
padding-bottom: 6px;
}
#footer_menu li::after {
content: "";
display: inline-block;
height: 1em;
border-right: solid 1px rgba(0,0,0,0.5);
vertical-align: middle;
margin-left: 1.5em;
}
#footer_menu li:last-child::after{
content: none;
}
#footer_btn{
padding: 20px 0 50px;
display: flex;
justify-content: center;
align-items: center;
gap:15px;
}
#footer_btn a{
display: block;
width: 8em;
text-align: center;
color: #fff;
background: #c82127;
border-radius: 50px;
text-decoration: none;
padding: 0.3em 0;
font-size: 87.5%;
}
#footer_btn a.cargo{
background: #19573b;
}
#footer_btn a:hover{
opacity: 0.7;
}

#footer{
position: relative;
padding: 40px 0;
background: #f4f0e9;
}
#footer_wrap{
width: 95%;
max-width: 900px;
margin: auto;
font-size: 90%;
text-align: center;
}
#footer_wrap p.footer_logo_wr{
display: inline-block;
width: 260px;
vertical-align: middle;
transition: 0.3s;
}
#footer_wrap p.footer_logo_tm{
display: inline-block;
width: 260px;
vertical-align: middle;
margin-left: 40px;
transition: 0.3s;
}
#footer_wrap p.footer_logo_wr:hover,
#footer_wrap p.footer_logo_tm:hover{
opacity: 0.7;
}

@media screen and (max-width:940px){
#footer_menu li{
list-style-type: none;
padding: 0 1.0em 0 0;
font-feature-settings: "palt";
}
}
@media screen and (max-width:800px){


#footer_menu li::after {
content: none;
}
#footer_menu{
display: block;
width: 80%;
max-width: 450px;
border-top: 1px dashed #dcd4be;
margin: 60px auto 30px;
text-align: center;
}
#footer_menu li{
font-size: 1.1rem;
padding: 0 0 0 0;
padding: 11px 0;
border-bottom: 1px dashed #dcd4be;
list-style-type: none;
}
}

@media screen and (max-width:640px){
#footer_wrap p.footer_logo_wr{
display: block;
width: 260px;
margin: auto;
}
#footer_wrap p.footer_logo_tm{
display: block;
width: 260px;
margin-left: 0;
margin: auto;
}
}

@media screen and (max-width:500px){
#footer_btn{
padding: 10px 0 20px;
display: block;
justify-content: center;
align-items: center;
gap:0;
}
#footer_btn a{
display: block;
width:12em;
margin: auto;
font-size: 1.1rem;
padding: 0.4em 0;
margin-bottom: 15px;
}

}
