@charset "UTF-8";

/* /////////////////////////////////////////////// */

/* template CSS */

/* /////////////////////////////////////////////// */
html {
background-image: url(../img/h2_bg.jpg);
background-repeat: repeat;
}
body {
font-size: 1em;
background-color: #F2F2F2;
}

#header,
#header h1,
#header h1 a,
#crumbs,
#wrapper,
#pickup,
#footer {
transition: 0.3s ease-in-out;
}

/* ----------------------------------------------------------------------------------------------------------- */
/* 汎用 */
/* ----------------------------------------------------------------------------------------------------------- */
a {
color: #06C;
}
a:not(#go_top) {
transition: 0.3s ease-in-out;
}
a:hover {
color: #F90;
text-decoration: none;
}
a[target="_blank"]:after {
content: url(../img/icon_blank.png);
margin: -0.1em 0.5em 0.1em 0.3em;
display: inline-block;
vertical-align: middle;
}

h2, h3, h4, h5, h6 {
font-family: "Noto Sans Japanese";
font-weight: 200;
}
h2 {
font-size: 2rem;
line-height: 100%;
}

.stoper::after {
content: " ";
height: 0;
display: block;
visibility: hidden;
clear: both;
}

#contents h2.contents-head {
width: 100%;
position: absolute;
top: 0;
left: 0;
}
#contents h2.contents-head span {
margin-bottom: 20px;
display: block;
line-height: 220px;
color: #FFF;
font-size: 50px;
font-weight: 100;
text-align: center;
background-color: #333;
background-image: url(../img/h2_bg.jpg);
background-repeat: repeat;
box-shadow: 0 0 15px 0 #000 inset;
text-shadow: 0 2px 3px #000;
}
#contents h3,
#contents .blog-description + p {
margin-bottom: 15px;
padding: 10px 15px;
color: #FFF;
font-weight: bold;
font-size: 1.3rem;
background-color: #06C;
background-image: url(../img/h3_bg.jpg);
background-repeat: repeat;
border-radius: 4px;
box-shadow: 1px 1px 2px 0 rgba(0,0,0,0.4) inset;
}
#contents h3 a {
color: #FFF;
text-decoration: none;
}
#contents h4 {
margin: 0 0px 10px;
padding: 8px 12px;
display: inline-block;
color: #F90;
font-size: 1.1rem;
font-weight: normal;
background-color: #F9F9F9;
border: 1px solid #F90;
border-radius: 4px;
}
#contents p {
margin-bottom: 15px;
padding: 0 20px;
color: #666;
word-wrap: break-word;
overflow-wrap: break-word;
}
#contents strong {
color: #000;
}
#contents span[style] strong {
color: inherit;
}
#contents hr {
height: 0;
border: none;
border-bottom: 1px dashed #999;
}

.pagination {
text-align: center;
font-size: 0;
}
.pagination * {
vertical-align: bottom;
}
.pagination a,
.pagination .current,
.pagination .disabled {
min-width: 2.6em;
margin: 0 1px;
padding: 0 15px;
line-height: 2.6em;
font-size: 1.1rem;
display: inline-block;
text-decoration: none;
border-radius: 2px;
}
.pagination .disabled {
color: #AAA;
background-color: #DDD;
}
.pagination a {
color: #FFF;
background-color: #06C;
}
.pagination a:hover {
background-color: #F90;
}
.pagination .current {
margin: 0 2px;
color: #F90;
font-weight: bold;
background-color: #FFF;
box-shadow: 0 0 2px 0 #999;
}

table {
width: 100%;
}
table th,
table td {
padding: 10px 15px;
background-color: #FCFCFC;
border-bottom: 5px solid #F2F2F2;
}
table th {
width: 25%;
text-align: left;
background-color: #FFF;
border-right: 1px solid #EEE;
}
input[type="text"],
input[type="number"],
input[type="password"],
textarea {
    height: 40px;
    margin-bottom: 5px;
    padding: 0;
    color: #888;
    font-size: 0.9rem;
    text-indent: 0.5rem;
    background-color: #E3E3E3;
    border: none;
    border-left: 1px solid rgba(0,0,0,0.25);
    border-top: 1px solid rgba(0,0,0,0.25);
    border-radius: 3px;
    box-sizing: border-box;
}
input[type="text"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
textarea:focus {
color: #222;
background-color: #FED;
}
textarea {
width: 100%;
height: auto;
padding-top: 10px;
}
.select_box {
display: inline-block;
position: relative;
}
.select_box:after {
content: "";
width: 0;
height: 0;
margin-top: -5px;
display: block;
position: absolute;
top: 50%;
right: 10px;
border: 6px solid transparent;
border-top: 8px solid #666;
pointer-events: none;
}
select {
min-width: 120px;
height: 40px;
margin-bottom: 5px;
padding: 0 30px 0 10px;
font-size: 0.9rem;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid rgba(0,0,0,0.1);
border-right-color: rgba(0,0,0,0.25);
border-bottom-color: rgba(0,0,0,0.25);
border-radius: 4px;
}

*:not(:empty) + input {
margin-left: 5px;
}
input + * {
margin-right: 5px;
}
.required {
visibility: hidden;
}
.required:before {
margin: -0.2em 0 0.2em 0.5em;
visibility: visible;
}

#MailMessageIndexForm .normal {
visibility: hidden;
}

.submit {
text-align: center;
}
input[type="submit"],
input[type="reset"] {
min-width: 120px;
height: 40px;
margin-bottom: 5px;
padding: 0 10px;
font-size: 0.9rem;
background-color: #FFF;
border: 1px solid rgba(0,0,0,0.1);
border-right-color: rgba(0,0,0,0.25);
border-bottom-color: rgba(0,0,0,0.25);
border-radius: 4px;
}
input[type="submit"][disabled="disabled"],
input[type="reset"][disabled="disabled"] {
opacity: 0.5;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* header */
/* ----------------------------------------------------------------------------------------------------------- */
#header {
width: 260px;
position: fixed;
top: 0;
left: 0;
bottom: 0;
background-color: #FFF;
}
#header h1 {
padding: 40px;
}
#header h1 a {
width: 180px;
height: 197px;
display: block;
overflow: hidden;
text-indent: 200%;
white-space: nowrap;
background-image: url(../img/logo.png);
}
#header ul {
margin: 0;
padding: 0;
}
#header ul li {
margin: 0;
padding: 0;
list-style: none;
}
#header ul li a {
padding: 20px;
display: block;
color: #333;
font-family: "Noto Sans Japanese";
font-weight: 200;
font-size: 20px;
text-align: center;
text-decoration: none;
}
#header ul li a:hover {
color: #F90;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* パンくず */
/* ----------------------------------------------------------------------------------------------------------- */
#crumbs {
margin: 0 0 0 260px;
padding: 10px 15px;
overflow: hidden;
white-space: nowrap;
color: #FFF;
font-size: 0.85rem;
text-overflow: ellipsis;
background-color: #2C2C2C;
border-left: 1px solid #000;
border-right: 15px solid #2C2C2C;
}
#crumbs a {
margin: 0 0.5em;
padding: 0 0.5em;
display: inline-block;
vertical-align: top;
line-height: 26px;
text-decoration: none;
font-family: Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace;
color: #000;
background-color: #EEE;
border: 1px solid #000;
border-radius: 3px;
}
#crumbs a:hover {
background-color: #FC6;
}
#crumbs a:first-child {
margin-left: 0;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* wrapper */
/* ----------------------------------------------------------------------------------------------------------- */
#wrapper {
margin: 0 0 0 260px;
position: relative;
display: flex;
}
#contents {
width: 100%;
padding: 250px 0 30px 30px;
border-left: 1px solid #DDD;
border-left: 1px solid #E3E3E3;
}
#Home #contents {
padding-top: 30px;
display: flex;
}
#Home #contents > * {
width: 50%;
}
#post-detail {
margin-bottom: 20px;
}
.post_footer {
margin-bottom: 20px;
padding: 10px 20px;
text-align: right;
background-color: #FFF;
border-top: 1px solid #CCC;
border-left: 1px solid #CCC;
border-radius: 3px;
}
#contentsNavi {
margin-bottom: 20px;
text-align: center;
display: flex;
align-items: center;
color: #F2F2F2;
}
#contentsNavi a {
width: 50%;
padding-left: 50px;
position: relative;
text-align: left;
box-sizing: border-box;
}
#contentsNavi a:hover,
#contentsNavi a:hover {
text-decoration: none;
}
#contentsNavi a:last-child {
padding-left: 0;
padding-right: 50px;
text-align: right;
}
#contentsNavi a:before,
#contentsNavi a:after {
content: "";
width: 40px;
height: 10px;
margin-top: -16px;
display: block;
position: absolute;
top: 50%;
left: 0;
background-color: #DDD;
border-radius: 2px;
transform: rotate(45deg);
}
#contentsNavi a:hover:before,
#contentsNavi a:hover:after {
background-color: #AAA;
}
#contentsNavi a:last-child:before,
#contentsNavi a:last-child:after {
left: auto;
right: 0;
}
#contentsNavi a:after {
margin-top: 6px;
}
#contentsNavi a:before {
transform: rotate(-45deg);
}
#contentsNavi a:last-child:before {
margin-top: 6px;
transform: rotate(-45deg);
}
#contentsNavi a:last-child:after {
margin-top: -16px;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* pick up */
/* ----------------------------------------------------------------------------------------------------------- */
#pickup {
    margin: 0 0 0 260px;
    background-color: #000;
    background-image: url(../img/h2_bg.jpg);
    background-repeat: repeat;
}
#panel {
    height: 393px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}
#panel:after {
content: "";
width: 1px;
height: 100%;
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
background-color: rgba(0,0,0,0.1);
z-index: 9;
}
#panel li {
width: 100%;
height: 393px;
position: absolute;
list-style: outside none none;
}
#panel a {
width: 100%;
height: 393px;
display: block;
background-position: center top;
text-align: center;
}
#thumbnail {
margin: 0 auto;
}
#thumbnail ul {
margin: 0;
padding: 20px 0;
}
#thumbnail li {
width: 120px;
height: 40px;
margin: 0 5px;
display: inline-block;
vertical-align: bottom;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* 新着 */
/* ----------------------------------------------------------------------------------------------------------- */
#Home #contents h2 {
height: 0.6em;
margin-bottom: calc(0.6em + 25px);
border-bottom: 2px solid #06C;
}
#Home #contents #news h2 {
border-bottom-color: #F90;
}
#Home #contents h2 a {
padding-right: 10px;
display: inline-block;
color: #F90;
font-size: 2.4rem;
font-weight: 100;
text-decoration: none;
background-color: #F2F2F2;
text-shadow: 1px 1px 0 #FFF;
}
#news {
padding-right: 15px;
}
#blog {
padding-left: 15px;
}
#Home #blog h2 a {
color: #06C;
}
#Home #contents dl {
padding-left: 5px;
}
#Home #contents dt {
width: 5em;
margin: 0 -5em 15px 0;
padding: 0.6em 0;
position: relative;
float: left;
clear: both;
color: #CCC;
font-size: 0.85rem;
background-color: #06C;
border-radius: 2px;
box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);
}
#Home #contents #news dt {
background-color: #F90;
}
#Home #contents dt:after {
content: "";
width: 0;
height: 0;
display: block;
position: absolute;
margin-top: -8px;
top: 1.5em;
right: -18px;
border: 8px solid transparent;
border-left-width: 10px;
border-left-color: #06C;
}
#Home #contents #news dt:after {
border-left-color: #F90;
}

#Home #contents dt span {
display: block;
text-align: center;
line-height: 100%;
color: #FFF;
opacity: 0.5;
}
#Home #contents dt span:first-child + span {
opacity: 0.75;
}
#Home #contents dt span:last-child {
font-size: 2rem;
opacity: 1;
}
#Home #contents dt span:first-child + span + span:after {
font-size: 0.5rem;
}
#Home #contents dd {
margin-bottom: 15px;
padding: 0 0 14px 5.3em;
border-bottom: 1px dashed #CCC;
box-sizing: content-box;
}
#Home #contents dd a {
height: 4.5em;
display: block;
overflow: hidden;
line-height: 150%;
color: #000;
text-decoration: none;
text-overflow: ellipsis;
}
#Home #contents dd a:hover {
color: #06C;
}
#Home #contents #news dd a:hover {
color: #F90;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* 会社概要 */
/* ----------------------------------------------------------------------------------------------------------- */
#main dl dt {
width: 8.2em;
margin: 0 -8.2em 15px 0;
padding-bottom: 15px;
float: left;
clear: both;
}
#main dl dd {
width: 100%;
margin: 0 0 15px 0;
padding: 0 0 15px 9em;
float: left;
color: #666;
border-bottom: 1px solid #DDD;
}
#main dl ul {
margin: 0 0 40px;
}
#main ul li {
margin-bottom: 10px;
list-style: circle;
}
#main dl ul li {
margin: 0 0 15px 1em;
list-style: none;
}
#contents dl.stoper dd ul {
margin: 0;
padding: 0;
}
#contents dl.stoper dd ul li {
margin: 0 0 5px;
padding: 0;
list-style: none;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* 業務内容 */
/* ----------------------------------------------------------------------------------------------------------- */
#works_list {
margin: 0 0 30px;
padding: 0;
display: flex;
justify-content: space-between;
}
#works_list:after {
display: none;
}
#works_list li {
width: 24%;
margin: 0;
padding: 0 0 180px;
position: relative;
list-style: none;
text-align: left;
background-color: #FCFCFC;
border-radius: 4px;
box-shadow: 0 1px 3px 0 rgba(0,0,0,0.3);
}
#works_list li dt a {
padding: 15px 0;
display: block;
line-height: 100%;
font-size: 21px;
font-family: "Noto Sans Japanese";
font-weight: 200;
text-align: center;
text-decoration: none;
background-color: #FFF;
border-bottom: 1px solid #DDD;
border-radius: 4px 4px 0 0;
}
#works_list li dd {
padding: 15px;
color: #666;
}
#works_list .go_detail {
height: 40px;
display: block;
position: absolute;
bottom: 5px;
left: 5px;
right: 5px;
overflow: hidden;
white-space: nowrap;
text-indent: 300%;
background-color: #06C;
border-right: 1px solid rgba(0,0,0,0.2);
border-bottom: 1px solid rgba(0,0,0,0.2);
border-radius: 0 0 4px 4px;
background-color: #F90;
border-radius: 2px;
}
#works_list .go_detail:after {
content: "詳しく見る";
margin-top: -0.5em;
display: block;
position: absolute;
top: 50%;
left: 0;
right: 0;
line-height: 100%;
color: #FFF;
text-align: center;
text-indent: 0;
}
#works_list li > img {
width: 120px;
margin-left: -60px;
position: absolute;
bottom: 60px;
left: 50%;
opacity: 0.75;
}


#works_list li {
padding: 0;
}
#works_list li dd {
padding: 145px 15px 55px;
}
#works_list li > img {
width: 110px;
margin-left: -55px;
top: 72px;
bottom: auto;
}

#main #results dl dt {
width: 30%;
margin: 0;
padding: 0;
color: #333;
font-weight: bold;
}
#main #results dl dd {
width: 70%;
padding: 0 0 0 20px;
border-bottom: none;
}
#results .site a[target="_blank"]:after {
display: none;
}

#main #results {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#main #results > dl {
width: 100%;
}
#main #results > dl.site {
width: 32%;
overflow: hidden;
background-color: #FCFCFC;
border-radius: 4px;
box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}
#main #results > div.border {
width: 100%;
margin-top: 0;
}
#main #results > div.border hr {
margin: 0;
}
#main #results > .site + div.border {
display: none;
}
#main #results > dl.site dt {
width: 100%;
float: none;
}
#main #results dl dt a {
display: block;
padding: 8px;
text-align: center;
background-color: transparent;
background-color: #FFF;
border-bottom: 1px solid #DDD;
}
#main #results dl img {
border: none;
}
#main #results > dl.site dd {
width: 100%;
padding: 15px;
float: none;
}
#main #results > dl.site dd strong a {
margin-bottom: 10px;
display: block;
line-height: 120%;
font-weight: bold;
font-size: 1.1rem;
text-decoration: none;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* ブログ */
/* ----------------------------------------------------------------------------------------------------------- */
#contents .blog-description + p {
padding: 20px 0;
text-align: center;
background-image: url(../img/h3_bg.jpg);
background-repeat: repeat;
}
#contents .blog-description + p u {
text-decoration: none;
}
#contents .blog-description + p strong {
color: #FFF;
font-weight: normal;
}

.blog_title {
padding: 15px 20px;
background-color: #FFF;
border-left: 10px solid #F90;
box-shadow: 1px 1px 0 0 rgba(0,0,0,0.1);
}
.blog_title a {
color: #06C;
font-size: 1.3rem;
font-weight: bold;
text-decoration: none;
}
.blog_title a:hover {
color: #F90;
}
.blog_content {
margin-bottom: 30px;
padding: 15px 20px 20px;
background-color: #FCFCFC;
border-left: 10px solid #DDD;
border-top: 1px solid #E3E3E3;
box-shadow: 1px 1px 0 0 rgba(0,0,0,0.1);
}
#contents .blog_content p {
padding: 0;
}
.more {
text-align: right;
}
.more a {
padding: 5px 12px 7px;
display: inline-block;
line-height: 100%;
color: #FFF;
text-decoration: none;
background-color: #06C;
border-radius: 3px;
box-shadow: 2px 2px 0 0 rgba(0,0,0,0.15);
}
.more a:hover {
background-color: #F90;
}
.blog_footer {
color: #999;
font-size: 0;
text-align: right;
}
.blog_footer li {
margin: 0;
padding: 0 10px;
display: inline-block;
line-height: 100%;
font-size: 1rem;
vertical-align: bottom;
list-style: none;
color: #999;
border-right: 1px solid #666;
}
.blog_footer li:first-child {
border-left: 1px solid #666;
}
.blog_footer li:last-child {
display: none;
}
.blog_footer li:empty {
width: 0px;
height: 1em;
padding: 0;
border-right: none;
}


/* ----------------------------------------------------------------------------------------------------------- */
/* サイトマップ */
/* ----------------------------------------------------------------------------------------------------------- */
#Sitemap #contents > ul.menu {
margin: 0;
padding: 0;
border-top: 1px dashed #CCC;
}
#Sitemap #contents > ul.menu > li {
margin: 0;
padding: 15px 0;
list-style: none;
border-bottom: 1px dashed #CCC;
}
#Sitemap #contents > ul.menu > li > a {
display: block;
position: relative;
}
#Sitemap #contents > ul.menu > li > a:before {
content: "";
width: 0;
height: 0;
margin-right: 0.5em;
display: inline-block;
border: 5px solid transparent;
border-left: 7px solid #F90;
}
#Sitemap #contents > ul.menu > li ul {
margin-bottom: -5px;
padding-top: 10px;
}
#Sitemap #contents > ul.menu > li li {
margin-bottom: 10px;
display: inline-block;
}
#Sitemap #contents > ul.menu > li li a {
display: block;
padding: 13px 15px 15px 15px;
line-height: 100%;
color: #666;
text-decoration: none;
background-color: #FFF;
border-right: 1px solid rgba(0,0,0,0.2);
border-bottom: 1px solid rgba(0,0,0,0.2);
border-radius: 3px;
}
#Sitemap #contents > ul.menu > li li a:hover {
color: #F90;
border-right-color: transparent;
border-bottom-color: transparent;
}



/* ----------------------------------------------------------------------------------------------------------- */
/* side_box */
/* ----------------------------------------------------------------------------------------------------------- */
#side_box {
width: 240px;
padding: 250px 30px 30px;
position: static;
}
#Home #side_box {
padding-top: 30px;
}
#side_box h2 {
margin-bottom: 10px;
padding: 10px 0;
font-size: 1.1rem;
text-align: center;
border-top: 3px double #CCC;
border-bottom: 3px double #CCC;
}
#side_box > .btn {
width: 100%;
height: 40px;
margin-bottom: 5px;
padding: 0;
line-height: 38px;
color: #000;
font-size: 1rem;
font-weight: bold;
text-align: center;
text-decoration: none;
background-color: #FFF;
border-right: 1px solid rgba(0,0,0,0.25);
border-bottom: 1px solid rgba(0,0,0,0.25);
}
#side_box > .btn:hover {
background-color: #FC6;
}

.search-box {
margin-bottom: 25px;
position: relative;
}
.search-box input[type="text"] {
width: 100%;
height: 40px;
padding: 0;
color: #888;
font-size: 0.9em;
text-indent: 0.5rem;
background-color: #E3E3E3;
border: none;
border-left: 1px solid rgba(0,0,0,0.25);
border-top: 1px solid rgba(0,0,0,0.25);
border-radius: 3px;
box-sizing: border-box;
}
.search-box input[type="text"]:focus {
color: #000;
}
.search-box input[type="image"] {
position: absolute;
top: 7px;
right: 7px;
}

#side_box ul {
margin: 0 0 25px;
padding: 0;
}
#side_box li {
margin: 0 0 5px;
padding: 0;
list-style: none;
}
#side_box li a.btn {
width: 160px;
height: 50px;
padding: 0;
display: block;
overflow: hidden;
text-indent: 200%;
white-space: nowrap;
}
#side_box ul:not(#bunner) li a:before {
content: "";
width: 0;
height: 0;
display: inline-block;
border: 5px solid transparent;
border-left: 7px solid #FC0;
}



/* ----------------------------------------------------------------------------------------------------------- */
/* footer */
/* ----------------------------------------------------------------------------------------------------------- */
#go_top {
width: 70px;
height: 70px;
display: block;
position: fixed;
right: 30px;
bottom: 30px;
overflow: hidden;
white-space: nowrap;
text-indent: 200%;
border: 8px solid #999;
border-radius: 100%;
box-shadow: 0 2px 3px 0 rgba(0,0,0,0.3);
z-index: 9;
}
#go_top:hover {
border-color: #666;
}
#go_top:before,
#go_top:after {
content: "";
width: 30px;
height: 8px;
margin-top: -5px;
margin-left: -22px;
display: block;
position: absolute;
top: 50%;
left: 50%;
background-color: #999;
border-radius: 3px;
transform: rotate(-45deg);
}
#go_top:after {
margin-left: -7px;
transform: rotate(45deg);
}
#go_top:hover:before,
#go_top:hover:after {
background-color: #666;
}

#footer {
margin-left: 260px;
padding: 30px;
position: relative;
color: #FFF;
background-color: #333;
background-image: url(../img/h2_bg.jpg);
background-repeat: repeat;
}
#footer ul {
margin: 0;
padding: 0;
font-size: 0;
}
#footer ul li {
margin: 0;
padding: 0;
list-style: none;
font-size: 0.85rem;
display: inline-block;
}
#footer a {
color: #FFF;
text-decoration: none;
}
#footer #foot_nav {
margin-bottom: 10px;
border-left: 1px dotted #999;
}
#foot_nav li a {
padding: 2px 10px;
border-right: 1px dotted #999;
}
#CopyRight {
color: #999;
}
#foot_nav li a:hover,
#CopyRight a:hover {
color: #FC0;
}

#header #social {
width: 150px;
margin: 30px auto 0;
display: flex;
}
#social a {
width: 40px;
height: 40px;
margin: 0 5px;
display: block;
overflow: hidden;
text-indent: 60px;
text-align: left;
white-space: nowrap;
background-size: cover;
}
#twitter {
background-color: #1da1f2;
background-image: url(../img/twitter.png);
}
#facebook {
background-color: #3c5a98;
background-image: url(../img/facebook.png);
}
#rss {
background-color: #F90;
background-image: url(../img/rss.png);
}










/* /////////////////////////////////////////////////////////////////////////////////////// */
/* 1260px */
/* /////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (max-width: 1261px) {
#header {
width: 100%;
height: 187px;
position: relative;
background-color: #FCFCFC;
}
#Home #header {
height: 235px;
}
#header h1 {
padding: 30px;
position: absolute;
top: 0;
left: 0;
background-color: #FFF;
box-shadow: 0 0 0 1px rgba(0,0,0,0.1);
z-index: 9;
}
#header h1 a {
width: 150px;
height: 175px;
background-size: 100%;
}
#header ul.stoper {
padding: 58px 0 0 30px;
text-align: center;
}
#Home #header ul.stoper {
padding-top: 82px;
}
#header ul.stoper li {
width: 10%;
min-width: 64px;
display: inline-block;
vertical-align: bottom;
}
#header ul.stoper li a {
padding: 55px 0 0;
line-height: 100%;
font-size: 16px;
background-position: center top;
}
#header ul.stoper li:nth-of-type(1) a { background-image: url(../img/menu_icon1.png); }
#header ul.stoper li:nth-of-type(2) a { background-image: url(../img/menu_icon2.png); }
#header ul.stoper li:nth-of-type(3) a { background-image: url(../img/menu_icon3.png); }
#header ul.stoper li:nth-of-type(4) a { background-image: url(../img/menu_icon4.png); }
#header ul.stoper li:nth-of-type(5) a { background-image: url(../img/menu_icon5.png); }

#header #social {
margin: 0;
position: absolute;
top: 30px;
right: 30px;
top: 50%;
margin-top: -20px;
}

#crumbs {
padding-left: 225px;
}
#crumbs,
#wrapper,
#pickup,
#footer {
margin-left: 0;
}

#pickup {
position: relative;
z-index: 9;
}
#panel:after {
width: 100%;
height: 1px;
background-color: rgba(0,0,0,0.1);
z-index: 8;
}

#Home #contents h2 a {
font-size: 2.2rem;
}
}










/* /////////////////////////////////////////////////////////////////////////////////////// */
/* スマホ */
/* /////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (max-width: 641px) {
body {
padding-top: 96px;
position: relative;
font-size: 1.2em;
}


#contents h3,
#contents .blog-description + p {
margin-bottom: 20px;
padding: 15px;
font-size: 1.5rem;
text-align: center;
}




#sp_wrap {
width: 100%;
overflow: hidden;
background-image: url(../img/h2_bg.jpg);
background-repeat: repeat;
}
#sp_wrap > div {
position: relative;
left: 0;
background-color: #F2F2F2;
transition: all 0.4s ease 0s;
}
#sp_wrap > div.active {
left: -220px;
}
#sp_wrap > div:after {
content: "";
width: 1px;
height: 100%;
position: absolute;
top: 0;
bottom: 0;
right: 0;
background-color: rgba(0,0,0,0.2);
z-index: 10;
}

#header {
width: 220px;
height: auto;
position: absolute;
top: 0;
bottom: auto;
right: -220px;
left: auto;
z-index: 10;
background-color: transparent;
}
#header h1 {
width: 640px;
padding: 20px 20px 18px;
position: fixed;
top: 0;
left: 0;
background-color: rgba(255,255,255,0.9);
border-bottom: 2px solid #FFF;
}
#header h1 a {
width: 80%;
height: 56px;
padding: 0;
display: block;
overflow: hidden;
text-indent: 200%;
white-space: nowrap;
background-image: url(../img/logo_sp.png);
}

#sp_btn {
width: 56px;
height: 56px;
display: block;
position: fixed;
top: 20px;
right: 20px;
z-index: 9;
}
#sp_btn span,
#sp_btn span:before,
#sp_btn span:after {
width: 38px;
height: 4px;
margin-left: -19px;
display: block;
position: absolute;
top: 50%;
left: 50%;
background-color: #333;
transition: all 0.2s ease 0s;
border-radius: 1px;
}
#sp_btn span:before,
#sp_btn span:after {
content: "";
transition: all 0.3s ease 0s;
}
#sp_btn span {
margin-top: -2px;
}
#sp_btn span:before {
margin-top: -17px;
}
#sp_btn span:after {
margin-top: 13px;
}

#sp_btn.close span {
    background-color: transparent;
}
#sp_btn.close span:before {
    margin-top: -2px;
    transform: rotate(-45deg);
}
#sp_btn.close span:after {
    margin-top: -2px;
    transform: rotate(-135deg);
}

#header ul.stoper,
#Home #header ul.stoper {
padding: 0;

}
#header ul.stoper li {
width: 100%;
padding: 0;
display: block;
}
#header ul.stoper li a {
width: 100%;
height: 70px;
padding: 0 0 0 70px;
line-height: 66px;
font-size: 20px;
text-align: left;
background-color: #FFF;
background-color: rgba(255,255,255,0.9);
background-position: 10px center;
border-bottom: 1px solid #999;

padding: 0 0 0 90px;
background-color: #FFF;
background-position: 40px center;
background-size: 40px auto;
}
#header #social {
margin: 0 0 0 -75px;
position: relative;
top: 20px;
left: 50%;
right: auto;
}
#side_box,
#Home #side_box {
width: 220px;
padding-top: 0;
position: absolute;
top: 430px;
right: -220px;
}
#side_box h2 {
color: #FFF;
}
#side_box ul:not(#bunner) li a {
color: #FFF;
}







#wrapper {
display: block;
position: static;
}
#contents {
padding: 240px 20px 20px 20px;
position: relative;
border-left: none;
}
#Home #contents {
padding: 5px 20px 0;
display: block;
}
#Home #contents > * {
width: 100%;
padding: 20px 0;
}
#Home #contents h2 {
text-align: center;
}
#Home #contents h2 a {
padding-left: 10px;
font-size: 2.6rem;
font-weight: 200;
}
#pickup #panel img {
width: 100%;
}
#panel {
height: 252px;
}
#thumbnail ul {
padding: 10px 0;
}


#main dl {
margin: 0 0 20px;
}
#main #results .border,
#writing .border {
margin: 20px 0;
}
#main #results dl dt {
width: 100%;
margin: 0 0 5px;
}
#main #results dl dd {
width: 100%;
padding: 0;
}

#main #results > dl.site {
width: 49%;
}

#works_list {
flex-wrap: wrap;
}
#works_list li {
width: 49%;
margin-bottom: 13px;
}

#cover {
width: 100%;
height: 100%;
display: none;
position: absolute;
top: 0;
left: 0;
bottom: 0;
background-color: rgba(0,0,0,0.3);
}



#footer {
padding: 0;
}
#footer #foot_nav {
margin-bottom: 0;
display: flex;
border: none;
flex-wrap: wrap;
}
#footer ul li {
width: 50%;
display: block;
}
#footer ul li a {
padding: 20px 0;
display: block;
font-size: 1.1rem;
text-align: center;
border: none;
}
#footer ul li:nth-of-type(4n) a,
#footer ul li:nth-of-type(4n+1) a {
background-color: rgba(0,0,0,0.1);
}

#CopyRight {
padding: 10px 0;
text-align: center;
background-color: rgba(0,0,0,0.3);
}

}
