@charset "utf-8";

/*
************************************************************************
* アクセス
* @copyright Revolme Inc.
************************************************************************
*/

/*
************************************************************************
* アクセス
************************************************************************
*/

.block-col-2
{
    width: 50%;
    float: left;
    padding-right: 50px;
    box-sizing: border-box;
}
.block-image {
    max-width: 560px;
    width: 50%;
    float: right;
}
.block-col-2  hr
{
    margin-top: 28px;
    margin-bottom: 28px;
}
.access-tx
{
    padding-right: 35px;
    font-size: 1.4rem;
    line-height: 1.8;
}


.access .image
{
    width:50%;
    float: left;
}
.image img
{
     border-radius: 0.5em;
}

.access-image
{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;

    margin-left:-0.5em;
    margin-right: -0.5em;
}
.access-image > .image
{
    width:calc(50% - 1em);
    margin: 1em 0.5em;
}

.studio-list
{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;

    margin-left:-1em;
    margin-right: -1em;

    font-size: 1.2rem;
    line-height: 1.5;
}
.studio-list > .studio-list-item
{
    width:calc(25% - 2em);
    margin:1em;
}
.studio-list .studio-name
{
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 15px;
}
.studio-list .address,
.studio-list .station
{
    margin-bottom: 15px;
}
.studio-link > .button > span
{
    padding: 0.2em 1em 0.3em 1em;
}
.studio-link > .button > span.ext-link:after
{
    width: 14px;
    height: 18px;
    background-image: url(../../../_img/icon/ext-link-b.svg);
    content: "";
    display: inline-block;

    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 0.5em;
    vertical-align: -4px;
}
.studio-link > .button > span.ext-link:hover:after
{
    background-image: url(../../../_img/icon/ext-link-w.svg);
}
#map
{
	height:500px;
}
.map-button
{
	position:absolute;
	bottom:1.5em;
	left:calc(0.0em + 50px);
}
.map iframe {
	width: 100%;
	height: 450px;
}
/* == ブレークポイント ==========================================================*/
@media screen and (max-width: 1100px) {
}
/* == スマートフォンサイズ ======================================================*/
@media screen and (max-width: 767px) {
    .block-col-2
    {
        width: 100%;
        float: none;
        padding-right: 0px;
        margin-bottom: 6.67vw;
    }
    .block-image {
        max-width: 767px;
        width: 100%;
    }
    .block-col-2  hr
    {
        margin-top: 2.67vw;
        margin-bottom: 2.67vw;
    }
    .access-tx
    {
        padding-right: 0px;
        font-size: 2.4rem;
        line-height: 1.5;
    }
    .access .image
    {

    }
    .image img
    {

    }
    .access-image
    {
    }
    .access-image > .image
    {

    }
    .studio-list
    {
        margin-left:-1em;
        margin-right: -1em;

        font-size: 2.2rem;
    }
    .studio-list > .studio-list-item
    {
        width:calc(50% - 2em);
        margin:1em;
    }
    .studio-list .studio-name
    {
        font-size: 2.6rem;
        line-height: 1.38;
        margin-top: 2.67vw;
        margin-bottom: 2.67vw;
    }
    .studio-list .address,
    .studio-list .station
    {
        margin-bottom: 15px;
    }
    .studio-link > .button > span
    {
        font-size: 2.2rem;
        padding: 0.1em 1em 0.5em 1em;
    }
    .studio-link > .button > span.ext-link:after
    {
        width: 1.2em;
        height: 1.4em;

        margin-left: 0.5em;
        margin-top: 0.2em;
        vertical-align: sub;
    }
    .studio-link > .button > span.ext-link:hover:after
    {
    }
	#map
	{
		height:50vh;
	}
	.map-button
	{
		position:absolute;
		bottom:1.5em;
		left:calc(0.0em + 4vw);
	}
}


/*
************************************************************************
* モーダル
************************************************************************
*/
iframe.modal,
div.modal
{
	position:absolute;

	top:calc(50% + 5em);
	left:50%;

	transform:translate(-50%, -50%);

	width:800px;
	height:calc(80vh - 5em);

	border-radius:0em;
	border:1px solid #FFFFFF;
	background-color:#FFFFFF;
}
button.btnModalClose
{
	position:absolute;

	top:calc(50% - 40vh + 2.5em);
	left:calc(50% + 400px - 4em);

	border-radius:4em;

	width:4em;
	height:4em;

    border:1px solid rgba(0,0,0,0.6);
    background-color:rgba(0,0,0,0.6);
}
button.btnModalClose:before,
button.btnModalClose:after
{
	content:"";
	display:block;
	position:absolute;

	top:50%;
	left:20%;

	width:2.5em;
	height:2px;

	background-color:#FFFFFF;
}
button.btnModalClose:before
{
	transform:rotate(45deg);
}
button.btnModalClose:after
{
	transform:rotate(-45deg);
}

/* == スマートフォンサイズ ======================================================*/
@media screen and (max-width: 767px) {
	iframe.modal,
	div.modal
	{
		position:absolute;

		top:15vw;
		bottom:0;
		left:0;
		right:0;

		transform:translate(0%, 0%);

		width:100%;
		height:calc(100% - 15vw);

		border-radius:0em;
		border:1px solid #FFFFFF;
		background-color:#FFFFFF;
	}
	button.btnModalClose
	{
		position:absolute;

		top:2.5vw;
		left:auto;
		right:2.5vw;

		border-radius:10vw;

		width:10vw;
		height:10vw;

	    border:1px solid rgba(0,0,0,0.6);
	    background-color:rgba(0,0,0,0.6);
	}
	button.btnModalClose:before,
	button.btnModalClose:after
	{
		content:"";
		display:block;
		position:absolute;

		top:50%;
		left:20%;

		width:6vw;
		height:2px;

		background-color:#FFFFFF;
	}
	button.btnModalClose:before
	{
		transform:rotate(45deg);
	}
	button.btnModalClose:after
	{
		transform:rotate(-45deg);
	}
}
