@charset "utf-8";
@charset "utf-8";
#header{
	width: 100%;
}
#mainvisual li{
	background: center center no-repeat;
	background-size: cover;
}
#mainvisual li.mv_1{
	background-image: url(../images/top/mv_01.jpg?ver=1.2);
}
#mainvisual li.mv_2{
	background-image: url(../images/top/mv_02.jpg?ver=1.2);
}
#mainvisual li.mv_3{
	background-image: url(../images/top/mv_03.jpg?ver=1.2);
}
#mainvisual li.mv_4{
	background-image: url(../images/top/mv_04.jpg?ver=1.2);
}

h1{
	padding: 18px 0;
	text-align: center;
	position: relative;
	z-index: 20;
}
.head_logo_pc {
	display: none;
}
#header{
	position: fixed;
	top: 0;
	left: 0;
	background: #FFFFFF;
	width: 100%;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.1);
	z-index: 1;
}
#navigation{
   	position: fixed;
	top: 0;
	left: 0px;
	z-index: 10;
	text-align: center;
	width: 0%;
	height: 100%;
	background: #FFFFFF;
	overflow: hidden;
	z-index: 29;
}
#navigation.active{
	left: 0;
}

#navigation li{
	display: block;
	line-height: 250%;
	width: 100%;
}
#navigation li a{
	color: #505050;
	font-family: 'M PLUS 1p', serif;
	font-size: 0.9em;
	padding: 0 15px;
	position: relative;
	vertical-align: baseline;
}
#navigation li.social a:after{
	display: none;
}
#navigation li.social_pc{
	display: none;
}
#navigation li a:after{
	width: 0%;
	background-color: #505050;
	content: '';
	position: absolute;
	bottom: -5px;
	left: 5%;
	height: 1px;
}
#navigation li.active a:after{
	width: 90%;
}

#navigation li a:hover{
	text-decoration: none;
}

#navigation li a img{
	position: relative;
	top: 4px;
}
p#copyrights{
	line-height: 273px;
	text-align: center;
	font-family: 'M PLUS 1p', serif;
}
#mainvisual{
	position: relative;
	width: 100%;
	height: 100%;
	z-index: -1;
	height: 500px;
}
#mainvisual li{
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
}
#mainvisual li:first-child{
	display: block;
}
p#sp_menu{
    cursor: pointer;
    width: 28px;
    height: 18px;
    z-index: 30;
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    position: fixed;
    top: 35px;
    left: 8%
}
p#sp_menu a {
    position: relative
}

p#sp_menu a, p#sp_menu a::after, p#sp_menu a::before {
    display: block;
    width: 28px;
    height: 1px;
    background-color: #2d2d2d;
    -moz-transition-property: background-color, -moz-transform;
    -o-transition-property: background-color, -o-transform;
    -webkit-transition-property: background-color, -webkit-transform;
    transition-property: background-color, transform;
    -moz-transition-duration: .4s;
    -o-transition-duration: .4s;
    -webkit-transition-duration: .4s;
    transition-duration: .4s
}

p#sp_menu a::after, p#sp_menu a::before {
    position: absolute;
    content: ""
}

p#sp_menu a::before {
    top: -5px
}

p#sp_menu a::after {
    top: 5px
}

p#sp_menu.active a {
    background-color: transparent
}

p#sp_menu.active a::before {
    -moz-transform: translateY(5px) rotate(45deg);
    -ms-transform: translateY(5px) rotate(45deg);
    -webkit-transform: translateY(5px) rotate(45deg);
    transform: translateY(5px) rotate(45deg);
    background-color: #2d2d2d
}

p#sp_menu.active a::after {
    -moz-transform: translateY(-5px) rotate(-45deg);
    -ms-transform: translateY(-5px) rotate(-45deg);
    -webkit-transform: translateY(-5px) rotate(-45deg);
    transform: translateY(-5px) rotate(-45deg);
    background-color: #2d2d2d
}



#sub01 #header{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.1);

}

#sub01 #mainvisual{
	background: center center no-repeat;
	background-size: cover;
	background-image: url(../images/sub/bg_01.jpg?ver=1.3);
	background-position: -292vw;
}
#sub02 #mainvisual{
	background: center center no-repeat;
	background-size: cover;
	background-image: url(../images/sub/bg_02.jpg?ver=1.3);
	background-position: -1134px;
}
#sub03 #mainvisual{
	background: center center no-repeat;
	background-size: cover;
	background-image: url(../images/sub/bg_03.jpg?ver=1.4);
	background-position: -183vw center;
}
#sub04 #mainvisual{
	background: center center no-repeat;
	background-size: cover;
	background-image: url(../images/sub/bg_04@sp.jpg);
	background-position: -1532px;
}
#top .container{
	background: none;
}
.container{
	background: #FFFFFF;
}
.cont1 h2{
	text-align: center;
	font-family: 'M PLUS 1p', serif;
	font-size: 1.3em;
	margin: 130px 0;
}
.cont1 h3{
	text-align: center;
	font-family: 'M PLUS 1p', serif;
	font-size: 1.3em;
	margin: 120px 0;
}
.cont1 p{
	text-align: center;
}
.cont1 p img{
	max-width: 80%;
	height: auto;
}
.cont1 div.cap{
	margin: 100px 0;
	padding: 50px 0;
	position: relative;
}
.cont1 div.cap:after{
	content: "";
	display: block;
	height: 1px;
	border-top: 1px solid #bdc5c5;
	width: 50%;
	position: absolute;
	top: 0;
	left: 0;
}

.cont1 div.cap:before{
	content: "";
	display: block;
	height: 1px;
	border-top: 1px solid #bdc5c5;
	width: 50%;
	position: absolute;
	bottom: 0;
	right: 0;
}
.cont2{
	border-top: 1px solid #bdc5c5;
	margin-top: 130px;
}
.hsw_list{
	text-align: center;
}

.hsw_list li{
	display: inline-block;
	text-align: left;
	margin: 20px;
}
.hsw_list li img{
	display: block;
	padding-bottom: 5px;
}
.hsw_list li a{
	color: #000000;
	font-family: 'M PLUS 1p', serif;
}

.hsw_mt {
	margin-top: 120px;
}
.hsw_mb {
	margin-bottom: 60px;
}
.hsw_img_col {
	width: 80%;
	margin: 0 auto 60px;
}
.hsw_img_col__1,
.hsw_img_col__2 {
	margin-bottom: 60px;
}
.hsw_img_col img {
	width: 100%;
	height: auto;
}

.cont1 div.col50prL h3{
	margin-bottom: 60px;
}
.cont1 div.col50prR h3{
	margin-bottom: 60px;
}


.md_list{
	text-align: center;
}
.md_list li{
	display: inline-block;
	margin: 20px;
	text-align: left;
}
.md_list img{
	display: block;
	margin-bottom: 10px;
}
.md_list li{
	font-size: 1.3em;
	color: #000000;
}
.md_list li span{
	font-size: 0.7em;
	color: #505050;
	padding-left: 10px;
}
.md_list a:hover{
	text-decoration: none;
}
.container{
	width: 90%;
	margin: 0 5%;
}
table{
	width: 100%;
	margin: 120px auto;
}
table th{
	padding: 0 20px 20px 20px;
	text-align: left;
	vertical-align: top;
	border-right: 1px solid #000000;
}
table td{
	padding: 0 20px 20px 20px;
}
.mbl{
	margin-bottom: 60px;
}



#overlay{
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5000;
	display: none;
	background: rgba(0,0,0,0.8);
}
.obg{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#popup{
	width: 80%;
	height: 100%;
	margin: 0 auto;
}
#overlay p.mc {
	position: relative;
	text-align: center;
	width: 100%;
	height:80%;
	margin: 0;
	top: 10%;
	padding-bottom: 100px;
	text-align: center;
	z-index: -11;
}
#overlay p.mc:before{
    content:"";
    display: inline-block;
    height:100%;
    vertical-align: middle;
    font-size: 0;
}
#overlay p.mc img{
	max-height: 100%;
	max-width: 100%;
	height: auto;
	width: auto;
	padding: 0;
	vertical-align: middle;
}
#overlay p.mc span{
	display: block;
	text-align: center;
	color: #FFFFFF;

	width: 100%;
	position: absolute;
	top: 90%;
	left: 0;
}



#overlay ul{
	position: absolute;
	top: 0;
	left: 0;
}
#overlay a.close{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	line-height: 50px;
	color: #FFFFFF;
	cursor: pointer;
	width: 50px;
	height: 50px;
	text-align: center;
	z-index: 33334;
	cursor: pointer;
}
#overlay a.close:hover{
	text-decoration: none;
}


#overlay ul.prevnext{
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -25px;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
	z-index: 50000;
	padding: 0 2%;
}
#overlay ul.prevnext li a{
	color: rgba(255,255,255,0.7);
	font-size: 50px;
	line-height: 50px;
	cursor: pointer;

}
#overlay ul.prevnext li a:hover{
	text-decoration: none;
}

#overlay ul.prevnext li.prev{
	float: left;
}
#overlay ul.prevnext li.next{
	float: right;
}



p.c1{
	font-size: 1.1em;
	text-align: left;
	text-indent: 3em;
}
p.c2{
	text-align: right;
	font-size: 1.8em;
}
p.c3{
	font-size: 1.1em;
	text-indent: -2.5em;
	text-align: left;
	text-indent: 2em;
}
.trl .col50prL p.c4{
	font-size: 1.1em;
	padding-top: 40px;
	margin-bottom: 20px;
	text-indent: -7em;
}
.trl .col50prL p.c5{
	font-size: 1.1em;
	text-indent: 3em;
	margin-bottom: 20px;
}
.trl .col50prL p.c6{
	font-size: 1.1em;
	text-indent: 11em;
	margin-bottom: 40px;
}



/**
 * 追加css
 */
/* 共通 */
#maincontents {
	padding-top: 93px;
}
.hsw_list {
	text-align: left;
	margin: auto;
	width: 98%;
}
.cont1 .backlink {
	padding: 60px 55px;
	font-size: 18px;
	text-align: right;
}
.cont1 .backlink > a {
	text-decoration: underline;
}
.cont1 .backnumberAnchor {
	margin-top: 27px;
	padding-top: 93px;
}
.cont1 .backnumberTitle {
	margin-top: 0;
	padding-top: 120px;
	border-top: 1px solid #bdc5c5;
}


.mainvisual__logo img {
	max-width: 100%;
}

/* top */
#mainvisual {
	height: 100vw!important;
}

/* accessory */
.mainvisual__logo.mainvisual__logo--accessory {
	position: absolute;
	width: 220px;
	height: 52px;
	left: 0;
	right: 0;
	top: 100px;
	bottom: 112px;
	margin: auto;
}
.mainvisual__logo.mainvisual__logo--accessory > img {
	width: 100%;
}

/* oro  */
.mainvisual__logo.mainvisual__logo--oro {
	position: absolute;
	width: 210px;
	height: 15px;
	left: 0;
	right: 0;
	top: auto;
	bottom: 49vw;
	margin: 0 auto;
}
.mainvisual__logo.mainvisual__logo--oro > img {
	max-width: 100%;
}

/* works */
.mainvisual__logo.mainvisual__logo--works {
	position: absolute;
	width: 378px;
	height: 34px;
	left: 0;
	right: 0;
	top: 0;
	bottom: 17px;
	margin: auto;
}
.worksText__text {
	font-size: 9px;
}
.cont1 p .worksImg {
	position: relative;
	right: 4px;
	max-width: 88%;
}
.cont1 p .worksImg2 {
	position: relative;
}
.worksTable {
}
.worksTable th {
	width: 22%;
}
.worksTable__text {
	display: block;
	margin-bottom: 15px;
	line-height: 2.5;
	font-size: 15px;
}
.worksTable__text:last-of-type {
	margin-bottom: 0;
}
.worksTable dl {
	margin-bottom: 15px;
}
.worksTable dl:last-of-type {
	margin-bottom: 0;
}
.worksTable dl dt,
.worksTable dl dd {
	font-size: 15px;
}

/* hand */
.mainvisual__logo.mainvisual__logo--hand {
	/*
	position: absolute;
	width: 268px;
	height: 165px;
	right: 0;
	bottom: 10px;
	margin: auto;
	top: 0;
	left: 0;
	*/

	position: absolute;
	width: 270px;
	height: 15px;
	left: 0;
	right: 0;
	top: 0;
	bottom: 5vw;
	margin: auto;
	left: 0;
	top: 9vw;
}
.mainvisual__logo.mainvisual__logo--hand img {
	max-width: 100%;
}

/* utility */
.visible-sp {
	display: block;
}
.visible-pc {
	display: none;
}
