/*common start*/
body,div,ul,li,a,img,p,dl,dt,dd,h1,h2,h3,h4,span,strong,input{ margin:0; padding:0;list-style:none;text-decoration:none;border:0; list-style:none;}
body{ font-size:18px;background:#fafaf9;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Sans","Yu Gothic",Arial,sans-serif;overflow-x:hidden}
body.head_on{overflow:hidden}
button{font:inherit;cursor:pointer;border:0}
a{color: inherit;transition: 0.3s;}
a:hover{ color:#f60; text-decoration:none;cursor: pointer;}
p{line-height:1.8em; padding:5px 0;}
.clear{ margin:0; padding:0; font-size:0; clear:both; }
.wapper{ width:1200px; margin:0 auto;}
.container{max-width:1280px;margin:auto;padding:0 24px}


*,
*::before,
*::after{-webkit-box-sizing: border-box;box-sizing: border-box;}

:root {
	--main-color: #185fad;
	--main-color2: #109B04;
	--main-color-white: #fff;
	--main-color-000: #000;
	--main-color-333: #333333;
	--main-color-888: #888888;
	--main-transition: all ease 0.4s;
	--main-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}


.header{ position:relative;z-index: 999;width: 100%;}
.headList{display: flex;justify-content: space-between;align-items: center;height: 90px;padding: 0 20px;box-sizing: border-box;}
.headList .logo{display: block;line-height: 1;}
.headList .logo img{max-height: 55px;width: auto;}

.nav{position:sticky;top:0;z-index:50;background:rgba(250,250,249,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(231,229,228,.75);padding:14px 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:12px;user-select:none;min-width:190px}
.logo svg{width:64px;height:40px;flex:0 0 auto}
.logo-main{font-weight:800;font-size:20px;letter-spacing:.05em;color:#113a5d}
.logo-sub{font-weight:700;font-size:12px;color:#475569}
.logo-en{display:block;font-size:9px;font-weight:800;color:#64748b;letter-spacing:.01em;text-transform:uppercase;margin-top:3px}
    .menu{display:flex;align-items:center;gap:clamp(10px,2vw,32px);font-size:12px;font-weight:700;letter-spacing:.12em;color:#1e293b;white-space:nowrap}
.menu a{border-bottom:1px solid transparent;padding:8px 0;transition:.2;display: block;}
.menu a:hover{color:#be123c;border-color:rgba(190,18,60,.3)}

.menu ul li{padding: 0 20px;}
.menu ul li dl{ background:#fff; width:100%; position:absolute; left:50%; top:70px; box-shadow:2px 2px 5px rgba(0,0,0,0.2);display:none;z-index: 9;transform: translateX(-50%);min-width: 150px;}
.menu ul li dl dd{ line-height:40px;border-bottom:#ddd dotted 1px;position: relative;}
.menu ul li dl dd a{ font-size:14px; color:#333;display:block;}
.menu ul li dl dd a:hover{ color:#f60;}

.language{position: relative;margin-left: 25px;}
.language dt{height: 40px;display: flex;justify-content: center;align-items: center;font-size: 14px;color: #000;cursor: pointer;width: 100px;border-radius: 30px;background: #fff;border: 1px solid #eee;}
.language i{padding-left: 20px;}
.language dd{position: absolute;top: 40px;right: 0;width: 120px;background: #fff;display: none;box-shadow: var(--main-shadow);border-radius: 10px;overflow: hidden;}
.language ul li{line-height: 40px;text-align: center;}
.language ul li a{display: block;padding: 0 10px;font-size: 14px;color: #000;}
.language ul li a img{width: auto;height: 15px;margin-right: 5px;vertical-align: middle;}
.language ul li a:hover{background: #000;color: #fff;}
.language ul li.on a{color: var(--main-color);}
/*.language:hover dd{display: block;}*/


/*mMenu*/
.m_header{width: 100%;}
.sp_header1{height:70px;background:#fff;position:fixed;z-index:9999;width:100%;display: none;top: 0;}
.sp_header1 .language{float: right;height: 70px;margin-right: 12px;display: flex;align-items: center;}
.sp_header1 .language dd{top: 70px;}

.sp_logo1{float:left;height:70px;display: flex;justify-content: center;align-items: center;padding-left: 10px;}
.sp_logo1 img{margin:auto;max-height:50px;}
.sp_nav1{width:50px;float:right;position:relative;cursor:pointer;height:30px;margin-top:25px}
.sp_nav1 span{display:block;background:#000;width:30px;height:2px;position:absolute;left:10px;transition:all ease 0.35s}
.sp_nav1 span:nth-of-type(1){top:0px}
.sp_nav1 span:nth-of-type(2){top:10px}
.sp_nav1 span:nth-of-type(3){top:20px}
.sp_nav_se1 span:nth-of-type(1){top:10px;transform:rotate(45deg)}
.sp_nav_se1 span:nth-of-type(2){width:0}
.sp_nav_se1 span:nth-of-type(3){top:10px;transform:rotate(-45deg)}
.sjj_nav1{position:fixed;z-index:999;background:#fff;width:100%;height:calc(100% - 70px);font-size:14px;line-height:40px;top:-100%;left:0;overflow:auto;overflow-x:hidden;transition:top ease 0.35s;display: none;}
.nav_show1{top:70px;}
.sjj_nav1 ul li i{position:absolute;top:5px;right:0px;height:30px;padding:0px 7px 0 7px;}
.sjj_nav1 ul li i svg{transform:rotate(-90deg);transition:all ease 0.35s}
.sjj_nav1 ul li .sjj_nav_i_se1 svg{transform:rotate(0deg)}
.sjj_nav1 ul li{border-top:1px #e4e8eb solid;position:relative;line-height:45px;font-size:16px}
.sjj_nav1>ul >li:last-child{border-bottom:1px #ddd solid;}
.sjj_nav1 ul li ul{display:none}
.sjj_nav1 ul li a{color:#333;width:100%;padding: 0 20px;display: block;box-sizing: border-box;}
.sjj_nav1 ul li a:hover{color: #0188FB;}
.sjj_nav1 ul li ul li a{color:#333;display:block;text-align:left;}
.sjj_nav1 ul li i svg{width:25px;height:25px;fill:#333;}
.sjj_nav1 ul li .sjj_nav_i_se svg{fill:#333}
.sjj_nav1 ul li ul li>ul{margin-left:10px}
.sjj_nav1 ul li ul li{border-top: none;}
.sjj_nav1 ul li ul li a{padding: 0 30px;}

/*mSearch*/
.mSearch{position: relative;width: calc(100% - 20px);height: 35px;overflow: hidden;margin: 20px 10px;}
.mSearch input{position: absolute;top: 0;left: 0;width: 100%;height: 100%;padding: 0 60px 0 10px;box-sizing: border-box;border: 1px solid #ccc;border-radius: 25px;background: none;outline: none;}
.mSearch button{background-image: linear-gradient(to right,#01b2ac 0,#004ea2 100%);width: 60px;height: 35px; position: absolute; top: 0;right: 0;border-radius: 0 25px 25px 0;color: #fff;font-size: 14px;border: none;}

/*swiper*/
.swiper-container {width: 100%;overflow: hidden;}
.swiper {width: 100%;height: 100%;position: relative;overflow: hidden;}
.swiper .swiper-slide {background: #fff;display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-justify-content: center;justify-content: center;-webkit-box-align: center; -ms-flex-align: center;-webkit-align-items: center;align-items: center;}
.swiper .swiper-slide img { display: block;width: 100%;height: 100%;object-fit: cover;}
.swiper .swiper-button-next:after,.swiper .swiper-button-prev:after{font-size: 30px;}

/*common*/
.disFlex {
	flex-wrap: wrap;
	display: -webkit-box;/* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
	display: -moz-box;/* Firefox 17- */
	display: -webkit-flex;/* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */
	display: -moz-flex;/* Firefox 18+ */
	display: -ms-flexbox;/* IE 10 */
	display: flex;
}
.jusBet{justify-content: space-between;}
.jusCet{justify-content: center;}
.jusEnd{justify-content: flex-end;}
.aliTop{align-items: flex-start;}
.aliCet{align-items: center;}
.aliBtm{align-items: flex-end;}

.img{font-size: 0px;overflow: hidden;}
img{transition: 0.5s;}

.f_left{float: left;}
.f_right{float: right;}
.clearfix:before,
.clearfix:after {content: "";display: table;}
.clearfix:after {clear: both;overflow: hidden;}
.clearfix {*zoom: 1;}

.bgfff{background: #fff !important;}
.fff{color: #fff !important;}
em{font-style: normal;}
.overflow1{white-space: nowrap;text-overflow: ellipsis;overflow: hidden;width: 100%;display: block;}
.overflow2{display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;}
.overflow3{display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;}

.pt140{padding-top: 140px;}
.pb140{padding-bottom: 140px;}
.pt120{padding-top: 120px;}
.pb120{padding-bottom: 120px;}
.pt100{padding-top: 100px;}
.pb100{padding-bottom: 100px;}
.pt80{padding-top: 80px;}
.pb80{padding-bottom: 80px;}
.pt60{padding-top: 60px;}
.pb60{padding-bottom: 60px;}
.pt50{padding-top: 50px;}
.pb50{padding-bottom: 50px;}

.mt10{margin-top: 10px;}
.mt20{margin-top: 20px;}
.mt35{margin-top: 35px;}
.mt50{margin-top: 50px;}
.mt60{margin-top: 60px;}
.mt70{margin-top: 70px;}
.mt80{margin-top: 80px;}

.textCet{text-align: center;}
.textRight{text-align: right;}
.pc_show{}
.m_show{display: none;}
.commit{text-align:center;max-width:900px;margin:auto}
.commit .bigicon{font-size:48px;color:#be123c;margin-bottom:28px}
.commit .bigicon img{width: 48px;}
.commit .txt{font-size: 16px;}
.serif.quote{font-size:clamp(34px,5vw,52px);font-style:italic;margin-bottom:32px}
.hidden{overflow: hidden;}
.comBg{background-size: cover;background-repeat: no-repeat;}
.iVideo{width: 100%;}
.iVideo video{width: 100%;}
.iImg{width: 100%;}
.iImg img{width: 100%;}
.iTit{text-align: center;color: #333;font-size: 36px;}
.iTxt{font-size: 16px;color: #333;}
/*.iTxt p{color: #333;}*/

.serif{font-family:Georgia,"Times New Roman","Noto Serif JP",serif}
.script{font-family:"Alex Brush",cursive}
.cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #0f172a;
	color: white;
	padding: 16px 48px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .18em;
	box-shadow: 0 20px 45px rgba(15, 23, 42, .22);
	transition: .25s
}

.cta:hover {
	background: #be123c;
	transform: translateY(-2px)
}
.section{padding:128px 0}
.navbtn{background:#be123c;color:white;border-radius:999px;padding:10px 28px;font-size:10px;font-weight:800;letter-spacing:.16em;box-shadow:0 2px 8px rgba(190,18,60,.18)}
.mobile-only{display:none}
.linkbtn{background:transparent;color:#be123c;font-weight:800;letter-spacing:.18em;font-size:14px}

/*-------------------------------------------*/
.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:10}
.petal{position:absolute;top:-6%;animation:fall linear infinite}
.petal-inner{animation:sway ease-in-out infinite}

/*banner*/
.banner{width: 100%;}
.bannerSwiper .swiper-pagination-bullet{opacity: 1;background: #fff;transition:width ease 0.35s;border-radius: 20px;}
.bannerSwiper .swiper-pagination-bullet-active{background: var(--main-color);width:20px;}
.bannerSwiper .swiper-button-next:after,.bannerSwiper .swiper-button-prev:after{color: #fff;}

.hero{position:relative;height:95vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img {width: 100%;height: 100%;object-fit: cover;opacity: .85;
	animation: slowZoom 15s ease-out forwards
}
.hero-bg:after {content: "";position: absolute;	inset: 0;
	background: linear-gradient(to bottom, rgba(255, 255, 255, .2), rgba(253, 242, 248, .2), #fafaf9)
}
@keyframes slowZoom {
	from {
		transform: scale(1.1)
	}
	to {
		transform: scale(1)
	}
}

.hero-content {
	position: relative;
	z-index: 20;
	text-align: center;
	padding: 0 24px;
	animation: fadeUp 1s ease-out
}

@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(40px)
	}
	to {
		opacity: 1;
		transform: translateY(0)
	}
}

.tagline{display:inline-flex;align-items:center;gap:8px;color:#be123c;border-bottom:1px solid rgba(251,207,232,.8);padding-bottom:8px;margin-bottom:32px}
.tagline span{font-size:24px;letter-spacing:.04em}
h1.serif{font-size:clamp(48px,8vw,88px);line-height:1;font-weight:700;letter-spacing:.08em;margin:0 0 64px}
h1.serif span{display:block;color:#be123c;font-style:italic;font-weight:600;margin-top:16px;text-shadow:0 2px 12px rgba(253,164,175,.45)}

/*value*/
.values{display:grid;grid-template-columns:1fr 2fr;gap:80px}
.eyebrow{color:#be123c;font-weight:800;letter-spacing:.3em;text-transform:uppercase;font-size:12px}
h2{font-size:clamp(26px,4vw,50px);line-height:1.22;margin:16px 0 32px;color:#1e293b}
p{line-height:2;color:#64748b}
.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 48px}

.card{transition:.3s}
.card:hover{transform:translateX(8px)}
.card .icon{font-size:32px;color:#be123c;margin-bottom:22px}
.card .icon img{width: 35px;}
.card h4{border-left:2px solid rgba(190,18,60,.35);padding-left:20px;margin:0 0 6px;font-size:20px;color:#1e293b}
.catch{padding-left:20px;margin:0 0 12px;color:rgba(190,18,60,.9);font-size:12px;font-weight:700;line-height:1.8}
.desc{padding-left:20px;margin:0;font-size:14px;font-weight:500;color:#64748b}

.showcase{background:#f5f5f4}
.show-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:64px}

.tabs ul{display:flex;gap:16px}
.tabs ul li{background:transparent;border-bottom:2px solid transparent;padding-bottom:6px;color:#94a3b8;font-size:13px;font-weight:800;letter-spacing:.16em;cursor: pointer;}
.tabs ul li.on{color:#be123c;border-color:#be123c}

.showcasePanel{width: 100%;}
.showcasePanel .warp{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center;}
.showcasePanel .dest-img{border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(15,23,42,.22);aspect-ratio:16/9}
.showcasePanel .dest-img img{width:100%;height:100%;object-fit:cover}
.showcasePanel .dest h3{font-size:42px;margin:0 0 24px;color:#1e293b}
.showcasePanel .tags{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 48px}
.showcasePanel .tags span{background:#fff;border:1px solid #e7e5e4;border-radius:999px;padding:8px 15px;color:#475569;font-size:10px;font-weight:800;letter-spacing:.12em;font-style:italic}

/*index3*/
.i3Slide{position:relative;height:450px;border-radius:28px;overflow:hidden;box-shadow:0 25px 50px rgba(15,23,42,.16);background:#f5f5f4;margin-top:48px}
.i3Slide img{width: 100%;height: 100%;object-fit: cover;}

.i3Tab{position:absolute;right:24px;bottom:24px;background:rgba(15,23,42,.45);backdrop-filter:blur(12px);padding:10px 20px;border-radius:999px;z-index:5}
.i3Tab ul{display:flex;gap:14px;}
	.i3Tab ul li {
		background: transparent;
		color: rgba(255,255,255,.55);
		font-size: 11px;
		font-weight: 800;
		letter-spacing: .12em;
		cursor: pointer;
		margin: 0 5px;
	}
.i3Tab ul li.on{color:#fff;transform:scale(1.08)}

/*footer*/
footer{background:white;border-top:1px solid #e7e5e4;padding:80px 0}
footer h5{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px;color:#1e293b}
footer ul{list-style:none;padding:0;margin:0}
footer li,footer p{font-size:12px;color:#94a3b8;line-height:2;margin-bottom:12px}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;margin-bottom:64px}
.footer-top .logo img{width: auto;max-height: 40px;}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.copy{border-top:1px solid #f5f5f4;padding-top:36px;display:flex;justify-content:space-between;gap:24px;color:#cbd5e1;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

.fWarp{width:100%;}
.fLogo img{ width:auto; max-width:300px; max-height:280px;}

@keyframes fall {
	from {
		transform: translateY(-10vh) rotate(0)
	}
	to {
		transform: translateY(110vh) rotate(360deg)
	}
}

@keyframes sway {
	0%,
	100% {
		transform: translateX(0)
	}
	50% {
		transform: translateX(80px)
	}
}



/*contact*/

.footer{background: #fff;border-top: 1px solid #e7e5e4;padding: 80px 0;}
.fWarp{align-items: center;}
.fTit{font-size: 22px;color: #000;}
.fTxt{font-size: 16px;color: #333;}
.fTxt p{color: #333;padding: 2px 0;line-height: 1.5;}
.fTxt a{color: #64748b;}
.fTxt a:hover{text-transform: full-width;}
.fEwm{width: 100%;}
.fEwm .ewm{width: 100%;margin-bottom: 10px;display: block;}
.fEwm .ewm a{display: flex;align-items: center;}
.fEwm .ewm img{width: 60px;}
.fEwm .ewm span{display: block;flex: 1;padding-left: 20px;}
.fWarp .box {
	width: 445px;
	margin-left: 4vw;
}
.fEwm .ewm span p{padding:0;line-height: 1.5;color: #333;}



@media only screen and (max-width: 1200px) {
.wapper{ width:100%;}
.fWarp .box{width:425px;}
.fLogo img{max-width:250px; max-height:240px;}
.fEwm .ewm img{ width:50px;}

}

@media only screen and (max-width: 980px) {
.header{ display:none}
.sp_header1{ display:block;}
.sjj_nav1{ display:block;}
.nav{display: none;}

.values,.dest{grid-template-columns:1fr}
.value-grid{grid-template-columns:1fr}
.show-head,.footer-top,.copy{flex-direction:column;align-items:flex-start}
.menu{gap:10px;font-size:10px;letter-spacing:.03em;overflow-x:auto}
.navbtn{padding:8px 14px}
.desktop-text{display:none}
.mobile-only{display:inline}
.logo{min-width:128px;gap:6px}.logo svg{width:48px}.logo-main{font-size:15px}.logo-sub{font-size:10px}.logo-en{display:none}
.slider{height:320px}
.foot-grid{grid-template-columns:1fr}
.showcasePanel .warp{width: 100%;display: block;}
.showcasePanel .warp .dest-img{width: 100%;margin-bottom: 20px;}
.showcasePanel .warp .info{width: 100%;}
.fWarp .fLogo{text-align:center; width:100%;}
.fWarp .box{margin-top:20px; width:100%;}
.section{padding: 60px 0;}
.iTxt{overflow: auto;}
.iTxt iframe{width: 100%;height:350px;}


}
