@charset "utf-8";

/*--------------------------------------------------------------------
   base
---------------------------------------------------------------------*/

html,
body {
    height: 100%;
}

body {
    background: #fff;
    text-align: center;
    color: #222;
    font-size: 15px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 400;
}

input {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 400;
}


/*
400,700
*/

html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

.iphone body,
.ipad body,
.ipod body {
    cursor: pointer;
}

a {
    text-decoration: none;
    transition: all 0.8s;
}

a:link {
    color: #222;
    text-decoration: none;
}

a:visited {
    color: #222;
}

a:active {
    color: #222;
}

a:hover {
    color: #666;
}

strong {
    font-weight: bold;
}

img {
    font-size: 0;
    line-height: 0;
}

.wrapBox {
    width: 1080px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}


/*--------------------------------------------------------------------
   header
---------------------------------------------------------------------*/

header {
    width: 100%;
    margin: 0 auto;
    height: 95px;
    position: relative;
}

header h1,
header .logo {
    width: 236px;
    height: 33px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto auto auto 20px;
    z-index: 50;
}

header h1 a,
header .logo a {
    display: block;
    width: 100%;
    height: 100%;
    background: url(../images/header_jp.png) left center no-repeat;
    background-size: contain;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 101%;
    line-height: 0;
    font-size: 0.1em;
}

header .logoEng {
    width: 182px;
    height: 56px;
}

header .logoEng a {
    background: url(../images/header_en.png) left center no-repeat;
    background-size: contain;
}

header nav {
    margin-left: 250px;
    padding: 38px 187px 25px 33px;
    position: relative;
}

header nav .lan {
    width: 130px;
    height: 24px;
    padding-left: 15px;
    border-left: #cdcdcd 1px solid;
    text-align: left;
    font-size: 0.867em;
    line-height: 24px;
    position: absolute;
    top: 38px;
    right: 0;
}

header nav .lan span {
    color: #222;
}

header nav ul {
    text-align: right;
}

header nav li {
    display: inline-block;
    height: 24px;
    margin: 0 .8em;
}

header nav li a {
    display: block;
    font-size: 0.867em;
    line-height: 24px;
}

#spmenu {
    display: none;
}

#menubtn {
    display: none;
}

#humberger,
#drawernav,
#overlay {
    display: none;
}


/*--------------------------------------------------------------------
   footer
---------------------------------------------------------------------*/

footer {
    margin-top: -1px;
    background-color: #222222;
    padding: 50px 0 30px;
}

footer #ftrIn {
    width: 1180px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
}

footer #ftrIn .logo {
    width: 236px;
    height: 33px;
    background: url(../images/footer_jp.png) left center no-repeat;
    background-size: contain;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 101%;
    line-height: 0;
    font-size: 0.1em;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto auto auto 5px;
}

footer #ftrIn .logoEng {
    width: 182px;
    height: 56px;
    background: url(../images/footer_en.png) left center no-repeat;
    background-size: contain;
    margin: auto auto auto 50px;
}

footer #ftrIn .logo a {
    display: block;
    width: 100%;
    height: 100%;
}

footer nav {
    margin-left: 355px;
    padding-left: 50px;
    border-left: #fff 1px solid;
    float: left;
    width: 100%;
}

footer nav ul {
    float: left;
    width: 21%; /*31%*/
}

footer nav ul li {
    float: none;
    text-align: left;
    font-size: 0.867em;
    line-height: 1.1;
}

footer nav ul li a {
    display: block;
    padding: 0.9em 0;
    color: #b4b4b4 !important;
}

footer nav ul li a:hover {
    color: #858585 !important;
}

footer nav .lan {
    text-align: left;
    margin-top: 4px;
}

footer nav .lan a,
footer nav .lan span {
    display: block;
    color: #fff;
    text-align: left;
    font-size: 0.867em;
    padding: 0.9em 0;
}

footer p.copy {
    color: #6d6d6d;
    font-size: 0.800em;
    text-align: right;
    clear: both;
}


/*--------------------------------------------------------------------
   maintitle
---------------------------------------------------------------------*/

#mainTitle {
    width: 100%;
    padding-left: 30px;
    max-width: 1140px;
    margin: 0 auto;
}

#mainTitle h1 {
    padding: 30px 0 20px;
    font-size: 1.067em;
    text-align: left;
}


/*--------------------------------------------------------------------
   container
---------------------------------------------------------------------*/


/* base
-----------------------*/

div[id="container"] p,
div[id="container"] li,
div[id="container"] dt,
div[id="container"] dd,
div[id="container"] th,
div[id="container"] td {
    line-height: 2.26;
    text-align: left;
}

div[id="container"].second p+p,
div[id="container"].second p+ul,
div[id="container"].second p+ol,
div[id="container"].second p+dl,
div[id="container"].second p+table,
div[id="container"].second p+div,
div[id="container"].second ul+p,
div[id="container"].second ul+ul,
div[id="container"].second ul+ol,
div[id="container"].second ul+dl,
div[id="container"].second ul+table,
div[id="container"].second ul+div,
div[id="container"].second ol+p,
div[id="container"].second ol+ul,
div[id="container"].second ol+ol,
div[id="container"].second ol+dl,
div[id="container"].second ol+table,
div[id="container"].second ol+div,
div[id="container"].second dl+p,
div[id="container"].second dl+ul,
div[id="container"].second dl+ol,
div[id="container"].second dl+dl,
div[id="container"].second dl+table,
div[id="container"].second dl+div,
div[id="container"].second table+p,
div[id="container"].second table+ul,
div[id="container"].second table+ol,
div[id="container"].second table+dl,
div[id="container"].second table+table,
div[id="container"].second table+div,
div[id="container"].second div+p,
div[id="container"].second div+ul,
div[id="container"].second div+ol,
div[id="container"].second div+dl,
div[id="container"].second div+table {
    margin-top: 20px;
}

div[id="container"] h1,
div[id="container"] h2,
div[id="container"] h3,
div[id="container"] h4,
div[id="container"] h5 {
    line-height: 1.92;
}

div[id="container"].second *+h3,
div[id="container"].second *+h4,
div[id="container"].second *+h5 {
    margin-top: 50px;
}


/* box
---------------------------------------------------------*/

div[id="container"].second {
    padding: 0 20px 80px;
}

div[id="container"].second section {
    width: 980px;
    max-width: 100%;
    margin: 0 auto;
}


/*----------------------------------------------------
local --- top
-------------------------------------------------------*/

#container.toppage {
    padding: 60px 0 80px;
}


/* mainimage
---------------------------------------------------------*/

#mainImage {
    max-width: 100%;
    position: relative;
    z-index: -1;
}

#mainImage li div {
    width: 100%;
    height: 700px;
    height: -webkit-calc(100vh - 95px);
    height: calc(100vh - 95px);
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

#mainImage .bx-prev,
#mainImage .bx-next {
    display: none;
}

.caroufredsel_wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* newsList
---------------------------------------------------------*/

#topNews {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

#topNews .tit {
    margin-bottom: 40px;
    overflow: hidden;
}

#topNews .tit h2 {
    width: 50%;
    float: left;
    text-align: left;
    font-size: 1.333em;
}

#topNews .tit a {
    width: auto;
    float: right;
    font-size: 13px;
    line-height: 20px;
    text-align: right;
}

ul.newsList li+li {
    margin-top: 20px;
}

ul.newsList li a {
    display: block;
    background-color: #f6f6f6;
    padding: 25px 50px 25px 20px;
    overflow: hidden;
    position: relative;
}

ul.newsList li a:hover {
    background-color: #ececec;
}

ul.newsList li a::after {
    content: "";
    display: block;
    width: 20px;
    height: 6px;
    visibility: visible;
    background: url(../images/ico_arrow_01.svg) 0 0 no-repeat;
    background-size: contain;
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -3px;
}

ul.newsList li a span {
    display: block;
    width: 6em;
    float: left;
    line-height: 2.76;
    color: #666666;
    font-size: 0.867em;
}

ul.newsList li a span::before {
    content: "-";
    margin-right: 0.5em;
}

ul.newsList li a p {
    margin-left: 8em;
}


/*----------------------------------------------------
local --- second
-------------------------------------------------------*/


/* comment
----------------------------------------------------*/

.comment01 h2 {
    font-size: 2em;
    line-height: 1.7;
    text-align: left;
    margin-bottom: 30px;
}

.comment01 .commentBtm {
    overflow: hidden;
    /*width: 455px;*/
    max-width: 100%;
    margin-right: auto;
}

.comment01 .commentBtm img {
    display: block;
    width: 150px;
    float: left;
}

.comment01 .commentBtm p {
    margin-left: 170px;
    padding-top: 15px;
    text-align: left;
}


/* profile
----------------------------------------------------*/

.profile01 {
    overflow: hidden;
}

.profile01 .txt {
    width: 45%;
    float: left;
}

.profile01 .img {
    width: 45%;
    float: right;
}

.profile01 .txt .name {
    padding-bottom: 10px;
    font-size: 2em;
    text-align: left;
    line-height: 1.7;
}

.profile01 .txt .name span {
    display: block;
    margin-top: 15px;
    font-size: 0.467em;
}


/* form
----------------------------------------------------*/

.contact01 span,
#form table th span {
    font-size: 0.875em;
    color: #cc3333;
}

input[type="checkbox"],
input[type="radio"] {
    vertical-align: middle;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
    position: relative;
    margin: 0 4px 0 0;
    top: -1px;
}

#container #form p+table {
    margin-top: 5px;
}

#form table {
    border-top: #dbdbdb 1px solid;
    width: 100%;
    margin-bottom: 50px;
}

#form table th,
#form table td {
    border-bottom: #dbdbdb 1px solid;
    vertical-align: top;
    padding: 15px 0;
    text-align: left;
    line-height: 1.85;
}

#form table td {
    vertical-align: middle;
}

#form table th {
    width: 190px;
    padding-top: 22px;
    padding-left: 0;
    white-space: nowrap;
}

#form table input[type="text"],
#form table input[type="email"],
#form table input[type="url"],
#form table input[type="tel"],
#form table textarea {
    background-color: #e8e8e8;
    padding: 5px 5px;
    width: 100%;
}

#form table textarea {
    height: 12em;
}

#form table+p {
    max-width: 100%;
    margin: 0 auto 50px;
    text-align: center;
    font-size: 0.933em;
}

.btnThanks {
    padding-top: 60px;
    padding-bottom: 60px;
}

#form .btn {
    padding-top: 30px;
}

#form .btn input,
.btnThanks a {
    display: block;
    width: 300px;
    max-width: 90%;
    height: 60px;
    background-color: #222222;
    margin: 0 auto;
    font-size: 0.933em;
    line-height: 60px;
    color: #fff;
    cursor: pointer;
    transition: all 0.8s;
}

#form .btn input:hover,
.btnThanks a:hover {
    background-color: #4e4e4e;
}

#container .formBtm {
    width: 920px;
    max-width: 100%;
    margin: 50px auto 0;
    font-size: 0.933em;
}


/* blog
----------------------------------------------------*/


/*detailTitle*/

.blogTitle {
    margin-bottom: 40px;
    text-align: left;
}

section.blogDetail .blogTitle h2 {
    font-size: 1.600em;
    line-height: 1.5;
    text-align: left;
}

.blogTitle span {
    display: block;
    line-height: 2.76;
    color: #666666;
    font-size: 0.867em;
}

.blogTitle span::before {
    content: "-";
    margin-right: 0.5em;
}


/*detail*/

.post>img,
.post p img {
    display: block;
    width: 750px;
    max-width: 100%;
    margin: 30px auto;
}

.post .cap {
    width: 740px;
    max-width: 100%;
    margin: -20px auto 30px;
    font-size: 0.800em;
    text-align: left;
}

.post h1,
.post h2,
.post h3,
.post h4 {
    font-size: 1.375em;
    text-align: left;
    margin-bottom: 20px;
}

.post h5,
.post h6 {
    font-size: 1.125em;
    text-align: left;
    margin-bottom: 20px;
}

.post p+h1,
.post p+h2,
.post p+h3,
.post p+h4,
.post p+h5,
.post p+h6 {
    margin-top: 20px;
}

.post p a {
    text-decoration: underline;
}

.post p a:hover {
    text-decoration: none;
}

#container .post .imglist {
    width: 740px;
    max-width: 100%;
    margin: 30px auto 0;
    overflow: hidden;
}

.post .imglist li {
    width: 48.64%;
    float: left;
}

.post .imglist li.odd {
    float: right;
}

.post .imglist li img {
    line-height: 0;
    vertical-align: bottom;
    margin-bottom: 10px;
}

.post .imglist li p {
    font-size: 0.800em;
    padding-bottom: 20px;
}


/* pager
--------------*/

.pagination {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    padding-top: 30px;
}

.pagination li {
    display: inline-block;
    margin: 0 4px;
}

.pagination li a,
.pagination li span {
    display: block;
    border: #999999 1px solid;
    background-color: #fff;
    width: 28px;
    line-height: 28px !important;
    font-size: 12px;
    text-align: center;
    color: #000 !important;
}

.pagination li a:hover {
    color: #000 !important;
    background-color: #e8e8e8;
}

.pagination li span.dots {
    border: none;
    width: auto;
    color: #000;
    background: none;
}

.pagination li span.current {
    background-color: #f6f6f6;
}


/* pager2
--------------*/

.pageNav ul {
    width: 414px;
    max-width: 100%;
    margin: 60px auto 20px;
    overflow: hidden;
    position: relative;
}

.pageNav ul li {
    width: 26.5%;
    height: 50px;
    float: left;
}

.pageNav ul li+li {
    margin-left: 10.2%;
}

.pageNav ul li a {
    display: block;
    width: 100%;
    height: 100%;
    border: #bbbbbb 1px solid;
    position: relative;
    line-height: 50px;
    font-size: 0.813em;
}

.pageNav ul li a:hover {
    background-color: #e8e8e8;
}

.pageNav ul li.back a {
    text-align: center;
}

.pageNav ul li.prev a {
    text-align: left;
    padding-left: 50px;
}

.pageNav ul li.next a {
    text-align: right;
    padding-right: 50px;
}

.pageNav ul li.prev a::before,
.pageNav ul li.next a::before {
    display: block;
    width: 15px;
    height: 8px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 12px;
    line-height: 1;
    margin-top: -0.3em;
    position: absolute;
    top: 50%;
}

.pageNav ul li.prev a::before {
    left: 15px;
    content: "←";
}

.pageNav ul li.next a::before {
    right: 15px;
    content: "→";
}


/* works
----------------------------------------------------*/

#container.second section.worksIndex {
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.worksIndex .thumbWrap {
    overflow: hidden;
    margin-left: -2.5%;
    margin-right: -2.5%;
}

.worksIndex .thumbWrap .item {
    width: 33.333%;
    float: left;
    padding-left: 2.5%;
    padding-right: 2.5%;
    margin-bottom: 6em;
}

.worksIndex .thumbWrap .item a {
    display: block;
    position: relative;
    padding-top: 70%;
}

.worksIndex .thumbWrap .item img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.worksIndex .thumbWrap .item.nth03 {
    margin-right: 0;
}

.worksIndex .thumbWrap .item p {
    position: absolute;
    bottom: -3em;
    left: 15%;
    font-size: 0.867em;
}


/*detail*/

#container.second section.works01,
#container.second section.works02,
#container.second section.works03 {
    padding-top: 0;
}

#container.second section.works01 {
    width: 1140px;
}

#container.second section.works02 {
    width: 1000px;
}

#container.second section.works03 {
    width: 1140px;
}

.worksDetail {
    padding-bottom: 80px;
}

.worksDetail h1 {
    text-align: left;
    font-size: 1.600em;
    margin-bottom: 15px;
}


/*たて*/

.works01 .worksDetail {
    overflow: hidden;
}

.works01 .worksDetail .img {
    width: 50%;
    float: right;
    text-align: center;
}

.works01 .worksDetail .txt {
    width: 45.6%;
    float: left;
}


/*よこ*/

.works02 .worksDetail .img,
.works03 .worksDetail .img {
    padding-bottom: 10px;
}

.works02 .worksDetail .txt,
.works03 .worksDetail .txt {
    width: 960px;
    max-width: 100%;
    margin: 0 auto;
}

.works02 .worksDetail .txt p,
.works03 .worksDetail .txt p {
    max-width: 530px;
    margin-right: auto;
}

#container.second .worksDetail .img p img,
#container.second .worksDetail .img img {
    display: block;
    margin: 0 auto;
}


/*pager*/

.pageNavWorks ul {
    width: 522px;
    height: 21px;
    max-width: 90%;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

.pageNavWorks ul li.prev {
    width: 38px;
    height: 21px;
    float: left;
}

.pageNavWorks ul li.next {
    width: 38px;
    height: 21px;
    float: right;
}

.pageNavWorks ul li.back {
    width: 21px;
    height: 21px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.pageNavWorks ul li a {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 101%;
    line-height: 0;
    font-size: 0.1em;
}

.pageNavWorks ul li a:hover {
    opacity: 0.7;
}

.pageNavWorks ul li.prev a {
    background: url(../images/prev.svg) center center no-repeat;
    background-size: contain;
}

.pageNavWorks ul li.next a {
    background: url(../images/next.svg) center center no-repeat;
    background-size: contain;
}

.pageNavWorks ul li.back a {
    background: url(../images/all.svg) center center no-repeat;
    background-size: contain;
}

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

@media screen and (max-width: 767px) {
    /*header div.logoEng {
        width: 252px;
    	height: 59px;
    }*/
}

@media screen and (max-width: 374px) {
    /*iphone5*/
}

@media screen and (min-width: 767px) {
    /* footer nav ul li {
        width: 28%;
    } */
}

@media screen and (min-width: 1000px) {
    /* footer nav ul li {
        width: 21%;
    } */
}

@media screen and (min-width: 1080px) {
    .forTB,
    .forSP {
        display: none;
    }
    .forPC {
        display: inherit;
    }
    .ie8 body {
        min-width: 1080px;
        max-width: 100%;
        overflow-x: hidden;
    }
    #container.second {
        min-height: 500px;
    }
}

@media screen and (min-width: 1024px) {
    .forSP {
        display: none !important;
    }
}

@media only screen and (min-width: 320px) and (max-width: 460px)  {
    header div.logo {
        width: 196px;
        height: 27px;
    }
    header div.logoEng {
		width: 152px;
        height: 47px;
    }
}
