@charset "utf-8";

/*-------------------------------
	Page link
-------------------------------*/

.Pagelink {
	padding-top:5rem;
	padding-bottom:0;
}

/*-------------------------------
	Greeting
-------------------------------*/

.Greeting_txt {
	width:46.8%;
	max-width:49rem;
}

.Greeting_img {
	width:48.2%;
	max-width:53rem;
	top:16rem;
	border-bottom-left-radius: 4rem;
    overflow: hidden;
}

.Greeting_txt .maru_title {
	margin-bottom:7.4rem;
}

.Greeting_txt .maru_title span {
	color:#B0BAC4;
}

.Greeting_txt .maru_title span::before {
	background:#B0BAC4;
}

.Greeting_message {
	font-size:2.4rem;
	font-weight:600;
	font-family: var(--mincho);
	line-height:2;
	margin-bottom:8rem;
}

.Greeting_comment p {
	text-indent: 1em;
}

.Greeting .affe_bottom {
	margin-top:7rem;
}

.Greeting_name {
	width:46.8%;
	max-width:49rem;
}

.Greeting_name figure {
	width:80%;
	max-width:35.3rem;
	margin-left:auto;
}

.Greeting_name figure img {
	object-fit: contain;
	width:100%;
	height:100%;
}

.Greeting_bottom {
	width:48.2%;
	max-width:53rem;
	display: flex;
	justify-content: flex-end;
}

.Greeting_bottom h3 {
	font-size:3.5rem;
	font-weight:600;
	font-family: var(--mincho);
	line-height:1.5;
}

/*-------------------------------
	Philosophy
-------------------------------*/

.Philosophy {
	background:#ECF2F7;
	border-top-right-radius: 3rem;
}

.Philosophy .maru_title {
	margin-bottom:14.5rem;
}

.phi_img {
	width:46.8%;
	max-width:43.2rem;
	margin-top:10.4rem;
}

.phi_txt {
	width:48.2%;
	max-width:47.5rem;
}

.phi_txt .phi_txt_child:not(:last-of-type) {
	margin-bottom:11rem;
}

.phi_txt h4 {
	font-size:2rem;
	font-weight:700;
	line-height:1.9;
	margin:1.5em 0;
}

/*-------------------------------
	policy
-------------------------------*/

.Phi_policy {
	padding:15rem 0;
	margin-bottom:21rem;
	border-bottom:.1rem solid #343638;
}

.Phi_policy .bar_title {
	display: flex;
	align-items: center;
	margin-bottom:6rem;
}

.Phi_policy .bar_title::before {
	order:1;
	margin-left:4.5rem;
	font-size:1.6rem;
}

.policy_list {
	max-width:99rem;
	margin:0 auto;
}

.policy_block {
	width:31%;
	max-width:25rem;
	margin-bottom:4rem;
}

.policy_block h4 {
	width:19.4rem;
	height:19.4rem;
	line-height:17.8rem;
	background:#fff;
	border:0.8rem solid #6DB6E5;
	border-radius:50%;
	text-align: center;
	color:var(--maincolor);
	font-size:2.8rem;
	font-family:var(--mincho);
	margin:0 auto 2rem;
}

.policy_block04 {
	margin-top:2.5rem;
	position:relative;
}

.policy_img {
	width:69%;
	padding-left:24.74%;
	position:relative;
}

.policy_img::before {
	content:"";
	display: block;
	width:100%;
	max-width:25.6rem;
	height:8.8rem;
	background:url(../images/company/border_policy_img.svg) no-repeat center top / contain;
	position:absolute;
	left: -5.5rem;
    top: 12.5rem;
}

.policy_img figure {
	width:100%;
	max-width:42.1rem;
	margin-left:auto;
}

.policy_img figure img {
	width:100%;
	height:100%;
	object-fit: contain;
}

.Phi_bottom {
	position:relative;
}

.Phi_bottom::after {
	content:"";
	width:0.2rem;
	height:100%;
	border-left:.2rem dotted var(--maincolor);
	position:absolute;
	left:50%;
	top:0;
	transform:translateX(-50%);
}

.Phi_copy,
.Phi_chara {
	width:45%;
	max-width:47.5rem;
}

.Phi_copy .maru_title,
.Phi_chara .maru_title {
	margin-bottom:6.2rem;
}

.copy_white {
	margin:6.2rem 0 4.8rem;
	background:#fff;
	padding:6rem 3rem 5.4rem;
}

.copy_white p {
	text-align: center;
}

.copy_white p,
.copy_white p span {
	font-size:2.4rem;
	font-weight:700;
	font-family: var(--mincho);
	line-height:2;
}

.copy_white p span {
	color:var(--maincolor);
}

.copy_bottom p {
	font-size:2rem;
	font-weight:500;
	text-align: center;
}

.copy_bottom p span {
	color:var(--maincolor);
	font-size:3rem;
	font-weight:700;
}

.chara_img{
	background: #fff;
    padding-block: 8rem 12rem;
}
.chara_img figure {
	width:100%;
	max-width:26.1rem;
	margin: 0 auto;
	position:relative;
}
.chara_img figure img{ 
    transform: translateX(8%);
}
.chara_img figcaption {
	font-size:2.4rem;
	font-weight:700;
	text-align: center;
	color:var(--maincolor);
	line-height:1.25;
	position:absolute;
	/*right:-4.5rem;
	bottom:0;*/
	bottom: -7rem;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.chara_img figcaption span {
	font-size:1.8rem;
	font-weight:700;
	display: block;
	color:var(--maincolor);
	line-height:1.25;
}

/*-------------------------------
	Profile
-------------------------------*/

.Profile_block._CP .dl_wrap {
	margin-top:3.4rem;
}
.Profile_block._CP .dl_list dt{
    width: 22rem;
}
.Profile_block._CP .dl_list dd {
    width: calc(100% - 22rem);
}
.Profile_block._CP .dl_list dt,
.Profile_block._CP .dl_list dd{
	font-size: 1.9rem;
}
.Profile .dl_list .no_list li::before {
	content:counter(item) ")";
}

.trademark {
	width:16rem;
	margin:1rem 4rem 0 0;
}

.trademark_img {
	width:100%;
	height:16rem;
	margin:0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.trademark_img img {
	width:12.2rem;
	height:100%;
	object-fit: contain;
}

.trademark_img h4 {
	font-size:1.7rem;
	font-weight:700;
	text-align:center;
	white-space: nowrap;
}

.trademark_txt {
	background:#F0F4F7;
	padding:1rem;
	margin-top:1rem;
}

.trademark_txt p {
	line-height:1.5;
	font-size:1.4rem;
	text-align: center;
	font-weight:500;
	color:var(--maincolor);
}

/*-------------------------------
	Profile block
-------------------------------*/

.Profile_block {
	margin-bottom:20rem;
}

.GOC_wrap {
	border:.1rem solid #707070;
	padding:6.4rem 5.5rem;
	margin-top:4rem;
}

.update_time {
	display:block;
	text-align:right;
	font-size:1.4rem;
	margin-top:0.5em;
}

.Profile_wrap {
	position:relative;
	justify-content: space-between;
}

.Profile_wrap::after {
	content:"";
	width:0.2rem;
	height:100%;
	border-left:.2rem dotted var(--maincolor);
	position:absolute;
	left:50%;
	top:0;
	transform:translateX(-50%);
}

.Profile_block._OC,
.Profile_block._NENQP {
	width:45%;
	max-width:47.5rem;
	margin-bottom:0;
}

.Profile_block._OC {
	display: flex;
	flex-direction: column;
	padding-bottom:3.85rem;
}

.OC_wrap {
	margin-top:5rem;
	border:.1rem solid #707070;
	padding:1rem;
	flex-grow: 1;
	display: flex;
	align-items: center;
}

.Profile_block._NENQP .dl_wrap {
	margin-top:3rem;
}

.Profile_block._NENQP .dl_list dt {
	width:48.5%;
	padding:2rem 1rem 2rem 2rem;
}

.Profile_block._NENQP .dl_list dd {
	width:51.5%;
	padding:2rem 1rem 2rem 1.4rem;
}

.Profile_block._ISO {
	margin-top:20rem;
}

.ISO_wrap {
	background:#F4F4F4;
	margin-top:3rem;
	padding:6rem 5.5rem 6.8rem; 
}

.ISO_txt {
	width:42.4%;
	max-width:40rem;
}

.ISO_img {
	width:52.6%;
	max-width:51.5rem;
}

.ISO_img figure {
	width:46.7%;
}

/*-------------------------------
	Works-banner
-------------------------------*/

.Works-banner{
	width: 100%;
	overflow: hidden;
	position: relative;
	/* background-image: url(../images/company/bg_works-banner.jpg);
	background-image: image-set(url(../images/company/bg_works-banner.jpg) 1x, url(../images/company/bg_works-banner@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat; */
}
.Works-banner a{
	border: 1px solid var(--maincolor);
	width: 100%;
	border-bottom-left-radius: 3rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
}
.Works-banner a::before{
	transition: var(--transition);
	content: "";
	display: block;
	width: 3.4rem;
	height: 3.5rem;
	background-image: url(../images/common/icon_arrow-white-naked.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	right: 2rem;
	bottom: 1.5rem;
}
.Works-banner img{
	width: 100%;
}
.Works-banner a:hover::before{
	transform: translateX(.5rem);
}


/*-------------------------------
	Point banner
-------------------------------*/

.Point-banner{
	width: 100%;
	margin-top: 10.7rem;
	overflow: hidden;
}
.Point-banner a{
	border: 1px solid var(--maincolor);
	width: 100%;
	border-bottom-left-radius: 3rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
}
.Point-banner a::before{
	transition: var(--transition);
	content: "";
	display: block;
	width: 3.4rem;
	height: 3.5rem;
	background-image: url(../images/common/icon_arrow-blue-naked.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	right: 2rem;
	bottom: 1.5rem;
}
.Point-banner img{
	width: 100%;
}
.Point-banner a:hover::before{
	transform: translateX(.5rem);
}

/*-------------------------------
	Introduction
-------------------------------*/

.Introduction {
	background:#ECF2F7;
	border-radius:3rem 3rem 0 0;
}

.Intro_wrap:not(:last-of-type) {
	margin-bottom:20rem;
}

.Intro_block {
	margin-bottom:8rem;
}

.Intro_shoji {
	margin-bottom:20rem;
}

.Intro_wrap .Intro_block:last-of-type {
	margin-bottom:0;
}

.Intro_wrap .h_title {
	margin-bottom:8rem;
}

.Intro_block {
	justify-content: space-between;
}

.Intro_txt {
	width:48.2%;
	max-width:53rem;
}

.Intro_img {
	width:46.8%;
	max-width:47.5rem;
	border-radius:1rem;
	overflow:hidden;
}

.Intro_img figure {
	width:100%;
	height:100%;
}

.Intro_img figure img {
	object-fit: cover;
	width:100%;
	height:100%;
}

.Intro_txt h3 {
	font-size:2rem;
	line-height:2;
	font-weight:700;
	margin-bottom:0.5em;
}

.Intro_txt address,
.Intro_txt address span,
.Intro_txt p,
.Intro_txt p span {
	font-size:1.4rem;
	line-height:2;
}

.Intro_txt address span {
	display: inline-block;
	padding-right:1em;
}

.Intro_txt p span {
	display: inline-block;
	padding-right:2em;
}

.Intro_map {
	margin-top:4rem;
	width:100%;
	height:25rem;
	border:.1rem solid var(--maincolor);
	overflow: hidden;
}

.Intro_map iframe {
	width:calc(100% + 50rem);
	height:calc(100% + 50rem);
	transform: translate(-25rem,-25rem);
}

.Intro_block .C-Button {
	margin:5.2rem auto 0;
}

/*-------------------------------
	responsive
-------------------------------*/

@media screen and (max-width:960px){

.Greeting_bottom h3 {
	font-size:3rem;
}

.GOC_wrap {
	padding:4.4rem 3.5rem;
}

.Phi_copy,
.Phi_chara,
.Profile_block._OC,
.Profile_block._NENQP {
	width:100%;
	max-width:100%;
}

.Phi_copy,
.Profile_block._OC {
	margin-bottom:15rem;
}

.Phi_bottom::after,
.Profile_wrap::after {
	display: none;
}

.ISO_txt,
.ISO_img {
	width:100%;
	max-width:100%;
}

.ISO_txt {
	margin-bottom:4rem;
}

.trademark {
	margin-right:2rem;
}

} /* end 960px */

/*-------------------------------
	ver sp
-------------------------------*/

@media screen and (max-width:768px){

/*-------------------------------
	Page link
-------------------------------*/

.Pagelink {
	padding-top:0rem;
}

/*-------------------------------
	Greeting
-------------------------------*/

.Greeting_txt {
	width:100%;
	max-width:100%;
}

.Greeting_img {
	width:100%;
	max-width:100%;
	top:auto;
	margin-bottom:8rem;
}

.Greeting_txt .maru_title {
	margin-bottom:11rem;
}

.Greeting_message {
	font-size:3.2rem;
	margin-bottom:11rem;
	text-align: center;
}

.Greeting .affe_bottom {
	margin-top:9rem;
}

.Greeting_name {
	width:100%;
	max-width:100%;
}

.Greeting_name figure {
	width:100%;
	max-width:49.42rem;
	margin-left:auto;
	margin-bottom:11rem;
}

.Greeting_bottom {
	width:100%;
	max-width:100%;
	display: block;
}

.Greeting_bottom h3 {
	font-size:4.8rem;
	text-align: center;
}

/*-------------------------------
	Philosophy
-------------------------------*/

.Philosophy .maru_title {
	margin-bottom:14.5rem;
}

.phi_img {
	width:100%;
	max-width:100%;
	margin-top:9.8rem;
	margin-bottom:9.8rem;
}

.phi_img figure img {
	width:100%;
	height:100%;
	object-fit: contain;
}

.phi_txt {
	width:100%;
	max-width:100%;
}

.phi_txt .phi_txt_child:not(:last-of-type) {
	margin-bottom:12rem;
}

.phi_txt h4 {
	font-size:3rem;
}

/*-------------------------------
	policy
-------------------------------*/

.Phi_policy {
	margin-bottom:15rem;
}

.Phi_policy .bar_title {
	margin-bottom:8.4rem;
}

.Phi_policy .bar_title::before {
	margin-left:6.3rem;
	font-size:2.8rem;
}

.policy_list {
	max-width:100%;
}

.policy_block {
	width:100%;
	max-width:100%;
	margin-bottom:8rem;
	display:flex;
	align-items: flex-start;
}

.policy_block h4 {
	width:20.2rem;
	height:20.2rem;
	line-height:18.2rem;
	border:1rem solid #6DB6E5;
	font-size:3.8rem;
	margin:0;
}

.policy_block p {
	width:calc(100% - 20.2rem);
	padding-left:1em;
	margin-top:1em;
}

.policy_block04 {
	margin-top:0;
	margin-bottom:0;
}

.policy_img {
	width:100%;
	padding-left:0;
	position:relative;
	order:-1;
	margin-bottom:8.4rem;
}

.policy_img::before {
	display: none;
}

.policy_img figure {
	width:100%;
	max-width:100%;
	margin-left:auto;
}

.Phi_copy,
.Phi_chara {
	width:100%;
	max-width:100%;
}

.Phi_copy .maru_title,
.Phi_chara .maru_title {
	margin-bottom:8.4rem;
}

.copy_white {
	margin:0 0 6.4rem;
	padding:6rem 3rem 7rem;
}

.copy_white p,
.copy_white p span {
	font-size:3.8rem;
}

.copy_bottom p {
	font-size:2.8rem;
}

.copy_bottom p span {
	font-size:4.2rem;
}
.chara_img {
    padding-block: 8rem 16rem;
}
.chara_img figure {
	width:100%;
	max-width:36.5rem;
}

.chara_img figcaption {
	font-size:3.8rem;
	/*	right:-7.4rem;*/
	bottom: -9rem;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.chara_img figcaption span {
	font-size:2.8rem;
}

/*-------------------------------
	Profile
-------------------------------*/

.Profile_block._CP .dl_wrap {
	margin-top:4.8rem;
}
.Profile_block._CP .dl_list dt,
.Profile_block._CP .dl_list dd {
    width: 100%;
}
.Profile_block._CP .dl_list dt,
.Profile_block._CP .dl_list dd{
	font-size: 2.8rem;
}

.Profile_block._CP .dl_list dd address:not(:last-of-type) {
	margin-bottom:1em;
}

.trademark_list{
	justify-content: space-between;
}

.trademark {
	width:48.2%;
	margin:3rem 0 0 ;
}

.trademark_img {
	width:100%;
	height:22.4rem;
}

.trademark_img img {
	width:17rem;
	height:100%;
	object-fit: contain;
}

.trademark_img h4 {
	font-size:2.8rem;
}

.trademark_txt {
	padding:2rem 1rem;
	margin-top:4rem;
}

.trademark_txt p {
	font-size:2.4rem;
}

/*-------------------------------
	Profile block
-------------------------------*/

.GOC_wrap {
	padding:7rem 6rem;
	margin-top:6rem;
	overflow:auto;
	border-width:0.2rem;
}

.GOC_wrap figure {
	min-width:99rem;
}

.update_time {
	font-size:2.4rem;
}

.Profile_wrap::after {
	display: none;
}

.Profile_block._OC,
.Profile_block._NENQP {
	width:100%;
	max-width:100%;
	margin-bottom:0;
}

.Profile_block._OC {
	display: block;
	padding-bottom:0rem;
	margin-bottom:8.4rem;
}

.OC_wrap {
	margin-top:5rem;
	border-width:0.2rem;
	padding:2rem;
}

.Profile_block._NENQP .dl_wrap {
	margin-top:6rem;
}

.Profile_block._NENQP .dl_list dt {
	width:54%;
	padding:3rem 1rem 3rem 2rem;
}

.Profile_block._NENQP .dl_list dd {
	width:46%;
	padding:3rem 1rem 3rem 2rem;
}

.ISO_wrap {
	margin-top:6rem;
	padding:7rem 6rem; 
}

.ISO_txt {
	width:100%;
	max-width:100%;
}

.ISO_img {
	width:100%;
	max-width:100%;
}

.ISO_img figure {
	width:100%;
}

.ISO_img figure:not(:last-of-type) {
	margin-bottom:4rem;
}

.ISO_img figure img {
	width:100%;
	height:100%;
	object-fit: contain;
}

/*-------------------------------
	Works-banner
-------------------------------*/

.Works-banner a::before{
	display: none;
}
.Works-banner__button {
	position: absolute;
	left: 0;
	bottom: 6.5rem;
	right: 0;
}


/*-------------------------------
	Point banner
-------------------------------*/

.Point-banner{
	margin-top: 3.6rem;
}
.Point-banner a{
	border-color: #707070;
}
.Point-banner a::before{
	display: none;
}
.Point-banner__button {
	position: absolute;
	left: 0;
	bottom: 6.5rem;
	right: 0;
}

/*-------------------------------
	Introduction
-------------------------------*/

.Intro_block {
	margin-bottom:15rem;
}

.Intro_wrap .h_title {
	margin-bottom:11rem;
}

.Intro_txt {
	width:100%;
	max-width:100%;
}

.Intro_img {
	width:100%;
	max-width:100%;
}

.Intro_img figure {
	width:100%;
	height:100%;
}

.Intro_txt h3 {
	font-size:3.2rem;
}

.Intro_txt address,
.Intro_txt address span,
.Intro_txt p,
.Intro_txt p span {
	font-size:2.4rem;
}

.Intro_txt address span {
	display:block;
	padding-right:0;
}

.Intro_txt p span {
	display: block;
	padding-right:0;
}

.Intro_map {
	margin:4rem 0 6rem;
	width:100%;
	height:40rem;
	border:.2rem solid var(--maincolor);
}

.Intro_block .C-Button {
	margin:6.4rem auto 0;
}

.Intro_miyuki_sub_lease .h_title span {
	font-size:3.3rem;
	letter-spacing: 0;
}



} /* end 768px */