@charset "utf-8";

/* 
* 共通
*/

.pc-block{
	display: none;
}
.tb-block{
	display: block;
}
.pc-or-tb-block{
	display: none;
}
.sp-block{
	display: block;
}

.title-text h2,
.title-text h3,
.title-text h4,
.title-text h5{
	font-size: 2.4rem;
	letter-spacing: 1.9px;
	line-height: 1.3;
}
.title-subtext p{
	font-size: 2.1rem;
}

/* サブページテンプレート スタイル */
.subpage-top{
	margin-bottom: 5em;
	padding-bottom: 1.7em;
}
.subpage-block{
	width: 91%;
}
.subpage-imagebox{
	margin-bottom: 1.7em;
}
.subpage-image img{
	height: 240px;
}
.subpage-titlebox{
	width: 90%;
}
.subpage-title{
	padding: 4px 6px;
}
.subpage-title h2{
	font-size: 2.2rem;
	letter-spacing: 1.2px;
}
.subpage-breadbox{
	width: 100%;
	font-size: 1.2rem;
}
.breadcrumbs span{
	font-size: 1.2rem;
}

/* 
* inview アニメーション
*/

/* トップページ 紹介 */
.intro-animation-off{
	opacity: 1;
	transform: translateY(0);
}
.intro-animation-on{
	opacity: 1;
	transform: translateY(0);
	transition: all 1s ease 0.2s;
}
.intro-sp-left-off{
	opacity: 0;
	transform: translateX(-25px);
}
.intro-sp-left-on{
	opacity: 1;
	transform: translateX(0);
	transition: all 1s ease 0.2s;
}
.intro-sp-right-off{
	opacity: 0;
	transform: translateX(25px);
}
.intro-sp-right-on{
	opacity: 1;
	transform: translateX(0);
	transition: all 1s ease 0.2s;
}

/* トップページ Feature 強み */
.explan-left-off{
	opacity: 0;
	transform: translate(0, 25px);
}
.explan-left-on{
	opacity: 1;
	transform: translate(0, 0);
	transition: all 0.7s ease 0.2s;
}
.explan-right-off{
	opacity: 0;
	transform: translate(0, 25px);
}
.explan-right-on{
	opacity: 1;
	transform: translate(0, 0);
	transition: all 0.7s ease 0.2s;
}

/* 
* ヘッダー
*/

.header-title h1{
	font-size: 1.1rem;
}
.header-sp-recep p{
	font-size: 1.1rem;
}
.header-flex{
	padding-top: 0;
	padding-bottom: 0.4em;
}
.header-left{
	width: 55%;
}
.header-logo{
	margin-left: 0.3em;
	margin-right: 0.8em;
}
.header-logo img{
	height: 40px;
}
.header-right{
	width: 50%;
}
.header-sp-telbox{
	width: 100%;
}
.header-sp-telflex{
	justify-content: center;
	margin-right: 0;
}
.header-sp-telimage{
	width: 20%;
	margin-right: 0.4em;
}
.header-sp-telimage::before{
	width: 31px;
	height: 31px;
}
.header-sp-telimage img{
	height: 19px;
}
.header-sp-teltextbox{
	width: 80%;
}
.header-sp-telnumber{
	margin-bottom: 0.2em;
}
.header-sp-telnumber p{
	font-size: 1.4rem;
	letter-spacing: 0.8px;
}
.header-sp-teltext p{
	font-size: 0.75rem;
	letter-spacing: 0.5px;
}
.header-sp-mailwrapper{
	bottom: -72vh;
	right: 0;
}
.header-sp-mailwrapper-test{
	position: fixed;
	bottom: 90px;
	right: 0;
	overflow: hidden;
	z-index: 50;
}
.header-sp-mailbox{
	width: 40px;
	padding: 15px 0;
	border-radius: 6px 0 0 6px;
}
.header-sp-mailclose{
	margin-bottom: 1.3em;
}
.header-sp-mailclose::before{
	width: 18px;
	height: 18px;
}
.header-sp-mailclose p{
	font-size: 1rem;
}
.header-sp-mailtext p{
	font-size: 1.2rem;
	letter-spacing: 1.2px;
}
.header-sp-mailimage::before{
	width: 24px;
	height: 24px;
}
.header-sp-mailimage img{
	height: 13px;
}

/* 
* トップページ
*/

/* ヒーローイメージ */
.hero-wrapper{
	margin-top: 2.5em;
	margin-bottom: 3em;
	padding-bottom: 6em;
	background: linear-gradient(0deg, rgba(0,16,66,1) 65%, rgba(255,255,255,1) 35%);
}
.hero-block{
	width: 95%;
}
.hero-image img{
	height: 110vw;
}
.hero-catch h2{
	font-size: 2.1rem;
}
.hero-scrollbox{
	bottom: -6%;
}
.hero-arrow{
	width: 18px;
	height: 18px;
}
.hero-scroll p{
	font-size: 1.1rem;
}
.hero-copyright{
	position: absolute;
	bottom: -80px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align: center;
	z-index: 1;
}
.hero-copyright p{
	writing-mode: horizontal-tb;
	line-height: 1.4;
	font-size:0.9rem;
}

/* 紹介 */
.intro-wrapper{
	margin-bottom: 4em;
}
.intro-block{
	width: 100%;
	margin-top: 6em;
}
.intro-flex{
	position: relative;
	flex-direction: column;
}
.intro-left{
	position: relative;
	width: 88%;
	margin: 0 auto 0 0;
	padding: 15px 9px 15px 16px;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 2;
	overflow: hidden;
}
.intro-bigtext{
	margin-bottom: 1.8em;
}
.intro-bigtext h3{
	font-size: 1.9rem;
	line-height: 1.9;
	letter-spacing: 1.7px;	
}
.intro-text{
	margin-bottom: 1em;
}
.intro-textbox p{
	font-size: 1.3rem;
	line-height: 1.9;
	letter-spacing: 1.3px;
}
.intro-right{
	position: absolute;
	top: -5%;
	right: 0;
	width: 80%;
	z-index: 1;
	overflow: hidden;
}
.intro-image img{
	height: 500px;
}

/* お悩みはありませんか */
.worries-wrapper{
	margin-bottom: 3em;
	padding: 3em 0 4em 0;
}
.worries-block{
	width: 100%;
}
.worries-contents{
	width: 92%;
	margin: 0 auto 1.5em auto;
	padding: 50px 0;
}
.worries-contents-text{
	width: 85%;
	text-align: left;
}
.worries-contents-text p{
	font-size: 1.3rem;
	line-height: 2;
	letter-spacing: 1.5px;
}
.worries-text{
	width: 95%;
	margin: 0 auto;
	text-align: left;
}
.worries-text p{
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 1.6px;
}

/* Feature　強み */
.explan-wrapper{
	padding-top: 1.5em;
	padding-bottom: 5em;
	margin-bottom: 1.5em;
}
.explan-backimagebox{
	width: 60%;
}
.explan-backimage img{
	width: 100%;
	height: 170px;
	object-position: left;
}
.explan-block{
	width: 100%;
}
.explan-feature p{
	font-size: 1.6rem;
}
.explan-border{
	margin: 0 auto 1em auto;
}
.explan-title{
	width: 80%;
	margin: 0 auto 3em auto;
	text-align: left;
}
.explan-title h3{
	font-size: 1.4rem;
	line-height: 1.5;
}
.explan-item{
	width: 92%;
	flex-direction: column;
	margin: 0 auto 2.5em auto;
}
.explan-textbox{
	width: 100%;
	padding: 30px 6px 20px 35px;
	order: 2;
}
.explan-number{
	position: absolute;
	top: 10%;
}
.explan-number p{
	font-size: 4.5rem;
}
.explan-item .left{
	left: 5%;
}
.explan-item .right{
	left: 5%;
	right: auto;
}
.explan-text{
	width: 90%;
	margin: 0 auto;
}
.explan-text p{
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 1.3px;
}
.explan-imagebox{
	width: 100%;
	order: 1;
}
.explan-imagebox img{
	height: 190px;
}
.explan-backimagebox_2{
	position: absolute;
	bottom: -3%;
	right: 0%;
	width: 85%;
	margin: 0 0 0 auto;
}
.explan-backimage_2 img{
	width: 100%;
	height: 210px;
	margin: 0 0 0 auto;
	object-position: left;
}

/* お問い合わせ */
.contact-block{
	width: 100%;
}
.contact-title .title-subtext p{
	font-size: 1.7rem;
}
.contact-border{
	margin: 0 auto 1em auto;
}
.contact-toptext{
	width: 90%;
	margin: 0 auto 2em auto;
	text-align: left;
}
.contact-toptext p{
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 1.5px;
}
.contact-inputbox{
	width: 95%;
}
.contact-innerbox{
	width: 92%;
}
.contact-item{
	flex-direction: column;
}
.contact-name{
	width: 100%;
	margin-bottom: 0.5em;
	order: 2;
}
.contact-name p{
	font-size: 1.5rem;
}
.contact-need{
	width: 100%;
	margin-bottom: 0.3em;
	order: 1;
}
.contact-need p{
	padding: 6px 12px;
	font-size: 1.2rem;
}
.contact-input{
	width: 100%;
	order: 3;
}
.contact-input input,
.contact-input textarea{
	font-size: 1.6rem;
}
.wpcf7-not-valid-tip{
	margin-top: 0.8em;
}
.contact-text{
	width: 90%;
	margin: 0 auto 2em auto;
}
.contact-text p{
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 1.7px;
}
.contact-access{
	width: 90%;
	margin: 0 auto 2em auto;
	font-size: 1.4rem;
	text-align: left;
}
.wpcf7-list-item{
	margin-left: 0;
}
.wpcf7-list-item label{
	display: flex;
	justify-content: space-around;
}
.contact-access input{
	width: 19px;
	height: 19px;
	margin-right: 0.6em;
}
.contact-access span{
	line-height: 1.8;
}
.contact-submit{
	width: 70%;
}
.contact-submit input{
	width: 100%;
	padding: 30px 0;
	font-size: 1.5rem;
}

/* 
* フッダー
*/
.footer-wrapper{
	padding: 60px 0 120px 0;
}
.footer-block{
	width: 95%;
}
.footer-logo {
	margin-bottom: 0.6em;
}
.footer-logo img{
	width: 275px;
}
.footer-logo-2 img{
	width: 250px;
}
.footer-address p{
	font-size: 1.2rem;
	line-height: 1.6;
}
.footer-telimage{
	/* width: 20%; */
	text-align: right;
}
.footer-telimage::before{
	width: 28px;
	height: 28px;
}
.footer-telimage img{
	width: auto;
	height: 15px;
}
/* .footer-teltextbox{
	width: 55%;
	display: inline-block;
} */
.footer-telnumber p{
	font-size: 2rem;
}
.footer-teltext p{
	font-size: 1.1rem;
}

/* 
* プライバシーポリシー
*/
.privacy-wrapper{
	padding-bottom: 5em;
}
.privacy-block{
	width: 95%;
}
.privacy-title{
	margin-bottom: 3em;
}
.privacy-title .title-subtext p{
	font-size: 1.5rem;
}
.privacy-item{
	padding: 45px 0 35px 0;
}
.privacy-innerbox{
	width: 90%;
}
.privacy-toptext{
	margin-bottom: 2.5em;
	padding: 0 0.8em 2.5em 0.8em;
}
.privacy-toptext p{
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 1.4px;
}
.privacy-dlbox dl dt{
	margin-bottom: 0.3em;
	font-size: 1.9rem;
}
.privacy-dlbox dl dd{
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 1.4px;
}
.privacy-ddul ul li{
	position: relative;
	margin-bottom: 0.7em;
	padding-left: 30px;
	line-height: 1.6;
}
.privacy-ddul ul li span{
	position: absolute;
	top: 1px;
	left: 0;
}
.privacy-company p{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
}