@charset "utf-8";


/* ttl */
.section-ttl01{font-size:7.2rem;letter-spacing:0.01em;font-weight: 300;line-height: 1.4;margin-bottom: 50px;}
.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 8px 4px;margin-right: .5em;display: inline-block;overflow: hidden;position: relative;}
#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.1s; }
#block-mv .mv-txt p span:nth-child(2) { animation-delay: 0.15s; }
#block-mv .mv-txt p span:nth-child(3) { animation-delay: 0.2s; }
#block-mv .mv-txt p span:nth-child(4) { animation-delay: 0.25s; }
#block-mv .mv-txt p span:nth-child(5) { animation-delay: 0.3s; }
#block-mv .mv-txt p span:nth-child(6) { animation-delay: 0.35s; }
#block-mv .mv-txt p span:nth-child(7) { animation-delay: 0.4s; }
#block-mv .mv-txt p span:nth-child(8) { animation-delay: 0.45s; }
#block-mv .mv-txt p span:nth-child(9) { animation-delay: 0.5s; }
#block-mv .mv-txt p span:nth-child(10) { animation-delay: 0.55s; }
#block-mv .mv-txt p span:nth-child(11) { animation-delay: 0.6s; }
#block-mv .mv-txt p span:nth-child(12) { animation-delay: 0.65s; }
#block-mv .mv-txt p span:nth-child(13) { animation-delay: 0.7s; }
#block-mv .mv-txt p span:nth-child(14) { animation-delay: 0.75s; }
#block-mv .mv-txt p span:nth-child(15) { animation-delay: 0.8s; }
#block-mv .mv-txt p span:nth-child(16) { animation-delay: 0.85s; }
@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-news */
/* -------------------------------------------------- */
#block-news .container{display:flex;gap:100px;align-items: center;justify-content: space-between;}
#block-news .news-txt {width: 250px;}
#block-news .news-txt .btn-box a {padding: 15px;}
#block-news .news-box {flex: 1;}
#block-news .news-box li:first-child {border-top: 1px solid #999;}
#block-news .news-box li {border-bottom: 1px solid #999;}
#block-news .news-box li a {display: flex;padding: 30px 40px 30px 15px;position: relative;}
#block-news .news-box li a:after {content: '';width: 16px;height: 13px;display: block;position: absolute;right: 15px;top: 0;bottom: 0;margin: auto;background: url(../img/icon-arrow-red.svg) center / cover no-repeat;transition: .3s;}
#block-news .news-box li a:hover:after {right: 10px;}
#block-news .news-box li a .date {width: 7em;font-weight: bold;}
#block-news .news-box li a .txt {flex: 1;}

/* -------------------------------------------------- */
/* #block-mission */
/* -------------------------------------------------- */
#block-mission .mission-box {display: flex;gap:40px;flex-wrap: wrap;flex-direction: column;}
#block-mission .mission-box > li {background: #fff;border-radius: 10px;box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.05);padding: 30px 40px 40px;}
#block-mission .mission-box > li h3 {font-size: 3.0rem;font-weight: bold;color: #9f312d;display: flex;align-items: center;line-height: 1.4;margin-bottom: 20px;}
#block-mission .mission-box > li > h3 {margin: 20px 0;}
#block-mission .mission-box > li > p {font-size: larger;}
#block-mission .mission-txt p {font-size: larger; text-align: center !important; margin-top:60px;}

/* -------------------------------------------------- */
/* #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 .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-asset .asset-box .asset-img .date {position: absolute;right: 40px;bottom: 50px;}


/* -------------------------------------------------- */
/* #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: 175px;display: flex;align-items: center;}
#block-about dl dd{width: calc(100% - 175px);border-right: 1px solid #333;}

/* -------------------------------------------------- */
/* #block-contact */
/* -------------------------------------------------- */
#block-contact {background: #eee;}
#block-contact .container {padding: 80px 40px;}
#block-contact .cmn-btn01 {font-size: 2.2rem;max-width: 580px;margin: auto;padding: 30px;}

/* -------------------------------------------------- */
/* #block-access */
/* -------------------------------------------------- */
#block-access .access-box {display: flex;align-items: center;justify-content: space-between;gap:50px;}
#block-access .access-box .txt {width: 290px;}
#block-access .access-box .map {flex: 1;position: relative;padding-top: 400px;max-width: 800px;}
#block-access .access-box .map iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}


/* ======================================================================================================================= */
/* for tablet */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:999px){
	/* -------------------------------------------------- */
	/* #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-about */
	/* -------------------------------------------------- */
	#block-about dl dt {width: 150px;}
	#block-about dl dd {width: calc(100% - 150px);}
	
	/* -------------------------------------------------- */
	/* #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: 2rem;}
	#block-mv .mv-txt p {font-size: 2rem;}

	/* -------------------------------------------------- */
	/* #block-news */
	/* -------------------------------------------------- */
	#block-news .news-txt .btn-box {width: 150px;}
	#block-news .news-box li a {display: block;padding-top: 20px;padding-bottom: 20px;}

	/* -------------------------------------------------- */
	/* #block-news */
	/* -------------------------------------------------- */
	#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-about */
	/* -------------------------------------------------- */
	#block-about dl dt, 
	#block-about dl dd {padding: 15px;}
	#block-about dl dt {width: 30%;}
	#block-about dl dd {width: 70%;}

	/* -------------------------------------------------- */
	/* #block-contact */
	/* -------------------------------------------------- */
	#block-contact .container {padding: 40px;}
	#block-contact .cmn-btn01 {font-size: 1.8rem;padding: 15px;}

	/* -------------------------------------------------- */
	/* #block-access */
	/* -------------------------------------------------- */
	#block-access .access-box .map {padding-top: 300px;}
	
	
	
}
















