@charset "utf-8";

img{
    max-width: 100%;
    height: auto;
}


body#office .main_img{
    background-image: url(/grantact/img/office/office_main.jpg);
    background-position: center;
}

.officeBlc{
    padding: 8rem 0;
}
.sec_shibuya,
.sec_ichigaya{
    padding: 16rem 0 8rem;
}

.sec_roppongi,
.sec_ichigaya{
    position: relative;
}
.sec_roppongi:after,
.sec_ichigaya:after{
    content: "";
    display: block;
    height: 5px;
    width: 40vw;
    max-width: 35rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #dbdbdb;
}
.sec_menu{
}

.sec_menu .txt{
    font-size: 1.8rem ;
    margin-bottom: 5rem;
}
.sec_menu .btn{
    width: 100%;
    margin: 0;
    background: #f7f7f7 url(/grantact/img/common/icon_pagelink.svg) right 1.5rem center / auto .6rem no-repeat;
    color: #6C4B6D;
    border: 1px solid #6c4b6d;
    box-shadow: 0px  3px 6px rgba(0,0,0,0.15);
    min-width: unset;
}
.sec_menu .menuList{
    flex-wrap: wrap;
    gap: 0 2rem;
}
.sec_menu .menuList > li{
    width: calc( (100% - 4rem) / 3 )
}

.officeBlc h3{
    font-size: 3.6rem;
    margin-bottom: 3rem;
    font-weight: 700;
    letter-spacing: .1em;
    border-left: 3px solid #ded4bd;
    padding: .5rem 0 .5rem 2rem;
    margin-bottom: 7rem;
}
.officeBlc h3 p{
    font-size: 50%;
    margin-top: 1rem;
    letter-spacing: 0;
}

.infoBlc,
.mapBlc{
    flex-wrap: wrap;
    gap: 3rem 5rem;
    margin-top: 5rem;
    font-size: 1.8rem;
}
.telBlc{
    flex-wrap: wrap;
    gap: 3rem 5rem;
}
.telBlc > *,
.infoBlc > *,
.mapBlc > *{
    width: calc((100% - 5rem) / 2);
}
.infoBlc h4,
.mapBlc h4{
    font-weight: 700;
    margin-bottom: .5rem;
}
.infoBlc > .right,
.mapBlc > .right{
    font-size: 1.6rem;
}
.infoBlc h4,
.mapBlc h4,
.infoBlc h5,
.mapBlc h5,
.infoBlc p,
.mapBlc p{
    font-size: inherit;
    line-height: 1.7;
}
.infoBlc .telBlc,
.infoBlc .close,
.mapBlc .contact{
    margin-top: 4rem;
}
.mapBlc iframe{
    width: 100%;
    height: 48rem;
}
.mapBlc .access{
    min-height: 20.5rem;
}
.mapBlc .access h5{
    font-weight: 500;
}
.mapBlc .access p + h5{
    margin-top: 2em;
}
.mapBlc .contact h4{
    margin-bottom: 1rem;
}
.mapBlc .contactBlc{
    align-items: center;
    gap: 1rem;
}
.mapBlc .contactBlc .num{
    font-size: 2.4rem;
}
.mapBlc .contactBlc .num a{
    margin-left: 0.8em;
}
.mapBlc .contactBtnBlc{
    flex-wrap: wrap;
    gap: 5rem 2rem;
}
.mapBlc .contactBtnBlc > *{
    width: calc((100% - 2rem) / 2);
}
.mapBlc .contactBtnBlc .btn{
    width: 100%;
    margin: 0;
    border: 1px solid #6c4b6d;
    box-shadow: 0px  3px 6px rgba(0,0,0,0.15);
    background: #6C4B6D url(/grantact/img/common/icon_link_white.svg) right 1.5rem center / auto 1.2rem no-repeat;
    min-width: unset;
}
.mapBlc .contactBtnBlc .btn.assessment{
    background: #f7f7f7 url(/grantact/img/common/icon_link.svg) right 1.5rem center / auto 1.2rem no-repeat;
    color: #6C4B6D;
}
.commentBlc{
    margin-top: 10rem;
}
.commentBlc .wrap{
    width: 100;
    display: grid;
    gap: 4rem;
    grid-template-rows: 1fr 10rem;
    grid-template-columns: 1fr 32rem;
}
.commentBlc .wrap .txt{
    grid-row: 1 / 2;
    grid-column: 1 / 2;
}
.commentBlc .wrap .name{
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    position: relative;
}
.commentBlc .wrap .img{
    grid-row: 1 / 3;
    grid-column: 2 / 3;
}
.commentBlc .wrap .txt p{
    font-size: 1.6rem;
    line-height: 1.8;
    word-break: break-all;
}
.commentBlc .wrap .name .box{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2.8rem;
}
.commentBlc .wrap .name .box .manager{
    font-size: 60%;
    margin-bottom: 1em;
}
.commentBlc .wrap .name .box .manager .space{
    display: inline-block;
    width: 1em;
}

.breadcrumb{
    background: #fff;
    border-bottom: 1px solid #dbdbdb;
}
@media screen and (max-width: 1366px){
    .mapBlc > *{
        width: 100%;
    }
    .mapBlc .access{
        min-height: unset;
    }
    .mapBlc .contactWrap{
        display: flex;
        flex-wrap: wrap;
        gap: 3rem;
    }
    .mapBlc .contactWrap > *{
        width: calc((100% - 3rem) /2);
    }
    .officeBlc h3{
        font-weight: 600;
    }
    .commentBlc .wrap{
        gap: 4rem;
        grid-template-rows: 1fr 25rem;
        grid-template-columns: 1fr 25rem;
    }
    .commentBlc .wrap .txt{
        grid-row: 1 / 2;
        grid-column: 1 / 3;
    }
    .commentBlc .wrap .name{
        grid-row: 2 / 3;
        grid-column: 1 / 2;
    }
    .commentBlc .wrap .img{
        grid-row: 2 / 3;
        grid-column: 2 / 3;
    }
    .commentBlc .wrap .img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top;
    }
}

@media screen and (max-width: 820px){
    body#office .main_img{
        background-image: url(/grantact/img/office/office_main_sp.jpg);
    }
    .contents{
        width:calc(100% - 60px);
    }
    .sec_menu .menuList{
        padding: 0;
    }
    .sec_menu .btn{
        font-size: 1.8rem;
        font-weight: 400 !important;
        letter-spacing: 0.05em;
        padding: 1.775rem;
    }
    .sec_menu.officeBlc{
        padding: 5rem 0 0;
    }
    .officeBlc{
        padding: 4rem 0;
    }
    .sec_shibuya,
    .sec_ichigaya{
        padding: 5rem 0 5rem;
    }
    .sec_menu .menuList > li{
        width: 100%;
    }
    .officeBlc h3{
        font-size: 2.8rem;
        margin-bottom: 4rem;
    }
    .officeBlc h3 p{
        font-size: 1.2rem;
    }
    .officeImg{
        position: relative;
        width: 100vw;
        left: -30px;
    }
    .telBlc > *,
    .infoBlc > *,
    .mapBlc .contactWrap > *,
    .mapBlc .contactBtnBlc > *{
        width: 100%;
    }
    .mapBlc .contactWrap{
        gap: 0 2rem;
    }
    .mapBlc .contactBtnBlc{
        gap: 2rem;
    }
    .commentBlc .wrap{
        gap: 4rem;
        grid-template-rows: 65vw auto auto;
        grid-template-columns: 1fr;
    }
    .commentBlc .wrap .txt{
        grid-row: 2 / 3;
        grid-column: 1 / 2;
    }
    .commentBlc .wrap .name{
        grid-row: 3 / 4;
        grid-column: 1 / 2;
    }
    .commentBlc .wrap .img{
        grid-row: 1 / 2;
        grid-column: 1 / 2;
    }
    .commentBlc .wrap .img img{
        width: 65vw;
        height: 100%;
        display:block;
        margin: 0 auto;
    }
    .sec_menu .txt{
        font-size: 1.6rem;
        margin-bottom: 7.5rem;
    }
    .infoBlc,
    .mapBlc,
    .infoBlc > .right,
    .mapBlc > .right,
    .commentBlc .wrap .txt p{
        font-size: 1.4rem;
    }
    .commentBlc .wrap .txt p{
        font-weight: 400 !important;
    }
    .infoBlc, .mapBlc{
        margin-top: 4rem;
    }
    .infoBlc .telBlc{
        margin-top: 3rem;
    }
    .sec_shibuya .mapBlc .contact{
        margin-top: 6rem;
    }
    .sec_roppongi .mapBlc .contact{
        margin-top: 3rem;
    }
    .sec_ichigaya .mapBlc .contact{
        margin-top: 8.5rem;
    }
    .sec_ichigaya .mapBlc .contact + .contact,
    .sec_roppongi .mapBlc .contact + .contact{
        margin-top: 6rem;
    }
    .sec_shibuya .mapBlc .contact + .contact{
        margin-top: 10rem;
    }
    .commentBlc .wrap .name .box{
        position: static;
        transform: unset;
    }
    .commentBlc .wrap .name .box .manager .space{
        width: .5em;
    }

    .mapBlc iframe{
        width: calc( 100vw - 60px );
        height: calc( 100vw - 60px );
    }
    .mapBlc .contactBtnBlc .btn{
        font-size: 1.8rem;
        padding: 1.775rem 2rem;
        background-position: right 2.5rem center !important;
        letter-spacing: .1em;
    }
    .sec_roppongi:after, .sec_ichigaya:after{
        width: 9.5rem;
    }

    .switch_img_wrap .thumb ul{
        gap: .4rem;
    }
    .switch_img_wrap .thumb ul > li{
        width: calc((100% - 1.6rem) / 5);
    }
    .switch_img_wrap .thumb ul li img{
        height: calc((100vw - 1.6rem) / 5);
    }
    .infoBlc h4, .infoBlc h5, .infoBlc .fax p,.infoBlc .tel p, .mapBlc .contact h4{
        font-size: 1.6rem;
    }
    .telBlc{
        margin-top: 2rem;
    }
    .telBlc,.infoBlc, .mapBlc{
        gap: 3rem;
    }
    .infoBlc h4, .mapBlc h4{
        margin: 0;
        line-height: 1.5;
    }
    .commentBlc{
        margin-top: 8rem;
    }
    .infoBlc .left{
        font-size: 1.6rem;
    }
    .mapBlc .contactBlc{
        gap: 2rem;
    }
    .mapBlc .contactBlc .img{
        width: 4.3rem;
    }
    .mapBlc .contactBlc .img img{
        width: 100%;
    }
    .mapBlc .contactBlc .num{
        font-size: 2.2rem;
    }
}

/* officeEntrance */
.officeEntrance {
	background: url(/grantact/img/top/salon_img01.jpg) 50% 50% no-repeat;
	background-size: cover;
	box-sizing: content-box;
	position: relative;
	padding-top: 45.83%;
	height: 0;
	width: 100%;
}
.officeEntrance p {
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	line-height: 2;
	position: absolute;
	top: 50%;
	left: 5%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-shadow: 2px 2px 2px rgba(0,0,0,.35);
	width: 90%;
}
@media screen and (max-width: 768px){
	.officeEntrance {
		background-position: 50% 0;
		background-size: 100% auto;
		height: auto;
	}
	.officeEntrance p {
		background: #000;
		font-size: 14px;
		line-height: 1.8;
		position: static;
		padding: 1em 10px;
		-webkit-transform: none;
		transform: none;
		width: auto;
	}
}

/* officeEntrance2 */
.officeEntrance2 {
	background: url(/grantact/img/top/salon2_img01.jpg) 50% 50% no-repeat;
	background-size: cover;
	box-sizing: content-box;
	position: relative;
	padding-top: 45.83%;
	height: 0;
	width: 100%;
}
.officeEntrance2 p {
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	line-height: 2;
	position: absolute;
	top: 50%;
	left: 5%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-shadow: text-shadow:1px 1px 3px rgba(0, 0, 0, 1);
	width: 90%;
}
.officeEntrance2 .borderingTxt {
  text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 1px 0 #000, 0 -1px 0 #000, -1px 0 0 #000, 1px 0 0 #000;
}

@media screen and (max-width: 768px){
	.officeEntrance2 {
		background-position: 50% 0;
		background-size: 100% auto;
		height: auto;
	}
	.officeEntrance2 p {
		background: #000;
		font-size: 14px;
		line-height: 1.8;
		position: static;
		padding: 1em 10px;
		-webkit-transform: none;
		transform: none;
		width: auto;
	}
	.officeEntrance2 .borderingTxt {
		text-shadow: none;
	}
}

/* officeEntrance3 */

.officeEntrance3 {
	background: url(/grantact/img/top/salon3_img01.jpg) 50% 50% no-repeat;
	background-size: cover;
	box-sizing: content-box;
	position: relative;
	padding-top: 45.83%;
	height: 0;
	width: 100%;
}
.officeEntrance3 p {
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	line-height: 2;
	position: absolute;
	top: 50%;
	left: 5%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-shadow: 2px 2px 2px rgba(0,0,0,.35);
	width: 90%;
}
@media screen and (max-width: 768px){
	.officeEntrance3 {
		background-position: 50% 0;
		background-size: 100% auto;
		height: auto;
	}
	.officeEntrance3 p {
		background: #000;
		font-size: 14px;
		line-height: 1.8;
		position: static;
		padding: 1em 10px;
		-webkit-transform: none;
		transform: none;
		width: auto;
	}
}




/* officeImages */
.officeImages {
	margin: 30px 0;
}
.officeImages:after {
	content: "";
	clear: left;
	display: block;
}
.officeImages li {
	float: left;
	margin: 2% 0 0 2%;
	width: 49%;
}
.officeImages li:nth-child(2n-1) {
	margin-left: 0;
	clear: left;
}
.officeImages figure {
	display: block;
	margin: 0;
	padding: 0;
	position: relative;
}
.officeImages figcaption {
	box-sizing: border-box;
	background: rgba(255,255,255,0.9);
	font-size: 14px;
	line-height: 2;
	padding: 5px 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.officeImages img {
	max-width: 100%;
}
@media screen and (max-width: 768px){
	.officeImages li {
		float: none;
		margin: 0 0 1em;
		width: auto;
	}
	.officeImages img {
		width: 100%;
	}
}

/* officePromise */
.officePromise {
	background: url(/grantact/img/top/member_img01.jpg) 50% 50% no-repeat;
	background-size: cover;
	color: #fff;
	overflow: hidden;
	padding-top: 62.5%;
	position: relative;
	text-align: center;
	height: 0;
	width: 100%;
}
.officePromise .inbox {
	position: absolute;
	bottom: 10%;
	left: 0;
	width: 100%;
}
.officePromise .heading {
	font-size: 24px;
	line-height: 1.8;
	margin-bottom: 1em;
}
.officePromise p {
	font-size: 14px;
	line-height: 1.8;
}
@media screen and (max-width: 768px){
	.officePromise {
		background-size: 100% auto;
		background-position: 0 0;
		color: inherit;
		height: auto;
		text-align: left;
	}
	.officePromise .inbox {
		padding: 1em 10px;
		position: static;
		width: auto;
	}
	.officePromise .heading {
		font-size: 16px;
	}
}


/* officePromise2 */
.officePromise2 {
	background: url(/grantact/img/top/member_img02.jpg) 50% 50% no-repeat;
	background-size: cover;
	color: #fff;
	overflow: hidden;
	padding-top: 62.5%;
	position: relative;
	text-align: center;
	height: 0;
	width: 100%;
}
.officePromise2 .inbox {
	position: absolute;
	bottom: 10%;
	left: 0;
	width: 100%;
}
.officePromise2 .heading {
	font-size: 24px;
	line-height: 1.8;
	margin-bottom: 1em;
}
.officePromise2 p {
	font-size: 14px;
	line-height: 1.8;
}

/* officePromise3 */
.officePromise3{
	background: url(/grantact/img/top/member_img03.jpg) 50% 50% no-repeat;
	background-size: cover;
	color: #fff;
	overflow: hidden;
	padding-top: 62.5%;
	position: relative;
	text-align: center;
	height: 0;
	width: 100%;
}
.officePromise3 .inbox {
	position: absolute;
	bottom: 10%;
	left: 0;
	width: 100%;
}
.officePromise3 .heading {
	font-size: 24px;
	line-height: 1.8;
	margin-bottom: 1em;
}
.officePromise3 p {
	font-size: 14px;
	line-height: 1.8;
}

@media screen and (max-width: 768px){
	.officePromise2 {
		background-size: 100% auto;
		background-position: 0 0;
		color: inherit;
		height: auto;
		text-align: left;
	}
	.officePromise2 .inbox {
		padding: 1em 10px;
		position: static;
		width: auto;
	}
	.officePromise2 .heading {
		font-size: 16px;
	}
	
	.officePromise3 {
		background-size: 100% auto;
		background-position: 0 0;
		color: inherit;
		height: auto;
		text-align: left;
	}
	.officePromise3 .inbox {
		padding: 1em 10px;
		position: static;
		width: auto;
	}
	.officePromise3 .heading {
		font-size: 16px;
	}
}

/* officeManager */
.officeManager {
	margin: 2% 0 0;
}
.officeManager:after {
	content: "";
	clear: both;
	display: block;
}
.officeManager li {
	float: left;
	margin: 0 0 0 2%;
	width: 49%;
}
.officeManager li:nth-child(2n-1) {
	clear: both;
	margin-left: 0;
}
.officeManager figure {
	display: block;
	margin: 0 3% 0 0;
	float: left;
	width: 37%;
}
.officeManager figure img {
	height: auto;
	margin-bottom: .5em;
	max-width: 100%;
}
.officeManager figcaption b {
	display: block;
	font-size: 18px;
}
.officeManager p {
	font-size: 14px;
	float: left;
	line-height: 2em;
	width: 60%;
}
.officeManager li:first-child:last-child {
	width: auto;
}
.officeManager li:first-child:last-child p {
	width: 80.44%;
}
.officeManager li:first-child:last-child figure {
	margin: 0 1.48% 0 0;
	width: 18.08%;
}
@media screen and (max-width: 768px){
	.officeManager li {
		border-top: 1px solid #b8b8b8;
		float: none;
		margin: 40px 0 0;
		padding-top: 40px;
		width: auto;
	}
	.officeManager figure,
	.officeManager li:first-child:last-child figure {
		float: none;
		margin: 0;
		text-align: center;
		width: auto;
	}
	.officeManager figure img {
		margin-bottom: 1em;
		max-width: 50%;
	}
	.officeManager p,
	.officeManager li:first-child:last-child p {
		float: none;
		margin: 1em 10px;
		line-height: 1.8;
		width: auto;
	}
}

/* officeMap */
.officeMap {
	position: relative;
	padding-right: 22%;
}
.officeMap:after {
	content: "";
	clear: both;
	display: block;
}
.officeMap .address {
	font-size: 14px;
	float: right;
	width: 49%;
}
.officeMap .addressLogo {
	width: 250px;
}
.officeMap .addressHead1 {
	font-size: 14px;
	font-weight: bold;
	margin: 30px 0 15px;
}
.officeMap .addressDesc1 {
	color: #7c4670;
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: .5em;
	overflow: hidden;
}
@media all and (-ms-high-contrast: none) {
  /* IE用*/
  .officeMap .addressDesc1 {
		color: #7c4670;
		font-size: 26px;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 0;
		overflow: hidden;
	}
}
.officeMap .addressDesc1 dt img {
	height: 1em;
	vertical-align: middle;
	margin-right: .25em;
	width: auto;
	-ms-interpolation-mode: bicubic;
}
.officeMap .addressDesc1 dt,
.officeMap .addressDesc1 dd {
	float: left;
}
.officeMap .addressDesc1 dt {
	width: 125px;
}
.officeMap .addressDesc1 dt.EN {
	width: 155px;
}
.officeMap .addressDesc1 dt:after {
	content: "|";
	margin: 0 .25em;
}
.officeMap .addressDesc2 {
	overflow: hidden;
	line-height: 1.8;
}
.officeMap .addressDesc2 dt {
	float: left;
}
.officeMap .addressDesc2 dd:before {
	content: "｜";
}
.officeMap .addressDesc2 dd.addressDescTel {
	margin-left: 1.7em;
}
.officeMap .address > section {
	margin-bottom: 40px;
}
.officeMap .address > section:last-child {
	margin-bottom: 0;
}
.officeMap .btnBlock,
.officeMap .btnBlock .btn {
	font-size: 12px;
}
.officeMap .btnBlock .btn {
	min-width: 15em;
	width: auto;
}
.officeMap .btnBlock .btn.map_btn_size {
	min-width: 13em;
}
.officeMap .address .btnBlock {
	margin: 0;
	text-align: left;
}
.officeMap .address .btnBlock .btn {
	text-align: center;
}
.officeMap .address .btnBlock .btn:first-child {
	margin-left: 0;
}
.officeMap .map {
	float: left;
	width: 48%;
}
.officeMap .map .btnBlock {
	margin: 2em 0 0;
}
.officeMap .mapImage {
	max-width: 100%;
}
.officeMap .officeView {
	position: absolute;
	top: 0;
	right: 0;
	width: 22%;
}
.officeMap .officeView img{
	width: 100%;
}
/* access */
.accessHead {
	color: #b5b5b6;
	font-size: 18px;
	margin: 30px 0 15px;
}
.accessList {
	line-height: 1.8;
}
.accessList span[class^="icon-"]{
	float: left;
	font-size: 16px;
	margin-top: .2em;
}
.accessList span[class^="icon-"] ~ p {
	margin-left: 24px;
}
@media screen and (max-width: 768px){
	.officeMap {
		padding: 0 10px;
	}
	.officeMap .address,
	.officeMap .map {
		float: none;
		width: auto;
	}
	.officeMap .officeView {
		margin: 1em 0;
		position: static;
		width: 100%;
	}
	.officeMap .map {
		margin-bottom: 2em;
	}
	.officeMap .map .btnBlock,
	.officeMap .map .btn {
		font-size: 14px;
	}
	.officeMap .map .btnBlock,
	.officeMap .address .btnBlock {
		margin-top: 1em;
		text-align: center;
	}
	.officeMap .map .btn,
	.officeMap .address .btnBlock .btn {
		font-size: 14px;
		margin: .5em 0;
		padding: .75em 1em;
		width: 100%;
	}
	.officeMap .addressLogo {
		width: 160px;
	}
}




