*{
   box-sizing: border-box;
}
:root{
   /*font*/
   --f40: 40px;
   --f35: 35px;
   --f30: 30px;
   --f25: 25px;
   --f28: 28px;
   --f20: 20px;
   --f18: 18px;
   --f16: 16px;
   --f14: 14px;
   --f12: 12px;

   /*color*/
   --maincolor: #BF9347;
   --subcolor: #C9B386;
}
@media screen and (max-width:1024px) {
:root{
   /*font*/
   --f40: 35px;
   --f35: 30px;
   --f30: 28px;
   --f28: 25px;
   --f25: 23px;
   --f20: 20px;
}
}
@media screen and (max-width:768px) {
:root{
   /*font*/
   --f40: 32px;
   --f35: 28px;
   --f30: 25px;
   --f28: 23px;
   --f25: 20px;
   --f20: 18px;
   --f18: 16px;
   --f16: 15px;
   --f14: 13px;
   --f12: 12px;
}
}
@media screen and (max-width:600px) {
:root{
   /*font*/
   --f40: 30px;
   --f35: 25px;
   --f30: 23px;
   --f28: 20px;
   --f20: 17px;
}
}
h6,h5,h4,h3,h2,ul,ol,dl,dd,dt,p,figure{
   margin: 0;
   padding: 0;
   font-size: initial;
}
li{
   list-style: none;
}
a{
   text-decoration: none;
   color: unset;
   transition: .5s ease;
}
body{
   max-width: 2000px;
   margin: 0 auto;
   font-family: "Noto Sans TC", serif;
   font-size: var(--f16);
   color: #202020;
   overflow-x: hidden;
}
img{
   max-width: 100%;
   vertical-align: middle;
}
.page_index {
   /* overflow: hidden; */
   font-size: var(--f16);
}
header{
   position: fixed;
   width: 100px;
   height: 100%;
   top: 0;
   left: 0;
   border-right: 1px solid #CCCCCC;
   background: #FFFFFF;
}
header a{
   display: flex;
   align-items: center;
   justify-content: center;
   flex-flow: column;
   max-width: 100px;
   min-height: 100px;
}
header a:hover{
   background: var(--maincolor);
}
header a+a{
   border-top: 1px solid #CCCCCC;
}
.content_part{
   width: calc(100% - 100px);
   margin: 0 0 0 auto;
   overflow: hidden;
   background: #FFFFFF;
}
header i{
   font-size: var(--f20);
   color: var(--maincolor);
}
header a:hover i,header a:hover span{
   color: #FFFFFF;
}
header span{
   display: block;
   padding-top: 5px;
   color: #1F1F1F;
}
.banner{
   background: url(../image/banner.jpg);
   min-height: 500px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: "Noto Serif TC", serif;
   letter-spacing: 1px;
   text-align: center;
}
.banner *{
   color: #FFFFFF;
}
.banner h6{
   font-size: var(--f40);
   font-weight: 500;
}
.banner h5{
   font-size: var(--f16);
   font-weight: 500;
   padding: 5px 0 25px;
}
.banner h4{
   max-width: fit-content;
   width: 100%;
   border-width: 1px 0;
   border-style: solid;
   border-color: #FFFFFF;
   padding: 10px 30px;
   font-size: var(--f30);
   font-weight: 500;
   line-height: 130%;
}

.main_part{
   max-width: 1200px;
   width: calc(100% - 40px);
   margin: 0 auto;
}
.edit{
   padding: 30px 0;
}

footer{
   background: #FAFAFA;
}
footer ul{
   max-width: 1200px;
   width: calc(100% - 40px);
   margin: 0 auto;
   padding: 100px 0;
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
}
footer ul > li{
   max-width: 300px;
   width: 100%;
}
footer figure{
   max-width: 200px;
   padding-bottom: 20px;
}
footer section{
   max-width: 220px;
   display: flex;
   align-items: center;
   justify-content: space-between;
}
footer section a{
   display: flex;
   align-items: center;
   justify-content: center;
   max-width: 40px;
   width: 100%;
   min-height: 40px;
   border-radius: 50%;
   background: #202020;
}
footer section a:hover{
   background: var(--maincolor);
}
footer section a i{
   font-size: 15px;
   color: #FFFFFF;
   line-height: 1;
}
footer ul > ol{
   width: calc(100% - 350px);
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   flex-flow: wrap;
}
footer ol > li{
   width: 100%;
}
footer ol > li:nth-of-type(1){
   max-width: 420px;
}
footer ol > li:nth-of-type(2){
   max-width: 300px;
   padding-left: 20px;
}
footer h6{
   font-size: var(--f25);
   font-weight: bold;
   color: #525252;
}
footer p{
   display: flex;
   align-items: flex-start;
   padding-top: 10px;
   font-size: var(--f16);
   color: #555555;
}
footer p::before{
   max-width: 90px;
   width: 100%;
}
p.ft_add::before{
   content: '店家地址';
}
p.ft_tel::before{
   content: '店家電話';
}
p.ft_time::before{
   content: '營業時間';
}
p.ft_off::before{
   content: '公休日';
}
p.bank_name::before{
   content: '匯款銀行';
}
p.bank_user::before{
   content: '銀行戶名';
}
p.bank_branch::before{
   content: '銀行分行';
}
p.bank_account::before{
   content: '銀行帳戶';
}
.copy{
   border-top: 1px solid #CCCCCC;
   padding: 10px;
   font-size: var(--f12);
   text-align: center;
}
.copy a:hover{
   color: var(--maincolor);
}
.copy span{display: inline-block;}


/*all input*/
input[type=text],textarea,input[type=email]{
   width: 100%;
   padding: 5px 10px;
   border: 1px solid #CCCCCC;
   border-radius: 5px;
   outline: none;
   font-family: "Noto Sans TC", serif;
   font-size: var(--f16);
   letter-spacing: 1px;
}

textarea{
   line-height: 180%;
}

.radio_style{
   display: flex;
   align-items: center;
   justify-content: space-between;
   position: relative;
   cursor: pointer;
}
.input_circle{
   /* content: ''; */
   display: flex;
   align-items: center;
   justify-content: center;
   max-width: 15px;
   width: 100%;
   height: 15px;
   border: 1px solid #CCCCCC;
   border-radius: 50%;
   margin-right: 5px;
   position: relative;
}
input[type=radio]:checked ~ .radio_style .input_circle.input_circle::before{
   content: '';
   display: block;
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: #202020;
   position: absolute;
}


@media screen and (max-width:1210px) {
footer ol > li:nth-of-type(1){padding: 0 0 20px;}
footer ol > li:nth-of-type(2){padding: 0;}
}
@media screen and (max-width:1024px) {
.banner{min-height: 35vw;background-size: cover;}
footer ul{padding: 80px 0;}
footer ol > li:nth-of-type(2){max-width: 250px;}
footer p::before{max-width: 75px;}
}
@media screen and (max-width:920px) {
.index_info ul{grid-template-columns: 1fr;}
footer ul{flex-flow: wrap;}
footer ul > ol{width: 100%;padding-top: 20px;}
}
@media screen and (max-width:768px) {
header{
   width: 100%;
   height: auto;
   top: auto;
   bottom: 0;
   display: flex;
   align-items: center;
   border: none;
   z-index: 999;
}
header a{
   max-width: 100%;
   width: 25%;
   min-height: 80px;
   border-top: 1px solid #CCCCCC;
   border-right: 1px solid #CCCCCC;
}
header a:nth-last-of-type(1){
   border-right: none;
}
.content_part{
   width: 100%;
}
.banner{min-height: 40vw;}
.banner h5{padding: 5px 0 10px;}
footer{padding-bottom: 80px;}
footer ul{padding: 50px 0;}
footer ul > ol{flex-flow: row;}
footer ol > li:nth-of-type(2){padding-left: 20px;}
}
@media screen and (max-width:600px) {
header a{min-height: 65px;}
.banner{min-height: 250px;}
.edit{padding: 20px 0;}
footer{padding-bottom: 65px;}
footer ul > ol{flex-flow: wrap;}
footer ol > li:nth-of-type(2){padding: 0;}
}
@media screen and (max-width:450px) {
}
