@charset "UTF-8"; /* CSS Document */
/* Basic

********************************************************************************/
.spView {
    display: block !important;
}
.pcView {
    display: none !important;
}
/* Text

********************************************************************************/
.caps {
    padding-top: 20px;
}
.dimTxt {
    height: 18px;
    margin-bottom: -2px;
    padding: 6px 0px;
    display: inline-block;
    position: relative;
}
.dimTxt img {
    width: auto;
    height: 100%;
}
/* body

********************************************************************************/
html.ios body.fixed, html.android body.fixed {
    position: fixed;
    top: 0px;
    left: 0px;
}
.wrapper.fixed {
    width: 100%;
    height: 100% !important;
    padding: 0px !important;
    position: fixed;
    top: 0px;
    right: 0px;
    overflow: hidden !important;
}
/* header

********************************************************************************/
header {}
.headerArea {
    padding: 20px 13px;
}
/* logoArea

**************************************/
.logoArea {
    width: 62px;
    height: 22px;
}
.logoArea a {
    width: 62px;
    height: 22px;
}
/* gnavi (SP)

**************************************/
.gnaviArea-sp .gnaviWrap {
    width: 100%;
    height: 100vh;
    padding: 0px 25px;
    display: none;
    position: absolute;
    top: 0px;
    left: 0px;
    background-color: #ffffff;
    box-sizing: border-box;
    z-index: 1000;
    /*ios対策*/
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
}
.gnaviArea-sp.openNavi .gnaviWrap {
    display: block;
}
.gNavi {
    margin-top: 75px;
    border-bottom: 3px double #e7e7e7;
}
.gNavi li {
    padding: 19px 0px;
    border-top: 3px double #e7e7e7;
    float: none;
    background-image: url("../img/common/icn_arw_left_sp.png");
    background-repeat: no-repeat;
    background-position: center right;
    background-size: 8px 14px;
}
.gNavi li a span {
    display: block;
}
.gNavi li a .lrg {
    padding-bottom: 8px;
}
.gNavi li a .reg {
    padding-bottom: 8px;
}
.gNavi li.sp {
    display:block;
}
/* gnaviToggleBtn

*****************/
#gnaviToggleBtn {
    width: 22px;
    height: 20px;
    position: absolute;
    right: 15px;
    top: 22px;
    cursor: pointer;
    z-index: 2000;
    display: block;
    /*ios対策*/
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
}
#gnaviToggleBtn div {
    position: relative;
}
#gnaviToggleBtn span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #333333;
    left: 0px;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.gnaviArea-sp.openNavi #gnaviToggleBtn span {
    background: #333333;
}
#gnaviToggleBtn span:nth-child(1) {
    top: 0px;
}
#gnaviToggleBtn span:nth-child(2) {
    top: 8px;
}
#gnaviToggleBtn span:nth-child(3) {
    top: 16px;
}
/* #gnaviToggleBtn 切替えアニメーション */
.openNavi #gnaviToggleBtn span:nth-child(1) {
    top: 8px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}
.openNavi #gnaviToggleBtn span:nth-child(2) {
    width: 0;
    left: 50%;
}
.openNavi #gnaviToggleBtn span:nth-child(3) {
    top: 8px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
}
/* Contents

********************************************************************************/
#article-page .contents {
    margin-top: 160px !important;
}
#article-page .contents.noLocalMenu {
    margin-top: 110px !important;
}
#article-page .contents.full {
    margin: 0px !important;
}
/* mainArea

**************************************/
.mainArea {
    margin-top: 0px;
}
#article-page .mainArea .titleArea {
    padding-bottom: 50px;
}
.mainArea .titleArea h3 {
    padding-bottom: 5px;
}
.cntNarrow {
    max-width: none;
    margin: 0px;
    padding: 0px;
}
.cntBgArea .cntNarrow {
    padding: 0px 25px;
}
/* cntBgArea

**************************************/
.cntBgArea {
    padding: 75px 0px 100px 0px;
}
.cntBgArea .fixImgArea {
    width: 175px;
    height: 179px;
    top: -25px;
}
.cntBgArea .clmBox h3 {
    padding-bottom: 40px;
    display: block;
}
.cntBgArea .clmBox h3.xlrg {
    padding-bottom: 30px;
}
.cntBgArea .clmBox h3.btmSpc {
    padding-bottom: 100px;
}
/* cntBgArea

**************************************/
.cntBgArea {
    padding: 50px 0px;
}
.cntBgArea.first {
    padding: 160px 0px 50px 0px;
}
.cntBgArea.last {
    padding: 50px 0px 100px 0px;
}
.cntBgArea.first.last {
    padding: 160px 0px 100px 0px;
}
.cntBgArea.first.noLocalMenu {
    padding: 110px 0px 100px 0px !important;
}
.cntBgArea.noSpcTop {
    padding: 0px 0px 50px 0px;
}
.cntBgArea.noSpcTop.last {
    padding: 0px 0px 100px 0px;
}
.cntBgArea .clmBox h3.minSpc {
    padding-bottom: 25px;
}
.cntBgArea .clmBox p.btmSpc {
    padding-bottom: 25px;
}
/* shTitle

**************************************/
.shTitle {
    display: none;
}
/* cntBox

**************************************/
.cntBox.btmNarrowSP {
    padding: 0px 0px 50px 0px;
}
#article-page .contents.full .cntBox {
    padding: 0px;
}
/* pullDownArea

**************************************/
.pullDownArea {
    margin: 0px 0px 25px 0px;
}
.pullDown {
    max-width: 100%;
}
.pullDown .menuBody {
    top: 48px;
}
/*IOSハック*/
.ios .pullDown .menuBody {
    top: 50px;
}
/*FFハック*/
.firefox .pullDown .menuBody {
    top: 50px;
}
.pullDown .currentBtn {
    max-width: 100%;
}
.pullDown .currentBtn .arwBox {
    width: 46px;
    background-image: url("../img/common/icn_arw_down_sp.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 14px 8px;
}
/* readMoreBtn

**************************************/
.readMoreBtn {
    width: auto;
    box-sizing: border-box;
}
.tx-center .readMoreBtn {
    width: 100%;
}
.readMoreBtn.btmSpc {
    margin-bottom: 25px;
}
/* subLinkBtn

**************************************/
.subLinkBtn {
    padding-left: 30px;
    padding-top: 4px;
}
/* servicesBnr

**************************************/
.servicesBnr ul {
    margin-left: 0px;
    display: block;
}
.servicesBnr ul li {
    width: 100%;
    padding-bottom: 25px;
    float: none;
}
.servicesBnr ul li:last-child {
    padding-bottom: 0px;
}
.servicesBnr ul li a {
    margin-left: 0px;
    display: block;
}
.servicesBnr ul li a:hover img {
    opacity: 0.5;
}
/* clmBox

**************************************/
.clmBox .twoClm {
    padding: 0px;
}
.clmBox .textArea.btmSpc {
    padding-bottom: 25px;
}
.clmBox .twoClm .textArea {
    width: 100%;
    padding: 30px 20px;
    float: none;
    box-sizing: border-box;
}
.clmBox.simple .twoClm .textArea {
    width: 100%;
    padding: 70px 0px 0px 0px;
    float: none;
}
.clmBox.simple .twoClm.imgRight .textArea {
    width: 100%;
    padding: 25px 0px 0px 0px;
    float: none;
}
.clmBox .twoClm.ggMap .textArea {
    width: 100%;
    padding: 20px;
}
.clmBox .twoClm .textArea h3, .clmBox .twoClm .textArea p {
    padding-right: 0px;
    display: block;
}
.clmBox .twoClm .textArea h3 {
    padding-bottom: 30px;
}
.clmBox .twoClm .textArea p, .clmBox.simple .twoClm .textArea p {
    padding: 0px !important;
}
.clmBox.simple .twoClm .textArea img {
    max-width: 142px;
    margin: 0px auto;
    padding: 0px 0px 60px 0px;
}
.clmBox.simple .twoClm .textArea .fixW {
    width: auto;
    min-width: initial;
    min-width: auto;
    float: none;
}
.clmBox.simple .twoClm .textArea .fixW img {
    padding: 0px 0px 60px 0px;
}
.clmBox .twoClm .imgArea {
    width: 100%;
    float: none;
}
.clmBox.simple .twoClm .imgArea {
    width: 100%;
    float: none;
}
.clmBox .twoClm .imgArea {
    width: 100%;
}
.clmBox.simple .twoClm.imgRight .imgArea {
    width: 100%;
    padding: 0px;
    float: none;
}
.clmBox .passion .imgArea {
    height: auto !important;
}
.clmBox .passion .imgArea img {
    width: 100%;
    height: auto;
    position: relative;
}
.clmBox.simple .inTwoClm {
    padding-top: 70px;
}
.clmBox.simple .inTwoClm .textArea {
    width: 100%;
    padding-top: 0px;
    float: none;
}
.clmBox.simple .inTwoClm .textArea p {
    padding: 0px !important;
}
.clmBox.simple .inTwoClm .imgArea {
    width: 100%;
    padding-bottom: 60px;
    float: none;
}
.clmBox.simple .inTwoClm .imgArea img {
    max-width: 142px;
    padding-top: 0px;
}
.clmBox.cntNarrow .imgArea {
    padding-bottom: 25px;
}
.clmBox .twoClm .readMoreBtn {
    margin-top: 25px;
}
/* snsBtn

**************************************/
.snsBtn {
    margin-left: 0px;
    padding: 25px 0px 10px 0px;
}
/* googleMapAPI

**************************************/
.ggMap .imgArea {
    height: 300px !important;
}
.ggMapArea.wide {
    margin-bottom: 0px;
}
/* keyClmBox

**************************************/
.keyClmBoxBody {
    padding: 60px 20px 70px 20px;
}
.keyClmBoxBody .textArea h3 {
    padding-bottom: 55px;
}
/* dlList

**************************************/
.dlList {
    //margin-bottom:25px;
}
.noLineTB .dlList dd:last-child {
    padding: 5px 0px 0px 0px;
}
.dlList dt {
    float: none;
    width: 100%;
    padding: 15px 0px 0px 0px;
}
.dlList.dtNarrow dt {
    width: 100%;
}
.dlList dd {
    margin-left: 0px;
    padding: 5px 0px 20px 0px;
    border-top: 0px;
}
.dlList.dtNarrow dd {
    margin-left: 0px;
}
.dlList dd .subLinkBtn span {
    padding: 0px !important;
}
/* newsList

**************************************/
#article-page .newsList .dlList dt {
    padding: 15px 0px 0px 0px;
}
#article-page .newsList .dlList dd {
    padding: 10px 0px 20px 0px;
}
.newsList .dlList dt:first-child + dd {
    border-top: 0px;
}
.newsList .dlList dd p {
    padding-top: 10px;
}
.newsList .dlList dd p a {
    padding-left: 30px;
    margin-top: 0px;
}
.newsList .readMoreBtn {
    margin: 0px;
    margin-top: 25px;
}
/* ulList

**************************************/
.ulList li {
    border: 0px;
    border-top: 1px dotted #000000;
    padding: 20px 0px;
}
.ulList.qa li {
    padding: 20px 0px;
}
.ulList li:first-child {
    padding-top: 20px;
}
.ulList.qa li:first-child {
    padding-top: 0px;
    border: 0px;
}
.ulList li:last-child {
    padding: 20px 0px 0px 0px;
    border-top: 1px dotted #000000;
}
.ulList.qa li h4 {
    padding-bottom: 25px !important;
}
.ulList .vipBox {
    padding: 20px 0px;
}
.ulList .vipBox .imgArea {
    width: 100%;
    float: none;
}
.ulList .vipBox .imgArea img {
    width: 50%;
    margin: 0px auto;
}
.ulList .vipBox .textArea {
    width: 100%;
    padding-left: 0px;
    float: none;
}
.ulList .vipBox .textArea h3 {
    margin-top: 0px;
}
.ulList.qa li ul li {
    padding: 0px 0px 0px 15px !important;
    background-position: 0px 12px;
}
/* dotList

**************************************/
.dotList {
    padding-top: 0px !important;
    margin-bottom: 0px !important;
    border-bottom: 0px !important;
}
.dotList li {
    padding: 0px 0px 0px 15px !important;
    background-position: 0px 12px;
}
.dotList.key01 li {
    background-position: 0px 12px;
}
/* accordionList

**************************************/
.accordionList input {
    display: none;
}
.accordionList h3 {
    padding: 0px !important;
}
.accordionList label {
    margin-bottom: -12px;
    padding: 10px;
    cursor: pointer;
    border: 1px solid #cccccc;
    background-color: #f4f4f4;
    display: block;
    position: relative;
}
.accordionList label.active {
    //border:2px solid #333333;
    //background-color:#333333;
}
.accordionList label .arwBox {
    width: 50px;
    height: 100%;
    position: absolute;
    top: 0px;
    right: 0px;
    background-image: url("../img/common/icn_arw_down_accordion.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 14px 8px;
}
.accordionList label.active .arwBox {
    background-image: url("../img/common/icn_arw_up_accordion.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 14px 8px;
}
.accordionList label .lrg {
    padding-bottom: 8px;
    display: block;
}
.accordionList label.active .lrg {
    //color:#ffffff;
}
.accordionList label .xsml {
    color: #ff6633;
    display: block;
}
.accordionList .acCntBody {
    //min-height:0px;
    height: 0px;
    padding: 0px;
    margin-bottom: 25px;
    padding: 0px;
    overflow-y: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.accordionList .acCntBody.last {
    margin-bottom: 0px;
}
.accordionList .acCntBody ul {
    padding-top: 27px;
    margin-bottom: 25px;
    border-bottom: 1px solid #cccccc;
}
.accordionList .acCntBody ul li {
    padding: 15px 0px;
    border-top: 1px solid #cccccc;
}
.accordionList .acCntBody ul li h3 {
    padding-bottom: 5px !important;
    display: block;
}
.accordionList .acCntBody ul li ul {
    padding-top: 0px !important;
    margin-bottom: 0px !important;
    border-bottom: 0px !important;
}
.accordionList .acCntBody ul li ul li {
    border: 0px !important;
    padding: 0px 0px 0px 15px !important;
    background-image: url("../img/common/icn_dot.png");
    background-repeat: no-repeat;
    background-position: 0px 12px;
}
/* carouselArea

**************************************/
.carouselArea {
    margin: 0px -25px;
}
.carouselArea .carousel .slick-next, .carouselArea .carousel .slick-prev {
    display: none !important;
}
.carouselArea .carousel .slick-dots {
    padding: 0px 50px;
    box-sizing: border-box;
    text-align: center;
}
.carouselArea .carousel .slick-dots .point {
    width: 40px;
}
/* footer

********************************************************************************/
footer {
    margin-top: -50px;
}
/* pageTopBtn

**************************************/
footer .pageTopBtn {
    display: none;
}
/* contactBtnArea

**************************************/
.contactBtnArea .readMoreBtn {
    margin: 0px 25px;
}
/* footerNavi

**************************************/
footer .footerNavi {
    padding: 50px 0px 25px 0px;
}
footer .fNaviList {
    width: 100%;
    padding: 0px 25px;
    float: none;
    //box-sizing:border-box;
    flex-wrap:wrap;
}
footer .fNaviList > div {
    width: 100%;
}
footer .fNaviList input {
    display: none;
}
footer .fNaviList h3 {
    padding: 0px;
}
footer .fNaviList label, footer .fNaviList .singleMenu {
    padding: 15px 0px;
    color: #fff;
    cursor: pointer;
    border-top: 1px dotted #666666;
    display: block;
}
footer .fNaviList label {
    background-image: url("../img/common/icn_arw_down_wt.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 14px 8px;
}
footer .fNaviList label.active {
    background-image: url("../img/common/icn_arw_up_wt.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 14px 8px;
}
footer .fNaviList .singleMenu {
    border-bottom: 1px dotted #666666;
}
footer .fNaviList .singleMenu.noLine {
    border-bottom: 0px;
}
footer .fNaviList ul {
    margin: 0;
    padding: 0;
}
footer .fNaviList ul li {
    //min-height:0px;
    height: 0px;
    padding: 0px;
    overflow-y: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
footer .fNaviList ul li a {
    padding: 20px 10px;
    border-top: 1px dotted #666666;
    display: block;
}
#fMenu_01:checked ~ #fLinks01 li, #fMenu_02:checked ~ #fLinks02 li, #fMenu_03:checked ~ #fLinks03 li, #fMenu_04:checked ~ #fLinks04 li, #fMenu_05:checked ~ #fLinks05 li, #fMenu_06:checked ~ #fLinks06 li {
    //min-height:20px;
    height: 60px;
    opacity: 1;
}
/* copyright

**************************************/
footer .copyright {
    padding: 0px 51px 15px 51px;
    text-align: center;
}
/* IEハック

********************************************************************************/
/*IE ALL*/
.ie {}
/* firefoxハック

********************************************************************************/
.firefox {}
/* chromeハック

********************************************************************************/
.chrome {}
/* safariハック

********************************************************************************/
.safari {}