@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Cabin');
@import url('https://fonts.googleapis.com/css?family=Lora');

* {
    box-sizing: border-box;
}

.add_form_notice {
    text-align: center;
}

.lightbox {
    /*
  position: fixed;
  top: 40px !important;
  */
}

.lightboxOverlay {}

.lb-nav a.lb-next,
.lb-nav a.lb-prev {
    display: none !important;
}

/*---*/
a {
    color: #111;
}

.en_font_fix {
    letter-spacing: normal !important;
}

.he {
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.he:hover {
    opacity: 0.7;
}

.cabin {
    font-family: 'Cabin', sans-serif;
}

.img_full {
    width: 100%;
    height: auto !important;
}

.img_top {
    width: 100%;
    height:400px;
    object-fit:cover;
}

.mincho {
    font-family: 游明朝, "Yu Mincho", YuMincho, HGS明朝E, メイリオ, Meiryo, serif;
}

.cont_wrap {
    max-width: 1600px;
    min-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 60px;
    position: relative;
}

.cont_wrap02 {
    max-width: 100%;
    min-width: 1200px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.cont_wrap03 {
    max-width: 100%;
    min-width: 1000px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.cont_wrap04 {
    width: 1200px;
    min-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

/*---*/
.gen_btn01 {
    border: 1px solid #333;
    display: inline-block;
    font-size: 12px;
    padding: 4px 15px;
    text-align: center;
    color: #333;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.gen_btn01 span:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 5px;
}

.gen_btn02 {
    border: 1px solid #333;
    display: inline-block;
    text-align: center;
    color: #333;
    padding: 15px;
    font-size: 15px;
    letter-spacing: 2px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.gen_btn02 span:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 10px;
}

.gen_btn02:hover {
    background: #333;
    color: #FFF;
}

.gen_btn02:hover span:before {
    color: #FFF;
}

.gen_btn03 {
    border: 1px solid #333;
    display: inline-block;
    text-align: center;
    color: #333;
    padding: 15px;
    font-size: 15px;
    letter-spacing: 2px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.gen_btn03 span:before {
    content: "\f104";
    font-family: FontAwesome;
    margin-right: 10px;
}

.gen_btn03:hover {
    background: #333;
    color: #FFF;
}

.gen_btn03:hover span:before {
    color: #FFF;
}

.gen_link01 {
    color: #111;
    position: relative;
    font-size: 12px;
}

.gen_link01:hover {
    text-decoration: underline;
}

.gen_link01:before {
    content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    top: 50%;
    margin-top: -9px;
    left: -10px;
}

.gen_link02 {
    color: #111;
    position: relative;
    font-size: 12px;
}

.gen_link02:hover {
    text-decoration: underline;
}

.gen_link02:before {
    content: "\f105";
    font-family: FontAwesome;
    position: absolute;
    top: 50%;
    margin-top: -9px;
    left: -10px;
}

/*---*/
.gen_title01 {
    font-size: 24px;
    font-family: 'Cabin', sans-serif;
    text-align: left;
    letter-spacing: 13px;
    position: relative;
}

.gen_title01>span:before {
    content: "“";
    font-size: 200%;
    margin-right: 10px;
    line-height: 10px;
    display: inline-block;
    vertical-align: bottom;
    font-family: 'Lora', serif;
}

.gen_title01>span:after {
    content: "”";
    font-size: 200%;
    margin-left: 10px;
    line-height: 10px;
    display: inline-block;
    vertical-align: bottom;
    font-family: 'Lora', serif;
}

.gen_title02 {
    font-size: 12px;
    letter-spacing: 3px;
    font-family: 'Cabin', sans-serif;
    text-align: left;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}

.gen_title03 {
    font-size: 20px;
    font-family: 'Cabin', sans-serif;
    text-align: left;
    letter-spacing: 7px;
    position: relative;
}

.gen_title03>span {}

.gen_title03>span:before {
    content: "「";
    margin-right: 10px;
    display: inline-block;
    display: none;
}

.gen_title03>span:after {
    content: "」";
    margin-left: 10px;
    display: inline-block;
    display: none;
}

/*---*/
.gen_box_style01 {
    padding-top: 10%;
}

.gen_box_style01>.title {
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding-bottom: 30px;
    letter-spacing: 3px;
}

.gen_box_style01>.title:after {
    content: " ";
    width: 1px;
    height: 50px;
    position: absolute;
    top: 50px;
    left: 50%;
    background: #333;
    display: none;
}

.gen_box_style01>.text {
    line-height: 3;
    margin-bottom: 60px;
}

/*---*/
.column_wrap {
    text-align: center;
    letter-spacing: -0.5em;
    display:flex;
    justify-content: space-around;
}

.column_wrap>.column {
    letter-spacing: normal;
    /*display: inline-block;*/
    vertical-align: top;
}

.column_type01>.column {
    width: 50%;
}

.column_type01>.left {
    /*float: left;*/
    order:-1;
    padding-right: 15px;
    position: relative;
}

.column_type01>.right {
    /*float: right;*/
    order:0;
    padding-left: 15px;
    position: relative;
}

.fit_fullscreen {
    width: 100%;
    height: 1000px;
    position: relative;
}

.fit_fullscreen:after {
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    opacity: 1;
    z-index: 100;
    -webkit-transition: opacity 0.7s ease;
    -moz-transition: opacity 0.7s ease;
    -ms-transition: opacity 0.7s ease;
    -o-transition: opacity 0.7s ease;
    transition: opacity 0.7s ease;
}

.fit_fullscreen.on:after {
    opacity: 0;
}

.fit_fullscreen.del:after {
    display: none;
}

/*---*/
html,
body {
    background: #fff;
    height: 100%;
    line-height: 1.5;
    font-weight: 500;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
    -webkit-text-size-adjust: 100%;
}

body {
    color: #111;
    font-size: 13px;
    height: 100%;
}

a {
    text-decoration: none;
}

/*---*/
body>header {
    position: fixed;
    z-index: 200;
    padding: 10px 30px;
    width: 100%;
    background: rgba(255, 255, 255, 1);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

body>header.dark {
    background: rgba(0, 0, 0, 0.8);
}

body>header .logo {
    display: inline-block;
    vertical-align: middle;
    background-image: url('/assets/image/light_logo.png');
    background-repeat: no-repeat;
}

body>header .logo img {
    display: block;
    opacity: 1;
    height:50px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

body>header.sc {
    background: rgba(0, 0, 0, 0.8);
}

body>header.sc .logo img {
    /*opacity: 0;*/
}

body>header.sc .menu li a {
    color: #fff;
}

body>header.sc .gen_btn01 {
    border: 1px solid #fff;
    color: #FFF;
}

body>header .menu {
    letter-spacing: -0.5em;
    vertical-align: middle;
    display: inline-block;
}

body>header .menu li {
    letter-spacing: 2px;
    margin: 0 20px;
    font-family: 'Cabin', sans-serif;
    display: inline-block;
}

body>header .menu li a {
    font-size: 13px;
    color: #111;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

body>header .menu li a:hover {
    opacity: 0.7;
}

body>header.dark .menu li a {
    font-size: 13px;
    color: #FFF;
}

body>header .goto_en_btn {
    /*
  position: absolute;
  top: 5px;
  right: 0px;
  */
    float: right;
    margin-top: 5px;
}

body>header .goto_reserve_btn {
    /*
  position: absolute;
  top: 5px;
  right: 100px;
  */
    float: right;
    margin-top: 5px;
    /*margin-right: 15px;*/
    margin-right: 5px;
}

body>header .goto_onlineshop_btn {
    float: right;
    margin-top: 5px;
    /*margin-right: 15px;*/
    margin-right: 5px;
}

.dark .gen_btn01 {
    border: 1px solid #fff;
    color: #FFF;
}

/*---*/
body>footer {
    position: relative;
    background: #f4f5f7;
    z-index: 100;
    padding: 30px 50px;
}

.page_toppage+.corp_foot_brand_block+footer {
    background: #FFF;
}

body>footer .logo {
    margin-bottom: 5px;
}

body>footer .logo img {
    width: 100px;
    height: auto;
}

body>footer .menu li {
    display: inline-block;
    margin-right: 25px;
}

body>footer .menu li a {
    color: #111;
}

body>footer .menu li a:hover {
    text-decoration: underline;
}

body>footer .inner {
    position: relative;
}

body>footer .inner .info_wrap>.menu {
    float: left;
}

body>footer .inner .info_wrap>small {
    float: right;
}

/*---*/
.breadcrumb {
    text-align: right;
    margin-right: 15px;
    padding: 5px 0;
}

.breadcrumb>li {
    display: inline-block;
    font-size: 12px;
    vertical-align: middle;
    margin-right: 5px;
}

.breadcrumb>li:before {
    content: "\f105";
    display: inline-block;
    font-family: FontAwesome;
    margin-right: 5px;
    vertical-align: middle;
    margin-top: -2px;
}

.breadcrumb>li:first-child:before {
    opacity: 0;
}

.breadcrumb>li a {
    color: #111;
}

.breadcrumb>li a:hover {
    text-decoration: underline;
}

/*---*/
.top_movie_container {
    width: 100%;
    height: 100%;
    background: #000;
    /*background-image: none !important;*/
}

.top_movie_container:after {
    content: " ";
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: repeat;
    background-image: url(/assets/image/overlay.png);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 40;
    display: none;
}

.top_mv_movie {
    width: 100%;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 40;
    -webkit-transition: opacity 2s ease;
    -moz-transition: opacity 2s ease;
    -ms-transition: opacity 2s ease;
    -o-transition: opacity 2s ease;
    transition: opacity 2s ease;
}

.top_mv_movie.on {
    opacity: 1;
}

.top_movie_container .inner {
    position: fixed;
    z-index: 30;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-image: url(/assets/image/top_mv.jpg);
    background-color: rgba(0, 0, 0, 1.00);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.to_full_movie_wrap {
    background: rgba(0, 0, 0, 0.5);
    padding: 30px 90px;
    width: 100%;
    position: absolute;
    z-index: 60;
    bottom: 0;
    left: 0;
    color: #FFF;
}

.to_full_movie_wrap .table {
    display: table;
    width: 100%;
}

.to_full_movie_wrap .table>.left {
    width: 160px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.to_full_movie_wrap .table>.left .image {
    width: 130px;
    height: 110px;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.to_full_movie_wrap .table>.left .image:hover {
    opacity: 0.7;
}

.to_full_movie_wrap .table>.right {
    display: table-cell;
    vertical-align: middle;
    color: #FFF;
    padding: 0 10px;
    text-align: left;
}

.to_full_movie_wrap .title {
    font-size: 16px;
    letter-spacing: 3px;
    font-family: 'Cabin', sans-serif;
}

.to_full_movie_wrap a {
    color: #FFF;
}

.to_full_movie_wrap .btn_wrap {
    padding: 0 12px;
}

.content {
    position: relative;
    background: #FFF;
    z-index: 100;
    padding-bottom: 10px;
}

.content_sub {
    padding-top: 59px;
    padding-bottom: 100px;
    background: #F4F5F7;
}

.page_corporate.content_sub,
.page_restindex.content_sub {
    padding-bottom: 0;
}

.page_corporate .corp_news_block,
.page_restindex .corp_news_block {
    border-bottom: none;
}

.content_sub02 {
    background: #F4F5F7;
    padding-bottom: 100px;
}

/*---*/
.page_toppage .block01 {
    margin-bottom: 20px;
}

.page_toppage .block01 .gen_title01 {
    margin-bottom: 20px;
}

.page_toppage .block01 .gen_title02 {
    position: absolute;
    top: 150px;
    left: -90px;
}

.page_toppage .block01 .gen_btn02 {
    width: 360px;
    font-family: 'Cabin', sans-serif;
}

.page_toppage .block02 {}

.page_toppage .block03 {}

.page_toppage .block03 .gen_title01 {
    margin-bottom: 20px;
}

.page_toppage .block03 .gen_btn02 {
    width: 360px;
    font-family: 'Cabin', sans-serif;
}

.page_toppage .block03 .gen_title02 {
    position: absolute;
    top: 130px;
    right: -70px;
}

.page_toppage .block04 .column_wrap {
    background: #999;
}

.page_toppage .block04 .column_type02 .left {
    width: 50%;
    float: left;
}

.page_toppage .block04 .column_type02 .right {
    width: 50%;
    float: right;
}

.page_toppage .block04 .column_type02 .table {
    width: 100%;
    display: table;
}

.page_toppage .block04 .column_type02 .row {
    display: table-row;
}

.page_toppage .block04 .column_type02 .col {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
    background: #FFF;
    position: relative;
}

.page_toppage .block04 .column_type02 .inner {
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_toppage .block04 .column_type02 .item01:before {
    content: " ";
    width: 94%;
    height: 97%;
    display: block;
    position: absolute;
    top: 0;
    left: 3%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 40;
    display: none;
}

.page_toppage .block04 .column_type02 .item01 .gen_title01 {
    color: #111;
    font-size: 14px;
    text-align: center;
    position: relative;
    z-index: 110;
}

.page_toppage .block04 .column_type02 .item04 {
    text-align: left;
}

.page_toppage .block04 .column_type02 .item04 .gen_title02 {
    font-size: 10px;
    position: absolute;
    top: 70px;
    left: -50px;
}

.page_toppage .block04 .column_type02 .item04 .text {
    font-size: 13px;
    padding: 0 15%;
    line-height: 200%;
}

.page_toppage .block04 .column_type02 .item08 .gen_btn02 {
    width: 70%;
}

.corp_news_block {
    position: relative;
    border-top: 1px solid #818181;
    border-bottom: 1px solid #818181;
}

.corp_news_block .table {
    display: table;
    width: 100%;
}

.corp_news_block .table .col {
    display: table-cell;
    vertical-align: middle;
    padding: 40px 50px;
}

.corp_news_block .table .col:nth-of-type(1) {
    width: 25%;
    text-align: center;
    border-right: 1px solid #818181;
}

.corp_news_title {
    font-size: 24px;
    margin-bottom: 25px;
}

.corp_news_block .gen_link01 {
    font-size: 12px;
}

.corp_news_block .news_list>li {
    margin-bottom: 15px;
}

.corp_news_block .news_list .date {
    display: inline-block;
    vertical-align: middle;
    padding: 5px 10px;
    font-size: 11px;
    color: #FFF;
    background: #32312e;
    margin-right: 5px;
    letter-spacing: 2px;
}

.corp_news_block .news_list .category {
    display: inline-block;
    vertical-align: middle;
    padding: 5px 10px;
    font-size: 11px;
    color: #FFF;
    background: #32312e;
    margin-right: 10px;
    letter-spacing: 2px;
    width: 130px;
    text-align: center;
    font-family: "Cabin", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
}

.corp_news_block .news_list .title {
    display: inline-block;
    vertical-align: middle;
}

.corp_news_block .news_list .title {
    width: 600px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.corp_news_block .news_list .title a {
    text-decoration: underline;
    color: #111;
}

.corp_news_block .news_list .title a:hover {
    text-decoration: none;
}

.corp_foot_brand_block {
    border-top: 1px solid #818181;
    border-bottom: 1px solid #818181;
    padding: 25px;
    background: #f4f5f7;
    position: relative;
    z-index: 300;
}

.page_toppage+.corp_foot_brand_block {
    background: #FFF;
}

.page_toppage+.corp_foot_brand_block {
    border-top: none;
}

.corp_foot_brand_block>.inner {
    text-align: center;
    letter-spacing: -0.5em;
}

.corp_foot_brand_block>.inner>li {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    /*margin-left: 15px;*/
    /*margin-right: 15px;*/
    margin-left: 5px;
    margin-right: 5px;
}

.corp_foot_brand_block>.inner>li img {
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.corp_foot_brand_block>.inner>li img:hover {
    opacity: 0.7;
}

/*---*/
.page_corporate .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
}

.page_corporate .block01 .head {
    margin-bottom: 60px;
}

.page_corporate .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_corporate .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_corporate .block01 .body .text {
    line-height: 2;
}

.page_corporate .block02>.item_wrap>.item {
    width: 585px;
    float: left;
    margin-bottom: 100px;
}

.page_corporate .block02>.item_wrap>.item:nth-of-type(2n) {
    float: right;
}

.page_corporate .block02>.item_wrap>.item a {
    color: #111;
}

.page_corporate .block02>.item_wrap>.item .image {
    width: 100%;
    height: 450px;
    margin-bottom: 20px;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_corporate .block02>.item_wrap>.item:hover .image {
    opacity: 0.7;
}

.page_corporate .block02>.item_wrap>.item .info_container {
    letter-spacing: -0.5em;
    position: relative;
}

.page_corporate .block02>.item_wrap>.item .info_container:after {
    content: "\f105";
    font-family: FontAwesome;
    position: absolute;
    top: 50%;
    right: 10px;
    font-size: 40px;
    margin-top: -30px;
    font-weight: bold;
}

.page_corporate .block02>.item_wrap>.item .info_container .title {
    width: 36%;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: normal;
}

.page_corporate .block02>.item_wrap>.item .info_container .title>.title_en {
    font-family: 'Cabin', sans-serif;
    font-size: 20px;
    letter-spacing: 8px;
    margin-bottom: 2px;
}

.page_corporate .block02>.item_wrap>.item .info_container .title>.title_ja {
    font-size: 12px;
    letter-spacing: 3px;
}

.page_corporate .block02>.item_wrap>.item .info_container .text {
    width: 63.5%;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: normal;
    line-height: 2;
}

.page_corporate .block03>.head {
    width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    border-bottom: 1px solid #111;
    margin-bottom: 40px;
}

.page_corporate .block03>.head .title {
    font-size: 30px;
    line-height: 1.2;
}

.page_corporate .block03>.head .title span {
    font-size: 50px;
}

.page_corporate .block03>.head .title_en {
    font-size: 12px;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.page_corporate .block03 .item_list {
    padding-left: 200px;
}

.page_corporate .block03 .item_list>li {
    padding-left: 70px;
    margin-bottom: 45px;
    counter-increment: company_values;
    position: relative;
}

.page_corporate .block03 .item_list>li:before {
    content: counter(company_values);
    position: absolute;
    top: 0;
    left: 0;
    font-size: 40px;
    line-height: 1;
    font-weight: bold;
    font-family: 'Lora', serif;
    font-style: italic;
}

.page_corporate .block03 .item_list>li .ja {
    font-size: 18px;
    letter-spacing: 2px;
    font-weight: bold;
}

.page_corporate .block03 .item_list>li .en {
    font-size: 11px;
    color: #999;
}

.page_corporate .block03 .foot {
    text-align: center;
    padding-bottom: 100px;
}

.page_corporate .block03 .foot .ja {
    font-size: 20px;
    letter-spacing: 2px;
    font-weight: bold;
}

.page_corporate .block03 .foot .en {
    font-size: 11px;
    color: #999;
}

/* add */
.page_corporate .body{
    max-width:800px;
    margin:0 auto;
}
.page_corporate .body h3 {
    text-align: center;
    font-weight: 700;
    color: #555;
    margin: 6px auto 22px;
    padding: 10px 0;
    border-top: 1px dotted #bbb;
    border-bottom: 1px dotted #bbb;
    max-width: 800px;
    letter-spacing: .12em;
}
.page_corporate .body .text{
    text-align:left;
}
.page_corporate .body .text .motto{
    font-weight:bold;
    letter-spacing: .02em;
}
.page_corporate .body .corporate-sign{
    text-align: right;
    margin: 40px 10px 0 0;
    color: #444;
}

/*---*/
.foot_category_link_block {
    padding-bottom: 70px;
}

.foot_category_link_block>.inner {
    letter-spacing: -0.5em;
    text-align: center;
}

.foot_category_link_block>.inner>li {
    width: 295px;
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
}

.foot_category_link_block>.inner>li:nth-of-type(2) {
    margin-left: 110px;
    margin-right: 110px;
}

.foot_category_link_block>.inner>li .image {
    width: 100%;
    height: 260px;
    margin-bottom: 20px;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.foot_category_link_block>.inner>li .title {
    font-weight: bold;
    letter-spacing: 3px;
}

.foot_category_link_block>.inner>li a:hover .image {
    opacity: 0.7;
}

.foot_category_link_block>.inner>li span:hover {
    text-decoration: none;
}

.foot_category_link_block>.inner>li a:hover .title {}

.back_to_prev_page_wrap {
    text-align: center;
    padding-bottom: 80px;
}

.back_to_prev_page_wrap .gen_btn03 {
    width: 230px;
}

/*---*/
.page_outline .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 70px;
}

.page_outline .block01 .head {
    margin-bottom: 60px;
}

.page_outline .block01 .head .gen_title03 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 20px;
    letter-spacing: 7px;
}

.page_outline .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_outline .block01 .body .image {
    text-align: center;
}

.page_outline .block02 {
    width: 765px;
    padding-bottom: 90px;
    margin-left: auto;
    margin-right: auto;
}

.page_outline .block02 .company_outline_detail {
    width: 100%;
}

.page_outline .block02 .company_outline_detail tr {
    border-bottom: 1px solid #999;
}

.page_outline .block02 .company_outline_detail th {
    padding: 30px 0;
    width: 110px;
    vertical-align: top;
    line-height: 1.8;
}

.page_outline .block02 .company_outline_detail td {
    padding: 30px;
    vertical-align: top;
    line-height: 1.8;
}

.page_outline .block03 {
    padding-bottom: 150px;
}

.page_outline .block03 .map_container {
    width: 100%;
    height: 435px;
}

/*---*/
.company_foot_link_block>.inner {
    max-width: 1470px;
    min-width: 1200px;
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 140px;
}

.company_foot_link_block>.inner>li {
    display: table-cell;
    width: 25%;
    padding: 0 10px;
}

.company_foot_link_block>.inner>li .image {
    margin-bottom: 10px;
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.company_foot_link_block>.inner>li:hover .image {
    opacity: 0.7;
}

.company_foot_link_block>.inner>li .image img {
    width: 100%;
}

.company_foot_link_block>.inner>li .title {
    text-align: center;
}

.company_foot_link_block>.inner>li .title>.title_en {
    font-family: 'Cabin', sans-serif;
    font-size: 15px;
    letter-spacing: 8px;
    margin-bottom: 2px;
}

.company_foot_link_block>.inner>li .title>.title_ja {
    font-size: 12px;
    letter-spacing: 3px;
}

/*---*/
.page_history .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
}

.page_history .block01 .head {
    margin-bottom: 60px;
}

.page_history .block01 .head .gen_title03 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 20px;
    letter-spacing: 7px;
}

.page_history .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_history .block01 .body .image img {}

.page_history .block02 .company_history_table {
    width: 830px;
    margin-bottom: 210px;
    margin-left: auto;
    margin-right: auto;
}

.page_history .block02 .company_history_table th {
    vertical-align: middle;
    width: 245px;
    position: relative;
    /*
  font-family: 'Lora', serif;
  */
    /*
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  */
    font-size: 30px;
    font-weight: bold;
}

.page_history .block02 .company_history_table th:after {
    content: " ";
    width: 90px;
    height: 1px;
    background: #111;
    position: absolute;
    top: 50%;
    right: 30px;
}

.page_history .block02 .company_history_table td {
    vertical-align: middle;
    padding: 30px;
    line-height: 1.8;
}

/*---*/
.page_vision .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 60px;
}

.page_vision .block01 .head {
    margin-bottom: 100px;
}

.page_vision .block01 .head .gen_title03 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 20px;
    letter-spacing: 7px;
}

.page_vision .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_vision .block01 .body .title {
    font-size: 24px;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 4px;
}

.page_vision .block01 .body .title_en {
    font-size: 12px;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.page_vision .company_vision_item_container {
    padding-left: 45px;
    padding-right: 45px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 160px;
}

.page_vision .company_vision_item_container>.image {
    margin-bottom: 65px;
    text-align: center;
}

.page_vision .company_vision_item_container>.image img {}

.page_vision .company_vision_item_container>.title {
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 3px;
    margin-bottom: 20px;
}

.page_vision .company_vision_item_container>.text_wrap>.left {
    width: 48%;
    float: left;
}

.page_vision .company_vision_item_container>.text_wrap>.right {
    width: 48%;
    float: right;
}

.page_vision .company_vision_item_container>.text_wrap p {
    margin-bottom: 1em;
    line-height: 2;
}

/*---*/
.page_principle .mv_block {
    background-attachment: fixed;
    width: 100%;
    height: 100%;
    position: relative;
    background-position: center bottom;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.mv_block .breadcrumb {
    color: #FFF;
    padding-top: 70px;
    position: absolute;
    z-index: 110;
    top: 0;
    right: 0;
    width: 100%;
}

.mv_block .breadcrumb a {
    color: #fff;
}

.page_principle .mv_block .title {
    font-size: 22px;
    position: absolute;
    bottom: 15%;
    left: 50%;
    margin-left: -30%;
    color: #FFF;
    line-height: 3;
    text-shadow: 0px 0px 8px #000000;
}

.page_principle .mv_block .title span {
    display: inline-block;
}

.page_principle .mv_block .title span:last-child {
    padding-left: 150px;
}

.page_principle .block00 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 40px;
}

.page_principle .block00 .head {
    margin-bottom: 60px;
}

.page_principle .block00 .head .gen_title03 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 20px;
    letter-spacing: 7px;
}

.page_principle .block00 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_principle .block00 .body .image img {}

.page_principle .block00 .body .image {
    margin-bottom: 60px;
}

.page_principle .block00 .foot .text {
    font-size: 26px;
    line-height: 1.8;
    text-align: center;
}

.page_principle .block01 {
    text-align: center;
    padding-top: 40px;
    padding-bottom: 100px;
}

.page_principle .block01 .head {
    margin-bottom: 50px;
}

.page_principle .block01 .head .gen_title03 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 20px;
    letter-spacing: 7px;
}

.page_principle .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_principle .block01 .text_wrap {
    text-align: left;
    padding-left: 30px;
    padding-right: 30px;
}

.page_principle .block01 .text_wrap>.left {
    width: 48%;
    padding-left: 30px;
    padding-right: 30px;
    float: left;
}

.page_principle .block01 .text_wrap>.right {
    width: 48%;
    padding-left: 30px;
    padding-right: 30px;
    float: right;
}

.page_principle .block01 .text_wrap p {
    margin-bottom: 1em;
    line-height: 2;
}

.page_principle .block02>.table {
    width: 880px;
    margin-bottom: 100px;
    display: table;
    margin-left: auto;
    margin-right: auto;
}

.page_principle .block02>.table>.left {
    display: table-cell;
    width: 48%;
    vertical-align: top;
    text-align: center;
    position: relative;
}

.page_principle .block02>.table>.left img {
    width: 217px;
    height: auto;
}

.page_principle .block02>.table>.left .gen_title02 {
    position: absolute;
    top: 50px;
    left: 20px;
    font-size: 15px;
}

.page_principle .block02>.table>.right {
    display: table-cell;
    vertical-align: top;
    position: relative;
}

.page_principle .block02>.table>.right .job {
    font-size: 15px;
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 10px;
}

.page_principle .block02>.table>.right .job span {
    font-size: 12px;
    font-weight: normal;
}

.page_principle .block02>.table>.right .name {
    font-size: 20px;
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 15px;
}

.page_principle .block02>.table>.right .name span {
    font-size: 12px;
    font-weight: normal;
}

.page_principle .block02>.table>.right .text {
    line-height: 2;
}

/*---*/
.page_news .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 70px;
}

.page_news .block01 .head {
    margin-bottom: 30px;
}

.page_news .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_news .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_news .news_container {
    padding-left: 50px;
    padding-right: 50px;
    margin-bottom: 150px;
}

.page_news .news_container>.left {
    width: 750px;
    padding-left: 50px;
    padding-right: 50px;
    float: left;
}

.page_news .news_container>.right {
    width: 320px;
    float: right;
}

.page_news .news_container .news_list {
    margin-bottom: 50px;
}

.page_news .news_container .news_list>li {
    border-bottom: 1px solid #aaa;
}

.page_news .news_container .news_list>li a {
    display: block;
    padding: 15px 0;
    position: relative;
}

.page_news .news_container .news_list>li:first-child a {
    padding-top: 0;
}

.page_news .news_container .news_list>li a:before {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    border-color: transparent transparent transparent #999;
    position: absolute;
    top: 50%;
    right: 10px;
    font-size: 40px;
    margin-top: -20px;
    color: #999;
}

.page_news .news_container .news_list>li a:hover:before {
    border-color: transparent transparent transparent #111;
}

.page_news .news_container .news_list>li a:after {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    border-color: transparent transparent transparent #F4F5F7;
    position: absolute;
    top: 50%;
    right: 11px;
    font-size: 40px;
    margin-top: -20px;
    color: #999;
}

.page_news .news_container .news_list>li a:hover:after {}

.page_news .news_container .news_list span {
    vertical-align: middle;
}

.page_news .news_container .news_list .info {
    margin-bottom: 5px;
}

.page_news .news_container .news_list .date {
    font-size: 24px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-style: italic;
}

.page_news .news_container .news_list .date span {
    font-size: 15px;
    margin-left: 5px;
    margin-right: 10px;
}

.page_news .news_container .news_list .category {
    display: inline-block;
    padding: 3px 10px;
    background: #292929;
    color: #fff;
    font-size: 9px;
    letter-spacing: 2px;
    vertical-align: middle;
    font-family: "Cabin", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
}

.page_news .news_container .news_list .title {
    font-size: 15px;
    font-weight: bold;
    padding-right: 50px;
}

.page_news .news_container .news_list .list_en_title {
    font-size: 13px;
    padding: 3px 1px;
    color: #666;
    padding-right: 50px;
}

.page_news .news_container .pager {
    text-align: center;
}

.page_news .news_container .pager a {
    display: inline-block;
    padding: 7px 0;
    width: 35px;
    text-align: center;
    font-size: 14px;
    border: 1px solid #111;
}

.page_news .news_container .pager a:hover {
    background: #292929;
    color: #FFF;
}

.page_news .news_container .pager .current {
    border: none;
}

.page_news .news_container .pager .current:hover {
    background: none;
    color: #111;
}

.page_news .news_container .pager .prev,
.page_news .news_container .pager .next,
.page_news .news_container .pager .top {
    border: none;
    width: auto;
    font-weight: bold;
    font-size: 16px;
}

.page_news .news_container .pager .prev {
    margin-right: 40px;
}

.page_news .news_container .pager .next {
    margin-left: 40px;
}

.page_news .news_container .pager .prev:hover,
.page_news .news_container .pager .next:hover,
.page_news .news_container .pager .top:hover {
    background: none;
    color: #111;
    text-decoration: underline;
}

.page_news .news_container .pager .prev:before {
    content: "\f060";
    font-family: FontAwesome;
    margin-right: 10px;
    display: inline-block;
    vertical-align: bottom;
    padding-bottom: 4px;
    font-size: 12px;
}

.page_news .news_container .pager .next:after {
    content: "\f061";
    font-family: FontAwesome;
    margin-left: 10px;
    display: inline-block;
    vertical-align: bottom;
    padding-bottom: 4px;
    font-size: 12px;
}

.page_news .news_container .news_nav {}

.page_news .news_container .news_nav .item {
    margin-bottom: 30px;
}

.page_news .news_container .news_nav .title {
    padding-top: 15px;
    padding-bottom: 15px;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    margin-bottom: 15px;
    font-size: 18px;
    letter-spacing: 6px;
    font-weight: bold;
    text-align: center;
}

.page_news .news_container .news_nav li {
    border-bottom: 1px solid #ccc;
}

.page_news .news_container .news_nav li:last-of-type {
    border-bottom: none;
}

.page_news .news_container .news_nav li>a {
    display: block;
    padding: 15px 10px;
    font-size: 13px;
    letter-spacing: 3px;
    font-weight: bold;
    background: #F4F5F7;
}

.page_news .news_container .news_nav li>a:hover {
    background: #292929;
    color: #fff;
}

/*---*/
.page_news .news_container .news_detail {
    padding-bottom: 50px;
}

.page_news .news_container .news_detail .info {
    margin-bottom: 40px;
}

.page_news .news_container .news_detail .info span {
    vertical-align: middle;
}

.page_news .news_container .news_detail .date {
    font-size: 30px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-style: italic;
}

.page_news .news_container .news_detail .date span {
    font-size: 15px;
    margin-left: 5px;
    margin-right: 10px;
}

.page_news .news_container .news_detail .category {
    display: inline-block;
    padding: 3px 10px;
    background: #292929;
    color: #fff;
    font-size: 9px;
    letter-spacing: 2px;
    vertical-align: middle;
    font-family: "Cabin", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
}

.page_news .news_container .news_detail .title {
    font-size: 20px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: bold;
    margin-bottom: 40px;
}

.page_news .news_container .news_detail+.pager {
    text-align: left;
}

.editor_area {
    line-height: 2;
    overflow: hidden;
    word-wrap: break-word;
    word-break: break-all;
}

.editor_area strong {
    font-weight: bold;
}

.editor_area em {
    font-style: italic;
}

.editor_area img,
.editor_area iframe {
    max-width: 100%;
    height: auto !important;
}

.editor_area p {
    margin-bottom: 1em;
}

.editor_area a {
    text-decoration: underline;
    color: #008;
}

/*---*/
.page_about>.wrap>section {
    padding-left: 180px;
    padding-right: 180px;
    margin-bottom: 70px;
}

.page_about>.wrap>section:last-of-type {
    margin-bottom: 100px;
}

.page_about>.wrap>.block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 50px;
    margin-bottom: 0;
}

.page_about .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_about .block01 .head .gen_title01 span:before,
.page_about .block01 .head .gen_title01 span:after {
    display: none;
}

.page_about .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_about>.wrap>section .title {
    font-size: 15px;
    padding: 10px 0;
    font-weight: bold;
    border-bottom: 1px solid #111;
    margin-bottom: 15px;
}

.page_about>.wrap>section .text {
    line-height: 2;
}

/*---*/
.page_sitemap .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 80px;
}

.page_sitemap .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_sitemap .block01 .head .gen_title01>span:before,
.page_sitemap .block01 .head .gen_title01>span:after {
    display: none;
}

.page_sitemap .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

/*---*/
.page_contact .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 60px;
}

.page_contact .block01 .head {
    margin-bottom: 30px;
}

.page_contact .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_contact .block01 .head .gen_title01 span:before,
.page_contact .block01 .head .gen_title01 span:after {
    display: none;
}

.page_contact .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_contact .block01 .body {
    line-height: 2;
    text-align: center;
}

.contact_form_container {
    padding-left: 200px;
    padding-right: 200px;
    margin-bottom: 130px;
    font-size: 14px;
}

.contact_form_container table {
    width: 100%;
}

.contact_form_container table th {
    width: 250px;
    vertical-align: top;
    padding: 10px;
    padding-top: 20px;
    position: relative;
    font-weight: bold;
}

.contact_form_container table th:after {
    content: "MUST";
    display: block;
    font-weight: normal;
    position: absolute;
    font-size: 11px;
    top: 19px;
    right: 20px;
    padding: 4px 7px;
    background: #BA4758;
    color: #fff;
    font-family: 'Cabin', sans-serif;
    -webkit-border-radius: 2px;
    border-radius: 2px;
}

.contact_form_container table td {
    vertical-align: top;
    padding: 10px;
    padding-bottom: 40px;
}

.contact_form_container input[type=text],
.contact_form_container input[type=tel],
.contact_form_container input[type=email],
.contact_form_container select,
.contact_form_container textarea {
    padding: 10px;
    width: 100%;
    border: 2px solid #d9d9d9;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}


.contact_form_container input[type=text].mini {
    width: 35%;
}

.contact_form_container .privacy_wrap {
    margin-top: 15px;
    margin-bottom: 15px;
}

.contact_form_container .privacy_wrap input[type=checkbox] {
    margin-right: 10px;
}

.contact_form_container .privacy_wrap a {
    text-decoration: underline;
}

.contact_form_container .privacy_wrap a:hover {
    text-decoration: none;
}

.contact_form_container .privacy_wrap i {
    padding-left: 5px;
    padding-right: 5px;
}

.contact_form_container .submit_btns {
    text-align: center;
}

.contact_form_container .submit_btns input[type=submit],
.contact_form_container .submit_btns input[type=button] {
    width: 360px;
    padding: 20px;
    background: #cccccc;
    color: #fff;
    font-size: 16px;
    /*letter-spacing: 4px;*/
    text-align: center;
    border: none;
    margin: 10px;
}

.contact_form_container .submit_btns.on input[type=submit],
.contact_form_container .submit_btns.on input[type=button] {
    background: #292929;
    cursor: pointer;
}

/*---*/
.page_philosophy .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 60px;
}

.page_philosophy .block01 .head {
    margin-bottom: 30px;
}

.page_philosophy .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_philosophy .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_philosophy .block02 {
    width: 100%;
    height: 690px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_philosophy .block02>.inner {
    position: relative;
}

.page_philosophy .block02>.inner .item_wrap {
    width: 400px;
    padding: 50px 0;
    background: #FFF;
    position: absolute;
    top: 0;
    right: 0;
    text-align: center;
    color: #717171;
}

.page_philosophy .block02>.inner .item_wrap .title {
    margin-bottom: 40px;
}

.page_philosophy .block02>.inner .item_wrap .text_ja {
    margin-bottom: 40px;
    line-height: 2;
}

.page_philosophy .block02>.inner .item_wrap .text_en {
    font-size: 12px;
    line-height: 2;
}

.page_philosophy .block03 {
    text-align: center;
    padding-top: 150px;
    padding-bottom: 180px;
}

.page_philosophy .block03 .title_ja {
    font-size: 22px;
    margin-bottom: 60px;
    line-height: 2;
    font-weight: bold;
    letter-spacing: 5px;
}

.page_philosophy .block03 .text_en02 {
    line-height: 2;
}

.page_philosophy .block04 {
    width: 100%;
    height: 445px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_philosophy .block04 .text_en01 {
    font-family: 'Cabin', sans-serif;
    font-size: 20px;
    line-height: 2;
}

.page_philosophy .block04 .text_en02 {
    font-family: 'Cabin', sans-serif;
    font-size: 12px;
    line-height: 1.5;
}

.page_philosophy .block04>.inner {
    position: relative;
}

.page_philosophy .block04>.inner .item_wrap {
    width: 320px;
    padding: 25px;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    text-align: left;
    color: #717171;
}

.page_philosophy .block04>.inner .item_wrap .title {
    margin-bottom: 20px;
}

.page_philosophy .block04>.inner .item_wrap .text_ja {
    margin-bottom: 20px;
}

.page_philosophy .block04>.inner .item_wrap .text_en01 {
    font-size: 20px;
    letter-spacing: 4px;
}

.page_philosophy .block04>.inner .item_wrap .text_en02 {}

/*---*/
.philosophy_text_container {
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    margin-bottom: 130px;
}

.philosophy_text_container .cont_wrap04 {
    padding-left: 45px;
    padding-right: 45px;
}

.philosophy_text_container .title_ja {
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 3px;
    margin-bottom: 20px;
    line-height: 1.8;
    text-align: left;
}

.philosophy_text_container .text_wrap>.left {
    width: 48%;
    float: left;
}

.philosophy_text_container .text_wrap>.right {
    width: 48%;
    float: right;
}

.philosophy_text_container .text_wrap p {
    margin-bottom: 1em;
    line-height: 2;
}

.page_philosophy .block06 {
    width: 100%;
    height: 445px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_philosophy .block06 .text_ja {
    margin-bottom: 20px;
}

.page_philosophy .block06 .text_en01 {
    font-family: 'Cabin', sans-serif;
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 20px;
}

.page_philosophy .block06 .text_en02 {
    font-family: 'Cabin', sans-serif;
    font-size: 12px;
    line-height: 1.5;
}

.page_philosophy .block06>.inner {
    position: relative;
}

.page_philosophy .block06>.inner .item_wrap .title {
    margin-bottom: 20px;
}

.page_philosophy .block06>.inner .item_wrap {
    width: 320px;
    padding: 25px;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    text-align: left;
    color: #717171;
}

.page_philosophy .block08 {
    width: 100%;
    height: 445px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_philosophy .block08 .text_ja {
    margin-bottom: 20px;
}

.page_philosophy .block08 .text_en01 {
    font-family: 'Cabin', sans-serif;
    font-size: 20px;
    line-height: 1.4;
}

.page_philosophy .block08 .text_en02 {
    font-family: 'Cabin', sans-serif;
    font-size: 12px;
    line-height: 1.5;
}

.page_philosophy .block08>.inner {
    position: relative;
}

.page_philosophy .block08>.inner .item_wrap .title {
    margin-bottom: 20px;
}

.page_philosophy .block08>.inner .item_wrap {
    width: 320px;
    padding: 25px;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    text-align: left;
    color: #717171;
}

.page_philosophy .block10 {
    width: 100%;
    height: 445px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_philosophy .block10 .text_ja {
    margin-bottom: 20px;
}

.page_philosophy .block10 .text_en01 {
    /*font-family: 'Cabin', sans-serif;*/
    font-size: 20px;
    line-height: 1.4;
}

.page_philosophy .block10 .text_en02 {
    /*font-family: 'Cabin', sans-serif;*/
    font-size: 12px;
    line-height: 1.5;
}

.page_philosophy .block10>.inner {
    position: relative;
}

.page_philosophy .block10>.inner .item_wrap .title {
    margin-bottom: 20px;
}

.page_philosophy .block10>.inner .item_wrap {
    width: 320px;
    padding: 25px;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    text-align: left;
    color: #717171;
}

/*---*/
.page_restindex .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 70px;
}

.restaurant_brand_block {
    margin-bottom: 100px;
}

.page_restindex .block01 .head {
    margin-bottom: 30px;
}

.page_restindex .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_restindex .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_restindex .block01 .body .text {
    line-height: 2.5;
    font-size: 14px;
    margin-bottom: 40px;
    letter-spacing: 2px;
}

.page_restindex .tab_selector_wrap {
    margin-bottom: 50px;
}

.page_restindex .tab_selector_wrap .tab_selector {
    text-align: center;
    letter-spacing: -0.5em;
}

.page_restindex .tab_selector_wrap .tab_selector>li {
    width: 200px;
    letter-spacing: 2px;
    font-family: 'Cabin', sans-serif;
    font-size: 13px;
    text-align: center;
    padding: 10px;
    /*margin: 5px;*/
    margin: 5px 0;
    display: inline-block;
    cursor: pointer;
}

.page_restindex .tab_selector_wrap .tab_selector>li:hover,
.page_restindex .tab_selector_wrap .tab_selector>li.current {
    color: #FFF;
    background: #292929;
}

.page_restindex .rest_item_container {
    padding-left: 5%;
    padding-right: 5%;
}

.page_restindex .rest_item_container>.item {
    float: left;
    width: 30%;
    margin-bottom: 80px;
    text-align: center;
    display: none;
}

.page_restindex .brandpage_rest_item_container>.item {
    display: block;
}

.page_restindex .rest_item_container>.item.show {
    display: none;
}

.page_restindex .rest_item_container>.item.left {
    margin-right: 5%;
}

.page_restindex .rest_item_container>.item.right {
    float: right;
}

.page_restindex .brandpage_rest_item_container>.item:nth-of-type(3n+1) {
    margin-right: 5%;
}

.page_restindex .brandpage_rest_item_container>.item:nth-of-type(3n) {
    float: right;
}

.page_restindex .rest_item_container>.item .image {
    position: relative;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.page_restindex .rest_item_container>.item .image:hover {
    opacity: 0.7;
}

.page_restindex .rest_item_container>.item .image img {
    width: 100%;
    /*height: auto;*/
    height:200px;
    object-fit: cover;
}

.page_restindex .rest_item_container>.item .info {
    padding-top: 10px;
    /*height: 180px;*/
    height:80px;
}

.page_restindex .rest_item_container>.item .logo {}

.page_restindex .rest_item_container>.item .logo img {
    width: 150px;
    height: auto;
}

.page_restindex .rest_item_container>.item .name_en {
    font-size: 20px;
    font-family: 'Cabin', sans-serif;
    letter-spacing: 2px;
}

@media screen and (max-width: 1400px) {
    .page_restindex .rest_item_container>.item .name_en {
        font-size: 17px;
        font-family: 'Cabin', sans-serif;
        letter-spacing: 2px;
    }
}

.page_restindex .rest_item_container>.item .name_ja {
    font-size: 13px;
    margin-bottom: 10px;
    color: #525252;
}

.page_restindex .brandpage_rest_item_container>.item .text {
    font-size: 13px;
    line-height: 1.8;
    padding: 5px;
    margin-bottom: 25px;
    height: 120px;
    text-align: left;
}

.page_restindex .rest_item_container>.item .btn_wrap {
    letter-spacing: -0.5em;
}

.page_restindex .rest_item_container>.item .btn_wrap>a {
    margin: 0 5px;
}

.page_restindex .rest_item_container>.item .brand_btn {
    border: 1px solid #333;
    display: inline-block;
    font-size: 11px;
    width: 140px;
    padding: 5px;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.page_restindex .rest_item_container>.item .brand_btn span:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 5px;
}

.page_restindex .rest_item_container>.item .brand_btn:hover {
    background: #292929;
    color: #FFF;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.page_restindex .rest_item_container>.item .brand_btn:hover span:before {
    color: #FFF;
}

/* add */
.page_restindex .rest_item_container>.item .btn_wrap ul{
    display:flex;
    justify-content: center;
    align-items: center;
}
.page_restindex .rest_item_container>.item .btn_wrap ul li{
    margin:0 10px;
}

.page_restindex .rest_item_container>.item .shop_btn {
    border: 1px solid #333;
    display: inline-block;
    font-size: 11px;
    width: 140px;
    padding: 5px;
    text-align: center;
    color: #fff;
    letter-spacing: 1px;
    background: #292929;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.page_restindex .rest_item_container>.item .shop_btn span:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.page_restindex .rest_item_container>.item .shop_btn:hover {
    background: #fff;
    color: #111;
}

.page_restindex .rest_item_container>.item .shop_btn:hover span:before {
    color: #111;
}

.page_restindex .rest_item_container .image .area,
.page_restindex .brandpage_rest_item_container .image .area {
    width: 145px;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 12px;
    background: rgba(255, 255, 255, 0.6);
    color: #111;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    padding: 7px;
    font-weight: bold;
}

.page_restindex .rest_item_container>.item.cat_rego .image:before {
    content: "RIGOLETTO";
    width: 145px;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 12px;
    font-family: 'Cabin', sans-serif;
    background: rgba(255, 255, 255, 0.6);
    color: #111;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    padding: 7px;
    display: none;
}

.page_restindex .rest_item_container>.item.cat_mm .image:before {
    content: "MODERN MEXICANO";
    width: 145px;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 12px;
    font-family: 'Cabin', sans-serif;
    background: rgba(255, 255, 255, 0.6);
    color: #111;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    padding: 7px;
    display: none;
}

/*---*/
.page_restconcept .block01 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 60px;
}

.page_restconcept .block01 .head {
    margin-bottom: 30px;
}

.page_restconcept .block01 .head .gen_title01 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 28px;
}

.page_restconcept .block01 .head .title_ja {
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 14px;
}

.page_restconcept .block02 {
    width: 100%;
    height: 715px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_restconcept .block02 .title {
    color: #FFF;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 16px;
    letter-spacing: 2px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.page_restconcept .block02 .title01 {
    position: absolute;
    height: 400px;
    top: 120px;
    left: 50%;
    margin-left: 20px;
    display: inline-block;
}

.page_restconcept .block02 .title02 {
    position: absolute;
    height: 400px;
    top: 160px;
    left: 50%;
    margin-left: -20px;
    display: inline-block;
}

.page_restconcept .block03 {
    padding-top: 100px;
    padding-bottom: 100px;
    text-align: center;
    background-position: center bottom;
    background-repeat: no-repeat;
}

.page_restconcept .block03 p {
    margin-bottom: 2em;
    line-height: 2.5;
    font-weight: bold;
}

.page_restconcept .block04 {
    width: 100%;
    height: 740px;
    margin-bottom: 140px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.page_restconcept .block04 .item_wrap {
    background: #FFF;
    width: 560px;
    padding: 100px 40px;
}

.page_restconcept .block04 .item_wrap p {
    line-height: 2.5;
    font-size: 12px;
    margin-bottom: 2em;
}

/*---*/
.brand_mv .attached_bg {
    position: fixed;
}

.brand_mv .logo {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -90px;
    margin-left: -90px;
}

.page_brand .mv_block {
    background-attachment: fixed;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.rest_to_access_btn {
    position: fixed;
    background: rgba(0, 0, 0, 0.6);
    top: 50%;
    right: 0;
    margin-top: -50px;
    color: #FFF;
    font-size: 12px;
    z-index: 250;
    text-align: center;
    display: none;
}

.rest_to_access_btn a {
    color: #FFF;
    display: block;
    padding: 20px;
}

.brand_rigoletto .rest_to_access_btn a,
.brand_modern-mexicano .rest_to_access_btn a {
    color: #FFF;
    display: block;
    padding: 20px 10px;
}

.page_brand .block01 {
    padding-top: 150px;
    padding-bottom: 160px;
    text-align: center;
}

.page_brand .block01 .title_en {
    font-family: 'Cabin', sans-serif;
    font-size: 30px;
    margin-bottom: 10px;
    font-weight: bold;
    letter-spacing: 2px;
}

.page_brand .block01 .title_ja {
    font-size: 14px;
    margin-bottom: 30px;
    font-weight: bold;
}

.page_brand .block01 .text01 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}

.page_brand .block01 .text02 {
    font-size: 14px;
    line-height: 2;
}

.brand_slider {
    width: 100%;
    margin-bottom: 80px;
}

.brand_slider_for_wrap {
    position: relative;
    margin-bottom: 30px;
}

.brand_slider_for div.item {
    width: 740px;
    padding: 7px;
}

.brand_slider_for div.item img {
    width: 100%;
    height: auto;
}

.brand_slider_nav div.item {
    width: 13%;
    margin: 10px;
    background: #000;
}

.brand_slider_nav div.item img {
    width: 100%;
    height: auto;
    opacity: 0.4;
}

.brand_slider_nav .slick-current img {
    opacity: 1 !important;
}

.brand_slider_for_wrap .slider_prev {
    position: absolute;
    top: 50%;
    left: 2%;
    margin-top: -18px;
    margin-left: -15px;
    cursor: pointer;
}

.brand_slider_for_wrap .slider_next {
    position: absolute;
    top: 50%;
    right: 2%;
    margin-top: -18px;
    margin-right: -15px;
    cursor: pointer;
}

.shop_mv_slider_for_wrap .slider_prev {
    position: absolute;
    z-index: 1000;
    top: 50%;
    left: 2%;
    margin-top: -18px;
    margin-left: -15px;
    cursor: pointer;
}

.shop_mv_slider_for_wrap .slider_next {
    position: absolute;
    z-index: 1000;
    top: 50%;
    right: 2%;
    margin-top: -18px;
    margin-right: -15px;
    cursor: pointer;
}

.page_brand .block03 {
    margin-bottom: 200px;
}

.page_brand .block03 .table {
    display: table;
    width: 100%;
}

.page_brand .block03 .table>.left {
    width: 460px;
    vertical-align: middle;
    text-align: center;
    display: table-cell;
    padding: 10px;
}

.page_brand .block03 .table>.left .title {
    display: inline-block;
    position: relative;
}

.page_brand .block03 .table>.left .title .en {
    font-family: 'Cabin', sans-serif;
    font-size: 30px;
    letter-spacing: 5px;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 10px;
}

.page_brand .block03 .table>.left .title .ja {
    font-size: 16px;
    letter-spacing: 5px;
    font-weight: bold;
    display: inline-block;
}

.page_brand .block03 .table>.left .title:before {
    content: "“";
    font-size: 40px;
    display: block;
    font-family: 'Lora', serif;
    position: absolute;
    top: -20px;
    left: -40px;
    display: none;
}

.page_brand .block03 .table>.left .title:after {
    content: "”";
    font-size: 40px;
    display: block;
    font-family: 'Lora', serif;
    position: absolute;
    bottom: -40px;
    right: -40px;
    display: none;
}

.page_brand .block03 .table>.right {
    vertical-align: middle;
    display: table-cell;
    padding: 10px;
}

.page_brand .block03 .table>.right .text {
    line-height: 2;
}

.page_brand .block04 .head {
    text-align: center;
    margin-bottom: 60px;
}

.page_brand .block04 .title_en {
    font-family: 'Cabin', sans-serif;
    font-size: 30px;
    margin-bottom: 20px;
    letter-spacing: 5px;
    font-weight: bold;
}

.page_brand .block04 .title_ja {
    font-size: 18px;
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-weight: bold;
}

.brand_fadeslide_container {
    margin-bottom: 200px;
}

.brand_fadeslide_container>.item_wrap {
    margin-bottom: 30px;
    position: relative;
    width: 100%;
    height: 510px;
}

.brand_fadeslide_container>.item_wrap>.item {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    /*
  -webkit-transition: opacity 0.3s ease;
     -moz-transition: opacity 0.3s ease;
      -ms-transition: opacity 0.3s ease;
       -o-transition: opacity 0.3s ease;
          transition: opacity 0.3s ease;
  */
}

.brand_fadeslide_container>.item_wrap>.item.on {
    opacity: 1;
}

.brand_fadeslide_container .table {
    display: table;
    width: 100%;
    height: 510px;
}

.brand_fadeslide_container .table>.info {
    width: 50%;
    padding: 50px;
    display: table-cell;
    vertical-align: middle;
    background: #FFF;
}

.brand_fadeslide_container .table>.info .title {
    text-align: center;
    margin-bottom: 60px;
    font-size: 18px;
    font-weight: bold;
}

.brand_fadeslide_container .table>.info .text {
    font-size: 13px;
    line-height: 2;
}

.brand_fadeslide_container .item>.image {
    display: table-cell;
    vertical-align: middle;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.brand_fadeslide_container .item.on>.image {
    opacity: 1;
}

.brand_fadeslide_container>.thumbs {
    text-align: center;
    letter-spacing: -0.5em;
}

.brand_fadeslide_container>.thumbs>.item {
    width: 120px;
    height: 100px;
    margin: 10px;
    cursor: pointer;
    letter-spacing: normal;
    display: inline-block;
    background: #000;
}

.brand_fadeslide_container>.thumbs>.item span {
    opacity: 0.4;
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.brand_fadeslide_container>.thumbs>.item.on span {
    opacity: 1;
}

.page_brand .block05 .head {
    text-align: center;
    margin-bottom: 60px;
}

.page_brand .block05 .title_en {
    font-family: 'Cabin', sans-serif;
    font-size: 30px;
    margin-bottom: 20px;
    letter-spacing: 5px;
    font-weight: bold;
}

.page_brand .block05 .title_ja {
    font-size: 18px;
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-weight: bold;
}

.brand_access_block {
    margin-bottom: 100px;
    text-align: center;
}

.brand_access_block>.title {
    font-family: 'Cabin', sans-serif;
    font-size: 30px;
    margin-bottom: 50px;
    letter-spacing: 5px;
    font-weight: bold;
}

.brand_access_block .access_wrap {
    letter-spacing: -0.5em;
    text-align: center;
}

.brand_access_block .access_wrap>.image {
    width: 435px;
    display: inline-block;
    vertical-align: top;
    margin: 5px;
    letter-spacing: normal;
}

.brand_access_block .access_wrap>.info {
    width: 435px;
    display: inline-block;
    vertical-align: top;
    margin: 5px;
    letter-spacing: normal;
    padding: 30px 10px;
}

.brand_access_block .access_wrap>.info .logo {
    margin-bottom: 15px;
}

.brand_access_block .access_wrap>.info .title_en {
    font-family: 'Cabin', sans-serif;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 3px;
}

.brand_access_block .access_wrap>.info .title_ja {
    margin-bottom: 30px;
    font-size: 12px;
}

.brand_access_block .access_wrap>.info .area {
    background: #FFF;
    display: inline-block;
    padding: 5px 30px;
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 30px;
}

.brand_access_block .access_wrap>.info .shop_btn {
    border: 1px solid #333;
    display: inline-block;
    font-size: 12px;
    width: 75%;
    padding: 6px;
    text-align: center;
    color: #fff;
    letter-spacing: 2px;
    background: #292929;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.brand_access_block .access_wrap>.info .shop_btn span:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.brand_access_block .access_wrap>.info .shop_btn:hover {
    background: #fff;
    color: #111;
}

.brand_access_block .access_wrap>.info .shop_btn:hover span:before {
    color: #111;
}

/* 蘇芳 */
.brand_access_block .access_wrap>.single-info .shop_btn {
    border: 1px solid #333;
    display: inline-block;
    font-size: 11px;
    width: 140px;
    padding: 5px;
    text-align: center;
    color: #fff;
    letter-spacing: 1px;
    background: #292929;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.brand_access_block .access_wrap>.single-info .shop_btn span:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.brand_access_block .access_wrap>.single-info .shop_btn:hover {
    background: #fff;
    color: #111;
}

.brand_access_block .access_wrap>.single-info .shop_btn:hover span:before {
    color: #111;
}

.brand_access_block .access_wrap>.single-info .btn_wrap>a {
    margin: 0 5px;
}

.brand_access_block .access_wrap>.single-info .brand_btn {
    border: 1px solid #333;
    display: inline-block;
    font-size: 11px;
    width: 140px;
    padding: 5px;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.brand_access_block .access_wrap>.single-info .brand_btn span:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 5px;
}

.brand_access_block .access_wrap>.single-info .brand_btn:hover {
    background: #292929;
    color: #FFF;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.brand_access_block .access_wrap>.single-info .brand_btn:hover span:before {
    color: #FFF;
}


.page_brand .page_restindex>.head {
    text-align: center;
    margin-bottom: 10px;
}

.page_brand .page_restindex>.head .title_en {
    font-family: 'Cabin', sans-serif;
    font-size: 30px;
    margin-bottom: 10px;
    letter-spacing: 5px;
    font-weight: bold;
}

/*---*/
.top_shoplist_block {
    margin-bottom: 40px;
}

.top_shoplist_block .table {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 5px;
}

.top_shoplist_block .table .row {
    display: table-row;
}

.top_shoplist_block .table .col {
    display: table-cell;
    position: relative;
    width: 50%;
    height: 360px;
    text-align: center;
    vertical-align: middle;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.top_shoplist_block .table a {
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.top_shoplist_block .table a:hover {
    opacity: 0.8;
}

.top_shoplist_block .table .col.item01:before {
    content: " ";
    width: 100%;
    height: 10px;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
}

.top_shoplist_block .table .col.item01:after {
    content: " ";
    width: 100%;
    height: 10px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0;
}

.rest_head_brandlist {
    padding-top: 35px;
    padding-bottom: 40px;
    border-top: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
    margin-bottom: 100px;
}

.rest_head_brandlist .inner {
    width: 1100px;
}

.rest_head_brandlist .title {
    text-align: center;
    margin-bottom: 40px;
}

.rest_head_brandlist .item_list {
    text-align: center;
    letter-spacing: -0.5em;
}

.rest_head_brandlist .item_list>li {
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
    margin: 7px 6px;
    width: 160px;
}

.rest_head_brandlist .item_list>li img {
    width: 100%;
}

.rest_head_brandlist .item_list>li a {
    opacity: 1;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -ms-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.rest_head_brandlist .item_list>li a:hover {
    opacity: 0.7;
}

.sitemap_container {
    padding: 15px;
    margin-bottom: 60px;
}

.sitemap_item {
    width: 30%;
    float: left;
    margin-right: 4.9%;
    margin-bottom: 30px;
}

.sitemap_item:nth-of-type(3n) {
    margin-right: 0;
    float: right;
}

.sitemap_category_name {
    padding: 5px 0;
    font-size: 22px;
    border-bottom: 2px solid #111;
    font-family: 'Cabin', sans-serif;
    margin-bottom: 20px;
}

.sitemap_item .item {
    font-size: 14px;
    margin-bottom: 8px;
}

.sitemap_item .item a:hover {
    text-decoration: underline;
}

.sitemap_item .item:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 5px;
}

/*
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px white inset;
}
*/
.wpcf7c-conf {
    border: none !important;
    background: #F4F5F7 !important;
    -webkit-box-shadow: 0 0 0px 1000px #F4F5F7 inset !important;
}

div.wpcf7-mail-sent-ok {
    border: none !important;
}

.enpages_txt {
    padding-top: 5px;
}

.enpages_title {
    color: #fff;
    position: static !important;
    text-align: center;
    width: 100%;
    font-size: 20px;
    letter-spacing: 0.1em;
    height: auto !important;
    padding-top: 300px;
    margin-left: 0px !important;
}


.enpages_title+.enpages_title {
    padding-top: 0px;
}


#shoplist_block {
    padding-top: 100px;
}


@media screen and (max-width: 768px) {
    .enpages_txt {
        padding-top: 0px;
    }

    .enpages_title {
        font-size: 14px;
    }
}

.tmp_txt_block {
    line-height: 1.8;
    padding-bottom: 100px;
    text-align: center;
}

.tmp_txt_block a {
    text-decoration: underline;
}

.shop_close_mes {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: 150px;
    text-align: center;
    font-size: 20px;
    color: #FFF;
    font-weight: bold;
}

.top_shop_close_mes {
    padding-top: 20px;
    font-size: 15px;
    font-weight: bold;
    color: #FFF;
    text-align: center;
}

.lb-outerContainer {}

.lightbox .lb-image {}

.on .top_skip_btn {
    opacity: 0;
}

.top_skip_btn {
    position: absolute;
    cursor: pointer;
    bottom: 30px;
    right: 30px;
    color: #fff;
    display: inline-block;
    border: 2px solid #fff;
    border-radius: 8px;
    padding: 0.25em 1.5em;
    font-size: 15px;
    letter-spacing: 2px;
    font-weight: bold;
    opacity: 1;
    transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
    -ms-transition: all 0.5s ease-out;
}

#awsomfootercredit,
.awsomarchive {
    display: none !important;
}

.cat-item-none {
    display: none !important;
}

/* add */
/* ========== お問い合わせページ用 ========== */
.contact-page {
    padding: 80px 0 60px;
    background: #fafafa;
}

@media (min-width:768px) {
    .contact-page {
        padding-top: 100px;
    }
}

@media (min-width:1024px) {
    .contact-page {
        padding-top: 140px;
    }
}

.contact-page .inner {
    max-width: 700px;
    margin: 0 auto;
    background: #fff;
    padding: 40px 35px;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .05);
}

/* 見出し */
.contact-page .form-header {
    text-align: center;
    margin-bottom: 28px;
}

.contact-page .form-title {
    font-size: 1.6rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 6px;
}

.contact-page .form-sub {
    font-size: .9rem;
    color: #666;
}

/* フィールド */
.contact-page .wpcf7-form p {
    margin: 0 0 18px;
}

.contact-page .wpcf7-form label {
    display: block;
    font-weight: 600;
    margin: 0 0 6px;
    font-size: 14px;
}

.contact-page .wpcf7-form input[type="text"],
.contact-page .wpcf7-form input[type="email"],
.contact-page .wpcf7-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.contact-page .wpcf7-form textarea {
    height: 160px;
}

/* 送信ボタン */
.contact-page .wpcf7-form input[type="submit"] {
    background: #333;
    color: #fff;
    border: 0;
    padding: 12px 30px;
    border-radius: 4px;
    font-size: 15px;
    cursor: pointer;
    transition: background .2s;
}

.contact-page .wpcf7-form input[type="submit"]:hover {
    background: #000;
}
