@charset "utf-8";
/* CSS Document */

.pcOnlyB{
	display:block;
}

.pcOnlyI{
	display:inline;
}

.spOnly, .spOnlyI, .spOnlyB{
	display:none;
}

/* トップページ */

.top__logo__inner{
	width: 22.5vw;
	height: 7.5vw;
	top:calc(50vh + 4.25rem - 3.75vw);
	left: calc(50vw - 11.25vw);
	line-height: 1;
}

.top__logo>img{
	width: 22.5vw;
	height: 7.5vw;
	object-fit: contain;
}

.top__read{
	font-size: 1.25vw;
	padding: 0 5vw;
}

.top__read__head{
	font-size: 2.91vw;
}

.top__sion{
	font-size: 1.4vw;
}

.top__sion_dl>dt{
	width: 10.4vw;
	padding-top: 3.5vw;
	background-size: auto 1.66vw;
}

.top__sion_dl>dt:after{
	background-size: auto 1.6rem;
}

.top__sion_dl>dd{
	margin-bottom: 2.5vw;
	text-align: center;
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin:-0.5em auto 3.5vw auto ;
	position: relative;
	padding:0.5em 1.5em;
	overflow: hidden;
}

.top__sion_dl>dd>span{
	display: inline;
	overflow: auto;
	padding: 0;
	position: static;
	margin: 0;
	width: auto;
}

.top__sion_dl>dd>span:before{
	display: none;
}

.top__sion_dl>dd:before{
	display: block;
	position: absolute;
	left:-100%;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	content: "";
}

.inView .top__sion_dl>dd>span:before{
	animation: none;
}

.inView .top__sion_dl>dd:before{
	animation: slide 1200ms ease forwards;
}

.top__sion_dl>dd>span:after{
	display: none;
}

.top__sion_dl>dd:after{
	display: block;
	position: absolute;
	left:0;
	top: 0;
	width: 100%;
	height: 100%;
	background:no-repeat center center;
	background-size: auto 2rem;
	content: attr(data-text);
	clip-path: inset(0 100% 0 0);
	color: var(--color1);
	padding:0.5em 1.5em;
	box-sizing: border-box;
}

.inView .top__sion_dl>dd>span:after{
	animation: none;
}

.inView .top__sion_dl>dd:after{
	animation: text-reveal 1200ms ease forwards;
}

.top__sion_dl>dt.missionHead+dd:before,
.top__sion_dl>dt.missionHead+dd:after{
	animation-delay: 400ms !important;
}

.top__sion_dl>dt.visionHead+dd:before,
.top__sion_dl>dt.visionHead+dd:after{
	animation-delay: 1600ms !important;
}

.top__illust{
	margin-bottom: 7rem;
}

.top__illust__inner{
	gap: 1rem 0;
	transition: opacity 1000ms 400ms ease;
	top: 50vh;
	width: fit-content;
	margin-inline: auto;
	transform: translateY(-50%);
}

.top__project{
	margin: 0 auto;
	max-width: 900px;
	text-align: center;
}

.top__project__head{
	font-size: 2.7rem;
}

.top__project__item img{
	width: 100%;
	height: auto;
	aspect-ratio:unset;
}

.top__project__item .text{
	line-height: 1.4;
	margin-top: 0.5em;
	font-size:1.6rem;
}


/* TOPICS
--------------------------------------
*/
.secLowHead.isTopics{
	padding: 0 6rem;
}

.secLowHead.isTopics .lowHead{
    display: none;    
}

.topics__container{
	max-width: 700px;
	margin-inline: auto;
	padding: 6rem 2rem 8rem 2rem;
}

.topics__header{
	margin-bottom: 3.7rem;
}

.topics__header__meta{
	font-size: 1.4rem;
}

.topics__header__title{
	font-size: 3.3rem;
}

.topics__header__subTitle{
	font-size: 1.4rem;
}

/* グーテンベルグ */

.topics__body p{
	margin-bottom: 6rem;
}

.topics__body figure{
	margin-bottom: 6rem;
}

.topics__link{
	text-align: center;
	margin-top: 9.8rem;
}

.wp-block-list{
	margin-bottom:6rem;
}

.wp-block-buttons,
.wp-block-cover{
	margin-bottom:6rem;
}


/* TOPICS-INDEX
--------------------------------------
*/

.topicsNav{
	padding: 3.5rem 6rem 2rem 6rem;
}

.topicsNav__list{
	gap: 2.2rem;
}


.topicsNav__list>li>a{
	font-size: 1.6rem;
}

.topicsIdx__container{
	padding: 0 6rem;
}

.topicsIdx__head{
	padding: 0 0 3rem 0;
	font-size:3.3rem
}

.topicsIdx__list{
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0;
}

.topicsIdx__list li:nth-of-type(10n+1){
	--topics-color:#00b2db;
	transition-delay: 0ms;
}
.topicsIdx__list li:nth-of-type(10n+2){
	--topics-color:#7b99ac;
	transition-delay: 200ms;
}
.topicsIdx__list li:nth-of-type(10n+3){
	--topics-color:#00c8bc;
	transition-delay: 400ms;
}
.topicsIdx__list li:nth-of-type(10n+4){
	--topics-color:#6ba5db;
	transition-delay: 0ms;
}
.topicsIdx__list li:nth-of-type(10n+5){
	--topics-color:#00949d;
	transition-delay: 200ms;
}
.topicsIdx__list li:nth-of-type(10n+6){
	--topics-color:#0098d5;
	transition-delay: 400ms;
}
.topicsIdx__list li:nth-of-type(10n+7){
	--topics-color:#2d6692;
	transition-delay: 0ms;
}
.topicsIdx__list li:nth-of-type(10n+8){
	--topics-color:#4d78ce;
	transition-delay: 200ms;
}
.topicsIdx__list li:nth-of-type(10n+9){
	--topics-color:#007991;
	transition-delay: 400ms;
}
.topicsIdx__list li:nth-of-type(10n+10){
	--topics-color:#007bd0;
	transition-delay: 0ms;
}

.topicsIdx__list__caption{
	padding: 1.2rem 1.2rem 3.6rem 1.2rem;
}

.topicsIdx__list__caption>.meta{
	font-size: 1.4rem;
}

.topicsIdx__list__caption>.title{
	font-size: 2.2rem;
}

.topicsIdx__list__caption>.subTitle{
	font-size: 1.4rem;
}

.topicsPageList{
	font-size: 2rem;
}

/* ABOUT
--------------------------------------
*/

.about__container{
	padding: 3.4rem 0 7.4rem;
}

.about__read__header{
	margin-bottom: 3.4rem;
	& img{
		width: 32rem;
	}
}

.about__read__text{
	padding: 0 6rem;
	font-size: 1.6rem;
	margin-bottom: 6rem;
}

.about__read__text>p{
	margin-bottom: 3rem;
}

.about__image{
	margin-bottom: 6rem;
}

.about__photo{
	padding: 0;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	gap: 1rem;
	margin-bottom: 7.5rem;
	width: 60rem;
	margin-inline: auto;
}

.about__photo__item:nth-of-type(1){
	grid-row: 1/2;
	grid-column: 1/3;
}

.about__photo__item:nth-of-type(2){
	grid-row: 2/3;
	grid-column: 1/2;
}

.about__photo__item:nth-of-type(3){
	grid-row: 2/3;
	grid-column: 2/3;
}

.about__company{
	width: 65rem;
	margin-inline: auto;
}

.about__company__dl{
	display: grid;
	grid-template-columns:13rem 1fr ;
	gap: 5rem 0;
	font-size: 1.8rem;
}

.about__company__dl>dt{
	border: none;
	padding: 0;
	margin: 0;
	line-height:1.6 ;
}

.about__company__dl>dd{
	margin-bottom: 0;
	line-height: 1.6;
}

.about__compnay__office:not(:last-of-type){
	margin-bottom: 5rem;
}

.about__compnay__office h3{
	margin-bottom: 1rem;
}

.about__compnay__office .linkType1{
	font-weight: 400;
}

.about__company__group p{
	margin-top: 1.2rem;
}

.about__company__group .head{
	margin-bottom: 0;
}

/* RECRUIT
--------------------------------------
*/

.recruit__container{
	padding: 6rem 0 7rem 0;
	max-width: 59rem;
	margin-inline: auto;
}

.recruit__read__header>img{
	width: 29rem;
}


.recruit__read{
	margin-bottom: 4rem;
}

.recruit__photo{
	grid-template-columns: 1fr 1fr;
	padding: 0;
}

/* CONTACT
--------------------------------------
*/
.contact__container{
	padding:7.5rem 6rem 12rem 6rem;
	box-sizing: border-box;
	width: fit-content;
	margin-inline: auto;
}

.contact__read{
	font-size: 1.8rem;
	margin-bottom: 7.5rem;
}

.contact__link{
	text-align: center;
}

.contact__form__dl{
	display: grid;
	grid-template-columns: fit-content 1fr;
	gap: 3rem 4rem;
}

.contact__form__dl>dd{
	margin-bottom: 0;
	max-width: 69.5rem;
}

.submitBlock{
	grid-row: 6/7;
	grid-column: 2/3;
	max-width: 69.5rem;
}

.submitBlock>dt:first-child{
	padding-top: 2rem;
}

.contact__form__dl:after{
	content:"";
	grid-row: 6/7;
	grid-column: 1/2;
}

.contact__form__dl>dd input[type="text"],
.contact__form__dl>dd input[type="email"],{
	font-size: 1.8rem;
	outline-color: var(--color1) !important;
}

.contact__form__dl>dd input[type="text"]:where(:focus,:focus-visible),
.contact__form__dl>dd input[type="email"]:where(:focus,:focus-visible){
	outline: solid 2px var(--color1);
}

.contact__form__dl>dd textarea:where(:focus,:focus-visible){
	outline: solid 2px var(--color1);
}

.contact__form__dl>dd textarea{
	font-size: 1.8rem;
	aspect-ratio: 695/210;
}

.contact__form__dl dd.plivacyBox{
	aspect-ratio: 695/245;
	margin-bottom: 6rem;
	box-sizing: border-box;
	padding: 1.6rem;
	font-size: 1.4rem;
}

.contact__form__dl input[type="submit"]{
	cursor: pointer;
}

.contact__form__dl input[type="submit"]:not(:disabled):hover{
	background-color: var(--color2);
	border-color: var(--color2);
	color: #FFF;
}

.wpcf7-turnstile{
	width: fit-content;
	margin: 0 auto 7.5rem auto;
}

.plivacyBox>h2{
	font-size: 1.8rem;
}

.plivacyBox>h3{
	font-size: 1.7rem;
}

.plivacyBox>table th,
.plivacyBox>table td{
	font-size: 1.4rem;
}

.plivacyBox>table th{
	font-size: 1.6rem;
}