@charset "utf-8";

/* header */
header{gap:20px;}
header #gnav .gnav-main > ul{margin-top:15px;}
header #gnav .gnav-main > ul > li > a::after{display:none;}
header #gnav .gnav-main > ul > li > a br{display:none;}
header #gnav .gnav-main > ul > li{white-space:nowrap;}
header #gnav .gnav-sub ul li a.cmn-btn01{font-size:2rem;}
header #gnav .gnav-sub ul li a.cmn-btn02{font-size:2rem;background:#fff;border:2px solid #d5443f;color:#d5443f;padding-top:18px;padding-bottom:18px;}
header #gnav .gnav-sub ul li a.cmn-btn02:hover{background:#d5443f;color:#fff;}

@media screen and (min-width:1px) and (max-width:1399px){
	header #gnav .gnav-main > ul{margin-right:0;margin-top:8px;}
	header #gnav .gnav-main > ul > li{line-height:1.2;text-align:center;font-size:1.4rem;}
	header #gnav .gnav-main > ul > li > a br{display:block;}
}

/* footer */
footer > .container{padding-bottom:120px;}
footer .footer-nav .right > ul{justify-content:flex-end;}
footer .copyright{text-align:right;opacity:0.4;font-weight:normal;margin-top:40px;}

/* ttl */
.section-ttl01{font-size:7.2rem;letter-spacing:0.01em;font-weight: 300;line-height: 1.4;margin-bottom: 50px;font-feature-settings: "liga" on;}
.section-ttl01 span {display: block;line-height: 1;margin-bottom: 20px;}
.section-ttl01 small{font-size:2rem;display: block;font-weight: bold;color: #9f312d;}

/* -------------------------------------------------- */
/* #block-mv */
/* -------------------------------------------------- */
#block-mv .container {max-width: 1480px; display: flex;justify-content: space-between; align-items: center;gap:20px;padding-bottom: 40px;}
#block-mv .mv-txt {font-size: 3.6rem;font-weight: bold;white-space: nowrap;}
#block-mv .mv-txt p {font-size: 4rem;;color: #fff;padding: 0 15px 4px;margin-right: .5em;display: inline-block;overflow: hidden;position: relative;vertical-align:bottom;margin-top:5px;}
#block-mv .mv-txt p::before {content: '';width: 100%;height: 100%;background: #d5443f;display: block;position: absolute;left: 0;top: 0;transform: translateX(-100%); transition: translate 0.7s cubic-bezier(0.25, 1, 0.5, 1);}
#block-mv .mv-txt p span {display: inline-block;transform: translateY(100%); transition: translate 0.7s cubic-bezier(0.25, 1, 0.5, 1);}
#block-mv .mv-txt.js-anime p::before {animation: slideInLeft 0.9s forwards;}
#block-mv .mv-txt.js-anime p span {animation: slideInUp 0.5s forwards;}

#block-mv .mv-txt p span:nth-child(1) { animation-delay: 0.03s; }
#block-mv .mv-txt p span:nth-child(2) { animation-delay: 0.06s; }
#block-mv .mv-txt p span:nth-child(3) { animation-delay: 0.09s; }
#block-mv .mv-txt p span:nth-child(4) { animation-delay: 0.12s; }
#block-mv .mv-txt p span:nth-child(5) { animation-delay: 0.15s; }
#block-mv .mv-txt p span:nth-child(6) { animation-delay: 0.18s; }
#block-mv .mv-txt p span:nth-child(7) { animation-delay: 0.21s; }
#block-mv .mv-txt p span:nth-child(8) { animation-delay: 0.24s; }
#block-mv .mv-txt p span:nth-child(9) { animation-delay: 0.27s; }
#block-mv .mv-txt p span:nth-child(10) { animation-delay: 0.30s; }
#block-mv .mv-txt p span:nth-child(11) { animation-delay: 0.33s; }
#block-mv .mv-txt p span:nth-child(12) { animation-delay: 0.36s; }
#block-mv .mv-txt p span:nth-child(13) { animation-delay: 0.39s; }
#block-mv .mv-txt p span:nth-child(14) { animation-delay: 0.42s; }
#block-mv .mv-txt p span:nth-child(15) { animation-delay: 0.45s; }
#block-mv .mv-txt p span:nth-child(16) { animation-delay: 0.48s; }
#block-mv .mv-txt p span:nth-child(17) { animation-delay: 0.51s; }
#block-mv .mv-txt p span:nth-child(18) { animation-delay: 0.54s; }
#block-mv .mv-txt p span:nth-child(19) { animation-delay: 0.57s; }
#block-mv .mv-txt p span:nth-child(20) { animation-delay: 0.60s; }
#block-mv .mv-txt p span:nth-child(21) { animation-delay: 0.63s; }
#block-mv .mv-txt p span:nth-child(22) { animation-delay: 0.66s; }
#block-mv .mv-txt p span:nth-child(23) { animation-delay: 0.69s; }
#block-mv .mv-txt p span:nth-child(24) { animation-delay: 0.72s; }
#block-mv .mv-txt p span:nth-child(25) { animation-delay: 0.75s; }
#block-mv .mv-txt p span:nth-child(26) { animation-delay: 0.78s; }
#block-mv .mv-txt p span:nth-child(27) { animation-delay: 0.81s; }
#block-mv .mv-txt p span:nth-child(28) { animation-delay: 0.84s; }
#block-mv .mv-txt p span:nth-child(29) { animation-delay: 0.87s; }
#block-mv .mv-txt p span:nth-child(30) { animation-delay: 0.90s; }
#block-mv .mv-txt p span:nth-child(31) { animation-delay: 0.93s; }
#block-mv .mv-txt p span:nth-child(32) { animation-delay: 0.96s; }
#block-mv .mv-txt p span:nth-child(33) { animation-delay: 0.99s; }
#block-mv .mv-txt p span:nth-child(34) { animation-delay: 1.02s; }
#block-mv .mv-txt p span:nth-child(35) { animation-delay: 1.05s; }
#block-mv .mv-txt p span:nth-child(36) { animation-delay: 1.08s; }
#block-mv .mv-txt p span:nth-child(37) { animation-delay: 1.11s; }

@keyframes slideInUp {
	0% {
		transform: translateY(100%);
		opacity: 0; /* フェードイン効果 */
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes slideInLeft {
	0% {
		transform: translateX(-100%);
		opacity: 0; /* フェードイン効果 */
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

/* -------------------------------------------------- */
/* #block-service */
/* -------------------------------------------------- */
#block-service {background: url(../img/top/service-bg.jpg) top center / cover no-repeat;}
#block-service .service-box {display: flex;gap:40px;flex-wrap: wrap;}
#block-service .service-box > li {background: #fff;border-radius: 10px;box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.05);width: calc((100% - 40px) / 2);padding: 30px 40px 40px;}
#block-service .service-box > li h3 {font-size: 2.6rem;font-weight: bold;color: #9f312d;display: flex;align-items: center;line-height: 1.4;margin-bottom: 20px;}
#block-service .service-box > li h3 small {font-size: 2rem;}
#block-service .service-box > li h3 img:not(.logo) {width: 80px;margin-right: 15px;}
#block-service .service-box > li > ul {background: #f5f7f8;border-radius: 10px;padding: 24px 30px;margin-bottom: 30px;}
#block-service .service-box > li > ul li {font-size: 1.8rem;text-indent: -15px;margin-left: 15px;line-height: 1.6;}
#block-service .service-box > li > ul li + li {margin-top: 8px;}
#block-service .service-box > li > ul li small {font-size: 1.6rem;}
#block-service .service-box > li > ul li:before {content: '';width: 5px;height: 5px;display: inline-block;background: #d5443f;margin-right: 10px;vertical-align: middle;}
#block-service .service-box > li > h3 {margin: 20px 0;}
#block-service .service-box > li > h3 .logo {height: 56px;margin: auto;}
#block-service .service-box > li > .btn-box {max-width: 320px;margin: 30px auto 0;}

/* -------------------------------------------------- */
/* #block-merit */
/* -------------------------------------------------- */
#block-merit {background: #d5443f;}
#block-merit .section-ttl01,
#block-merit .section-ttl01 small{color: #fff;}
#block-merit .merit-box {counter-reset: number 0;  }
#block-merit .merit-box li {margin-bottom: 10px;display: flex;align-items: center;}
#block-merit .merit-box li::before {counter-increment: number 1;content: "0"counter(number) ;font-size: 6.4rem;color: #fff;font-weight: bold;font-family: "Reddit Sans", sans-serif;width: 150px;text-align: center;}
#block-merit .merit-box li div {background: #fff;border-radius: 10px;padding: 50px 70px;flex: 1;}
#block-merit .merit-box li h3 {font-size: 2.4rem;font-weight: bold;color:#9f312d;margin-bottom: 10px;}

/* -------------------------------------------------- */
/* #block-ceo */
/* -------------------------------------------------- */
#block-ceo {background: url(../img/top/ceo-bg.jpg) center top / cover no-repeat;}
#block-ceo .ceo-box {background: #fff;border-radius: 10px;padding: 50px 40px;}
#block-ceo .ceo-box .detail {display: flex;gap:60px;max-width: 1000px;margin: auto;}
#block-ceo .ceo-box .detail .img {width: 278px;}
#block-ceo .ceo-box .detail .txt {flex: 1;}
#block-ceo .ceo-box .detail .txt .text-right {border-top: 1px solid #333333;margin-top: 40px;padding-top: 30px;}
#block-ceo .ceo-box .detail .txt .text-right span {font-size: 2.2rem;font-weight: bold;}

/* -------------------------------------------------- */
/* #block-asset */
/* -------------------------------------------------- */
#block-asset .container {padding: 40px;}
#block-asset .asset-box {display: flex;align-items: center;}
#block-asset .asset-box .section-ttl01 {white-space: nowrap;}
#block-asset .asset-box .asset-img {flex:1;margin-right: -40px;position: relative;container-type:inline-size;}
#block-asset .asset-box .asset-img .date {position: absolute;right: 40px;bottom: 50px;}
#block-asset .asset-box .img{position:relative;min-height:85cqw;}
#block-asset .asset-box .img .circle{position:absolute;width:36.5%;height:0;padding-bottom:36.5%;border-radius:100%;container-type:inline-size;background:#ffecec;outline:5.5cqw solid #fff9f9;mix-blend-mode:multiply;}
#block-asset .asset-box .img .circle-inner{width:100%;height:100%;position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3cqw;}
#block-asset .asset-box .img .circle01{left:5.2%;top:7%;}
#block-asset .asset-box .img .circle02{right:5.5%;top:22.5%;background:#ffe2d8;outline-color:#fff6f3;}
#block-asset .asset-box .img .circle03{left:24%;bottom:6%;background:#ffebd2;outline-color:#fff9f1;}
#block-asset .asset-box .img .circle-txt{font-size:8cqw;font-weight:bold;text-align:center;line-height:1.2;}
#block-asset .asset-box .img .circle-num{font-size:12cqw;font-weight:600;color:#9f312d;font-family:"Reddit Sans", sans-serif;line-height:1;text-align:center;}
#block-asset .asset-box .img .circle-num span{font-size:28cqw;}

/* -------------------------------------------------- */
/* #block-team */
/* -------------------------------------------------- */
#block-team{background:#eee;}
#block-team .team-box > li{background:#fff;border-radius:10px;padding:50px 70px;}
#block-team .team-box > li + li{margin-top:10px;}
#block-team .team-box > li h3{font-size:2.4rem;font-weight:bold;color:#9f312d;margin-bottom:10px;}

/* -------------------------------------------------- */
/* #block-about */
/* -------------------------------------------------- */
#block-about dl{display: flex;flex-wrap: wrap;border-bottom: 1px solid #333;max-width: 800px;margin: auto;}
#block-about dl dt,
#block-about dl dd {border-top: 1px solid #333;border-left: 1px solid #333;padding: 20px 40px;}
#block-about dl dt{background: #eee;width: 210px;display: flex;align-items: center;}
#block-about dl dd{width: calc(100% - 210px);border-right: 1px solid #333;}

/* ======================================================================================================================= */
/* for tablet */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:999px){
	
	/* header */
	header #gnav .gnav-main > ul{margin-top:0;}
	header #gnav .gnav-main > ul > li > a br{display:none;}
	header #gnav .gnav-main > ul > li{text-align:left;line-height:1.6;}


	/* footer */
	footer > .container{padding-bottom:100px;}
	footer .footer-nav .right{display:block;}
	footer .footer-nav .right ul{display:none;}
	footer .copyright{text-align:center;margin-top:30px;}

	/* -------------------------------------------------- */
	/* #block-mv */
	/* -------------------------------------------------- */
	#block-mv .container {display: block;padding-top: 40px;text-align: center;}
	#block-mv .mv-txt {margin-bottom: 20px;font-size: 2.8rem;}
	#block-mv .mv-txt p {font-size: 3rem;}
	
	/* -------------------------------------------------- */
	/* #block-news */
	/* -------------------------------------------------- */
	#block-news .container {display: block;}
	#block-news .section-ttl01 {margin-bottom: 0;}
	#block-news .news-txt {width: 100%;display: flex;justify-content: space-between;align-items: center; margin-bottom: 30px;}
	#block-news .news-txt .btn-box {width: 200px;}
	
	/* -------------------------------------------------- */
	/* #block-service */
	/* -------------------------------------------------- */
	#block-service .service-box > li {width: 100%;}
	
	/* -------------------------------------------------- */
	/* #block-merit */
	/* -------------------------------------------------- */
	#block-merit .merit-box li::before {width: 100px;font-size: 5.4rem;}
	
	/* -------------------------------------------------- */
	/* #block-ceo */
	/* -------------------------------------------------- */
	#block-ceo .ceo-box .detail {gap:30px;}
	#block-ceo .ceo-box .detail .img {width: 30%;}
	
	/* -------------------------------------------------- */
	/* #block-asset */
	/* -------------------------------------------------- */
	#block-asset .section-ttl01 {text-align: center;margin-bottom: 10px;}
	#block-asset .asset-box {display: block;}
	#block-asset .asset-box .asset-img {margin-right: 0;}
	#block-asset .asset-box .asset-img .date {right: 0;bottom: 20px;}

	/* -------------------------------------------------- */
	/* #block-access */
	/* -------------------------------------------------- */
	#block-access .access-box {display: block;}
	#block-access .access-box .txt {width: 100%;text-align: center;margin-bottom: 40px;}
	#block-access .access-box .map {width: 100%;max-width: none;}
}

/* ======================================================================================================================= */
/* for sp */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:767px){
	.section-ttl01 {font-size: 5rem;margin-bottom: 25px;}
	.section-ttl01 span {margin-bottom: 10px;}
	.section-ttl01 small {font-size: 1.8rem;}
	
	/* -------------------------------------------------- */
	/* #block-mv */
	/* -------------------------------------------------- */
	#block-mv .container {padding-bottom: 20px;}
	#block-mv .mv-txt {font-size: 1.5rem;}
	#block-mv .mv-txt p {font-size: 1.5rem;}

	/* -------------------------------------------------- */
	/* #block-service */
	/* -------------------------------------------------- */
	#block-service .service-box {gap:20px;}
	#block-service .service-box > li {padding: 20px;}
	#block-service .service-box > li > h3 {font-size: 2rem;margin-top: 10px;}
	#block-service .service-box > li h3 img:not(.logo) {width: 50px;}
	#block-service .service-box > li > ul {padding: 20px;margin-bottom: 15px;}
	#block-service .service-box > li > ul li {font-size: 1.6rem;}
	#block-service .service-box > li > h3 .logo {width: 70%;height: auto;}
	#block-service .service-box > li > .btn-box {margin-top: 15px;}

	/* -------------------------------------------------- */
	/* #block-merit */
	/* -------------------------------------------------- */
	#block-merit .merit-box li {display: block;}
	#block-merit .merit-box li::before {display: block;margin: auto;font-size: 4.4rem;}
	#block-merit .merit-box li div {padding: 20px;}
	#block-merit .merit-box li h3 {font-size: 2rem;}

	/* -------------------------------------------------- */
	/* #block-ceo */
	/* -------------------------------------------------- */
	#block-ceo .ceo-box {padding: 20px;}
	#block-ceo .ceo-box .detail {display: block;}
	#block-ceo .ceo-box .detail .img {width: 50%;margin: 0 auto 20px;}
	#block-ceo .ceo-box .detail .txt .text-right {margin-top: 20px;padding-top: 15px;}
	#block-ceo .ceo-box .detail .txt .text-right span {font-size: 2rem;}

	/* -------------------------------------------------- */
	/* #block-asset */
	/* -------------------------------------------------- */
	#block-asset .asset-box .asset-img .date {position: relative;right: auto;bottom: auto;text-align: center;margin-top: 20px;}
	#block-asset .asset-box .asset-img{margin-left:-30px;margin-right:-30px;}

	/* -------------------------------------------------- */
	/* #block-team */
	/* -------------------------------------------------- */
	#block-team .team-box > li{padding:20px;}
	#block-team .team-box > li h3{font-size:2rem;margin-bottom:5px;}

	/* -------------------------------------------------- */
	/* #block-about */
	/* -------------------------------------------------- */
	#block-about dl dt, 
	#block-about dl dd {padding: 15px;}
	#block-about dl dt {width: 40%;}
	#block-about dl dd {width: 60%;}


	
}
















