@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= 
*
*
========================================================*/
body.fadeout {
    width: 100vw;
    margin-left: -100vw;
    overflow-x: hidden;
    padding-right: 100vw;
    -webkit-transition: all .8s ease;
    transition: all .8s ease;
}

body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:#f8f6ec;
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
}
body.fadeout::after {
  opacity: 1;
}
body.fadeout #menu {
  -webkit-transform:scale(1.2);
  transform:scale(1.2);
}

/*	1= font
-----------------------------------------------------*/

html body h1.font-MPLUS,
html body h2.font-MPLUS,
html body h3.font-MPLUS,
html body h4.font-MPLUS,
html body .font-MPLUS,
.content#project h2 {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    letter-spacing: 0.05em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
html body .font-MPLUS span.bold,
html body .font-MPLUS.bold,
.content#project h2 .motto {
    font-weight: 700;
    letter-spacing: 0.05em;
}
/*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>/**/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: #f8f6ec;
	font-size: 15px;
	line-height: 2;
	text-align: center;
}

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

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

}

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

#main {
	position: relative;
	width: 100%;
    /*height: 100%;*/
	padding: 0 40px 0 440px;
	text-align: left;
}
body#home #main {
	padding: 0 0 0 620px;
}

    .content {
        position: relative;
        width: 100%;
    }

        .content .inner {
            position: relative;
            max-width: 1000px;
            margin: 0 auto;
        }
        .sentence { padding-bottom: 50px;}
    
    
    
    
/* clearfix */
/*#main:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0px;
	}
body#home #main { display: inline-block; }*/


#footer {
    position: absolute;
    left: 0px;
    bottom: 0px;
    z-index: 4;
    width: 100%;
	height: 45px;
	line-height: 1.6;
	padding-top: 16px;
	background: none;
    text-align: left;
    color: #fff;
}

@media screen and ( max-width: 1250px) {
    
    #main {
        position: relative;
        width: 100%;
        /*height: 100%;*/
        padding: 0 40px 0 440px;
        text-align: left;
        z-index: 1;
    }
   body#home #main {
        padding: 0 0 0 400px;
    }
    #footer { padding-top: 8px; }

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

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

        .content .inner {
            padding-left: 2.1%;
            padding-right: 2.1%;
        }
    
}/*==== // end @media */




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

    #container {
        min-width: auto;
        padding: 50vw 0 45px 0;
        overflow-x: hidden;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }
    #container.fixed  { padding: 300px 0 45px 0;  }
    body#article #container  { padding: 100px 0 45px 0;  }
    #main,
    body#home #main {
        position: relative;
        width: 100%;
        /*height: 100%;*/
        padding: 0 0 0 0;
        text-align: left;
    }
    #header,
    #header.fixed { width: 100px; height: 100px; background: none; }


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

@media screen and ( max-width: 540px) {
    #container.fixed  { padding: 240px 0 45px 0;  }
    body#article #container { padding: 80px 0 45px 0;  }
    #header,
    #header.fixed { width: 80px; height: 80px; }
    .sentence { padding-bottom: 30px;}
    
}/*==== // end @media */

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

    #container.fixed { padding: 210px 0 45px 0;  }
    body#article #container { padding: 70px 0 45px 0;  }
    #header,
    #header.fixed { width: 70px; height: 70px; }
    
}/*==== // end @media */
@media screen and ( max-width: 400px) {

    #container.fixed { padding: 180px 0 45px 0;  }
    body#article #container { padding: 60px 0 45px 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: #01A2E2; }
a:hover { text-decoration: none;}
a img { border: none; }

strong,
em { font-weight: 500; color: #E71232; }

/* 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; }

.col-gold {
    color: #CFA405;
}
/* 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 { 
    display: block;
    width: 400px;
    margin-left: 1.1em;
    padding-left: 130px;
    letter-spacing: 0em;
    text-align: left;
    line-height: 1.3;
    font-size: 11px;
    text-indent: -1.1em;
    color: #888;
}
body#home #footer #copyright small { 
    width: 620px;
    margin-left: 0;
    padding-left: 140px;
    font-size: 12px;
	letter-spacing: 0.08em;
    text-indent: 0px;
    text-align: center;
    color: #888;
}


p#gotop {
	position: fixed;
	z-index: 100;
	bottom: -1px;
    right: 12px;
	width: 50px;
	height: 50px;
    margin-bottom: 0;
    cursor: pointer;
}

p#gotop a,
p#gotop a:hover {
	display: block;
	position: absolute;
	z-index: 100;
	right: 10px;
    bottom: 0px;
	width: 50px;
	height: 0px;
    padding-top: 50px;
    line-height: 50px;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    overflow: hidden;
    cursor: pointer;
    opacity: 1;
}
p#gotop::after {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	bottom: 16px;
    z-index: 101;
    box-sizing: border-box;
    width: 30px;
	height: 30px;
    cursor: pointer;
	border-right: 16px solid transparent;
    border-bottom: 16px solid #096ABE;
    border-left: 16px solid transparent; 
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
p#gotop::before {
	content: "";
	display: block;
	position: absolute;
	right: 18px;
	bottom: 0px;
    z-index: 102;
    width: 15px;
	height: 20px;
    cursor: pointer;
    background: #096ABE;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
p#gotop:hover { opacity: 0.8;}

p#gotop:hover::after {
    bottom: 26px;
}
p#gotop:hover::before {
    height: 30px;
}
@media screen and ( max-width: 1250px) {

    #footer #copyright small,
    body#home #footer #copyright small { 
        width: 400px;
        padding-left: 130px;
        letter-spacing: 0em;
        text-align: left;
        font-size: 11px;
        margin-left: 1.1em;
        text-indent: -1.1em;
    }

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

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

    p#gotop {
        transform: scale(0.8);
        bottom: 0px;
        right: -8px;
    }
    #footer #copyright small,
    body#home #footer #copyright small { 
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        text-align: center;
        font-size: 11px;
        margin-left:0;
        text-indent: 0;
    }

	
}/*==== // 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: 120px;
    height: 100vh;
    margin: 0;
    background: #4272a7;
}

#globalNav div#menu {
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1001;
    width: 100%;
    height: 100vh;
    padding: 115px 0 20px;
    background: #205793;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
#globalNav div#menu.open {
    width: 100vw;
}
body.fadeout #globalNav div#menu {
     -webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    transition: all 0.8s ease;
}
#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 #menu ul li.menu-top,
#globalNav #menu ul li.menu-news,
#globalNav #menu ul li.menu-15th {
    position: absolute;
    left: 15vw;
    top: 0px;
    width: 15vw;
    height: 90px;
    margin: 0 0 20px;
    border: solid 1px #fff;
    border-radius: 3px;
    text-align: center;
    line-height: 90px;
    letter-spacing: 0.05em;
}
#globalNav #menu ul li.menu-15th {
    top: 110px;
    line-height: 1.4;
}
#globalNav #menu ul li.menu-news {
    top: 110px; 
}
#globalNav #menu ul li.menu-15th {
    top: 220px;
}

#globalNav #menu ul li.menu-15th span.col-gold {
    display: block;
    color: #CFA405;
}


#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: 20px;
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 35px;
    text-decoration: none;
    background: none;
    color: #fff;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 16px;
    font-weight: bold;
    font-weight: 700;
    letter-spacing: 0.1em;
    overflow: hidden;
    cursor: pointer;
}
#globalNav #menu ul li.menu-top a,
#globalNav #menu ul li.menu-news a,
#globalNav #menu ul li.menu-15th a {
    padding: 0;
}

#globalNav #menu ul li.menu-15th a {
    padding-top: 20px;
}
#globalNav div#menu ul li:hover {
    background-color: rgba(15,28,65,1.00);
    text-decoration: none;
}
#globalNav div#menu ul li a h2 {
    margin-bottom: 0.6em;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0.1em;
    font-weight: 500;
}

#globalNav div#menu ul li a h2 span.motto,
.content#project .article h2 span.motto {
    font-weight: 700;
    color: #096ABE;
}
#globalNav div#menu ul li a h2 span.motto {
    color: #27B6ED;
}

.day {
    position: absolute;
    right: 15px;
    top: 8px;
    letter-spacing: 0.05em;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: #9CB3B6;
}
.content#project .article h2 .day {
    right: 35px;
    top: 3px;
    font-size: 15px;
    color: #999;
}
#globalNav div#menu ul li a p {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}
#globalNav div#menu p#close { display: none; }

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

    .content#project .article h2 .day {
        right: auto;
        left: 1120px
    }
    
}/*==== // end @media */
@media screen and ( max-width: 768px) {
    
       
    #globalNav #menu ul {
        padding: 0 3vw;
    }
    #globalNav #menu ul li { 
        position: relative;
        width: 57vw;
        margin: 0 20px;
        margin-left: calc( 30vw + 20px );

    }
    #globalNav #menu ul li.menu-top,
    #globalNav #menu ul li.menu-news,
    #globalNav #menu ul li.menu-15th {
        left: 6vw;
        width: 28vw;
    }
    #globalNav div#menu ul li a {
        padding-top: 25px;
        padding-bottom: 25px;
    }
    .day { font-size: 14px; }
    
    #globalNav div#menu ul li a h2 {
        font-size: 18px;
    }
    .content#project .article h2 .day {
        right: 5px;
        top: 2px;
    }

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


 
@media screen and ( max-width: 540px) { 
    
    #globalNav div#menu {
        padding: 90px 0 20px;
    }

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

    #globalNav #menu ul li { 
        width: 92vw;
        margin: 0px auto 0px;
        margin-left: 0px;
    }

    #globalNav #menu ul li.menu-top,
    #globalNav #menu ul li.menu-news,
    #globalNav #menu ul li.menu-15th {
        position: relative;
        left: 0px;
        top: 0px;
        width: 92vw;
        height: 50px;
        margin: 0 0 10px;
        line-height: 50px;
    }
    #globalNav #menu ul li.menu-15th {
        top: 0px;
        left: 0px;
    }
    #globalNav #menu ul li.menu-news {
        top: 0px;
        left: 0px;
    }
    #globalNav #menu ul li.menu-15th {
        top: 0px;
        left: 0px;
        margin-bottom: 20px;
    }
    #globalNav #menu ul li.menu-15th a {
        padding-top: 0px;
    }
    #globalNav #menu ul li.menu-15th br { display: none; }
    #globalNav #menu ul li.menu-15th span.col-gold {
        display: inline-block;
        margin-left: 1em;
    }
    #globalNav div#menu ul li a h2,
    .content#project .article .box h2 {
        font-size: 16px;
        line-height: 1.35;
    }
    #globalNav div#menu ul li a p {
        font-size: 13px;
    }

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


#globalNav ul#headerSubNav {
   display: block;
   position: fixed;
   left: 0px;
   top: 0px;
   z-index: 10011;
   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;
}
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;
    background: none;
    text-decoration: none;
}

ul#headerSubNav li#menuOpen a {
    letter-spacing: 0.1em;
    background: none;
    background: #4272A6;
}
ul#headerSubNav li#menuOpen.open a {
    background: #1F5792;
}
ul#headerSubNav li#menuOpen a:hover {
    color: #fff;
    background: none;
}
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:#D5D4D4;
    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: 100px;
        right: 0px;
        left: auto;
        background: none;
    }
    #globalNav ul#headerSubNav {
        right: 0px;
        left: auto;
    }
    ul#headerSubNav li a,
    ul#headerSubNav li a:hover {
        width: 100px;
        height: 100px;
        padding: 50px 19px 0 19px;
        background: #4F7CC4 !important;
    }
    ul#headerSubNav li#menuOpen.open a {
       background: none !important; 
    }
    ul#headerSubNav li#menuOpen a span {
        left: 30px;
        width: 42px;
    }
    ul#headerSubNav li#menuOpen a span.line1 {
        top: 32px;
    }
    ul#headerSubNav li#menuOpen a span.line2 {
        top: 46px;
        left: 35px;
        width: 32px;
    }
    ul#headerSubNav li#menuOpen a span.line3 {
        top: 60px;
        left: 38px;
        width: 26px;
    }
    ul#headerSubNav li#menuOpen.open a span {
        left: 32px;
        background: #fff;
    }
    ul#headerSubNav li#menuOpen.open a span.line1 {
        top: 46px;
    }
    ul#headerSubNav li#menuOpen.open a span.line2 {
        top: 46px;
        width: 42px;
    }
    ul#headerSubNav li#menuOpen.open a span.line3 {
        top: 46px;
        width: 42px;
    }
    
}/*==== // 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;
    }

    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;
}

.effect-fade.effect-scroll {
  opacity : 1;
  transform : translate(0, 0);
}

.parallax-slider {
     top: 0;
     left: 0;
}
.parallax-container {
    position: relative;
    min-height: 500px;
    overflow: hidden;
}

.content h2 {
    margin-bottom: 50px;
    padding-top: 30px;
    text-align: center;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 0.2em;
    color: #111111;
}
.content#project h2 { text-align: left; }

.content#project .article h2 {
    max-width: 1250px;
    margin-bottom: 1em;
    padding-left: calc( 15px + 2.84em);
    padding-right: 35px;
    font-size: 30px;
    line-height: 1.4;
}
body#home .content#project .article h2 {
    padding-left: calc( 45px + 2.84em);
}

.content#project .article h2.icon_izakaya::before {
    background: url(../images/icon_izakaya.png) no-repeat left top;
}
.content#project .article h2.icon_news::before {
    background: url(../images/icon_news.png) no-repeat left top;
}
.content#project .article h2.icon_TV::before {
    background: url(../images/icon_TV.png) no-repeat left top;
}
.content#project .article h2.icon_online::before {
    background: url(../images/icon_online.png) no-repeat left top;
}
.content#project .article h2.icon_jyuittyan::before {
    background: url(../images/icon_jyuittyan.png) no-repeat left top;
}
.content#project .article h2.icon_art::before {
    background: url(../images/icon_art.png) no-repeat left top;
}
.content#project .article h2.icon_nature::before {
    background: url(../images/icon_nature.png) no-repeat left top;
}
.content#project .article h2.icon_music::before {
    background: url(../images/icon_music.png) no-repeat left top;
}
.content#project .article h2.icon_human::before {
    background: url(../images/icon_human.png) no-repeat left top;
}
.content#project .article h2.icon_house::before {
    background: url(../images/icon_house.png) no-repeat left top;
}
.content#project .article h2.icon_school::before {
    background: url(../images/icon_school.png) no-repeat left top;
}
#main .content#project .article h2::before {
    content: "";
    display: block;
    width: 2.84em;
    height: 2.84em;
    position: absolute;
    left: 5px;
    top: 0.3em;
    -webkit-background-size: cover;
    background-size: cover;
}
body#home #main .content#project .article h2::before {
    left: 35px;
}
.content#project .article h2 a {
    text-decoration: none;
    color: #111;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.content#project .article h2 a:hover {
    border-bottom:  solid 1px #096ABE;
}
.content#project .article .box.image {
    position: relative;
    margin-left: -10px;
    margin-right: -10px;
}
.content#project .article .box.outline {
    position: relative;
    margin-bottom: 45px;
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 40px;
    animation: loading2 1.5s ease 0.2s 1 forwards;
}
.content#project .article .box.outline p {
    color: #2d6ab7;
    font-size: 20px; 
    font-weight: 500;
    line-height: 1.75;
    
}
.content#project .article .box.outline::after {
    content: "";
    position: absolute;
    bottom: -9px;
    left: calc( 22.5% - 30px );
    width: 55%;
    height: 18px;
    background: url("../images/line.png") repeat-x;
    -webkit-background-size: 415px 18px;
    background-size: 415px 18px;
}

.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 #096ABE;
    background: #fff;
    color: #096ABE;
    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: #096ABE;
    color: #fff;
}
.more a span {
    position: absolute;
    display: block;
    width: 100%;
    padding-top: 12px;
    text-align: center;
}



/* news module */
.content#news { 
    height: 100vh;
    padding-top: 5vw;
}
.content#news .inner {
    min-height: 500px; 
    padding: 0 30px 50px 30px;
}
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;
}
.content#news dl {
    width: 900px;
    margin-left: auto;
    margin-right: auto;
}

#news dl {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 0 0 10px;
    
}

#news dl dt {
    padding: 0;
    font-size: 18px;
    letter-spacing: 0.15em;
    color: #666;
}
#news dl dd {
    margin:  -1.67em 0 1em 9em;
    padding: 0;
    letter-spacing:  0.1em;
    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;
}
.tile_frame.imgBox {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    list-style: none !important;
}
.sentence .tile_frame.imgBox {
    width: calc( 100vw - 400px );
    margin-left: -40px;
    margin-right: -40px;
    margin-bottom: 35px;
}
#main .tile_frame.imgBox li {
    flex-grow: 1;
    list-style: none !important;
    width: 100%;
    margin-left: 0;
}
#main .tile_frame.imgBox img {
    width: 100%;
    height: auto;
    list-style: none !important;
}

.tile_frame .box {
    position: relative;
    width: 50%;
    max-width: 700px;
}
.tile_frame .box img {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0;
}

.content#project .article {
    padding-top: 20px;
}
body#article .content#project .article {
    max-width: 1200px;
}
@media screen and ( min-width: 1640px) {
    
    body#article .content#project .article {
        margin-left: auto;
        margin-right: auto;
    }
   

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

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

     .sentence .tile_frame.imgBox {
        width: 1280px;
        max-width: 1280px;
        margin-left: -40px;
        margin-right: -40px;
    }
}/*==== // end @media */
@media screen and ( min-width: 1840px) {
    
    body#article .content#project .article {
        width: 1200px;
        margin-left: 80px;
        margin-right: 0px;
    }

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


body#home .content#project .article:nth-child(2n-1) {
    background: #f8f6ec;
    background: -webkit-linear-gradient(-45deg, #efe8d1, #f8f6ec);
	background:    -moz-linear-gradient(-45deg, #efe8d1, #f8f6ec);
	background:     -ms-linear-gradient(-45deg, #efe8d1, #f8f6ec);
	background:      -o-linear-gradient(-45deg, #efe8d1, #f8f6ec);
	background:         linear-gradient(-45deg, #efe8d1, #f8f6ec);
}
body#home .content#project .article:nth-child(2n) {
    background: #e2e4e7;
    background: -webkit-linear-gradient(-45deg, #c9d1db, #e2e4e7);
	background:    -moz-linear-gradient(-45deg, #c9d1db, #e2e4e7);
	background:     -ms-linear-gradient(-45deg, #c9d1db, #e2e4e7);
	background:      -o-linear-gradient(-45deg, #c9d1db, #e2e4e7);
	background:         linear-gradient(-45deg, #c9d1db, #e2e4e7);
}
.content#project .article h2 + .tile_frame .box { padding-bottom: 20px; }
.content#project .article h2 + .tile_frame .box img {
    display: inline-block;
    width: auto;
    height: auto;
    
}
.content#project .article h2 + .tile_frame .box:nth-child(1) { }
body#home .content#project .article h2 + .tile_frame .box:nth-child(1)::after,
body#article .content#project .article h2 + .box::after {
    content: "";
    position: relative;
    display: block;
    width: 100%;
    height: 30px;
    background: url("../images/shadow.png") no-repeat center top;
    -webkit-background-size: 100% 30px;
    background-size: 100% 30px;
}

.content#project .article h2 + .tile_frame .box:nth-child(2n) {
    padding: 5px 20px 30px 30px;
}

.content#project .article .tile_frame .box:nth-child(1) {order: 2;} 
.content#project .article .tile_frame .box:nth-child(2) {order: 1;} 

.article .tile_frame .box p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.05em;
}


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

    .article .tile_frame .box p {
        font-size: 15px;
    }
    .content#project .article h2 {
        font-size: 26px;
    }

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

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

    .content#project .article .box.outline {
        padding-top: 15px;
        padding-bottom: 50px;
        margin-bottom: 60px;
    }

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

@media screen and ( max-width: 1250px) {
    
    .content h2 {
        font-size: 24px;
    }
    .content#project .article h2 {
        font-size: 24px;
        padding-left: calc( 10px + 2.84em);
        padding-right: 30px;
    }
    body#home .content#project .article h2 {
        padding-left: calc( 40px + 2.84em);
    }
    .content#project .article .box.outline p {
        font-size: 18px; 
    }
    #news dl dt {
        font-size: 16px;
        letter-spacing: 0.08em;
    }
    #news dl dd {
        letter-spacing:  0.05em;
        font-size: 16px;
    }

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

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

    body#home .content#project .tile_frame .box p,
    .article .tile_frame .box p {
        font-size: 14px;
    }
    
    .content#news dl {
        width: 100%;;
        margin-left: 0;
        margin-right: 0;
    }
    
    
}/*==== // end @media */
@media screen and ( max-width: 1000px) {
    
    .content#project .article h2 {
        font-size: 22px;
    }
    .tile_frame .box {
        position: relative;
        width: 100%;
        max-width: 700px;
    }
    .content#project .article .tile_frame .box:nth-child(1) {order: 0;} 
    .content#project .article .tile_frame .box:nth-child(2) {order: 0;} 
    .content#project .article h2 + .tile_frame .box:nth-child(2n) {
        padding: 0px 30px 30px 30px;
    }
    .content#project .article .box.outline::after {
        left: calc( 20% - 30px );
        width: 60%;
        height: 15px;
    }
    .content#project .article .box.outline p {
        font-size: 16px; 
    }

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

     .sentence .tile_frame.imgBox {
        width: 580px;
    }
}/*==== // end @media */

@media screen and ( max-width: 900px) {
    
    .content h2 {
        font-size: 22px;
    }


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

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

    body#article .content#project .article {
        min-width: 500px;
    }

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

@media screen and ( max-width: 768px) {
    body#article .content#project .article {
        padding-left: 30px;
        padding-right: 30px;
    }
    .sentence .tile_frame.imgBox {
        width: 100vw;
        margin-left: -30px;
        margin-right: -30px;
    }
    .content#project .article:first-child .effect-fade {
      opacity : 1;
      transform : translate(0, 0);
    }
    .tile_frame { width:  100%; }
    .tile_frame .box {
        position: relative;
        width: 50%;
        max-width: 100%;
    }
    .content#project .article .tile_frame .box:nth-child(1) {order: 2; } 
    .content#project .article .tile_frame .box:nth-child(2) {order: 1; } 
    .content#project .article h2 + .tile_frame .box:nth-child(2n) {
        padding: 5px 25px 30px 30px;
    }
    .content#news { 
        height: calc( 100vh - 100px );
        padding-top: 80px;
    }

    .content#project .article {
        padding-top: 10px;
    }

    .content h2 {
        font-size: 22px;
    }
    .content#project .article h2 {
        font-size: 24px;
        padding-left: calc( 5px + 2.84em);
        padding-right: 20px;
    }
    body#home .content#project .article h2 {
        padding-left: calc( 20px + 2.84em);
    }
    #main .content#project .article h2::before {
        left: 4px;
    }
    body#home #main .content#project .article h2::before {
        left: 20px;
    }
    .content#project .article .box.outline {
        margin-bottom: 50px;
        padding-left: 0em;
        padding-right: 0em;
    }
    .content#project .article .box.outline::after {
        width: 60%;
        height: 18px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 680px) {
    
    
    .content h2 {
        font-size: 21px;
    }
    .content#project .article h2 {
        font-size: 22px;
    }
    #main .content#project .article h2::before {
        left: 3px;
    }
    body#home #main .content#project .article h2::before {
        left: 20px;
    }
    body#article .content#project .article .box.outline {
        margin-bottom: 45px;
        padding-bottom: 30px;
    }

/* news module */
    .content#news { 
        height: calc( 100vh - 100px );
        padding-top: 40px;
    }
    #news dl dt {
        font-size: 14px;
        letter-spacing: 0.05em;
    }
    #news dl dd {
        margin: 5px 0 1.5em 0px;
        letter-spacing: 0.05em;
        font-size: 15px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 640px) {
    .tile_frame .box {
        position: relative;
        width: 100%;
        max-width: 700px;
    }
    .content#project .article .tile_frame .box:nth-child(1) {order: 0;} 
    .content#project .article .tile_frame .box:nth-child(2) {order: 0;} 
    .content#project .article h2 + .tile_frame .box:nth-child(2n-1) {
        padding-left: 15px; padding-right: 15px; padding-bottom: 0;
    }
    .content#project .article h2 + .tile_frame .box:nth-child(2n) {
        padding: 5px 30px 30px 30px;
    }
    .content#project .article .box.image {
        position: relative;
        margin-left: -15px;
        margin-right: -15px;
    }
 
 }/*==== // end @media */
@media screen and ( max-width: 540px) {
    
    #main .tile_frame.imgBox li:nth-child(4),
    #main .tile_frame.imgBox li:nth-child(5) {
        display: none;
    }
    .content#news { 
        height: calc( 100vh - 80px );
        padding-top: 70px;
    }
    .content#project .article h2 {
        font-size: 20px;
        padding-left: calc( 3px + 2.84em);
        padding-right: 15px;
    }
    body#article .content#project .article h2 {
        padding-right: 0px;
    }
    body#home .content#project .article h2 {
        padding-left: calc( 20px + 2.84em);
    }
    #main .content#project .article h2::before {
        left: 2px;
        top: 0.5em;
    }
    body#home #main .content#project .article h2::before {
        left: 13px;
    }
    .content#project .article .box.outline::after {
        left: 17%;
        width: 66%;
        height: 15px;
    }
    body#home .content#project .article h2 + .tile_frame .box:nth-child(1)::after,
    body#article .content#project .article h2 + .box::after {
        content: "";
        position: relative;
        display: block;
        width: 100%;
        height: 20px;
        background: url("../images/shadow.png") no-repeat center -3px;
        -webkit-background-size: 100% 20px;
        background-size: 100% 20px;
    }
    body#article .content#project .article .box.outline {
        margin-bottom: 35px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 480px) {
    
    .sentence .tile_frame.imgBox {
        width: 100vw;
        margin-left: -5.2vw;
        margin-right: -5.2vw;
    }
    body#article .content#project .article {
        padding-left: 5.2vw;
        padding-right: 5.2vw;
    }
    .content#project .article .box.outline p {
        font-size: 15px; 
    }
    
/* news module */
    .content#news { 
        height: calc( 100vh - 70px );
        padding-top: 40px;
    }
    .content#project .article h2 {
        font-size: 18px;
    }
    #news dl dt {
        font-size: 14px;
        letter-spacing: 0.05em;
    }
    #news dl dd {
        font-size: 14px;
    }


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

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

    .content#project .article h2 {
        padding-left: calc( 1px + 2.84em);
        font-size: 18px;
        letter-spacing: 0px;
    }
    body#home .content#project .article h2 {
        padding-left: calc( 15px + 2.84em);
    }
/* news module */
    #news dl dt {
        font-size: 13px;
    }
    #news dl dd {
        font-size: 13px;
    }


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





/*	8= logoBlock module
-----------------------------------------------------*/
.logoBlock {
    position: fixed;
    left: 120px;
    top: 0px;
    z-index: 2;
    width: 280px;
    height:100vh;
    min-height: 840px;
    padding: 0 30px;
    background: #fff;
    text-align: center;
    -webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    transition: all 0.8s ease;
}
body#home .logoBlock {
    width: calc( 100vw - 120px );
}
body#home .logoBlock.loadend {
    width: 500px;
}

.logo-bs11 {
    position: absolute;
    top: 6px;
    left: 25px;
    z-index: 1002;
    width: 100px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.logo-bs11 img {
    width: 100%;
    height: auto;
}
.logo-mmpj {
    position: absolute;
    top: 100px;
    left: calc(( 100% - 200px ) * 0.5);
    z-index: 1002;
    width: 160px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
body#home .logo-mmpj {
    opacity: 0;
     position: absolute;
     top: calc(( 65% - 40px - 413px ));
     left: calc(( 100% - 287px ) * 0.5);
     width: 287px;
    -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;
}


h1#siteID {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1002;
    width: 201px;
    height: 220px;
    font-size: 20px;
    font-weight: medium;
    font-weight: 500;
	line-height: 1;
}
body#home h1#siteID {
    width: 287px;
    height: 393px;
    font-size: 25px;
}

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


@media screen and ( min-width: 769px) {
    .logoBlock::after {
    content: "";
    display: none;
    position: absolute;
    right: -20px;
    width: 20px;
    z-index: 1000;
    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;    
    }
    .logoBlock.loadend::after { display: block; }


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



@media screen and ( max-width: 1250px) {
    
    .logo-bs11 {
        top: 15px;
        left: 25px;
        width: 70px;
    }
    body#home .logoBlock.loadend {
        width: 280px;
    }
    body#home .logo-mmpj {
        position: absolute;
        top: 100px;
        left: calc(( 100% - 200px ) * 0.5);
        width: 160px;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    body#home h1#siteID {
        width: 201px;
        height: 220px;
        font-size: 20px;
    }

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

h1#siteID a span.logo01 {
    height: 0px;
    padding-top: 181px;
    overflow: hidden;
    background: url("../images/logo_mmpj01.png") no-repeat center top;
    -webkit-background-size: 201px 181px;
    background-size:  201px 181px;
}
body#home h1#siteID a span.logo01 {
    padding-top: 258px;
    -webkit-background-size: 287px 258px;
    background-size:  287px 258px;
}
h1#siteID a span.logo02 {
    height: 46px;
}
body#home h1#siteID a span.logo02 {
    height: 65px;
}
h1#siteID a span.logo03 {
    height: 35px;
}
body#home h1#siteID a span.logo03 {
    height: 50px;
}
h1#siteID a span.logo04 {
    height: 14px;
}
body#home h1#siteID a span.logo04 {
    height: 20px;
}

h2.copy01 {
    position: absolute;
    top: 390px;
    left: 2px;
    z-index: 10;
    text-align: center;
    display: block;
    width: 100%;
    margin: 12px 0;
    vertical-align: top;
    font-size: 15px;
    letter-spacing: 0px;
    font-weight: 500;
    line-height: 1.6;
    transform: scale(0.5);
    opacity: 1;
    -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#home h2.copy01 {
    top: calc( 65% - 40px );
    margin: 15px 0;
    font-size: 22px;
    transform: scale(0.6);
}
p.copy02 {
    position: absolute;
    top: 458px;
    left: 0px;
    z-index: 10;
    text-align: center;
    display: block;
    width: 100%;
    font-size: 20px;
    font-weight: 600;
    color: #096ABE;
    line-height: 1.8;
    letter-spacing: 0.15em;
    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 {
    top: calc( 65% + 50px );
    font-size: 28px;
}
p.copy03 {
    display: none !important;
    position: absolute;
    top: 490px;
    left: 13px;
    z-index: 10;
    text-align: left;
    width: 100%;
    max-width: 20em;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.04em;
    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.copy03 {
    display: inline-block !important;
    top: calc( 65% + 105px );
     left: calc(( 100% - 25em ) * 0.5 );
    font-size: 15px;
    letter-spacing: 0.1em;
    max-width: 28em;
}

h2.copy01 {
    opacity: 0;
    display: inline-block;
    animation: loading2 1.3s ease 1.2s 1 forwards;
}
p.copy02 {
    opacity: 0;
    display: inline-block;
    animation: loading2 1.3s ease 1.5s 1 forwards;
}
p.copy03 {
    opacity: 0;
    display: inline-block;
    margin-top: 1em;
    line-height: 1.6;
    animation: loading2 1.3s ease 1.7s 1 forwards;
}



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

    body#home .logoBlock.loadend {
        width: 280px;
    }
    body#home .logo-mmpj {
        position: absolute;
        top: 100px;
        left: calc(( 100% - 200px ) * 0.5);
        width: 160px;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        transition: all 0.4s ease;
    }
    body#home h1#siteID {
        width: 201px;
        height: 220px;
        font-size: 20px;
    }
    body#home h1#siteID a span.logo01 {
        padding-top: 181px;
        -webkit-background-size: 201px 181px;
        background-size:  201px 181px;
    }
    body#home h1#siteID a span.logo02 {
        height: 46px;
    }
    body#home h1#siteID a span.logo03 {
        height: 35px;
    }
    body#home h1#siteID a span.logo04 {
        height: 14px;
    }
    body#home h2.copy01 {
        top: 390px;
        margin: 12px 0;
        font-size: 15px;
        transform: scale(0.5);
    }
    body#home p.copy02 {
        top: 458px;
        font-size: 20px;
    }

    body#home p.copy03 {
        top: 496px;
        font-size: 13px;
        letter-spacing: 0.04em;
        max-width: 18em;
    }

    body#home p.copy03 {
         left: calc(( 100% - 17em ) * 0.5 );

    }

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

@media screen and ( min-width: 769px) and ( max-width: 1250px) and ( max-height: 780px) and (orientation: landscape) {
    
    body#home .logo-mmpj {
        top: 60px;
    }
    body#home h2.copy01 {
        top: 340px;
    }
    body#home p.copy02 {
        top: 420px;
    }
    p.copy03,
    body#home p.copy03 {
        top: 455px;
    }

}/*==== // end @media */
@media screen and ( min-width: 1251px) and ( max-height: 780px) and (orientation: landscape) {
    
    body#home .logo-mmpj {
        top: 60px;
    }
    body#home h2.copy01 {
        top: 450px;
    }
    body#home p.copy02 {
        top: 530px;
    }
    body#home p.copy03 {
        top: 565px;
    }

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


@media screen and ( min-width: 769px) and ( max-width: 1250px) and ( max-height: 620px) and (orientation: landscape) {
    
    body#home .logo-mmpj {
        position: absolute;
        top: 100px;
        left: calc(( 100% - 175px ) * 0.5);
        width: 140px;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        transition: all 0.4s ease;
    }
    body#home h1#siteID {
        width: 176px;
        height: 193px;
        font-size: 18px;
    }
    body#home h1#siteID a span.logo01 {
        padding-top: 158px;
        -webkit-background-size: 176px 158px;
        background-size:  176px 158px;
    }
    body#home h1#siteID a span.logo02 {
        height: 40px;
    }
    body#home h1#siteID a span.logo03 {
        height: 31px;
    }
    body#home h1#siteID a span.logo04 {
        height: 13px;
    }
    
    body#home .logo-mmpj {
        top: 60px;
    }
    body#home h2.copy01 {
        top: 302px;
    }
    body#home p.copy02 {
        top: 370px;
    }
    p.copy03,
    body#home p.copy03 {
        top: 402px;
        line-height: 1.4;
    }

}/*==== // end @media */
@media screen and ( min-width: 1251px) and ( max-height: 710px) and (orientation: landscape) {

    body#home p.copy03 {
        display: none !important;
    }

}/*==== // end @media */
@media screen and ( min-width: 768px) and ( max-height: 565px) and (orientation: landscape) {
    
    p.copy03,
    body#home p.copy03 {
        display: none !important;
    }

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


@media screen and ( max-width: 768px) {
    
    .logoBlock {
        left: 0px;
        width: 100vw;
    }
    body#home .logoBlock {
        width: 100vw;
    }

    body#home .logoBlock.loadend,
    body#article .logoBlock {
        width: 100vw;
        height: 50vw;
        min-height: 50vw;
        left: 0px;
        overflow: hidden;
    }
    body#home .logoBlock.loadend.fixed,
    body#article .logoBlock {
        position: fixed;
        width: 100vw;
        background: #fff;
        height: 100px;
        min-height: 100px;
    }
    body#home .logoBlock .logo-bs11,
    body#home .logoBlock.loadend .logo-bs11,
    body#article .logoBlock .logo-bs11
    {
        position: fixed;
        top: 6px;
        left: calc( 100vw - 220px );
        width: 90px;
    }
    body#home .logoBlock .logo-mmpj,
    body#article .logoBlock .logo-mmpj {
        width: 28.646vw;
        left: calc(( 100% - 28.646vw ) * 0.5);
    }

    body#home .logoBlock.loadend .logo-mmpj {
        top: 5.5vw;
        left: 10vw;
    }
    body#home .logoBlock.loadend .logo-mmpj.fixed,
    body#article .logoBlock .logo-mmpj {
        position: fixed;
        top: 0px;
        left: 0px;
    }
    
    body#home .logoBlock h1#siteID,
    body#article .logoBlock h1#siteID {
        width: 28.646vw;
        height: 31.35vw;
    }
    body#home .logoBlock h1#siteID a span.logo01 {
        padding-top: 25.8vw;
        -webkit-background-size: 28.646vw 25.8vw;
        background-size:  28.646vw 25.8vw;
    }
    body#home .logoBlock h1#siteID a span.logo02 {
        height:6.56vw;
    }
    body#home .logoBlock h1#siteID a span.logo03 {
        height: 4.988vw;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo01,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo01 {
        position: absolute;
        width: 111px;
        height: 0px;
        font-size: 18px;
        padding-top: 100px;
        -webkit-background-size: 111px 100px;
        background-size:  111px 100px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo02,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo02 {
        position: absolute;
        width: 128px;
        height: 23px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo03,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo03 {
        position: absolute;
        width: 128px;
        height: 17px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo02,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo02 { top: 25px; left: 123px; }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo03,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo03 { top: 56px; left: 123px; }
    body#home .logoBlock h1#siteID a span.logo04,
    body#article .logoBlock h1#siteID a span.logo04,
    {
        height: 2vw;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo04,
    body#article .logoBlock h1#siteID a span.logo04 {
        display: none;
    }
    
    body#home h2.copy01,
    body#article h2.copy01 {
        top: 54vw;
        margin: 1.6vw 0;
        font-size: 15px;
        transform: scale(0.5);
    }
    body#home p.copy02,
    body#article p.copy02 {
        top: 64vw;
    }

    body#home p.copy03,
    body#article p.copy03 {
        top: 69vw;
    }
    
    body#home .logoBlock.loadend h2.copy01,
    body#article .logoBlock h2.copy01 {
        top: 21vw;
        left: 42vw;
        width: 58%;
        margin: 12px 0;
        font-size: 19px;
        line-height: 1.8;
        transform: scale(0.5);
    }
    body#home .logoBlock.loadend p.copy02,
    body#article .logoBlock p.copy02 {
        top: 34vw;
        left: 42vw;
        width: 58%;
        font-size: 26px;
    }

    body#home .logoBlock.loadend p.copy03,
    body#article .logoBlock p.copy03 {
        display: none !important;
        top: 35vw;
        left: 48vw;
        max-width: 28em;
    }
    body#home .logoBlock.loadend.fixed h2.copy01.fixed,
    body#home .logoBlock.loadend.fixed p.copy02.fixed,
    body#article .logoBlock h2.copy01,
    body#article .logoBlock p.copy02 { display: none; }

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


@media screen and ( max-width: 640px) {
    
    body#home .logoBlock .logo-bs11,
    body#home .logoBlock.loadend .logo-bs11 {
        top: 10px;
        left: calc( 100vw - 195px );
        width: 80px;
    }
    body#home .logoBlock .logo-mmpj {
        top:13vw;
        width: 36vw;
        left: calc(( 100% - 30vw ) * 0.5);
    }

    body#home .logoBlock.loadend .logo-mmpj {
        width: 37.24vw;
        top: 5.5vw;
        left: 10vw;
    }
    body#home .logoBlock h1#siteID a span.logo01 {
        padding-top: 33.54vw;
        -webkit-background-size: 37.24vw 33.54vw;
        background-size:  37.24vw 33.54vw;
    }
    body#home .logoBlock h1#siteID a span.logo02 {
        height:8.528vw;
    }
    body#home .logoBlock h1#siteID a span.logo03 {
        height: 6.48vw;
    }
    body#home .logoBlock.loadend h1#siteID a span.logo01,
    body#article .logoBlock h1#siteID a span.logo01 {
        padding-top: 25.8vw;
        -webkit-background-size: 28.646vw 25.8vw;
        background-size:  28.646vw 25.8vw;
    }
    body#home .logoBlock.loadend h1#siteID a span.logo02,
    body#article .logoBlock h1#siteID a span.logo02 {
        height:6.56vw;
    }
    body#home .logoBlock.loadend h1#siteID a span.logo03,
    body#article .logoBlock h1#siteID a span.logo03 {
        height: 4.988vw;
    }
    body#home h2.copy01,
    body#article h2.copy01 {
        top: 68vw;
    }
    body#home p.copy02,
    body#article p.copy02 {
        top: 78vw;
    }

    body#home p.copy03,
    body#article p.copy03 {
        top: 83vw;
    }
    
    body#home .logoBlock.loadend h2.copy01,
    body#article .logoBlock h2.copy01 {
        font-size: 17px;
    }
    body#home .logoBlock.loadend p.copy02,
    body#article .logoBlock p.copy02 {
        font-size: 22px;
    }

}/*==== // end @media */
@media screen and ( max-width: 540px) {
    
    body#home .logoBlock.loadend.fixed,
    body#article .logoBlock {
        height: 80px;
        min-height: 80px;
    }
    body#home .logoBlock .logo-bs11,
    body#home .logoBlock.loadend .logo-bs11,
    body#article .logoBlock .logo-bs11 {
        top: 6px;
        left: calc( 100vw - 170px );
        width: 75px;
    }
    
    body#home h2.copy01,
    body#article h2.copy01 {
        top: 66vw;
    }
    body#home p.copy02,
    body#article p.copy02 {
        top: 81vw;
    }

    body#home p.copy03,
    body#article p.copy03 {
        top: 90vw;
    }
    body#home .logoBlock.loadend h2.copy01,
    body#article .logoBlock h2.copy01 {
        line-height: 1.7;
        font-size: 15px;
    }
    body#home .logoBlock.loadend p.copy02,
    body#article .logoBlock p.copy02 {
        font-size: 20px;
    }
    
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo01,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo01 {
        position: absolute;
        width: 89px;
        height: 0px;
        font-size: 16px;
        padding-top: 80px;
        -webkit-background-size: 89px 80px;
        background-size:  89px 80px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo02,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo02 {
        position: absolute;
        width: 102px;
        height: 18px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo03,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo03 {
        position: absolute;
        width: 102px;
        height: 14px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo02,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo02 { top: 22px; left: 98px; }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo03,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo03 { top: 48px; left: 98px; }
    body#home .logoBlock h1#siteID a span.logo04,
    body#article .logoBlock h1#siteID a span.logo04 {
        height: 2vw;
    }
    
}/*==== // end @media */

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

    body#home .logoBlock.loadend.fixed,
    body#article .logoBlock {
        height: 70px;
        min-height: 70px;
    }
    body#home .logoBlock .logo-bs11,
    body#home .logoBlock.loadend .logo-bs11,
    body#article .logoBlock .logo-bs11 {
        top: 7px;
        left: calc( 100vw - 143px );
        width: 60px;
    }
    body#home .logoBlock .logo-mmpj {
        top:15vw;
    }
    body#home .logoBlock.loadend .logo-mmpj {
        top: 5.4vw;
        left: 6vw;
    }

    body#home h2.copy01,
    body#article h2.copy01 {
        top: 70vw;
    }
    body#home p.copy02,
    body#article p.copy02 {
        top: 86vw;
    }

    body#home p.copy03,
    body#article p.copy03 {
        top: 98vw;
    }
    body#home .logoBlock.loadend h2.copy01,
    body#article .logoBlock h2.copy01 {
        top: 22vw;
        left: 38vw;
        line-height: 1.5;
        font-size: 14px;
        letter-spacing: 0px;
    }
    body#home .logoBlock.loadend p.copy02,
    body#article .logoBlock p.copy02 {
        left: 38vw;
        font-size: 18px;
        letter-spacing: 0.05em;
    }
    
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo01,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo01 {
        position: absolute;
        width: 78px;
        height: 0px;
        font-size: 15px;
        padding-top: 70px;
        -webkit-background-size: 78px 70px;
        background-size:  78px 70px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo02,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo02 {
        position: absolute;
        width: 89px;
        height: 13px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo03,
    body#article .logoBlock  .logo-mmpj h1#siteID a span.logo03 {
        position: absolute;
        width: 89px;
        height: 12px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo02,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo02 { top: 18px; left: 80px; }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo03,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo03 { top: 40px; left: 80px; }

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

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

    body#home .logoBlock.loadend h2.copy01,
    body#article .logoBlock h2.copy01 {
        left: 38vw;
        font-size: 13px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 400px)  {
    
    body#home .logoBlock.loadend .logo-mmpj.fixed,
    body#article .logoBlock .logo-mmpj {
        top: -3px;
        left: -2px;
    }
    body#home .logoBlock.loadend.fixed,
    body#article .logoBlock {
        height: 60px;
        min-height: 60px;
    }
    body#home .logoBlock .logo-bs11,
    body#home .logoBlock.loadend .logo-bs11,
    body#article .logoBlock .logo-bs11 {
        top: 6px;
        left: calc( 100vw - 125px );
        width: 56px;
    }
    body#home .logoBlock .logo-mmpj {
        top:18vw;
    }

    body#home h2.copy01,
    body#article h2.copy01 {
        top: 73vw;
    }
    body#home p.copy02,
    body#article p.copy02 {
        top: 89vw;
    }

    body#home p.copy03,
    body#article p.copy03 {
        top: 101vw;
    }
    body#home .logoBlock.loadend h2.copy01,
    body#article .logoBlock h2.copy01 {
        font-size: 12px;
    }
    body#home .logoBlock.loadend p.copy02,
    body#article .logoBlock p.copy02 {
        font-size: 15px;
    }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo01,
    body#article .logoBlock .logo-mmpj h1#siteID a span.logo01 {
        position: absolute;
        width: 70px;
        height: 0px;
        font-size: 15px;
        padding-top: 63px;
        -webkit-background-size: 70px 63px;
        background-size:  70px 63px;
    }

    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo02,
    body#article .logoBlock.logo-mmpj h1#siteID a span.logo02 { top: 15px; left: 78px; }
    body#home .logoBlock.loadend.fixed .logo-mmpj.fixed h1#siteID a span.logo03,
    body#article .logoBloc .logo-mmpj h1#siteID a span.logo03 { top: 37px; left: 78px; }
    
}/*==== // end @media */

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

   
        
    body#home .logoBlock.loadend h2.copy01,
    body#article .logoBlock h2.copy01 {
        top: 20.5vw;
        left: 36vw;
        width: 18em;
        font-size: 11px;
    }
    body#home .logoBlock.loadend p.copy02,
    body#article .logoBlock p.copy02 {
        font-size: 14px;
    }

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


/*	9= detail module
-----------------------------------------------------*/
.content#project .article .sentence p {
    margin-bottom: 1.8em;
}
.content#project .article .sentence p:last-child {
    margin-bottom: 0;
}

/* clearfix */
.content#project .article .sentence p:last-child:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0px;
}
.content#project .article .sentence p:last-child { display: inline-block; }

.content#project .article .sentence img {
padding-bottom: 29px;
}


.content#project .article .sentence .mt-image-left {
    float: left;
    max-width: 55%;
    margin-right: 20px;
    margin-bottom:  20px;
}
.content#project .article .sentence .mt-image-right {
    float: right;
    max-width: 55%;
    margin-left: 20px;
    margin-bottom: 20px;
}
.content#project .article .sentence .mt-image-center {
    float: none;
    text-align: center;
    margin-bottom: 20px;
}
.content#project .article .sentence blockquote {
    background: #FFFFFF;
    padding: 1em;
    margin-bottom: 1.5em;
}
.sentence ul {
    list-style: disc;
    margin-bottom: 1.8em;
    margin-left: 2em;
}
.sentence li {
    list-style: disc;
    line-height: 1.5;
    margin-bottom: 1em;
}

@media screen and ( min-width: 1000px)  {
    
    .content#project .article .sentence p {
        font-size: 15px;
    }
     

}/*==== // end @media */
@media screen and ( min-width: 1250px)  {
    .content#project .article .sentence p {
        font-size: 16px;
    }
    .content#project .article .sentence .mt-image-left {
        margin-right: 30px !important;
        margin-bottom: 30px !important;
    } 
    .content#project .article .sentence .mt-image-right {
        margin-left: 30px !important;
        margin-bottom: 30px !important;
    }
    .content#project .article .sentence .mt-image-center {
        margin-bottom: 35px;
    }
}
@media screen and ( max-width: 768px)  {
    
    .content#project .article .sentence p {
        font-size: 15px;
    }
    .content#project .article .sentence .mt-image-left {
        margin-right: 30px !important;
        margin-bottom: 30px !important;
    } 
    .content#project .article .sentence .mt-image-right {
        margin-left: 30px !important;
        margin-bottom: 30px !important;
    } 

}/*==== // end @media */
@media screen and ( max-width: 540px)  {
    
    .content#project .article .sentence .mt-image-left {
        margin-right: 20px !important;
        margin-bottom: 20px !important;
    } 
    .content#project .article .sentence .mt-image-right {
        margin-left: 20px !important;
        margin-bottom: 20px !important;
    } 

}/*==== // end @media */
@media screen and ( max-width: 480px)  {
    
    .content#project .article .sentence p {
        font-size: 15px;
    }
    .content#project .article .sentence .mt-image-left {
        float: none;
        width: 100%;
        max-width: 100%;
        margin-right: 0 !important;
        margin-bottom: 20px !important;
    } 
    .content#project .article .sentence .mt-image-right {
        float: none;
        width: 100%;
        max-width: 100%;
        margin-left: 0 !important;
        margin-bottom: 20px !important;
    } 

}/*==== // 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%, 30% {
    opacity: 0;
    margin-top: 50px;
  }
  90% {
    opacity: 1;
    margin-top: 0px;
  }
}
@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;
  }
}
@keyframes righttoleft {
  0% {
    opacity: 0;
    right: -100%;
  }
  30% {
    opacity: 1;
  }
  90% {
    opacity: 1;
    right: -1.7%;
  }
}
@keyframes lefttoright {
  0% {
    opacity: 0;
    left: -100%;
  }
  30% {
    opacity: 1;
  }
  90% {
    opacity: 1;
    left: -1.7%;
  }
}
