@charset "UTF-8";
/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

.sp{display: none!important;}
.wow{
	opacity: 0;
}
a[href^="tel:"] {
    cursor: default;
    pointer-events:none;
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	position: relative;
	width: 100%;
	background: #F5F5F5;
}
#about #wrapper,
#company #wrapper,
#service #wrapper{
	overflow: visible;
}
.home #wrapper {
	padding-top: 0;
}

.menuOpen{
	overflow: hidden;
	height: 100vh;
}
.menuOpen #wrapper{
	position: fixed;
}
.overlay{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: none;
	z-index: 97;
	text-indent: -999rem;
	pointer-events: auto;
}

.inner,
.inner02 {
	margin: 0 auto;
	width: 100%;
	max-width: 140rem;
	padding: 0 5rem;
	position: relative;
	z-index: 3;
}
.inner02 {
	max-width: 120rem;
}
/* !header
---------------------------------------------------------- */
#header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 999;
    padding: 0 5rem;
    background: #F5F5F5;
	transition: background .5s ease;
}

.home .is_header #header{
	background: none;
}

#headerIn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 12rem;
}
#headerLogo {
	width: 22.9rem;
}


#headerLinks {
	display: none;
}
.subBox{
	display: none;
}
/* !gNavi
---------------------------------------------------------- */
		
#gNavi {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	grid-gap: 3.8rem;
}
.nav_list01{
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	grid-gap: .5rem 2.0rem;
	font-size: 1.6rem;
}
.nav_list01 .last{
	width: 100%;
	display: flex;
	justify-content: flex-end;
	font-size: 1.2rem;
	font-weight: 500;
}
.nav_list01 .last a{
	color: #6B6B70;
}
.nav_list02{
	display: flex;
	grid-gap: 1rem;
}
.nav_list02 a{
	display: flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	padding: 0 3.8rem;
	height: 4.9rem;
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	background: #F22335;
	border-radius: 2.5rem;
}
	
/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
}
#mainVisual video{
	display: block;
	width: 100%;
	height: 100vh;
	object-fit:cover;
}
.scroll_p{
	position: absolute;
	left: 5rem;
	bottom: 4.6rem;
	z-index: 10;
	width: 1.28rem;
}
/* !teaser
---------------------------------------------------------- */
#teaser {
	padding: 16rem 0;
}
.teaser_hd{
	display: flex;
	align-items: center;
	grid-gap: 1.5rem;
}
.teaser_hd .eng{
	font-size: 4.2rem;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: .06em;
}
.teaser_hd .jap{
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .1em;
	animation-delay: .8s;
	color: #6B6B70;
}

/* !contents
---------------------------------------------------------- */
.contents_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.contents_wrap #main{
	width: 92rem;
    max-width: calc(100% - 22rem);
}
.contents_wrap #side{
    width: 22rem;
    position: sticky;
    top: 12rem;
    left: 0;
    z-index: 11;
}

.sideList{
}
.sideList li+li{
	margin-top: .7rem;
}
.sideList a{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .1em;
    position: relative;
    color: #A2A3A6;
}
.sideList .is_active a{
	color: #F22335;
}
.sideList .is_active a:before{
	content: '';
	position: absolute;
	left: -2.4rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.4rem;
	height: 100%;
	background: url(../img/common/side_active.svg)no-repeat left center;
	background-size: 1.63rem auto;
}

.anchor_link{
    position: relative;
}
.anchor_link span{
    position: absolute;
    top: -12rem;
}
/* !footer
---------------------------------------------------------- */
.footer_contact{
	background: url(../img/common/bg_contact.jpg)no-repeat center center #F22335;
	background-size: auto 100%;
	color: #fff;
}
.footer_contact_dl{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 32.4rem;
}
.footer_contact_hd{
	font-size: 7.2rem;
	line-height: 1.2;
	/*padding-left: 8.5rem;
	background: url(../img/common/icon_white.svg)no-repeat left center;*/
	background-size: 6.35rem auto;
}
.footer_contact_txt{
	font-size: 2rem;
	font-weight: bold;
	margin-top: 1rem;
}
.footer_contact_dd{
	padding-right: 10rem;
	padding-top: 5.4rem;
}

#footer {
}

#footer .footerIn {
	display: flex;
	padding: 0;
}
.footer_left{
	width: 44.5rem;
	padding: 6.5rem 3.8rem 3.6rem;
}
.footer_right{
	border-left: 1px solid #D5D5D5;
	width: calc(100% - 42.5rem);
	padding: 6.3rem 5rem 4rem;
}
.footer_logo img{
	width: 33rem;
}
.footer_addr{
	font-size: 1rem;
	line-height: 1.8;
	letter-spacing: .06em;
	margin: 3.5rem 0 12.3rem;
}
#copyright {
	font-size: 2.1rem;
}

.footer_link{
	display: flex;
	justify-content: flex-end;
	grid-gap: 4rem;
}
.footer_link_item{

}
.footer_link_eng a{
	display: inline-block;
	line-height: 1.2;
	font-size: 1.8rem;
}
.footer_link_item ul{
	margin-top: 2.5rem;
}
.footer_link_item ul li{
	font-size: 1.2rem;
	line-height: 1.5;
}
.footer_link_item ul li+li{
	margin-top: 1.2rem;
}
.footer_link_item ul a{
	display: inline-block;
	font-weight: 500;
}
.footer_other{
	display: flex;
	justify-content: flex-end;
	grid-gap: 2rem;
	margin-top: 4rem;
}
.footer_other a{
	font-size: 1.3rem;
	font-weight: 500;
}
/* !h(n)eading
---------------------------------------------------------- */
.hdL {
	
}

.hdM {
	
}

.hdS {
	
}

.hd01 {
	
}



/* !common
---------------------------------------------------------- */
.btn_link01{
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .1em;
	display: inline-flex;
	align-items: center;
	padding: 0 9.6rem 0 3.2rem;
	height: 6.6rem;
	border-radius: 3.3rem;
	background: #F22335;
	border:0;
	position: relative;
	overflow: hidden;
	transition: 0.5s;
	opacity: 1!important;
	text-decoration: none;
}
.btn_link01:after {
	content: '';
	position: absolute;
	right: 2.25rem;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s;
	border-radius: 50%;
	width: 4.2rem;
	height: 4.2rem;
	background: url(../img/common/arrow_red.svg)no-repeat 53% center #fff;
	background-size: .9rem auto;
	border: 1px solid #F22335;
}
.btn_link01:hover:after {
	right: 1.8rem;
}

.btn_link02{
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: .1em;
	padding-right: 5.4rem;
	display: inline-flex;
	align-items: center;
	height: 4.4rem;
	border:0;
	position: relative;
	opacity: 1!important;
	text-decoration: none;
}
.btn_link02 span{
	border-bottom: 1px dotted;
}
.btn_link02:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s;
	border-radius: 50%;
	width: 4.4rem;
	height: 4.4rem;
	border: 1px solid #F22335;
	background: url(../img/common/arrow_red.svg)no-repeat 53% center #fff;
	background-size: .9rem auto;
}
.btn_link02:hover:after {
	right: -.5rem;
}

.img_box {
    position: relative;
    width: 100%;
    padding-top: 66%;
    overflow: hidden;
}
.img_box img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    object-fit: cover;
    transition: transform .4s ease;
}
a:hover .img_box img{
	transform: scale(1.05);
}

.animate_txt{
	overflow: hidden;
	display: flex;
	opacity: 1;
}
.animate_txt span{
	opacity: 0;
}
.animate_txt span.space{
	width: .3em;
}
.animate_txt.animated span {
	animation: slideUp 1s forwards; 
}
.animate_txt span:nth-child(1) { animation-delay: 0s; }  
.animate_txt span:nth-child(2) { animation-delay: .07s; }
.animate_txt span:nth-child(3) { animation-delay: .14s; }
.animate_txt span:nth-child(4) { animation-delay: .21s; }
.animate_txt span:nth-child(5) { animation-delay: .28s; }
.animate_txt span:nth-child(6) { animation-delay: .35s; }
.animate_txt span:nth-child(7) { animation-delay: .42s; }
.animate_txt span:nth-child(8) { animation-delay: .49s; }
.animate_txt span:nth-child(9) { animation-delay: .56s; }
.animate_txt span:nth-child(10) { animation-delay: .63s; }
.animate_txt span:nth-child(11) { animation-delay: .7s; }
.animate_txt span:nth-child(12) { animation-delay: .77s; }

@keyframes slideUp {
	0% {
	  transform: translateY(100%); 
	  opacity: 0;
	}
	100% {
	  transform: translateY(0);
	  opacity: 1;
	}
}

.scrollUp {
    transform: translateY(50px) scale(.9);
    opacity: 0;
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.25,.46,.45,.94);
}
.scrollUp.animated {
    transform: translateY(0) scale(1);
    opacity: 1;
}

/*top*/
.top_news{
	padding: 2.2rem 0 10rem;
}
.news_box{
	background: #FFFFFF;
	padding: 8.5rem 10rem;
	border-radius: 2rem;
}
.top_news_hd{
	display: flex;
	align-items: center;
	grid-gap: 3.2rem;
	margin-bottom: 4.4rem;
}
.top_news_hd .eng{
	font-size: 6.8rem;
	line-height: 1.2;
	font-weight: bold;
	color: #F22335;
	letter-spacing: .1em;
}
.top_news_hd .jap{
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: .1em;
	animation-delay: .8s;
}
.news_categ{
	display: flex;
}
.news_categ_ttl{
	font-size: 1.2rem;
	line-height: 2.4rem;
	color: #6B6B70;
	letter-spacing: .1em;
	width: 11.7rem;
} 
.news_categ_list{
	width: calc(100% - 11.7rem);
}
.news_categ_list ul{
	display: flex;
	flex-wrap: wrap;
	grid-gap: .9rem;
}
.news_categ_list a{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.3rem;
	min-width: 6.3rem;
	height: 2.4rem;
	border-radius: .4rem;
	background: #E2E2E2;
	border: 1px solid #E2E2E2;
	color: #6B6B70;
	font-size: 1.2rem;
	font-weight: 400;
}
.news_categ_list a[aria-current="page"],
.news_categ_list a.is_active{
	pointer-events: none;
	color: #F22335;
	border-color: #F22335;
	background: #fff;
	background: none;
}

.news_list{
	margin-top: 4.8rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 0 4rem;
}
.news_list li{
	border-bottom: 1px dotted #E2E2E2;
}
.news_list li:nth-of-type(1),
.news_list li:nth-of-type(2){
	border-top: 1px dotted #E2E2E2;
}
.news_list a{
	padding: 2.2rem 2rem;
	padding-right: 5rem;
	display: flex;
	align-items: center;
	grid-gap: 3.4rem;
	position: relative;
	opacity: 1!important;
	background: url(../img/common/arrow_red.svg)no-repeat right 2.7rem center;
	background-size: .9rem auto;
}
.news_list a:hover{
	background: url(../img/common/arrow_white.svg)no-repeat right 2.7rem center;
	background-size: .9rem auto;
}
.news_list a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #F22335;
    content: "";
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    transform: scaleX(0);
    transform-origin: 100% 50%;
    opacity: 0;
    pointer-events: none;
    transition: transform .6s cubic-bezier(0,1,0,1), opacity .6s cubic-bezier(.755,.05,.855,.06);
    will-change: transform, opacity;
    z-index: -1;
}
.news_list a:hover:before {
    transform: scaleX(1);
    transform-origin: 0% 50%;
    opacity: 1;
    transition: transform 1.3s cubic-bezier(0,1,0,1), opacity .2s cubic-bezier(.25,.46,.45,.94);
}
.news_list .img_box{
	width: 10.2rem;
	padding-top: 10.2rem;
	border-radius: 1rem;
	box-shadow: 0 0 1rem rgba(0,0,0,.16);
}
.news_list .img_box img{
	transform: scale(1)!important;
}
.news_list .cont{
	width: calc(100% - 10.2rem - 3.4rem);
}
.news_list .date{
	display: inline-flex;
	vertical-align: middle;
	font-size: 1.2rem;
	font-weight: 400;
	color: #A2A3A6;
	margin-right: 1rem;
}
.news_list a:hover .date{
	color: #fff;
}
.news_list .categ {
	display: inline-flex;
}
.news_list .categ span{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.3rem;
	min-width: 6.3rem;
	height: 2.4rem;
	border-radius: .4rem;
	border: 1px solid #E2E2E2;
	color: #6B6B70;
	font-size: 1.2rem;
	font-weight: 400;
	color: #F22335;
	border-color: currentColor;
}
.news_list a:hover .txt,
.news_list a:hover .categ span{
	color: #fff;
}
.news_list .txt{
	margin-top: 2rem;
	font-size: 1.2rem;
	font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.top_news_btn{
	position: absolute;
	right: 10rem;
	top: 13.7rem;
	z-index: 2;
}

.top_mission{
	padding-top: 5.7rem;
}
.top_mission_box{
	background: #FFFFFF;
	padding: 14.8rem 10rem 13rem;
	border-radius: 2rem;
	background: url(../img/top/bg_mission.png)no-repeat right -16.3rem center #F22335;
	background-size: 75.1rem auto;
	color: #fff;
}
.top_mission_hd{
	display: flex;
	align-items: center;
	grid-gap: 1.7rem;
}
.top_mission_hd .eng{
	font-size: 2.8rem;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: .1em;
	padding-left: 2.5rem;
	background: url(../img/top/icon_up.svg)no-repeat left center;
	background-size: 1rem auto;
}
.top_mission_hd .jap{
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .1em;
	animation-delay: .8s;
}
.top_mission_ttl{
	font-size: 10rem;
	line-height: 1.1;
	font-weight: bold;
	margin: 6rem 0;
}
.top_mission_txt{
	display: inline-block;
	vertical-align: middle;
	font-size: 1.8rem;
	line-height: 2;
	font-weight: 500;
}
.top_mission_btn{
	margin-left: 6.5rem;
	display: inline-block;
	vertical-align: middle;
}
.top_mission_btn .btn_link02{
	font-size: 1.5rem;
	letter-spacing: .1em;
	line-height: 1.2;
	padding-right: 3.6rem;
	color: #fff;
}
.top_mission_btn .btn_link02:after{
	width: 3.1rem;
	height: 3.1rem;
	background-size: .7rem auto;
}
.top_mission_btn .btn_link02:before{
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 26.8rem;
	height: 26.8rem;
	background: url(../img/top/before_mission.svg)no-repeat;
	background-size: 100% auto;
	animation: circle 20s infinite linear;
}
@keyframes circle {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to { transform: translate(-50%,-50%) rotate(360deg); }
}

/*service*/
.service_wrap{
	padding-bottom: 15rem;
}
.service_section+.service_section{
	padding-top: 10rem;
	margin-top: 10rem;
	border-top: 1px dotted #A2A3A6;
}
.hd_small{
	display: flex;
	align-items: center;
	grid-gap: 1.8rem;
}
.hd_small .eng{
	font-size: 2.8rem;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: .06em;
	color: #F22335;
	padding-left: 2.5rem;
	background: url(../img/common/icon_up_white.svg)no-repeat left center;
	background-size: 1rem auto;
}
.hd_small .jap{
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: .1em;
	animation-delay: .8s;
	color: #6B6B70;
}
.service_section_p01{
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 2;
	margin: 4rem 0 4.5rem;
}

.service_sec01_list{
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.service_sec01_list li{
	background: #fff;
	border: 2px solid #D5D5D5;
	margin: -2px 0 0 -2px;
	padding: 3rem 4.5rem;
	position: relative;
}
.service_sec01_list .icon{
	position: absolute;
	right: 4.5rem;
	top: 3.6rem;
	z-index: 3;
}
.service_sec01_list .icon img{
	width: 8.8rem;
}
.service_sec01_list .point{
	display: inline-flex;
	align-items: center;
	grid-gap: .3rem;
	height: 2.8rem;
	border: 1px solid #ECEDED;
	padding: 0 1.4rem 0 1.1rem;
	color: #F22335;
	font-size: 1rem;
	font-weight: bold;
	border-radius: 1.5rem;
}
.service_sec01_list .point span{
	font-size: .9rem;
}
.service_sec01_list .ttl{
	font-size: 1.9rem;
	line-height: 1.6;
	font-weight: 900;
	min-height: 3.2em;
	display: flex;
	align-items: center;
	margin: 1rem 0 1rem;
	color: #F22335;
	position: relative;
	z-index: 5;
}
.service_sec01_list .txt{
	font-size: 1.4rem;
	line-height: 1.714;
}

.service_sec02_list{
	margin-top: 14rem;
	margin-right: 10rem;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	background: #fff;
	border-radius: 1rem;
}
.service_sec02_list li+li{
	border-left: 1px dotted #A2A3A6;
}
.service_sec02_list li{
	position: relative;
	padding: 10.6rem 2.5rem 4rem;
}
.service_sec02_list .ttl{
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 2;
	transform: translate(-50%,-50%);
	width: 16.9rem;
	height: 16.9rem;
	background: #F22335;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 900;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: url(../img/service/bg_team01.png)no-repeat center center #F22335;
	background-size: cover;
}
.service_sec02_list li:nth-of-type(2) .ttl{
	background: url(../img/service/bg_team02.png)no-repeat center center #F22335;
	background-size: cover;
}
.service_sec02_list li:nth-of-type(3) .ttl{
	background: url(../img/service/bg_team03.png)no-repeat center center #F22335;
	background-size: cover;
}
.service_sec02_list .txt{
	font-size: 1.4rem;
	line-height: 1.785;
}

/*about*/
.about_wrap{
	position: relative;
	padding-bottom: 20rem;
}
.about_wrap .contents_wrap #main{
	padding-right: 10rem;
}

.about_icon{
	position: absolute;
	z-index: 10;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
}
.about_sec01_icon{
	position: absolute;
	left: calc(50% + 25.3rem);
	top: 82rem;
	width: 74.4rem;
}

.about_sec01{
	padding-bottom: 10rem;
}
.about_sec01_ttl{
	font-size: 11.1rem;
	font-weight: 900;
	line-height: 1.17;
	margin: 6.5rem 0 9rem;
}
.about_sec01_txt{
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.55;
}
.about_sec01_txt p+p{
	margin-top: 4.6rem;
}

.about_sec02_list{
	margin-top: 4.8rem;
}
.about_sec02_list li+li{
	margin-top: 1.5rem;
}
.about_sec02_list li{
	display: flex;
	align-items: center;
	padding: 2.4rem 3rem;
	background: #fff;
	border-radius: 5rem;
}
.about_sec02_list .point{
	width: 6rem;
	font-size: 3rem;
	line-height: 1.2;
	color: #F22335;
}
.about_sec02_list .txt{
	width: calc(100% - 6rem);
	font-size: 3.8rem;
	line-height: 1.2;
	font-weight: bold;
}

.about_sec03_logo{
	margin: 6.5rem 0 8rem;
}
.about_sec03_logo img{
	width: 74.1rem;
}
.about_sec03_dl{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-right: 7rem;
}
.about_sec03_dl+.about_sec03_dl{
	margin-top: 4rem;
}
.about_sec03_dl dt{
	width: calc(100% - 11.2rem - 2rem);
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2.5;
}
.about_sec03_dl dd{
	width: 11.2rem;
	display: flex;
	justify-content: center;
}
.about_sec03_dl dd.small img{
	width: 9.1rem;
}



/*company*/
.company_wrap{
	position: relative;
	padding-bottom: 16rem;
}
.company_wrap .service_section+.service_section{
	border: 0;
	padding-top: 6.5rem;
	margin-top: 6.5rem;
}
.company_sec01_box{
	margin-right: -5rem;
	margin-top: 3.6rem;
	position: relative;
}
.company_sec01_img{
	position: relative;
}
.company_sec01_cont{
	position: relative;
}
.company_sec01_txt{
	padding: 7rem 0 0;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.88;
} 
.company_sec01_txt p+p{
	margin-top: 5.2rem;
}
.company_sec01_txt .name{
	font-size: 1.6rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	grid-gap: 2.3rem;
}
.company_sec01_txt .name span{
	font-size: 2.8rem;
	font-weight: bold;
}

.company_intro{
	position: absolute;
	left: 12rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9;
	color: #F22335;
}
.company_profile{
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: .1em;
	padding-left: 2.9rem;
	background: url(../img/company/icon_red.svg)no-repeat left center;
	background-size: 2rem auto;
	margin-bottom: 1.2rem;
}
.company_sec01_dl{
}
.company_sec01_dt{
	
}
.company_sec01_dd{
	margin-top: 5rem;
}
.company_sec01_dt .pos{
	font-size: 1.9rem;
	font-weight: bold;
}
.company_sec01_dt .name{
	font-size: 5.6rem;
	line-height: 1.45;
	font-weight: bold;
}
.company_sec01_dt .eng{
	font-size: 1.2rem;
	letter-spacing: .1em;
	font-weight: bold;
	margin-top: .3rem;
}
.company_sec01_dd table th{
	width: 4.7rem;
	font-size: 1.2rem;
	line-height: 1.83;
	font-weight: bold;
	color: #F22335;
}
.company_sec01_dd table td{
	font-size: 1.2rem;
	line-height: 1.83;
	font-weight: 500;
}

.company_sec02_table{
	width: 100%;
	max-width: 72rem;
	margin-top: 5rem;
	border-top: 1px dashed #D5D5D5;
}
.company_sec02_table th,
.company_sec02_table td{
	font-size: 1.4rem;
	line-height: 1.57;
	font-weight: 400;
	vertical-align: baseline;
	padding: 2.7rem 0;
	border-bottom: 1px dashed #D5D5D5;
}
.company_sec02_table th{
	width: 16rem;
	font-weight: bold;
	color: #F22335;
}
.company_sec02_table th span{
	letter-spacing: .1em;
	font-weight: bold;
}
.company_sec02_table p+p{
	margin-top: 1.2rem;
}
.company_sec02_table a{
	color: #F22335;
	text-decoration: underline;
}

.company_sec03{
	padding-right: 8rem;
}
.company_map_item{
	margin-top: 4rem;
}
.company_map_item+.company_map_item{
	margin-top: 8rem;
}
.iframe_box {
    position: relative;
    width: 100%;
    padding-top: 56%;
}
.iframe_box iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.company_map_item .iframe_box{
	padding-top: 31.1rem;
}
.company_map_item .place{
	font-size: 2rem;
	margin: 2.3rem 0 1rem;
}
.company_map_item .addr{
	font-size: 1.4rem;
}

.company_sec04_item{
	margin-top: 5rem;
}
.company_sec04_item+.company_sec04_item{
	margin-top: 8rem;
}
.company_sec04_item .ttl span{
	font-size: 2.4rem;
	font-weight: 500;
	padding: 0 2.4rem;
	border: .3rem solid;
	color: #F22335;
	display: inline-flex;
	align-items: center;
	height: 5.6rem;
	margin-bottom: 2.2rem;
	border-radius: 3rem;
}
.company_sec04_item .txt{
	font-size: 1.4rem;
	line-height: 2;
}
.company_sec04_item .txt p+p{
	margin-top: 2.8rem;
}
.company_sec04_item .txt a{
	display: inline-block;
	text-decoration: underline;
	margin-top: 1.5rem;
}

.company_sec05{
	position: relative;
	padding-right: 10rem;
}
.tabWrap{
	position: relative;
	overflow: hidden;
}
.tabBox{
    position: absolute;
    width: 100%;
    opacity: 0;
    pointer-events: none;
}
.tabBox.is_active{
    position: static;
    opacity: 1;
    pointer-events: auto
}
.tabLink{
	display: flex;
	flex-wrap: wrap;
	grid-gap: 1rem;
	margin: 6rem 0 3rem;
}
.tabLink a{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.6rem;
	font-weight: bold;
	color: #A2A3A6;
	background: #D5D5D5;
	border-radius: 2.2rem;
	height: 4.4rem;
	white-space: nowrap;
	padding: 0 2.3rem;
}
.tabLink a.is_active{
	color: #fff;
	background: #F22335;
}
.history_item{
	padding: 3rem 0 4rem;
	border-bottom: 1px dashed #D5D5D5;
}
.history_item:first-of-type{
	border-top: 1px dashed #D5D5D5;
}
.history_year{
	font-size: 3.2rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: .1em;
	color: #F22335;
	margin-bottom: 1.8rem;
}
.history_txt{
	font-size: 1.4rem;
}
.history_dl{
	display: flex;
}
.history_dl+.history_dl{
	margin-top: 3rem;
}
.history_dt{
	width: 11rem;
	padding-right: 4rem;
}
.history_dd{
	width: calc(100% - 11rem);
}

.fancybox-slide--image{
	padding: 9.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.fancybox-button--zoom{
	display: none!important;
}
.fancybox-button--close{
	color: #fff;
	right: 7rem;
	top: 5rem;
	position: absolute;
    width: 6rem;
    height: 6rem;
    background: none;
    padding: 0;
}

.company_sec06{
	padding-right: 10rem;
}
.company_sec06_txt{
	font-size: 1.4rem;
	line-height: 2;
	margin-top: 4rem;
}
.company_sec06_item{
	margin-top: 4rem;
	border-top: 1px dashed #D5D5D5;
}
.company_sec06_item dl{
	display: flex;
	padding: 3rem 0;
	border-bottom: 1px dashed #D5D5D5;
}
.company_sec06_item dt{
	width: 7.5rem;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: .1em;
	color: #F22335;
}
.company_sec06_item dd{
	width: calc(100% - 7.5rem);
	font-size: 1.4rem;
	line-height: 1.5;
}
.company_sec06_date{
	font-size: 1.4rem;
	line-height: 1.857;
	text-align: right;
	margin-top: 4rem;
}

/*news*/
.news_wrap{
	padding-bottom: 9.5rem;
}
.news_wrap .inner{
	max-width: 90rem;
}
.news_categ+.news_categ{
	margin-top: 2.7rem;
}
.news_wrap .news_list{
	margin-top: 9.5rem;
	grid-template-columns: repeat(1,1fr);
	grid-gap: 0;
}
.news_wrap .news_list a{
	padding: 1.4rem;
	background: url(../img/common/arrow_red_news.svg)no-repeat right center;
	background-size: 4.4rem auto;
}
.news_wrap .news_list a:hover{
	background: url(../img/common/arrow_white_news.svg)no-repeat right center;
	background-size: 4.4rem auto;
}
/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 4rem;
    width: 100%;
    margin: 9.5rem auto 0;
    position: relative;
    padding: 0;
    text-align: center;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
    display: none;
}

.wp-pagenavi a, 
.wp-pagenavi span {
    border: 0;
    padding: 0;
    margin: 0;
}

.wp-pagenavi .page {

}

.wp-pagenavi a, 
.wp-pagenavi .current {
    width: auto;
    height: 4.4rem;
    font-size: 1.8rem;
    font-weight: 400;
    /*border: 1px solid #000;*/
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s;
    color: #A2A3A6;
}

.wp-pagenavi a:hover,
.wp-pagenavi .current {
    opacity: 1;
    color: #F22335;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	width: 4.4rem;
    font-size: 0;
    background: url(../img/common/page_prev.svg)no-repeat center center;
    background-size: 100% auto;
}
.wp-pagenavi .nextpostslink{
    background: url(../img/common/page_next.svg)no-repeat center center;
    background-size: 100% auto;
}
.wp-pagenavi .previouspostslink:hover{
    background: url(../img/common/page_prev_hover.svg)no-repeat center center;
    background-size: 100% auto;
}
.wp-pagenavi .nextpostslink:hover{
    background: url(../img/common/page_next_hover.svg)no-repeat center center;
    background-size: 100% auto;
}

/*news_detail*/
.news_detail_wrap{
	padding: 23.7rem 0 12.3rem;
}
.news_detail_wrap .inner02 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.news_detail_wrap #main{
	width: calc(100% - 29rem);
}
.news_detail_wrap #side{
    width: 29rem;
    position: sticky;
    top: 12rem;
    left: 0;
    z-index: 11;
}
.news_side_hd {
	margin-bottom: 1.7rem;
    font-size: 1.2rem;
    color: #6B6B70;
    letter-spacing: .1em;
}
.news_side_list{
	width: 9.4rem;
	display: grid;
	grid-template-columns: repeat(1,1fr);
	grid-gap: 1rem;
}
.news_side_list a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.4rem;
	border-radius: .4rem;
	background: #E2E2E2;
	border: 1px solid #E2E2E2;
	color: #6B6B70;
	font-size: 1.2rem;
	font-weight: 400;
}
.news_side_list a.is_active{
	border-color: #F22335;
	color: #F22335;
	background: none;
}

.news_detail_date{
	display: inline-flex;
	vertical-align: middle;
	font-size: 1.2rem;
	font-weight: 400;
	color: #A2A3A6;
	margin-right: 1rem;
}
.news_detail_categ {
	display: inline-flex;
}
.news_detail_categ span{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 1.3rem;
	min-width: 6.3rem;
	height: 2.4rem;
	border-radius: .4rem;
	border: 1px solid #E2E2E2;
	color: #6B6B70;
	font-size: 1.2rem;
	font-weight: 400;
	color: #F22335;
	border-color: currentColor;
}
.news_detail_hd{
	line-height: 1.73;
	font-size: 3rem;
	font-weight: bold;
	padding: 5rem 0;
	margin-bottom: 3.6rem;
	border-bottom: 1px dashed #D5D5D5;
}
.news_detail_cont{
	font-size: 1.4rem;
	line-height: 2;
}
.news_detail_cont p+p{
	margin-top: 2.8rem;
}
.news_detail_cont figure{
	display: block;
	margin: 3.6rem 0;
}
.news_detail_btn{
	text-align: right;
	margin-top: 11.7rem;
}

/*contact*/
.contact_wrap{
	padding-bottom: 15rem;
}
.contact_box{
	margin-top: -12rem;
	background: #fff;
	padding: 8rem 14rem;
	border-radius: 3rem;
}
.formAgreeTxt{
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .1em;
	margin: 6rem 0 2.2rem;
}

.contactTable{
    width: 100%;
}
.contactTable th,
.contactTable td{
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: .1em;
    font-weight: 400;
    padding: 1rem 0;
}
.contactTable th{
    font-weight: bold;
	vertical-align: baseline;
    text-align: left;
    padding-top: 2.8rem;
    padding-right: 2rem;
    width: 24rem;
}
.required{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 4.7rem;
	height: 2.4rem;
	border-radius: .4rem;
	font-size: 1.4rem;
	font-weight: 500;
    color: #fff;
    background: #F22335;

    float: right;
}
.contactTable input[type=text],
.contactTable input[type=tel],
.contactTable input[type=email],
.contactTable select,
.contactTable textarea{
    width: 100%;
    height: 5.9rem;
    border-radius: .5rem;
    border: 0;
    padding: 0 1.5rem;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: .1em;
    font-weight: 400;
    border: 0;
    background: #F5F5F5;
    color: #221815;
}
.contactTable select {
    width: 33rem;
    background: url(../img/common/select.svg) no-repeat right 2.5rem center #fff;
    background-size: auto 1rem;
    padding: 0 5rem 0 3rem;
}
.contactTable textarea{
    display: block;
    resize: none;
    min-height: 32rem;
    padding: 1rem 1.5rem;
}
.contactTable input.zip_input{
    max-width: 21rem;
}
.contactTable .errorLi input{
    background: #FFF0F0;
    border-color: #AD2E2A;
}


textarea::-webkit-input-placeholder{ /*WebKit browsers*/
  color: #D9D9D9;
}
textarea::-moz-input-placeholder{ /*Mozilla Firefox*/
  color: #D9D9D9;
}
textarea::-ms-input-placeholder{ /*Internet Explorer*/ 
  color: #D9D9D9;
}
input::-webkit-input-placeholder{ /*WebKit browsers*/
  color: #D9D9D9;
}
input::-moz-input-placeholder{ /*Mozilla Firefox*/
  color: #D9D9D9;
}
input::-ms-input-placeholder{ /*Internet Explorer*/ 
  color: #D9D9D9;
}
.p-postal-code{
    max-width: 23.6rem!important;
}
.zipTxt{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #FF6795;
    color: #fff;
    border-radius: 2rem;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 1.2rem;
    height: 3.3rem;
    margin-left: 4rem;
}

.formAgree{
    display: flex;
    justify-content: center;
}
.formAgree a{
    /*text-decoration: underline;*/
    /*border-bottom: 1px solid currentColor;*/
}
.formAgree .formCheckbox{
	margin: 0;
}
.formAgree .formCheckbox label span{
    padding-left: 3.3rem;
}
.formAgree .formCheckbox label span:before{
    background: #fff;
    border-radius: 0;
    border: 1px solid #D5D5D5;
}

.formButton{
    margin-top: 4rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    grid-gap: 3rem;
}
.formButton .btn_link01{
	width: 33rem;
	height: 9rem;
	border-radius: 4.5rem;
}
.formButton .btn_form{
	text-align: left;
	padding: 0 5rem;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: none;
	color: #fff;
    border: 0;
    color: inherit;
    font-size: 1.9rem;
    font-weight: bold;
    letter-spacing: .1em;
}
.formButton .disabled{
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: .5;
    pointer-events: none;
}

.formCheckbox,
.formRadio{
    margin: 1.9rem 0;
}

.formRadio,
.formRadio .wpcf7-radio,
.formCheckbox,
.formCheckbox .wpcf7-checkbox{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 1rem 2rem;
}

.flex_wrap .wpcf7-checkbox{
    flex-direction: row;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item{
    /*width: 100%;*/
}
.formRadio label,
.formCheckbox label {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 400;
    color: #221815;
    position: relative;
}

.formRadio label input[type="radio"],
.formCheckbox label input[type="checkbox"] {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
}

.formRadio label span {
    position: relative;
    z-index: 2;
    padding-left: 3rem;
    display: inline-block;
}

.formRadio label span:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid #D5D5D5;
    content: '';
    z-index: 1;
}

.formRadio label span:after {
    position: absolute;
    left: .4rem;
    top: .4rem;
    width: 1.2rem;
    height: 1.2rem;
    background: #221815;
    border-radius: 50%;
    content: '';
    z-index: 2;
    opacity: 0;
}

.formRadio label input[type="radio"]:checked + span:before ,
.formRadio label input[type="checkbox"]:checked + span:before {
    /*opacity: 0;*/
}

.formRadio label input[type="radio"]:checked + span:after ,
.formRadio label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}


.formCheckbox label{
    /*width: 100%;*/
}
.flex_wrap{
    flex-direction: row;
}
.flex_wrap label{
    width: auto;
    min-width: 17rem;
}

.formCheckbox label span {
    position: relative;
    z-index: 2;
    padding-left: 3rem;
    display: inline-block;
}

.formCheckbox label span:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 0;
    border: 1px solid #D5D5D5;
    background: #fff;
    border: 0;
    content: '';
    z-index: 1;
}

.formCheckbox label span:after {
    position: absolute;
    left: .4rem;
    top: .4rem;
    width: 1.2rem;
    height: 1.2rem;
    background: #221815;
    content: '';
    z-index: 2;
    opacity: 0;
}

.formCheckbox label input[type="radio"]:checked + span:before ,
.formCheckbox label input[type="checkbox"]:checked + span:before {
    /*opacity: 0;*/
}

.formCheckbox label input[type="radio"]:checked + span:after ,
.formCheckbox label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}

.wpcf7-list-item{
    margin: 0;
}
.wpcf7-not-valid-tip {
    color: #AD2E2A;
    font-size: 1em;
    font-weight: normal;
    display: block;
    margin-top: .3rem;
    /*position: absolute;*/
}

.btn_back{
    text-align: center;
}
.btn_back input,
.btn_back a {
    border: 0;
    color: #333;
    text-decoration: underline;
    display: inline-block;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .08em;
    padding-left: 6.4rem;
    background: url(../img/voice/arrow_btn.svg) no-repeat;
    background-size: 4.7rem auto;
}

/*recruit*/
.recruit_wrap{
	padding: 50px 0 8rem;
	margin-top: -15rem;
}
.recruit_dl{
	display: flex;
}
.recruit_dl+.recruit_dl{
	margin-top: 12rem;
}
.recruit_dt{
	width: 27rem;
}
.recruit_dd{
	width: calc(100% - 27rem);
}
.recruit_ttl{
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .1em;
}
.recruit_list{
	display: flex;
	grid-gap: 5rem;
}
.recruit_list a{
	display: flex;
	align-items: center;
	width: 35.5rem;
	height: 11.6rem;
	border-radius: 6rem;
	border: .4rem solid #F22335;
	background: url(../img/common/icon_recruit.svg)no-repeat right 3.3rem center #fff;
	background-size: 5.6rem auto;
	color: #F22335;
	font-weight: bold;
	font-size: 2.1rem;
	padding: 0 5rem;
}
.recruit_list a span{
	padding-left: 2.2rem;
	background: url(../img/common/arrow_red.svg)no-repeat left center;
	background-size: 1.4rem auto;
}

.recruit_box{
	border-radius: 3rem;
	background: #fff;
	padding: 6.5rem 7.5rem 2rem;
}
.recruit_box_top{
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.75;
	text-align: center;
	margin-bottom: 5.4rem;
}
.recruit_box .company_sec02_table th{
	vertical-align: middle;
	width: 12rem;
}
.recruit_box .company_sec02_table tr:last-of-type th,
.recruit_box .company_sec02_table tr:last-of-type td{
	border-bottom: none;
}

.recruit_note{
	text-align: right;
	margin-top: 3rem;
	font-size: 1.2rem;
}
.recruit_btn{
	margin-top: 1.4rem;
	text-align: right;
}
.recruit_btn .btn_link02{
	color: #F22335;
	font-size: 1.2rem;
	padding-right: 3.2rem;
	height: 2.4rem;
}
.recruit_btn .btn_link02:after{
	width: 2.4rem;
	height: 2.4rem;
	background-size: .5rem auto;
}
.recruit_btn .btn_link02 span{
	border-bottom: 1px solid;
	font-size: 1.2rem;
	font-weight: 400;
}

/*site_map*/
.site_map_wrap{
	padding: 0 0 11rem;
	margin-top: -10rem;
}
.site_map_wrap .footer_link{
	justify-content: space-between;
	grid-gap: 0;
}
.site_map_wrap .footer_link_item ul{
	margin-top: 2.5rem;
}
.site_map_wrap .footer_link_item ul a{
	font-size: 1.2rem;
	line-height: 3rem;
}

/*404*/
.not_found_wrap{
	padding: 28rem 0 16rem;
	text-align: center;
}
.not_found_ttl{
	font-size: 8.4rem;
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: .06em;
}
.not_found_txt{
	font-size: 2rem;
	font-weight: 500;
	margin: 2.2rem 0 5.2rem;
}
.btn_link01.bg_white{
	font-size: 1.6rem;
	font-weight: 500;
	background: #fff;
	color: #221815;
	box-shadow: 0 0 2rem rgba(0,0,0,.16);
	padding-right: 11rem;
	letter-spacing: 0;
}

.wpcf7-spinner{
	position: absolute;
	left: 100%;
	top: 10%;
	margin: 0 1.5rem;
}

/*about*/
.company_wrap{
	position: relative;
}
.company_icon{
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
}
.company_icon01{
	position: absolute;
	left: calc(50% + 29.5rem);
	top: 141.1rem;
	width: 51rem;
}
.company_icon02{
	position: absolute;
	left: calc(50% + 23.2rem);
	top: 409rem;
	width: 55rem;
}
.company_icon03{
	position: absolute;
	left: calc(50% + 23rem);
	bottom: 125.3rem;
	width: 57.4rem;
}




/*20251024*/
/*実績*/
#works #teaser {
	padding-bottom: 6.5rem;
}

.works_wrap {
	padding-bottom: 12rem;
}

.works_wrap .works_list {
	margin-top: 7.3rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem 2rem;
}

.works_wrap .works_list a {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	padding: 2rem;
	border-radius: 1.5rem;
	text-decoration: none;
}

.works_list .categ {
	width: 100%;
	text-align: right;
}

.works_list .categ span {
	display: inline-block;
	margin-left: 1rem;
	border: .1rem solid #D5D5D5;
	border-radius: 1.2rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	padding: .3rem .9rem;
	color: #6B6B70;
}

.works_list .images {
	width: 100%;
	aspect-ratio: 31 / 22;
	overflow: hidden;
	margin-top: 1rem;
}

.works_list .images img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.works_list .title {
	margin-top: 1.5rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	color: #221815;
}

.works_list .subtitle {
	margin-top: 1.1rem;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.5;
	color: #221815;
}

.works_detail_wrap {
	padding: 19.4rem 0 12.2rem;
}

.works_head {
	margin-bottom: 2.2rem;
}

.works_head .works_head_categ {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2.2rem;
}

.works_head .works_head_categ span {
	display: inline-flex;
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
	padding: .4rem 1.5rem;
	border-radius: 1.3rem;
	background: #F22335;
}

.works_head .works_head_title {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.44;
	margin-bottom: 1.2rem;
} 

.works_head .works_head_subtitle {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.43;
} 

.works_body .works_body_awards {
	padding: 2rem 3rem;
	background: #fff;
	display: flex;
	align-items: center;
	gap: 3rem;
	border-radius: .4rem;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.7;
	color: #6B6B70;
	max-width: 57.8rem;
	margin-top: 2.2rem;
}

.works_body .works_body_awards:before {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	color: #221815;
	word-break: keep-all;
	white-space: nowrap;
	content: 'Awards';
	text-transform: uppercase;
	font-family: "Inter", sans-serif;
}

.works_body .works_body_description {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2;
	margin-top: 4rem;
	max-width: 83rem;
}

.works_body_gallery {
	margin-top: 10rem;
	width: 100%;
}

.works_body_gallery .swiper-fade .swiper-slide {
    -webkit-transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, transform !important;
    transition-property: opacity, transform, -webkit-transform !important;
    pointer-events: none;
}

.works_body_gallery .slide .slide-media {
	position: relative;
	width: 100%;
	height: 53rem;
}

.works_body_gallery .slide .slide-media img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	transform: translate(-50%,-50%);
}

.works_body_gallery .slide .slide-title {
	text-align: center;
	margin-top: 2.4rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
}

.works_body_gallery .swiper-button-prev {
	width: 4.4rem;
	height: 4.4rem;
	background: url(../img/common/slider_prev.svg) center center no-repeat;
	background-size: 100% 100%;
}

.works_body_gallery .swiper-button-next {
	width: 4.4rem;
	height: 4.4rem;
	background: url(../img/common/slider_next.svg) center center no-repeat;
	background-size: 100% 100%;
}

.works_body_gallery .thumb-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.3rem;
	flex-wrap: wrap;
	margin-top: 5rem;
}

.works_body_gallery .thumb-wrapper .thumb-media {
	cursor: pointer;
	width: 7.4rem;
	aspect-ratio: 1 / 1;
	border-radius: 1rem;
	overflow: hidden;
}

.works_body_gallery .thumb-wrapper .thumb-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.works_body_movie {
	width: 100%;
	max-width: 76rem;
	margin: 0 auto;
	margin-top: 11.2rem;
}

.works_body_movie .movie_box {
	width: 100%;
	aspect-ratio: 152 / 83;
	overflow: hidden;
}

.works_body_movie .movie_box video,
.works_body_movie .movie_box iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.works_body_movie .movie_description {
	text-align: center;
	margin-top: 2.4rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
}


.works_detail_btn {
	text-align: center;
	margin-top: 9.2rem;
}




/*20260216*/
/*自社プロデュース事業*/
#produce #teaser {
	padding-bottom: 6.5rem;
}

.produce_txt{ 
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.55;
}

.produce_txt p+p {
	margin-top: 2.6rem;
}

.produce_txt small {
	font-size: 1.2rem;
}

.produce_wrap {
	padding-bottom: 12rem;
}

.produce_sub{ 
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	margin-top: 9.2rem;
	margin-bottom: 4.6rem;
}

.produce_wrap .produce_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3rem 2rem;
}

.produce_wrap .produce_list a {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	padding: 2rem;
	border-radius: 1.5rem;
	text-decoration: none;
}

.wproduce_list .images {
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}

.produce_list .images img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}

.produce_list .title {
	margin-top: 1.5rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	color: #221815;
	padding-right: 20px;
	position: relative;
}

.produce_list .title::before {
	display: block;
	content: "";
	width: 9px;
	height: 12px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background: #F22335;
	position: absolute;
	top: calc(50% - 6px);
	right: 0;
}
















