@charset "UTF-8";
/* global */
:root {
  --blue: #1e90ff;
  --white: #ffffff;
    /* color: var(--blue); */
}
body {
/*    font-family: "MHei","Lucida Grande", "Lucida Sans Unicode", "Helvetica","Arial","Verdana","微軟正黑體", "MicrosoftJhengHeiRegular","sans-serif";*/
	font-family: "微軟正黑體", "MicrosoftJhengHeiRegular", "sans-serif", "Arial", "Verdana";
    color: #333333;
	font-size: 1em;
/*	line-height: 1.8;*/
    overflow-x: hidden;
    background-image: url(../img/bg-square.jpg);
}
*, *:before, *:after {
    box-sizing: border-box;
	 -webkit-box-sizing: border-box;
}
*:focus { 
    outline: none; 
}
table {
    width: 100%;
}
a {
    text-decoration: none;
    transition: all .3s;
}
a:hover {
/*    text-decoration: underline;*/
}
.link {
    color: #007dc5;
    display: inline-block;
}
.link:hover {
    text-decoration: underline;
}
p, .p {
    margin-bottom: 10px;
	line-height: 1.5;
}
.hidden {
    overflow: hidden;
}
.clear:after {
	content: '';
	display: table;
	clear: both;
}
.fl {
    float: left;
}
.fr {
    float: right;
}
.tl {
    text-align: left;
}
.tc {
    text-align: center;
}
.tr {
    text-align: right;
}
.inner {
	max-width: 1000px;
	margin: auto;
}
main {
/*	background-image: url(../img/bg-square.jpg);*/
}
section {
	
}
.video_wrap {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.video_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	max-height: 100%;
	max-width: 100%;
	min-height: 100%;
	min-width: 100%;
	width: 0;
}
.max100 {
    max-width: 100%;
    margin: auto;
}
.full {
    width: 100%;
}
.r {
    position: relative;
}
.abs {
    position: absolute;
}
.z001{z-index:1;}
.z002{z-index:2;}
.z003{z-index:3;}
.z004{z-index:4;}
.z005{z-index:5;}
.allcenter{top:50%;left:50%;transform:translate(-50%,-50%);}
.flex {
    display: flex;
}
.flex.b {
    justify-content: space-between;
}
.flex_1 {
    flex: 1;
}

/* header */
header {
	background: #fff;
	/* padding-bottom: 100px; */
}
.logo {
    max-width: 20vw;
    display: inline-block;
    margin: 3.6vw 5vw 0;
}
nav {
	background-image: url(../img/bg-nav.png);
	height: 82px;
	justify-content: center;
	align-items: center;
}
nav a {
    display: flex;
    height: 82px;
    width: 350px;
    text-align: center;
    padding: 10px;
    align-items: center;
    justify-content: center;
}
nav a:nth-of-type(odd) {
    background: rgb(85 109 57 / 30%);
}
nav a:nth-child(4) {
    background: rgb(207 119 32 / 50%);
}
nav a:hover {
    opacity: .8;
}
nav .max100 {
    max-width: 160px;
    align-items: baseline;
}

/* content */
#sec1 {
    /* background-image: url(../img/bg-01.png); */
    background-position: center top;
    background-repeat: no-repeat;
    min-height: 270px;
    padding-top: 100px;
}
.main_tit_wrap {
    position: relative;
    aspect-ratio: 418 / 208;
    width: 418px;
/*    height: 197px;*/
    margin: 0 auto 60px;
}
.main_tit {
    background-image: url(../img/bg-tit.png);
    aspect-ratio: 418 / 208;
/*    width: 568px;*/
/*    height: 197px;*/
    display: flex;
    align-items: center;
    justify-content: center;
}
.main_tit_wrap .deco, .main_tit_wrap .deco2, .main_tit_wrap .deco3 {
    position: absolute;
}
#sec1 .main_tit_wrap .deco {
    left: -51%;
    top: 0;
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.video_all {
    background-image: url(../img/img-01.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    height: 537px;
    width: 782px;
    margin: auto;
    padding: 100px 70px;
}
#sec2 .main_tit_wrap .deco {
    right: -18%;
    top: 14%;
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-delay: 1s;
}
.txt {
    margin-bottom: 60px;
}
.road_wrap, .road_wrap2 {
    position: absolute;
}
.road_wrap .deco, .road_wrap .deco2 {
    position: absolute;
}
.road_wrap2 .deco, .road_wrap2 .deco2 {
    position: absolute;
}
#sec2 {
    padding-top: 23px;
}
#sec2 .road_wrap {
    left: -452px;
    top: -408px;
}
#sec2 .road_wrap .deco {
    top: 80px;
    left: 118px;
/*    animation-name: walk1;*/
    animation-duration: 5s;
/*    animation-timing-function: ease-in-out;*/
/*    animation-iteration-count: 1;*/
/*    animation-iteration-count: infinite;*/
    animation-fill-mode: forwards;
}
.shake_rotate {
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
/*********************
* walk1
*********************/
@keyframes walk1 { 
    20% {
        top: 155px;
    left: 198px;
    }
    40% {
        top: 400px;
        left: 240px;
    }
    100% {
        top: 900px;
        left: -23px;
    } 
}	
.walk1.go {
    -webkit-animation-name: walk1;
    animation-name: walk1;
}
.main_tit_wrap.dot:after {
    position: absolute;
    content: '';
    background: url(../img/dot-01.png);
    width: 100%;
    height: 8px;
    left: 0;
    bottom: -15px;
    background-repeat: no-repeat;
    background-position: center;
}
.sub_tit {
    margin-top: -20px;
    margin-bottom: 30px;
}
.chart_wrap {
    margin-bottom: 60px;
    position: relative;
}
.chart_wrap .c_tit {
    display: inline-block;
    padding: 15px 25px;
}
.chart_wrap.t1 .c_tit {
    background: #e57720;
}
.chart_wrap.t2 .c_tit {
    border: 4px solid #7a8b5d;
    background: #fff;
}
.chart_wrap .c_body {
    border: 5px solid;
    background: #fff;
    padding: 60px 0 20px;
    margin-top: -30px;
}
.chart_wrap.t1 .c_body {
    border-color: #e57720;
}
.chart_wrap.t2 .c_body {
    border-color: #7a8b5d;
    background: #7a8b5d;
}
.chart_wrap .c_body .flex {
    gap: 30px;
    justify-content: center;
    align-items: flex-end;
    min-height: 220px;
}
.chart_wrap .c_body .item {
    width: 110px;
}
.chart_wrap .c_num img {
    height: 17px;
    width: auto;
    max-width: initial;
}
/*********************
* growUp
*********************/
@-webkit-keyframes growUp { 
    0% { 
        height: 0;
    } 
    100% { 
        height: 150px;
    } 
} 

@keyframes growUp { 
    0% {   
        height: 0;
    } 
    100% {         
        height: 168px;
    } 
} 
.growUp{
    height: 0; 
}
.growUp.go { 
    -webkit-animation-name: growUp; 
    animation-name: growUp; 
}
.chart_wrap .c_line {
    width: 70px;
    margin: 10px auto;
/*    transition: all .3s;*/
}
.chart_wrap.t1 .c_line {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fae6d5+0,e8883b+100 */
    background: rgb(250, 230, 213);
    /* Old browsers */
    background: -moz-linear-gradient(top, rgba(250, 230, 213, 1) 0%, rgba(232, 136, 59, 1) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(250, 230, 213, 1) 0%, rgba(232, 136, 59, 1) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(250, 230, 213, 1) 0%, rgba(232, 136, 59, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fae6d5', endColorstr='#e8883b', GradientType=0);
    /* IE6-9 */
}
.chart_wrap.t2 .c_line {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#96a37f+0,ffffff+100 */
    background: rgb(150, 163, 127);
    /* Old browsers */
    background: -moz-linear-gradient(top, rgba(150, 163, 127, 1) 0%, rgba(255, 255, 255, 1) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(150, 163, 127, 1) 0%, rgba(255, 255, 255, 1) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(150, 163, 127, 1) 0%, rgba(255, 255, 255, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#96a37f', endColorstr='#ffffff', GradientType=0);
    /* IE6-9 */
}
.chart_wrap .c_txt img {
    height: 11px;
    width: auto;
    margin: auto;
}
.plan_wrap {
    margin: -50px -70px 70px;
    justify-content: center;
}
.plan02 {
    margin-left: -100px;
    padding-top: 160px;
    align-self: flex-end;
}
#sec2 .main_tit_wrap {
    aspect-ratio: 568 / 197;
    width: 568px;
}
#sec2 .main_tit {
    background-image: url(../img/bg-tit2.png);
    aspect-ratio: 568 / 197;
}
#sec2 .road_wrap2 {
    right: -451px;
    bottom: 335px;
}
#sec2 .road_wrap2 .deco {
    right: 64px;
    top: -97px;
/*    animation-name: walk2;*/
    animation-duration: 4s;
    animation-timing-function: linear;
/*    animation-iteration-count: 1;*/
/*     animation-iteration-count: infinite; */
    animation-fill-mode: forwards;
}
#sec2 .road_wrap2 .deco2 {
    top: 160px;
    right: 216px;
/*    animation-name: walk3;*/
    animation-duration: 4s;
    animation-timing-function: linear;
/*    animation-iteration-count: 1;*/
/*     animation-iteration-count: infinite; */
    animation-fill-mode: forwards;
/*    display: none;*/
}
/*********************
* walk2
*********************/
@keyframes walk2 {
    50% {
        top: 160px;
        right: 216px;
    }
    100% {
        top: 365px;
        right: 220px;
    }
}	
.walk2.go {
    -webkit-animation-name: walk2;
    animation-name: walk2;
}
/*********************
* walk3
*********************/
@keyframes walk3 {
    50% {
        top: 345px;
        right: 137px;
    }
    100% {
        top: 528px;
        right: 0;
    }
}	
.walk3.go {
    -webkit-animation-name: walk3;
    animation-name: walk3;
}
#sec3 {
    background-image: url(../img/bg-skin.png);
    background-position: top center;
    background-repeat: no-repeat;
    min-height: 2250px;
    padding-top: 65px;
}
#sec3 .main_tit_wrap .deco {
    left: -15.5%;
    top: -11.75%;
}
/*****************
* rotate *
*****************/
@-webkit-keyframes rotate { 
    100% { 
        -webkit-transform: rotate(360deg);  
    } 
} 
@keyframes rotate {
    100% { 
        transform: rotate(360deg);
    } 
}
.rotate.go { 
    -webkit-animation-name: rotate; 
    animation-name: rotate; 
}
#sec3 .main_tit_wrap .deco2 {
    right: -35.5%;
    top: 54%;
}
.curry_wrap {
    margin: 100px 0;
}
.curry_tit {
    margin: 20px 0;
}
.curry_con .curry1 {
    float: left;
    position: relative;
}
.curry_con .curry1 .btn3 {
    right: -26px;
    bottom: 40px;
}
.curry_con .curry2 {
    position: relative;
    float: right;
    margin-top: -80px;
}
.curry_con .curry2 .btn3 {
    left: -21px;
    bottom: 65px;
}
.btn3 {
    position: absolute;
    padding: 5px 7px;
    line-height: 1;
    white-space: nowrap;
    z-index: 1;
}
.btn3:hover {
    transform: scale(1.05);
}
.btn3 img {
    height: 17px;
}
.cr1 .btn3 {
    background: #99b873;
}
.cr2 .btn3 {
    background: #e57720;
}
.cr2 .curry1 .btn3 {
    bottom: 80px;
        right: -31px;
}
.cr2 .curry2 .btn3 {
    bottom: 30px;
        left: -38px;
}
.cr3 .btn3 {
    background: #ec7282;
}
.cr3 .curry1 .btn3 {
   right: -13px;
}
.cr3 .curry2 .btn3 {
    left: -6px;
    bottom: 65px;
}
#sec3 .road_wrap {
    left: -452px;
    top: 162px;
}
#sec3 .road_wrap .deco {
    top: 50px;
    left: 55px;
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
#sec3 .road_wrap .deco2 {
    top: 410px;
    left: -13px;
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-delay: 1s;
}
#sec3 .road_wrap2 {
    right: -451px;
    bottom: -929px;
}
#sec3 .road_wrap2 .deco {
    top: 330px;
    left: -54px;
}
#sec4 {
    background-image: url(../img/bg-02.png);
    background-position: center 255px;
    background-repeat: no-repeat;
    min-height: 1951px;
    padding-top: 305px;
}
#sec4 .main_tit_wrap .deco {
    left: -115.5%;
    top: -35.5%;
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
#sec4 .main_tit_wrap .deco2 {
    left: -46.5%;
    top: -27.75%;
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-delay: 1s;
}
#sec4 .main_tit_wrap .deco3 {
    position: absolute;
    left: 50%;
    top: -142%;
    z-index: -1;
    transform: translateX(-50%);
    width: 100%;
}
#sec4 .tit {
    margin-top: 100px; 
}
.logo_wrap {
    gap: 20px;
    justify-content: center;
    margin: 60px 0;
    align-items: center;
}
.logo_house {
    width: 340px;
    max-width: 100%;
}
.with {
    width: 30px;
}
.logo_comity {
    width: 380px;
    max-width: 100%;
}
#sec4-1 .tit {
    margin: 60px 0; 
}
#sec4-1 .road_wrap {
    left: -452px;
    top: -115px;
}
#sec4-1 .road_wrap .deco {
    top: -34px;
    left: 65px;
}
#sec4-1 .road_wrap .deco2 {
    top: 304px;
    left: 172px;
}
#sec4-1 .road_wrap2 {
    right: -451px;
    bottom: -1400px;
}
#sec4-1 .road_wrap2 .road {
    transform: scaleX(-1);
}
#sec4-1 .road_wrap2 .deco {
    top: 203px;
    left: -32px;
}
#sec5 {
    /* background-image: url(../img/line-01.png);
    background-position: center 60px;
    background-repeat: no-repeat;
    padding-top: 60px;
	padding-bottom: 400px; */
    padding-bottom: 200px;
    overflow-y: hidden;
	z-index:3;
}
#sec5 .main_tit_wrap .deco {
    left: -37.5%;
    top: -10%;
    animation-name: shake-rotate;
    animation-duration: 10s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
#sec5 .road_wrap {
    left: -452px;
    top: 140px;
}
#sec5 .road_wrap .deco {
    top: -55px;
    left: 230px;
}
/* ######################################### */
/* ###### 2024 ADDITION PARTS START ######## */
/* new css 共用  */
nav a{position:relative;}
nav a img.sub{position:absolute;left:0;width:100%;bottom:90%;}
.show400{display:none;}
.hide400{display:block;}
.rot{animation: danceme 1s infinite;transform-origin: center;}
.rot2{animation: danceme 1.3s infinite;transform-origin: center;}
.jump{animation: jumpme 3s infinite;}
.jumpb{animation: jumpmeb 3s infinite;}
.blk{animation: blinkme 3s infinite;}
.main_titn{	margin:0 auto 0 auto;}
.jumpwrap .jump{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
.hideme{padding:30px 0;visibility:hidden;}
@keyframes blinkme{
	0%{
		/*filter: brightness(1);*/
		opacity:1;
	}	
	10%{
		/*filter: brightness(0.9);*/
		opacity:0.4;
	}
	20%{
		/*filter: brightness(1.15);*/
		opacity:1;
	}
	30%{
		/*filter: brightness(0.9);*/
		opacity:0.4;
	}
	40%{
		/*filter: brightness(1.15);*/
		opacity:1;
	}
	50%{
		/*filter: brightness(0.9);*/
		opacity:0.4;
	}
	60%{
		/*filter: brightness(1.15);*/
		opacity:1;
	}
}
@keyframes danceme{
	  0% {		transform: rotate(0deg) ;	  }
	  20%{		transform: rotate(-10deg) ;	  }
	  40%{		transform: rotate(10deg) ;	  }
	  60%{		transform: rotate(-5deg) ;	  }
	  80% {		transform: rotate(0deg) ;	  }
}
@keyframes jumpme{
	  0% {		margin-top:0px;	  }
	  12%{		margin-top:-10px;	  }
	  24%{		margin-top:15px;	  }
	  36%{		margin-top:-5px;	}
	  48%{		margin-top:3px;	}
	  60%{		margin-top:0;	}
}
@keyframes jumpmeb{
	  0% {		margin-bottom:0px;	  }
	  10%{		margin-bottom:-10px;	  }
	  20%{		margin-bottom:12px;	  }
	  30%{		margin-bottom:-7px;	}
	  40%{		margin-bottom:9px;	}
	  50%{		margin-bottom:-4px;	}
	  60%{		margin-bottom:5px;	}	  
	  70%{		margin-bottom:-4px;	}
	  80%{		margin-bottom:5px;	}
	  90%{		margin-bottom:0	}
}
/* ########   sec6   #### */
#sec6 {   padding-top: 60px; margin-top: -210px;	z-index:2;}
#sec6 .txt{	max-width:100%;	margin:0 auto;}
#sec6 .split3{	margin:30px auto;	width:1200px;	max-width:90%;align-items:flex-start;}
#sec6 .split3 img{	max-width:30%;}
.sec6i3{padding:20px 0 0x 0;}
/* ########   sec7   #### */
#sec7{    margin-top: 100px;	z-index:2;}
#sec7 .b1{    padding: 20px 0;	}
.sec7i2{	position:absolute;	left:50%;	bottom:20px;	margin-left:-490px;}
.sec7i3{	position:absolute;	right:50%;	bottom:20px;	margin-right:-460px;}
.sec7i4{	position:absolute;	width:1920px;	left:50%;	transform:translateX(-50%);	bottom:0;}
.sec7i5{padding:50px 0;}
.sec7i6{padding:10px 0 0 0;}
.bgsec7{	width:1920px;	max-width:100%;	margin:0 auto;	background:#e3dac9;}
.sec7i7{margin-top:-10px;padding-bottom:80px;}
.sec7i9{text-align:center;padding:30px 0;}
.sec7i9 img{margin:0 auto;}
.sec7i11{width:1920px;}
/* ########   sec8   #### */
#sec8{    margin-top: -20px;	z-index:2;overflow:hidden;}
#sec8bg{width:1920px;position:absolute;top:0;left:50%;transform:translateX(-50%);}
#sec8 .b1{margin-top:80px;}
.sec8i2{position:absolute;top:-50px;left:calc(50% - 92px);}
.sec8i3{max-width:90%;margin:0 auto;}
.sec8i4{max-width:90%;margin:0 auto;}
@media only screen and (max-width: 1100px) {
	#sec7 .b1{    padding: 100px 0 20px 0;	}
	.sec7i2{	position:absolute;	left:30%;	top:0px;	margin-left:0; width:12%;}
	.sec7i3{	position:absolute;	right:30%;	top:0px;	margin-right:0;width:12%;}
	nav a img.sub{width:60%;left:auto;right:10%;bottom:80%;}
}
@media only screen and (max-width: 1000px) {
	nav a img.sub{width:40%;left:auto;right:-4%;bottom:50%;}
}
@media only screen and (max-width: 769px) {

	/*共用*/
	.show400{display:block;}
	.hide400{display:none;}
	.main_titn{		margin:0 auto 30px auto;		height:125px;	}
	.main_titn .max100{		max-height:100%;	}
	/* sec 6 */
	#sec6 .split3{		flex-wrap: wrap;	}
	#sec6 .split3 img{		max-width:80%;		margin:10vw auto;	}
	/* sec 7 */
	#sec7 .b1{    padding: 15vw 0 5vw 0;	}
	.sec7i2{	position:absolute;	left:25%;	top:0px;	margin-left:0; width:18%;}
	.sec7i3{	position:absolute;	right:25%;	top:0px;	margin-right:0;width:18%;}
	.sec7i7{width:90%;}
	.sec7i9 img{max-width:70%;margin:5vw auto;}
	/* sec 8 */
	.sec8i2{position:absolute;top:-6vw;width:18%;left:41%;}
	.sec8i3{width:100%;}
	
}
/* ####### 2024 ADDITION END ############### */
/* ######################################### */
.ad_wrap {
    margin: -40px -150px 0;
}
.ad_con {
    border: 7px solid #ffefde;
    background: #fff;
    margin-top: -20px;
}
.ad_con .item {
    padding: 40px 70px;
}
.ad_con .item:first-of-type {
    background: #ffefde;
}
.third_tit {
    margin-bottom: 15px;
}
.pro_wrap {
    width: 490px;
    margin: auto;
    position: relative;
    margin-top: 50px;
}
.pro_wrap .btn2 {
    position: absolute;
    right: 0;
    top: 125px;
}
.btn2:hover {
    transform: scale(1.05);
}

/* footer */
footer {
	padding-top: 80px;
}
.copy_right {
    background: #f1f1f1;
    padding: 0 10px;
}

/* title & font-size */
h2 {
    color: #259bb1;
    margin-bottom: 5px;
    font-size: 24px;
    line-height: 1.5;
}
h3 {
    margin-bottom: 20px;
}
h4 {
    color: #259bb1;
}
h5 {
    color: #ffffff;
}
big {
	
}
small {
    font-size: 20px;
}

/* btn */
button {
    appearance: none;
    -moz-appearance: none; /* Firefox */
    -webkit-appearance: none; /* Safari and Chrome */
    border: none;
    cursor: pointer;
    font-size: 20px;
}
.btns > *[class^='btn'] {
    float: none;
    margin-right: 20px;
    width: 180px;
}
.btns > *[class^='btn']:last-child {
    margin-right: 0;
}
.align_center .btn1 {
    margin-top: 15px;
}
.btn {
	background-color: transparent;
	padding: 0;
}
.btn_wrap {
    margin: 30px 0;
}
.btn1 {
    display: inline-block;
}
.btn1:hover {
    transform: scale(1.05);
}

/* form */
.form_wrap {
    margin-bottom: 20px;
}
.form_wrap > label {
    display: block;
    color: #259bb1;
}
textarea {
	width: 100%;
	resize: none;
	padding: 10px;
}

/* input */
.input {
    width: 100%;
    padding: 0 10px;
    border: 1px solid #235535;
    height: 40px;
    border-radius: 10px;
    box-shadow: none;
    margin: 0;
    color: #333333;
}
.input::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.input:-ms-input-placeholder {
  color: #999;
}
.input::-webkit-input-placeholder {
  color: #999;
}
.input[disabled] {
    background: #D1D1D1;
    -webkit-text-fill-color: #acacac;
    color: #acacac;
    opacity: 1;
}
.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
    width: 100%;
}
.input-group > * {
    display: table-cell;
    vertical-align: top;
}
.input-group input {
/*    color: #999999;*/
}

/* select */
select::-ms-expand {
    display: none;
}
.select1 {
    position: relative;
    text-align-last: center;
}
.select1 select {
    width: 100%;
    padding: 0 20px;
    border: 1px solid #cccccc;
    height: 40px;
    border-radius: 10px;
    box-shadow: none;
    margin: 0;
    font-size: 20px;
    color: #333333;
    appearance:none;
-moz-appearance:none; /* Firefox */
-webkit-appearance:none; /* Safari and Chrome */
    background: #ffffff;
}
.select1 .arrow {
    border-radius: 0 3px 3px 0;
    position: absolute;
    right: 0;
    top: 0;
    height: 30px;
    line-height: 30px;
    pointer-events: none;
}
.select1 .arrow:before {
    position: absolute;
    content: '';
    border: solid #000000;
    border-width: 2px 2px 0 0;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -1px;
    top: 50%;
    right: 20px;
    width: 10px;
    height: 10px;
}

/* radio */
.radio_wrap {
    position: relative;
    padding: 0 25px;
    padding-bottom: 30px;
    font-size: 18px;
}
.radio_wrap input[type='radio'] {
    display: none;
}
.radio_wrap input[type='radio'] + label {
    height: 20px;
    position: relative;
    cursor: pointer;
    padding-left: 30px;
    display: inline-block;
} 
.radio_wrap input[type='radio'] + label:before {
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 100px;
    border: 2px solid #555555;
    top: 8px;
    left: 0;
}
.radio_wrap input[type='radio']:checked + label {
    color: #259bb1;
}
.radio_wrap input[type='radio']:checked + label:before {
    border-color: #259bb1;
}
.radio_wrap input[type='radio']:checked + label:after {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 100px;
    background: #259bb1;
    top: 12px;
    left: 4px;
    z-index: 3;
}

/* checkbox */
.checkbox_wrap {
    margin-bottom: 10px;
}
.checkbox_wrap input[type='checkbox'] {
    display: none;
}
.checkbox_wrap input[type='checkbox'] + label {
    position: relative;
    cursor: pointer;
    padding-left: 25px;
    display: inline-block;
/*	line-height: 1.5;*/
}
.checkbox_wrap input[type='checkbox'] + label:before {
    position: absolute;
    content: "";
    width: 1em;
    height: 1em;
    border-radius: 5px;
    border: 2px solid #ffffff;
    top: 50%;
	margin-top: -.5em;
    left: 2px;
}
.checkbox_wrap input[type='checkbox']:checked + label:before {
    background: #259bb1;
}
.checkbox_wrap input[type='checkbox']:disabled + label {
    color: #999999;
}
.checkbox_wrap input[type='checkbox']:disabled + label:before {
    border-color: #999999;
}
.checkbox_wrap input[type='checkbox'] + label:before {
    border-radius: 100px;
    border-color: #259bb1;
}
.checkbox_wrap input[type='checkbox']:checked + label:before {
    background: #259bb1;
}

/* elements */
.box1 {
    border: 1px solid #259bb1;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 40px;
    background: #ffffff;
}
.bar1 {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#259bb1+0,01b6ad+83,01b6ad+100 */
    background: #259bb1;
    /* Old browsers */
    background: -moz-linear-gradient(left, #259bb1 0%, #01b6ad 83%, #01b6ad 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #259bb1 0%, #01b6ad 83%, #01b6ad 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #259bb1 0%, #01b6ad 83%, #01b6ad 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#259bb1', endColorstr='#01b6ad', GradientType=1);
    /* IE6-9 */
    color: #ffffff;
    padding: 15px;
    position: relative;
}


/* list */
.no_list {
    list-style: none;
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
}
.list1 {
    background: #ffffff;
    border-radius: 10px;
}
.list1 tr {
    border-bottom: 1px solid #c33333;
    padding: 10px 20px;
}
.list1 tr:last-child {
    border-bottom: 0;
}
.list1 td {
    padding: 10px 20px;
    vertical-align: middle;
}
.list1 td:first-child {
    padding-right: 5px;
}
.list1 td:last-child {
    padding-left: 5px;
    width: 110px;
}

/* pc & mobile */
.pc {
	display: block;
}
.mo {
	display: none;
}

@media only screen and (max-width: 1366px) {
    .road_wrap, .road_wrap2 {
        display: none;
    }
    .ad_wrap {
        margin-left: 10px;
        margin-right: 10px;
    }
    .pro_wrap {
        width: auto;
        margin-top: 25px;
    }
    .pro_wrap .btn2 {
        position: static;
        display: inline-block;
    }
    .ad_con .item {
        padding: 40px;
    }
}

@media only screen and (max-width: 1000px) {
    nav {
        flex-wrap: wrap;
        padding: 2px 15px;
        background-image: url(../img/bg-nav-m.png);
        height: auto;
        background-size: cover;
    }
    nav a {
        background: rgb(85 109 57 / 30%);
        width: calc(50% - 4px);
        margin: 2px;
    }
	/*
    nav a:last-of-type {
        width: calc(100% - 2px);
    }
	*/
    .inner {
        padding: 0 10px;
    }
    .plan_wrap {
        flex-direction: column;
        margin: 0 0 35px;
    }
    .plan02 {
        margin: 0 auto;
        padding-top: 0;
    }
    .curry_tit {
        overflow: hidden;
        position: relative;
        height: 70px;
    }
    .curry_tit img {
        position: absolute;
        left: 50%;
        max-width: 700px;
        transform: translateX(-50%);
    }
    .curry_con .curry2 {
        margin-top: -40px;
        /* float: none; */
    }
    .ad_wrap {
        margin: -40px 0 0;
    }
    .curry_con {
/*        padding: 0 10px;*/
    }
    .chart_wrap .c_tit {
        max-width: 95%;
    }
    #sec3 {
        padding-bottom: 50px;
        min-height: auto;
        background-size: auto 100%;
    }
    .ad_con {
        flex-direction: column;
        margin-top: -55px;
        border-bottom-width: 30px;
    }
    #sec4 {
/*        padding-top: 100px;*/
    }
    #sec4 .main_tit_wrap .deco2 {
        top: 27%;
    }
}

@media only screen and (max-width: 782px) {
    .video_all {
        width: auto;
        height: 69vw;
        padding: 13vw 8vw;
    }
}

@media only screen and (max-width: 769px) {
    .logo {
        max-width: 150px;
        margin: 20px;
    }
    header {
        /* padding-bottom: 50px; */
    }
    #sec1 {
        /* padding-top: 50px;
        background-size: 200% 114%; */
        padding-top: 0px;
        min-height: inherit;
        /* padding-bottom: 15vw; */
        background-position: center -10vw;
    }
    .main_tit_wrap {
        width: 230px;
/*        height: 108px;*/
        margin: 0 auto 30px;
        z-index: 1;
    }
    .main_tit {
/*        width: 312px;*/
/*        height: 108px;*/
        background-size: 100% 100%;
        padding: 0 30px;
    }
    #sec1 .main_tit_wrap .deco {
        max-width: 152px;
    }
    #sec2 .main_tit_wrap {
        width: 280px;
    }
    #sec2 .main_tit_wrap .deco {
        max-width: 70px;
        right: -14%;
    }
    #sec3 .main_tit_wrap .deco {
        max-width: 80px;
    }
    #sec3 .main_tit_wrap .deco2 {
        max-width: 100px;
        right: -30.5%;
    }
    #sec4 .main_tit_wrap .deco {
        max-width: 125px;
        left: 0;
        top: -70%;
        display: none;
    }
    #sec4 .main_tit_wrap .deco2 {
        max-width: 75px;
        left: 58%;
        top: -55%;
        display: none;
    }
    #sec4 .main_tit_wrap .deco3 {
        max-width: 135px;
        top: -133%;
    }
    #sec5 .main_tit_wrap .deco {
        max-width: 108px;
        left: -25%;
        top: -47%;
    }
    .sub_tit {
        margin-top: -10px;
        margin-bottom: 15px;
    }
    .chart_wrap .c_tit {
        /* max-width: 400px; */
    }
    .chart_wrap .c_body .item {
        width: 70px;
    }
    .chart_wrap .c_line {
        width: 30px;
    }
    .chart_wrap .c_txt img {
        height: 20px;
    }
    .one_line .c_txt img, .chart_wrap .c_txt .one_line {
        height: 10px;
    }
    .chart_wrap .c_body {
        border-width: 3px;
        padding: 30px 0 10px;
/*        max-width: 450px;*/
        margin-left: auto;
        margin-right: auto;
    }
    .chart_wrap .c_body .flex {
        gap: 0;
        min-height: 225px;
    }
    .logo_wrap {
        flex-direction: column;
        max-width: 210px;
        margin: 25px auto;
        gap: 10px;
    }
    .logo_wrap img {
        margin: auto;
    }
    .with {
        max-width: 15px;
    }
    #sec3 {
        background-size: 200% 100%;
        min-height: inherit;
        padding-bottom: 10vw;
    }
    .curry_wrap {
        margin: 50px 0;
    }
    #sec4 {
        background-size: 300% 92%;
        min-height: initial;
        padding: 40vw 0 20vw;
        background-position: center 32vw;
    }
    #sec4 .tit {
        max-width: 280px;
        margin: 0 auto;
    }
    .ad_wrap {
        margin: -20px 0 0;
    }
    .ad_con .item {
        padding: 70px 15px 40px;
        /* border-width: 10px; */
    }
    .ad_tit {
        max-width: 230px;
        margin: 0 auto;
    }
    #sec5 {
        padding-top: 20vw;
    }
    #sec5 .inner {
        padding: 0;
    }
    .third_tit {
        max-width: 100px;
        margin-left: auto;
        margin-right: auto;
    }
    .ad_con .item:last-of-type {
        padding-top: 40px;
    }
    .curry_con .curry1 {
        float: none;
    }
    .curry_con .curry2 {
        float: none;
        margin-top: 0;
    }
    .btn3 {
        padding: 1vw;
    }
    .btn3 img {
        height: 3vw;
    }
    .curry1 .btn3 {
        right: 1vw;
    }
    .cr1 .curry1 .btn3 {
        bottom: 7vw;
        right: 0;
    }
    .cr1 .curry2 .btn3 {
        bottom: 11.5vw;
        left: 0;
    }
    .cr2 .curry1 .btn3 {
        bottom: 12vw;
        right: 0;
    }
    .cr2 .curry2 .btn3 {
        bottom: 5vw;
        left: 0;
    }
    .cr3 .curry1 .btn3 {
        bottom: 6vw;
        right: 0;
    }
    .cr3 .curry2 .btn3 {
        bottom: 11.5vw;
        left: 0;
    }
    footer {
        padding-top: 40px;
    }
    .pc {
    	display: none;
    }
    .mo {
    	display: block;
    }
}

/* 2025 top btn */
.to_top {
    position: fixed;
    right: 10px;
    bottom: 10px;
    cursor: pointer;
    z-index: 5;
}
@media only screen and (max-width: 769px) {
    .to_top {
        max-width: 90px;
    }
}

/* 2025 惜食更改 */
.swiper {
    max-width: 1500px;
    margin-top: 100px;
}
.swiper-slide .slide-img {
    opacity: .5;
    transition: all .3s;
}
.w-bg {
    mask-image: url(../img/slide-03.png);
    mask-size: 100% 100%;
    overflow: hidden;
    background: #fff;
}
.swiper-slide .slide-txt {
    padding-top: 25px;
}
.swiper-slide .slide-in {
    transform: scale(0.75);
    transform-origin: top;
    transition: all .3s;
    pointer-events: none;
    display: block;
}
.swiper-slide-active {
    z-index: 1;
}
.swiper-slide-active .slide-img {
    opacity: 1;
}
.swiper-slide-active .slide-in {
    transform: scale(1);
    pointer-events: auto;
}
.swiper-button-next, .swiper-button-prev {
    aspect-ratio: 48 / 45;
    width: 48px;
    top: auto;
    margin-top: 0;
    right: auto;
    left: auto;
    height: auto;
    background-image: url(../img/icon-arrow-01.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    display: block;
}
.swiper2 .swiper-button-next, .swiper2 .swiper-button-prev {
    background-image: url(../img/icon-arrow-02.png);
}
.swiper-button-prev {
    left: 0;
}
.swiper-button-next {
    right: 0;
    transform: scaleX(-1);
}
.swiper-button-next:after, .swiper-button-prev:after {
    display: none;
}
.swiper-button-wrap {
    width: 33.33%;
    height: 44px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}
.swiper-slide:has(+ .swiper-slide-prev + .swiper-slide-active) {
    opacity: 0;
}
.swiper-slide-active + .swiper-slide + .swiper-slide {
    opacity: 0;
}
#sec4-1 {
    padding-bottom: 200px;
}
.swiper2 {
/*    padding-bottom: 85px;*/
/*    margin-bottom: 325px;*/
    margin-bottom: 150px;
}
.swiper-pagination-fraction {
    font-family: "Caveat", cursive;
    color: #e57720;
    font-size: 46px;
    top: auto;
    bottom: 0;
    font-weight: 500;
    width: auto;
    left: 50%;
    transform: translateX(-50%);
}
.p_layout {
    max-width: 1544px;
    position: relative;
    margin: 10px auto;
}
button.mfp-close {
    width: 4%;
    height: 7%;
    top: 5%;
    right: 3.3%;
    font-size: 0;
}
.mfp-close:active {
    top: 5%;
}
@media only screen and (max-width: 1500px) {
    .swiper {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media only screen and (max-width: 769px) {
    .swiper {
        margin-top: 25px;
    }
    #sec4 .txt {
        margin: 0;
    }
    .swiper-slide .slide-txt {
        padding-top: 12px;
        max-width: 60px;
        margin: auto;
    }
    .swiper-button-wrap {
        width: 66.66%;
        height: 22px;
    }
    .swiper-button-next, .swiper-button-prev {
        width: 24px;
    }
    #sec4-1 .tit {
        max-width: 278px;
        margin: 70px auto 35px;
    }
    .swiper-pagination-fraction {
        font-size: 24px;
    }
    .swiper2 {
/*        padding-bottom: 40px;*/
        margin-bottom: 50px;
    }
    #sec4-1 {
        padding-bottom: 50px;
    }
    button.mfp-close {
        width: 7%;
        height: 5%;
        top: 3%;
        right: 4.3%;
    }
    .mfp-close:active {
        top: 3%;
    }
}