@charset "UTF-8";

/*=====================================================
*
*	style.css
*	Since 2022.5.23
*
*
*	1= font
*	2= Reset
*	3= structure
*	4= common module
*	5= header module
*	6= globalNav module
*	7= home module
*	8= logoBlock module
*	9= detail module
*	10= animation module
*
*
========================================================*/

body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f4eeea;
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
}


/*	1= font
-----------------------------------------------------*/
/*standard size = 14px*/

html:not(:target) body {
    font-family: 'Noto Sans JP', "游ゴシック Medium", 'Yu Gothic Medium', 'YuGothic Medium', "メイリオ", 'Meiryo', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
} /* for modern browser */
html:not(:target) body.en {
    font-weight: 300;
}
html:not(:target) body.en {
    font-size: 16px;
}
html>/**/body .wf-mincho { font-family: 'Noto Serif JP', serif; } /* for ie8 */
html:not(:target) body .wf-mincho { font-family: 'Noto Serif JP', serif; } /* for modern browser */




/*	2= Reset
-----------------------------------------------------*/

* { box-sizing: border-box; }
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
margin: 0;
padding: 0px;
}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal; font-weight:400; }
ul,li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal; font-weight:400; }
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"], input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/*	3= structure
-----------------------------------------------------*/
body {
	color: #111111;
	background-color: #f4eeea;
	font-size: 15px;
	line-height: 2;
	text-align: center;
}

#container {
    width: 100%;
    /*min-width: 1000px;*/
    min-height: 100vh;
	margin: 0;
    z-index: 1;
    /*padding: 0 0 45px 0;*/
    /*overflow-x: hidden;*/}

/* header */
#header {
    position: fixed;
	top: 0px;
    left: 0px;
	width: 100px;
    height: 100px;
	line-height: 1;
	z-index: 4;
    transition: all 0.65s ease-in;
	-webkit-transition: all 0.65s ease-in;
	-moz-transition: all 0.65s ease-in;
}

#header a,
#header {
	color: #fff;
	text-decoration: none;
}

#main {
	position: relative;
	width: 100%;
    /*height: 100%;*/
	padding: 0;
	text-align: left;
    z-index: 2;
    background-color: #fff;
}

    .content {
        position: relative;
        z-index: 3;
        width: 100%;
    }
    body#home .content {
        min-height: 500px;
    }

        .content #top,
        .content .article,
        .content .inner {
            position: relative;
            max-width: 1150px;
            margin: 0 auto;
        }
        .content .article,
        .content .inner {
            min-height: 30vh;
            background: #fff;
        }
        .content .article:last-child {
            padding-bottom: 50px;
        }
        .content .article#lawyer { min-height: calc( 100vh - 50px ); }
        
                .content #top .mainvisual {
                    position: relative;
                    height: 150px;
                    overflow: hidden;
                    background:url(/images/mainvisual.jpg) no-repeat left 25%;
                    -webkit-background-size: cover;
                    -moz-background-size: cover;
                    -ms-background-size: cover;
                    -o-background-size: cover;
                    background-size: cover;
                    animation: fade1 1.5s ease 0s 1 normal;
                }
                body#home .content #top .mainvisual {
                    height: calc(( 100vw - 200px ) * 0.625);
                    overflow: hidden;
                    background:url(/images/mainvisual.jpg) no-repeat left top;
                    -webkit-background-size: cover;
                    -moz-background-size: cover;
                    -ms-background-size: cover;
                    -o-background-size: cover;
                    background-size: cover;
                    animation: fade1 1.5s ease 0s 1 normal;
                }
                
                .content .article .contact .formmailer-embed {
                    position: relative;
                    min-height: 1480px;
                    background-color: #fff;
                    -webkit-overflow-scrolling:touch;
                }
                .content .article .contact iframe {
                    /*position:absolute;
                    top: 0px; height: 0px;*/
                    display: block;
                    box-sizing: border-box;
                    width: 100%;
                    height: 100%;
                    background-color: transparent;
                    /*pointer-events: none;*/
                }
                


    
/* clearfix */
/*#main:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0px;
	}
body#home #main { display: inline-block; }*/


#footer {
    position: relative;
    z-index: 3;
    width: calc( 100% + 200px );
	height: 50px;
	line-height: 1.2;
    margin-left: -200px;
	padding-top: 16px;
	background: none;
    text-align: center;
    color: #fff;
    background: #B20A3F;
}



@media screen and ( min-width: 769px) {

    #container {
        padding-left: 200px;
        min-height: 720px;
    }
    #contact #container { overflow-y: scroll; }
/*    
            .content .article .contact .formmailer-embed::after {
                content: "";
                display: block;
                position: absolute;
                z-index: 16;
                right: 0px;
                top: 0px;
                width: 40%;
                height: 100%;
            }
*/
}/*==== // end @media */
@media screen and ( min-width: 968px) {
/*
            .content .article .contact .formmailer-embed::after {
                width: 31%;
            }
*/
}/*==== // end @media */
@media screen and ( min-width: 1351px) {
    
    #main {
        width: 1150px;
    }
        .content #top {
            min-height: 150px;
        }
        body#home .content #top {
            min-height: 718px;
        }
                .content #top .mainvisual {
                    height: 150px;
                }
                body#home .content #top .mainvisual {
                    height: 718px;
                }
        .content .article,
        .content .inner {
            padding: 50px 55px 60px;
        }
        .content .article:last-child {
            padding-bottom: 70px;
        }

}/*==== // end @media */
@media screen and ( max-width: 1350px) {
    
    #main {
        position: relative;
        width: 100%;
        /*height: 100%;*/
        padding: 0;
        text-align: left;
    }
        .content .article,
        .content .inner {
            padding: 4vw 5vw 5vw;
        }
        .content .article:last-child {
            padding-bottom: 6vw;
        }

}/*==== // end @media */

@media screen and ( max-width: 1150px) {
    
    .content #top {
            min-height: 13vw;
        }
        body#home .content #top {
            min-height: calc(( 100vw - 200px ) * 0.625);
        }
                .content #top .mainvisual {
                    height: 13vw;
                }
                body#home .content #top .mainvisual {
                    height: calc(( 100vw - 200px ) * 0.625);
                }

}/*==== // end @media */

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

    #contact .content .article {
            padding-left: 0vw;
            padding-right: 0vw;

    }
    #contact .content iframe { height:3500px; }

}/*==== // end @media */


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

    #container {
        min-width: auto;
        padding: 80px 0 40px 0;
        overflow-x: hidden;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }
    #container.fixed  { padding: 80px 0 40px 0;  }
    #main,
    body#home #main {
        position: relative;
        width: 100%;
        /*height: 100%;*/
        padding: 0 0 0 0;
        text-align: left;
    }
        .content .article,
        .content .inner {
            padding: 5vw 5vw 8vw;
        }
        .content .article:last-child {
            padding-bottom: 9vw;
        }
        .content .article#lawyer { min-height: 50vh; }
    #header,
    #header.fixed { width: 1px; height: 1px; background: none; }
        .content #top {
            min-height: 13vw;
        }
        body#home .content #top {
            min-height: 66vw;
        }
                .content #top .mainvisual {
                    height: 13vw;
                }
                body#home .content #top .mainvisual {
                    height: 66vw;
                }
    #footer {
        position: relative;
        z-index: 10000;
        width: 100%;
        height: 50px;
        line-height: 1.2;
        margin-left: 0;
        padding-top: 16px;
        background: none;
        text-align: center;
        color: #fff;
        background: #B20A3F
    }


}/*==== // end @media */
@media screen and ( max-width: 680px) {
    .content #top .mainvisual {
        height: 88px;
    }
}/*==== // end @media */

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

    #container {
        padding: 70px 0 35px 0;
    }
    #container.fixed  { padding: 70px 0 35px 0;  }

    #header,
    #header.fixed { width: 70px; height: 70px; }
    .content #top .mainvisual {
        height: 80px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 400px) {

    #container {
        padding: 60px 0 30px 0;
    }
    #container.fixed  { padding: 60px 0 30px 0;  }

    #header,
    #header.fixed { width: 60px; height: 60px; }
    
}/*==== // end @media */

/*	4= common module
-------------------------------------------------------------- */

.pc {
	display: block;
}
.sp {
	display: none;
}


a ,a img {
	-webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
    transition: all 0.1s ease;
	opacity: 1;
}
img {
	max-width: 100%;
    height: auto;
}
a { color: #a32441; }
a:hover { text-decoration: none;}
a img { border: none; }

strong,
em { display: inline-block; margin-right: 0.2em; font-weight: 500; font-size: 112.5%; }

/* position */
.p-rl { position: relative; }
.p-ab { position: absolute; }

/* float */
.fl {float: left;}
.fr {float: right;}

/* text-align */
.text_l {text-align: left;}
.text_c {text-align: center;}
.text_r {text-align: right;}

/* vertical-align */
.va_t {vertical-align: top;}
.va_b {vertical-align: bottom;}
.va_m {vertical-align: middle;}

/* line-height */
.lh17 {line-height: 1.7;}
.lh20 {line-height: 2;}

/* font */
.f10 {font-size: 10px;}
.f11 {font-size: 11px;}
.f12 {font-size: 12px;}
.f13 {font-size: 13px;}
.f14 {font-size: 14px;}
.f15 {font-size: 15px;}
.f16 {font-size: 16px;}
.f18 {font-size: 18px;}
.f20 {font-size: 20px;}
.bold {font-weight: bold; font-weight: 500; }


/* width */
.w50 {width:50px;}
.w100 {width:100px;}


/* margin */
.m-auto { margin-left: auto; margin-right: auto; }
.m0 {margin: 0 !important; }
.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}


/* padding */
.p0 {padding: 0 !important; }
.pb10 {padding-bottom: 10px;}
.pt10 {padding-top: 10px;}
.pl40 { padding-left: 40px; }


/* list-style */
#main .li-non,
#main .li-non li { list-style: none !important; }


/* indent */

/* letter-spacing */
@media screen and ( max-width: 370px) {
    .ls0 { letter-spacing: 0px !important; }
}/*==== // end @media */

/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0px;
	}
.clearfix { display: inline-block; }

.hidden { display: none !important; }



#footer #copyright small { 
    line-height: 1.3;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-align: center;
    color: #eeeeee;
}


p#gotop {
	position: fixed;
	z-index: 100;
	bottom: 52px;
    right: 8px;
	width: 56px;
	height: 56px;
    margin-bottom: 0;
}

p#gotop a,
p#gotop a:hover {
	display: block;
	position: absolute;
	z-index: 100;
	right: 5px;
    bottom: 0px;
	width: 56px;
	height: 56px;
    padding-top: 21px;
    border: solid 1px #666;
    border-radius: 28px;
    cursor: pointer;
    opacity: 1;
    font-size: 9px;
    letter-spacing: -0.05em;
    line-height: 1.15;
    vertical-align: top;
    background: rgba(255,255,255,0.5);
    text-decoration: none !important;
    color: #666;
}
body.en p#gotop a,
body.en p#gotop a:hover {
    padding-top: 26px;
    border: solid 1px #666;
    border-radius: 28px;
    cursor: pointer;
    opacity: 1;
    font-size: 12px;
    letter-spacing: 0.05em;
}
p#gotop::before {
    content: '';
    display: block;
    position: absolute;
    z-index: 101;
    top: 6px;
    right: calc( 50% + 6px );
    width: 1px;
    height: 14px;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    background: #666;
}
body.en p#gotop::before {
    height: 18px;
    top: 7px;
}
p#gotop::after {
	content: '';
    z-index: 102;
    position: absolute;
    top: 6px;
    right: calc( 50% + 6px );
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    border: 1px solid #666;
    border-left: none;
    border-bottom: none;
    transform: rotate(-45deg);
    transform-origin: top right;
    
}
p#gotop:hover::before {
    top: 4px;
    height: 16px;
}
p#gotop:hover::after {
    top: 4px;    
}

@media screen and ( min-width: 1400px) {  

    p#gotop {
        right: calc( 100vw - 1420px );
    }

}/*==== // end @media */

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

    p#gotop {
        transform: scale(0.8);
        bottom: 0px;
        right: -8px;
    }

}/*==== // end @media */

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

    .pc {
		display: none;
	}
	.sp {
		display: block;
	}
    #footer #copyright small { 
        letter-spacing: 0px;
    }
    
}/*==== // end @media */




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

    #footer #copyright small { 
        font-size: 11px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 370px) {
    
    #footer #copyright small { 
       font-size: 10px;
    }
    
}/*==== // end @media */


/*	5= header module
-----------------------------------------------------*/



/*	6= globalNav module
-----------------------------------------------------*/

#globalNav {
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 1000;
    width: 200px;
    height: 100vh;
    margin: 0;
    background: none;
}

#globalNav div#menu {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1001;
    width: 100%;
    height: 100vh;
    padding: 130px 0 50px;
    background: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
@media screen and ( min-width: 769px) {
    
    #globalNav div#menu { display: block !important; }
    
}/*==== // end @media */


#globalNav div#menu.open {
    width: 100vw;
}

#globalNav #menu ul {
    position: relative;
    -js-display: flex;
    display: -webkit-box;
    display: -moz-box;
    display : -webkit-box;
    display : -ms-flexbox;
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-direction:row;
    -ms-flex-direction:row;
    -o-flex-direction:row;
    -moz-flex-direction:row;
    flex-direction:row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: top;
    align-items: top;
    vertical-align: top;
    width: 100%;
    margin: 0 auto;
    padding: 0 15vw;
}

#globalNav #menu ul li { 
    position: relative;
    width: 52vw;
    height: auto;
    margin: 0px 20px 0px;
    margin-left: calc( 15vw + 20px );
    border-top: solid 1px #fff;
    text-align: left;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
}



#globalNav div#menu ul li:last-child {
    border-bottom: solid 1px #fff;
}
#globalNav div#menu ul li a {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    padding-left: 10px;
    padding-top: 21px;
    padding-right: 10px;
    padding-bottom: 22px;
    text-decoration: none;
    background: none;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.1em;
    overflow: hidden;
    cursor: pointer;
    line-height: 1.5;
    text-align: center;
}
body.en #globalNav div#menu ul li a { letter-spacing: 0.04em; font-size: 18px; }
#globalNav div#menu ul li:hover {
    background-color: #fff;
    text-decoration: none;
}
#globalNav div#menu ul li.menu-contact a { padding-left: 26px; }
#globalNav div#menu ul li.menu-contact a::before {
    content: "";
    display: block;
    position: absolute;
    width: 24px;
    height: 17px;
    left: 18px;
    top: calc( 50% - 8px );
    background-image: url(../images/icon_mail.png);
    background-position: center top;
    background-repeat: no-repeat;
    -webkit-background-size: 24px 17px;
    -moz-background-size: 24px 17px;
}
body.en #globalNav div#menu ul li.menu-contact a::before {
    left: 30px;
}

#globalNav div#menu p#close { display: none; }

@media screen and ( min-width: 769px) {
    
    #globalNav { min-height: 700px; }
    #globalNav div#menu {
        width: 200px;
        min-height: 700px;
        overflow: visible;
    }
    #globalNav div#menu.open {
        width: 200px;
    }
    #globalNav #menu ul { width: 100%; padding: 0; }
    #globalNav #menu ul li { 
        position: relative;
        width: 100%;
        height: auto;
        margin: 0;
        margin-left: 0;
        border-top: solid 1px #c8c7c6;
        text-align: left;
        -webkit-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        transition: all 0.2s ease;
    }

    #globalNav div#menu ul li:last-child {
        border-bottom: solid 1px #c8c7c6;
    }
    #globalNav div#menu ul li a {
        color: #222;
    }
    #globalNav div#menu ul li.menu-about a,
    #globalNav div#menu ul li.menu-profile a,
    #globalNav div#menu ul li.menu-lawyer a {
        padding-top: 16px;
        padding-bottom: 18px;
    }
    #globalNav div#menu ul li a.is-active { background-color: #a32441; color: #fff; }
    body#access #globalNav div#menu ul li.menu-access a { background-color: #a32441; color: #fff; }
    body#contact #globalNav div#menu ul li.menu-contact a { background-color: #a32441; color: #fff; }

}/*==== // end @media */

@media screen and ( max-width: 768px) {
    
    #globalNav div#menu {
        padding: 90px 0 20px;
        background: #a32441;
    }
       
    #globalNav #menu ul {
        padding: 0 6vw;
    }
    #globalNav #menu ul li { 
        position: relative;
        width: 88vw;
        margin: 0 20px;
       
    }
    #globalNav div#menu ul li a {
        padding-top: 25px;
        padding-bottom: 25px;
        padding-left: 2em;
        text-align: left;
    }
    #globalNav div#menu ul li.menu-contact a {
        padding-left: 4em;
    }
    #globalNav div#menu ul li.menu-contact a::before {
        left: 1.8em;
    }
    #globalNav div#menu ul li:hover {
        background-color: rgba(255,255,255,0.1);
    }
    #globalNav div#menu ul li a br { display: none;}
    

}/*==== // end @media */


@media screen and ( max-width: 540px) { 
    
    #globalNav div#menu {
        padding: 80px 0 20px;
    }
    #globalNav div#menu ul li a { font-size: 15px; }

 }/*==== // end @media */
 
@media screen and ( max-width: 480px) { 

    #globalNav #menu ul {
        padding: 0;
    }
    #globalNav #menu ul li { 
        position: relative;
        width: 94vw;
        margin: 0x;
       
    }
    #globalNav div#menu ul li a {
        padding-top: 22px;
        padding-bottom: 22px;
    }

}/*==== // end @media */
@media screen and ( max-width: 400px) { 
    
    #globalNav div#menu {
        padding: 70px 0 20px;
    }

    #globalNav #menu ul li { 
        width: 95vw;
    }
    #globalNav div#menu ul li a {
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 1em;
        font-size: 14px;
        letter-spacing: 0px;
    }
    #globalNav div#menu ul li.menu-contact a {
        padding-left: 3.2em;
    }
    #globalNav div#menu ul li.menu-contact a::before {
        left: 0.9em;
    }
    body.en #globalNav div#menu ul li.menu-contact a::before {
        left: 0.9em;
    }
    
}/*==== // end @media */

#globalNav ul#headerSubNav {
   display: block;
   position: fixed;
   left: 0px;
   top: 0px;
   z-index: 10000;
   padding: 0;
   -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#globalNav ul#headerSubNav.open {
    background: none;
}
@media screen and ( min-width: 769px) {

    #globalNav ul#headerSubNav { display: none; }

}/*==== // end @media */



ul#headerSubNav li { display: inline-block; }
ul#headerSubNav li a {
    position: relative;
    display: block;
    width: 115px;
    height: 115px;
    padding: 75px 26px 0;
    line-height: 1.1;
    font-size: 10px;  
    text-align: center;
    color: #fff;
    overflow: hidden;
    text-decoration: none;
}

ul#headerSubNav li#menuOpen a {
    letter-spacing: 0.1em;
    background: #a32441;
}
ul#headerSubNav li#menuOpen.open a {
    background: #a32441;
}
ul#headerSubNav li#menuOpen a:hover {
    color: #fff;
}
ul#headerSubNav li#menuOpen a span {
    position: absolute;
    left: 34px;
    z-index: 10011;
    display: block;
    width: 46px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
ul#headerSubNav li#menuOpen a span.line1 {
    top: 37px;
}
ul#headerSubNav li#menuOpen a span.line2 {
    top: 51px;
    left: 41px;
    width: 32px;
    opacity: 1;
}
ul#headerSubNav li#menuOpen a span.line3 {
    top: 65px;
    left: 44px;
    width: 26px;
    opacity: 1;
}
ul#headerSubNav li#menuOpen.open a span {
    left: 34px;
    background: #fff;
}
ul#headerSubNav li#menuOpen.open a span.line1 {
    top: 50px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
ul#headerSubNav li#menuOpen.open a span.line2 {
    top: 50px;
    width: 46px;
    opacity: 0;
}
ul#headerSubNav li#menuOpen.open a span.line3 {
    top: 50px;
    width: 46px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}




#globalNav div#menu p#close { text-align: center; }
#globalNav div#menu p#close a {
    display: block;
    position: relative;
    width: 100%;
    height: 43px;
    line-height: 43px;
    overflow: hidden;
    background: #a32441;
    font-size: 14px;
    color: #1e1e1e;
    text-decoration: none;

}
#globalNav div#menu p#close a::before {
   content:"";
   display: inline-block;
   width: 12px;
   height: 12px;
   margin-right: 1em;
   font-size: 12px;
   line-height: 12px;
   background: url(../images/icon_close@2x.png) no-repeat center top;
    -webkit-background-size: 12px 12px;
    -moz-background-size: 12px 12px;
    text-decoration: none;
}
	

@media screen and ( max-width: 768px) {
    
    
    #globalNav {
        position: fixed;
        height: 80px;
        right: 0px;
        left: auto;
        background: none;
    }
    #globalNav ul#headerSubNav {
        right: 0px;
        left: auto;
    }
    ul#headerSubNav li a,
    ul#headerSubNav li a:hover {
        width: 80px;
        height: 80px;
        padding: 40px 15px 0 15px;
    }
    ul#headerSubNav li#menuOpen.open a {
       background: none !important; 
    }
    ul#headerSubNav li#menuOpen a span {
        left: 24px;
        width: 34px;
    }
    ul#headerSubNav li#menuOpen a span.line1 {
        top: 26px;
    }
    ul#headerSubNav li#menuOpen a span.line2 {
        top: 37px;
        left: 28px;
        width: 26px;
    }
    ul#headerSubNav li#menuOpen a span.line3 {
        top: 48px;
        left: 31px;
        width: 21px;
    }
    ul#headerSubNav li#menuOpen.open a span {
        left: 26px;
        background: #fff;
    }
    ul#headerSubNav li#menuOpen.open a span.line1 {
        top: 37px;
    }
    ul#headerSubNav li#menuOpen.open a span.line2 {
        top: 37px;
        width: 34px;
    }
    ul#headerSubNav li#menuOpen.open a span.line3 {
        top: 37px;
        width: 34px;
    }
    
}/*==== // end @media */


@media screen and ( max-height: 500px) {

    #globalNav div#menu　{
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
  

}/*==== // end @media */


@media screen and ( max-width: 540px) {
    
    #globalNav {
        height: 80px;
    }

    ul#headerSubNav li a,
    ul#headerSubNav li a:hover {
        width: 80px;
        height: 80px;
        padding: 50px 19px 0 19px;
  
    }

    ul#headerSubNav li#menuOpen a span {
        left: 22px;
        width: 34px;
    }
    ul#headerSubNav li#menuOpen a span.line1 {
        top: 24px;
    }
    ul#headerSubNav li#menuOpen a span.line2 {
        top: 36px;
        left: 24px;
        width: 30px;
    }
    ul#headerSubNav li#menuOpen a span.line3 {
        top: 48px;
        left: 26px;
        width: 26px;
    }

    ul#headerSubNav li#menuOpen.open a span.line1 {
        top: 32px;
        left: 22px;
    }
    ul#headerSubNav li#menuOpen.open a span.line2 {
        top: 32px;
        left: 22px;
        width: 34px;
        opacity: 0;
    }
    ul#headerSubNav li#menuOpen.open a span.line3 {
        top: 32px;
        width: 34px;
        left: 22px;
    }

    
}/*==== // end @media */

@media screen and ( max-width: 480px) {
    
    #globalNav {
        height: 70px;
    }

    ul#headerSubNav li a,
    ul#headerSubNav li a:hover {
        width: 70px;
        height: 70px;
        padding: 40px 16px 0 16px;
  
    }

    ul#headerSubNav li#menuOpen a span {
        left: 18px;
        width: 38px;
    }
    ul#headerSubNav li#menuOpen a span.line1 {
        top: 21px;
    }
    ul#headerSubNav li#menuOpen a span.line2 {
        top: 33px;
        left: 23px;
        width: 28px;
    }
    ul#headerSubNav li#menuOpen a span.line3 {
        top: 45px;
        left: 26px;
        width: 22px;
    }

    ul#headerSubNav li#menuOpen.open a span.line1 {
        top: 32px;
        left: 22px;
        width: 34px;
    }
    ul#headerSubNav li#menuOpen.open a span.line2 {
        top: 32px;
        left: 22px;
        width: 34px;
        opacity: 0;
    }
    ul#headerSubNav li#menuOpen.open a span.line3 {
        top: 32px;
        width: 34px;
        left: 22px;
    }

    
}/*==== // end @media */
@media screen and ( max-width: 400px) {
    
    #globalNav {
        height: 60px;
    }
    body.en #globalNav div#menu ul li a { font-size: 16px; }

    ul#headerSubNav li a,
    ul#headerSubNav li a:hover {
        width: 60px;
        height: 60px;
        padding: 35px 10px 0 10px;
  
    }

    ul#headerSubNav li#menuOpen a span {
        left: 13px;
        width: 38px;
    }
    ul#headerSubNav li#menuOpen a span.line1 {
        top: 16px;
    }
    ul#headerSubNav li#menuOpen a span.line2 {
        top: 28px;
        left: 18px;
        width: 28px;
    }
    ul#headerSubNav li#menuOpen a span.line3 {
        top: 40px;
        left: 21px;
        width: 22px;
    }

    ul#headerSubNav li#menuOpen.open a span.line1 {
        top: 27px;
        left: 17px;
        width: 34px;
    }
    ul#headerSubNav li#menuOpen.open a span.line2 {
        top: 27px;
        left: 17px;
        width: 34px;
        opacity: 0;
    }
    ul#headerSubNav li#menuOpen.open a span.line3 {
        top: 27px;
        width: 34px;
        left: 17px;
    }

    
}/*==== // end @media */





/*	7= home module
-----------------------------------------------------*/



.effect-fade {
  opacity : 0;
  transform : translate(0, 60px);
  -webkit-transition: all 1.2s 0.2s ease;
    -moz-transition: all 1.2s 0.2s ease;
    transition: all 1.2s 0.2s ease;
}
.content #top #news .effect-fade,
.content #lawyer .lawyer.effect-fade,
.content #service .effect-fade {
  opacity : 1;
  transform : translate(0, 0);
  animation: fade1 1.5s ease 0s 1 normal;
}

.effect-fade.effect-scroll {
  opacity : 1;
  transform : translate(0, 0);
}
.content #top + .article h1 {
    transform : translate(0, 0);
}

.parallax-slider {
     top: 0;
     left: 0;
}
.parallax-container {
    position: relative;
    min-height: 500px;
    overflow: hidden;
}
#top + .article h1 {
    background: #B20A3F;
    height: auto;
    width: calc( 100% + 10vw );
    margin: -4vw -5vw 2em;
    padding: 10px;
    text-align: center;
    color: #fff;
    font-size: 25px;
    letter-spacing: 0.2em;
}
body.en #top + .article h1 {
    letter-spacing: 0.1em;
}
#contact #top + .article h1 {
    margin-bottom: 0.2em;
}
.content h2 {
    margin-bottom: 1.5em;
    text-align: center;
    font-size: 28px;
    font-weight: 400;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.08em;
    color: #404040;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.en .content h2 {
    margin-bottom: 0.6em;
    font-family: "Tenor Sans", 'Noto Sans JP', sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    /*font-style:italic;*/
    letter-spacing: 0em;
    font-size: 32px;
}
.content #news h2 {
    margin-bottom: 1.5em;
    padding-left: 0.5em;
    font-size: 28px;
    text-align: left;
    letter-spacing: 0.15em;
}
body.en .content #news h2 {
    margin-bottom: 0.6em;
    letter-spacing: 0.05em;
    font-size: 34px;
}

.content .article h2 {
    max-width: 1150px;
    margin-bottom: 1.5em;
    font-size: 28px;
    line-height: 1.4;
    text-align: center;
}
body.en .content .article h2 { line-height: 1.2; }
.content #works h2,
.content #company h2 {
    letter-spacing: 0.15em;
}
body.en .content #works h2,
body.en .content #company h2 {
    letter-spacing: 0em;
    line-height: 1.2
}
body.en .content #service h2 {
    text-align: left;
}

.content .article h2 a {
    text-decoration: none;
    color: #111;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.content .article h2 a:hover {
    border-bottom: solid 1px #a32441;
}
.content h3 {
    margin-top: 1.5em;
    margin-bottom: 0.3em;
    font-size: 18px;
    letter-spacing: 0.05em;
}
.content #lawyer h3 {
    margin-top: 0.3em;
    font-size: 24px;
    letter-spacing: 0.08em;
}
body.en .content #lawyer h3 {
    font-family: 'Noto Sans JP', "游ゴシック Medium", 'Yu Gothic Medium', 'YuGothic Medium', "メイリオ", 'Meiryo', sans-serif;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.04em;
}
body.en .content h3 {
    margin-bottom: 0.5em;
    font-family: "Tenor Sans", 'Noto Sans JP', sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    /*font-style:italic;*/
    letter-spacing: 0em;
    font-size: 28px;
}

body.en .content #service h3 {
    margin-top: 0em;
    margin-left: 1em;
    font-size: 26px;
}
body.en .content h3.map {
    font-size: 22px;
}
.content h4 {
    margin-bottom: 1em;
    line-height: 1.4;
    font-size: 18px;
}

.content h4.wf-mincho {
    font-size: 25px;
    font-weight: 600;
    color: #B20A3F;
}
.content .access h4 {
    margin-top: 2em;
}
.content .access h4.map {
    letter-spacing: 0.2em;
}
.content h5 {
    font-size: 16px;
    font-weight: 500;
}
.marker {
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 1.5em;
    padding-right: 1.5em;
    padding-top: 0 !important;
    margin-bottom: 15px !important;
    border-bottom: none !important;
    background:linear-gradient(transparent 60%, rgba(242,140,145,0.3) 60%);
    color: #000;
}

.content .article p {
    margin-bottom: 0.9em;
    color: #111;
    font-size: 16px; 
    font-weight: 400;
    line-height: 1.75;
    
}
body.en .content .article p {
    /*font-family: "", 'Noto Sans JP', sans-serif;*/
    font-size: 18px;
    color: #222;
    line-height: 1.6;
    font-weight: 300;
}
.content #lawyer p {
    font-size: 18px;
}
.content .article p.sign {
    margin-top: 2em;
    text-align: right;
    padding-right: 2em;
    line-height: 1.45;
}
body.en .content #service p {
    margin-left: 45px;
}
body.en .content .article p.sign .name {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: italic;
    font-size: 24px;
}
.content .article dl {
    border: solid 1px #ddd;
    padding: 30px 30px 25px;
}
body.en .content .article dl {
    padding: 15px 30px 5px;
}
.content .article#company dl {
    padding: 0;
}
.content .article dt {
    display: inline-block;
    width: 5em;
    margin-bottom: 1px;
    padding-bottom: 0.8em;
    padding-top: 0.75em;
    font-size: 16px;
    vertical-align: top;
    line-height: 1.5;
    border-top: solid 1px #ddd;
}
body.en .content .article dt {
    /*font-family: "", 'Noto Sans JP', sans-serif;*/
    width: 160px;
    padding-top: 1em;
}
.content .article#company dt {
    width: 9em;
    padding-left: 0.8em;
    padding-right: 0.5em;
    margin-bottom: 2px;
    border: none;
    background: #eee;
    border: none;
}
body.en .content .article#company dt {
    width: 210px;
}
.content .article dd {
    display: inline-block;
    width: calc( 99% - 5em );
    margin-bottom: 1px;
    padding-bottom: 0.8em;
    padding-top: 0.75em;
    font-size: 16px;
    vertical-align: top;
    line-height: 1.5;
    border-top: solid 1px #ddd;
    letter-spacing: 0.05em;
}
body.en .content .article dd {
    /*font-family: "", 'Noto Sans JP', sans-serif;*/
    width: calc( 99% - 160px );
    padding-top: 1em;
    font-size: 17px;
}
body.en .content .article dd ul {
    margin-bottom: 0;   
}
body.en .content .article dd ul li {
    margin-bottom: 1em;
}
body.en .content .article dd ul li span {
    display: block;
    padding-top: 0.5em;
    font-size: 14px;
    color: #666;
    letter-spacing: 0px;
}
body.en .content .article dd ul li span a {
    color: #B15B76;
}
.content .article#company dd {
    width: calc( 99% - 9em );
    margin-bottom: 2px;
    padding-left: 0.8em;
    padding-right: 0.5em;
    border: none;
}
body.en .content .article#company dd {
    width: calc( 99% - 210px );
}

.content .article dt:nth-child(1),
.content .article dd:nth-child(2) { border: none; }

.content .article#lawyer .lawyer {
    width: 540px;
    margin: 10% auto;
    padding: 5% 3%;
    background: ;
    border: solid 12px #EBE5E0;
}
.more {
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 1.5em;
    text-align: center;
    vertical-align: middle;
}

a.more,
a.more:hover {
    display: block;
    width: 100%;
    height: 4em;
    border: solid 1px #a32441;
    background: #fff;
    color: #a32441;
    cursor: pointer;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-decoration: none;
    -webkit-background-size: 80px 24px;
    background-size: 80px 24px;
    vertical-align: middle;
    line-height: calc(4em - 2px);
}
a.more:hover {
    background: #a32441;
    color: #fff;
}
.more a span {
    position: absolute;
    display: block;
    width: 100%;
    padding-top: 12px;
    text-align: center;
}
/* works module */
#works .block {
    width: 85%;
    margin-bottom: 30px;
    padding: 20px;
    border: solid 1px #B20A3F;
    border-top-left-radius: 14px;
    border-bottom-right-radius: 14px;
}

#works .block:nth-child(3) {
    margin-left: 7%;
    
}
#works .block:nth-child(4) {
    margin-left: 14%;
    
}
#works .block h3.marker {
    margin-left: -30px;
}
#works .block p { line-height: 1.5; }
#works h5 {
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    z-index: 101;
    margin-top: 25px;
    margin-left: 8px;
    margin-bottom: -8px;
    padding: 4px 6px 6px;
    background: #888;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.05em;
    
}

#works h5 + ul {
    position: relative;
    z-index: 100;
    list-style: circle;
    padding: 20px 15px 10px;
    border: solid 1px #bbb;
    background: #fff;
}
#works h5 + ul li {
     list-style: circle;
     margin-left: 1em;
     margin-bottom: 0.6em;
     line-height: 1.4;
     letter-spacing:  0.05em;
     font-size: 15px;
}

/* news module */
p.btn-detail {
    position: absolute;
    right: 70px;
    top: 20px;
    z-index: 5;
}
p.btn-detail a {
  display: block;
  padding: 13px 20px;
  border:  solid 1px #bbb;
  text-decoration: none;
  color: #333;
  font-size: 16px;
  letter-spacing:  0.1em;
  line-height: 1;
  border-radius: 5px;
}
#news { margin-bottom: 30px; }
#news dl {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 0 10px;
    border-top: solid 1px #ccc;
    
}

#news dl dt {
    padding: 0.7em 1em 0.3em;
    font-size: 18px;
    letter-spacing: 0.15em;
    color: #666;
}

#news dl dd {
    margin: 0;
    padding: 0 1em 1em 1em ;
    border-bottom: solid 1px #ccc;
    letter-spacing:  0.05em;
    font-size: 18px;
    line-height: 1.5;
}


.tile_frame {
    position: relative;
    width: 100%;
    max-width: 1250px;
    margin: 0;
    -js-display: flex;
    display: -webkit-box;
    display: -moz-box;
    display : -webkit-box;
    display : -ms-flexbox;
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-direction:row;
    -ms-flex-direction:row;
    -o-flex-direction:row;
    -moz-flex-direction:row;
    flex-direction:row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: top;
    align-items: top;
    vertical-align: top;
    /*justify-content: space-between;*/
    justify-content:flex-start;
}



body#home .content .article:nth-child(2n-1) {
    background: #ffffff;
    background: -webkit-linear-gradient(-45deg, #f6f6f6, #ffffff);
	background:    -moz-linear-gradient(-45deg, #f6f6f6, #ffffff);
	background:     -ms-linear-gradient(-45deg, #f6f6f6, #ffffff);
	background:      -o-linear-gradient(-45deg, #f6f6f6, #ffffff);
	background:         linear-gradient(-45deg, #f6f6f6, #ffffff);
}
body#home .content .article:nth-child(2n) {
    background: #F8f2Ec;
    background: -webkit-linear-gradient(-45deg, #F8f2Ec, #ffffff);
	background:    -moz-linear-gradient(-45deg, #F8f2Ec, #ffffff);
	background:     -ms-linear-gradient(-45deg, #F8f2Ec, #ffffff);
	background:      -o-linear-gradient(-45deg, #F8f2Ec, #ffffff);
	background:         linear-gradient(-45deg, #F8f2Ec, #ffffff);
}


@media screen and ( max-width: 1400px) {
    
    .content .article h2 {
        font-size: 26px;
    }
    body.en .content #service h2 {
        font-size: 34px;
    }

    .content #news h2 {
        font-size: 28px;
    }

}/*==== // end @media */


@media screen and ( min-width: 1351px) {
    #top + .article h1 {
        width: calc( 100% + 110px );
        margin: -50px -55px 2em;
    }
}/*==== // end @media */

@media screen and ( max-width: 1250px) {
    
    .content h2 {
        font-size: 24px;
    }
    .content .article h2 {
        font-size: 24px;
    }
    body.en .content #service h2 {
        font-size: 32px;
    }
   .content #news h2 {
        font-size: 26px;
    }
    body.en .content h3,
    body.en .content #service h3 {
        font-size: 24px;
    }
    #news dl dt {
        font-size: 16px;
        letter-spacing: 0.08em;
    }
    #news dl dd {
        letter-spacing:  0.05em;
        font-size: 16px;
    }
    body.en #news dl dt,
    body.en #news dl dd { font-size: 18px; }

}/*==== // end @media */

@media screen and ( max-width: 1149px) {
    
    .content #news dl {
        width: 100%;;
        margin-left: 0;
        margin-right: 0;
    }
    
    
}/*==== // end @media */
@media screen and ( max-width: 1050px) {
    #contact #top + .article h1 {
        height: auto;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    body.en .content #news h2 {
        font-size: 30px;
    }
}/*==== // end @media */

@media screen and ( max-width: 1000px) {
    
    #top + .article h1 {
        padding: 10px;
        font-size: 20px;
        letter-spacing: 0.2em;
    }
    .content .article h2 {
        font-size: 22px;
    }
    .content #news h2 {
        font-size: 24px;
    }
    body.en .content #service h2 {
        font-size: 26px;
    }

    .content #lawyer h3 {
        font-size: 22px;
        letter-spacing: 0.06em;
    }

/* works module */
    #works .block {
        width: 95%;
        margin-bottom: 20px;
    }
    #works .block:nth-child(2) {
        margin-left: -2%;
    }
    #works .block:nth-child(3) {
        margin-left: 3%;

    }
    #works .block:nth-child(4) {
        margin-left: 7%;
        margin-right: -2%;

    }
    

}/*==== // end @media */


@media screen and ( max-width: 900px) {
    
    .content .article#lawyer .lawyer {
        width: 90%;
        border: solid 10px #EBE5E0;
    }
    .content h2 {
        font-size: 22px;
    }
    body.en .content h2 {
        font-size: 28px;
    }
    body.en .content #service h2 {
        font-size: 26px;
    }
    body.en .content h3,
    body.en .content #service h3,
    body.en .content h3.map {
        font-size: 24px;
    }
    
    .content #lawyer h3 {
        font-size: 21px;
    }
    .content #lawyer p {
        font-size: 17px;
    }


}/*==== // end @media */



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

    .content .article:first-child .effect-fade {
      opacity : 1;
      transform : translate(0, 0);
    }
    .tile_frame { width:  100%; }
    
    #top + .article h1 {
        width: calc( 100% + 10vw );
        margin: -5vw -5vw 2em;
    }
    #contact #top + .article h1 {
        margin-bottom: 0em;
    }

    .content h2 {
        font-size: 22px;
    }
    .content .article h2,
    .content #news h2 {
        font-size: 24px;
    }
    body.en .content h2 {
        font-size: 26px;
    }
    body.en .content #service h2 {
        font-size: 26px;
    }
    .content h3 {
        font-size: 17px;
    }
    .content #lawyer h3 {
        font-size: 20px;
        letter-spacing: 0.05em;
    }
    body.en .content h3,
    body.en .content #service h3,
    body.en .content h3.map {
        font-size: 20px;
    }
    .content .article p {
        font-size: 15px; 
    }
    .content #lawyer p {
        font-size: 16px;
    }
    .content .article dl {
        padding: 3.9vw 3.9vw 3.26vw;
    }
    .content .article dt {
        font-size: 15px;
    }
    .content .article dd {
        font-size: 15px;
    }
/* works module */
    #works .block {
        width: 85%;
        margin-bottom: 20px;
        padding: 2.6vw;
        border-top-left-radius: 1.8vw;
        border-bottom-right-radius: 1.8vw;
    }
    #works .block:nth-child(2) {
        margin-left: 0;

    }
    #works .block:nth-child(3) {
        margin-left: 7%;

    }
    #works .block:nth-child(4) {
        margin-left: 14%;

    }
    #works .block h3.marker {
        margin-left: -4vw;
    }
    #works h4  { font-size: 22px; }
    #works h5 {
        margin-top: 3.26vw;
        padding: 4px 6px 6px;
        font-size: 15px;
    }

    #works h5 + ul {
        padding: 18px 12px 8px 15px;
    }
    #works h5 + ul li {
         font-size: 14px;
    }

    
}/*==== // end @media */

@media screen and ( max-width: 680px) {
    
    
    .content h2 {
        font-size: 21px;
    }
    .content .article h2,
    .content #news h2 {
        font-size: 22px;
    }
    .content h4 {
        font-size: 16px;
    }
    body.en .content .article dl {
        width: calc( 100% + 4vw );
        margin-left: -2vw;
        margin-right: -2vw;
        padding: 12px 4.4vw 5px;
    }
    body.en #news dl dt,
    body.en #news dl dd { font-size: 16px; }
    
/* works module */
    #works h4  { font-size: 20px; }
    #works .block p { font-size: 15px; }
    #works .block {
        width: 95%;
        margin-bottom: 20px;
    }
    #works .block:nth-child(2) {
        margin-left: -2%;
    }
    #works .block:nth-child(3) {
        margin-left: 3%;

    }
    #works .block:nth-child(4) {
        margin-left: 7%;
        margin-right: -2%;

    }

/* news module */

    #news dl dt {
        font-size: 14px;
        letter-spacing: 0.05em;
    }
    #news dl dd {
        letter-spacing: 0.05em;
        font-size: 15px;
    }
    body.en #news dl dd {
        letter-spacing: 0.02em;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 580px) {
    
    .content .article#lawyer .lawyer {
        width: 94%;
        margin: 10% auto;
        border: solid 8px #EBE5E0;
    }
    #top + .article h1 {
        padding: 6px;
        font-size: 18px;
    }
    body.en .content #news h2 {
        font-size: 26px;
        letter-spacing:  0.05em;
    }
    body.en .content #service h2 {
        font-size: 25px;
    }
    .content #lawyer h3 {
        font-size: 18px;
        letter-spacing: 0.05em;
    }
    body.en .content .article p {
        font-size: 16px;
    }
    .content #lawyer p {
        font-size: 15px;
    }
/* works module */
    #works h4  { font-size: 18px; }
    #works .block p { font-size: 14px; }
    #works .block {
        width: 100%;
        margin-bottom: 3.4vw;
    }
    #works .block:nth-child(2) {
        margin-left: 0;
    }
    #works .block:nth-child(3) {
        margin-left: 0;

    }
    #works .block:nth-child(4) {
        margin-left: 0;
        margin-right: 0;

    }
    body.en .content .article dd ul li span a {
        font-size: 12px;
    }
    body.en .content .article dt {
        width: 130px;
    }
    body.en .content .article#company dt {
        width: 170px;
    }
    body.en .content .article dd {
        width: calc( 99% - 130px );
        font-size: 16px;
    }
    body.en .content .article#company dd {
        width: calc( 99% - 170px );
    }
    
}/*==== // end @media */

@media screen and ( max-width: 540px) {
    
    .content .article h2,
    .content #news h2 {
        font-size: 20px;
    }
    .content h3 {
        font-size: 16px;
    }
    .content .article p {
        font-size: 14px; 
    }
    .content .article dt {
        font-size: 14px;
    }
    .content .article dd {
        font-size: 14px;
    }

    
}/*==== // end @media */

@media screen and ( max-width: 480px) {
    
    
    body.en .content .article#lawyer .lawyer {
        width: 98%;

    }
    .content .article h2,
    .content #news h2 {
        font-size: 18px;
    }
    body.en .content h2 {
        font-size: 22px;
    }
    body.en .content h3,
    body.en .content #service h3,
    body.en .content h3.map {
        font-size: 18px;
        margin-left: 0
    }
    body.en .content #service p {
        margin-left: 25px;
    }
/* works module */
    #works h5 {
        font-size: 14px;
    }
    #works .block p { font-size: 13px; }
    #works h5 + ul {
        padding: 16px 10px 6px 15px;
    }
    #works h5 + ul li {
         font-size: 13px;
    }
/* news module */
    #news dl dt {
        font-size: 14px;
        letter-spacing: 0.05em;
    }
    #news dl dd {
        font-size: 14px;
    }
    .content .article dt {
        width: 4em;
    }
    .content .article#company dt {
        width: 9em;
    }

    .content .article dd {
        width: calc( 99% - 4em );
    }
    .content .article#company dd {
        width: calc( 99% - 9em );
    }
    .content .article dt:nth-child(1),
    .content .article dd:nth-child(2) { border-top: solid 1px #ddd;}


}/*==== // end @media */

@media screen and ( min-width: 481px) and  ( max-width: 630px) {
    
        body.en .content .article .address h3 + p {
        display: block;
        position: relative;
        margin-right: -16vw;
    }

}/*==== // end @media */

@media screen and ( max-width: 460px) {
    body.en .content .article dt {
        width: 100%;
        font-size: 16px;
    }
    body.en .content .article dd {
        width: 100%;
        font-size: 16px;
    }

}/*==== // end @media */
@media screen and ( max-width: 400px) {
    
    .content .article#lawyer .lawyer {
        width: 100%;
        margin: 10% auto;
        padding: 10% 3%;
        border: solid 6px #EBE5E0;
    }
    .content .article h2 {
        font-size: 18px;
        letter-spacing: 0px;
    }
    .content #news h2 {
        font-size: 18px;
        letter-spacing: 0.08em;
    }
    body.en .content #service h2 {
        font-size: 24px;
    }
    body.en .content h2 {
        font-size: 22px;
    }
    .content h3 {
        font-size: 15px;
    }
    body.en .content h3,
    body.en .content #service h3,
    body.en .content h3.map {
        font-size: 18px;
    }
    .content .article p {
        font-size: 13px; 
    }
    .content #lawyer p {
        font-size: 14px;
    }
    .content .article dt {
        font-size: 13px;
    }
    .content .article dd {
        font-size: 13px;
    }
    body.en .content .article#company dt {
        width: 100%;
    }
    body.en .content .article#company dd {
        width: 100%;
    }
    
/* news module */
    #news dl dt {
        font-size: 13px;
    }
    #news dl dd {
        font-size: 13px;
    }


}/*==== // end @media */





/*	8= logoBlock module
-----------------------------------------------------*/
.logoBlock {
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 3;
    width: 200px;
    height: 100vh;
    padding: 0 30px;
    background: #f4eeea;
    text-align: center;
    -webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    transition: all 0.8s ease;
}

.logoBlock.loadend {
    width: 200px;
}

.logo-liaison {
    position: absolute;
    top: 26px;
    left: calc(( 100% - 136px ) * 0.5);
    width: 136px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
     z-index: 10010;
}
.logo-liaison img {
    width: 100%;
    height: auto;
}

.logo-liaison,
.logo-liaison.loadend {
    opacity: 0;
     position: absolute;
     top: 26px;
     left: calc(( 100% - 136px ) * 0.5);
     width: 136px;
    -webkit-transition: all 1.1s ease;
    -moz-transition: all 1.1s ease;
    transition: all 1.1s ease;
    animation: loading1 1.8s ease 0.2s 1 forwards;
}
.logoBlock.loadend .logo-liaison { top: 26px; }

h1#siteID {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 10010;
    width: 136px;
    height:  86px;
    font-size: 20px;
    font-weight: medium;
    font-weight: 500;
	line-height: 1;
}


h1#siteID a span {
    display: block;
    width: 100%;
    height: auto;
}
h1#siteID a span img {
    width: 100%;
    height: auto;
}



h1#siteID a span.logo01 {
    height: 0px;
    padding-top: 86px;
    overflow: hidden;
    background: url("../images/logo_liaison.svg") no-repeat center top;
    -webkit-background-size: 136px 86px;
    background-size:  136px 86px;
}



h1.copy01 {
    position: absolute;
    top: 20px;
    right: 7.2%;
    left: auto;
    z-index: 10;
    text-align: left;
    display: block;
    margin: 15px 0;
    vertical-align: top;
    font-size: 26px;
    letter-spacing: 0.1em;
    font-weight: 500;
    line-height: 1.5;
    transform: scale(0.6);
    opacity: 1;
    color: #fff;
    -webkit-transition: all 0.7s 0.1s ease-out;
    -moz-transition: all 0.7s 0.1s ease-out;
    transition: all 0.7s 0.1s ease-out;
}
body.en h1.copy01 {
    right: 6%;
    /*font-family: , serif;*/
    font-family: "Tenor Sans", 'Noto Sans JP', "游ゴシック Medium", 'Yu Gothic Medium', 'YuGothic Medium', "メイリオ", 'Meiryo', sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    /*font-style:italic;*/
    letter-spacing: 0.01em;
    font-size: 26px;
    line-height: 1.2;
}
body#home h1.copy01 {
    top: 86px;
    font-size: 30px;
    line-height: 1.6;
}
body#home.en h1.copy01 {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
}
h1.copy01 span { letter-spacing: 0; font-size: 125%; }
body.en h1.copy01 span { letter-spacing: 0.01em;}
p.copy02 {
    display: none;
    position: absolute;
    top: 230px;
    right: 10.2%;
    z-index: 10;
    font-size: 17px;
    font-weight: 300;
    color: #fff;
    line-height: 1.7;
    letter-spacing: 0.1em;
    opacity: 1;
    -webkit-transition: all 0.7s 0s ease;
    -moz-transition: all 0.7s 0s ease;
    transition: all 0.7s 0s ease;
}
body#home p.copy02 {
    display: block;
}
body#home.en p.copy02 {
    /*font-family: "", 'Noto Sans JP', sans-serif;*/
    right: 10%;
    font-size: 20px;
    font-weight: 300;
}
body#home.en p.copy02 strong { font-weight: 300;}
body#home.en p.copy03 {
    position: relative;
    width: 100%;
    margin: 0px auto 20px;
    padding: 30px;
    background: #a32441;
    color: #fff;
    font-size: 17px;
}
body#home.en p.copy03 span {
    display: inline-block;
    width: 100%;
    margin: 0 2em 1em;
    padding: 0.2em 0.5em;
    font-size: 85%;
    line-height: 1.5;
    letter-spacing: 0px;
    
}
body#home.en p.copy02 strong {
    display: block;
    margin-top: 16px;
    /*font-family: , serif;*/
    font-optical-sizing: auto;
    font-weight: 300;
    /*font-style:italic;*/
    letter-spacing: 0.02em;
    line-height: 1.35;
}
.photographer {
    position: absolute;
    right: 15px;
    bottom: 12px;
    font-size: 12px;
    font-weight: 300;
    color: rgba(255,255,255,1.0);
    line-height: 1.1;
    letter-spacing: 0.06em;
}
#home.photographer {
    font-size: 13px;
    right: 17px;
    bottom: 13px;
}
ul#lang {
    position: absolute;
    z-index: 10000;
    right: 20px;
    top: 10px;
    width: 13em;
    background:rgba(16,63,170,0.25);
    text-align: center;
    font-size: 13px;
}
body.en ul#lang {
    display: block;
    padding-right: 5px;
}
ul#lang li { display: inline-block; line-height: 1.1; color: #A09E9E; }
ul#lang li::after {
    content: "｜";
    color: #fff;
}
ul#lang li:last-child::after { content: none; }
ul#lang li span { display: inline-block; padding: 2px 8px; }
ul#lang li a { display: inline-block; margin-right: 2px; padding: 2px 10px; color: #ddd; text-decoration: none; }
ul#lang li a:hover { text-decoration: underline; }


@media screen and ( min-width: 769px) {

    .logoBlock::after,
    .logoBlock.loadend::after {
        content: "";
        display: block;
        position: absolute;
        right: -20px;
        width: 20px;
        z-index: 101;
        height: 100vh;
        background: url("../images/bg_logoBlock.png") repeat-y left top;
        -webkit-transition: all 0.8s ease;
        -moz-transition: all 0.8s ease;
        transition: all 0.8s ease;    
    }
    #header ul#lang { display: none; top: 32px }
    #maine ul#lang { display: none; }
    body.en #maine ul#lang { display: block; }

}/*==== // end @media */

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

    h1.copy01 {
        top: 20px;
        font-size: 2vw;
    }
    body.en h1.copy01 {
        top: 24px;
        font-size: 1.9vw;
    }
        
    body#home h1.copy01 {
        top: 6.95vw;
        font-size: 2.5vw;
    }
    body#home.en h1.copy01 {
        top: 6.95vw;
        font-size: 2.4vw;
    }
    p.copy02 {
        top: 18.3vw;
        font-size: 1.416vw;
    }
    body#home.en p.copy02 {
        font-size: 1.6vw;
    }

}/*==== // end @media */
@media screen and ( max-width: 1150px) {

    h1.copy01 {
        top: 2vw;
    }
    body.en h1.copy01 {
        top: 2.3vw;
    }
    body#home h1.copy01 {
        top: 6.95vw;
    }
    body#home.en h1.copy01 {
        top: 6.95vw;
    }
    .photographer {
        right: 11px;
        bottom: 7px;
    }
    body#home .photographer {
        right: 13px;
        bottom: 8px;
    }


}/*==== // end @media */
@media screen and ( max-width: 950px) {

    p.copy02 {
        top: 18.4vw;
        right: 4.5%;
        font-size: 1.6vw;
    }
    .photographer {
        right: 8px;
        bottom: 5px;
        font-size: 11px;
    }
    body#home .photographer { bottom: 7px; font-size: 12px; }

}/*==== // end @media */



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

    .logoBlock,
    .logoBlock.loadend,
    .logoBlock.loadend.fixed {
        left: 0px;
        width: 100vw;
        height: 80px;
        min-height: 80px;
    }
    .logoBlock .logo-liaison,
    .logoBlock.loadend .logo-liaison {
        position: fixed;
        top: 5px !important;
        left: 8px;
        width: 109px;
    }
    h1.copy01 {
        top: 0.5vw;
        right:8%;
        font-size: 2.5vw;
        line-height: 1.4;
    }
    body.en h1.copy01 {
        top: 0.5vw;
        right:7%;
        letter-spacing: 0.01em;
        font-size: 2.9vw;
        line-height: 1.1;
    }
    body#home h1.copy01 {
        top: 6.2vw;
        right: 6.3%;
        font-size: 3.2vw;
    }
    body#home.en h1.copy01 {
        top: 6.2vw;
        right: 5.8%;
        font-size: 3.4vw;
    }
    p.copy02 {
        top: 22vw;
        right: 4.7%;
        font-size: 2vw;
    }
    body#home.en p.copy02 {
        right: 4.7%;
        font-size: 2.4vw;
    }
    
    h1#siteID {
        width: 109px;
        height:  69px;
        font-size: 18px;
    }
    h1#siteID a span.logo01 {
        padding-top: 69px;
        -webkit-background-size: 109px 69px;
        background-size: 109px 69px;
    }
    #header ul#lang { none; }
    body.en #header ul#lang { display: block; right: 85px; }
    #main ul#lang { display: none; }
    ul#lang {
        position: fixed;
        z-index: 11000;
        right: 75px;
        top: 50px;
        width: 12em;
        background: none;
        font-size: 15px;
    }
    ul#lang li { display: inline-block; line-height: 1.1; color: #999999; }
    ul#lang li::after {
        content: "｜";
        color: #999999;
    }
    ul#lang li:last-child::after { content: none; }
    ul#lang li span { display: inline-block; padding: 2px 8px; }
    ul#lang li a { display: inline-block; margin-right: 1px; padding: 2px 12px; color: #000; text-decoration: underline; }
    ul#lang.open li a { color: #fff; }
    ul#lang li a:hover { text-decoration: underline; }


}/*==== // end @media */
@media screen and ( max-width: 680px) {
    
    h1.copy01 {
        top: 4px;
        right:8%;
        font-size: 17px;
    }
    body#home.en h1.copy01 {
        top: 4.2vw;
    }
    body.en h1.copy01 {
        top: 4px;
        right:8%;
        font-size: 2.5vw;
        letter-spacing: 0px;
    }
    p.copy02 {
        top: 23.8vw;
        right: 7%;
        font-size: 2.3vw;
    }
    body#home.en p.copy02 {
        top:20vw;
        font-size: 2.6vw;
        letter-spacing: 0px;
    }

}/*==== // end @media */
@media screen and ( max-width: 580px) {
    
    body#home.en h1.copy01 {
        top: 3.5vw;
    }
    body#home.en p.copy02 strong {
        font-size: 3.1vw;
        line-height: 1.25;
    }

}/*==== // end @media */
@media screen and ( max-width: 480px) {

    .logoBlock,
    .logoBlock.loadend,
    .logoBlock.loadend.fixed {
        left: 0px;
        width: 100vw;
        height: 70px;
        min-height: 70px;
    }
    .logoBlock .logo-liaison,
    .logoBlock.loadend .logo-liaison {
        position: fixed;
        top: 3px !important;
        left: 8px;
        width: 100px;
    }
    h1.copy01 {
        top: 2px;
        right:6%;
        font-size: 15px;
        line-height: 1.3;
    }
    body.en h1.copy01 {
        top: 2px;
        right: 5%;
        font-size: 3.1vw;
        line-height: 1.15;
    }
    body#home h1.copy01 {
        right: 7%;
        top: 6vw;
        font-size: 3.5vw;
    }
    body#hom.en h1.copy01 {
        right: 6%;
        top: 6vw;
        font-size: 4.5vw;
    }
    p.copy02 {
        right: 3.5%;
        font-size: 2.6vw;
    }
    h1#siteID {
        width: 100px;
        height:  63.3px;
        font-size: 18px;
    }
    h1#siteID a span.logo01 {
        padding-top: 63.3px;
        -webkit-background-size: 100px 63.3px;
        background-size: 100px 63.3px;
    }
    ul#lang {
        right: 62px;
        top: 40px;
        font-size: 13px;
        width: 14em;
    }
    body.en #header ul#lang {
        right: 59px;
    }
    body.en #header ul#lang li a { padding: 2px 6px; }
    
}/*==== // end @media */

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


    .logoBlock,
    .logoBlock.loadend,
    .logoBlock.loadend.fixed {
        height: 60px;
        min-height: 60px;
    }
    .logoBlock .logo-liaison,
    .logoBlock.loadend .logo-liaison {
        top: 3px !important;
        left: 8px;
    }

    h1#siteID {
        width: 82px;
        height:  52px;
        font-size: 18px;
    }
    h1#siteID a span.logo01 {
        padding-top: 52px;
        -webkit-background-size: 82px 52px;
        background-size: 82px 52px;
    }
    ul#lang {
        right: 48px;
        top: 36px;
    }
    body.en #header ul#lang {
        right: 45px;
    }
    
    p.copy02 {
        right: 3%;
        font-size: 2.6vw;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 370px) {
    
    body.en #header ul#lang {
        right: 42px;
    }
    body.en #header ul#lang li a { padding: 2px 5px; }
    
}/*==== // end @media */


/*	9= detail module
-----------------------------------------------------*/
.address,
.access {
    position: relative;
    padding-left: 30px;
    padding-right: 30px;
}
.access ul li {
    margin-bottom: 0.5em;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-indent: -1.3em;
    margin-left: 1.1em;
}
body.en .access ul li {
        font-size: 18px;
    }
body.en  #main .address strong { font-weight: 300;}
.address p.image {
    position: absolute;
    left: 580px;
    top: 10px;
    width: 150px;
}
#access #map {
    width: calc( 100% + 60px );
    margin-left: -30px;
    margin-right: -30px;
}
@media screen and ( max-width: 1000px) {
    
    .address {
        padding-right: 16vw;
    }
    .address p.image {
        position: absolute;
        left: auto;
        right: -10px;
        width: 15vw;
    }
    .address p.image img { width: 100%; height: auto; }

}/*==== // end @media */
@media screen and ( max-width: 768px) {

    .address {
        padding-right: 20vw;
    }
    .address p.image {
        position: absolute;
        left: auto;
        right: 0px;
        width: 19vw;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 580px) {
    
    .address,
    .access {
        padding-left: 15px;
        padding-right: 15px;
    }
    .address {
        padding-right: 105px;
    }
    .address p.image {
        position: absolute;
        left: auto;
        right: -5px;
        width: 100px;
    }
    .access ul li {
        letter-spacing: 0em;
        text-indent: -1.25em;
        margin-left: 1em;
    }
    body.en .access ul li {
        font-size: 16px;
    }
    #access #map {
        width: calc( 100% + 30px ) !important;
        margin-left: -15px;
        margin-right: -15px;
    }

}/*==== // end @media */
@media screen and ( max-width: 480px) {
    
    .address,
    .access {
        padding-left: 5px;
        padding-right: 5px;
    }
    .address {
        padding-right: 105px;
    }
    .content h3 {
        margin-right: -15px;
        line-height: 1.4;
    }
    .address p.image {
        top: 35px;
    }


}/*==== // end @media */
@media screen and ( max-width: 400px) {
    
    .address {
        padding-right: 26vw;
    }
    .content h3 {
        margin-right: -2.5vw;
    }
    body.en .access ul li {
        font-size: 15px;
    }
    .address p.image {
        top: 35px;
        right: 0px;
        width: 25vw;
    }


}/*==== // end @media */


/*	10= animation module
-----------------------------------------------------*/

@keyframes loading1 {
  0% {
    transform: translateY(20px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes loading2 {
  0% {
    transform: translateY(100px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fade1 {
  0%, 50% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
}
@keyframes fade2 {
  0% {
    opacity: 0;
    margin-top: 50px;
  }
  60% {
    opacity: 0;
    margin-top: 12px;
  }
  90% {
    opacity: 1;
    margin-top: 0;
  }
}
@keyframes up {
  0% {
    opacity: 0;
    margin-top: 60px;
  }
  30% {
    opacity: 0;
  }
  90% {
    opacity: 1;
    margin-top: 0;
  }
}
.bounce {
    animation: bounce 1s ease-in-out infinite;
}
@keyframes bounce {
	0%, 100% {
		transform: translateY( 0 );
	}
	50% {
		transform: translateY( -20px );
	}
}

