@charset "utf-8";

/* for Common & Smartphone*/
html,
body {
    position: relative;
    height: 100%;
}

html {
    font-size: 62.5%;
    /*10px基準*/
}

/* PCはコンテンツ横幅を固定 */
@media print,
screen and (min-width:768px) {
    html {
        min-width: 1260px;
    }
}

/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {
    /*iPadが縦向きのみの記述*/
    /*html {
    min-width:100%;
  }*/
}

/* for tablet*/
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation:landscape) {
    /*html {
    min-width:100%;
  }*/
}



body {
    position: relative;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: normal;
    font-weight: 400;
    color: #333;
    line-height: 1.5;
}

@media screen and (max-width:320px) {
    html {
        font-size: 50%;
        /*8px基準*/
    }
}

/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 840px) and (orientation:portrait) {
    /*縦向きのみの記述*/
}

/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 834px) and (orientation:portrait) {
    /*縦向きのみの記述 --- iPad Pro12.9はPC表示*/
}

#page {
    height: 100%;
}

.sp {
    display: block;
}

.pc {
    display: none;
}

.spIL {
    display: inline;
}

.pcIL {
    display: none;
}

.conSP {
    margin-left: 16px !important;
    margin-right: 16px !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}

/*リンク 
*/
a:link {
    color: #333;
}

a:visited {
    color: initial;
}

a:active {
    color: initial;
}

a:hover {
    opacity: 0.7;
}

.disabled {
    cursor: default;
}

.txtUL {
    text-decoration: underline !important;
}

.icoExLink::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 12px;
    height: 12px;
    margin: 0 0 0 10px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.icoExLink.icoWh::after {
    background-image: url("../images/ico_link_wh.svg");
}

.icoExLink.icoBl::after {
    background-image: url("../images/ico_link_bl.svg");
}

/*
btn
*/
.btn01,
.btn02{
  display: block;
  width: 100%;
  margin: 0 auto;
  font-size: 1.3rem;
  height: 48px;
  line-height: 46px;
  text-align: center;
}
.btn01 a,
.btn02 a{
  position: relative;
  display: block;
  border: 1px solid #333;
  width: 100%;
  height: 100%;
  line-height: inherit;
}
/*スミケイありスミバック*/
.btn01 a{
  background: #333;
  color: #fff;
}
/*スミケイあり白バック*/
.btn02 a{
  color: #333;
}

/*外部リンクバージョン*/
.btn01 .icoExLink::after,
.btn02 .icoExLink::after {
  position: absolute;
  right: 8px;
  top: 50%;
  display: block;
  margin: 0;
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
}

/* for PC*/
@media print,
screen and (min-width:768px) {
  .btn01,
  .btn02{
    max-width: 280px;
  }
}


img {
    border: 0;
    vertical-align: top;
    max-width: 100%;
    height: auto;
}

img[src$=".svg"] {
    width: 100%;
}

.img100 {
    width: 100%;
}

.relative {
    position: relative;
}

.static {
    position: static !important;
}

.hide {
    display: none;
}

/*font*/
.normal {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-weight: 400;
}

.bold {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
    font-weight: 700;
}

.fMin {
    font-family: 'Noto Serif JP', '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'HGS明朝B', 'ＭＳ Ｐ明朝', 'MS PMincho', 'ＭＳ 明朝', serif !important;
    font-weight: 400;
}

/*.fGo.bold{
	font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif !important;
	font-weight: 700;
	}*/
.fEn01 {
    font-family: 'Crimson Text', serif;
    font-weight: 400;
}

.fEn02 {
    font-family: 'Herr Von Muellerhoff', cursive;
    font-weight: 400;
}

/*txt*/
.tCol00 {
    color: #333;
}

.tCol99 {
    color: #fff !important;
}

.tColAtt01 {
  color: #a00;
}

.bg00 {
    background: #333;
}

.bg99 {
    background: #fff;
}

.bg01 {}


/* for PC*/
@media print,
screen and (min-width:768px) {
    .sp {
        display: none;
    }

    .pc {
        display: block;
    }

    .spIL {
        display: none;
    }

    .pcIL {
        display: inline;
    }

    .conSP {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .conPC01 {
        max-width: 960px;
        min-width: 880px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .conPC02 {
        max-width: 1040px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    a:link,
    a:visited {}

    a:active,
    a:not(.disabled):hover {
        text-decoration: none;
    }

    a,
    .hover {
        -webkit-transition: .3s;
        transition: .3s;
    }

    a:not(.noRO):hover,
    .hover:hover {
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)";
        -moz-opacity: 0.7;
        -khtml-opacity: 0.7;
        opacity: 0.7;
        zoom: 1;
    }

    .hover img:hover {
        filter: alpha(opacity=70);
        /* IE lt 8 */
        -ms-filter: "alpha(opacity=70)";
        /* IE 8 */
    }

    .disabled {
        text-decoration: none;
    }

}

/*
desTxt
*/
.desTxt {
    display: none;
    position: absolute;
    right: calc(24px + 60px);
    top: 0;
    /*padding: 0 24px 0 0;*/
    font-size: 1.1rem;
    text-align: right;
    line-height: 48px;
    z-index: 999;
}

.fs-body-category .desTxt/*カテゴリ一覧用*/,
.body-typeWhite .desTxt/*白の方がいいページ用---西村貿易についてなど jsでbodyにclass付与*/{
    color: #fff;
}

/* for PC*/
@media print,
screen and (min-width:768px) {
    .desTxt {
        display: block;
    }
}

/*
header
*/
.header
/*.fs-l-header*/
    {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    background: #fff;
    z-index: 99999;
}

.header .logo
/*.fs-l-header .logo*/
    {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 130px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.togglenavBtn {
    position: fixed;
    left: 16px;
    top: 20px;
    width: 20px;
    height: 16px;
    z-index: 1000;
}

.togglenavBtn span {
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: #333;
    transition: .3s;
}


/*ナビ表示ボタン*/
#togglenav {
    display: none;
}

.togglenavBtn span:nth-child(1) {
    top: 0;
}

.togglenavBtn span:nth-child(2) {
    top: 50%;
    /*-webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);*/
}

.togglenavBtn span:nth-child(3) {
    bottom: 0;
    width: 10px;
}

#togglenav:checked~.togglenavBtn span:nth-child(1) {
    top: 50%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#togglenav:checked~.togglenavBtn span:nth-child(2) {
    opacity: 0;
}

#togglenav:checked~.togglenavBtn span:nth-child(3) {
    top: 50%;
    width: 100%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}



/*navWrap*/
.navWrap {
    /*display: none;*/
    visibility: hidden;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /*display: none;*/
    padding: 56px 0;
    background: #fff;
    z-index: 999;
    overflow-y: scroll;
    transition: .3s;
}

#togglenav:checked~.navWrap {
    visibility: visible;
    opacity: 1;
    /*display: block;
  animation-name: spNavOpen;
  animation-fill-mode: forwards;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-timing-function: linear;
  animation-delay: 0;
  animation-direction: normal;*/
}

/*animation*/
@keyframes spNavOpen {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1.0;
    }
}



.navWrap li {
    /*width: 69.33%;
  max-width: 260px;
  margin: 0 auto;*/
    font-size: 1.3rem;
    text-align: left;
    line-height: 1.2;
}

.navWrap li a {
    position: relative;
    display: block;
    width: 69.33%;
    max-width: 260px;
    margin: 0 auto;
    padding: 8px 0;
}

/*gNav*/
.gNav {
    margin: 0 0 50px 0;
}

.gNav>ul>li {}

.gNav>ul>li>a {}

.gNav>ul>li>a::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    display: block;
    width: 2px;
    height: 2px;
    background: #333;
    border-radius: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.gNav>ul>li>a>span {
    position: absolute;
    right: -5px;
    top: 50%;
    display: block;
    width: 12px;
    height: 12px;
    transform-origin: center;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    transition: .3s;
}

.gNav>ul>li>a>span::before,
.gNav>ul>li>a>span::after {
    content: "";
    position: absolute;
    left: 50%;
    display: block;
    width: 2px;
    height: 2px;
    background: #333;
    border-radius: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    transition: .1s;
}

.gNav>ul>li>a>span::before {
    top: 0;
}

.gNav>ul>li>a>span::after {
    bottom: 0;
}

/*click*/
/*.gNav > ul > li:hover{
  cursor: pointer;
}*/
.gNav>ul>li:hover>a.navOpen span {
    transform: rotate(90deg) translate(-50%, 0);
}

/*.gNav > ul > li:hover > a.navOpen + ul{
  display: block;
}*/

/*subnav*/
.gNav>ul>li ul {
    display: none;
}

.gNav>ul>li ul li {
    padding-left: 16px;
}


/*navGuide*/
.navGuide {
    margin: 0 0 56px 0;
}

/*navAccount*/
.navAccount::after {
    content: none;
}

.navAccount.sp {
    position: absolute;
    right: 0;
    top: 16px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.navAccount.sp li {
    width: 24px;
    margin: 0 16px 0 0;
}

.navAccount.sp li.navFavorite {
    display: none;
}

.navAccount.pc {
    display: none;
}

/*btnReg*/
.btnReg {
    width: 69.33%;
    max-width: 260px;
    margin: 56px auto 0 auto;
    font-size: 1.3rem;
    line-height: 1.0;
}

.btnReg a {
    display: block;
    height: 34px;
    line-height: calc(34px - 2px);
    border: 1px solid #333;
}


/* for PC*/
@media print,
screen and (min-width:768px) {
    .header {
        /*position: -webkit-sticky;
    position: sticky;*/
        /*position: fixed;
    left: 0;
    top: 0;*/
        /*position: static;*/
        /*width: 22.22%;*/
        width: 280px;
        min-width: initial;
        height: auto;
        padding-bottom: 32px;
    }
  
  .header .logo,
  .gNav,
  .navGuide{
    transition: .3s;
  }
  

    .header .logo {
        position: static;
        width: 155px;
        margin: 0 auto;
        padding: 80px 0;
        -webkit-transform: none;
        transform: none;
    }

    .togglenavBtn {
        display: none !important;
    }

    /*navWrap*/
    .navWrap {
        position: relative;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 0 0 0 0;
        overflow: visible;
    }

    #togglenav:checked~.navWrap {}

    .navWrap li {
        /*width: 58.92%;
    max-width: 165px;*/
    }

    .navWrap li a {
        position: relative;
        display: block;
        width: 58.92%;
        max-width: 165px;
        margin: 0 0 0 56px;
        padding: 8px 0;
    }

    /*gNav*/
    .gNav {}

    .gNav>ul>li {
        position: relative;
        overflow: visible;
    }

    .gNav>ul>li>a {}

    .gNav>ul>li>a::after {}

    .gNav>ul>li>a>span {}

    .gNav>ul>li>a>span::before,
    .gNav>ul>li>a>span::after {}

    .gNav>ul>li>a>span::before {
        top: 0;
    }

    .gNav>ul>li>a>span::after {}

    .gNav>ul>li ul {
        position: absolute;
        /*left: 280px;*/
        left: 230px;
        top: 0;
        /*width: 360px;*/
        width: 410px;
        padding-left: 50px;
        z-index: 999;
    }

    .gNav>ul>li ul li {
        display: block;
        padding-left: 0;
        white-space: nowrap;
    }
    .gNav>ul>li ul li.sp {
        display: none;
    }


    /*hover*/
    .gNav>ul>li:hover {
        cursor: pointer;
    }

    .gNav>ul>li:hover>a span {
        transform: rotate(90deg) translate(-50%, 0);
    }

    /*.gNav>ul>li:hover ul*/
  .gNav>ul>li ul.show{
        display: block;
    }

    /*subnav*/
    /*.gNav>ul>li ul::before*/
  .gNav>ul>li ul.show::before{
        content: "";
        position: fixed;
        /*left: 280px;*/
        left: 230px;
        top: 0;
        display: block;
        /*width: 360px;*/
        width: 410px;
        height: 100%;
        background: #fff;
        opacity: 0;
    }

    /*.gNav>ul:hover ul::before*/
  .gNav>ul>li ul.show::before{
        animation-name: subNavBg;
        animation-fill-mode: forwards;
        animation-duration: 0.3s;
        animation-iteration-count: 1;
        animation-timing-function: linear;
        animation-delay: 0;
        animation-direction: normal;
    }

    .gNav>ul>li ul li {
        width: auto;
    }

    .gNav>ul>li ul li a {
        width: auto;
    }

    /*navAccount*/
    .navAccount.sp {
        display: none;
    }

    .navAccount.pc {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        max-width: 165px;
        margin: 0 auto;
    }

    .navAccount.pc li {
        width: 24px;
    }

    .navAccount.pc li.navCart {
        position: relative;
    }

    .navAccount.pc li a {
        width: 100%;
        max-width: initial;
        margin: 0;
        padding: 0;
    }

    /*btnReg*/
    .btnReg {
        width: auto;
        max-width: 160px;
        margin: 24px auto 0 auto;
    }

    .btnReg a {}
}

/*animation*/
@keyframes subNavBg {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1.0;
    }
}

/* 横幅768px以上で、高さ650px以下の場合 */
@media screen and (min-width: 768px) and (max-height: 650px) {
  
 .header .logo {
    padding: 40px 0;
  }
  .gNav{
    margin-bottom: 24px;
  }
  .navGuide {
     margin-bottom: 28px;
  }
}


/* for tablet*/
@media only screen and (min-device-width: 768px) and (orientation:portrait) {
    /*縦向きのみ*/
}




/*
modal
*/
.bgModal {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 100000;
}

/*
search
*/
.btnSearch {
    position: fixed;
    top: 16px;
    left: 50px;
    width: 24px;
    height: 24px;
    background: url("../images/ico_search_bl.svg") no-repeat center center;
    background-size: 24px auto;
    text-align: center;
    cursor: pointer;
	z-index:100000;
}

.searchBox {
    display: none;
    position: fixed;
    left: 50%;
    top: 120px;
    width: calc(100% - 32px);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: 100001;
}

.searchBox>div {}

.searchBox>div>div {
    padding: 24px 0 0 0;
}

.searchBox>div>div form {
    position: relative;
}

.searchBox>div>div form input[type='text'] {
  position: relative;
    height: 50px;
    padding: 0 16px;
    border-radius: 4px;
    border: none;
    outline: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
    font-size: 1.6rem;
}

.searchBox>div>div form input[type='submit'] {
    position: absolute;
    right: 0;
    top: 0;
    width: 50px;
    height: 50px;
    margin: 0;
    background: url("../images/ico_search_bl.svg") no-repeat center center;
    background-size: 25px auto;
    border: none;
    outline: none;
}

.searchBox .btnSeaClose {
    position: absolute;
    top: 0;
    right: 0;
    width: 16px;
    height: 16px;
}

.searchBox .btnSeaClose::before,
.searchBox .btnSeaClose::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    background: #fff;
    transform-origin: center center;
    transition: .3s;
}

.searchBox .btnSeaClose::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.searchBox .btnSeaClose::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.searchBox .btnSeaClose:hover {
    cursor: pointer;
    opacity: 0.7;
}



/* for PC*/
@media print,
screen and (min-width:768px) {
	.btnSearch {
		position: absolute;
        top: 0;
        left: auto;
        right: 0;
        width: 60px;
        height: 48px;
        line-height: 48px;
		border-left: 1px solid rgba(0, 0, 0, 0.2);
		z-index:99999;
    }

    
    .fs-body-category .btnSearch/*カテゴリ一覧用*/,
    .body-typeWhite .btnSearch/*白の方がいいページ用---西村貿易についてなど jsでbodyにclass付与*/{
        background-image: url("../images/ico_search_wh.svg");
        border-left-color: #fff;
    }


    .searchBox {
        width: 540px;
    }

    .searchBox>div {}

    .searchBox>div>div {
        padding: 20px 16px 0 16px;
    }

    .searchBox>div>div form {}

    .searchBox>div>div form input[type='text'] {}

    .searchBox>div>div form input[type='submit'] {}

    .searchBox .btnSeaClose {}

    .searchBox .btnSeaClose::before,
    .searchBox .btnSeaClose::after {}

    .searchBox .btnSeaClose::before {}

    .searchBox .btnSeaClose::after {}

    .searchBox .btnSeaClose:hover {}

}






/*
contents
*/
.contents {
    position: relative;
    padding: 60px 0 0 0;
}

/* for PC*/
@media print,
screen and (min-width:768px) {
    .contents {
        display: block;
        width: 100%;
        padding-top: 0;
        min-height: 800px;
        /*headerの高さ分くらい*/
        /*ヘッダーより短い場合を考慮*/
        /*min-height: calc(100vh + 50px);*/
    }
}


/*
ttl
*/
.ttlEn {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 1.3;
}
/*.fs-c-heading .ttlEn{
  line-height: 1.5;
}*/
/*.ttlEn .fJa {
    margin-top: -0.5em;
}*/

.ttlEn.type01,
.ttlEn.type02 {
    padding: 72px 0 24px 0;
    /*line-height: 1.5;*/
}

.ttlEn.type03 {
    padding: 72px 0 24px 0;
}


.ttlEn.type01 .fEn02 {
    display: block;
    font-size: 5.6rem;
}

.ttlEn.type01 .fJa {
    display: block;
    font-size: 1.4rem;
}

.ttlEn.type02 .fEn02 {
    display: block;
    font-size: 6.4rem;
}

.ttlEn.type03 .fJa {
    display: block;
    font-size: 2.0rem;
}

.ttlEn.type02 .fJa {
    display: block;
    font-size: 1.6rem;
}


/*ttlH2*/
.ttlH2 {
    position: relative;
    /*margin: 44px 0 0 0;*/
    margin: 80px 0 0 0;
    padding: 12px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.ttlH2::before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    display: block;
    width: 16px;
    height: 1px;
    background: #333;
}

/*type01 下マージンなし type02下マージンあり*/
.ttlH2.type01 {
    margin-bottom: 0;
}

.ttlH2.type02 {
    margin-bottom: 32px;
}


/*ttlH3*/
.ttlH3 {
    position: relative;
    margin: 32px 0 0 0;
    padding: 8px;
    background: #eee;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

/*type01 下マージンなし type02下マージンあり*/
.ttlH3.type01 {
    margin-bottom: 0;
}

.ttlH3.type02 {
    margin-bottom: 24px;
}

/*ttlH4*/
.ttlH4 {
    position: relative;
    margin: 24px 0 0 0;
    padding: 0 0 0 4px;
    border-left: 3px solid #333;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
}

/*type01 下マージンなし type02下マージンあり*/
.ttlH4.type01 {
    margin-bottom: 0;
}

.ttlH4.type02 {
    margin-bottom: 16px;
}

/*ttlH5*/
.ttlH5 {
    position: relative;
    margin: 16px 0 0 0;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    color: #999;
}

/*type01 下マージンなし type02下マージンあり*/
.ttlH5.type01 {
    margin-bottom: 0;
}

.ttlH5.type02 {
    margin-bottom: 8px;
}


/* for PC*/
@media print,
screen and (min-width:768px) {
    .ttlEn {}

    .ttlEn.type01,
    .ttlEn.type02 {
        padding: 120px 0 40px 0;
    }

    .ttlEn.type03 {
        padding: 120px 0 40px 0;
    }


    .ttlEn.type01 .fEn02 {
        font-size: 8.0rem;
    }

    .ttlEn.type01 .fJa {}

    .ttlEn.type02 .fEn02 {
        font-size: 10.0rem;
    }


    .ttlEn.type03 .fJa {
        font-size: 2.4rem;
    }

    .ttlEn.type02 .fJa {
        font-size: 1.8rem;
    }

    /*ttlH2*/
    .ttlH2 {}

    .ttlH2::before {}

    /*type01 下マージンなし type02下マージンあり*/
    .ttlH2.type01 {
        margin-bottom: 0;
    }

    .ttlH2.type02 {
        margin-bottom: 32px;
    }


    /*ttlH3*/
    .ttlH3 {}

    /*type01 下マージンなし type02下マージンあり*/
    .ttlH3.type01 {}

    .ttlH3.type02 {}

    /*ttlH4*/
    .ttlH4 {}

    /*type01 下マージンなし type02下マージンあり*/
    .ttlH4.type01 {}

    .ttlH4.type02 {}

    /*ttlH5*/
    .ttlH5 {}

    /*type01 下マージンなし type02下マージンあり*/
    .ttlH5.type01 {}

    .ttlH5.type02 {}

}


/*
txt
*/

.txt01 {
    margin: 16px 0;
    font-size: 1.3rem;
    line-height: 2.0;
}

/*type01 マージンなし type02上だけマージンあり type03下だけマージンあり*/
.txt01.type01 {
    margin-top: 0;
    margin-bottom: 0;
}

.txt01.type02 {
    margin-bottom: 0;
}

.txt01.type03 {
    margin-top: 0;
}

.txt02 {
    font-size: 1.2rem;
    line-height: 2.0;
}


.list li {
    margin-left: 1.5em;
    margin-top: 4px;
    margin-bottom: 4px;
}

.list.disc > li {
    list-style-type: disc;
}

.list.decimal > li {
    list-style-type: decimal;
}

.list.decimal.lrc > li {
    /*lower-roman*/
    list-style-type: lower-roman;
}


/*
bnrShowroom
*/
.bnrShowroom {
    position: relative;
    height: 550px;
    margin: 0 0 40px 0;
    /*background: url("../images/bnr_showroom_sp.jpg") no-repeat center center;
    background-size: cover;*/
    color: #fff;
    text-align: center;
}

.bnrShowroom * {
    text-align: center;
}

.bnrShowroom > div {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  z-index: 10;
}

  .bnrShowroom .fixBg{
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 100%;
    width: 100%;
    z-index: -1;
  }
  .bnrShowroom .fixBgClip{
    position: relative;
    display: block;
    overflow: hidden;
    clip-path: inset(0 0 0 0);
    height: 100%;
  }
  .bnrShowroom .fixBgClip img{
    position: fixed;
    width: 100%;
    min-height: 100vh;
    height: auto;
    right: 0;
    top: 0;
    pointer-events: none;
  }
  .bnrShowroom .ttlEn + .txt01{
    margin-top: 0;
    margin-bottom: 0;
  }


/* for PC*/
@media print,
screen and (min-width:768px) {
  .bnrShowroom {
    position: relative;
    height: 400px;
    margin: 0 0 80px 0;
    background: none;
    background-image: url("../images/bnr_showroom_pc.jpg");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: calc(100% - 280px) auto;
  }
    
  .bnrShowroom .fixBg{
    display: none;
  }
  .bnrShowroom .ttlEn + .txt01{
    margin-top: 0;
    margin-bottom: 32px;
  }
  .bnrShowroom .ttlEn .fJa{
    margin-top: -2em;
  }

}


/*
footer
*/
.footer {
    position: relative;
    float: right;
    padding: 70px 0 30px 0;
    color: #999;
    text-align: left;
    font-size: 1.2rem;
    /*z-index: -1;*/
}

.footer a {
    color: #999;
}

.footer .fCom {
    margin: 0 0 40px 0;
  line-height: 1.8;
  text-align: center;
}

.footer .fCom address {
    font-style: normal;
}

.footer .fNav01 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  width: 90%;  
  margin: 0 auto 40px auto;
  /*margin: 0 0 40px 0;*/
  border-right: 1px solid #ddd;
}

.footer .fNav01 li {
    width: 50%;
  padding: 10px 0 10px 0px;
    /*padding: 10px 0 10px 20px;*/
    border-left: 1px solid #ddd;
  text-align: center;
}

.footer .fNav02 {
    clear: both;
    margin: 0 0 15px 0;
  text-align: center;
}

.footer .fNav02 li {
    display: inline-block;
    vertical-align: top;
    /*margin: 0 30px 15px 0;*/
  margin: 0 15px 15px 15px;
    line-height: 1.2;
}

.copyright {
    font-size: 1.3rem;
    text-align: center;
}

/* for PC*/
@media print,
screen and (min-width:768px) {
    .footer {
        /*float: right;
    width: calc(100% - 280px);*/
        width: 100%;
        padding: 120px 0 45px 0;
    }

    .footer>div {
        /*float: left;*/
        width: 100%;
        /*max-width: 1100px;*/
        margin-right: unset !important;
        padding-left: 0;
      padding-right: 56px;
    }

    .footer .fCom {
        float: left;
      text-align: left;
    }

    .footer .fCom address {}

    .footer .fNav01 {
        float: right;
      width: auto;  
      margin: 0 0 40px 0;
      border-right: none;
    }

    .footer .fNav01 li {
        width: 25%;
        padding: 0 0 10px 0;
        border-left: none;
      text-align: left;
    }
  
  .footer .fNav01 li:nth-of-type(1) {
    order: 1;
  }
  .footer .fNav01 li:nth-of-type(2) {
    order: 5;
  }
  .footer .fNav01 li:nth-of-type(3) {
    order: 2;
  }
  .footer .fNav01 li:nth-of-type(4) {
    order: 6;
  }
  .footer .fNav01 li:nth-of-type(5) {
    order: 3;
  }
  .footer .fNav01 li:nth-of-type(6) {
    order: 7;
  }
  .footer .fNav01 li:nth-of-type(7) {
    order: 4;
  }
  
  

    .footer .fNav02 {
        float: left;
        margin: 0 0 0 0;
      text-align: left;
    }

    .footer .fNav02 li {
      margin: 0 30px 15px 0;
  }

    .copyright {
        float: right;
        text-align: right;
    }
}

/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {

    /*iPadが縦向きのみの記述*/
    .footer>div {
        /*float: right;*/
        width: 100%;
        margin-left: 0 !important;
        padding-right: 2.66vw;
    }
}

/* for tablet*/
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation:landscape) {
    .footer>div {
        /*float: right;*/
        width: 100%;
        margin-left: 0 !important;
        padding-right: 2.66vw;
    }
}


@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    /*iPadの縦横両方の記述*/
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {
    /*iPadが縦向きのみの記述*/
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    /*iPadが横向きのみの記述*/
}

.r2jigyousaikouchiku {
	clear: both;
    padding: 16px 0 0 0;
	text-align: center;
	font-size: 1.1rem;
	color:#999;
}

/* for PC*/
@media print,
screen and (min-width:768px) {
	.r2jigyousaikouchiku {
    padding: 0 0 0 0;
	text-align: right;
	}
}