/*
Theme Name: CAT Child
Version: 1.0
Template: cat-so01
*/

/*******************************************
共通
********************************************/
body{font-family: 'Montserrat', 'Noto Sans JP', sans-serif;}

.font-big{font-size: 1.2em;}
.font-mini{font-size: 0.8em;}
.font-red{color: #ff0000;}

.cf7-acceptance{margin: 40px 0; text-align: center;}

/*******************************************
ヘッダー
********************************************/
#header{background: rgb(0,0,0); background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%); height: auto;}
.header__inner{padding: 16px 5%;}
.header__logo__text a{color: #fff;}
.header__cv{display: none;}
.header__menu-list li a{color: #fff; font-weight: bold;}

/*******************************************
トップページ
********************************************/
.hero__inner{padding-left: 0;}
.hero__cover{width: 100%;}
.hero__main-text{font-size: 144px; line-height: 1.2;}
.hero__sub-text{font-weight: bold; font-size: 24px;}

.sec01__inner{padding: 125px 0 250px;}
.sec01__img img{border-radius: 0 10px 10px 0;}
.sec01__content,
.sec02__box,
.sec04__box{box-shadow: 5px 5px 5px #e0e0e0; border-radius: 10px;}
.sec01__title h2,
.sec02__title h2{font-weight: 600;}
.sec02__inner{align-items: center; max-width: 1240px;}
.sec02__content{width: 60%;}
.sec02__img{width: 40%; margin-left: 3%;}
.sec02__img img{border-radius: 10px;}
.sec04__flex .sec04__box:last-child,
.home #sec05{display: none;}
.sec04__box img{border-radius: 10px;}
.sec04__box-link{border-radius: 0 0 10px 10px;}
.sec04__box a:hover{border-radius: 10px;}

/*******************************************
フッター
********************************************/
.sec06__img{width: 100%; max-width: 100%;}
#footer__nav ul li a{color: #fff; font-weight: bold;}
footer,
.footer__cp{background-color: #000;}

/*******************************************
SERVICE
********************************************/
h2.service__first-title{margin-bottom: 1.5em; border: none; font-size: 1.8em;}
.service__inner h2{font-size: 3em;}
.service__box-img{box-shadow: 5px 5px 5px #ccc; border-radius: 10px;}
.service__box-img img{border-radius: 10px;}
.my-headline .text-sub{display: block; font-size: 0.7em;}
/*******************************************
COMPANY
********************************************/
.company-profile h2,
.company-access h2{font-size: 3em;}

.company-profile__table table{width: 96%; max-width: 756px; margin: 0 auto;}
.company-profile__table tr{border-top: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5;}
.company-profile__table th{background-color: #fbfbfb; border: none; font-weight: 400; padding: 20px; text-align: left;}
.company-profile__table td{padding: 20px; border: none;}
h2.company-access{border: none; font-size: 32px;}

/*******************************************
CONTACT
********************************************/
.wpcf7-form{box-shadow: 0 0 20px #ccc; border-radius: 10px; background-color: #fff; padding: 8%;}
.page__inner .wpcf7-form h2{margin: 0 0 1.54em;}
.wpcf7-form .req-text,
.wpcf7-form .req{font-size: 0.8em; font-weight: bold; color: #ff0000;}
.wpcf7-form .req{margin-left: 0.25em;}


/*******************************************
レスポンシブ
********************************************/
@media screen and (max-width:1280px) {
	.hero__img img{height: 100vh;}
	.hero__content{left: 5%;}
	.hero__main-text{font-size: 100px;}
	.hero__sub-text{font-size: 16px;}
	.sec01__content{left: auto; right: 5%; bottom: -35%;}
}
@media screen and (max-width:896px) {
	body{font-size: 1.8rem;}
	.toggle_btn span{background-color: #fff;}
	#navHam nav,
	#navHam nav .inner ul li a{background-color: #000;}
	.hero__main-text{font-size: 10vw;}
	.sec01__title h2,
	.sec02__content h2,
	.sec03__title h2,
	.sec04__title h2,
	.sec05__title h2,
	.sec06__title h2{font-size: 3.2rem;}
	.sec01__inner{padding: 10% 5% 30%;}
	.sec01__img img{border-radius: 10px;}
	.sec01__content{right: auto; box-shadow: 0 0 10px #aaa;}
	.sec02__inner{flex-direction: column; padding-bottom: 10%;}
	.sec02__img{width: 90%; margin: -35vw auto 10%; top: auto; left: auto; text-align: center;}
	.sec02__img img{width: 100%; object-fit: cover; aspect-ratio: 1 / 0.65}
	.sec02__content{width: 90%;}
	.sec04__title{width: 100%;}
}
@media screen and (max-width:600px) {
	body{font-size: 1.6rem;}
	.sec01__title h2,
	.sec02__content h2,
	.sec03__title h2,
	.sec04__title h2,
	.sec05__title h2,
	.sec06__title h2{font-size: 2.8rem;}
	.sec01__title,
	.sec02__title,
	.sec04__title{margin-bottom: 1em;}
	.service__first-title h2,
	.service__inner h2,
	.company-profile h2,
	.company-access h2{font-size: 2.5em;}
}
@media screen and (max-width:480px) {
	.my-page{padding-top: 0;}
	.page__hero-content{top: 14vh;}
	.page__hero-img img{height: 35vh;}
	.hero__content{left: auto; padding: 5%;}
	.sec01__content{top: -5vw; padding: 10%;}
}