﻿.clearfix:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    line-height: 0
}

.clearfix {
    display: inline-block
}

* html .clearfix {
    height: 1%
}

.clearfix {
    display: block
}

p {
    margin: 0;
    padding: 0
}

ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

input,
textarea {
    margin: 0;
    font-size: 100%;
    resize: none
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%
}

dl,
dt,
dd,
th,
td {
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
    margin: 0;
    padding: 0
}

pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

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

table img {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border: 0
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

*:focus {
    outline: none !important
}

label,
select,
button {
    cursor: pointer
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    select::-ms-expand {
        display: none
    }
}

@media screen\0 {
    select::-ms-expand {
        display: none
    }
}

a {
    outline: none;
    transition: 0.3s;
    text-decoration: none
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    a:hover {
        color: #818161
    }

    a.trans:hover {
        opacity: 0.7
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    a {
        text-decoration: underline
    }
}

a:link,
a:visited,
a:active {
    color: #2A2C2E;
    text-decoration: none
}

.ffN {
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Sawarabi Gothic", "メイリオ", Meiryo, sans-serif
}

.ffM {
    font-family: 'Merriweather', serif
}

.crimson {
    font-family: 'Merriweather', serif
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    white-space: nowrap;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

.wp-pagenavi {
    clear: both;
    text-align: center;
    font-family: "Merriweather", serif;
    font-size: 16px;
    font-size: 1.6rem;
    position: relative
}

.wp-pagenavi span,
.wp-pagenavi a {
    line-height: 34px;
    height: 34px;
    display: inline-block;
    margin: 0 4px;
    color: #000;
    text-align: center
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {

    .wp-pagenavi span,
    .wp-pagenavi a {
        margin: 0 3px
    }
}

.wp-pagenavi a,
.wp-pagenavi span.current {
    width: 34px;
    height: 34px
}

@media only screen and (max-width: 320px) {

    .wp-pagenavi a,
    .wp-pagenavi span.current {
        width: 27px;
        height: 27px;
        line-height: 27px;
        margin: 0 1px;
        font-size: 16px;
        font-size: 1.6rem
    }
}

.wp-pagenavi span.current {
    background: #DFE2E6
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .wp-pagenavi a:hover {
        color: rgba(0, 0, 0, 0.5)
    }
}

.wp-pagenavi .pages {
    margin-right: 15px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .wp-pagenavi .pages {
        display: none
    }
}

.wp-pagenavi {
    margin: 15px 0 0 0
}

.wp-pagenavi .previouspostslink {
    margin: 0 12px 0 0;
    padding: 0 0 0 10px;
    width: 84px;
    text-align: center;
    border: 1px solid #B9B9B9;
    color: #2A2C2E;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: .1em;
    position: relative
}

.wp-pagenavi .previouspostslink:after {
    position: absolute;
    content: "";
    left: 15px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-left: 1px solid #2A2C2E;
    border-top: 1px solid #2A2C2E;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -3px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .wp-pagenavi .previouspostslink:hover {
        border: 1px solid #DFE2E6;
        color: #000;
        background: #DFE2E6
    }
}

.wp-pagenavi .extend {
    vertical-align: middle;
    line-height: 28px;
    color: #707070;
    width: 34px;
    letter-spacing: .08em
}

.wp-pagenavi .nextpostslink {
    margin: 0 0 0 12px;
    padding: 0 10px 0 0;
    width: 84px;
    text-align: center;
    border: 1px solid #B9B9B9;
    color: #2A2C2E;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: .1em;
    position: relative
}

.wp-pagenavi .nextpostslink:after {
    position: absolute;
    content: "";
    right: 15px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 1px solid #2A2C2E;
    border-top: 1px solid #2A2C2E;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -3px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .wp-pagenavi .nextpostslink:hover {
        border: 1px solid #DFE2E6;
        color: #000;
        background: #DFE2E6
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {

    .wp-pagenavi .first,
    .wp-pagenavi .last {
        display: none
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .wp-pagenavi {
        margin: 66px 0 0 0;
        padding-bottom: 37px;
        font-size: 18px;
        font-size: 1.8rem
    }

    .wp-pagenavi .previouspostslink,
    .wp-pagenavi .nextpostslink {
        display: none
    }

    .wp-pagenavi .pages {
        position: absolute;
        left: 50%;
        bottom: 0;
        width: auto;
        font-size: 12px;
        font-size: 1.2rem;
        background: none;
        font-family: 'Arial', serif;
        font-weight: 500;
        letter-spacing: .2em;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        height: auto;
        line-height: 17px
    }

    .wp-pagenavi .first,
    .wp-pagenavi .last {
        width: auto;
        font-size: 15px;
        font-size: 1.5rem
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {

    .wp-pagenavi .first,
    .wp-pagenavi .last {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .wp-pagenavi .extend {
        line-height: 20px;
        width: auto;
        letter-spacing: .02em
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .wp-pagenavi .extend {
        letter-spacing: .018em;
        line-height: 18px;
        margin: 0
    }
}

.tablet .wp-pagenavi .pages {
    display: none
}

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%
}

body {
    width: 100%;
    color: #2A2C2E;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    font-size: 1.6rem;
    height: 100%;
    font-weight: 500;
    word-break: break-word
}

.container {
    padding: 0 48px
}

@media (max-width: 1160px) {
    .container {
        padding: 0 30px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .container {
        padding: 0 15px
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {

    .sp,
    .SP {
        display: none !important
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {

    .pc,
    .PC {
        display: none !important
    }
}

.wcm {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    padding: 0 17px
}

.wcm-inner {
    max-width: 910px;
    margin: auto;
    padding: 0 15px;
    width: 100%
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .wcm {
        padding: 0 15px;
        max-width: 100%
    }

    .wcm-inner {
        max-width: 100%
    }
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px
}

.leftCol {
    width: 70%;
    float: left
}

.rightCol {
    width: 30%;
    float: right
}

.cmsContent {
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    word-wrap: break-word
}

.cmsContent ul,
.cmsContent ol {
    padding-left: 20px;
    margin-bottom: 20px
}

.cmsContent ul[style*="list-style-type: circle;"] li {
    list-style-type: circle
}

.cmsContent ul[style*="list-style-type: square;"] li {
    list-style-type: square
}

.cmsContent ul li {
    list-style: disc
}

.cmsContent ol[style*="list-style-type: lower-roman;"] li {
    list-style-type: lower-roman
}

.cmsContent ol[style*="list-style-type: lower-alpha;"] li {
    list-style-type: lower-alpha
}

.cmsContent ol[style*="list-style-type: lower-greek;"] li {
    list-style-type: lower-greek
}

.cmsContent ol[style*="list-style-type: upper-alpha;"] li {
    list-style-type: upper-alpha
}

.cmsContent ol[style*="list-style-type: upper-roman;"] li {
    list-style-type: upper-roman
}

.cmsContent ol li {
    list-style-type: decimal
}

.cmsContent h2,
.cmsContent h3,
.cmsContent h4,
.cmsContent h5,
.cmsContent h6,
.cmsContent p,
.cmsContent div,
.cmsContent blockquote {
    line-height: 1.9;
    font-size: 17px;
    margin-bottom: 20px;
    font-size: 1.7rem
}

.cmsContent h2:last-child,
.cmsContent h3:last-child,
.cmsContent h4:last-child,
.cmsContent h5:last-child,
.cmsContent h6:last-child,
.cmsContent p:last-child,
.cmsContent div:last-child,
.cmsContent blockquote:last-child {
    margin-bottom: 0
}

.cmsContent img {
    margin-bottom: 20px;
    max-width: 100%;
    height: auto;
    max-height: 100%
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {

    .cmsContent h2,
    .cmsContent h3,
    .cmsContent h4,
    .cmsContent h5,
    .cmsContent h6,
    .cmsContent p,
    .cmsContent div,
    .cmsContent blockquote {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 2
    }

    .cmsContent h2:last-child,
    .cmsContent h3:last-child,
    .cmsContent h4:last-child,
    .cmsContent h5:last-child,
    .cmsContent h6:last-child,
    .cmsContent p:last-child,
    .cmsContent div:last-child,
    .cmsContent blockquote:last-child {
        margin-bottom: 0
    }

    .cmsContent img {
        margin-bottom: 15px
    }

    .cmsContent img:last-child {
        margin-bottom: 0
    }
}

.pagingDt {
    position: relative;
    width: 80%;
    margin: 95px auto;
    font-size: 14px
}

.pagingDt a {
    text-decoration: underline
}

.pagingDt .prev {
    background: url(../../img/blog/ico_prev.png) no-repeat left center;
    width: 145px;
    float: left;
    padding-left: 20px
}

.pagingDt .next {
    background: url(../../img/blog/ico_next.png) no-repeat right center;
    width: 145px;
    float: right;
    padding-right: 20px
}

.pagingDt .list {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -54px;
    margin-top: -9px
}

strong {
    font-weight: bold
}

.sec-page-heading {
    position: relative;
    background: url(../img/staffblog/bg_page.jpg) no-repeat 50% 0;
    background-size: cover;
    width: 100%;
    height: 394px;
    color: #fff;
    overflow: hidden;
    text-align: center;
    display: table
}

.sec-page-heading .wcm {
    display: table-cell;
    vertical-align: middle;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: .09em;
    line-height: 1.4;
    padding-top: 64px
}

.sec-page-heading .ttl-page {
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: .3em;
    font-weight: 600;
    margin-bottom: 8px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .sec-page-heading {
        height: 220px;
        background-image: url(../img/staffblog/bg_page_sp.jpg)
    }

    .sec-page-heading .wcm {
        padding-top: 26px
    }

    .sec-page-heading .ttl-page {
        letter-spacing: .2em;
        margin-bottom: 6px
    }
}

.single-page-heading {
    position: relative;
    overflow: hidden;
    margin-bottom: 22px
}

.single-page-heading .mhead {
    background: url(../img/staffblog/bg_page.jpg) no-repeat 50% 0;
    background-size: cover;
    height: 105px;
    text-indent: -9999px;
    font-size: 0;
    overflow: hidden
}

.single-page-heading .ttl {
    background: #DFE2E6;
    font-family: "Merriweather", serif;
    font-weight: 400;
    line-height: 1.4;
    padding: 25px 10px 23px;
    letter-spacing: .15em;
    text-align: center
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .single-page-heading {
        margin-bottom: 9px
    }

    .single-page-heading .mhead {
        height: 65px
    }

    .single-page-heading .ttl {
        padding: 12px 10px 11px
    }
}

.bhead {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    color: #fff;
    background: #2A2C2E;
    text-align: center;
    min-height: 270px;
    line-height: 1.6;
    overflow: hidden;
    width: 100%
}

.bhead.small {
    min-height: 190px
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .bhead {
        display: table
    }

    .bhead>* {
        display: table-cell;
        vertical-align: middle
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .bhead {
        line-height: 1.65;
        min-height: 238px
    }

    .bhead.small {
        min-height: 108px
    }
}

.cmn-title {
    font-weight: 500;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-size: 26px;
    font-size: 2.6rem;
    text-align: center;
    line-height: 2
}

.cmn-title.line {
    border-bottom: 1px solid #949AA3;
    margin-bottom: 50px;
    line-height: 1.8;
    text-align: left;
    padding-bottom: 17px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .cmn-title {
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: .12em;
        line-height: 1.65
    }

    .cmn-title.line {
        padding-bottom: 12px;
        margin-bottom: 35px;
        line-height: 1.7;
        font-size: 22px;
        font-size: 2.2rem
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
(max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .cmn-title {
        letter-spacing: .07em;
        font-size: 21px;
        font-size: 2.1rem;
        letter-spacing: .09em
    }
}

.sec-title {
    padding-left: 15px;
    font-family: "Merriweather", serif;
    font-weight: 600;
    letter-spacing: .2em;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.4;
    text-align: center
}

.sec-title.white {
    color: #fff
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .sec-title {
        font-size: 25px;
        font-size: 2.5rem
    }
}

@media (max-width: 360px) {
    .sec-title {
        letter-spacing: .3em
    }
}

.sttl {
    font-family: 'Arial', serif;
    font-weight: 500;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.5;
    letter-spacing: .05em
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .sttl {
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 1.5;
        letter-spacing: .03em
    }
}

.cmn-block-desc {
    text-align: center;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .02em;
    line-height: 2.3
}

.cmn-block-desc p {
    margin-bottom: 45px
}

.cmn-block-desc .cmn-title {
    margin-bottom: 17px;
    padding-left: 4px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .cmn-block-desc {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0;
        line-height: 2
    }

    .cmn-block-desc .cmn-title {
        margin-bottom: 38px
    }

    .cmn-block-desc p {
        margin-bottom: 32px
    }
}

@media only screen and (max-width: 360px) {
    .cmn-block-desc {
        font-size: 15px;
        font-size: 1.5rem
    }

    .cmn-block-desc .cmn-title {
        font-size: 20px;
        font-size: 2rem
    }
}

.btn-default {
    display: inline-block;
    width: 201px;
    padding: 21px 10px 22px;
    border: 1px solid #51555B;
    text-align: center;
    font-family: "Merriweather", serif;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: .18em;
    line-height: 1.35;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    -webkit-border-radius: none;
    -moz-border-radius: none;
    -ms-border-radius: none;
    -o-border-radius: none;
    border-radius: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none
}

.mac.desktop .btn-default {
    padding-top: 24px;
    padding-bottom: 21px;
    position: relative;
}
.btn-default {position: relative;}
.btn-default:after {
	content: "";
	position: absolute;
	right: 15px;
	top: calc(50% - 5px);
	width: 10px;
	height: 10px;
	border-left: 2px solid;
	border-top: 2px solid;
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	transition: .3s;
	}

a .btn-default {
    color: inherit
}

.btn-default.gray {
    background: #DFE2E6;
    border-color: #DFE2E6
}

.btn-default.white,
.btn-default.khaki {
    background: #fff;
    border-color: #fff
}

.btn-default.black {
    color: #fff;
    background: #2A2C2E;
    border-color: #7F8083
}
.btn-default.black:after {
	border-left-color: #fff;
	border-top-color: #fff;
}
.btn-default.gray01:after {
	border-left-color: #fff;
	border-top-color: #fff;
}

.btn-default.gray01 {
    color: #fff;
    background: #51555B;
    border-color: #9A9A9A
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {

    .btn-default:hover,
    .btn-default.gray:hover {
        color: #fff;
        background: #2A2C2E;
        border-color: #2A2C2E
    }

    .btn-default.white:hover {
        background: #2A2C2E
    }

    .btn-default.khaki:hover {
        background: #818161;
        border-color: #818161
    }

    .btn-default.black:hover {
        color: #2A2C2E;
        background: #fff;
        border-color: #fff
    }

    .btn-default.gray01:hover {
        color: #51555B;
        background: #fff;
        border-color: #fff
    }
    .btn-default:hover:after {
    	right: 10px!important;
    	transition: .3s;
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .btn-default {
        text-decoration: none
    }
}

.btn-primary {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    width: 345px;
    min-height: 99px;
    margin: 0 auto;
    padding: 9px 38px 5px;
    border: 1px solid #B9B9B9;
    text-align: center;
    font-family: "Merriweather", serif;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .1em;
    line-height: 1.8;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    -webkit-border-radius: none;
    -moz-border-radius: none;
    -ms-border-radius: none;
    -o-border-radius: none;
    border-radius: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .btn-primary {
        display: table;
        padding-top: 5px
    }

    .btn-primary>* {
        display: table-cell;
        vertical-align: middle
    }
}

.btn-primary.wh {
    width: 280px;
    min-height: 80px
}

.btn-primary .windows.firefox {
    padding-top: 22px;
    padding-bottom: 22px
}

.btn-primary:after {
    content: "";
    position: absolute;
    right: 32px;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-left: 1px solid #2A2C2E;
    border-top: 1px solid #2A2C2E;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg)
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .btn-primary:hover {
        color: #fff;
        background: #2A2C2E;
        border-color: #2A2C2E
    }

    .btn-primary:hover:after {
        border-left: 1px solid #fff;
        border-top: 1px solid #fff
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .btn-primary {
        width: 225px;
        min-height: 79px;
        padding: 6px 28px 5px;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.6;
        text-decoration: none
    }

    .btn-primary:after {
        right: 21px;
        width: 6px;
        height: 6px;
        margin-top: -3px
    }
}

.btn-info {
    display: block;
    margin-top: 44px;
    max-width: 407px;
    width: 100%;
    padding: 37px 34px 37px 40px;
    background: #DFE2E6;
    font-family: 'Arial', serif;
    font-weight: 500;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .1em;
    text-align: center;
    line-height: 1.44;
    position: relative
}

.btn-info:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 25px;
    width: 6px;
    height: 6px;
    border-left: 1px solid #2A2C2E;
    border-top: 1px solid #2A2C2E;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -3px
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .btn-info {
        padding-top: 42px
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .btn-info:hover {
        color: #fff;
        background: #2A2C2E;
        border-color: #2A2C2E
    }

    .btn-info:hover:after {
        border-color: #fff
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .btn-info {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: .1em;
        max-width: 100%;
        width: 86%;
        margin: 39px auto 0;
        padding: 23px 22px 23px 6px
    }

    .btn-info:after {
        right: 16px
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .zoom-img {
        cursor: pointer;
        overflow: hidden;
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0)
    }

    .zoom-img img {
        display: block;
        width: 100%;
        -webkit-transition: 0.5s ease all;
        -moz-transition: 0.5s ease all;
        -ms-transition: 0.5s ease all;
        -o-transition: 0.5s ease all;
        transition: 0.5s ease all
    }

    .zoom-img:hover {
        -ms-filter: alpha(opacity=100);
        opacity: 1
    }

    .zoom-img:hover img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .bl-hover .zoomImg img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.custom-object-fit {
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: cover;
    overflow: hidden
}

.custom-object-fit img {
    visibility: hidden;
    opacity: 0;
    display: none
}

.taR {
    text-align: right
}

.taC {
    text-align: center
}

a.alink {
    color: #2A2C2E;
    text-decoration: none
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    a.alink:hover {
        color: #818161
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    a.alink {
        text-decoration: underline
    }
}

a.link-line,
.link-line {
    display: inline-block;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: normal;
    letter-spacing: .03em;
    line-height: 1.44;
    border-bottom: 1px solid #2A2C2E;
    padding: 0 3px 11px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {

    a.link-line:hover,
    .link-line:hover {
        opacity: 0.7
    }
}

a.link-line.external,
.link-line.external {
    padding: 0 8px 10px 3px;
    letter-spacing: .06em;
    border-bottom-color: #707070
}

a.link-line.external span,
.link-line.external span {
    display: inline-block;
    padding-right: 20px;
    background: url(../img/common/icon/icn_blank.svg) no-repeat right top 3px;
    background-size: 14px 12px
}

a.link-line.external span.white,
.link-line.external span.white {
    background-image: url(../img/common/icon/icn_blank_white.svg)
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {

    a.link-line,
    .link-line {
        font-size: 16px;
        font-size: 1.6rem;
        padding: 0 1px 10px
    }
}

.cats span {
    display: inline-block;
    vertical-align: top;
    font-style: normal;
    color: #51555B;
    background-color: #DFE2E6;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: .02em;
    line-height: 25px;
    text-align: center;
    min-width: 72px;
    padding: 0 5px;
    margin: 0 6px 6px 0
}

.cats span:last-child {
    margin-right: 0
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .cats span {
        padding-top: 5px;
        line-height: 1.44
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .cats span {
        font-size: 12px;
        font-size: 1.2rem;
        min-width: 60px;
        padding: 0 3px;
        margin: 0 4px 4px 0;
        line-height: 21px
    }
}

.tag-new {
    position: absolute;
    top: 0;
    left: 0;
    width: 64px;
    height: 64px;
    text-indent: -9999px;
    background: url(../img/common/icon/icn_new.png) no-repeat 50% 0;
    background-size: 100% 100%;
    z-index: 2
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .tag-new {
        background-image: url(../img/common/icon/icn_new_sp.png);
        width: 42px;
        height: 42px
    }
}

[class*='caret-'] {
    position: relative
}

[class*='caret-']:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px
}

.caret-down:after {
    border-top: 5px solid #333;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    margin-top: -2.5px
}

.caret-right:after {
    width: 6px;
    height: 6px;
    border-left: 1px solid #2A2C2E;
    border-top: 1px solid #2A2C2E;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -3px
}

.breadcrumb {
    margin: 13px 0;
    padding: 0 23px
}

.breadcrumb ul li {
    display: inline-block;
    vertical-align: top;
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: .03em;
    color: #7A7E62
}

.breadcrumb ul li a {
    display: inline-block;
    vertical-align: top;
    color: #7A7E62;
    padding-right: 9px;
    position: relative
}

.breadcrumb ul li a:before {
    content: "/";
    position: absolute;
    right: 0;
    top: 0
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .breadcrumb {
        margin: 8px auto 0;
        padding: 0;
        overflow-x: scroll;
        width: 92%
    }

    .breadcrumb::-webkit-scrollbar {
        height: 4px;
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none
    }

    .breadcrumb::-webkit-scrollbar-thumb {
        background: #d6d6d1;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
        border-radius: 10px
    }

    .breadcrumb ul {
        white-space: nowrap
    }

    .breadcrumb ul li {
        letter-spacing: 0
    }

    .breadcrumb ul a {
        text-decoration: none
    }
}

@media (max-width: 360px) {
    .breadcrumb ul a {
        padding-right: 8px
    }
}

.mod-contact {
    padding: 50px 48px;
    overflow: hidden
}

.mod-contact .inner {
    background: url(../img/common/bg_pattern01.jpg) no-repeat 50% 0;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    padding: 89px 17px 59px
}

.mod-contact .wcm {
    max-width: 1010px;
    padding: 0
}

.mod-contact .sec-title {
    padding-left: 15px;
    margin-bottom: 51px
}

.mod-contact .list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 28px
}

.mod-contact .list li {
    width: 32.7%;
    background: #fff;
    text-align: center
}

.mod-contact .list li:first-child {
    background: #818161
}

.mod-contact .list li:first-child a {
    color: #fff
}

.mod-contact .list li:last-child {
    background: #DFE2E6
}

.mod-contact .list a {
    display: block;
    padding: 27px 10px 28px
}

.mod-contact .list .info {
    margin-bottom: 18px
}

.mod-contact .list .glyphicon {
    width: 40px;
    min-height: 33px;
    margin: 0 auto 13px
}

.mod-contact .list .sub {
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: .2em;
    font-weight: 600;
    line-height: 1.3;
    padding-left: 3px;
    margin-bottom: 2px
}

.mod-contact .list .ttl {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .1em;
    font-weight: 600
}

.mod-contact .list .pic {
    max-width: 255px;
    margin: 0 auto 19px
}

.mod-contact .list .txt {
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: .06em;
    line-height: 1.4
}

@media (max-width: 1200px) {
    .mod-contact {
        padding-left: 30px;
        padding-right: 30px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .mod-contact {
        padding: 0;
        margin-bottom: 20px
    }

    .mod-contact .wcm {
        max-width: 100%
    }

    .mod-contact .inner {
        padding: 53px 0 0;
        background-image: url(../img/common/bg_pattern01_sp.jpg)
    }

    .mod-contact .sec-title {
        margin-bottom: 39px
    }

    .mod-contact .list {
        display: block;
        margin-bottom: 40px;
        padding: 0 22px
    }

    .mod-contact .list li {
        margin-bottom: 9px;
        width: 100%;
        position: relative;
        text-align: left
    }

    .mod-contact .list li:before {
        content: "";
        position: absolute;
        right: 13px;
        top: 50%;
        width: 6px;
        height: 6px;
        margin-top: -3px;
        border-left: 1px solid #51555B;
        border-top: 1px solid #51555B;
        -webkit-transform: rotate(135deg);
        -moz-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        -o-transform: rotate(135deg);
        transform: rotate(135deg)
    }

    .mod-contact .list li:first-child:before {
        border-left-color: #fff;
        border-top-color: #fff
    }

    .mod-contact .list li:nth-child(2) .info {
        padding-top: 5px
    }

    .mod-contact .list li:nth-child(2) .glyphicon {
        padding-left: 3px
    }

    .mod-contact .list li:last-child .glyphicon {
        padding: 0 2px
    }

    .mod-contact .list a {
        padding: 23px 24px 15px 26px;
        min-height: 136px
    }

    .mod-contact .list a:before,
    .mod-contact .list a:after {
        content: " ";
        display: table
    }

    .mod-contact .list a:after {
        clear: both
    }

    .mod-contact .list .sub {
        letter-spacing: .1em;
        font-size: 11px;
        font-size: 1.1rem;
        padding-left: 0;
        margin-bottom: 0
    }

    .mod-contact .list .ttl {
        letter-spacing: .05em
    }

    .mod-contact .list .info {
        float: left;
        position: relative;
        z-index: 1;
        margin-bottom: 14px;
        padding-left: 50px;
        width: 70%
    }

    .mod-contact .list .glyphicon {
        position: absolute;
        top: 50%;
        left: 0;
        width: 36px;
        margin: -15px auto 0
    }

    .mod-contact .list .txt {
        float: left;
        width: 70%
    }

    .mod-contact .list .pic {
        float: right;
        margin: -2% 0 0 -15%;
        max-width: 144px;
        width: 40.5%
    }
}

@media (max-width: 360px) {
    .mod-contact .list a {
        min-height: 110px;
        padding: 16px 20px
    }

    .mod-contact .list .ttl {
        font-size: 15px;
        font-size: 1.5rem
    }

    .mod-contact .list .sub {
        font-size: 10px;
        font-size: 1rem
    }

    .mod-contact .list .info {
        padding-left: 40px
    }

    .mod-contact .list .glyphicon {
        width: 30px
    }

    .mod-contact .list .pic {
        margin-top: 0;
        width: 38%
    }

    .mod-contact .list .txt {
        font-size: 11px;
        font-size: 1.1rem;
        letter-spacing: 0
    }
}

.box-tell-contact {
    border: 1px solid #3C2700;
    background: rgba(59, 23, 0, 0.51);
    text-align: center;
    padding: 14px 10px;
    color: #fff
}

.box-tell-contact .ttl {
    display: inline-block;
    vertical-align: middle;
    padding-right: 28px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .1em;
    font-weight: 500
}

.box-tell-contact .calling {
    display: inline-block;
    vertical-align: middle;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: .03em
}

.box-tell-contact .calling span {
    display: inline-block;
    vertical-align: middle;
    color: #fff
}

.box-tell-contact .calling .tel {
    color: #fff;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 600;
    letter-spacing: .1em;
    margin: 3px 0 -3px;
    padding: 0 19px 0 45px;
    position: relative
}

.box-tell-contact .calling .tel:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    margin-top: 4px;
    background: url(../img/common/icon/icn_tel.svg) no-repeat 0 0;
    background-size: 100% 100%
}

.mac.desktop .box-tell-contact .calling .tel:before {
    margin-top: 6px
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .box-tell-contact .calling .tel:before {
        margin-top: 2px
    }
}

.ipad .box-tell-contact .calling .tel:before {
    margin-top: 8px
}

.mac.desktop .box-tell-contact .calling .tel {
    margin: 0
}

.box-tell-contact.cover {
    border: none;
    background: #DFE2E6;
    color: #2A2C2E;
    margin: 50px 48px;
    padding: 79px 10px 71px
}

.box-tell-contact.cover a {
    color: #2A2C2E
}

.box-tell-contact.cover .calling {
    padding: 3px 2px 0 50px
}

.box-tell-contact.cover .calling span {
    color: #2A2C2E
}

.windows .box-tell-contact.cover .calling {
    padding-top: 6px
}

.windows .box-tell-contact.cover .calling .schedule {
    margin-top: -7px
}

.box-tell-contact.cover .ttl {
    padding: 0 63px 0 38px;
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: .19em
}

.box-tell-contact.cover .tel {
    color: #2A2C2E;
    margin: 0;
    padding: 0 22px 0 38px
}

.box-tell-contact.cover .tel:before {
    background-image: url(../img/common/icon/icn_tel_black.svg)
}

@media (max-width: 1160px) {
    .box-tell-contact.cover {
        margin-left: 30px;
        margin-right: 30px
    }
}

@media (max-width: 1080px) {
    .box-tell-contact.cover .ttl {
        padding: 0;
        padding-left: 15px;
        padding-right: 15px
    }

    .box-tell-contact.cover .calling {
        padding-left: 0;
        padding-right: 0
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .box-tell-contact.cover {
        margin: 20px 0;
        padding: 35px 22px 33px
    }

    .box-tell-contact.cover .ttl {
        margin-bottom: 25px;
        padding: 0;
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: .1em
    }

    .box-tell-contact.cover .calling {
        padding: 0
    }

    .box-tell-contact.cover .calling a {
        padding: 26px 10px 24px
    }

    .box-tell-contact.cover .calling .tel {
        margin-bottom: 2px;
        padding: 0 0 0 36px
    }

    .box-tell-contact.cover .txt {
        color: #51555B
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .box-tell-contact {
        padding: 31px 22px 27px;
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: .1em
    }

    .box-tell-contact .ttl {
        display: block;
        padding: 0;
        margin-bottom: 20px;
        font-size: 20px;
        font-size: 2rem
    }

    .box-tell-contact .calling {
        display: block;
        background: #fff;
        color: #2A2C2E;
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: .1em;
        margin: 0 auto 13px
    }

    .box-tell-contact .calling a {
        padding: 25px 10px 24px;
        display: block
    }

    .box-tell-contact .calling span {
        color: #2A2C2E
    }

    .box-tell-contact .calling .tel {
        margin: 0 -6px 0 0;
        padding: 0 0 0 39px;
        color: #2A2C2E;
        font-size: 26px;
        font-size: 2.6rem
    }

    .box-tell-contact .calling .tel:before {
        background-image: url(../img/common/icon/icn_tel_black.svg)
    }

    .box-tell-contact .calling .schedule {
        display: block
    }
}

@media (max-width: 360px) {
    .box-tell-contact .calling .tel {
        padding-left: 30px;
        margin-right: 0;
        font-size: 24px;
        font-size: 2.4rem
    }

    .box-tell-contact .calling .tel:before {
        margin-top: 7px;
        width: 26px;
        height: 26px
    }
}

.cmn-block-intro {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between
}

.cmn-block-intro .info {
    width: 38%
}

.cmn-block-intro .illust {
    display: block
}

.cmn-block-intro .cmn-title {
    margin-bottom: 12px;
    line-height: 1.5;
    text-align: left
}

.cmn-block-intro .box-txt {
    margin-top: 2px;
    width: 60%;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: .02em;
    line-height: 2.35
}

.cmn-block-intro .box-txt p:not(:last-child) {
    margin-bottom: 42px
}

@media only screen and (max-width: 1100px) {
    .cmn-block-intro .cmn-title {
        font-size: 22px;
        font-size: 2.2rem;
        letter-spacing: .12em
    }

    .cmn-block-intro .box-txt {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .cmn-block-intro {
        display: block
    }

    .cmn-block-intro .info {
        width: auto
    }

    .cmn-block-intro .cmn-title {
        margin-bottom: 8px;
        padding-left: 3px;
        line-height: 1.65;
        text-align: center
    }

    .cmn-block-intro .box-txt {
        margin-top: 25px;
        width: auto;
        line-height: 2
    }

    .cmn-block-intro .box-txt p:not(:last-child) {
        margin-bottom: 32px
    }
}

@media only screen and (max-width: 360px) {
    .cmn-block-intro .cmn-title {
        font-size: 20px;
        font-size: 2rem
    }

    .cmn-block-intro .box-txt {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media only screen and (max-width: 340px) {
    .cmn-block-intro .cmn-title {
        font-size: 19px;
        font-size: 1.9rem;
        letter-spacing: .08em
    }

    .cmn-block-intro .box-txt {
        font-size: 13px;
        font-size: 1.3rem
    }
}

.box-inline {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 20px
}

.box-inline.pull-right {
    -webkit-box-direction: reverse;
    -webkit-box-orient: horizontal;
    -webkit-flex-direction: row-reverse;
    -moz-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.box-inline.pull-right .box-ct {
    width: 46.4%
}

.box-inline .box-img {
    display: block;
    margin-top: -30px;
    width: 49.92%
}

.box-inline .box-img img {
    display: block;
    width: 100%
}

.box-inline .box-ct {
    width: 45.9%;
    margin-top: 40px;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 2.25
}

.box-inline .box-ct p:not(:last-child) {
    margin-bottom: 38px
}

.box-inline .box-ct .sttl {
    margin: 12px 0 23px;
    line-height: 2.3
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .box-inline {
        display: block
    }

    .box-inline .box-img {
        width: 100% !important
    }

    .box-inline .box-ct {
        width: 100% !important;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 2;
        margin-top: 26px
    }

    .box-inline .box-ct p:not(:last-child) {
        margin-bottom: 32px
    }

    .box-inline .box-ct .sttl {
        margin: 0 0 18px;
        font-size: 23px;
        font-size: 2.3rem;
        letter-spacing: .15em;
        line-height: 1.85
    }
}

@media only screen and (max-width: 360px) {
    .box-inline .box-ct {
        font-size: 13px;
        font-size: 1.3rem
    }

    .box-inline .box-ct .sttl {
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: .1em
    }
}

.ended {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 2
}

.ended em {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    font-style: normal;
    color: #fff;
    text-align: center;
    font-family: 'Arial', serif;
    font-weight: 500;
    font-size: 20px;
    font-size: 2rem;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {

    .sale_sub_detail .item-thumb .ended,
    .image-item .ended {
        margin: 0 15px
    }

    .image-item .ended {
        margin: 0 !important
    }
}

.contents {
    padding: 40px 0 65px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .contents {
        padding: 8px 0 55px
    }
}

.bg-gray03 {
    background: #DFE2E6
}

.recommended-green {
    background: #818161;
    display: table;
    width: 100%;
    overflow: hidden;
    margin-bottom: 80px
}

.recommended-green-head {
    font-size: 0;
    display: table-cell;
    background: #E8EADF;
    padding: 25px 0 25px 68px;
    vertical-align: middle;
    position: relative;
    width: 380px
}

.recommended-green-icon {
    margin: 0 30px 0 0;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    z-index: 999
}

.recommended-green-ttl {
    display: inline-block;
    vertical-align: middle;
    font-family: 'Arial', serif;
    font-weight: 500;
    letter-spacing: .2em;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.8;
    color: #666955;
    position: relative;
    z-index: 9999
}

.recommended-green .info {
    display: table-cell;
    padding: 25px 60px 25px 125px;
    vertical-align: middle;
    z-index: 999
}

.recommended-green .big-triangle {
    position: absolute;
    content: "";
    width: 25%;
    height: 100%;
    right: -48px;
    top: 0;
    bottom: 0;
    z-index: 1;
    margin: 0
}

.recommended-green .big-triangle:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
    height: 0;
    border-bottom: 300px solid transparent;
    border-left: 130px solid #E8EADF;
    border-top: 300px solid transparent;
    z-index: 9;
    margin: -190px 0 0 0
}

.recommended-green .big-triangle2 {
    content: "";
    position: absolute;
    right: 130px;
    top: 50%;
    transform: translateX(180px) rotate(26deg);
    margin: -200px 0 0 0
}

.recommended-green .triangle2-in {
    width: 310px;
    height: 400px;
    background: #E8EADF;
    -ms-transform: skewY(40deg);
    -webkit-transform: skewY(40deg);
    transform: skewY(40deg)
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .recommended-green {
        margin: 0 -15px 35px -15px;
        width: auto;
        display: block;
        max-width: calc(100% + 30px)
    }

    .recommended-green-head {
        display: block;
        padding: 25px 23px 0 23px;
        width: auto;
        text-align: center
    }

    .recommended-green-icon {
        margin: 0 23px 0 0;
        width: 54px
    }

    .recommended-green-ttl {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.7;
        text-align: left;
        padding: 10px 0 0 0
    }

    .recommended-green .info {
        display: block;
        padding: 75px 20px 35px 20px
    }

    .recommended-green .big-triangle {
        width: 100%;
        height: 50px;
        right: 0;
        top: auto;
        bottom: -45px;
        z-index: 1;
        margin: 0
    }

    .recommended-green .big-triangle:after {
        right: 39%;
        top: 0;
        width: 0;
        height: 0;
        border-bottom: 320px solid transparent;
        border-left: 80px solid #E8EADF;
        border-top: 320px solid transparent;
        z-index: 9;
        margin: -300px 0 0 0;
        -moz-transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .recommended-green .big-triangle2 {
        content: "";
        position: absolute;
        right: 0;
        top: auto;
        bottom: -50px;
        transform: translateX(0) rotate(0deg);
        margin: 0;
        background: url(../img/event/bg01.png) no-repeat center bottom;
        background-size: 100% 160px;
        height: 50px;
        width: 100%
    }

    .recommended-green .triangle2-in {
        display: none
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 375px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 375px) {
    .recommended-green .big-triangle:after {
        margin: -307px 0 0 0
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (min-device-width: 375px) and (max-device-width: 812px) and (orientation: landscape),
only screen and (max-width: 767px) and (orientation: portrait) and (min-device-width: 375px) and (max-device-width: 812px) and (orientation: landscape) {
    .recommended-green .big-triangle:after {
        right: 373px;
        border-bottom: 413px solid transparent;
        border-left: 70px solid #E8EADF;
        border-top: 412px solid transparent;
        margin: -373px 0 0 0
    }
}

.mod-map {
    background: #DFE2E6;
    padding: 95px 0 88px 0
}

.mod-map .sec-title {
    font-size: 25px;
    font-size: 2.5rem;
    margin-bottom: 43px
}

.mod-map .mod-map-box {
    line-height: 0;
    margin-bottom: 52px
}

.mod-map .mod-map-box iframe {
    height: 440px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .mod-map {
        padding: 40px 0 60px 0
    }

    .mod-map .sec-title {
        margin-bottom: 35px
    }

    .mod-map .mod-map-box {
        margin-bottom: 31px
    }

    .mod-map .mod-map-box iframe {
        height: 180px
    }
}

.list-dot01 li {
    position: relative;
    padding: 0 0 0 10px;
    margin-bottom: 12px;
    font-size: 18px;
    font-size: 1.8rem
}

.list-dot01 li:before {
    position: absolute;
    content: "";
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    top: 13px;
    width: 3px;
    height: 3px;
    left: 0
}

.list-dot01 li:last-child {
    margin-bottom: 0
}

.list-dot01.white li {
    color: #fff
}

.list-dot01.white li:before {
    background: #fff
}

.list-dot01.black li {
    color: #2A2C2E
}

.list-dot01.black li:before {
    background: #2A2C2E
}

.list-dot02 li {
    position: relative;
    padding: 0 0 0 10px;
    color: #2A2C2E;
    font-size: 16px;
    font-size: 1.6rem
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .list-dot02 li {
        margin-bottom: 7px
    }
}

.list-dot02 li:before {
    background: #2A2C2E;
    position: absolute;
    content: "";
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    top: 18px;
    width: 3px;
    height: 3px;
    left: 0
}

.list-dot02 li:last-child {
    margin-bottom: 0
}

.list-anchor {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center
}

.list-anchor a {
    width: 27%;
    border: 1px solid #B9B9B9;
    margin: 0 9px 5px;
    padding: 16px 10px;
    font-family: 'Arial', serif;
    letter-spacing: .1em;
    display: block;
    text-align: center;
    position: relative
}

.list-anchor a>* {
    vertical-align: middle;
    display: inline-block
}

.list-anchor a:before {
    content: "";
    height: 100%;
    vertical-align: middle;
    width: 0;
    display: inline-block
}

.list-anchor a:after {
    content: "";
    position: absolute;
    left: 50%;
    right: 0;
    bottom: 26px;
    width: 7px;
    height: 7px;
    border-left: 1px solid #2A2C2E;
    border-top: 1px solid #2A2C2E;
    -moz-transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    margin-left: -2px
}

.list-anchor a>span {
    padding-bottom: 26px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .list-anchor a:hover {
        color: #fff;
        background: #2A2C2E;
        border-color: #2A2C2E
    }

    .list-anchor a:hover:after {
        border-color: #fff
    }
}

.list-anchor .numb {
    display: block;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: 400;
    font-family: "Merriweather", serif;
    line-height: 1.4
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .list-anchor {
        display: block
    }

    .list-anchor a {
        width: 82%;
        margin: 0 auto 25px;
        letter-spacing: .05em;
        padding: 7px 5px 8px 5px
    }

    .list-anchor a:after {
        bottom: 14px
    }

    .list-anchor a>span {
        padding-bottom: 16px
    }

    .list-anchor .numb {
        font-size: 22px;
        font-size: 2.2rem
    }
}

@media only screen and (max-width: 340px) {
    .list-anchor {
        font-size: 13px;
        font-size: 1.3rem
    }

    .list-anchor .numb {
        font-size: 20px;
        font-size: 2rem
    }
}

.list-items-event ul {
    font-size: 0;
    margin: 0 -17px
}

.list-items-event li {
    display: inline-block;
    width: 33.33%;
    padding: 0 17px;
    vertical-align: top;
    margin-bottom: 100px;
    position: relative
}

.list-items-event li .pic {
    margin-bottom: 20px;
    display: block;
    overflow: hidden;
    position: relative
}

.list-items-event li .pic a {
    display: block;
    overflow: hidden
}

.list-items-event li .pic .ended {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7)
}

.list-items-event li .pic .ended em {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    font-style: normal;
    color: #fff;
    text-align: center;
    font-family: 'Arial', serif;
    font-weight: 500;
    font-size: 20px;
    font-size: 2rem;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .list-items-event li:hover .zoom-img img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.list-items-event .cats-lg {
    display: inline-block;
    margin-bottom: 7px;
    margin-right: 12px;
    vertical-align: top
}

.list-items-event .cats-lg:last-child {
    margin-right: 0
}

.list-items-event .cats-lg span {
    font-family: 'Arial', serif;
    font-size: 14px;
    font-size: 1.4rem;
    background: #EBEDF0;
    text-align: center;
    display: inline-block;
    letter-spacing: .22em;
    margin: 0 5px 5px 0;
    padding: 10px 15px 8px;
    line-height: 1.4
}

@media only screen and (max-width: 1100px) {
    .list-items-event .cats {
        margin-bottom: 5px;
        margin-right: 5px
    }

    .list-items-event .cats span {
        padding: 10px 10px 8px
    }
}

.list-items-event .ttl {
    font-size: 20px;
    font-size: 2rem;
    font-family: 'Arial', serif;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.8;
    margin-bottom: 12px;
    overflow: hidden;
    width: 100%;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: normal
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .list-items-event .ttl {
        overflow: hidden;
        position: relative;
        line-height: 40px;
        max-height: 80px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-items-event .ttl:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-items-event .ttl:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }
}

@media screen and (-ms-high-contrast: active) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: active) and (-ms-high-contrast: none),
(-ms-high-contrast: none) and (-ms-high-contrast: none) {
    .list-items-event .ttl {
        text-justify: inter-cluster
    }
}

@-moz-document url-prefix() {
    .list-items-event .ttl {
        overflow: hidden;
        position: relative;
        line-height: 40px;
        max-height: 80px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-items-event .ttl:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-items-event .ttl:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }

    @media screen and (-ms-high-contrast: active),
    (-ms-high-contrast: none) {
        .list-items-event .ttl {
            text-justify: inter-cluster
        }
    }
}

.list-items-event .info {
    border: 1px solid #BCC1C9;
    padding: 17px 23px
}

.list-items-event .info p {
    margin-bottom: 10px
}

.list-items-event .info p:last-child {
    margin-bottom: 0
}

.list-items-event .info .time {
    position: relative;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 0 0 32px
}

.list-items-event .info .time:before {
    position: absolute;
    content: "";
    left: 0;
    top: 3px;
    background: url(../img/common/icon/icn_calendar01.svg) no-repeat center center;
    background-size: 16px 16px;
    width: 16px;
    height: 16px
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .list-items-event .info .time:before {
        top: 0
    }
}

.list-items-event .info .add {
    position: relative;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 0 0 32px
}

.list-items-event .info .add:before {
    position: absolute;
    content: "";
    left: 0;
    top: 3px;
    background: url(../img/common/icon/icn_map.svg) no-repeat center center;
    background-size: 12px 17px;
    width: 16px;
    height: 17px
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .list-items-event .info .add:before {
        top: 0
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .list-items-event ul {
        margin: 0
    }

    .list-items-event li {
        display: block;
        width: 100%;
        padding: 0;
        margin-bottom: 50px
    }

    .list-items-event .cats-lg {
        margin-bottom: 10px
    }

    .list-items-event .cats-lg span {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .23em;
        padding: 5px 19px 5px 19px
    }

    .list-items-event .ttl {
        font-size: 17px;
        font-size: 1.7rem;
        letter-spacing: .01em;
        line-height: 1.6;
        margin-bottom: 10px;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        -webkit-box-orient: vertical
    }

    .list-items-event .info {
        padding: 13px 16px
    }

    .list-items-event .info p {
        margin-bottom: 7px
    }

    .list-items-event .info p:last-child {
        margin-bottom: 0
    }

    .list-items-event .info .time {
        font-size: 13px;
        font-size: 1.3rem
    }

    .list-items-event .info .add {
        font-size: 13px;
        font-size: 1.3rem
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .list-items-event .info {
        padding: 13px 10px
    }

    .list-items-event .info .time {
        padding: 0 0 0 25px
    }

    .list-items-event .info .add {
        padding: 0 0 0 25px
    }
}

.detail-items-event {
    margin-bottom: 60px
}

.detail-items-event .cats-lg {
    margin-bottom: 5px
}

.detail-items-event .cats-lg span {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: .24em;
    padding: 8px 15px 10px;
    line-height: 1.4
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .detail-items-event .cats-lg span {
        padding-top: 11px;
        padding-bottom: 7px
    }
}

.detail-items-event .cmn-title {
    text-align: left;
    margin-bottom: 23px
}

.detail-items-event .pic {
    margin-bottom: 33px;
    position: relative
}

.detail-items-event .pic .ended {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    letter-spacing: .1em
}

.detail-items-event .pic .ended em {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    font-style: normal;
    color: #fff;
    text-align: center;
    font-family: 'Arial', serif;
    font-weight: 500;
    font-size: 20px;
    font-size: 2rem;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

.detail-items-event .info {
    background: #DFE2E6;
    border: 1px solid #DFE2E6;
    padding: 35px 40px;
    margin-bottom: 40px
}

.detail-items-event .info p {
    margin-bottom: 22px
}

.detail-items-event .info p:last-child {
    margin-bottom: 0
}

.detail-items-event .info .time {
    font-size: 17px;
    font-size: 1.7rem;
    padding: 0 0 0 37px
}

.detail-items-event .info .time:before {
    position: absolute;
    content: "";
    left: 0;
    top: 3px;
    background: url(../img/common/icon/icn_calendar01.svg) no-repeat center center;
    background-size: 20px 20px;
    width: 20px;
    height: 20px
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .detail-items-event .info .time:before {
        top: 0
    }
}

.detail-items-event .info .add {
    font-size: 17px;
    font-size: 1.7rem;
    padding: 0 0 0 37px
}

.detail-items-event .info .add:before {
    position: absolute;
    content: "";
    left: 2px;
    top: 3px;
    background: url(../img/common/icon/icn_map.svg) no-repeat center center;
    background-size: 15px 22px;
    width: 15px;
    height: 22px
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .detail-items-event .info .add:before {
        top: 0
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .detail-items-event {
        margin-bottom: 45px
    }

    .detail-items-event .cats-lg {
        margin-bottom: 7px
    }

    .detail-items-event .cats-lg span {
        padding: 8px 19px 3px 19px
    }

    .detail-items-event .cmn-title {
        margin-bottom: 18px
    }

    .detail-items-event .pic {
        margin-bottom: 20px
    }

    .detail-items-event .pic .ended {
        letter-spacing: .05em
    }

    .detail-items-event .info {
        padding: 10px 17px;
        margin-bottom: 25px
    }

    .detail-items-event .info p {
        margin-bottom: 10px
    }

    .detail-items-event .info p:last-child {
        margin-bottom: 0
    }

    .detail-items-event .info .time {
        font-size: 13px;
        font-size: 1.3rem;
        padding: 0 0 0 30px
    }

    .detail-items-event .info .time:before {
        background-size: 17px 17px;
        width: 17px;
        height: 17px;
        top: 1px
    }

    .detail-items-event .info .add {
        font-size: 13px;
        font-size: 1.3rem;
        padding: 0 0 0 30px
    }

    .detail-items-event .info .add:before {
        left: 1px;
        top: 2px;
        background-size: 13px 18px;
        width: 13px;
        height: 18px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .detail-items-event .info {
        padding: 10px 10px
    }
}

.list-works {
    font-size: 0;
    margin: 0 -7px
}

.list-works .item {
    display: inline-block;
    vertical-align: top;
    padding: 0 7px;
    width: 33.33%
}

.list-works .info {
    padding: 0 11px
}

.list-works .has-child {
    display: inline-block;
    vertical-align: top;
    padding: 0 7px;
    width: 33.33%
}

.list-works .has-child .item {
    display: block;
    padding: 0;
    width: 100%
}

.list-works .cats {
    margin-bottom: 10px
}

.list-works .cats span {
    padding: 1px 13px;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: .02em;
    line-height: 1.65;
    min-width: auto;
    text-align: left
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .list-works .cats span {
        padding-top: 4px
    }
}

.list-works a {
    display: block
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .list-works a:hover .pic img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.list-works .pic {
    margin-bottom: 24px;
    display: table;
    width: 100%
}

.list-works .ttl {
    font-family: 'Arial', serif;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .05em;
    font-weight: 600;
    line-height: 1.5;
    overflow: hidden;
    width: 100%;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: normal
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .list-works .ttl {
        overflow: hidden;
        position: relative;
        line-height: 28px;
        max-height: 56px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-works .ttl:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-works .ttl:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }
}

@media screen and (-ms-high-contrast: active) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: active) and (-ms-high-contrast: none),
(-ms-high-contrast: none) and (-ms-high-contrast: none) {
    .list-works .ttl {
        text-justify: inter-cluster
    }
}

@-moz-document url-prefix() {
    .list-works .ttl {
        overflow: hidden;
        position: relative;
        line-height: 28px;
        max-height: 56px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-works .ttl:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-works .ttl:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }

    @media screen and (-ms-high-contrast: active),
    (-ms-high-contrast: none) {
        .list-works .ttl {
            text-justify: inter-cluster
        }
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .list-works .info {
        padding: 0
    }

    .list-works .pic {
        display: block
    }

    .list-works .cats {
        margin-bottom: 7px
    }

    .list-works .cats span {
        padding: 0 10px;
        min-width: 47px
    }

    .list-works .pic {
        margin-bottom: 12px
    }
}

.post-author {
    overflow: hidden
}

.post-author .date {
    display: inline-block;
    padding: 5px 0;
    letter-spacing: .1em;
    font-family: "Merriweather", serif;
    width: 125px;
    font-weight: 600
}

.post-author .ctn {
    display: inline-block;
    vertical-align: top;
    letter-spacing: .05em
}

.post-author .ctn * {
    display: table-cell;
    vertical-align: middle
}

.post-author .avatar {
    width: 35px;
    height: 35px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%
}

.post-author .avatar img {
    display: block;
    width: 100%;
    height: 100%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%
}

.post-author .name {
    padding: 2px 0 0 14px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .post-author .date {
        padding: 3px 0;
        width: 100%;
        font-size: 13px;
        font-size: 1.3rem
    }

    .post-author .ctn {
        font-size: 13px;
        font-size: 1.3rem
    }

    .post-author .avatar {
        width: 25px;
        height: 25px
    }

    .post-author .name {
        padding-left: 8px
    }
}

.list-staffblog>li {
    margin-bottom: 70px
}

.list-staffblog a:before,
.list-staffblog a:after {
    content: " ";
    display: table
}

.list-staffblog a:after {
    clear: both
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .list-staffblog a:hover .zoom-img img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1)
    }

    .list-staffblog a .thumb {
        display: table
    }
}

.list-staffblog .post-author {
    margin-bottom: 14px
}

.list-staffblog .thumb {
    float: left;
    width: 25.35%
}

.list-staffblog .info {
    float: right;
    width: 71%
}

.list-staffblog .sttl {
    overflow: hidden;
    width: 100%;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: normal
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .list-staffblog .sttl {
        overflow: hidden;
        position: relative;
        line-height: 40px;
        max-height: 80px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-staffblog .sttl:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-staffblog .sttl:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }
}

@media screen and (-ms-high-contrast: active) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: active) and (-ms-high-contrast: none),
(-ms-high-contrast: none) and (-ms-high-contrast: none) {
    .list-staffblog .sttl {
        text-justify: inter-cluster
    }
}

@-moz-document url-prefix() {
    .list-staffblog .sttl {
        overflow: hidden;
        position: relative;
        line-height: 40px;
        max-height: 80px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-staffblog .sttl:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-staffblog .sttl:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }

    @media screen and (-ms-high-contrast: active),
    (-ms-high-contrast: none) {
        .list-staffblog .sttl {
            text-justify: inter-cluster
        }
    }
}

.list-staffblog .desc {
    margin-top: 18px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.85;
    overflow: hidden;
    width: 100%;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: normal
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .list-staffblog .desc {
        overflow: hidden;
        position: relative;
        line-height: 24px;
        max-height: 48px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-staffblog .desc:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-staffblog .desc:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }
}

@media screen and (-ms-high-contrast: active) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: active) and (-ms-high-contrast: none),
(-ms-high-contrast: none) and (-ms-high-contrast: none) {
    .list-staffblog .desc {
        text-justify: inter-cluster
    }
}

@-moz-document url-prefix() {
    .list-staffblog .desc {
        overflow: hidden;
        position: relative;
        line-height: 24px;
        max-height: 48px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .list-staffblog .desc:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .list-staffblog .desc:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }

    @media screen and (-ms-high-contrast: active),
    (-ms-high-contrast: none) {
        .list-staffblog .desc {
            text-justify: inter-cluster
        }
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .list-staffblog>li {
        margin-bottom: 35px
    }

    .list-staffblog .post-author {
        margin-bottom: 7px
    }

    .list-staffblog .thumb {
        max-width: 100%;
        width: 26.7%
    }

    .list-staffblog .info {
        width: 69%
    }

    .list-staffblog .desc {
        display: none
    }
}

.mod-author {
    background: #DFE2E6;
    padding: 16px 48px 16px 30px;
    margin-bottom: 15px;
    font-size: 0
}

.mod-author .author-pic {
    display: inline-block;
    vertical-align: middle;
    margin: 0 27px 0 0;
    width: 100px;
    height: 100px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%
}

.mod-author .author-pic img {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%
}

.mod-author .author-profile {
    display: inline-block;
    vertical-align: middle;
    max-width: calc(100% - 155px)
}

.mod-author .author-pos {
    font-family: 'Arial', serif;
    letter-spacing: .1em;
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 2px
}

.mod-author .author-name .ja {
    font-family: 'Arial', serif;
    letter-spacing: .1em;
    font-size: 20px;
    font-size: 2rem
}

.mod-author .author-name .en {
    font-family: "Merriweather", serif;
    letter-spacing: .1em;
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0 0 0 17px
}

.mod-author .author-heading {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 215px)
}

.mod-author .author-btn {
    display: inline-block;
    vertical-align: middle;
    width: 210px
}

.mod-author .author-btn a {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: .12em;
    width: 210px;
    padding: 22px 20px 20px 10px;
    position: relative
}

.mod-author .author-btn a:before {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    margin: -2px 0 0 0;
    transition: 0.3s
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .mod-author .author-btn a:hover:before {
        border-left: 1px solid #fff;
        border-top: 1px solid #fff;
        transition: 0.3s
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .mod-author {
        padding: 25px 22px 25px 24px;
        margin-bottom: 15px
    }

    .mod-author .author-pic {
        margin: 0 17px 0 0;
        width: 78px;
        height: 78px;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
        border-radius: 50%
    }

    .mod-author .author-pic img {
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
        border-radius: 50%
    }

    .mod-author .author-profile {
        max-width: calc(100% - 97px)
    }

    .mod-author .author-heading {
        display: block;
        width: 100%;
        margin-bottom: 23px
    }

    .mod-author .author-btn {
        display: block;
        width: 100%;
        text-align: center
    }

    .mod-author .author-btn a {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: .07em;
        padding: 20px 20px 19px 10px;
        margin: auto
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .mod-author {
        padding: 25px 15px 25px 15px
    }

    .mod-author .author-pic {
        margin: 0 10px 0 0
    }

    .mod-author .author-profile {
        max-width: calc(100% - 90px)
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .mod-author .author-profile {
        max-width: calc(100% - 82px)
    }

    .mod-author .author-pic {
        margin: 0 10px 0 0;
        width: 70px;
        height: 70px
    }

    .mod-author .author-name .ja {
        letter-spacing: .07em;
        font-size: 16px;
        font-size: 1.6rem;
        margin: 0 10px 0 0
    }

    .mod-author .author-name .en {
        letter-spacing: .07em;
        font-size: 13px;
        font-size: 1.3rem;
        margin: 0;
        display: inline-block
    }
}

.post-main-img {
    overflow: hidden;
    text-align: center
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .post-main-img {
        max-height: 740px
    }

    .post-main-img img {
        max-height: 740px
    }
}

.recommended-single-cover {
    padding: 0 48px
}

.recommended-single-cover .recommended-single {
    background: #DFE2E6;
    padding: 62px 65px 66px 66px
}

@media only screen and (max-width: 1100px) {
    .recommended-single-cover .recommended-single {
        padding: 55px 4%
    }
}

@media (max-width: 1160px) {
    .recommended-single-cover {
        padding-left: 30px;
        padding-right: 30px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .recommended-single-cover {
        padding: 0
    }

    .recommended-single-cover .recommended-single {
        padding: 39px 15px 43px 15px
    }

    .recommended-single-cover .recommended-btn {
        padding: 0;
        margin-bottom: 12px
    }

    .recommended-single-cover .back-list {
        width: 186px;
        text-align: center;
        vertical-align: middle;
        background: #949AA3;
        margin: 80px auto auto auto;
        color: #fff;
        font-size: 14px;
        font-size: 1.4rem;
        font-family: "Merriweather", serif;
        font-weight: 600;
        letter-spacing: .2em;
        position: relative;
        transition: 0.3s
    }

    .recommended-single-cover .back-list a {
        background: url(../img/common/icon/icn_list_white.svg) no-repeat 61px 20px;
        background-size: 13px 13px;
        padding: 15px 0 18px 20px;
        display: block;
        color: #fff;
        margin: -10px 0 0 0
    }

    .recommended-single-cover .back-list a:after {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        bottom: 0;
        right: 0
    }

    .android .recommended-single-cover .back-list a {
        padding-top: 19px;
        background-position: 61px 22px
    }
}

.recommended-single {
    padding: 77px 48px 0
}

.recommended-single .recommended-btn {
    margin-bottom: 13px
}

.recommended-single .recommended-btn li {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .2em;
    font-family: "Merriweather", serif
}

.recommended-single .recommended-btn li a {
    display: block;
    position: relative
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .recommended-single .recommended-btn li a:hover {
        opacity: 0.5
    }
}

.recommended-single .recommended-btn li.btn-prev {
    float: left
}

.recommended-single .recommended-btn li.btn-prev a {
    padding: 0 0 0 18px
}

.recommended-single .recommended-btn li.btn-prev a:after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    margin: -3px 0 0 0;
    width: 6px;
    height: 6px;
    border-left: 1px solid #51555B;
    border-top: 1px solid #51555B;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.recommended-single .recommended-btn li.btn-next {
    float: right
}

.recommended-single .recommended-btn li.btn-next a {
    padding: 0 20px 0 0
}

.recommended-single .recommended-btn li.btn-next a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    margin: -3px 0 0 0;
    width: 6px;
    height: 6px;
    border-left: 1px solid #51555B;
    border-top: 1px solid #51555B;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg)
}

.recommended-single-list {
    border: 1px solid #BCC1C9;
    display: table;
    height: 140px;
    overflow: hidden;
    width: 100%;
    position: relative
}

.recommended-single-list li {
    display: table-cell;
    vertical-align: top;
    font-size: 0;
    width: 50%
}

.recommended-single-list li a {
    overflow: hidden
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .recommended-single-list li a:hover.zoom-img .pic img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1)
    }

    .recommended-single-list li a:hover.zoom-img .avatar img {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1)
    }
}

.recommended-single-list li .pic {
    float: left;
    vertical-align: top;
    width: 140px;
    display: block;
    overflow: hidden;
    position: relative
}

.recommended-single-list li .pic img {
    display: block;
    margin: 0 auto
}

.recommended-single-list li .pic .ended {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7)
}

.recommended-single-list li .pic .ended em {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    font-style: normal;
    color: #fff;
    text-align: center;
    font-family: 'Arial', serif;
    font-weight: 500;
    font-size: 14px;
    font-size: 1.4rem;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

.recommended-single-list li .right {
    float: right;
    padding: 27px 100px 5px 0;
    overflow: hidden;
    width: calc(100% - 160px)
}

@media only screen and (max-width: 1100px) {
    .recommended-single-list li .right {
        padding: 20px 90px 5px 0
    }
}

.recommended-single-list li .cats-lg {
    display: inline-block;
    margin-bottom: 5px
}

.recommended-single-list li .cats-lg:last-child {
    margin-right: 0
}

.recommended-single-list li .cats-lg span {
    font-family: "Merriweather", serif;
    font-size: 12px;
    font-size: 1.2rem;
    background: #EBEDF0;
    text-align: center;
    display: inline-block;
    font-weight: 600;
    letter-spacing: .22em;
    padding: 5px 20px 5px 20px;
    line-height: 1.4;
    margin-bottom: 5px;
    margin-right: 5px;
    vertical-align: top
}

.recommended-single-list li .ttl {
    font-family: 'Arial', serif;
    font-weight: 500;
    letter-spacing: .05em;
    font-size: 16px;
    font-size: 1.6rem;
    max-height: 52px;
    overflow: hidden
}

.recommended-single-list li .ttl span {
    overflow: hidden;
    width: 100%;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: normal
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .recommended-single-list li .ttl span {
        overflow: hidden;
        position: relative;
        line-height: 28px;
        max-height: 56px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .recommended-single-list li .ttl span:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .recommended-single-list li .ttl span:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }
}

@media screen and (-ms-high-contrast: active) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: active) and (-ms-high-contrast: none),
(-ms-high-contrast: none) and (-ms-high-contrast: none) {
    .recommended-single-list li .ttl span {
        text-justify: inter-cluster
    }
}

@-moz-document url-prefix() {
    .recommended-single-list li .ttl span {
        overflow: hidden;
        position: relative;
        line-height: 28px;
        max-height: 56px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .recommended-single-list li .ttl span:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .recommended-single-list li .ttl span:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }

    @media screen and (-ms-high-contrast: active),
    (-ms-high-contrast: none) {
        .recommended-single-list li .ttl span {
            text-justify: inter-cluster
        }
    }
}

.recommended-single-list li.back-list {
    width: 148px;
    text-align: center;
    vertical-align: middle;
    background: #EBEDF0;
    color: #2A2C2E;
    font-size: 14px;
    font-size: 1.4rem;
    font-family: "Merriweather", serif;
    font-weight: 600;
    letter-spacing: .2em;
    position: relative;
    transition: 0.3s;
    padding: 13px 0 0 0;
    border-left: 1px solid #BCC1C9;
    border-right: 1px solid #BCC1C9;
    position: absolute;
    left: 50%;
    margin-left: -74px;
    height: 100%;
    z-index: 99
}

.recommended-single-list li.back-list a {
    display: block;
    position: static;
    z-index: 999
}

.recommended-single-list li.back-list a span {
    background: url(../img/common/icon/icn_list.svg) no-repeat 50% top;
    background-size: 13px 13px;
    padding: 28px 0 0 4px;
    margin: 5px 0 0 0;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.recommended-single-list li.back-list a:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 999
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .recommended-single-list li.back-list {
        padding-left: 0;
        height: 99%
    }
}

.windows.edge .recommended-single-list li.back-list,
.windows.firefox .recommended-single-list li.back-list {
    height: 99%
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .recommended-single-list li.back-list:hover {
        opacity: 0.5
    }
}

.recommended-single-list li.recommended-next .pic {
    float: right
}

.recommended-single-list li.recommended-next .right {
    float: none;
    padding: 27px 0 5px 100px;
    text-align: right
}

.recommended-single-list li.recommended-next .right .ctn {
    padding-left: 23px
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list li.recommended-next .right {
        padding: 20px 0 5px 90px
    }
}

.recommended-single-list li .post-author {
    margin-bottom: 9px
}

.recommended-single-list li .post-author .date {
    padding-top: 3px;
    width: 93px;
    font-size: 13px;
    font-size: 1.3rem
}

.recommended-single-list li .post-author .avatar {
    width: 29px;
    height: 29px;
    margin-bottom: 0
}

.recommended-single-list li .post-author .name {
    padding-left: 12px;
    font-size: 14px;
    font-size: 1.4rem
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list li .post-author .date {
        width: 80px
    }
}

@media only screen and (max-width: 1000px) {
    .recommended-single-list li .post-author {
        display: block;
        margin-bottom: 10px
    }

    .recommended-single-list li .post-author .date {
        margin-bottom: 2px;
        width: auto;
        display: block
    }
}

.recommended-single.forstaff .recommended-single-list li .pic {
    margin: 0 20px 0 0
}

.recommended-single.forstaff .recommended-single-list li.recommended-next .pic {
    margin: 0 0 0 20px
}

.recommended-single.forstaff .recommended-single-list li .ttl span {
    overflow: hidden;
    width: 100%;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: normal
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .recommended-single.forstaff .recommended-single-list li .ttl span {
        overflow: hidden;
        position: relative;
        line-height: 40px;
        max-height: 80px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .recommended-single.forstaff .recommended-single-list li .ttl span:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .recommended-single.forstaff .recommended-single-list li .ttl span:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }
}

@media screen and (-ms-high-contrast: active) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) and (-ms-high-contrast: active),
screen and (-ms-high-contrast: active) and (-ms-high-contrast: none),
(-ms-high-contrast: none) and (-ms-high-contrast: none) {
    .recommended-single.forstaff .recommended-single-list li .ttl span {
        text-justify: inter-cluster
    }
}

@-moz-document url-prefix() {
    .recommended-single.forstaff .recommended-single-list li .ttl span {
        overflow: hidden;
        position: relative;
        line-height: 40px;
        max-height: 80px;
        text-align: justify;
        margin-right: -1.15em;
        padding-right: 1.15em
    }

    .recommended-single.forstaff .recommended-single-list li .ttl span:before {
        content: '…';
        position: absolute;
        right: 0;
        bottom: 0
    }

    .recommended-single.forstaff .recommended-single-list li .ttl span:after {
        content: '';
        position: absolute;
        right: 0;
        width: 1.15em;
        height: 1em;
        margin-top: 0.2em;
        background: #fff
    }

    @media screen and (-ms-high-contrast: active),
    (-ms-high-contrast: none) {
        .recommended-single.forstaff .recommended-single-list li .ttl span {
            text-justify: inter-cluster
        }
    }
}

.recommended-single-list02 {
    border: 0;
    display: table;
    height: 170px;
    overflow: hidden;
    width: 100%;
    position: relative
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 {
        height: 140px
    }
}

.recommended-single-list02 li {
    display: table-cell;
    vertical-align: top;
    font-size: 0;
    width: 50%
}

.recommended-single-list02 li a {
    display: block
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .recommended-single-list02 li a:hover.zoom-img .pic img {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1)
    }
}

.recommended-single-list02 li .pic {
    float: left;
    vertical-align: top;
    width: 170px;
    margin: 0 25px 0 0;
    display: block;
    overflow: hidden;
    position: relative
}

.recommended-single-list02 li .pic .ended {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7)
}

.recommended-single-list02 li .pic .ended em {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    font-style: normal;
    color: #fff;
    text-align: center;
    font-family: 'Arial', serif;
    font-weight: 500;
    font-size: 14px;
    font-size: 1.4rem;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 li .pic {
        width: 140px
    }
}

@media only screen and (max-width: 900px) {
    .recommended-single-list02 li .pic {
        float: none;
        width: auto;
        margin: 0
    }
}

.recommended-single-list02 li .right {
    padding: 21px 25px 25px 0;
    overflow: hidden
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 li .right {
        padding-top: 15px
    }
}

@media only screen and (max-width: 900px) {
    .recommended-single-list02 li .right {
        padding-right: 0;
        text-align: left
    }
}

.recommended-single-list02 li .ttl {
    font-family: 'Arial', serif;
    font-weight: 600;
    letter-spacing: .15em;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 li .ttl {
        line-height: 1.7
    }
}

.recommended-single-list02 li.back-list {
    width: 102px;
    text-align: center;
    vertical-align: middle;
    background: #949AA3;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-family: "Merriweather", serif;
    font-weight: 600;
    letter-spacing: .2em;
    transition: 0.3s;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -51px;
    margin-top: -55px;
    height: 102px
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 li.back-list {
        height: 92px;
        width: 92px;
        margin-left: -46px;
        margin-top: -46px
    }
}

@media only screen and (max-width: 900px) {
    .recommended-single-list02 li.back-list {
        margin-top: -100px
    }
}

.recommended-single-list02 li.back-list a {
    background: url(../img/common/icon/icn_list_white.svg) no-repeat 49% center;
    background-size: 13px 13px;
    padding: 65px 0 0 4px;
    display: block;
    color: #fff;
    margin: -10px 0 0 0
}

.recommended-single-list02 li.back-list a:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    bottom: 0;
    right: 0
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .recommended-single-list02 li.back-list:hover {
        opacity: 0.5
    }
}

.recommended-single-list02 li.recommended-prev {
    padding: 0 120px 0 0
}

@media only screen and (max-width: 1260px) {
    .recommended-single-list02 li.recommended-prev {
        padding: 0 7% 0 0
    }
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 li.recommended-prev {
        padding: 0 50px 0 0
    }
}

@media only screen and (max-width: 900px) {
    .recommended-single-list02 li.recommended-prev {
        padding: 0 70px 0 0
    }
}

.recommended-single-list02 li.recommended-next {
    padding: 0 0 0 120px
}

@media only screen and (max-width: 1260px) {
    .recommended-single-list02 li.recommended-next {
        padding: 0 0 0 7%
    }
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 li.recommended-next {
        padding: 0 0 0 50px
    }
}

@media only screen and (max-width: 900px) {
    .recommended-single-list02 li.recommended-next {
        padding: 0 0 0 70px
    }
}

.recommended-single-list02 li.recommended-next .pic {
    float: right;
    margin: 0 0 0 25px
}

@media only screen and (max-width: 900px) {
    .recommended-single-list02 li.recommended-next .pic {
        float: none;
        margin: 0 0
    }
}

.recommended-single-list02 li.recommended-next .right {
    padding: 21px 0 5px 25px;
    text-align: right
}

@media only screen and (max-width: 900px) {
    .recommended-single-list02 li.recommended-next .right {
        padding-left: 0
    }
}

.recommended-single-list02 li .post-author {
    margin-bottom: 12px
}

.recommended-single-list02 li .post-author .date {
    width: 95px;
    font-size: 13px;
    font-size: 1.3rem
}

.recommended-single-list02 li .post-author .avatar {
    width: 29px;
    height: 29px;
    margin-bottom: 0
}

.recommended-single-list02 li .post-author .name {
    padding-left: 10px;
    font-size: 14px;
    font-size: 1.4rem
}

@media only screen and (max-width: 1160px) {
    .recommended-single-list02 li .post-author .date {
        width: 80px
    }
}

@media only screen and (max-width: 1000px) {
    .recommended-single-list02 li .post-author {
        display: block;
        margin-bottom: 10px
    }

    .recommended-single-list02 li .post-author .date {
        margin-bottom: 2px;
        width: auto;
        display: block
    }
}

@media (max-width: 1160px) {
    .recommended-single {
        padding-left: 30px;
        padding-right: 30px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .recommended-single {
        padding: 45px 0 60px 0
    }

    .recommended-single .recommended-btn {
        padding: 0 10px;
        margin-bottom: 10px
    }

    .recommended-single .recommended-btn li {
        font-size: 14px;
        font-size: 1.4rem
    }

    .recommended-single .recommended-btn li.btn-prev a {
        padding: 0 0 0 15px
    }

    .recommended-single .recommended-btn li.btn-next a {
        padding: 0 15px 0 0
    }

    .recommended-single-list {
        height: auto;
        overflow: hidden;
        width: 100%
    }

    .recommended-single-list li {
        width: 50%
    }

    .recommended-single-list li a {
        display: block;
        overflow: hidden;
        padding: 0 57px 0 0
    }

    .recommended-single-list li .pic {
        float: none;
        vertical-align: top;
        width: 100%;
        margin: 0;
        display: block;
        overflow: hidden;
        position: relative
    }

    .recommended-single-list li .pic img {
        width: 100%
    }

    .recommended-single-list li .pic .ended em {
        font-size: 12px;
        font-size: 1.2rem
    }

    .recommended-single-list li .right {
        float: none;
        padding: 12px 10px;
        width: 100%
    }

    .recommended-single-list li .cats-lg {
        display: none
    }

    .recommended-single-list li .ttl {
        letter-spacing: .04em;
        font-size: 13px;
        font-size: 1.3rem;
        max-height: 80px;
        overflow: hidden;
        width: 100%;
        -webkit-line-clamp: 3;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        white-space: normal;
        line-height: 1.8
    }

    .recommended-single-list li .ttl span {
        overflow: hidden;
        width: 100%;
        -webkit-line-clamp: 3;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        white-space: normal
    }

    .recommended-single-list li.back-list {
        width: 116px;
        font-size: 14px;
        font-size: 1.4rem;
        margin-left: -58px;
        height: 100%;
        padding: 0
    }

    .recommended-single-list li.back-list a span {
        background-position: 49.5% top;
        padding: 20px 0 0 4px;
        margin: 2px 0 0 0
    }
}

@media (max-width: 896px) and (orientation: landscape) and (min-width: 897px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) and (min-width: 897px) and (orientation: landscape),
(max-width: 896px) and (orientation: landscape) and (min-width: 768px) and (orientation: portrait),
(max-width: 767px) and (orientation: portrait) and (min-width: 768px) and (orientation: portrait) {
    .recommended-single-list li.back-list:hover {
        opacity: 0.5
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .recommended-single-list li.recommended-prev {
        padding: 0
    }

    .recommended-single-list li.recommended-next {
        padding: 0
    }

    .recommended-single-list li.recommended-next .pic {
        float: none;
        margin: 0
    }

    .recommended-single-list li.recommended-next .right {
        padding: 10px 10px;
        text-align: left
    }

    .recommended-single-list li.recommended-next a {
        padding: 0 0 0 57px
    }

    .recommended-single-list li .post-author {
        display: none
    }

    .recommended-single-list02 {
        height: auto;
        overflow: hidden;
        width: auto;
        font-size: 0;
        margin: 0 -12px;
        display: block
    }

    .recommended-single-list02:after {
        content: "";
        display: block;
        clear: both;
        height: 0;
        visibility: hidden;
        line-height: 0
    }

    .recommended-single-list02 li {
        width: 50%;
        padding: 0 12px;
        display: inline-block
    }

    .recommended-single-list02 li a {
        display: block;
        overflow: hidden
    }

    .recommended-single-list02 li .pic {
        float: none;
        vertical-align: top;
        width: 100%;
        display: block;
        overflow: hidden;
        position: relative;
        margin: 0 0 13px 0
    }

    .recommended-single-list02 li .pic img {
        display: block;
        margin: 0 auto
    }

    .recommended-single-list02 li .pic .ended em {
        font-size: 12px;
        font-size: 1.2rem
    }

    .recommended-single-list02 li .right {
        padding: 0;
        max-width: 100%
    }

    .recommended-single-list02 li .cats-lg {
        display: none
    }

    .recommended-single-list02 li .ttl {
        letter-spacing: .02em;
        font-size: 13px;
        font-size: 1.3rem;
        max-height: 80px;
        overflow: hidden;
        width: 100%;
        -webkit-line-clamp: 3;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        white-space: normal
    }

    .recommended-single-list02 li.back-list {
        display: none
    }

    .recommended-single-list02 li.recommended-prev {
        padding: 0 12px
    }

    .recommended-single-list02 li.recommended-next {
        padding: 0 12px;
        float: right
    }

    .recommended-single-list02 li.recommended-next .pic {
        float: none;
        margin: 0 0 13px 0
    }

    .recommended-single-list02 li.recommended-next .right {
        text-align: left;
        padding: 0
    }

    .recommended-single.forstaff .recommended-single-list li .pic {
        margin: 0
    }

    .recommended-single.forstaff .recommended-single-list li.recommended-next .pic {
        margin: 0
    }

    .recommended-single.forstaff .recommended-single-list li .ttl {
        max-height: 65px
    }
}

.recommended-same-cat {
    background: #DFE2E6;
    margin: 45px 0 0 0;
    padding: 80px 48px 70px 48px
}

.recommended-same-cat .cmn-title {
    margin-bottom: 50px;
    padding-left: 4px;
    text-align: center
}

.recommended-same-cat ul {
    letter-spacing: 0.1em;
    font-size: 0;
    margin: 0 -12px
}

.recommended-same-cat ul li {
    display: inline-block;
    vertical-align: top;
    width: 20%;
    padding: 0 12px
}

.recommended-same-cat ul li .thumb {
    display: table;
    margin-bottom: 20px
}

.recommended-same-cat ul li .post-author {
    display: block;
    margin-bottom: 10px
}

.recommended-same-cat ul li .post-author:before,
.recommended-same-cat ul li .post-author:after {
    content: " ";
    display: table
}

.recommended-same-cat ul li .post-author:after {
    clear: both
}

.recommended-same-cat ul li .post-author .date {
    float: left;
    padding: 6px 0;
    width: 95px;
    font-size: 13px;
    font-size: 1.3rem
}

.recommended-same-cat ul li .post-author .avatar {
    width: 31px;
    height: 31px;
    margin-bottom: 0
}

.recommended-same-cat ul li .post-author .name {
    padding-left: 12px;
    font-size: 14px;
    font-size: 1.4rem
}

.recommended-same-cat ul li .sttl {
    letter-spacing: .05em;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.7;
    overflow: hidden;
    width: 100%;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: normal
}

@media (max-width: 1160px) {
    .recommended-same-cat {
        padding-left: 30px;
        padding-right: 30px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .recommended-same-cat {
        padding: 56px 15px 20px 15px;
        margin: 55px 0 0 0
    }

    .recommended-same-cat .cmn-title {
        margin-bottom: 47px
    }

    .recommended-same-cat ul {
        margin: 0
    }

    .recommended-same-cat ul li {
        display: block;
        width: 100%;
        padding: 0;
        margin-bottom: 35px
    }

    .recommended-same-cat ul li .thumb {
        margin-bottom: 0;
        width: 92px;
        display: inline-block;
        vertical-align: top
    }

    .recommended-same-cat ul li .info {
        display: inline-block;
        vertical-align: top;
        width: calc(100% - 110px);
        margin: 0 0 0 15px
    }

    .recommended-same-cat ul li .post-author {
        margin-bottom: 8px
    }

    .recommended-same-cat ul li .post-author:before,
    .recommended-same-cat ul li .post-author:after {
        content: " ";
        display: table
    }

    .recommended-same-cat ul li .post-author:after {
        clear: both
    }

    .recommended-same-cat ul li .post-author .ctn {
        float: right;
        text-align: right;
        max-width: calc(100% - 80px)
    }

    .recommended-same-cat ul li .post-author .date {
        float: left;
        padding: 2px 0;
        width: 100%
    }

    .recommended-same-cat ul li .post-author .avatar {
        width: 25px;
        height: 25px
    }

    .recommended-same-cat ul li .post-author .name {
        padding-left: 6px;
        font-size: 13px;
        font-size: 1.3rem
    }

    .recommended-same-cat ul li .sttl {
        letter-spacing: .09em;
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 1.5
    }
}

.mod-company {
    background: #DFE2E6;
    padding: 67px 0 61px;
    font-family: 'Arial', serif
}

.mod-company .cmn-title {
    margin-bottom: 51px;
    padding-left: 10px;
    font-family: "Merriweather", serif;
    font-weight: 600;
    letter-spacing: .3em;
    line-height: 1.3
}

.mod-company a {
    display: block
}

.mod-company .pic {
    overflow: hidden
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .mod-company .pic {
        display: table;
        width: 100%
    }
}

.mod-company .list {
    font-size: 0;
    letter-spacing: 0;
    margin: 0 -9px
}

.mod-company .list li {
    display: inline-block;
    vertical-align: top;
    padding: 0 9px;
    width: 50%
}

.mod-company .desc {
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: .03em;
    line-height: 1.65;
    margin-top: 25px;
    text-align: center
}

.mod-company .box-img {
    float: left;
    width: 44%
}

.mod-company .box-ct {
    float: right;
    background: #F8F8F8;
    margin-right: 6px;
    width: 52.4%;
    padding: 40px 7px 29px 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center
}

.mod-company .box-ct .list {
    width: 62%
}

.mod-company .box-ct .desc {
    margin-top: 14px
}

.mod-company .tit {
    width: 32.3%;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .19em;
    padding: 5px 10px 0 0;
    line-height: 1.75;
    text-align: center
}

@media only screen and (max-width: 1080px) {
    .mod-company .desc {
        font-size: 15px;
        font-size: 1.5rem
    }

    .mod-company .tit {
        padding: 0;
        letter-spacing: .1em
    }

    .mod-company .box-ct .list {
        width: 69%
    }
}

@media only screen and (max-width: 880px) {
    .mod-company .tit {
        font-size: 15px;
        font-size: 1.5rem
    }

    .mod-company .desc {
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: .16em;
        line-height: 1.55
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .mod-company {
        margin: 35px 0 20px;
        padding: 57px 0 67px
    }

    .mod-company .cmn-title {
        margin-bottom: 40px;
        font-size: 25px;
        font-size: 2.5rem;
        letter-spacing: .5em
    }

    .mod-company .tit {
        padding: 0;
        font-size: 18px;
        font-size: 1.8rem;
        width: 100%;
        display: block;
        line-height: 2;
        margin-bottom: 11px
    }

    .mod-company .list {
        margin: 0 -5px
    }

    .mod-company .list li {
        padding: 0 5px
    }

    .mod-company .desc {
        margin-top: 12px
    }

    .mod-company .box-img {
        float: none;
        width: 100%;
        margin-bottom: 24px;
        padding: 0
    }

    .mod-company .box-ct {
        display: block;
        float: none;
        margin: 0;
        padding: 30px 10px 32px;
        width: 100%
    }

    .mod-company .box-ct .list {
        padding: 0 10px;
        width: auto
    }

    .mod-company .box-ct .desc {
        margin-top: 13px
    }
}

@media only screen and (max-width: 340px) {
    .mod-company .tit {
        font-size: 17px;
        font-size: 1.7rem
    }

    .mod-company .desc {
        font-size: 12px;
        font-size: 1.2rem
    }
}

.mod-concept {
    background: #DFE2E6;
    padding: 104px 0 80px;
    overflow: hidden
}

.mod-concept .list-concept {
    text-align: center;
    font-size: 0;
    margin: 72px -8px 0
}

.mod-concept .list-concept li {
    display: inline-block;
    vertical-align: top;
    padding: 0 8px;
    width: 20%;
    margin-bottom: 8px
}

.mod-concept .list-concept a {
    display: block
}

.mod-concept .list-concept .pic {
    margin: 0 auto 24px;
    display: table;
    overflow: hidden
}

.mod-concept .list-concept .pic img {
    width: 100%
}

.mod-concept .list-concept .desc {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .16em;
    line-height: 1.55
}

@media only screen and (max-width: 1160px) {
    .mod-concept .list-concept .desc {
        font-size: 15px;
        font-size: 1.5rem
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .mod-concept {
        margin-bottom: 20px;
        padding: 56px 0 36px
    }

    .mod-concept .list-concept {
        margin: 37px -5px 0;
        text-align: left
    }

    .mod-concept .list-concept li {
        width: 50%;
        padding: 0 5px
    }

    .mod-concept .list-concept .pic {
        display: block;
        margin-bottom: 11px
    }

    .mod-concept .list-concept .desc {
        font-size: 13px;
        font-size: 1.3rem;
        min-height: 29px
    }
}

@media only screen and (max-width: 340px) {
    .mod-concept .list-concept .desc {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .1em
    }
}

.mod-box-link {
    margin: 50px 0;
    background: #2A2C2E;
    overflow: hidden
}

.mod-box-link a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    width: 100%;
    padding: 24px 60px 21px 36px;
    color: #fff;
    position: relative
}

.mod-box-link a:after {
    content: "";
    position: absolute;
    right: 44px;
    top: 50%;
    width: 12px;
    height: 12px;
    border-left: 1px solid #fff;
    border-top: 1px solid #fff;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -6px
}

.mod-box-link .thumb {
    display: block;
    width: 95px;
    height: 95px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    overflow: hidden
}

.mod-box-link .thumb img {
    display: block;
    width: 100%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%
}

.mod-box-link .info {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -moz-box-flex: 1;
    -moz-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 0px 0 2px 22px
}

.mod-box-link .txt {
    margin: 0 0 2px 2px;
    letter-spacing: .25em;
    line-height: 1.25;
    font-weight: 600
}

.mod-box-link .ttl {
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: .1em;
    line-height: 1.55
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .mod-box-link {
        margin-bottom: 60px
    }

    .mod-box-link a {
        padding: 16px 34px 17px 20px
    }

    .mod-box-link a:after {
        right: 22px
    }

    .mod-box-link .thumb {
        width: 67px;
        height: 67px
    }

    .mod-box-link .info {
        padding: 6px 0 0 19px
    }

    .mod-box-link .txt {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.35
    }

    .mod-box-link .ttl {
        font-size: 16px;
        font-size: 1.6rem
    }
}

@media only screen and (max-width: 340px) {
    .mod-box-link a {
        padding-left: 15px;
        padding-right: 24px
    }

    .mod-box-link a:after {
        right: 15px
    }

    .mod-box-link .thumb {
        width: 56px;
        height: 56px
    }

    .mod-box-link .info {
        padding-left: 10px
    }

    .mod-box-link .txt {
        font-size: 12px;
        font-size: 1.2rem
    }

    .mod-box-link .ttl {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media only screen and (max-width: 360px) {
    .no-mx360 {
        display: none
    }
}

@media only screen and (max-width: 320px) {
    .no-ip5 {
        display: none
    }
}

.footer {
    background: #2A2C2E;
    color: #fff
}

.footer a {
    color: #fff;
    text-transform: uppercase
}

.footer .gototop {
    text-align: center
}

.footer .gototop a {
    display: block;
    color: #fff;
    padding: 20px 10px 25px;
    background: #51555B;
    font-family: "Merriweather", serif;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: .13em
}

.footer .gototop a span {
    display: inline-block;
    padding-top: 27px;
    background: url(../img/common/icon/icn_pagetop.svg) no-repeat top center;
    -webkit-background-size: 16px 9px;
    -moz-background-size: 16px 9px;
    -ms-background-size: 16px 9px;
    -o-background-size: 16px 9px;
    background-size: 16px 9px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .footer .gototop a {
        padding: 18px 10px 13px
    }
}

.footer .flogo {
    font-size: 100%
}

.footer .flogo img {
    display: block;
    width: 100%
}

.footer .f-info {
    font-family: "Merriweather", serif;
    margin-top: 37px
}

.footer .f-menu ul {
    margin: 2px 0 56px;
    font-size: 0;
    letter-spacing: 0
}

.footer .f-menu ul>li {
    display: inline-block;
    vertical-align: top;
    margin-right: 7.1%;
    font-family: "Merriweather", serif;
    font-weight: 600;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: .03em;
    line-height: 1.35
}

.footer .f-menu ul>li:last-child {
    margin-right: 0
}

.footer .f-title {
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.35;
    margin-bottom: 22px
}

.footer .f-submenu {
    font-size: 0;
    letter-spacing: 0
}

.footer .f-submenu>li {
    display: inline-block;
    vertical-align: top;
    margin: 0 27px 12px 0;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: .03em;
    font-family: 'Arial', serif
}

.footer .f-link {
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: .09em;
    font-weight: 400
}

.footer .f-link>li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 32px
}

.footer .copyright {
    padding: 28px 10px 27px;
    font-family: "Merriweather", serif;
    color: #ccc;
    font-size: 11px;
    font-size: 1.1rem;
    letter-spacing: .03em;
    text-align: center
}

.footer .list-sns {
    text-align: center;
    font-size: 0;
    letter-spacing: 0
}

.footer .list-sns li {
    display: inline-block;
    vertical-align: middle;
    width: 27px;
    margin: 0 2px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .footer {
        line-height: 0;
        -webkit-text-size-adjust: none;
        -moz-text-size-adjust: none;
        -ms-text-size-adjust: none
    }

    .footer .gototop a:hover {
        background: #949AA3
    }

    .footer .flogo {
        float: left;
        width: 248px;
        margin: 3px 0 0 5.7%
    }

    .footer-inner {
        float: right;
        width: 63.3%
    }

    .footer-inner a:hover {
        color: #E63B26
    }

    .footer .f-group {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between
    }

    .footer .f-group-item {
        width: 50%
    }

    .footer .f-group-item:last-child {
        width: 47.5%;
        padding-right: 9%
    }

    .footer .f-link {
        margin: 2px 3px 0
    }

    .footer .wcm {
        padding: 73px 17px 60px;
        line-height: 1.6;
        font-size: 16px;
        font-size: 1.6rem
    }

    .footer .f-info {
        font-size: 0;
        letter-spacing: 0
    }

    .footer .f-info * {
        display: inline-block;
        vertical-align: middle
    }

    .footer:not(.footer01) .copyright {
        float: right;
        text-align: right;
        padding: 6px 7.9% 0 0
    }
}

@media (max-width: 1080px) {
    .footer .flogo {
        margin-left: 0
    }

    .footer .f-menu ul>li {
        margin-right: 5%
    }

    .footer .f-link>li {
        margin-right: 15px
    }

    .footer:not(.footer01) .copyright {
        padding-right: 0
    }
}

@media (max-width: 970px) {
    .footer-inner {
        width: 66.5%
    }

    .footer .flogo {
        width: 210px
    }

    .footer .f-menu ul>li {
        margin-right: 3%
    }

    .footer .f-link>li {
        margin-right: 15px
    }

    .footer .f-group-item:last-child {
        padding-right: 0
    }

    .footer:not(.footer01) .copyright {
        width: 35%;
        padding-top: 0
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .footer-inner {
        width: auto;
        padding-top: 30px;
        overflow: hidden
    }

    .footer .wcm {
        padding: 0
    }

    .footer .f-menu {
        width: 86%;
        margin: 0 auto 30px;
        padding-bottom: 11px;
        border-bottom: 1px solid #51555B;
        text-align: center
    }

    .footer .f-menu ul {
        margin: 0 -4.5% 0 -7%
    }

    .footer .f-menu ul>li {
        margin: 0 0 27px;
        width: 33.33%
    }

    .footer .f-group {
        width: 87%;
        margin: 0 auto
    }

    .footer .f-group-item:not(:last-child) {
        margin-bottom: 37px
    }

    .footer .f-title {
        margin-bottom: 14px;
        padding-left: 22px;
        background: url(../img/common/icon/icn_plus.svg) no-repeat 0 4px;
        background-size: 14px auto
    }

    .android .footer .f-title {
        background-position: 0 2px
    }

    .footer .f-submenu>li {
        display: block;
        margin: 0 0 6px
    }

    .footer .f-submenu a {
        display: block;
        padding: 3px 35px
    }

    .footer .f-info {
        background: #18191A;
        margin-top: 34px;
        padding: 37px 15px 28px;
        text-align: center
    }

    .footer .flogo {
        margin: 0 auto 28px;
        width: 212px
    }

    .footer .flogo img {
        margin-left: -7px
    }

    .footer .f-link {
        margin-bottom: 18px
    }

    .footer .f-link>li {
        margin: 0 12px 5px
    }

    .footer .f-link>li a {
        display: inline-block
    }

    .footer .list-sns {
        margin-bottom: 29px
    }

    .footer .list-sns li {
        margin: 0 6px;
        width: 30px
    }

    .footer .list-sns li img {
        display: block;
        width: 100%
    }

    .footer:not(.footer01) .copyright {
        width: auto;
        padding: 0
    }

    .footer.footer01 .copyright {
        padding: 28px 10px 27px
    }
}

@media (max-width: 360px) {
    .footer .f-menu ul>li {
        letter-spacing: .06em
    }
}

input,
label,
select,
button,
textarea {
    margin: 0;
    border: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: normal;
    background: none;
    font: inherit;
    line-height: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number] {
    -moz-appearance: textfield
}

input[type="reset"],
input[type="submit"],
input[type="button"] {
    cursor: pointer
}

button {
    -webkit-tap-highlight-color: transparent;
    cursor: pointer
}

input[type=search] {
    -webkit-appearance: textfield
}

::-webkit-search-decoration {
    display: none
}

textarea {
    overflow: auto;
    white-space: pre-line
}

.input-text {
    padding: 14px 25px;
    line-height: 1.8;
    height: auto;
    border: 1px solid #949AA3;
    width: 100%;
    font-size: 15px;
    font-size: 1.5rem
}

.input-text:placeholder-shown {
    color: #949AA3
}

.input-text::-webkit-input-placeholder {
    color: #949AA3
}

.input-text:-moz-placeholder {
    color: #949AA3
}

.input-text::-moz-placeholder {
    color: #949AA3
}

.input-text:-ms-input-placeholder {
    color: #949AA3
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .input-text {
        padding: 14px 10px
    }
}

.btn-submit {
    display: inline-block;
    width: 311px;
    border: 1px solid #949AA3;
    text-align: center;
    font-family: "Merriweather", serif;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: .18em;
    line-height: 1.35;
    transition: 0.3s;
    position: relative;
    transition: 0.3s;
    font-size: 18px;
    font-size: 1.8rem;
    height: 91px;
    margin: 20px auto;
    padding: 0 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .btn-submit {
        padding-top: 22px;
        padding-bottom: 22px
    }
}

.edge .btn-submit {
    padding-top: 22px;
    padding-bottom: 22px
}

.btn-submit:after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-left: 1px solid #2A2C2E;
    border-top: 1px solid #2A2C2E;
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -4px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .btn-submit:hover {
        color: #fff;
        background: #2A2C2E;
        border-color: #2A2C2E
    }

    .btn-submit:hover:after {
        border-left: 1px solid #fff;
        border-top: 1px solid #fff
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .btn-submit {
        width: 280px;
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: .12em;
        font-size: 16px;
        font-size: 1.6rem;
        height: 80px;
        margin: 23px auto;
        padding: 0 10px;
        text-decoration: none
    }

    .btn-submit:after {
        right: 23px;
        width: 6px;
        height: 6px;
        margin-top: -3px
    }
}

.stepList {
    max-width: 800px;
    margin: 0 auto;
    font-size: 0;
    letter-spacing: 0;
    background: #DFE2E6
}

.stepList li {
    display: inline-block;
    font-size: 18px;
    font-size: 1.8rem;
    text-align: center;
    line-height: 56px;
    background: #DFE2E6;
    position: relative;
    color: #2A2C2E;
    width: 33.33%;
    font-weight: 500;
    font-family: "Merriweather", serif;
    letter-spacing: .1em
}

@media only screen and (max-width: 767px) {
    .stepList li {
        line-height: 40px;
        font-size: 14px;
        font-size: 1.4rem
    }
}

.stepList li span {
    margin: 0 0 0 10px;
    font-family: 'Arial', serif
}

.stepList li:after {
    position: absolute;
    content: '';
    top: 0;
    right: -16px;
    border-top: 28px solid transparent;
    border-bottom: 28px solid transparent;
    border-left: 16px solid #DFE2E6;
    z-index: 4
}

@media only screen and (max-width: 767px) {
    .stepList li:after {
        right: -8px;
        border-bottom-width: 20px;
        border-top-width: 20px;
        border-left-width: 8px
    }
}

.stepList li:before {
    position: absolute;
    content: '';
    top: 0;
    right: -18px;
    border-top: 28px solid transparent;
    border-bottom: 28px solid transparent;
    border-left: 16px solid #fff;
    z-index: 3
}

@media only screen and (max-width: 767px) {
    .stepList li:before {
        right: -8px;
        border-bottom-width: 20px;
        border-top-width: 20px;
        border-left-width: 8px
    }
}

.stepList li:last-child {
    background: none
}

.stepList li:last-child:after {
    display: none !important
}

.stepList li.active {
    background: #51555B;
    color: #fff !important
}

.stepList li.active:after {
    border-left-color: #51555B
}

.form-style .errMsg {
    margin-left: 1em;
    padding-bottom: 1px;
    display: block;
    line-height: 1.4;
    text-indent: -.9em
}

.form-style .formError {
    padding-bottom: 13px;
    display: block
}

.form-style .fixed {
    padding-bottom: 0px
}

.form-style .formError .formErrorClose {
    border: solid #252525 2px;
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: -4px;
    right: -4px;
    color: #efefef;
    background: #333;
    font-weight: bold;
    text-align: center;
    line-height: middle;
    cursor: pointer;
    z-index: 2;
    -webkit-border-radius: 9px;
    -moz-border-radius: 9px;
    -ms-border-radius: 9px;
    -o-border-radius: 9px;
    border-radius: 9px;
    -webkit-box-shadow: 1px -1px 3px #888;
    -moz-box-shadow: 1px -1px 3px #888;
    -ms-box-shadow: 1px -1px 3px #888;
    -o-box-shadow: 1px -1px 3px #888;
    box-shadow: 1px -1px 3px #888
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .form-style .formError .formErrorClose:hover {
        background: #666
    }
}

.form-style .fixed .formErrorClose {
    display: none
}

.form-style .formError .formErrorContent {
    padding: 6px 10px;
    width: 180px;
    position: relative;
    color: #fff;
    background: #252525;
    font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, "ヒラギノ丸ゴ Pro W4", HiraMaruPro-W4, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, sans-serif;
    font-size: 11px;
    margin: 0 0;
    z-index: 1;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 6px #888;
    -moz-box-shadow: 0 0 6px #888;
    -ms-box-shadow: 0 0 6px #888;
    -o-box-shadow: 0 0 6px #888;
    box-shadow: 0 0 6px #888
}

.form-style .fixed .formErrorContent {
    margin-top: .5em;
    background: #f60;
    margin: 0 0 30px;
    -webkit-border-radius: none;
    -moz-border-radius: none;
    -ms-border-radius: none;
    -o-border-radius: none;
    border-radius: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none
}

.form-style .fadeOut {
    opacity: .2;
    filter: alpha(opacity=20)
}

.form-style .formError .formErrorArrow {
    width: 15px;
    height: 15px;
    position: absolute;
    bottom: 0;
    left: 20px;
    margin: 0 0 30px;
    z-index: 0
}

.form-style .fixed .formErrorArrow {
    display: none
}

.form-style .formError .formErrorArrowBottom {
    margin: -6px;
    top: 0
}

.form-style .fixed .formErrorArrowBottom {
    display: none
}

.form-style .formError .formErrorArrow div {
    margin: 0 auto;
    display: block;
    height: 1px;
    background: #252525;
    line-height: 0px;
    font-size: 0px;
    -webkit-box-shadow: 0 2px 3px #888;
    -moz-box-shadow: 0 2px 3px #888;
    -ms-box-shadow: 0 2px 3px #888;
    -o-box-shadow: 0 2px 3px #888;
    box-shadow: 0 2px 3px #888
}

.form-style .formError .formErrorArrowBottom div {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none
}

.form-style .formError .formErrorArrow .line10 {
    width: 19px
}

.form-style .formError .formErrorArrow .line9 {
    width: 17px
}

.form-style .formError .formErrorArrow .line8 {
    width: 15px
}

.form-style .formError .formErrorArrow .line7 {
    width: 13px
}

.form-style .formError .formErrorArrow .line6 {
    width: 11px
}

.form-style .formError .formErrorArrow .line5 {
    width: 9px
}

.form-style .formError .formErrorArrow .line4 {
    width: 7px
}

.form-style .formError .formErrorArrow .line3 {
    width: 5px
}

.form-style .formError .formErrorArrow .line2 {
    width: 3px
}

.form-style .formError .formErrorArrow .line1 {
    width: 1px
}

.form-style .hid_url {
    display: none
}

.form-style form p.test {
    position: relative;
    color: #C1C0BC
}

.form-style form p.test label {
    position: absolute;
    top: 3px;
    left: 10px;
    font-weight: normal
}

.form-style form p.test br {
    display: none
}

.form-style .formBlock {
    margin: auto
}

.form-style .stepImg {
    margin: 40px 0;
    text-align: center
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .stepImg {
        margin: 22px 0
    }
}

.form-style .tableContact em,
.form-style .txtContact em {
    color: #fff;
    font-style: normal;
    background: #949AA3;
    font-size: 15px;
    font-size: 1.5rem;
    width: 55px;
    height: 28px;
    line-height: 28px;
    display: inline-block;
    text-align: center;
    margin-right: 15px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {

    .form-style .tableContact em,
    .form-style .txtContact em {
        font-size: 13px;
        font-size: 1.3rem;
        width: 52px;
        height: 22px;
        line-height: 22px;
        margin-right: 10px
    }
}

.form-style .tableContact em.hissu,
.form-style .txtContact em.hissu {
    background: #818161
}

.form-style .tableContact {
    width: 100%;
    margin: 25px 0 45px;
    font-size: 15px;
    text-align: left
}

.form-style .tableContact td,
.form-style .tableContact th {
    vertical-align: top
}

.form-style .tableContact .th_item {
    display: inline-block;
    vertical-align: top;
    max-width: calc(100% - 74px)
}

.form-style .tableContact th {
    width: 270px;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
    padding: 32px 0
}

.form-style .tableContact td {
    padding: 20px 0 20px 20px;
    position: relative;
    font-size: 15px;
    font-size: 1.5rem
}

.form-style .tableContact .other1 th {
    padding: 20px 0
}

.form-style .tableContact .other2 th {
    padding: 20px 0
}

.form-style .tableContact .other2 td {
    padding: 13px 0 13px 20px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact {
        margin: 20px 0 15px;
        font-size: 15px
    }

    .form-style .tableContact td,
    .form-style .tableContact th {
        display: block
    }

    .form-style .tableContact th {
        width: 100%;
        font-size: 16px;
        font-size: 1.6rem;
        padding: 17px 0
    }

    .form-style .tableContact td {
        padding: 0 0 17px
    }

    .form-style .tableContact .other1 th {
        padding: 17px 0
    }

    .form-style .tableContact .other2 th {
        padding: 17px 0
    }

    .form-style .tableContact .other2 td {
        padding: 0 0 17px
    }
}

.form-style .tableContact.top-formEvent {
    margin: 93px 0 20px
}

.form-style .tableContact.top-formEvent th {
    background: none;
    padding: 0
}

.form-style .tableContact.top-formEvent td {
    padding: 0 0 0 20px;
    letter-spacing: .06em
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact.top-formEvent {
        margin: 45px 0 20px
    }

    .form-style .tableContact.top-formEvent th {
        padding: 0 0 10px
    }

    .form-style .tableContact.top-formEvent td {
        padding: 0;
        line-height: 1.8
    }
}

.form-style .tableContact .line01 {
    padding: 0 0 0 60px;
    position: relative
}

.form-style .tableContact .line01:before {
    position: absolute;
    content: "";
    left: 35px;
    top: 9px;
    bottom: 0;
    height: 32px;
    border-left: #949AA3 solid 1px;
    -ms-transform: rotate(25deg);
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg)
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact .line01 {
        padding: 0 0 0 33px;
        position: relative
    }

    .form-style .tableContact .line01:before {
        position: absolute;
        content: "";
        left: 15px;
        top: 9px;
        bottom: 0;
        height: 32px;
        border-left: #949AA3 solid 1px;
        -ms-transform: rotate(25deg);
        -webkit-transform: rotate(25deg);
        transform: rotate(25deg)
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .form-style .tableContact .line01 {
        padding: 0 0 0 25px
    }

    .form-style .tableContact .line01:before {
        left: 10px;
        top: 9px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .tableContact .line01 {
        padding: 0 0 0 16px
    }

    .form-style .tableContact .line01:before {
        left: 3px;
        top: 9px;
        height: 32px
    }
}

.form-style .tableContact .box-time .col1 {
    display: inline-block
}

.form-style .tableContact .box-time .col2 {
    display: inline-block
}

.form-style .tableContact .box-time .note01 {
    font-size: 17px;
    font-size: 1.7rem
}

.form-style .tableContact .box-time .line01 {
    margin: 15px 0 0 0
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact .box-time .line01 {
        padding: 0;
        position: relative
    }

    .form-style .tableContact .box-time .line01:before {
        display: none
    }
}

.form-style .tableContact .box-number .col1 {
    display: inline-block
}

.form-style .tableContact .box-number .col2 {
    display: inline-block
}

.form-style .tableContact .box-number .note01 {
    font-size: 16px;
    font-size: 1.6rem
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact .box-number .note01 {
        margin: 0 10px 0 0
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .form-style .tableContact .box-number .note01 {
        margin: 0 3px 0 0
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .tableContact .box-number .note01 {
        margin: 0 2px 0 0
    }
}

.form-style .tableContact .note01 {
    margin: 0 15px 0 0
}

@media only screen and (max-width: 360px) {
    .form-style .tableContact .note01 {
        margin: 0 10px 0 0
    }
}

.form-style .tableContact .note02 {
    margin: 0 0 0 15px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact .note02 {
        margin: 0 0 0 5px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .tableContact .note02 {
        margin: 0 0 0 3px
    }
}

.form-style .tableContact .note03 {
    display: inline-block;
    vertical-align: middle;
    padding: 0 0 0 20px
}

.form-style .tableContact .note04 {
    margin: 0 0 0 15px;
    font-size: 17px;
    font-size: 1.7rem
}

@media (max-width: 960px) {
    .form-style .tableContact .note04 {
        margin: 0 0 0 10px
    }
}

.form-style .tableContact .note04 i {
    min-width: 32px;
    display: inline-block;
    font-style: normal
}

.form-style .tableContact .note04.from {
    margin-right: 28px
}

@media (max-width: 960px) {
    .form-style .tableContact .note04.from {
        margin-right: 10px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact .note04 {
        margin: 0 0 0 2px;
        font-size: 14px;
        font-size: 1.4rem
    }

    .form-style .tableContact .note04.from {
        margin-right: 12px
    }

    .form-style .tableContact .note04 i {
        min-width: 36px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .tableContact .note04 {
        margin: 0 0 0 3px
    }
}

.form-style .tableContact .note05 {
    display: inline-block;
    vertical-align: middle;
    padding: 0 14px 0 7px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .tableContact .note05 {
        padding: 0 9px 0 4px
    }

    .form-style .tableContact .note05.last {
        padding-right: 0
    }
}

.form-style .tableContact select {
    position: relative;
    border: 1px solid #949AA3;
    padding: 19px 20px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

.form-style .tableContact textarea {
    height: 225px
}

.form-style .tableContact textarea#ct_area {
    height: 108px
}

.form-style .tableContact textarea#station {
    height: 230px
}

.form-style .seclectBox1 {
    display: inline-block;
    position: relative
}

.form-style .seclectBox1:after {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    width: 0;
    margin: -8px 0 0 0;
    background: url(../img/common/icon/icn_seclect.svg) no-repeat center center;
    background-size: 7px 15px;
    z-index: 99;
    width: 7px;
    height: 15px
}

.form-style .seclectBox1.size01 {
    width: 93px
}

.form-style .seclectBox1.size02 {
    width: 190px
}

.form-style .seclectBox1.size03 {
    width: 80px
}

.form-style .seclectBox1.size04 {
    width: 153px
}

@media (max-width: 960px) {
    .form-style .seclectBox1.size04 {
        width: 100px
    }
}

.form-style .seclectBox1.size05 {
    width: 100%
}

.form-style .seclectBox1.date {
    margin: 0 0 0 5px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .seclectBox1.date {
        margin: 0 0 0 10px
    }

    .form-style .seclectBox1:before,
    .form-style .seclectBox1:after {
        right: 20px
    }

    .form-style .seclectBox1.size01 {
        width: 111px
    }

    .form-style .seclectBox1.size02 {
        width: 194px
    }

    .form-style .seclectBox1.size03 {
        width: 75px
    }

    .form-style .seclectBox1.size04 {
        width: 113px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .form-style .seclectBox1.size04 {
        width: 103px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {

    .form-style .seclectBox1:before,
    .form-style .seclectBox1:after {
        right: 12px
    }

    .form-style .seclectBox1.size03 {
        width: 63px
    }

    .form-style .seclectBox1.size04 {
        width: 85px
    }
}

.form-style .tableContact .pRadio {
    display: inline-block;
    vertical-align: middle
}

.form-style .tableContact .pRadio input {
    position: absolute;
    opacity: 0
}

.form-style .tableContact .pRadio label {
    display: inline-block;
    margin: 0 5px 0 0;
    border: 1px solid #949AA3;
    padding: 19px 20px;
    color: #2A2C2E;
    font-size: 15px;
    font-size: 1.5rem
}

.form-style .tableContact .pRadio input:checked~label {
    background: #555;
    border-color: #555;
    color: #fff
}

.form-style .box-zip .dIB {
    display: inline-block;
    vertical-align: middle;
    margin: 0 22px 0 0
}

@media (max-width: 1060px) {
    .form-style .box-zip .dIB {
        margin: 0 12px 0 0
    }
}

.form-style .box-zip .d_zip {
    display: inline-block;
    width: calc(100% - 43px);
    vertical-align: middle
}

@media (max-width: 1060px) {
    .form-style .box-zip .note03 {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 0 0 0 10px
    }
}

.form-style .box-zip input {
    width: 210px
}

@media (max-width: 1060px) {
    .form-style .box-zip input {
        width: 165px
    }
}

@media (max-width: 900px) {
    .form-style .box-zip input {
        width: 165px
    }
}

.form-style .list_raido1 li {
    display: inline-block;
    margin: 0 35px 0 0
}

.form-style .list_raido2 {
    margin: 14px 0 0 0
}

.form-style .list_raido2 li {
    display: inline-block;
    margin: 0 35px 0 0
}

.form-style .list_raido2 li:last-child {
    margin: 0
}

.form-style .list_checkbox1 {
    margin-bottom: 40px;
    display: block
}

.form-style .list_checkbox2 {
    margin: 0;
    font-size: 0
}

.form-style .list_checkbox2 li {
    font-size: 16px;
    font-size: 1.6rem;
    display: inline-block;
    margin: 0 25px 11px 0
}

@media (max-width: 1100px) {
    .form-style .list_checkbox2 li {
        margin: 0 18px 11px 0
    }
}

.form-style .list_checkbox2 li:last-child {
    margin: 0
}

.form-style .list_checkbox3 {
    font-size: 0;
    margin: 0
}

.form-style .list_checkbox3 li {
    font-size: 16px;
    font-size: 1.6rem;
    display: inline-block;
    margin: 0 47px 11px 0
}

.form-style .list_checkbox3 li:last-child {
    margin: 0
}

.form-style .mod_checkbox-other {
    margin-bottom: 18px
}

.form-style .mod_checkbox-other span {
    margin: 0 0 0 20px;
    font-size: 14px;
    font-size: 1.4rem
}

.form-style .mod_checkbox-other span small {
    font-size: 11px;
    font-size: 1.1rem
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .form-style .checkStyle.mod_checkbox2 label {
        padding: 0 0 0 26px
    }

    .form-style .checkStyle.mod_checkbox2 label:after {
        top: 1px;
        left: 0
    }

    .form-style .checkStyle.mod_checkbox2 input[type='checkbox']:checked+label:before {
        left: 4px;
        top: 1px
    }
}

.form-style .form-term {
    margin-bottom: 65px
}

.form-style .form-term .ttl {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 20px
}

.form-style .form-term p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8
}

.form-style .form-term a {
    color: #818161
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .form-style .form-term a:hover {
        text-decoration: underline
    }
}

.form-style .agree {
    text-align: center;
    font-size: 17px;
    font-size: 1.7rem;
    margin: 65px auto 23px
}

.form-style .form-guide {
    font-size: 13px;
    font-size: 1.3rem;
    margin: 75px 0 30px;
    text-align: center
}

.form-style .btn-submit:disabled,
.form-style .btn-submit[disabled] {
    pointer-events: none
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {

    .form-style .btn-submit:disabled:hover,
    .form-style .btn-submit[disabled]:hover {
        color: graytext;
        background: none;
        border-color: #949AA3
    }

    .form-style .btn-submit:disabled:hover:after,
    .form-style .btn-submit[disabled]:hover:after {
        border-left: 1px solid #2A2C2E;
        border-top: 1px solid #2A2C2E
    }
}

.form-style .input-text:disabled,
.form-style .input-text[disabled] {
    color: graytext;
    background: none;
    border-color: #949AA3;
    opacity: 0.5
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .cmn-title {
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: .1em
    }

    .form-style .tableContact select {
        padding: 19px 10px
    }

    .form-style .tableContact textarea {
        height: 180px
    }

    .form-style .tableContact textarea#ct_area {
        height: 180px
    }

    .form-style .tableContact textarea#station {
        height: 180px
    }

    .form-style .form-term {
        margin-bottom: 40px
    }

    .form-style .form-term .ttl {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 5px
    }

    .form-style .form-term p {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.9
    }

    .form-style .agree {
        font-size: 16px;
        font-size: 1.6rem;
        margin: 36px auto 5px
    }

    .form-style .agree input[type="checkbox"] {
        margin: 0 7px 4px 0
    }

    .form-style .form-guide {
        font-size: 12px;
        font-size: 1.2rem;
        margin: 10px 0 20px;
        line-height: 1.4
    }

    .form-style .box-zip .dIB {
        margin: 0 14px 0 0
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
(max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .box-zip .dIB {
        margin: 0 8px 0 0
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
(max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .box-zip .d_zip {
        width: calc(100% - 30px)
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .box-zip .note03 {
        max-width: calc(100% - 170px);
        font-size: 13px;
        font-size: 1.3rem;
        padding: 0 0 0 14px
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
(max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .form-style .box-zip .note03 {
        max-width: calc(100% - 140px)
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
(max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .box-zip .note03 {
        max-width: calc(100% - 135px);
        padding: 0 0 0 8px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .box-zip input {
        width: 164px
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
(max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .form-style .box-zip input {
        width: 135px
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
(max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .box-zip input {
        width: 130px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .list_raido1 li {
        margin: 0 29px 0 0
    }

    .form-style .list_raido2 {
        margin: 0
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
(max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .list_raido2 li {
        margin: 0 30px 0 0
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .list_checkbox1 {
        margin-bottom: 0
    }

    .form-style .list_checkbox1 li {
        margin-bottom: 12px
    }

    .form-style .list_checkbox2 li {
        display: inline-block;
        margin: 0 12px 16px 0;
        min-width: 107px
    }

    .form-style .list_checkbox2 li:nth-child(3n) {
        margin: 0 0 16px
    }

    .form-style .list_checkbox2 li:last-child {
        margin: 0
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
(max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .form-style .list_checkbox2 li {
        min-width: 106px;
        margin: 0 5px 12px 0
    }

    .form-style .list_checkbox2 li:nth-child(3n) {
        margin: 0 0 12px
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
(max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .list_checkbox2 li {
        min-width: 105px;
        margin: 0 10px 12px 0
    }

    .form-style .list_checkbox2 li:nth-child(3n) {
        margin: 0 10px 12px 0
    }

    .form-style .list_checkbox2 li:nth-child(2n) {
        margin: 0 0 12px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .list_checkbox3 {
        margin: 0 -8px
    }

    .form-style .list_checkbox3 li {
        display: inline-block;
        margin: 0 0 16px;
        padding: 0 8px;
        min-width: 173px
    }

    .form-style .list_checkbox3 li:last-child {
        margin: 0
    }
}

@media (max-width: 896px) and (orientation: landscape) and (max-width: 320px),
(max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .form-style .list_checkbox3 li {
        min-width: 150px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-style .checkStyle.mod_checkbox-other {
        display: inline-block;
        margin-bottom: 6px
    }

    .form-style .checkStyle.mod_checkbox-other label {
        width: 107px
    }

    .form-style .checkStyle.mod_checkbox-other .txt_other {
        display: block;
        margin: 22px 0 0 0
    }
}

@media (max-width: 360px) {
    .form-style .form-guide {
        font-size: 11px;
        font-size: 1.1rem
    }
}

@media (max-width: 340px) {
    .form-style .form-guide {
        font-size: 10px;
        font-size: 1rem
    }
}

.checkStyle {
    display: block
}

.checkStyle input {
    position: absolute;
    width: 1px;
    visibility: hidden;
    opacity: 0
}

.checkStyle label {
    position: relative;
    line-height: 18px;
    padding-left: 26px;
    display: inline-block;
    cursor: pointer;
    letter-spacing: .12em
}

.checkStyle label:after {
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    border: 1px solid #666955;
    top: 1px;
    left: 0;
    background: #fff
}

.checkStyle input[type='checkbox']:checked+label:before {
    content: "";
    position: absolute;
    left: 4px;
    top: 2px;
    width: 7px;
    height: 10px;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    -moz-transform: rotate(-135deg) skew(0deg, 0deg);
    -webkit-transform: rotate(-135deg) skew(0deg, 0deg);
    -ms-transform: rotate(-135deg) skew(0deg, 0deg);
    transform: rotate(-135deg) skew(0deg, 0deg);
    z-index: 2
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .checkStyle input[type='checkbox']:checked+label:before {
        top: 0
    }
}

@-moz-document url-prefix() {
    .checkStyle input[type='checkbox']:checked+label:before {
        top: 0
    }
}

.checkStyle input[type='checkbox']:checked+label:after {
    background: #818161
}

.checkStyle.mod_checkbox1 input[type='checkbox']:checked+label:before {
    left: 14px;
    top: 16px
}

.checkStyle.mod_checkbox1 label {
    padding: 15px 10px 16px 36px
}

.checkStyle.mod_checkbox1 label:after {
    top: 16px;
    left: 10px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .checkStyle label {
        line-height: 20px;
        padding-left: 27px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0em
    }

    .checkStyle label:after {
        width: 18px;
        height: 18px;
        top: 1px
    }

    .checkStyle input[type='checkbox']:checked+label:before {
        left: 6px;
        top: 2px;
        height: 12px;
        width: 7px
    }

    .checkStyle.mod_checkbox1 input[type='checkbox']:checked+label:before {
        left: 20px;
        top: 18px
    }

    .checkStyle.mod_checkbox1 label {
        padding: 13px 10px 14px 40px;
        width: 100%;
        border: 1px solid #949AA3;
        letter-spacing: 0em;
        line-height: 1.7
    }

    .checkStyle.mod_checkbox1 label:after {
        top: 17px;
        left: 14px
    }

    .checkStyle.mod_checkbox1 input[type='checkbox']:checked+label {
        background: #BEC1AB;
        border: 1px solid #BEC1AB
    }
}

.raidoStyle {
    display: block
}

.raidoStyle input {
    position: absolute;
    width: 1px;
    visibility: hidden;
    opacity: 0
}

.raidoStyle label {
    position: relative;
    line-height: 18px;
    padding-left: 26px;
    display: inline-block;
    cursor: pointer;
    letter-spacing: .1em
}

.raidoStyle label:after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border: 1px solid #666955;
    top: 1px;
    left: 0;
    background: #fff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .raidoStyle label:after {
        top: -2px
    }
}

@-moz-document url-prefix() {
    .raidoStyle label:after {
        top: 0
    }
}

.raidoStyle input[type='radio']:checked+label:after {
    border: 5px solid #666955
}

@media only screen and (max-width: 767px) {
    .raidoStyle label {
        line-height: 20px;
        padding-left: 31px
    }

    .raidoStyle label:after {
        top: 2px
    }

    .raidoStyle input[type='checkbox']:checked+label:before {
        left: 6px;
        top: 2px;
        height: 12px;
        width: 7px
    }
}

.form-box.bg-gray03 {
    padding: 56px 48px
}

.form-box.bg-gray03 .bg-wh {
    background: #fff;
    padding: 65px 40px
}

@media (max-width: 1160px) {
    .form-box.bg-gray03 {
        padding: 45px 30px
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .form-box.bg-gray03 {
        padding: 0 0 48px 0
    }

    .form-box.bg-gray03 .bg-wh {
        padding: 37px 0 27px 0
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .step2 .header {
        padding-top: 35px
    }
}

.step2 .sec-page-heading {
    height: 105px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .step2 .sec-page-heading {
        height: 65px
    }

    .step2 .sec-page-heading .wcm {
        padding-top: 0
    }
}

.step2 .sec-page-heading .ttl-page {
    text-indent: -99999px
}

.step2 .sec-page-heading .crimson {
    text-indent: -99999px
}

.step2 .contents {
    padding: 2px 0 87px
}

.step2 .form-style .tableContact {
    margin: 0 0 25px
}

.step2 .form-style .tableContact th {
    padding: 31px 0;
    border-bottom: 1px solid #DFE2E6;
    line-height: 2.6
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .step2 .form-style .tableContact th {
        width: 280px
    }
}

.step2 .form-style .tableContact td {
    border-bottom: 1px solid #DFE2E6;
    line-height: 2.6;
    padding: 26px 0
}

.step2 .form-style .tableContact.top-formEvent {
    margin: 65px 0 0 0
}

.step2 .btn-back-his {
    margin-bottom: 30px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .step2 .header .main-header {
        padding: 13px 15px 0
    }

    .step2 .contents {
        padding: 0 0 30px 0
    }

    .step2 .form-style .tableContact {
        margin: 2px 0 25px
    }

    .step2 .form-style .tableContact th {
        padding: 15px 0 0 0;
        border-bottom: 0;
        font-weight: bold;
        line-height: 1.9
    }

    .step2 .form-style .tableContact td {
        border-bottom: 1px solid #DFE2E6;
        line-height: 1.9;
        padding: 8px 0 15px
    }

    .step2 .form-style .tableContact.top-formEvent {
        margin: 30px 0 0
    }

    .step2 .form-style .tableContact.top-formEvent th {
        padding: 0 0 5px;
        border-bottom: 0
    }

    .step2 .form-style .tableContact.top-formEvent td {
        line-height: 1.8;
        padding: 0 0 17px
    }

    .step2 .btn-back-his {
        margin-bottom: 13px
    }
}

.step3 .contents {
    padding: 1px 0 87px
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .step3 .contents {
        padding: 0 0 10px
    }
}

.containerIndexThx {
    text-align: center
}

.containerIndexThx p {
    letter-spacing: .05em;
    margin-bottom: 45px;
    line-height: 2.2
}

.containerIndexThx .cmn-title {
    margin: 67px 0 50px
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .containerIndexThx a:hover {
        text-decoration: underline;
        opacity: 0.5
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .containerIndexThx p {
        letter-spacing: .01em;
        margin-bottom: 35px;
        text-align: left;
        line-height: 2.2
    }

    .containerIndexThx .cmn-title {
        text-align: left;
        line-height: 1.8;
        margin: 33px 0 15px
    }
}

.ttl_confirm {
    background: #EBEDF0;
    padding: 8px 15px;
    font-size: 17px;
    font-size: 1.7rem;
    margin-bottom: 13px;
    margin-top: 20px;
    line-height: 1.5
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .ttl_confirm {
        margin-bottom: 10px;
        margin-top: 18px;
        padding: 8px 10px
    }
}

.ttl_confirm:first-child {
    margin-top: 0
}

.templ-form.step1 .header .header-block,
.templ-form.step2 .header .header-block {
    display: none
}

.templ-form.step1 .header .main-header,
.templ-form.step2 .header .main-header {
    margin: auto;
    text-align: center
}

.templ-form.step1 .header .header-logo,
.templ-form.step2 .header .header-logo {
    margin: auto
}

.templ-form.step1 .header .btn-mail,
.templ-form.step1 .header .btn-menu,
.templ-form.step2 .header .btn-mail,
.templ-form.step2 .header .btn-menu {
    display: none
}

.templ-form.step2 .header-logo a {
    pointer-events: none
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    .form-style .tableContact .line01:before {
        top: 13px
    }

    .checkStyle label {
        line-height: 20px
    }

    .checkStyle label:after {
        top: -1px
    }

    .form-style .tableContact em,
    .form-style .txtContact em {
        line-height: 32px
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    body {
        position: static !important;
        top: auto !important;
        width: auto !important
    }

    .js-phone {
        cursor: default;
        pointer-events: none
    }

    .navigation {
        display: none !important;
        height: auto !important
    }
}

@-webkit-keyframes slideDown {
    0% {
        -webkit-transform: translateY(-101%);
        -ms-transform: translateY(-101%);
        transform: translateY(-101%)
    }

    100% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        background: #fff
    }
}

@keyframes slideDown {
    0% {
        -webkit-transform: translateY(-101%);
        -ms-transform: translateY(-101%);
        transform: translateY(-101%)
    }

    100% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        background: #fff
    }
}

.header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%
}

.header:not(.header-fixed) .main-header.off {
    display: none
}

.header:not(.header-fixed) .header-button a {
    background: #fff;
    margin-bottom: 12px
}

.header:not(.header-fixed) .header-logo .off {
    opacity: 0;
    display: none
}

.header.header-fixed {
    position: fixed;
    color: #2A2C2E;
}

.header.header-fixed .header-menu a {
    color: #2A2C2E
}

.header.header-fixed .header-txt {
    display: none
}

.header.header-fixed .header-logo .on {
    display: none
}

.header.header-fixed .header-logo .off {
    opacity: 1;
    display: block
}

.header.header-fixed .header-button {
    margin-top: 10px
}

.header .header-logo {
    font-size: 100%;
    width: 216px;
    margin-left: 23px
}

.header .header-logo img {
    width: 100%
}

.header-txt {
    margin: -12px 0 2px;
    padding: 0 81px;
    color: #fff;
    font-size: 11px;
    font-size: 1.1rem
}

.header-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    max-height: 62px
}

.header-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    padding-top: 18px
}

.header-menu>li {
    margin-right: 40px
}

.header-menu a {
    color: #fff;
    font-family: "Merriweather", serif;
    font-weight: 600;
    letter-spacing: .02em;
    font-size: 14px;
    font-size: 1.4rem;
    text-transform: uppercase;
    line-height: 1.3
}

.header-menu a:hover {
    color: #000
}

.header-button {
    margin-left: 0;
    margin-top: 10px;
    width: 36px;
    border-radius: 50%
}

.header-button a {
    display: block;
    padding: 0px;
    line-height: 1.44;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #E63B26;
    color: #fff;
    font-family: "Merriweather", serif;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: .09em;
    text-align: center
}

.header-button a span {
    display: block;
    padding: 0px;
    min-height: 15px;
    background: url(../img/common/icon/icn_mail.svg) no-repeat center center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    text-indent: -999em;
    background-size: 20px auto
}

.header-search a span {
    display: block;
    padding: 0px;
    min-height: 15px;
    background: url(../img/common/ico_search.png) no-repeat center center;
    background-size: 20px auto
}

.header-search a.active span {
    background: url(../img/common/btn_close_red.jpg) no-repeat center center;
    background-size: 36px auto
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .header-button a span {
        padding-top: 0;
        padding-bottom: 1px
    }
}

.windows.firefox .header-button a {
    padding-top: 17px
}

.header-button a.catalog {
    background: #666955;
    color: #fff
}

.header-button a.catalog span {
    padding-left: 31px;
    background-image: url(../img/common/icon/icn_catalog.svg);
    background-size: 22px 15px
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .header-button a.catalog span {
        padding-bottom: 2px
    }
}

@media (min-width: 897px) and (orientation: landscape),
(min-width: 768px) and (orientation: portrait) {
    .header {
        padding-top: 5px
    }

    .header.header-fixed {
        visibility: visible;
        animation-name: slideDown;
        -webkit-animation-name: slideDown;
        animation-fill-mode: both;
        -webkit-animation-fill-mode: both;
        animation-duration: 0.5s;
        -webkit-animation-duration: 0.5s;
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s;
        height: 65px
    }

    .header-inner {
        padding: 0 27px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between
    }

    .header .btn-mail,
    .header .btn-menu {
        display: none !important
    }
}

@media (max-width: 1230px) {
    .header-button {
        margin-left: 0
    }

    .header-menu>li {
        margin-right: 30px
    }
}

@media (max-width: 1100px) {
    .header-txt {
        padding: 0 40px
    }

    .header .header-logo {
        margin-left: 0;
        width: 200px
    }

    .header-menu>li {
        margin-right: 15px
    }
}

@media (max-width: 960px) {
    .header-inner {
        padding: 0 15px
    }

    .header-txt {
        padding: 0 21px
    }

    .header .header-logo {
        width: 184px
    }

    .header-menu a {
        font-size: 13px;
        font-size: 1.3rem
    }
}

@media (max-width: 900px) {
    .header-inner {
        padding: 0 15px
    }

    .header .header-logo {
        width: 160px
    }

    .header-txt {
        padding: 0 15px
    }

    .header-button {
        width: 100px
    }

    .header-button a {
        padding: 15px 5px;
        font-size: 11px;
        font-size: 1.1rem
    }

    .header-button a span {
        padding-left: 20px;
        background-size: 16px auto
    }

    .header-button a.catalog span {
        padding-left: 24px;
        background-size: 17px 13px
    }

    .header-menu>li {
        margin-right: 10px
    }

    .header-menu a {
        font-size: 11px;
        font-size: 1.1rem
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .header {
        width: 100%;
        min-width: 320px;
        height: 52px
    }

    .header:not(.header-fixed) .header-logo {
        margin-top: 6px
    }

    .header.header-fixed .main-header {
        animation-name: slideDown;
        -webkit-animation-name: slideDown;
        animation-fill-mode: both;
        -webkit-animation-fill-mode: both;
        animation-duration: 0.5s;
        -webkit-animation-duration: 0.5s;
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s
    }

    .header.header-fixed .btn-menu {
        top: 7px;
        background-image: url(../img/common/btn_menu01.png)
    }

    .header.header-fixed .btn-mail {
        top: 7px;
        background-image: url(../img/common/btn_mail01.png)
    }

    .header .header-block {
        display: none
    }

    .header-inner {
        padding: 0
    }

    .header .main-header {
        position: relative;
        height: 52px;
        padding: 10px 15px 0
    }

    .header .header-logo {
        max-width: 140px;
        width: 60%
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 360px),
only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .header .header-logo {
        width: calc(100% - 130px);
        width: -moz-calc(100% - 130px);
        width: -webkit-calc(100% - 130px)
    }
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .header-txt {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 9px 21px 0
    }
}

.btn-menu {
    display: inline-block;
    position: absolute;
    z-index: 9800;
    top: 12px;
    right: 15px;
    width: 40px;
    height: 40px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background: url(../img/common/btn_menu.png) no-repeat center center;
    background-size: 100% 100%;
    text-indent: -9999px;
    cursor: pointer
}

.btn-menu-close {
    position: absolute;
    top: 12px;
    right: 15px;
    width: 40px;
    height: 40px
}

.btn-mail {
    display: block;
    position: absolute;
    right: 65px;
    top: 12px;
    background: url(../img/common/btn_mail.png) no-repeat center center;
    background-size: 100% 100%;
    width: 40px;
    height: 40px;
    text-indent: -9999px;
    cursor: pointer
}

@media (max-width: 896px) and (orientation: landscape),
(max-width: 767px) and (orientation: portrait) {
    .navigation {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9990;
        width: 100%;
        height: 100%;
        background: #2A2C2E;
        color: #fff;
        font-family: 'Arial', serif;
        -webkit-overflow-scrolling: touch
    }

    .navigation a {
        color: #fff
    }

    .navigation .header-logo {
        margin-top: 6px
    }

    .navigation .nav-wrap {
        position: relative;
        padding-bottom: 100px;
        height: 100%
    }

    .navigation .nav-block {
        padding: 10px 15px;
        height: 65px;
        -moz-transition: all 0.4s;
        -o-transition: all 0.4s;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        -webkit-box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.3);
        -moz-box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.3);
        -ms-box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.3);
        -o-box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.3);
        box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.3)
    }

    .navigation .nav-inner {
        position: relative;
        z-index: 9991;
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: .1em;
        background: #2A2C2E;
        color: #fff;
        overflow-y: auto;
        width: 100%;
        height: 100%;
        margin: 14px auto 0;
        padding: 0 10% 20px
    }

    .navigation .ul-nav>li {
        border-bottom: 1px solid #51555B
    }

    .navigation .ul-nav>li:last-child {
        background: none
    }

    .navigation .txt-nav {
        display: block;
        padding: 16px 6px 15px;
        line-height: 1.44
    }

    .navigation .has-sub .txt-nav {
        background: url(../img/common/expand_off.png) no-repeat right 13px center;
        background-size: 10px 10px;
        cursor: pointer
    }

    .navigation .has-sub.is-open .txt-nav {
        background-image: url(../img/common/expand_on.png)
    }

    .navigation .subnav {
        display: none;
        border-top: 1px solid #51555B
    }

    .navigation .subnav>li {
        border-bottom: 1px dotted #51555B
    }

    .navigation .subnav>li:last-child {
        border: none
    }

    .navigation .subnav a {
        display: block;
        padding: 15px 26px 13px
    }

    .navigation .nav-link {
        margin-top: 22px;
        padding: 0 5px
    }

    .navigation .nav-link a {
        display: inline-block;
        padding: 5px;
        font-size: 13px;
        font-size: 1.3rem;
        font-family: "Merriweather", serif;
        letter-spacing: .12em
    }

    .navigation .nav-link a:not(:last-child) {
        margin-right: 25px
    }

    .navigation .nav-button {
        position: absolute;
        z-index: 9992;
        bottom: 0;
        left: 0;
        display: table;
        height: 80px;
        width: 100%
    }

    .navigation .nav-button>li {
        display: table-cell;
        vertical-align: middle;
        width: 25%;
        height: 80px;
        text-align: center;
        background: #949AA3
    }

    .navigation .nav-button>li:nth-child(1) {
        background: #666955
    }

    .navigation .nav-button>li:nth-child(2) {
        background: #fff
    }

    .navigation .nav-button>li:nth-child(2) a {
        color: #2A2C2E
    }

    .navigation .nav-button>li:nth-child(2) img {
        width: 25px
    }

    .navigation .nav-button>li:nth-child(3) {
        background: #DFE2E6
    }

    .navigation .nav-button>li:nth-child(3) a {
        color: #2A2C2E
    }

    .navigation .nav-button>li:nth-child(3) img {
        width: 21px
    }

    .navigation .nav-button a {
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .05em;
        font-family: 'Arial', serif;
        line-height: 1.25
    }

    .navigation .nav-button a img {
        display: block;
        margin: 0 auto 5px;
        width: 32px;
        min-height: 32px
    }
}

@media (max-width: 360px) {
    .navigation .nav-button a {
        font-size: 11px;
        font-size: 1.1rem
    }
}

.main-slider {
    max-width: 1170px;
    margin: 0 auto 155px;
    position: relative
}

.main-slider .slick-large {
    margin: 0 auto 40px
}

.main-slider .slick-large .item-large {
    display: block !important;
    text-align: center
}

.main-slider .slick-large .item-large .img-slide {
    position: relative;
    display: inline-block
}

.main-slider .slick-large .item-large .txt-slide {
    text-align: left
}

.main-slider .slick-large .item-large img {
    display: block;
    margin: 0 auto;
    width: auto;
    max-height: 740px;
    height: auto
}

.main-slider .slick-large .item-large p {
    font-size: 15px;
    font-size: 1.5rem;
    color: #2A2C2E;
    margin-top: 25px;
    margin-bottom: 20px
}

.main-slider .slick-large:not(.slick-initialized) .item-large {
    display: none
}

.main-slider .slick-large:not(.slick-initialized) .item-large:first-child {
    display: block;
    max-width: 880px;
    margin: 0 auto;
    width: 80%
}

.main-slider .slick-large .slick-list {
    max-width: 880px;
    margin: 0 auto;
    width: 80%
}

.main-slider .slick-large .slick-next,
.main-slider .slick-large .slick-prev {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 41px 41px
}

.main-slider .slick-large .slick-next {
    background-image: url(../img/common/slide_next_gray.svg);
    right: 48px
}

.main-slider .slick-large .slick-prev {
    background-image: url(../img/common/slide_prev_gray.svg);
    left: 48px
}

.main-slider .slick-large .slick-arrow {
    z-index: 999;
    width: 41px;
    height: 41px
}

.main-slider .slick-large .slick-arrow:before {
    display: none
}

.main-slider .slick-large .slick-arrow:hover {
    opacity: 0.5;
    transition: 0.3s;
    cursor: pointer
}

.main-slider .slick-thumb:not(.slick-initialized) {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden
}

.main-slider .slick-thumb:not(.slick-initialized) .item-thumb {
    display: inline-block;
    margin-bottom: 11px;
    max-width: 182px
}

.main-slider .slick-thumb .item-thumb {
    padding: 0 11px
}

.main-slider .slick-thumb .item-thumb img {
    width: 100%
}

.main-slider .slick-thumb .slick-slide {
    opacity: 0.5
}

.main-slider .slick-thumb .slick-slide:hover {
    opacity: 1;
    transition: 0.3s;
    cursor: pointer
}

.main-slider .slick-thumb .slick-slide.slick-current {
    opacity: 1
}

.main-slider .slick-thumb .slick-arrow {
    bottom: -70px;
    top: auto;
    transform: translate(0);
    -webkit-transform: translate(0);
    -ms-transform: translate(0);
    -moz-transform: translate(0);
    width: 30px;
    height: 30px
}

.main-slider .slick-thumb .slick-arrow:before {
    display: none
}

.main-slider .slick-thumb .slick-next,
.main-slider .slick-thumb .slick-prev {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 30px 30px
}

.main-slider .slick-thumb .slick-prev {
    background-image: url(../img/common/slide_prev_white01.svg);
    left: 42%
}

.main-slider .slick-thumb .slick-next {
    background-image: url(../img/common/slide_next_white01.svg);
    right: 42%
}

.main-slider .paging-slide {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -61px;
    line-height: 1;
    font-family: 'Arial', serif;
    font-weight: 600;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 2px
}

@media only screen and (max-width: 767px) {
    .main-slider .paging-slide {
        bottom: -45px
    }
}

@media only screen and (max-width: 767px) {
    .main-slider .slick-large {
        display: none
    }

    .main-slider .slick-thumb .item-thumb {
        display: block;
        padding: 0 15px;
        position: relative;
        text-align: center
    }

    .main-slider .slick-thumb .item-thumb .img-slide {
        position: relative;
        display: inline-block
    }

    .main-slider .slick-thumb .item-thumb .img-slide .ended {
        margin: 0
    }

    .main-slider .slick-thumb .item-thumb .img-slide .ended em {
        font-size: 15px
    }

    .main-slider .slick-thumb .item-thumb img {
        max-height: 280px;
        width: auto;
        height: auto;
        margin: 0 auto
    }

    .main-slider .slick-thumb .item-thumb .ended {
        margin: 0 15px
    }

    .main-slider .slick-thumb .slick-arrow {
        width: 35px;
        height: 35px;
        bottom: -55px
    }

    .main-slider .slick-thumb .slick-next,
    .main-slider .slick-thumb .slick-prev {
        background-size: 35px 35px
    }

    .main-slider .slick-thumb .slick-prev {
        left: 15px
    }

    .main-slider .slick-thumb .slick-next {
        right: 15px
    }
}

@media only screen and (max-width: 767px) {
    .dots_box {
        margin-top: 14px;
        padding-bottom: 12px;
        overflow: scroll
    }

    .dots_box::-webkit-scrollbar {
        height: 6px;
        overflow: visible;
        width: 0
    }

    .dots_box::-webkit-scrollbar-track {
        background: #EBEDF0;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        border-radius: 30px;
        margin-right: 15px
    }

    .dots_box::-webkit-scrollbar-thumb {
        background: #51555B;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        border-radius: 30px
    }

    .dots_box::-webkit-scrollbar-thumb:hover {
        background: #51555B;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        border-radius: 30px
    }

    .dots_box .dot_sp {
        width: 800px
    }
}

.dot_sp {
    white-space: nowrap;
    font-size: 0px;
    font-size: 0rem
}

.dot_sp li {
    display: inline-block;
    width: 81px;
    margin-right: 7px;
    opacity: 0.6
}

.dot_sp li img {
    display: block
}

.dot_sp li.slick-active {
    opacity: 1
}

#main_slide_office .slick-prev {
    background: url(../img/common/slide_prev_gray.svg) no-repeat center;
    background-size: 48px 48px
}

#main_slide_office .slick-prev:before {
    display: none
}

#main_slide_office .slick-next {
    background: url(../img/common/slide_next_gray.svg) no-repeat center;
    background-size: 48px 48px
}

#main_slide_office .slick-next:before {
    display: none
}

#sub_slide_office .slick-prev {
    background: url(../img/common/slide_prev_white01.svg) no-repeat center;
    background-size: 35px 35px
}

#sub_slide_office .slick-prev:before {
    display: none
}

#sub_slide_office .slick-next {
    background: url(../img/common/slide_next_white01.svg) no-repeat center;
    background-size: 35px 35px
}

#sub_slide_office .slick-next:before {
    display: none
}

@media only screen and (min-width: 768px) {

    .slider-visible-xs .slick-dots,
    .slider-visible-xs .slick-arrow,
    .slider-visible-xs .slick-cloned {
        display: none
    }

    .slider-number {
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .slider-visible-xs {
        display: block;
        margin: 0 0 0 15px
    }

    .slider-visible-xs:not(.slick-initialized) {
        padding: 0 35% 0 0;
        white-space: nowrap;
        overflow: hidden;
        font-size: 0;
        letter-spacing: 0
    }

    .slider-visible-xs:not(.slick-initialized) .item {
        margin: 0 20px 0 0
    }

    .slider-visible-xs:not(.slick-initialized)+.slider-number {
        display: none
    }

    .slider-visible-xs .item {
        display: inline-block;
        vertical-align: top;
        padding: 0
    }

    .slider-visible-xs .slick-slide {
        margin: 0 20px 0 0
    }

    .slider-visible-xs .slick-list {
        padding: 0 35% 0 0
    }

    .slider-visible-xs .slick-arrow {
        bottom: -64px;
        top: auto;
        -webkit-transform: translate(0);
        -ms-transform: translate(0);
        transform: translate(0);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 35px 35px;
        width: 35px;
        height: 35px;
        text-indent: -9999px;
        cursor: pointer
    }

    .slider-visible-xs .slick-prev:hover,
    .slider-visible-xs .slick-prev:focus {
        background: url(../img/common/slide_prev.svg) no-repeat center;
        background-size: 35px 35px
    }

    .slider-visible-xs .slick-prev {
        left: 0;
        background-image: url(../img/common/slide_prev.svg)
    }

    .slider-visible-xs .slick-next:hover,
    .slider-visible-xs .slick-next:focus {
        background: url(../img/common/slide_next.svg) no-repeat center;
        background-size: 35px 35px
    }

    .slider-visible-xs .slick-next {
        right: 15px;
        background-image: url(../img/common/slide_next.svg)
    }

    .slider-number {
        margin-top: 41px;
        padding: 0 15%;
        font-family: 'Arial', serif;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: .3em;
        font-weight: 600;
        text-align: center
    }

    .slick-no-slide {
        display: block;
        margin: 0
    }

    .slick-no-slide .slick-list {
        padding: 0 !important
    }

    .slick-no-slide .slick-slide {
        float: none !important;
        margin: 0 !important
    }
}

.slick-loading .slick-list {
    background: #fff
}

.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25
}

.slick-prev:before,
.slick-next:before {
    font-family: "serif";
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: .75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px
}

.slick-prev:before {
    content: "←"
}

[dir="rtl"] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: -25px
}

[dir="rtl"] .slick-next {
    left: -25px;
    right: auto
}

.slick-next:before {
    content: "→"
}

[dir="rtl"] .slick-next:before {
    content: "←"
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    height: 20px;
    width: 20px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "•";
    width: 20px;
    height: 20px;
    font-family: "serif";
    font-size: 6px;
    line-height: 20px;
    text-align: center;
    color: #000;
    opacity: .25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    color: #000;
    opacity: .75
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir="rtl"] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

/*# sourceMappingURL=maps/style.min.css.map */
