@charset "UTF-8";

/**
 * Creative Net Door.
 * Basic Css Reset Formatter
 **/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*form*/
input,
button,
textarea,
select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    appearance: none;
}

::-ms-expand {
    display: none;
}

html,
body {
    width: 100%;
    min-height: 100%;
    height: auto;
}

/*
概要: ピクセルをremに変換する関数。
引数: $pixel: 変換したいピクセル
利用法: @include pxToRem(24)
*/
@media screen and (min-width: 769px) {
    .onlySp {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .onlyPc {
        display: none;
    }
}

img {
    max-width: 100%;
}

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

@media screen and (min-width: 769px) {
    .tc {
        text-align: center;
    }
}

@media screen and (max-width: 768px) {
    .tc {
        text-align: left;
    }
}

.tl {
    text-align: left;
}

.tr {
    text-align: right;
}

@media screen and (min-width: 769px) {
    .mt40 {
        margin-top: 4rem;
    }

    .pt15 {
        padding-top: 1.5rem;
    }

    .pt100 {
        padding-top: 10rem;
    }

    .pb80 {
        padding-bottom: 8rem;
    }
}

@media screen and (max-width: 768px) {
    .mt15sp {
        margin-top: 1.5rem;
    }

    .mt40 {
        margin-top: 2rem;
    }

    .pt15 {
        padding-top: 0.8rem;
    }

    .pb80 {
        padding-bottom: 3.5rem;
    }

    .pt100 {
        padding-top: 3.5rem;
    }

    .pt10sp {
        padding-top: 1rem;
    }
}

@media screen and (min-width: 769px) {
    .w1000 {
        max-width: 1000px;
        width: 100%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 768px) {
    .w1000 {
        max-width: initial;
        width: auto;
    }
}

.contentsBg {
    background: #f7f5f0;
}

/* Slider */
.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;
}

/* Slider */
.slick-loading .slick-list {
    background: #fff url('../../img/ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face {
    font-family: "slick";
    src: url("../fonts/slick.eot");
    src: url("../fonts/slick.eot?#iefix") format("embedded-opentype"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* Arrows */
.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: 0.25;
}

.slick-prev:before,
.slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.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: "←";
}

/* Dots */
.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: "slick";
    font-size: 6px;
    line-height: 20px;
    text-align: center;
    color: black;
    opacity: 0.25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    color: black;
    opacity: 0.75;
}

/* Magnific Popup CSS */
.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999998 !important;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: 0.8;
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999 !important;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden;
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
}

.mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
    display: none;
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto;
}

.mfp-ajax-cur {
    cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
}

.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
    cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.mfp-loading.mfp-figure {
    display: none;
}

.mfp-hide {
    display: none !important;
}

.mfp-preloader {
    color: #CCC;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044;
}

.mfp-preloader a {
    color: #CCC;
}

.mfp-preloader a:hover {
    color: #FFF;
}

.mfp-s-ready .mfp-preloader {
    display: none;
}

.mfp-s-error .mfp-content {
    display: none;
}

button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    touch-action: manipulation;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: #FFF;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
    opacity: 1;
}

.mfp-close:active {
    top: 1px;
}

.mfp-close-btn-in .mfp-close {
    color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #FFF;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%;
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #CCC;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}

.mfp-arrow {
    position: absolute;
    opacity: 0.65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
    margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
    opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
}

.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px;
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7;
}

.mfp-arrow-left {
    left: 0;
}

.mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px;
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
    right: 0;
}

.mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px;
}

.mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
    top: -40px;
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000;
}

/* Main image in popup */
img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
    line-height: 0;
}

.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444;
}

.mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px;
}

.mfp-figure figure {
    margin: 0;
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto;
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #F3F3F3;
    word-wrap: break-word;
    padding-right: 36px;
}

.mfp-image-holder .mfp-content {
    max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape),
screen and (max-height: 300px) {

    /**
       * Remove all paddings around the image on small screen
       */
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0;
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0;
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0;
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px;
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box;
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0;
    }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px;
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0;
    }
}

@media all and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }

    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0;
    }

    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%;
    }

    .mfp-container {
        padding-left: 6px;
        padding-right: 6px;
    }
}

/* overlay at start */
.mfp-bg {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out;
}

/* overlay animate in */
.mfp-bg.mfp-ready {
    opacity: 0.8;
}

/* overlay animate out */
.mfp-bg.mfp-removing {
    opacity: 0;
}

/* content at start */
.mfp-wrap .mfp-content {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out;
}

/* content animate it */
.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

/* content animate out */
.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}

html {
    font-size: 10px;
}

body {
    color: #322f25;
    background: #FFF;
    font-size: 1.4rem;
    line-height: 1.5;
    -webkit-text-size-adjust: none;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    position: relative;
}

body * {
    box-sizing: border-box;
}

body .sp {
    display: none;
}

@media screen and (max-width: 76.7rem) {
    body .pc {
        display: none;
    }

    body .sp {
        display: block;
    }
}

a {
    color: #322f25;
    text-decoration: none;
    transition: opacity 0.3s;
}

a img {
    transition: opacity 0.3s;
}

@media screen and (min-width: 76.7rem) {
    a:hover {
        opacity: 1;
    }
}

p {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/***************
pc
***************/
body img {
    display: block;
    max-width: 100%;
}

body .pc {
    display: block;
}

body .sp {
    display: none;
}

@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}

@media screen and (max-width: 76.7rem) {
    body img {
        width: 100%;
        max-width: inherit;
    }

    body .pc {
        display: none;
    }

    body .sp {
        display: block;
    }
}

/*-------------------------------------------

クリア

--------------------------------------------*/
/*floatとクリア*/
.fl {
    float: left;
}

/*左回り込み*/
.fr {
    float: right;
}

/*右回り込み*/
div.cf div.nfr {
    float: right;
    width: 50%;
}

div.cf div.nfl {
    float: right;
    width: 50%;
}

/*brなどの空要素を入れずにfloatの回り込みを解除する指定(親要素にfcbと指定)*/
.fcb {
    display: inline-block;
}

.fcb:after {
    content: ".";
    font-size: 0.1em;
    line-height: 0;
    display: block;
    height: 0;
    visibility: hidden;
    clear: both;
}

/* \*/
* html .fcb {
    height: 1%;
}

.fcb {
    display: block;
}

/* */
.clear {
    clear: both;
}

/*for clearFix*/
.cf:after {
    display: block;
    height: 0;
    visibility: hidden;
    clear: both;
    content: ".";
    overflow: hidden;
    font-size: 0.1em;
    line-height: 0;
}

/* 追加 MacIE 5 と WinIE 7 向け */
.cf {
    display: inline-block;
}

/*MacIE \*/
* html .cf {
    height: 1em;
}

.cf {
    display: block;
}

body {
    position: relative;
    letter-spacing: 0.2rem;
    font-family: 'Noto Sans JP', sans-serif;
    color: #322f25;
}

/***********************************************************

 header

***********************************************************/
@media screen and (min-width: 768px) {
    body.short header {
        height: 10rem;
        transition: all 0.3s ease;
    }

    body.short header .siteLogo {
        width: 17.8rem;
        min-width: 17.8rem;
        max-width: 17.8rem;
        padding: 0.8rem 0;
    }

    body.short header .headerInner .topMenu ul li a {
        height: 5rem;
        transition: all 0.3s ease;
    }

    body.short header .headerInner .topMenu ul li.access {
        font-size: 1.6rem;
    }

    body.short header .headerInner .topMenu ul li.access a {
        padding: 0 3rem;
    }

    body.short header .headerInner .topMenu ul li.access a::before {
        content: "";
        display: block;
        background: url("../img/header_access.svg") left center no-repeat;
        background-size: 100% auto;
        width: 1.8rem;
        height: 2.4rem;
    }

    body.short header .headerInner .topMenu ul li.tel {
        font-size: 1.8rem;
        text-align: center;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    body.short header .headerInner .topMenu ul li.tel a {
        padding: 0 2rem;
    }

    body.short header .headerInner .topMenu ul li.tel a::before {
        content: "";
        display: block;
        background: url("../img/header_tel.svg") left center no-repeat;
        background-size: 100% auto;
        width: 2.3rem;
        height: 2.3rem;
    }

    body.short header .headerInner .topMenu ul li.contact {
        font-size: 1.6rem;
    }

    body.short header .headerInner .topMenu ul li.contact a {
        padding: 0 3.5rem;
    }

    body.short header .headerInner .topMenu ul li.contact a::before {
        content: "";
        display: block;
        background: url("../img/header_mail.svg") left center no-repeat;
        background-size: 100% auto;
        width: 2.3rem;
        height: 1.8rem;
        margin-right: 1.3rem;
    }

    body.short header nav ul {
        padding: 1.4rem 0;
    }

    body.short header nav ul li a {
        font-size: 1.4rem;
    }

    body.short header nav ul li .moreBox {
        position: absolute;
        top: 49px;
        -webkit-transition: all 0.3s ease;
    }

    body.short header nav ul.snsBtn {
        max-width: 23rem;
        padding: 1rem 1rem 1rem 0;
    }

    body.short header nav .callout01 {
        padding: 40px 0;
    }

    body.short header nav .callout02 {
        padding: 40px 0;
    }
}

_:-ms-fullscreen,
:root body.short .siteLogo a img {
    width: 178px;
    height: 31px;
}

_:-ms-fullscreen,
:root body.short header .headerInner .topMenu ul li.access a::before {
    background-size: 18px 24px;
}

_:-ms-fullscreen,
:root body.short header .headerInner .topMenu ul li.tel a::before {
    background-size: 23px 23px;
}

_:-ms-fullscreen,
:root body.short header .headerInner .topMenu ul li.contact a::before {
    background-size: 23px 18px;
}

@supports (-ms-ime-align: auto) {
    body.short header .siteLogo a img {
        width: 178px;
        height: 31px;
    }
}

@supports (-ms-ime-align: auto) {
    body.short header .headerInner .topMenu ul li.access a::before {
        background-size: 18px 24px;
    }
}

@supports (-ms-ime-align: auto) {
    body.short header .headerInner .topMenu ul li.tel a::before {
        background-size: 23px 23px;
    }
}

@supports (-ms-ime-align: auto) {
    body.short header .headerInner .topMenu ul li.contact a::before {
        background-size: 23px 18px;
    }
}

@media screen and (min-width: 49em) {
    header {
        height: 12rem;
        width: 100%;
        position: fixed;
        left: 0;
        top: 0;
        padding: 0;
        background-color: #fff;
        z-index: 5;
        transition: all 0.3s ease;
    }

    header .headerWrap {
        border-bottom: 1px solid #f3f3f3;
        width: 100%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    header .headerInner {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: stretch;
        flex-direction: row;
        width: 100%;
        padding: 0 0 0 3rem;
    }

    header .headerInner .topMenu {
        width: 100%;
    }

    header .headerInner .topMenu ul {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-items: center;
        flex-direction: row;
    }

    header .headerInner .topMenu ul a {
        transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
    }

    header .headerInner .topMenu ul li a {
        display: block;
        height: 6rem;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        flex-direction: row;
        width: 100%;
    }

    header .headerInner .topMenu ul li.text {
        padding: 0 1.5rem;
    }

    header .headerInner .topMenu ul li.text a {
        font-size: 1.2rem;
        text-align: center;
        transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
    }

    header .headerInner .topMenu ul li.text a:hover {
        opacity: 0.75;
    }

    header .headerInner .topMenu ul li.access {
        border-left: 1px solid #f3f3f3;
        border-right: 1px solid #f3f3f3;
        font-size: 1.8rem;
        text-align: center;
    }

    header .headerInner .topMenu ul li.access a {
        padding: 0 3.8rem;
        transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
    }

    header .headerInner .topMenu ul li.access a::before {
        content: "";
        display: block;
        background: url("../img/header_access.svg") left center no-repeat;
        background-size: 100% auto;
        width: 2.1rem;
        height: 2.9rem;
        margin-right: 1rem;
    }

    header .headerInner .topMenu ul li.access a:hover {
        background: #f7f5f0;
    }

    header .headerInner .topMenu ul li.tel {
        font-size: 2.2rem;
        text-align: center;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    header .headerInner .topMenu ul li.tel a {
        padding: 0 3.6rem;
        transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
    }

    header .headerInner .topMenu ul li.tel a::before {
        content: "";
        display: block;
        background: url("../img/header_tel.svg") left center no-repeat;
        background-size: 100% auto;
        width: 2.8rem;
        height: 2.8rem;
        margin-right: 1rem;
    }

    header .headerInner .topMenu ul li.contact {
        font-size: 2rem;
        text-align: center;
    }

    header .headerInner .topMenu ul li.contact a {
        background: #dc0040;
        color: #fff;
        padding: 0 3.8rem;
        transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
    }

    header .headerInner .topMenu ul li.contact a::before {
        content: "";
        display: block;
        background: url("../img/header_mail.svg") left center no-repeat;
        background-size: 100% auto;
        width: 2.9rem;
        height: 2.3rem;
        margin-right: 1rem;
    }

    header .headerInner .topMenu ul li.contact a:hover {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background: #cdad58;
    }
}

_:-ms-fullscreen,
:root header .headerInner .topMenu ul li.access a::before {
    background-size: 21px 29px;
}

_:-ms-fullscreen,
:root header .headerInner .topMenu ul li.tel a::before {
    background-size: 28px 28px;
}

_:-ms-fullscreen,
:root header .headerInner .topMenu ul li.contact a::before {
    background-size: 29px 23px;
}

@supports (-ms-ime-align: auto) {
    header .headerInner .topMenu ul li.access a::before {
        background-size: 21px 29px;
    }
}

@supports (-ms-ime-align: auto) {
    header .headerInner .topMenu ul li.tel a::before {
        background-size: 28px 28px;
    }
}

@supports (-ms-ime-align: auto) {
    header .headerInner .topMenu ul li.contact a::before {
        background-size: 29px 23px;
    }
}

@media screen and (max-width: 768px) {
    header {
        transition: none;
    }
}

@media (max-width: 1100px) and (min-width: 769px) {
    header .headerInner .topMenu ul li.text {
        padding: 0 0.8rem;
    }

    header .headerInner .topMenu ul li.access a {
        padding: 0 1.8rem;
    }

    header .headerInner .topMenu ul li.tel a {
        padding: 0 0.8rem;
    }

    header .headerInner .topMenu ul li.contact a {
        padding: 0 1.8rem;
    }
}

@media screen and (min-width: 769px) {
    header .siteLogo {
        /*
    padding-bottom: 1rem;
    width: 25.4rem;
    min-width: 25.4rem;
    transition: all 0.3s ease;
    */
        transition: all 0.3s ease;
        width: 22rem;
        min-width: 22rem;
        max-width: 22rem;
        padding: 1rem 0;
    }
}

@media screen and (max-width: 768px) {
    header .siteLogo {
        transition: none;
    }
}

header .siteLogo a img {
    transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
}

@media screen and (max-width: 768px) {
    header .siteLogo a img {
        transition: none;
    }
}

header .menuBtn {
    display: none;
}

header nav {
    position: relative;
    width: 100%;
    transition: all 0.3s ease;
}

header nav .menuLogo {
    display: none;
}

header nav ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    width: 100%;
    padding: 1.8rem 0;
    transition: all 0.3s ease;
}

header nav ul li {
    padding: 0 3rem;
}

header nav ul li a {
    font-size: 1.6rem;
    transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
}

header nav ul li.menuMore ul {
    display: none;
}

header nav ul.snsBtn {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 27rem;
    justify-content: flex-end;
    padding: 1.45rem 1rem 1.45rem 0;
}

header nav ul.snsBtn li {
    padding: 0 1rem;
}

header nav ul.snsBtn li img {
    max-width: 31px;
}

header nav ul.snsBtn li a:hover img {
    opacity: 0.75;
}

header nav a.nvbtn {
    position: relative;
}

/*
header nav a.nvbtn::after{
  position: absolute;
  bottom: -5px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #b7193f;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
  z-index: 10;
}
*/
header nav a:hover {
    opacity: 1;
    text-decoration: none;
    color: #cdad58;
}

header nav a.nvbtn:hover::after {
    transform: scale(1, 1);
}

/*
header nav.openBlock01 .nv01{
  position: relative;
  display: block;
  width: 100%;
}
header nav.openBlock01 .more{
  z-index: 999999;
}
header nav.openBlock01 .nv01::after{
  content: "";
  background: url(../img/callout.svg) left top no-repeat;
  position: absolute;
  width: 14px;
  height: 10px;
  bottom: -27px;
  left: 30px;
  z-index: 9999999;
}
// ご利用案内
header nav.openBlock02 .nv02 {
  position: relative;
  display: block;
  width: 100%;
}
header nav.openBlock02 .more{
  z-index: 9999;
}
header nav.openBlock02 .nv02::after{
  content: "";
  background: url(../img/callout.svg) left top no-repeat;
  position: absolute;
  width: 14px;
  height: 10px;
  bottom: -27px;
  left: 30px;
  z-index: 99999;
}
*/
header nav ul li .moreBox {
    position: absolute;
    top: 59px;
    left: 0%;
    z-index: 10;
    width: 100%;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background-color: rgba(243, 243, 243, 0.9);
    padding: 0;
    box-sizing: border-box;
    text-align: center;
    visibility: hidden;
    opacity: 0;
}

header li:hover .moreBox {
    visibility: visible;
    transition: all 0.3s ease;
    opacity: 1;
}

header li .moreBox ul {
    margin: 0 auto;
}

header li .moreBox ul li {
    padding: 0;
}

header li .moreBox ul li a {
    display: block;
}

header li .moreBox ul li a:hover {
    color: #474645;
    opacity: 0.75;
}

header nav .callout01 {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    background: url(../img/callout.svg) 15.5% top no-repeat;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
    padding: 40px 0;
    text-align: left !important;
}

body.short header nav .callout01 {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    background: url(../img/callout.svg) 18% top no-repeat;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
    padding: 40px 0;
    text-align: left !important;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    header nav .callout01 {
        max-width: 1100px;
        width: 100%;
        margin: 0 auto;
        background: url(../img/callout.svg) 12.5% top no-repeat;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-around;
        padding: 40px 0;
        text-align: left !important;
    }

    body.short header nav .callout01 {
        max-width: 1100px;
        width: 100%;
        margin: 0 auto;
        background: url(../img/callout.svg) 14.5% top no-repeat;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-around;
        padding: 40px 0;
        text-align: left !important;
    }
}

header li .moreBox ul.callout01 li {
    width: 22rem;
    padding-right: 2rem;
}

header li .moreBox ul.callout01 li:last-of-type {
    width: 13.9rem;
    padding-right: 0 !important;
}

header li .moreBox ul.callout01 li img {
    height: 13.9rem;
}

header li .moreBox ul.callout01 .megaHall {
    padding-top: 1.2rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 1.4rem;
    line-height: 100%;
    position: relative;
    display: inline-block;
    text-align: left !important;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

header li .moreBox ul.callout01 .megaHall::after {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: absolute;
    top: 55%;
    right: -1rem;
    content: '';
    width: 6px;
    height: 8px;
    background-image: url(../img/arrow02.svg);
    background-size: contain;
    vertical-align: middle;
}

header li .moreBox ul.callout01 a:hover .megaHall:after {
    right: -1.2rem;
}

header li .moreBox ul.callout01 li:last-of-type p {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.1em;
}

header nav .callout02 {
    max-width: 1100px;
    width: 100%;
    background: url(../img/callout.svg) 41% top no-repeat;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    padding: 40px 0;
}

body.short header nav .callout02 {
    max-width: 1100px;
    width: 100%;
    background: url(../img/callout.svg) 41% top no-repeat;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    padding: 40px 0;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    header nav .callout02 {
        max-width: 1100px;
        width: 100%;
        background: url(../img/callout.svg) 40.2% top no-repeat;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        padding: 40px 0;
    }

    body.short header nav .callout02 {
        max-width: 1100px;
        width: 100%;
        background: url(../img/callout.svg) 40% top no-repeat;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        padding: 40px 0;
    }
}

header li .moreBox ul.callout02 li a {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    font-size: 1.4rem;
}

header li .moreBox ul.callout02 .megaIcon {
    width: 60px;
}

header li .moreBox ul.callout02 .firstText {
    padding-left: 1.4rem;
}

header li .moreBox ul.callout02 .megaIcon img {
    width: 60px;
    vertical-align: middle;
}

header li .moreBox ul.callout02 .megaIcon.img02 img {
    width: 44px;
    vertical-align: middle;
}

header li .moreBox ul.callout02 .megaIcon.img03 img {
    width: 36px;
    vertical-align: middle;
}

header li .moreBox ul.callout02 .smallMenu {
    margin: -0.4rem 0 0 0;
}

header li .moreBox ul.callout02 .smallMenu .megaText {
    font-size: 1.2rem;
    padding-left: 0rem;
}

header li .moreBox ul.callout02 .smallMenu .megaIcon {
    width: 60px;
}

header li .moreBox ul.callout02 .smallMenu .megaIcon img {
    width: 46px;
    vertical-align: middle;
}

@media (max-width: 1190px) and (min-width: 769px) {
    header {
        transition: all 0.3s ease;
    }

    header .siteLogo {
        width: 20rem;
        min-width: 20rem;
        max-width: 20rem;
    }

    header .headerInner .topMenu ul li a {
        height: 5rem;
        transition: all 0.3s ease;
        height: 6rem !important;
    }

    header .headerInner .topMenu ul li.access {
        font-size: 1.1vw;
    }

    header .headerInner .topMenu ul li.access a {
        padding: 0 1.6rem;
    }

    header .headerInner .topMenu ul li.access a::before {
        content: "";
        display: block;
        background: url("../img/header_access.svg") left center no-repeat;
        background-size: 100% auto;
        width: 1.8rem;
        height: 2.4rem;
    }

    header .headerInner .topMenu ul li.tel {
        font-size: 1.6vw;
        text-align: center;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    header .headerInner .topMenu ul li.tel a {
        padding: 0 1.1rem;
    }

    header .headerInner .topMenu ul li.tel a::before {
        content: "";
        display: block;
        background: url("../img/header_tel.svg") left center no-repeat;
        background-size: 100% auto;
        width: 2.3rem;
        height: 2.3rem;
    }

    header .headerInner .topMenu ul li.contact {
        font-size: 1.4vw;
    }

    header .headerInner .topMenu ul li.contact a {
        padding: 0 1.8rem;
    }

    header .headerInner .topMenu ul li.contact a::before {
        content: "";
        display: block;
        background: url("../img/header_mail.svg") left center no-repeat;
        background-size: 100% auto;
        width: 2.3rem;
        height: 1.8rem;
        margin-right: 1.3rem;
    }

    header nav ul {
        padding: 1.8rem 17vw 1.8rem 0;
    }

    header nav ul li {
        padding: 0 2vw;
    }

    header nav ul li a {
        font-size: 1.6vw;
    }

    header nav ul li .moreBox {
        position: absolute;
        top: 59px;
        -webkit-transition: all 0.3s ease;
    }

    header nav ul.snsBtn {
        padding: 1.5rem 0;
        max-width: 17vw;
    }

    body.short header nav ul {
        padding: 0.89rem 16vw 0.89rem 0;
    }

    body.short header nav ul.snsBtn {
        max-width: 15rem;
        padding: 0.6rem 1rem 0.6rem 0;
    }

    body.short header nav ul li .moreBox {
        top: 39px;
    }

    body.short header nav .callout01,
    header nav .callout01 {
        padding: 40px 0;
        background: url(../img/callout.svg) 6.5% top no-repeat;
    }

    body.short header nav .callout02,
    header nav .callout02 {
        padding: 40px 0;
        background: url(../img/callout.svg) 31% top no-repeat;
    }
}

/*
header li .more li{
  width: 100%;
  box-sizing:border-box;
  float: none !important;
  border:none !important;
  padding: 0 !important;
  display: inline-block;
  width: 298px;
  shape-inside: 56px;
  //height: 155px;
  margin: 0 20px 20px 20px;
  vertical-align: middle;
}
header li .more li a{
  display: table-cell;
  width: 298px;
  shape-inside: 56px;
  text-align: left;
  padding:  20px 28px;
  //border: 1px solid #3f3f3f;
  box-sizing: border-box;
  background: url("../images/common/header_menu_arrow.svg") 255px center no-repeat #161616;
  color:  #fff;
  border-radius: 1000px;
  font-size:  1em;
  vertical-align: top;
}
header li .more li a:hover{
  background: url("../images/common/header_menu_arrow_hover.svg") 255px center no-repeat #fff !important;
  background-size: 20px 7px !important;
  color:  #b7193f;
}
*/
/*
header nav ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  width: 100%;
  height: 14rem;
}
header nav ul li {
  height: 100%;
}
header nav ul li.menuMore ul {
  display: none;
}
header nav ul li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 1.6rem;
  line-height: 1.6rem;
  letter-spacing: 0.12rem;
  text-decoration: none;
  padding: 0 4rem;
  position: relative;
  height: 100%;
  transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
  font-weight: 500;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  header nav ul li a {
    transition: none;
  }
}
header nav ul li a span {
  color: rgba(51, 51, 51, 0.3);
  font-size: 1.4rem;
  line-height: 1.4rem;
  letter-spacing: 0.12rem;
  margin-top: 0.8rem;
 font-family: Questrial, "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}
header nav ul li a::after {
  content: "";
  display: block;
  height: 0.6rem;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #f7941d;
  opacity: 0;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  header nav ul li a::after {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  header nav ul li a::after {
    transition: none;
  }
}
header nav ul li a:hover {
  background-color: #ffedd7;
  color: #f7941d;
}
header nav ul li a:hover span {
  color: rgba(247, 148, 29, 0.5);
}
header nav ul li a:hover::after {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  header nav ul li a:hover::after {
    opacity: 1;
  }
}
*/
/*
header {

  background: #fff;
  height: 76px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  .tab_ver {
    display: none;
  }

  nav {
    width: 100%;
    //max-width: 1300px;
    margin: 0 auto;
  }

  .header_logo {
    float: left;
    width: 7.84%;
    max-width: 102px;
    margin-left: 15px;
    display: table;
    height: 76px;
  }

  #logo {
    display: table-cell;
    vertical-align: middle;

    img {
      min-width: 102px;
    }
  }

  .header_menu {
    float: right;
    width: 33.4%;

    //width:515px;   
    max-width: 435px;
    min-width: 435px;

    .page_menu {
      float: left;

      //width: 350px;
      width: 80.4%;
      min-width: 350px;

      li {
        float: left;
        margin-right: 12%;

        a {
          display: block;
          padding-top: 28px;
          font-weight: bold;
          font-size: 1em;
        }
      }
    }

    .sns_menu {
      float: left;

      //width: 160px;
      width: 18.3%;
      min-width: 80px;

      li {
        float: left;
        width: 50%;
        max-width: 80px;
        min-width: 80px;

        a {
          display: table-cell;
          vertical-align: middle;
          text-align: center;
          height: 76px;
          width: 100%;
          max-width: 80px;
          min-width: 80px;

          img {
            margin: 0 auto;
          }
        }

        &.mail a {
          background: #1d1d1d;
        }

        &.fb a {
          background: #b7193f;
        }
      }
    }
  }

  a.nvbtn {
    position: relative;
    width: 100%;
    height: 100%;
    //ナビのホバーここ
    &::after {
      display: block;
      position: absolute;
      bottom: -20%;
      left: 35%;
      content: '';
      width: 15px;
      height: 15px;
      //background: #b7193f;
      transform: scale(0, 1);
      transform-origin: center top;
      transition: transform .3s;
      border-top: 4px solid #b7193f;
    border-right: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid transparent;
      z-index: 99999;
    }

    &:hover {
      opacity: 1;
      text-decoration: none;

      &::after {
        transform: scale(1, 1);
      }
    }
  }

  .header_menu li {
    .more {
      position: absolute;
      top: 76px;
      left: 0%;
      z-index: 10;
      width: 100%;
      -webkit-transition: all 0.3s ease;
      transition: all 0.3s ease;
      background: #1d1d1d;
      padding: 40px;
      box-sizing: border-box;
      text-align: center;
      visibility: hidden;
      opacity: 0;
    }

    &:hover .more {
      visibility: visible;
      transition: all 0.3s ease;
      opacity: 1;
    }

    .more li {
      width: 100%;
      box-sizing: border-box;
      float: none !important;
      border: none !important;
      padding: 0 !important;
      display: inline-block;
      width: 298px;
      shape-inside: 56px;

      //height: 155px;
      margin: 0 20px 20px 20px;
      vertical-align: middle;

      a {
        display: table-cell;
        width: 298px;
        shape-inside: 56px;
        text-align: left;
        padding: 20px 28px;

        //border: 1px solid #3f3f3f;
        box-sizing: border-box;
        background: url("../images/common/header_menu_arrow.svg") 255px center no-repeat #161616;
        color: #fff;
        border-radius: 1000px;
        font-size: 1em;
        vertical-align: top;

        &:hover {
          background: url("../images/common/header_menu_arrow_hover.svg") 255px center no-repeat #fff !important;
          background-size: 20px 7px !important;
          color: #b7193f;
        }
      }
    }
  }
}
*/
main {
    padding-top: 12rem;
}

_:-ms-fullscreen,
:root main {
    padding-top: 12rem;
    display: block;
}

_:-ms-lang(x),
main {
    padding-top: 12rem \9;
}

/***********************************************************

 footer - style

***********************************************************/
/*
footer {
  //background: #3C3C3B;
  .footer{
    &__inner {
      @include inner;
      @include flex(r,w,b,s);
      padding: pxToRem(55) 0;
      a{
        color: #fff;
      }
    }
    &__menuList {
      margin-bottom: pxToRem(45);
      dt {
        margin-bottom: pxToRem(15);
        a {
        }
      }
      dd {
        font-size: pxToRem(12);
        ul {
          li {
            line-height: pxToRem(22);
            a {
            }
          }
        }
      }
    }
    &__news {
      width:percentage(785/1280);
      background: #fff;
      border-radius: 4px;
      @include flex(r,w,b,c);
      padding: pxToRem(18);
      a{
        color: $base;
      }
      &Logo {
        width:percentage(131/785);
        img {
          width: 100%;
        }
      }
      &Ttl {
        width:percentage(584/785);
        display: block;
        
        background: url(../img/arrow_foot.svg) no-repeat right center;
        background-size: 22px;
      }
    }
    &__etcMenu {
      ul {
        li {
          a {
          }
        }
      }
    }

    &__btn{
      &--contact {
      }
      &--visits {
      }
    }
  }
}
*/
footer .footerBg {
    background: #322f25;
}

footer .footerBg .footerInner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding: 4rem 0 6rem 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

footer .footerBg .footerInner a:hover {
    opacity: 0.75;
}

footer .FooterData p,
footer .FooterMenu p {
    color: #fff;
}

footer .FooterData {
    width: 25.4%;
    padding-top: 2rem;
}

footer .FooterData .logo {
    max-width: 242px;
    width: 100%;
    width: 242px;
    height: 46px;
}

footer .FooterData .logo img {
    width: 242px;
    height: 46px;
}

footer .FooterData .illustLogo {
    max-width: 105px;
    width: 100%;
}

footer .FooterData p {
    font-size: 1.3rem;
    padding: 2rem 0;
    line-height: 2.2rem;
    letter-spacing: 0.05rem;
}

footer .FooterMenu {
    width: 65%;
}

footer .menuInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

@media screen and (min-width: 769px) {
    footer .menuInner .menuBox:nth-of-type(1) {
        width: 100%;
        max-width: 180px;
    }

    footer .menuInner .menuBox:nth-of-type(2) {
        width: 100%;
        max-width: 115px;
    }

    footer .menuInner .menuBox:nth-of-type(3) {
        width: 100%;
        max-width: 180px;
    }

    footer .menuInner .menuBox:nth-of-type(4) {
        width: 100%;
        max-width: 150px;
    }
}

footer .menuInner .menuBox .title_box,
footer .menuInner .menuBox .title {
    padding-top: 2rem;
}

footer .menuInner .menuBox .title_box p,
footer .menuInner .menuBox .title p {
    color: #fff;
}

footer .menuInner .menuBox .title_box p a,
footer .menuInner .menuBox .title p a {
    color: #fff;
}

footer .menuInner .menuBox ul {
    padding-top: 1rem;
}

footer .menuInner .menuBox ul li {
    font-size: 1.3rem;
    padding: 0.3rem 0;
    font-weight: 400;
}

footer .menuInner .menuBox ul li a {
    display: block;
    color: #bfbebd;
    background: url(../img/footer_border.svg) left 10px no-repeat;
    padding: 0 0 0 1.6rem;
}

footer .menuInner .menuBox .snsBtn {
    padding-top: 1.5rem;
    display: flex;
    justify-content: space-between;
}

footer .menuInner .menuBox .snsBtn a img {
    width: 36px;
}

footer .footerLink {
    padding: 2.6rem 0;
    font-size: 1.2rem;
}

footer .footerLink p {
    text-align: center;
    padding-bottom: 1.2rem;
}

footer .footerLink small {
    font-size: 1rem;
    display: block;
    color: 565243;
    text-align: center;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    footer .FooterData {
        width: 27.5%;
        padding-top: 2rem;
    }

    footer .FooterMenu {
        width: 66%;
    }

    footer .menuInner .menuBox:nth-of-type(2) {
        width: 100%;
        max-width: 125px;
    }

    footer .menuInner .menuBox:nth-of-type(3) {
        width: 100%;
        max-width: 172px;
    }
}

_:-ms-fullscreen,
:root footer .FooterData .logo img {
    width: 225px;
    height: 42px;
}

@supports (-ms-ime-align: auto) {
    footer .FooterData .logo img {
        width: 225px;
        height: 42px;
    }
}

/***********************************************************

 common - link style

***********************************************************/
.bottomLink {
    /*
  & .pageTop:hover {
    background: #4e535b;
  }
  & .pageTop img {
    width: 1rem;
    height: 1.8rem;
    position: absolute;
    top: 50%;
    left: 50%;
  }
  */
}

.bottomLink .pageTop {
    opacity: 1;
    /*transition: all 0.3s ease;*/
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    width: 6rem;
    height: 6rem;
    z-index: 2;
}

.btnBorder {
    padding-top: 5rem;
    text-align: center;
    margin: 0 auto;
}

.btnBorder a {
    display: block;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin: 0 auto;
    border: 2px solid #322f25;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 1.6rem 0;
    background: url("../img/arrow.svg") 95% center no-repeat;
    /*&hover::before {
    content: "";
    display: block;
    background: url("../img/arrow_hover.svg") 95% center no-repeat;
    background-size: 100% auto;
    width: 0.8rem;
    height: 1.2rem;
  }*/
}

@media screen and (min-width: 49em) {
    .btnBorder a {
        width: 375px;
    }
}

@media screen and (max-width: 48em) {
    .btnBorder a {
        width: 72%;
    }
}

.btnBorder a:hover {
    color: #fff;
    background: url("../img/arrow_hover.svg") 97% center no-repeat #322f25;
}

.textLink {
    line-height: 2.8rem;
}

.textLink a {
    display: inline-block;
    position: relative;
    border-bottom: 1px solid #322f25;
}

.textLink a:hover {
    opacity: 0.75;
}

.textLink a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.textLink a:hover::after {
    width: 100%;
}

.more {
    font-size: 1.1rem;
    line-height: 100%;
    z-index: 5;
}

.more a {
    position: relative;
    display: inline-block;
    text-align: center;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.more a:hover {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.more a::after {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: absolute;
    top: 35%;
    right: -1rem;
    content: '';
    width: 6px;
    height: 8px;
    background-image: url(../img/arrow02.svg);
    background-size: contain;
    vertical-align: middle;
}

.more a:hover::after {
    right: -1.2rem;
}

.allView {
    font-size: 1.1rem;
    line-height: 100%;
    padding-right: 1rem;
    z-index: 5;
}

.allView a {
    position: relative;
    display: inline-block;
    text-align: center;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.allView a:hover {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.allView a::after {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: absolute;
    top: 15%;
    right: -1rem;
    content: '';
    width: 6px;
    height: 8px;
    background-image: url(../img/arrow03.svg);
    background-size: contain;
    vertical-align: middle;
}

.allView a:hover::after {
    right: -1.2rem;
}

.btnBorderAccess {
    text-align: center;
}

.btnBorderAccess a {
    display: block;
    max-width: 205px;
    width: 100%;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border: 2px solid #322f25;
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;
    padding: 1.3rem 0;
    background: url("../img/arrow.svg") 95% center no-repeat;
}

.btnBorderAccess a:hover {
    color: #fff;
    background: url("../img/arrow_hover.svg") 97% center no-repeat #322f25;
}

/***********************************************************

 bottomContact

***********************************************************/
.bottomContact {
    background: url("../img/common_contact_bg.jpg") center top no-repeat;
    background-size: cover;
    padding: 6rem 0;
    /*
  & .telBlock p{
    text-align: left;
    @include white;
    letter-spacing: 0;
    font-size: pxToRem(38);
  }
  & .telBlock p::before{
    content: '';
    display: inline-block;
    width: 45px;
    height: 45px;
    background-image: url("../img/tel.svg");
    background-size: contain;
    background-repeat: none;
    vertical-align: bottom;
  }
  & .telBlock p span{
    font-size: pxToRem(14);
  }
  & .sendBlock{
    width: 100%;
    max-width: 425px;
  }
  */
}

.bottomContact .text {
    text-align: center;
    color: #fff;
    font-size: 1.8rem;
    padding-bottom: 3.5rem;
}

.bottomContact .blockInner {
    max-width: 810px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.bottomContact .telBlock {
    width: 100%;
    max-width: 350px;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.bottomContact .telBlock .telLeft {
    width: 100%;
    max-width: 50px;
    padding: 0;
}

.bottomContact .telBlock .telLeft img {
    width: 4.5rem;
    padding-top: 0.8rem;
}

.bottomContact .telBlock .telRight {
    width: 100%;
    max-width: 295px;
}

.bottomContact .telBlock .telRight p {
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0.05em !important;
    font-weight: 400;
}

.bottomContact .telBlock .telRight p.num {
    text-align: left;
    color: #fff;
    letter-spacing: noemal !important;
    font-size: 3.5rem;
    line-height: 100%;
    padding: 0;
    margin-top: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.bottomContact .telBlock .telRight p.num a {
    color: #fff;
}

.bottomContact .sendBlock {
    width: 100%;
    max-width: 425px;
    text-align: center;
}

.bottomContact .sendBlock a::before {
    content: '';
    display: inline-block;
    width: 27px;
    height: 21px;
    background-image: url("../img/mail.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 1.2rem;
}

.bottomContact .sendBlock a {
    display: block;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #fff;
    border: 2px solid #fff;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    padding: 1.3rem 0;
    background: url("../img/arrow04.svg") 95% center no-repeat;
}

.bottomContact .sendBlock a:hover {
    background-color: rgba(255, 255, 255, 0.2);
    background: url("../img/arrow04.svg") 96.5% center no-repeat rgba(255, 255, 255, 0.2);
}

_:-ms-fullscreen,
:root .bottomContact .telBlock .telLeft img {
    width: 4rem;
    height: 4rem;
    padding-top: 0;
}

@supports (-ms-ime-align: auto) {
    .bottomContact .telBlock .telLeft img {
        width: 4rem;
        height: 4rem;
        padding-top: 0;
    }
}

_:-ms-fullscreen,
:root .bottomContact .sendBlock a::before {
    background-size: 27px 21px;
}

@supports (-ms-ime-align: auto) {
    .bottomContact .sendBlock a::before {
        background-size: 27px 21px;
    }
}

/***********************************************************

 pankuzu

***********************************************************/
.contentWrapper .pankuzu {
    background: #f7f5f0;
    width: 100%;
    padding: 1.2rem 0;
}

.contentWrapper .pnkz {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    font-size: 1.2rem;
    line-height: 2.54545;
    letter-spacing: 0.1375rem;
    color: #322f25;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: nowrap;
    flex-direction: row;
    width: 100%;
    z-index: 1;
}

.contentWrapper .pnkz li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    flex-direction: row;
    white-space: nowrap;
    overflow-wrap: normal;
}

.contentWrapper .pnkz li:not(:last-child)::after {
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.8rem;
    background: url(../img/pankuzu_arrow.svg) left center no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin: 0 1.4rem;
}

/***********************************************************

 pager

***********************************************************/
.contentWrapper .pageing {
    max-width: 1100px;
    width: 100%;
    margin: 9.6rem auto 0rem auto;
}

/*
@media (max-width: 1000px) and (min-width: 769px) {
  .contentWrapper .pageing {
    width: 98rem;
  }
}
@media screen and (max-width: 48em) {
  .contentWrapper .pageing {
    width: 92%;
  }
}
*/
.contentWrapper .pageing ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
}

.contentWrapper .pageing ul li {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}

/*.contentWrapper .pageing ul li a:not(.prev):not(.next),
.contentWrapper .pageing ul li span:not(.dots) {*/
.contentWrapper .pageing ul li a,
.contentWrapper .pageing ul li span:not(.dots) {
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
    width: 4.6rem;
    height: 4.7rem;
    font-size: 1.7rem;
    line-height: 1;
    margin: 0 0.6rem;
    transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
}

@media screen and (max-width: 48em) {

    .contentWrapper .pageing ul li a:not(.prev):not(.next),
    .contentWrapper .pageing ul li span:not(.dots) .contentWrapper .pageing ul li span:not(.all) {
        transition: none;
    }
}

/*.contentWrapper .pageing ul li a:not(.prev):not(.next) {*/
.contentWrapper .pageing ul li a {
    background: #f7f5f0;
    color: #4e535b;
}

/*.contentWrapper .pageing ul li a:not(.prev):not(.next):hover {*/
.contentWrapper .pageing ul li a:hover {
    background: #322f25;
    color: #fff;
}

.contentWrapper .pageing ul li span:not(.dots) {
    border: none;
    background: #322f25;
    color: #fff;
    vertical-align: bottom;
}

.contentWrapper .pageing ul li .dots {
    color: #322f25;
    letter-spacing: 2px;
}

.contentWrapper .pageing ul li .dots {
    display: none;
}

.contentWrapper .pageing ul li .prev,
.contentWrapper .pageing ul li .next {
    width: 10rem;
}

.contentWrapper .pageing ul li .all {
    width: 16rem;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.1em;
    font-size: 1.7rem;
}

/*
.contentWrapper .pageing ul li .prev {
  margin-right: 2.5rem;
}
.contentWrapper .pageing ul li .prev::before {
  content: "";
  display: block;
  background: url("../img/arrow_black_right.svg") no-repeat;
  background-size: 100% auto;
  width: 0.7rem;
  height: 1.1rem;
  display: inline-block;
  transform: scale(-1, 1);
  margin-right: 1.2rem;
}
.contentWrapper .pageing ul li .next {
  margin-left: 2.5rem;
}
.contentWrapper .pageing ul li .next::after {
  content: "";
  display: block;
  background: url("../img/arrow_black_right.svg") no-repeat;
  background-size: 100% auto;
  width: 0.7rem;
  height: 1.1rem;
  display: inline-block;
  margin-left: 1.2rem;
}
*/
/***********************************************************

 common title

***********************************************************/
.contentWrapper {
    /*
  & .pageTitle.facility{
    position: relative;
    height: pxToRem(280);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    & h1{
      font-size: pxToRem(38);
      //line-height: ;
      //letter-spacing: 0.629rem;
      @include white;
      text-align: center;
      @include flex(r,w,s,c);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      flex-direction: column;
      z-index: 4; //header縺・
      & span{
        display: block;
        color: $rightGold;
        @include mont;
        font-size: pxToRem(16);
      }
    }
    & .dotBg{
      background: url("../img/mv_pattern.png") left top repeat;
      width: 100%;
      height: pxToRem(280);
      position: absolute;
      left: 0;
      top: 0;
    }
  }
  */
}

.contentWrapper .pageTitle {
    position: relative;
    height: 24rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
}

.contentWrapper .pageTitle h1,
.contentWrapper .pageTitle .title {
    font-size: 3.2rem;
    color: #fff;
    text-align: center;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    z-index: 4;
}

.contentWrapper .pageTitle h1 span,
.contentWrapper .pageTitle .title span {
    display: block;
    color: #cdad58;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 1.6rem;
}

.contentWrapper .pageTitle .dotBg {
    background: url("../img/mv_pattern.png") left top repeat;
    width: 100%;
    height: 24rem;
    position: absolute;
    left: 0;
    top: 0;
}

.contentWrapper .pageTitleDetail {
    position: relative;
    height: 20rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
}

.contentWrapper .pageTitleDetail h1 {
    font-size: 3.2rem;
    color: #fff;
    text-align: center;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    z-index: 4;
}

.contentWrapper .pageTitleDetail .dotBg {
    background: url("../img/mv_pattern02.png") left top repeat;
    width: 100%;
    height: 20rem;
    position: absolute;
    left: 0;
    top: 0;
}

.contentWrapper .pageTitleDetail.facility {
    position: relative;
    height: 20rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
}

.contentWrapper .pageTitleDetail.facility h1 {
    font-size: 3.8rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #fff;
    text-align: center;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    z-index: 4;
    font-weight: 600;
}

.contentWrapper .pageTitleDetail.facility .dotBg {
    background: url("../img/mv_pattern02.png") left top repeat;
    width: 100%;
    height: 20rem;
    position: absolute;
    left: 0;
    top: 0;
}

.contentWrapper h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
}

@media screen and (max-width: 48em) {
    .contentWrapper h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

/***********************************************************

 bottomLink

***********************************************************/
.bottomLinkArea {
    background: #f3f3f3;
}

.bottomLinkArea .linkInner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding: 5.5rem 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
}

.bottomLinkArea .linkInner .btn {
    width: 22.3%;
    max-width: 246px;
    margin: 0 1.8%;
}

.bottomLinkArea .linkInner .btn a {
    display: block;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin: 0 auto;
    border: 2px solid #322f25;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 1.6rem 0;
    background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
    color: #fff;
}

.bottomLinkArea .linkInner .btn a:hover {
    color: #322f25;
    background: url("../img/arrow.svg") 97% center no-repeat #ffffff;
    border: 2px solid #322f25;
    opacity: 1;
}

.bottomLinkArea .linkInner .btn:first-of-type {
    margin-left: 0;
}

.bottomLinkArea .linkInner .btn:last-of-type {
    margin-right: 0;
}

.bottomLinkArea.tabArea {
    background: #f7f5f0;
}

.bottomLinkArea.tabArea p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.bottomLinkArea.tabArea h2 {
    padding: 7.5rem 0 3rem 0;
    background: none;
    font-size: 2.6rem;
    margin: 0;
}

.bottomLinkArea.tabArea h2::before {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 1rem;
}

.bottomLinkArea.tabArea h2::after {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 1rem;
}

.bottomLinkArea.tabArea .tabBoxInner {
    padding: 6rem 0 12rem 0;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn li {
    width: 12.7%;
    max-width: 140px;
    color: #322f25;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    cursor: pointer;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn li p {
    display: block;
    vertical-align: middle;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 100%;
    padding: 2rem 0;
    margin: 0;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn li.link {
    background: #848484;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn li.link a {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #fff;
    text-decoration: none;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn li.current {
    background: #fff;
    color: #000;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn li.current p {
    color: #cdad58;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA {
    background: #ffffff;
    display: none;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner {
    padding: 5rem;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapImage {
    padding: 3rem 0 6rem 0;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapImage img {
    max-width: 76rem;
    margin: 0 auto;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox {
    width: 50%;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table {
    padding: 0;
    margin: 0;
    width: 100%;
    border-top: 1px solid #918a71;
    border-right: 1px solid #918a71;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th,
.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    text-align: left;
    border-left: 1px solid #918a71;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th {
    width: 32%;
    min-width: 160px;
    border-bottom: 1px solid #ffffff;
    vertical-align: middle;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    display: block;
    color: #ffffff;
    padding: 1.8rem 2rem;
    background: url("../img/facility/room_arrow.svg") 95% center no-repeat #918a71;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a:hover {
    background: url("../img/facility/room_arrow.svg") 97% center no-repeat #a7a18d;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a span {
    border-bottom: 1px solid #ffffff;
    display: inline-block;
    position: relative;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a span::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #a7a18d;
    transition: all 0.3s ease 0s;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a:hover span::after {
    width: 100%;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table tr:last-child th {
    border-bottom: 1px solid #918a71;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td {
    color: #565243;
    border-bottom: 1px solid #918a71;
    vertical-align: middle;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td a {
    color: #565243;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    display: block;
    padding: 1.8rem 2rem;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td a:hover {
    background: #fef5dc;
}

.bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table tr.row2 th a {
    padding: 1.2rem 2rem;
    line-height: 125%;
}

/* contentA
----------------------------*/
@media only screen and (min-width: 768px) {
    #content1 {
        display: block;
    }
}

/***********************************************************

 caseDetailList //下層ページ下部 共通リスト

***********************************************************/
.contentWrapper .caseDetailList {
    margin: 2rem 0 7rem 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.contentWrapper .caseDetailList .caseSingle {
    width: 30.9%;
    padding-bottom: 2rem;
    margin-right: 3.6%;
}

.contentWrapper .caseDetailList .caseSingle:last-of-type {
    margin-right: 0rem;
}

.contentWrapper .caseDetailList .caseSingle a {
    display: block;
}

.contentWrapper .caseDetailList .caseSingle a:hover {
    opacity: 0.75;
}

.contentWrapper .caseDetailList p {
    text-align: center;
    color: #565243;
    font-size: 1.6rem;
    margin-top: 1.8rem;
}

.contentWrapper .caseDetailList .caseImage {
    position: relative;
    overflow: hidden;
    height: 260px;
    width: 100%;
    padding-top: 70%;
    overflow: hidden;
    margin: 0 auto;
    /*
  & p.category{
    position: absolute;
    right: 0;
    bottom: 0;
    @include white;
    letter-spacing: 0;
    font-weight: normal;
    font-size: pxToRem(12);
    line-height: pxToRem(24);
    padding: 0 pxToRem(8);  
  }
  */
}

.contentWrapper .caseDetailList .caseImage img {
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 105%;
    max-height: 105%;
    min-width: 100%;
    min-height: 100%;
}

.contentWrapper .caseDetailList .caseImage .categoryBox {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-end;
}

.contentWrapper .caseDetailList .caseImage .categoryBox p.category {
    display: inline-block;
    color: #fff;
    letter-spacing: 0;
    font-weight: normal;
    font-size: 1.2rem;
    line-height: 2.4rem;
    padding: 0 0.8rem;
    margin-top: 0.1rem;
    margin-right: 0.1rem;
}

.contentWrapper .caseDetailList .caseImage .categoryBox p.category:last-of-type {
    margin-right: 0rem;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type01 {
    background: #6faa93;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type02 {
    background: #a08758;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type03 {
    background: #5f71a6;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type04 {
    background: #6aa7d6;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type05 {
    background: #a75c38;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type06 {
    background: #bd4c6d;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type07 {
    background: #94a062;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type08 {
    background: #6b3f79;
}

.contentWrapper .caseDetailList .caseImage .categoryBox .type09 {
    background: #bfb23f;
}

.contentWrapper .caseDetailList .companyName {
    text-align: left;
    color: #565243;
    font-size: 2rem;
    background: url("../img/border.svg") left center no-repeat;
    padding-left: 2.8rem;
    margin: 2.4rem 0 0.4rem 0;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    .contentWrapper .caseDetailList {
        margin: 2rem 0 7rem 0;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: flex-start;
    }

    .contentWrapper .caseDetailList .caseImage {
        position: relative;
        overflow: hidden;
        height: 235px;
        width: 100%;
        padding-top: 70%;
        overflow: hidden;
        margin: 0 auto;
    }

    .contentWrapper .caseDetailList .caseImage img {
        position: absolute;
        margin: auto;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        max-width: 150%;
        max-height: 150%;
        min-width: 100%;
        min-height: 100%;
    }
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    .contentWrapper .pnkz {
        max-width: 1100px !important;
        width: calc(100% - 60px) !important;
        margin: 0 auto;
    }

    .footerInner {
        max-width: 1100px !important;
        width: calc(100% - 60px) !important;
        margin: 0 auto;
    }

    .inner {
        max-width: 1100px !important;
        width: calc(100% - 60px) !important;
        margin: 0 auto;
    }

    .linkInner {
        max-width: 1100px !important;
        width: calc(100% - 60px) !important;
        margin: 0 auto;
    }

    .featureBlock,
    .placeBlock,
    .priceBlock .blockInner,
    .newsBlock .ttlBlock,
    .newsList,
    .useBlock,
    .accessBlock {
        width: calc(100% - 60px) !important;
    }
}

@media screen and (max-width: 767px) {
    body {
        width: 100%;
    }

    main {
        padding-top: 4.5rem;
    }

    /***********************************************************
  
  	 header - style
  
  	***********************************************************/
    header {
        width: 100%;
        position: fixed;
        height: 4.6rem;
        border-bottom: 1px solid #f3f3f3;
        z-index: 9999 !important;
    }

    header .headerWrapInner {
        z-index: 99999 !important;
        position: fixed;
        width: 100%;
        border-bottom: 1px solid #f3f3f3;
    }

    header .headerWrap {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    header .topMenu ul li.text,
    header .topMenu ul li.access {
        display: none;
    }

    header .headerInner {
        background: #fff;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        flex-direction: row;
        width: 100%;
        padding: 0 0 0 1.5rem;
    }

    header .siteLogo {
        max-width: initial;
        min-width: 26px;
        height: 25px;
        width: 140px;
    }

    header .siteLogo a {
        display: block;
        height: 25px;
    }

    header .siteLogo img {
        width: 140px;
        height: 25px;
        overflow: visible;
    }

    header .topMenu ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
    }

    header .topMenu ul li {
        width: 4.3rem;
        height: 4.5rem;
    }

    header .topMenu ul li.tel {
        margin-right: 4.3rem;
        text-align: center;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: center;
        align-items: center;
        font-size: 0.8rem;
        color: #322f25;
        border-left: 1px solid #f3f3f3;
        border-right: 1px solid #f3f3f3;
    }

    header .topMenu ul li.tel img {
        width: 1.6rem;
        height: 1.6rem;
        text-align: center;
        margin: 0 auto 0.2rem auto;
    }

    header .topMenu ul li.contact {
        text-align: center;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: center;
        align-items: center;
        font-size: 0.8rem;
        color: #fff;
        background: #dc0040;
        letter-spacing: 0;
    }

    header .topMenu ul li.contact a {
        color: #fff;
    }

    header .topMenu ul li.contact img {
        width: 1.8rem;
        height: 1.4rem;
        text-align: center;
        margin: 0 auto 0.2rem auto;
    }

    header .listFirst ul {
        padding: 4rem 0 2.5rem 0;
    }

    header .listFirst ul li {
        padding-bottom: 1.5rem;
    }

    header .listFirst ul li a {
        display: block;
        padding: 0 2rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        align-items: center;
    }

    header .listFirst ul li a:hover {
        color: #322f25;
    }

    header .acoTtl {
        width: 8rem;
    }

    header .acoText {
        width: calc(100% - 10rem);
    }

    header .acoText p {
        font-size: 1.4rem;
        position: relative;
        display: inline-block;
    }

    header .acoText p.mont {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    header .acoText p::after {
        position: absolute;
        top: 35%;
        right: -1.5rem;
        content: '';
        width: 6px;
        height: 8px;
        background-image: url(../img/arrow02.svg);
        background-size: contain;
        vertical-align: middle;
    }

    header .accordion-content .linkService {
        padding: 3.4rem 0 0 0;
    }

    header .accordion-content .linkService a {
        padding: 0 2rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        align-items: center;
    }

    header .accordion-content .linkService .acoTtlSeco {
        width: 5.6rem;
    }

    header .accordion-content .linkService .acoTextSeco {
        width: calc(100% - 6.5rem);
        font-weight: bold;
        font-size: 1.3rem;
    }

    header .accordion-content .linkServiceWrap {
        padding: 1.4rem 2rem;
    }

    header .accordion-content .linkServiceWrap ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        align-items: center;
    }

    header .accordion-content .linkServiceWrap ul li a {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        align-items: center;
    }

    header .accordion-content .linkServiceWrap ul li a .acoTtlSeco {
        width: 3.8rem;
    }

    header .accordion-content .linkServiceWrap ul li a .acoTextSeco {
        font-size: 1rem;
        margin-left: 0.7rem;
        letter-spacing: 0;
    }

    header .accordion-content .listSecond {
        padding: 0 2rem 3rem 2rem;
    }

    header .accordion-content .listSecond ul {
        justify-content: flex-start;
    }

    header .accordion-content .listSecond ul li:last-of-type {
        margin-left: 5%;
    }

    header .accordion-content .listSecond ul li a .acoTtlSeco {
        width: 4.8rem;
    }

    header .accordion-content .listSecond ul li a .acoTextSeco {
        font-size: 1.3rem;
        font-weight: bold;
        margin-left: 1.4rem;
        letter-spacing: 0;
    }

    header .accordion-content .listSecond ul li:last-of-type a .acoTtlSeco {
        width: 3.8rem;
    }

    header .menuBtn {
        display: block;
        width: 4.3rem;
        height: 4.3rem;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 99999;
    }

    header .menuBtn p {
        width: 100%;
        height: 100%;
        position: relative;
    }

    header .menuBtn p span {
        display: block;
        position: absolute;
        top: 10px;
        right: 9px;
        transition: all 0.3s ease !important;
    }

    header .menuBtn p span.menuBtnLine1 {
        width: 1.6rem;
        background-color: #cdad58;
        height: 2px;
        top: 10px;
        right: 13px;
    }

    header .menuBtn p span.menuBtnLine2 {
        width: 1.6rem;
        background-color: #cdad58;
        height: 2px;
        top: 16px;
        right: 13px;
    }

    header .menuBtn p span.menuBtnLine3 {
        width: 1.6rem;
        background-color: #cdad58;
        height: 2px;
        top: 22px;
        right: 13px;
    }

    header .menuBtn p span.menuBtnLine4 {
        top: 25px;
        right: 9px;
        font-size: 8px;
        letter-spacing: 0;
        color: #cdad58;
    }

    .headerSnsBtn {
        width: 100%;
        position: fixed;
        top: 4.6rem;
        left: 0;
        height: 4.6rem;
        display: flex;
        align-items: center;
        justify-content: flex-end !important;
        background: #FFF;
        z-index: 9999 !important;
        padding: 1rem 1rem 1rem 0 !important;
        box-sizing: border-box;
    }

    body.active .headerSnsBtn {
        border-bottom: 1px solid #f3f3f3;
    }

    body.notSns .headerSnsBtn {
        display: none;
    }

    .headerSnsBtn li {
        padding: 0 1rem;
        width: auto;
        height: 100%;
    }

    .headerSnsBtn li img {
        width: auto;
        height: 100%;
    }

    .active {
        height: 100%;
        overflow: hidden;
    }

    .active header .menuBtn p span {
        right: 12px;
    }

    .active header .menuBtn p span.menuBtnLine1 {
        width: 1.6rem;
        top: 40%;
        transform: translateY(0) rotate(-45deg);
    }

    .active header .menuBtn p span.menuBtnLine2 {
        width: 1.6rem;
        top: 40%;
        bottom: auto;
        transform: translateY(0) rotate(45deg);
    }

    .active header .menuBtn p span.menuBtnLine3 {
        display: none;
    }

    .active header .menuBtn p span.menuBtnLine4 {
        top: 25px;
        right: 9px;
    }

    .active header nav {
        top: 0;
        height: 100vh;
        padding-bottom: 0px;
    }

    header nav {
        position: fixed;
        width: 100%;
        top: -100%;
        left: 0;
        z-index: 10;
        transition: all 0.5s ease !important;
        max-height: 100%;
        overflow: scroll;
    }

    header nav .article-title,
    header nav .title_box,
    header nav .titleLink,
    header nav .titleAcces {
        background-color: #fff;
    }

    header nav a:hover {
        color: #322f25;
        opacity: 1.0;
    }

    header nav .onlySp {
        border-top: 1px solid #f3f3f3;
        margin-top: 45px;
        background-color: white;
        height: 100vh;
    }

    header nav ul {
        display: block;
        height: auto;
        padding: 0;
        width: 100%;
    }

    header nav ul li {
        padding: 0;
    }

    header nav ul li a {
        /*
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    */
        font-size: 1.4rem;
        line-height: 1.4rem;
        letter-spacing: 0.12rem;
        color: #322f25;
    }

    header nav ul li a span {
        color: rgba(255, 255, 255, 0.6);
        font-size: 1.1rem;
        line-height: 1.1rem;
        letter-spacing: 0.12rem;
        margin-top: 0;
        margin-left: 1.6rem;
    }

    header nav ul li a::after {
        content: none;
    }

    header nav ul li a:hover {
        background-color: inherit;
        color: #fff;
    }

    header nav ul li a:hover span {
        color: rgba(255, 255, 255, 0.6);
    }

    /*
  header nav .menuLogo {
    display: block;
    width: 12.3rem;
    margin-bottom: 4rem;
  }
  */
    /*
  header nav ul li.menuMore {
    border-bottom: none;
  }
  header nav ul li.menuMore ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
  }
  header nav ul li.menuMore ul li {
    //width: 50%;
  }
  header nav ul li.menuMore ul li a {
    font-size: 1.2rem;
    line-height: 1.2rem;
    letter-spacing: 0.12rem;
    padding: 2.1rem 1rem 1.8rem 3rem;
    background: url(../img/common/arrow_white.png) no-repeat left 2rem center;
    background-size: 0.3rem auto;
  }
  header nav ul li.menuMore ul li:nth-child(even) a::before {
    content: "";
    display: block;
    border-left: 1px dashed rgba(255, 255, 255, 0.3);
    height: calc( 100% - 1rem );
    width: 0.1rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }
  */
    /* ---------- header accordion start ---------- */
    header .titleLink {
        padding: 0;
        margin: 0;
        font-size: 1.3rem;
        padding: 1.7rem 2rem;
        display: block;
        border-bottom: 1px solid #f3f3f3;
    }

    header .titleAcces {
        font-size: 1.6rem;
        padding: 5.5rem 2rem 1.2rem 2rem;
        border-bottom: 1px solid #f3f3f3;
    }

    body.notSns header .titleAcces {
        padding: 0.5rem 2rem 1.2rem 2rem;
    }

    header .titleAcces p {
        text-align: center;
    }

    header .titleAcces a:before {
        content: "";
        display: inline-block;
        background: url("../img/header_access.svg") left 5px no-repeat;
        background-size: 100% auto;
        width: 1.8rem;
        height: 2.5rem;
        margin-right: 1rem;
        text-align: center;
        padding-bottom: 0.5rem;
    }

    header .accordion-container .title_box {
        padding: 0;
        margin: 0;
        font-size: 1.3rem;
        padding: 1.7rem 2rem;
        display: block;
    }

    header .accordion-container .title_box h4 {
        border: none;
        display: block;
        background: #fff;
        padding: 0;
        margin: 0;
    }

    header .article-title {
        background: none !important;
        position: relative;
        border-bottom: 1px solid #f3f3f3;
    }

    header .article-title:hover,
    header .article-title:active,
    header .content-entry.open .article-title {
        color: #000;
    }

    header .article-title:hover i:before,
    header .article-title:hover i:active,
    header .content-entry.open i {
        color: #000;
    }

    header .article-title:after {
        content: "";
        position: absolute;
        right: 2rem;
        top: 38%;
        transition: all 0.2s ease-in-out;
        display: block;
        width: 6px;
        height: 6px;
        border-top: solid 1px #000;
        border-right: solid 1px #000;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    header .article-title:after {
        content: "";
        position: absolute;
        right: 2rem;
        top: 38%;
        transition: all 0.2s ease-in-out;
        display: block;
        width: 6px;
        height: 6px;
        border-top: solid 1px #000;
        border-right: solid 1px #000;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    header .article-title.open:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 45%;
    }

    header .accordion-content {
        display: none;
        padding-left: 0;
        background-color: #f3f3f3;
    }

    /*
  header .article-title h4{
      border: none !important;
      display: block;
      background: #fff;
      //padding: 0 1.071rem 0 0;
      margin: 0;
      font-size: 1.285rem;
      line-height: 1.714rem;
  }
  */
    /* ---------- header accordion end ---------- */
    /***********************************************************
  
  	 footer - style
  
  	***********************************************************/
    footer {
        width: 100%;
        max-width: initial;
    }

    footer .footerBg {
        background: #322f25;
    }

    footer .footerBg .footerInner {
        display: block;
        margin: 0;
        padding: 4rem 2rem 2rem 2rem;
    }

    footer .footerBg .footerInner a:hover {
        opacity: 1.0;
    }

    footer .FooterData {
        padding-top: 0rem;
        text-align: center;
    }

    footer .FooterData .logo {
        width: 25.6rem;
        max-width: initial;
        margin: 0 auto;
    }

    footer .FooterData .illustLogo {
        width: 8.3rem;
        max-width: initial;
        margin: 0 auto;
    }

    footer .FooterData,
    footer .FooterMenu {
        width: 100%;
    }

    footer .FooterMenu .menuInner {
        display: block;
        width: 100%;
        padding-top: 1.2rem;
    }

    /* ---------- footer accordion start ---------- */
    footer .accordion-container {
        width: 100%;
    }

    footer .accordion-container .title_box {
        background: none !important;
        padding: 0 !important;
        margin: 0;
    }

    footer .accordion-container .title_box h4 {
        border: none;
        display: block;
        background: #fff;
        padding: 0;
        margin: 0;
    }

    footer .article-title {
        background: none !important;
        margin: 0 0 1.5rem 0;
        padding: 0;
        border-bottom: 1px solid #959390;
        position: relative;
    }

    footer .article-title .title_box {
        padding: 0 0 1.5rem 0 !important;
    }

    footer .title {
        padding: 0 0 1.5rem 0 !important;
        margin: 0;
    }

    footer .article-title:hover,
    footer .article-title:active,
    footer .content-entry.open .article-title {
        color: #000;
    }

    footer .article-title:hover i:before,
    footer .article-title:hover i:active,
    footer .content-entry.open i {
        color: #000;
    }

    footer .article-title:after {
        content: "";
        position: absolute;
        right: 1%;
        top: 38%;
        transition: all 0.2s ease-in-out;
        display: block;
        width: 6px;
        height: 6px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    footer .article-title.open:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 45%;
    }

    footer .accordion-content {
        display: none;
        padding: 0;
        margin: 0;
    }

    footer .accordion-content ul {
        padding: 0 0 1.5rem 0 !important;
        margin: 0 1.5rem;
    }

    footer .menuInner .menuBox .snsBtn {
        display: none;
    }

    .FooterSns {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 0 2rem 0;
    }

    .FooterSns a {
        padding: 0 1rem;
        width: 60px;
    }

    /* ---------- footer accordion end ---------- */
    /***********************************************************
  
  	 common - link style
  
  	***********************************************************/
    .bottomLink {
        /*
    & .pageTop:hover {
      background: #4e535b;
    }
    & .pageTop img {
      width: 1rem;
      height: 1.8rem;
      position: absolute;
      top: 50%;
      left: 50%;
    }
    */
    }

    .bottomLink .pageTop {
        opacity: 1;
        /*transition: all 0.3s ease;*/
        position: fixed;
        right: 1rem;
        bottom: 1rem;
        width: 4rem;
        height: 4rem;
    }

    .btnBorder {
        padding-top: 2.6rem;
    }

    .btnBorder a {
        display: block;
        margin: 0 auto;
        border: 2px solid #322f25;
        text-align: center;
        font-size: 1.2rem;
        font-weight: bold;
        padding: 1rem 0;
        background: url("../img/arrow.svg") 95% center no-repeat;
        background-size: 6px auto;
        /*&hover::before {
      content: "";
      display: block;
      background: url("../img/arrow_hover.svg") 95% center no-repeat;
      background-size: 100% auto;
      width: 0.8rem;
      height: 1.2rem;
    }*/
    }
}

@media screen and (max-width: 767px) and (min-width: 49em) {
    .btnBorder a {
        width: 375px;
    }
}

@media screen and (max-width: 767px) and (max-width: 48em) {
    .btnBorder a {
        width: 72%;
    }
}

@media screen and (max-width: 767px) {
    .btnBorderAccess {
        text-align: center;
    }

    .btnBorderAccess a {
        display: block;
        width: 65%;
        max-width: initial;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.1rem;
        padding: 1rem 0;
        margin: 0 auto;
    }

    /***********************************************************
  
  	 bottomContact
  
  	***********************************************************/
    .bottomContact {
        padding: 3rem 0;
    }

    .bottomContact .text {
        color: #fff;
        font-size: 1.4rem;
        padding-bottom: 2.1rem;
    }

    .bottomContact .blockInner {
        width: 86%;
        max-width: initial;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    .bottomContact .telBlock {
        width: 100%;
        max-width: initial;
        display: block;
    }

    .bottomContact .telBlock .telLeft {
        display: none;
    }

    .bottomContact .telBlock .telRight {
        width: 100%;
        max-width: initial;
    }

    .bottomContact .telBlock .telRight p {
        color: #fff;
        font-size: 1.4rem;
        letter-spacing: 0;
    }

    .bottomContact .telBlock .telRight p.timeText {
        text-align: center;
        padding-bottom: 1rem;
    }

    .bottomContact .telBlock .telRight p.num {
        text-align: left;
        color: #fff;
        letter-spacing: 0.06em !important;
        font-size: 2rem;
        line-height: 100%;
        padding: 0;
        margin: 0 0 2rem 0;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    .bottomContact .telBlock .telRight p.num a::before {
        content: '';
        display: inline-block;
        width: 20px;
        height: 20px;
        background-image: url("../img/tel.svg");
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: middle;
        margin-right: 0.6rem;
    }

    .bottomContact .telBlock .telRight p.num a {
        display: block;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        color: #fff;
        border: 2px solid #fff;
        text-align: center;
        font-size: 2rem;
        font-weight: bold;
        padding: 1.3rem 0 1.1rem 0;
    }

    .bottomContact .sendBlock {
        width: 100%;
        max-width: initial;
        text-align: center;
    }

    .bottomContact .sendBlock a::before {
        content: '';
        display: inline-block;
        width: 19px;
        height: 15px;
        background-image: url("../img/mail.svg");
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: middle;
        margin-right: 0.8rem;
    }

    .bottomContact .sendBlock a {
        display: block;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        color: #fff;
        border: 2px solid #fff;
        text-align: center;
        font-size: 1.4rem;
        font-weight: bold;
        padding: 1.3rem 0;
        background: url("../img/arrow04.svg") 95% center no-repeat;
    }

    .bottomContact .sendBlock a:hover {
        color: #fff;
        background: url("../img/arrow04.svg") 95% center no-repeat;
    }

    .bottomContact .sendBlock a:hover::before {
        background-image: url("../img/mail.svg");
    }

    /***********************************************************
  
  	 pankuzu
  
  	***********************************************************/
    .contentWrapper .pankuzu {
        background: #f7f5f0;
        width: 100%;
        padding: 0.2rem 1rem;
        overflow-x: auto;
        overflow-y: hidden;
        overflow: auto;
        white-space: nowrap;
    }

    .contentWrapper .pankuzu .pnkz {
        flex-wrap: nowrap;
        width: 100%;
        max-width: initial;
        margin: 0 auto;
        font-size: 1rem;
        line-height: 2.54545;
        letter-spacing: 0.1375rem;
    }

    .contentWrapper .pankuzu .pnkz li {
        flex-wrap: nowrap;
    }

    .contentWrapper .pankuzu .pnkz li:not(:last-child)::after {
        margin: 0 0.8rem;
    }

    /***********************************************************
  
  	 pager
  
  	***********************************************************/
    .contentWrapper .pageing {
        max-width: 1100px;
        width: 100%;
        margin: 3.6rem auto 0rem auto;
    }

    .contentWrapper .pageing ul {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: row;
    }

    .contentWrapper .pageing ul li {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        margin-bottom: 1rem;
    }

    .contentWrapper .pageing ul li a,
    .contentWrapper .pageing ul li span:not(.dots) {
        display: block;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: row;
        width: 3rem;
        height: 3rem;
        font-size: 1.2rem;
        line-height: 1;
        margin: 0 0.5rem;
        transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
    }

    .contentWrapper .pageing ul li a {
        background: #f7f5f0;
        color: #4e535b;
    }

    .contentWrapper .pageing ul li a:hover {
        background: #322f25;
        color: #fff;
    }

    .contentWrapper .pageing ul li span:not(.dots) {
        border: none;
        background: #322f25;
        color: #fff;
        vertical-align: bottom;
    }

    .contentWrapper .pageing ul li .dots {
        color: #322f25;
        letter-spacing: 2px;
        display: block;
    }

    .contentWrapper .pageing ul li .prev,
    .contentWrapper .pageing ul li .next {
        width: 6rem;
    }

    .contentWrapper .pageing ul li .all {
        width: 11rem;
        font-size: 1.2rem;
    }
}

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

    .contentWrapper .pageing ul li a:not(.prev):not(.next),
    .contentWrapper .pageing ul li span:not(.dots) {
        transition: none;
    }
}

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

    /***********************************************************
  
  	 common title
  
  	***********************************************************/
    .contentWrapper .pageTitle {
        height: 16rem;
    }

    .contentWrapper .pageTitle h1,
    .contentWrapper .pageTitle .title {
        font-size: 2.1rem;
    }

    .contentWrapper .pageTitle h1 span,
    .contentWrapper .pageTitle .title span {
        font-size: 1rem;
    }

    .contentWrapper .pageTitle .dotBg {
        height: 16rem;
    }

    .contentWrapper .pageTitleDetail {
        height: 12.5rem;
    }

    .contentWrapper .pageTitleDetail h1 {
        font-size: 2.1rem;
    }

    .contentWrapper .pageTitleDetail .dotBg {
        height: 12.5rem;
    }

    .contentWrapper .pageTitle.facility {
        height: 16rem;
    }

    .contentWrapper .pageTitle.facility h1 {
        font-size: 2.1rem;
    }

    .contentWrapper .pageTitle.facility h1 span {
        font-size: 1rem;
    }

    .contentWrapper .pageTitle.facility .dotBg {
        height: 16rem;
    }

    .contentWrapper .pageTitleDetail.facility {
        height: 12.5rem;
    }

    .contentWrapper .pageTitleDetail.facility h1 {
        font-size: 2.1rem;
    }

    .contentWrapper .pageTitleDetail.facility .dotBg {
        height: 12.5rem;
    }

    .contentWrapper h2 {
        color: #322f25;
        letter-spacing: 0.4rem;
        font-size: 3rem;
        text-align: center;
        font-weight: bold;
        background: url(../img/title_border.svg) center bottom no-repeat;
        background-size: 35px 2px;
        padding: 0 0 2rem 0;
        margin: 0 0 3rem 0;
    }
}

@media screen and (max-width: 767px) and (max-width: 48em) {
    .contentWrapper h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

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

    /***********************************************************
  
  	bottomLink
  
  	***********************************************************/
    .bottomLinkArea {
        background: #f3f3f3;
    }

    .bottomLinkArea .linkInner {
        max-width: initial;
        width: auto;
        margin: 0 3%;
        padding: 3rem 0 2rem 0;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    .bottomLinkArea .linkInner .btn {
        width: 44%;
        max-width: initial;
        margin: 0 3% 5% 3%;
    }

    .bottomLinkArea .linkInner .btn a {
        font-size: 1.2rem;
        padding: 0.8rem 0;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
        color: #fff;
    }

    .bottomLinkArea .linkInner .btn a:hover {
        color: #fff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
    }

    .bottomLinkArea .linkInner .btn:first-of-type {
        margin-left: 3%;
    }

    .bottomLinkArea .linkInner .btn:last-of-type {
        margin-right: 3%;
    }

    .bottomLinkArea.tabArea {
        background: #f7f5f0;
    }

    .bottomLinkArea.tabArea p {
        text-align: center;
        font-size: 1.3rem;
        line-height: 2.5rem;
    }

    .bottomLinkArea.tabArea h2 {
        padding: 3rem 0 1rem 0;
        background: none;
        font-size: 1.8rem;
        margin: 0;
    }

    .bottomLinkArea.tabArea h2::before {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 0.6rem;
    }

    .bottomLinkArea.tabArea h2::after {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-left: 0.6rem;
    }

    .bottomLinkArea.tabArea .tabBoxInner {
        padding: 2rem 0 4rem 0;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox {
        width: 90%;
        margin: 0 auto;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabsbtn {
        display: none;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA {
        padding: 2rem;
        display: none;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner {
        padding: 0;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapImage {
        padding: 0rem 0 3rem 0;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapImage img {
        max-width: 95%;
        margin: 0 auto;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo {
        display: block;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox {
        width: 100%;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table {
        padding: 0;
        margin: 0;
        width: 100%;
        border-top: 1px solid #918a71;
        border-right: 1px solid #918a71;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th,
    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td {
        font-size: 1.2rem;
        letter-spacing: 0.05em;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th {
        width: 52%;
        min-width: auto;
        vertical-align: middle;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        display: block;
        color: #ffffff;
        padding: 1rem 1.5rem;
        background: url("../img/facility/room_arrow.svg") 95% center no-repeat #918a71;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a:hover {
        background: url("../img/facility/room_arrow.svg") 95% center no-repeat #918a71;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a span {
        border-bottom: 1px solid #ffffff;
        display: inline-block;
        position: relative;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a span::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: none;
        transition: all 0s ease 0s;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table th a:hover span::after {
        width: 100%;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td {
        color: #565243;
        border-bottom: 1px solid #918a71;
        vertical-align: middle;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td a {
        color: #565243;
        padding: 1rem 1.5rem;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table td a:hover {
        background: #ffffff;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table tr.row2 th a {
        padding: 1.2rem 1.5rem;
        line-height: 125%;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox .mapSingle table tr.row2 td {
        padding: 0;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox:nth-of-type(2) .mapSingle table {
        border-top: none;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .mapInfo .mapBox.double .mapSingle table tr:last-child th {
        border-bottom: 1px solid #ffffff;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn {
        margin-top: 15px;
        background: #ffffff;
        color: #322f25;
        padding: 8px 17px;
        font-weight: bold;
        position: relative;
        text-align: left !important;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn span {
        font-weight: 1000 !important;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn::before {
        position: absolute;
        right: 15px;
        top: 65%;
        margin-top: -10px;
        /*
    background-color: #fff;
    display: inline-block;
    transition: all .4s;
    content: "";
    -webkit-transform: translateY(10px) rotate(0deg);
    transform: translateY(10px) rotate(0deg);
    */
        width: 6px;
        height: 6px;
        border-top: solid 1px #322f25;
        border-right: solid 1px #322f25;
        display: inline-block;
        content: "";
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn.action {
        color: #cdad58;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn.action::before {
        top: 65%;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn.active {
        color: #cdad58;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn.active::before {
        top: 65%;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn.active.action {
        color: #322f25;
    }

    .bottomLinkArea.tabArea .tabBoxInner .tabBox .tabbtn.active.action::before {
        top: 65%;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    /***********************************************************
  
  	caseDetailList //下層ページ下部 共通リスト
  
  	***********************************************************/
    .contentWrapper .caseDetailList {
        margin-bottom: 3rem;
        display: block;
    }

    .contentWrapper .caseDetailList .caseSingle {
        width: auto;
        margin: 3rem 0 0 0;
    }

    .contentWrapper .caseDetailList .caseSingle a {
        display: block;
    }

    .contentWrapper .caseDetailList .caseSingle a:hover {
        opacity: 1.0;
    }

    .contentWrapper .caseDetailList .caseSingle p {
        font-size: 1.6rem;
        margin-top: 1.8rem;
    }

    .contentWrapper .caseDetailList .caseSingle .caseImage {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 220px;
    }

    .contentWrapper .caseDetailList .caseSingle .caseImage img {
        position: absolute;
        top: 50%;
        left: 50%;
        margin: auto;
        transform: scale(1) translate(-50%, -50%);
    }

    .contentWrapper .caseDetailList .caseSingle .caseImage p.category {
        display: inline-block;
        color: #fff;
        letter-spacing: 0;
        font-weight: normal;
        font-size: 1rem;
        line-height: 1.8rem;
        padding: 0 0.6rem;
        margin-top: 0.1rem;
        margin-right: 0.1rem;
        /*
    position: absolute;
    right: 0;
    bottom: 0;
    @include white;
    letter-spacing: 0;
    font-weight: normal;
    font-size: pxToRem(10);
    line-height: pxToRem(22);
    padding: 0 pxToRem(8); 
    */
    }

    .contentWrapper .caseDetailList .caseSingle .caseImage p.category:last-of-type {
        margin-right: 0rem;
    }

    .contentWrapper .caseDetailList .caseSingle .companyName {
        font-size: 1.6rem;
        background-size: 1.5rem 0.2rem;
        padding-left: 2.5rem;
        margin: 1rem 0 0.6rem 0;
    }
}

/***********************************************************

 mainVisual

***********************************************************/
.fadein,
.fadein.fade-1,
.fadein.fade-2,
.fadein.fade-3,
.fadein.fade-4,
.fadein.fade-5,
.fadein.fade-6 {
    opacity: 0;
    transform: translate(0, 50px);
    transition: all 1s;
}

.fadein.fade-1 {
    transition-delay: 0.3s;
}

.fadein.fade-2 {
    transition-delay: 0.6s;
}

.fadein.fade-3 {
    transition-delay: 0.9s;
}

.fadein.fade-4 {
    transition-delay: 1.2s;
}

.fadein.fade-5 {
    transition-delay: 1.5s;
}

.fadein.fade-6 {
    transition-delay: 1.8s;
}

.fadein.active {
    opacity: 1;
    transform: translate(0, 0);
}

.mainSlider li {
    height: auto;
    position: relative;
}

.mainSlider li img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
}

.mainSlider li .mvBg {
    background: url("../img/top/mv_pattern.png") left top repeat;
    width: 100%;
    height: 70vh;
    position: absolute;
    left: 0;
    top: 0;
}

.mainSlider li .mainTextInner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 70vh;
}

.mainSlider li .mainTextInner .mainText {
    width: 100%;
    height: 70vh;
    padding-bottom: 5%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.mainSlider li .mainTextInner .mainText h2 {
    font-size: 3.8rem;
    line-height: 6.5rem;
    color: #fff;
    font-weight: bold;
    margin-left: 5%;
}

_:-ms-fullscreen,
:root .mainSlider li .mainTextInner .mainText h2 {
    font-weight: 900;
}

@supports (-ms-ime-align: auto) {
    .mainSlider li .mainTextInner .mainText h2 {
        font-weight: 900;
    }
}

.mainVisual {
    position: relative;
}

.mainVisual .mainBox {
    position: absolute;
    bottom: 0;
    right: 0;
    background: #91D355;
    width: 44rem;
}

.mainVisual .mainBox .mainData {
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.mainVisual .mainBox .mainData p a {
    color: #fff;
    display: block;
    line-height: 2.4rem;
    padding: 2.2rem 3rem 2.2rem 4rem;
    background: url("../img/mainv_arrow.svg") calc(100% - 2rem) center no-repeat;
}

.mainVisual .mainBox .mainData p a:hover {
    background: url("../img/mainv_arrow.svg") calc(100% - 2rem) center no-repeat #565243;
    opacity: 1;
}

_:-ms-fullscreen,
:root img {
    font-family: 'object-fit: cover;';
}

.mainslide-dots {
    position: absolute;
    top: 65%;
    left: 5%;
}

.mainslide-dots li {
    display: inline-block;
    margin: 0 14px;
    position: relative;
}

.mainslide-dots li button {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
    text-indent: -9999px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 1.2rem;
    margin-top: 0px;
}

.mainslide-dots li button::after {
    content: '';
    text-indent: 0px;
    position: absolute;
    top: 24px;
    left: 0px;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 1000px;
}

.mainslide-dots li.slick-active {
    margin-top: -10px !important;
}

.mainslide-dots li.slick-active button {
    color: #cdad58;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.mainslide-dots li.slick-active button::after {
    top: 20px;
    left: -5px;
    content: '';
    background: #fff;
    border-radius: 1000px;
    background: none;
    border: 4px solid #cdad58;
}

.mainslide-dots li {
    list-style: none;
}

.mainslide-dots li button::before {
    content: '';
    top: 0px;
    left: -2px;
    font-weight: normal !important;
    position: absolute;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    width: 10px;
    height: 10px;
    font-size: 1.2rem;
    text-indent: 0;
}

.mainslide-dots li:nth-child(1) button::before {
    content: '01';
}

.mainslide-dots li:nth-child(2) button::before {
    content: "02";
}

.mainslide-dots li:nth-child(3) button::before {
    content: '03';
}

.mainslide-dots li:nth-child(4) button::before {
    content: '04';
}

.mainslide-dots li.slick-active button::before {
    color: #cdad58;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    top: -4px;
}

_:-ms-fullscreen,
:root .mainslide-dots li button {
    overflow: visible;
}

_:-ms-fullscreen,
:root .mainslide-dots li.slick-active button {
    overflow: visible;
}

/*
.mainVisual{
  height: pxToRem(580);
}
.mainSlider {
  max-height: pxToRem(580);
}
.mainSlider li .img {
  height: pxToRem(580);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  transform-origin: center top;
  transform: scale(1);
  transition: 2s transform ease-out;
}

.mainSlider li.s-01 .img { background-image: url("../img/top/mainv01.png"); }
.mainSlider li.s-02 .img { background-image: url("../img/top/mainv02.png"); }
.mainSlider li.s-03 .img { background-image: url("../img/top/mainv03.png"); }
.mainSlider li.s-04 .img { background-image: url("../img/top/mainv04.png"); }

.mainSlider li.slick-active .img {
  height: pxToRem(580);
  //transform: scale(1.03);
}
*/
/***********************************************************

 featureBlock

***********************************************************/
.featureBlock {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto !important;
    padding-top: 8.8rem;
}

.featureBlock h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
}

@media screen and (max-width: 48em) {
    .featureBlock h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

.featureBlock .boxInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    border-left: 1px solid #e6e6e6;
}

.featureBlock .box {
    flex-wrap: nowrap;
    max-width: 274px;
    width: 25%;
    border-top: 1px solid #e6e6e6;
    border-right: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
}

.featureBlock .box .box img {
    width: 100%;
    vertical-align: top;
}

.featureBlock .box .textBox {
    padding: 3.181rem;
}

.featureBlock .box:nth-of-type(1) .textBox {
    background: url(../img/top/contents01_num01.png) left top no-repeat;
    background-size: 73px auto;
}

.featureBlock .box:nth-of-type(2) .textBox {
    background: url(../img/top/contents01_num02.png) left top no-repeat;
    background-size: 100px auto;
}

.featureBlock .box:nth-of-type(3) .textBox {
    background: url(../img/top/contents01_num03.png) left top no-repeat;
    background-size: 100px auto;
}

.featureBlock .box:nth-of-type(4) .textBox {
    background: url(../img/top/contents01_num04.png) left top no-repeat;
    background-size: 102px auto;
}

.featureBlock .box h3 {
    font-size: 1.6rem;
    text-align: center;
    color: #322f25;
    font-weight: bold;
    align-items: stretch;
}

.featureBlock .box p {
    padding-top: 1.636rem;
}

.featureBlock .box:nth-of-type(4) .textBox h3 {
    padding: 1rem 0;
}

/***********************************************************

 placeBlock

***********************************************************/
.placeBlock {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto !important;
}

.placeBlock h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
    margin-top: 14.5rem;
}

@media screen and (max-width: 48em) {
    .placeBlock h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

.placeBlock .copy {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.placeBlock .box {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    padding-top: 6rem;
}

.placeBlock .box .imageLeft {
    width: 48.1%;
    max-width: 53rem;
}

.placeBlock .box .imageRight {
    width: 48.1%;
    max-width: 53rem;
    order: 2;
}

.placeBlock .box .boxRight {
    width: 46.3%;
    max-width: 51rem;
    padding: 1.7rem 0 0 4rem;
}

.placeBlock .box .boxLeft {
    width: 46.3%;
    max-width: 51rem;
    padding: 1.7rem 0 0 4rem;
    order: 1;
}

.placeBlock .box h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 4rem;
    font-weight: 600;
    padding-bottom: 3rem;
}

.placeBlock .box01 {
    background: url(../img/top/contents02_num01.svg) left top no-repeat;
    background-size: 12.4rem auto;
}

.placeBlock .box02 {
    background: url(../img/top/contents02_num02.svg) left top no-repeat;
    background-size: 18rem auto;
    margin-left: 2rem;
}

.placeBlock .box03 {
    background: url(../img/top/contents02_num03.svg) left top no-repeat;
    background-size: 17.7rem auto;
}

.placeBlock .box04 {
    background: url(../img/top/contents02_num04.svg) left top no-repeat;
    background-size: 18.3rem auto;
    margin-left: 2rem;
}

.placeBlock .box01 h3 {
    padding-top: 4rem;
}

.placeBlock .box02 h3 {
    padding-top: 5rem;
}

.placeBlock .box03 h3 {
    padding-top: 4rem;
}

.placeBlock .box04 h3 {
    padding-top: 5rem;
}

.placeBlock .box p {
    line-height: 2.8rem;
}

.placeBlock .textLink {
    padding-top: 1.4rem;
}

/***********************************************************

 priceBlock

***********************************************************/
.priceBlock {
    background: #f7f5f0;
    padding: 9rem 0;
    margin-top: 9.5rem;
}

@media screen and (min-width: 49em) {
    .priceBlock .blockInner {
        max-width: 1100px;
        width: 100%;
        margin: 0 auto !important;
    }
}

.priceBlock h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
}

@media screen and (max-width: 48em) {
    .priceBlock h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

.priceBlock .copy {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
    padding-bottom: 3.5rem;
}

.priceBlock .boxInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
}

.priceBlock .box {
    background: #fff;
    width: 23.6%;
}

.priceBlock .box h3 {
    background: #918a71;
    color: #fff;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding: 1.2rem;
    font-size: 2rem;
    font-weight: bold;
}

.priceBlock .box .boxIn {
    padding: 3rem 2.6rem;
}

.priceBlock .box .boxIn p {
    text-align: center;
}

.priceBlock p {
    line-height: 3.2rem;
    padding: 1rem 0;
}

.priceBlock p.price {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #cdad58;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0;
    padding: 0;
}

.priceBlock p.pricetaxin {
    font-family: 'Montserrat', sans-serif;
    font-weight: 350;
    letter-spacing: 0.1em;
    color: #cdad58;
    font-size: 2.3rem;
    font-weight: 420;
    letter-spacing: 0;
    padding: 0;
}

.priceBlock p.price span {
    font-size: 2.2rem;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.1em;
}

.priceBlock p.more {
    padding: 0 !important;
}

@media screen and (min-width: 769px) and (max-width: 1100px) {
    .priceBlock .box h3 {
        font-size: 1.818vw;
    }

    .priceBlock p.price {
        font-size: 2.909vw;
    }

    .priceBlock p.pricetaxin {
        font-size: 2.036vw;
    }

    .priceBlock p.price span {
        font-size: 2vw;
    }
}

/***********************************************************

 useBlock

***********************************************************/
.useBlock {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto !important;
    padding-bottom: 9.5rem;
    border-bottom: 2px solid #e6e6e6;
}

.useBlock h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
    margin-top: 14.5rem;
}

@media screen and (max-width: 48em) {
    .useBlock h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

.useBlock .boxInner {
    width: 515px;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.useBlock .box {
    width: 120px;
}

.useBlock .box .icon {
    text-align: center;
    margin-top: 0 auto;
}

.useBlock .box img {
    display: inline-block;
    height: 7.4rem;
    text-align: center;
    margin-top: 0 auto;
}

.useBlock .box h3 {
    text-align: center;
    font-size: 1.8rem;
    padding-top: 1.6rem;
    font-weight: bold;
}

.useBlock .box:hover {
    opacity: 0.75;
}

_:-ms-fullscreen,
:root .useBlock .box .cate01 img {
    width: 100px;
    height: 74px;
}

_:-ms-fullscreen,
:root .useBlock .box .cate02 img {
    width: 74px;
    height: 74px;
}

_:-ms-fullscreen,
:root .useBlock .box .cate03 img {
    width: 56px;
    height: 74px;
}

@supports (-ms-ime-align: auto) {
    .useBlock .box .cate01 img {
        width: 100px;
        height: 74px;
    }
}

@supports (-ms-ime-align: auto) {
    .useBlock .box .cate02 img {
        width: 74px;
        height: 74px;
    }
}

@supports (-ms-ime-align: auto) {
    .useBlock .box .cate03 img {
        width: 56px;
        height: 74px;
    }
}

@supports (-ms-ime-align: auto) {
    .useBlock .box h3 {
        font-size: 1.7rem;
    }
}

/***********************************************************

 serviceBlock

***********************************************************/
.serviceBlock {
    max-width: 835px;
    width: 100%;
    margin: 0 auto !important;
    padding-bottom: 9.5rem;
}

.serviceBlock h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
    margin-top: 9rem;
}

@media screen and (max-width: 48em) {
    .serviceBlock h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

.serviceBlock .boxInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
}

.serviceBlock .boxInner .box {
    width: 22rem;
}

.serviceBlock .box h3 {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 1.5rem;
}

.serviceBlock .itemList {
    max-width: 220px;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
}

.serviceBlock .itemList .item {
    max-width: 95px;
    width: 100%;
    padding-bottom: 3rem;
}

.serviceBlock .itemList .item h4 {
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.6rem;
    color: #565243;
    padding-top: 1rem;
    letter-spacing: -0.05em;
}

.serviceBlock .itemList .item h4 span {
    font-size: 1.1rem;
}

.serviceBlock .itemList .item a {
    display: block;
}

.serviceBlock .itemList .item a:hover {
    opacity: 0.75;
}

.serviceBlock .itemList .image img {
    width: 100%;
}

/***********************************************************

 exampleBlock

***********************************************************/
.exampleBlock {
    background: linear-gradient(180deg, #f7f5f0 0%, #f7f5f0 390px, #fff 100px, #fff 100%);
    padding: 9.5rem 0;
    /*
  & .slider{
    & li.sliderList{
      width: 100%;
      max-width: pxToRem(750);
      background: #fff;
      margin-right: pxToRem(40);
      margin-left: pxToRem(40);
      & .sliderInner{
        @include flex(r,w,s,c);
        flex-direction: row;
        align-items: stretch;
        justify-content: space-around;
        & .sliderImage{
          width: pxToRem(370);
        }
        & .sliderData{
          width: calc( 100% - 420px );

        }
      }
    }
    & .slick-track,
    & .slick-slide{
      width: pxToRem(750) !important;
    }
  } 
  */
}

.exampleBlock h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
}

@media screen and (max-width: 48em) {
    .exampleBlock h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

.exampleBlock p.copy {
    text-align: center;
}

.exampleBlock .blockInner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto !important;
}

.sliderArea {
    overflow: hidden;
}

.sliderArea .sliderWide {
    max-width: 100%;
    margin: 0 auto;
    padding: 30px 0 0 0;
}

.sliderArea .sliderWide .slick-arrow {
    opacity: 0;
    transition-duration: 0.3s;
}

.sliderWide:hover .slick-arrow {
    opacity: 1;
}

.slider {
    max-width: 808px;
    margin: 0 auto;
    padding: 0;
    /*& img {
      height: auto;
      width: 100%;
  }
  */
}

.slider .slick-list {
    overflow: visible;
}

.slider .slick-slide {
    width: 100%;
    padding: 0;
    margin: 0 1.9rem;
    transition-duration: 0.3s;
}

.slider .slick-slide.slick-current {
    opacity: 1;
}

.slider .slick-slide a {
    display: block;
}

.slider .slick-slide a a:hover {
    display: block;
}

.slider li {
    max-width: 808px;
}

.slider .sliderWrap {
    max-width: 770px;
}

.slider .sliderWrap a {
    display: block;
    background: #fff;
    margin: 0 auto;
    box-shadow: 0px 0px 6px 3px #f3f3f3;
    transition: all 0.3s;
}

.slider .sliderWrap a:hover {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    transition: all 0.3s;
    transform: translate(0px, -10px);
}

.slider .sliderInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.slider .sliderInner .sliderImage {
    width: 37rem;
    position: relative;
    overflow: hidden;
    height: 290px;
    overflow: hidden;
    margin: 0;
}

.slider .sliderInner .sliderImage img {
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 150%;
    max-height: 150%;
    min-width: 100%;
    min-height: 100%;
}

.slider .sliderInner .sliderData {
    width: calc(100% - 420px);
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.slider .sliderInner .sliderDataBox {
    margin-right: 5rem;
}

.slider .sliderInner .sliderDataBox .nameInner,
.slider .sliderInner .sliderDataBox .category {
    width: 100%;
    display: block;
}

.slider .sliderInner .sliderDataBox .nameInner {
    margin-bottom: 1.6rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.slider .sliderInner .sliderDataBox .nameInner .title {
    width: 73.3%;
}

.slider .sliderInner .sliderDataBox .nameInner .title h3 {
    font-size: 2rem;
    color: #565243;
    font-weight: bold;
}

.slider .sliderInner .sliderDataBox .nameInner .day {
    width: 26.6%;
}

.slider .sliderInner .sliderDataBox .nameInner .day p {
    text-align: right;
    font-size: 1.1rem;
    letter-spacing: 0;
    color: #968f74;
}

.slider .sliderInner .sliderDataBox .category {
    display: table-cell;
    color: #fff;
    letter-spacing: 0.05em;
    font-size: 1.1rem;
    padding: 0.2rem 1rem;
}

.slider .sliderInner .sliderDataBox .category.type01 {
    background: #6faa93;
}

.slider .sliderInner .sliderDataBox .category.type02 {
    background: #a08758;
}

.slider .sliderInner .sliderDataBox .category.type03 {
    background: #5f71a6;
}

.slider .sliderInner .sliderDataBox .category.type04 {
    background: #6aa7d6;
}

.slider .sliderInner .sliderDataBox .category.type05 {
    background: #a75c38;
}

.slider .sliderInner .sliderDataBox .category.type06 {
    background: #bd4c6d;
}

.slider .sliderInner .sliderDataBox .category.type07 {
    background: #94a062;
}

.slider .sliderInner .sliderDataBox .category.type08 {
    background: #6b3f79;
}

.slider .sliderInner .sliderDataBox .category.type09 {
    background: #bfb23f;
}

.slider .sliderInner .sliderDataBox .text {
    margin-top: 2.2rem;
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.slick-prev,
.slick-next {
    z-index: 1;
}

.slick-dots {
    bottom: -33px;
}

.slider-dots {
    margin-top: 40px;
    text-align: center;
}

.slider-dots li {
    display: inline-block;
    margin: 0 18px;
}

.slider-dots li button {
    position: relative;
    text-indent: -9999px;
}

.slider-dots li button:before {
    content: '';
    text-indent: 0px;
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    background: #494542;
    border-radius: 1000px;
    border: 3px solid #fff;
}

.slider-dots li.slick-active button:before {
    content: '';
    background: #fff;
    border-radius: 1000px;
    border: 3px solid #494542;
}

_:-ms-fullscreen,
:root .slider-dots li button {
    overflow: visible;
}

/***********************************************************

 newsBlock

***********************************************************/
.newsBlock {
    background: #565243;
    padding: 9.5rem 0;
}

.newsBlock .ttlBlock {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.newsBlock h2 {
    font-size: 2.4rem;
    color: #fff;
    text-align: left;
    display: inline-block;
    border-bottom: 2px solid #cdad58;
    margin-bottom: 1.8rem;
}

.newsBlock .allView p {
    font-size: 1.1rem;
    text-align: right;
}

.newsBlock .allView p a {
    display: block;
    color: #cdad58;
}

.newsBlock .allView p a:hover {
    color: #ffffff;
}

.newsBlock .allView p a:hover::after {
    background-image: url(../img/arrow03_hover.svg);
    background-repeat: no-repeat;
}

.newsBlock .newsList {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.newsBlock .newsList dl {
    color: #fff;
}

.newsBlock .newsList dl dt {
    border-right: 1px solid #fff;
    padding-right: 1.1rem;
    margin-right: 1.1rem;
}

.newsBlock .newsList dl a {
    border-bottom: 1px solid #918a71;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    color: #ffffff;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding: 1.2rem 0;
}

.newsBlock .newsList dl a:hover dt {
    border-right: 1px solid #322f25;
}

.newsBlock .newsList dl a:hover {
    background: #918a71;
    color: #322f25;
}

.newsBlock .newsList dl a.link dd {
    margin-right: 4rem;
    position: relative;
}

.newsBlock .newsList dl a.link dd::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 12px;
    background: url(../img/link_white.png) 95% center no-repeat;
    background-size: 14px 12px;
}

.newsBlock .newsList dl a.link:hover dd::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 12px;
    background: url(../img/link_white_hover.png) 95% center no-repeat;
    background-size: 14px 12px;
}

.newsBlock .newsList dl a.pdf dd {
    margin-right: 4rem;
}

.newsBlock .newsList dl a.pdf dd::after {
    content: 'PDF';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-right: 1rem;
    background: #cb1f1f;
}

.newsBlock .newsList dl a.pdf:hover dd::after {
    content: 'PDF';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-right: 1rem;
    background: #d54c4c;
}

/***********************************************************

 accessBlock

***********************************************************/
.accessBlock {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding: 10rem 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.accessBlock h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: left;
    font-weight: bold;
    background: url(../img/title_border.svg) left bottom no-repeat;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
}

.accessBlock h3 {
    font-size: 2.4rem;
    line-height: 3.6rem;
    font-weight: bold;
    padding-bottom: -2.4rem;
}

.accessBlock h3 span {
    font-size: 1.4rem;
}

.accessBlock .mapInner {
    width: 50%;
    height: 100%;
    min-height: 460px;
    max-height: 460px;
    order: 1;
}

.accessBlock .mapBox {
    height: 0;
    overflow: hidden;
    padding-bottom: 83.25%;
    position: relative;
}

.accessBlock .mapBox iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.accessBlock .infoBox {
    width: 39%;
    order: 2;
    padding-top: 3.5rem;
}

.accessBlock .infoBox p {
    color: #565243;
    line-height: 3.4rem;
}

.accessBlock .infoBox .btnBorderAccess {
    margin: 3rem auto 0 auto;
}

@media screen and (min-width: 769px) and (max-width: 1100px) {
    .accessBlock .mapBox {
        padding-bottom: 100%;
        height: 460px;
    }

    .accessBlock .infoBox {
        padding: 0;
    }
}

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

    .fadein,
    .fadein.fade-1,
    .fadein.fade-2,
    .fadein.fade-3,
    .fadein.fade-4,
    .fadein.fade-5,
    .fadein.fade-6 {
        opacity: 1;
        transform: translate(0, 0);
        transition: none;
        transition-delay: 0.0s;
    }

    .fadein.active {
        opacity: 1;
        transform: translate(0, 0);
        height: auto;
    }

    /***********************************************************
  
  	 mainVisual
  
  	***********************************************************/
    .mainSlider li {
        height: auto;
        position: relative;
    }

    .mainSlider li img {
        width: 100%;
        height: 60vh;
        object-fit: cover;
    }

    .mainSlider li .mvBg {
        height: 60vh;
    }

    .mainSlider li .mainTextInner {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 60vh;
    }

    .mainSlider li .mainTextInner .mainText {
        width: 100%;
        height: 60vh;
        padding-bottom: 8%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .mainSlider li .mainTextInner .mainText h2 {
        font-size: 1.8rem;
        line-height: 3.2rem;
        margin-left: 5%;
    }

    .mainVisual {
        position: relative;
    }

    .mainVisual .mainBox {
        position: static;
        width: 100%;
    }

    .mainVisual .mainBox .mainData {
        width: 100%;
        height: 100%;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .mainVisual .mainBox .mainData p {
        font-size: 1.2rem;
    }

    .mainVisual .mainBox .mainData p a {
        color: #fff;
        display: block;
        line-height: 1.9rem;
        padding: 1.2rem 3.2rem 1.2rem 1.8rem;
        background: url("../img/mainv_arrow.svg") calc(100% - 2rem) center no-repeat;
    }

    .mainVisual .mainBox .mainData p a:hover {
        background: url("../img/mainv_arrow.svg") calc(100% - 2rem) center no-repeat #565243;
        opacity: 1;
    }

    .mainslide-dots li {
        list-style: none;
    }

    .mainslide-dots li button::before {
        content: '';
        top: 0px;
        left: -4px;
        font-weight: normal !important;
        position: absolute;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        width: 7px;
        height: 7px;
        font-size: 0.8rem;
        text-indent: 0;
    }

    .mainslide-dots li.slick-active button::before {
        color: #cdad58;
    }

    .mainslide-dots li:nth-child(1) button::before {
        content: '01';
        color: #fff;
    }

    .mainslide-dots li:nth-child(2) button::before {
        content: '02';
        color: #fff;
    }

    .mainslide-dots li:nth-child(3) button::before {
        content: '03';
        color: #fff;
    }

    .mainslide-dots li:nth-child(4) button::before {
        content: '04';
        color: #fff;
    }

    .mainslide-dots li.slick-active:nth-child(1) button::before {
        color: #cdad58;
    }

    .mainslide-dots li.slick-active:nth-child(2) button::before {
        color: #cdad58;
    }

    .mainslide-dots li.slick-active:nth-child(3) button::before {
        color: #cdad58;
    }

    .mainslide-dots li.slick-active:nth-child(4) button::before {
        color: #cdad58;
    }

    .mainslide-dots {
        top: 62%;
        left: 4%;
    }

    .mainslide-dots li {
        display: inline-block;
        margin: 0 10px;
        color: #fff;
    }

    .mainslide-dots li button {
        position: relative;
        text-indent: -9999px;
        font-size: 0.8rem;
        margin-top: 0px;
    }

    .mainslide-dots li button::after {
        content: '';
        text-indent: 0px;
        position: absolute;
        top: 19px;
        left: 0px;
        width: 7px;
        height: 7px;
        background: #fff;
        border-radius: 1000px;
    }

    .mainslide-dots li.slick-active {
        margin-top: -10px !important;
    }

    .mainslide-dots li.slick-active button {
        color: #cdad58;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .mainslide-dots li.slick-active button::after {
        top: 15px;
        left: -5px;
        content: '';
        background: #fff;
        border-radius: 1000px;
        background: none;
        border: 3px solid #cdad58;
    }

    /*
  .mainslide-dots{
    position: absolute;
    bottom: 32%;
    left: 4%;
    li{
      display: inline-block;
      margin: 0 8px;
      button{
        position: relative;
        @include white;
        @include mont;
        font-size: pxToRem(10);
        &:before{
          content: '';
          //font-size: 20px;
          text-indent: 0px;
          position: absolute;
          top: 17px;
          left: 0px;
          width: 7px;
          height: 7px;
          background: #fff;
          border-radius: 1000px;
        }
      }
      &.slick-active{
        button{
          @include yellow;
        }
        button:before{
          top: 14px;
          left: -4px;
          content: '';
          background: #fff;
          border-radius: 1000px;
          background: none;
          border: 3px solid #cdad58;
        }
      }
    }
  }
  */
    .slick-dotted.slick-slider {
        margin-bottom: 0;
    }

    /***********************************************************
  
  	 featureBlock
  
  	***********************************************************/
    .featureBlock {
        width: 86%;
        max-width: 86%;
        margin: 0 7% !important;
        padding-top: 0;
    }

    .featureBlock h2 {
        margin-top: 5rem;
    }

    .featureBlock .boxInner {
        display: block;
    }

    .featureBlock .box {
        display: block;
        width: 100%;
        max-width: 100%;
        border-bottom: none;
    }

    .featureBlock .box:last-of-type {
        border-bottom: 1px solid #e6e6e6;
    }

    .featureBlock .box .textBox {
        padding: 2.5rem;
    }

    /***********************************************************
  
  	 placeBlock
  
  	***********************************************************/
    .placeBlock {
        width: 100%;
        max-width: initial;
        margin: 0 !important;
    }

    .placeBlock h2 {
        margin-top: 5rem;
    }

    .placeBlock .copy {
        text-align: center;
        font-size: 1.3rem;
        line-height: 2.5rem;
        width: 75%;
        margin: 0 auto;
    }

    .placeBlock .boxInner {
        display: block;
        margin: 0 2rem;
    }

    .placeBlock .box {
        display: block;
        width: 100%;
        max-width: 100%;
        padding-top: 2rem;
    }

    .placeBlock .box .textBox {
        padding: 2.5rem;
    }

    .placeBlock .box .imageLeft {
        width: 100%;
        max-width: initial;
    }

    .placeBlock .box .imageRight {
        width: 100%;
        max-width: initial;
        order: 2;
    }

    .placeBlock .box .boxRight {
        width: 100%;
        max-width: initial;
        padding: 1.7rem 0 0 3.5rem;
    }

    .placeBlock .box .boxLeft {
        width: 100%;
        max-width: initial;
        padding: 1.7rem 0 0 3.5rem;
        order: 1;
    }

    .placeBlock .box01 {
        background: url(../img/top/contents02_num01.png) 0.7rem 0.8rem no-repeat;
        background-size: 7.4rem auto;
    }

    .placeBlock .box02 {
        background: url(../img/top/contents02_num02.png) 0.7rem 0.8rem no-repeat;
        background-size: 10rem auto;
        margin-left: 0;
    }

    .placeBlock .box03 {
        background: url(../img/top/contents02_num03.png) 0.7rem 0.8rem no-repeat;
        background-size: 10rem auto;
    }

    .placeBlock .box04 {
        background: url(../img/top/contents02_num04.png) 0.7rem 0.8rem no-repeat;
        background-size: 10rem auto;
        margin-left: 0;
    }

    .placeBlock .box h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        font-size: 2.6rem;
        line-height: 3rem;
        font-weight: bold;
        padding-bottom: 1.4rem;
    }

    .placeBlock .box01 h3,
    .placeBlock .box02 h3,
    .placeBlock .box03 h3,
    .placeBlock .box04 h3 {
        padding-top: 0;
    }

    .placeBlock .box p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .placeBlock .textLink {
        padding-top: 1.2rem;
    }

    /***********************************************************
  
  	 priceBlock
  
  	***********************************************************/
    .priceBlock {
        width: 100%;
        max-width: initial;
        margin: 4rem 0 0 0 !important;
        padding: 4rem 0 5rem 0;
    }

    .priceBlock h2 {
        margin-top: 0;
    }

    .priceBlock .copy {
        text-align: center;
        font-size: 1.3rem;
        line-height: 2.5rem;
    }

    .priceBlock .blockInner {
        display: block;
        margin: 0 2rem !important;
    }

    .priceBlock p {
        line-height: 2.6rem;
    }

    .priceBlock .box {
        background: #fff;
        width: calc(50% - 0.2rem);
        font-size: 1.3rem;
        margin-bottom: 0.2rem;
    }

    .priceBlock .box h3 {
        font-size: 1.3rem;
        padding: 1rem 0.8rem;
    }

    .priceBlock .box p {
        font-size: 1.4rem;
        line-height: 1.4rem;
    }

    .priceBlock .box .boxIn {
        padding: 1.5rem 1.2rem;
    }

    .priceBlock .box p {
        font-size: 1.2rem;
        line-height: 2rem;
        padding: 0.5rem 0;
    }

    .priceBlock .box p.price {
        font-size: 1.8rem;
        line-height: 2.6rem;
        padding: 0;
    }

    .priceBlock .box p.price span {
        font-size: 1rem;
    }

    .priceBlock .box .more {
        font-size: 1rem;
    }

    /***********************************************************
  
  	 useBlock
  
  	***********************************************************/
    .useBlock {
        width: 90%;
        max-width: initial;
        padding-bottom: 3.5rem;
        border-bottom: 1px solid #e6e6e6;
        margin: 0 auto;
    }

    .useBlock h2 {
        margin-top: 4.5rem;
    }

    .useBlock .boxInner {
        width: 100%;
    }

    .useBlock .box {
        width: calc(33% - 1rem);
    }

    .useBlock .box .icon {
        text-align: center;
        margin-top: 0 auto;
    }

    .useBlock .box .icon img {
        height: 4.8rem;
    }

    .useBlock .box h3 {
        font-size: 1.3rem;
        padding-top: 0.8rem;
        letter-spacing: 0.1em;
    }
}

@media screen and (max-width: 767px) and (max-width: 374px) and (min-width: 320px) {
    .useBlock .box h3 {
        font-size: 4vw;
    }
}

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

    /***********************************************************
  
  	 serviceBlock
  
  	***********************************************************/
    .serviceBlock {
        max-width: 835px;
        width: 100%;
        padding-bottom: 3.5rem;
    }

    .serviceBlock h2 {
        margin-top: 4rem;
    }

    .serviceBlock .boxInner {
        width: 100%;
    }

    .serviceBlock .boxInner .box {
        width: 100%;
    }

    .serviceBlock .boxInner .box .itemList {
        width: 96%;
        margin: 0 auto;
        max-width: initial;
        justify-content: center;
    }

    .serviceBlock .boxInner .box .item {
        width: calc(25% - 1.0rem);
        max-width: 120px;
        padding-bottom: 1.5rem;
        margin: 0 1.2%;
    }

    .serviceBlock .boxInner .box .item h4 {
        text-align: center;
        font-size: 1.2rem;
        color: #565243;
        padding-top: 0.6rem;
        letter-spacing: -0.05em;
    }

    .serviceBlock .boxInner .box .item h4 span {
        font-size: 0.8rem;
    }

    .serviceBlock .boxInner .box h3 {
        font-size: 1.4rem;
        font-weight: bold;
        text-align: center;
        padding-bottom: 1.2rem;
    }

    /***********************************************************
  
  	 exampleBlock
  
  	***********************************************************/
    .exampleBlock {
        padding: 3.5rem 0 4rem 0;
    }

    .exampleBlock .btnBorder {
        padding-top: 2rem;
    }

    .sliderArea {
        overflow: hidden;
    }

    .sliderArea .sliderWide {
        max-width: 100%;
        margin: 0 auto;
        padding: 30px 0 0 0;
    }

    .sliderArea .sliderWide .slick-arrow {
        opacity: 0;
        transition-duration: 0.3s;
    }

    .sliderWide:hover .slick-arrow {
        opacity: 1;
    }

    .slider {
        max-width: 80%;
    }

    .slider .slick-list {
        overflow: visible;
    }

    .slider .slick-slide {
        width: 100%;
        margin: 0 0.8rem;
        transition-duration: 0.3s;
    }

    .slider .slick-slide.slick-current {
        opacity: 1;
    }

    .slider .slick-slide a {
        display: block;
    }

    .slider .slick-slide a a:hover {
        display: block;
    }

    .slider li {
        max-width: 280px;
    }

    .slider .sliderWrap {
        max-width: 280px;
    }

    .slider .sliderWrap a:hover {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        transform: translate(0px, 0px);
    }

    .slider .sliderInner {
        display: block;
    }

    .slider .sliderInner .sliderImage {
        width: 100%;
        position: relative;
        overflow: hidden;
        height: 220px;
    }

    .slider .sliderInner .sliderImage img {
        position: absolute;
        top: 50%;
        left: 50%;
        margin: auto;
        transform: scale(1) translate(-50%, -50%);
    }

    .slider .sliderInner .sliderData {
        width: 100%;
        display: block;
    }

    .slider .sliderInner .sliderDataBox {
        width: 80%;
        margin: 0 auto;
        padding: 1.4rem 0;
    }

    .slider .sliderInner .sliderDataBox .nameInner,
    .slider .sliderInner .sliderDataBox .category {
        width: 100%;
        display: block;
    }

    .slider .sliderInner .sliderDataBox .nameInner {
        width: 100%;
        margin-bottom: 1rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .slider .sliderInner .sliderDataBox .nameInner .title {
        width: auto;
    }

    .slider .sliderInner .sliderDataBox .nameInner .title h3 {
        font-size: 1.6rem;
        color: #565243;
        font-weight: bold;
    }

    .slider .sliderInner .sliderDataBox .nameInner .day {
        width: auto;
    }

    .slider .sliderInner .sliderDataBox .nameInner .day p {
        text-align: right;
        font-size: 1rem;
        letter-spacing: 0;
        color: #968f74;
    }

    .slider .sliderInner .sliderDataBox .category {
        display: table-cell;
        color: #fff;
        letter-spacing: 0.05em;
        font-size: 0.9rem;
        padding: 0.2rem 1rem;
    }

    .slider .sliderInner .sliderDataBox .category.type01 {
        background: #6faa93;
    }

    .slider .sliderInner .sliderDataBox .category.type02 {
        background: #a08758;
    }

    .slider .sliderInner .sliderDataBox .category.type03 {
        background: #5f71a6;
    }

    .slider .sliderInner .sliderDataBox .category.type04 {
        background: #6aa7d6;
    }

    .slider .sliderInner .sliderDataBox .category.type05 {
        background: #a75c38;
    }

    .slider .sliderInner .sliderDataBox .category.type06 {
        background: #bd4c6d;
    }

    .slider .sliderInner .sliderDataBox .category.type07 {
        background: #94a062;
    }

    .slider .sliderInner .sliderDataBox .category.type08 {
        background: #6b3f79;
    }

    .slider .sliderInner .sliderDataBox .category.type09 {
        background: #bfb23f;
    }

    .slider .sliderInner .sliderDataBox .text {
        margin-top: 1rem;
        color: #565243;
        font-size: 1.4rem;
        line-height: 2.4rem;
    }

    .slick-prev,
    .slick-next {
        z-index: 1;
    }

    .slick-dots {
        bottom: -33px;
    }

    .slider-dots {
        margin-top: 25px;
        text-align: center;
    }

    .slider-dots li {
        display: inline-block;
        margin: 0 18px;
    }

    .slider-dots li button {
        position: relative;
        text-indent: -9999px;
    }

    .slider-dots li button:before {
        content: '';
        text-indent: 0px;
        position: absolute;
        top: 0;
        left: 0;
        width: 10px;
        height: 10px;
        background: #494542;
        border-radius: 1000px;
        border: 3px solid #fff;
    }

    .slider-dots li.slick-active button:before {
        content: '';
        background: #fff;
        border-radius: 1000px;
        border: 3px solid #494542;
    }

    /***********************************************************
  
  	 newsBlock
  
  	***********************************************************/
    .newsBlock {
        background: #565243;
        padding: 3.5rem 0 4rem 0;
    }

    .newsBlock .ttlBlock {
        width: 90%;
        max-width: initial;
        margin: 0 auto;
    }

    .newsBlock h2 {
        font-size: 1.8rem;
    }

    .newsBlock .allView {
        padding-top: 0.8rem;
    }

    .newsBlock .allView a:hover {
        color: #cdad58 !important;
    }

    .newsBlock .allView a:hover::after {
        background-image: url(../img/arrow03.svg) !important;
        background-repeat: no-repeat;
        right: -1rem;
    }

    .newsBlock .newsList {
        width: 90%;
        max-width: initial;
        margin: 0 auto;
    }

    .newsBlock .newsList dl a {
        display: block;
    }

    .newsBlock .newsList dl a dt {
        display: inline-block;
        margin-right: 0rem;
        line-height: 105%;
        font-size: 1rem;
    }

    .newsBlock .newsList dl a dd {
        font-size: 1.2rem;
        line-height: 1.8rem;
        padding-top: 0.4rem;
    }

    .newsBlock .newsList dl a:hover {
        background: none;
        color: #ffffff;
    }

    .newsBlock .newsList dl a.link dd {
        margin-right: 0rem;
    }

    .newsBlock .newsList dl a.link dd::after {
        background-size: 10px 9px;
    }

    .newsBlock .newsList dl a.link:hover dd::after {
        background: url(../img/link_white.png) 95% center no-repeat;
        background-size: 10px 9px;
    }

    .newsBlock .newsList dl a.pdf dd {
        margin-right: 0rem;
    }

    .newsBlock .newsList dl a.pdf dd::after {
        content: 'PDF';
        color: #ffffff;
        display: inline-block;
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-right: 1rem;
        background: #cb1f1f;
    }

    .newsBlock .newsList dl a.pdf:hover dd::after {
        content: 'PDF';
        color: #ffffff;
        display: inline-block;
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-right: 1rem;
        background: #cb1f1f;
    }

    /***********************************************************
  
  	 accessBlock
  
  	***********************************************************/
    .accessBlock {
        width: 90%;
        max-width: initial;
        margin: 0 auto;
        padding: 4.5rem 0;
        display: block;
    }

    .accessBlock h2 {
        color: #322f25;
        color: #322f25;
        letter-spacing: 0.4rem;
        font-size: 3rem;
        text-align: center;
        font-weight: bold;
        background: url(../img/title_border.svg) center bottom no-repeat;
        background-size: 35px 2px;
        padding: 0 0 2rem 0;
        margin: 0 0 3rem 0;
    }
}

@media screen and (max-width: 767px) and (max-width: 48em) {
    .accessBlock h2 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .accessBlock h3 {
        font-size: 2.4rem;
        line-height: 3.0rem;
        font-weight: bold;
        padding-bottom: -1.5rem;
        text-align: center;
    }

    .accessBlock h3 span {
        font-size: 1.4rem;
    }

    .accessBlock .mapInner {
        width: 100%;
        height: 100%;
        min-height: 100%;
        max-height: 100%;
        order: 1;
    }

    .accessBlock .mapBox {
        height: 0;
        overflow: hidden;
        padding-bottom: 83.25%;
        position: relative;
    }

    .accessBlock .mapBox iframe {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
    }

    .accessBlock .infoBox {
        width: 100%;
        order: 2;
        padding-top: 0rem;
    }

    .accessBlock .infoBox p {
        color: #565243;
        font-size: 1.3rem;
        line-height: 2.5rem;
        text-align: center;
    }

    .accessBlock .infoBox .btnBorderAccess {
        margin: 1.5rem auto 2.5rem auto;
    }
}

.casestudy .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.casestudy .pageTitle {
    background: url(../img/casestudy/casestudy_mv.jpg) center top no-repeat;
    background-size: cover;
}

.casestudy .block01 {
    margin-bottom: 10rem;
}

.casestudy .block01 h2 {
    margin-top: 7.5rem;
}

.casestudy .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.casestudy .block01 .selectBlock {
    background: #f7f5f0;
    margin: 5.6rem 0 6rem 0;
}

.casestudy .block01 .selectBlock .inner {
    padding: 4.5rem 0 3.6rem 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.casestudy .block01 .selectBlock .inner p {
    text-align: left;
}

.casestudy .block01 .selectBlock .inner .title {
    width: 20.2%;
}

.casestudy .block01 .selectBlock .inner .title p {
    font-size: 1.6rem;
    line-height: 100%;
    border-left: 3px solid #cdad58;
    padding-left: 16px;
}

.casestudy .block01 .selectBlock .inner .sceneBox {
    width: 75%;
}

.casestudy .block01 .selectBlock .inner .sceneBox ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.casestudy .block01 .selectBlock .inner .sceneBox ul li {
    width: 22.7%;
    padding-bottom: 2.6rem;
}

.casestudy .block01 .selectBlock .inner .sceneBox ul li a {
    display: inline-block;
    position: relative;
    border-bottom: 1px solid #322f25;
}

.casestudy .block01 .selectBlock .inner .sceneBox ul li a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #f7f5f0;
    transition: all 0.3s ease 0s;
}

.casestudy .block01 .selectBlock .inner .sceneBox ul li a:hover {
    opacity: 0.75;
}

.casestudy .block01 .selectBlock .inner .sceneBox ul li a:hover::after {
    width: 100%;
}

.casestudy .block01 .selectBlock .inner .sceneBox .selectBlock {
    display: none;
}

.casestudy .block01 .caseListBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    gap: 4rem;
}

.casestudy .block01 .caseListBox .caseSingle {
    width: 30.9%;
    margin: 3rem 0 0 0;
}

.casestudy .block01 .caseListBox .caseSingle:nth-of-type(3),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(6),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(9),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(12),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(15),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(18),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(21),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(24),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(27),
.casestudy .block01 .caseListBox .caseSingle:nth-of-type(30) {
    margin: 3rem 0 0 0;
}

.casestudy .block01 .caseListBox .caseSingle a {
    display: block;
}

.casestudy .block01 .caseListBox .caseSingle a:hover {
    opacity: 0.75;
}

.casestudy .block01 .caseListBox .caseSingle p {
    color: #565243;
    text-align: left;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.casestudy .block01 .caseListBox .caseSingle .caseImage {
    position: relative;
    overflow: hidden;
    height: 260px;
    width: 100%;
    padding-top: 70%;
    overflow: hidden;
    margin: 0 auto;
    /*
  & p.category{
      position: absolute;
      right: 0;
      bottom: 0;
      @include white;
      letter-spacing: 0;
      font-weight: normal;
      font-size: pxToRem(12);
      line-height: pxToRem(24);
      padding: 0 pxToRem(8); 
  }
  & .type01{ //会議・ミーティング
      background: rgba(111,170,147,0.9);
  }
  & .type02{ //展示会・即売会
      background: rgba(160,135,88,0.9);
  }
  & .type03{ //会社説明会・試験
      background: rgba(95,113,166,0.9);
  }
  & .type04{ //研修・セミナー
      background: rgba(106,167,214,0.9);
  }
  & .type05{ //学会・シンポジウム
      background: rgba(167,92,56,0.9);
  }
  & .type06{ //株主総会・講習会
      background: rgba(189,76,109,0.9);
  }
  & .type07{ //懇親会・パーティー
      background: rgba(148,160,98,0.9);
  }
  & .type08{ //勉強会・スクーリング
      background: rgba(107,63,121,0.9);
  }
  & .type09{ //Web会議・ウェビナー
      background: rgba(191, 178, 63, 0.9);
  }
  */
}

.casestudy .block01 .caseListBox .caseSingle .caseImage img {
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 105%;
    max-height: 105%;
    min-width: 100%;
    min-height: 100%;
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-end;
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox p.category {
    display: inline-block;
    color: #fff;
    letter-spacing: 0;
    font-weight: normal;
    font-size: 1.2rem;
    line-height: 2.4rem;
    padding: 0 0.8rem;
    margin-top: 0.1rem;
    margin-right: 0.1rem;
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox p.category:last-of-type {
    margin-right: 0rem;
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type01 {
    background: rgba(111, 170, 147, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type02 {
    background: rgba(160, 135, 88, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type03 {
    background: rgba(95, 113, 166, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type04 {
    background: rgba(106, 167, 214, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type05 {
    background: rgba(167, 92, 56, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type06 {
    background: rgba(189, 76, 109, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type07 {
    background: rgba(148, 160, 98, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type08 {
    background: rgba(107, 63, 121, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox .type09 {
    background: rgba(191, 178, 63, 0.9);
}

.casestudy .block01 .caseListBox .caseSingle .seminarName {
    color: #565243;
    font-size: 2rem;
    background: url("../img/border.svg") left center no-repeat;
    padding-left: 2.8rem;
    margin: 2.4rem 0 0.4rem 0;
}

.casestudy .block01 .caseListBox .caseSingle dl {
    padding: 1.5rem 0;
    display: flex;
}
.casestudy .block01 .caseListBox .caseSingle dl.venue {
    padding: 0 0 1.5rem 0;
}
.casestudy .block01 .caseListBox .caseSingle dl dt {
    width: 18%;
    margin-right: 2rem;
    font-size: 1.5rem;
}
.casestudy .block01 .caseListBox .caseSingle dl dd {
    width: 78%;
    font-weight: normal;
    position: relative;
    padding-left: 2rem;
}
.casestudy .block01 .caseListBox .caseSingle dl dd::before {
    content: '';
    display: inline-block;
    background: #565243;
    height: 100%;
    width: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
}


@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    .casestudy .block01 .caseListBox .caseSingle .caseImage {
        position: relative;
        overflow: hidden;
        height: 235px;
        width: 100%;
        padding-top: 70%;
        overflow: hidden;
        margin: 0 auto;
    }

    .casestudy .block01 .caseListBox .caseSingle .caseImage img {
        position: absolute;
        margin: auto;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        max-width: 150%;
        max-height: 150%;
        min-width: 100%;
        min-height: 100%;
    }
}

.casestudy.page .pageTitleDetail {
    background: url(../img/casestudy/casestudy_detail_mv.jpg) center top no-repeat;
    background-size: cover;
}

.casestudy.page .block01 .mainBox {
    margin-top: 8rem;
}

.casestudy.page .block01 .mainBox .mainImage {
    width: 100%;
}

.casestudy.page .block01 .mainBox .mainImage img {
    min-width: 100%;
    min-height: 100%;
    height: 56rem;
    object-fit: cover;
}

.casestudy.page .block01 .mainBox .mainData {
    width: 100%;
    color: #565243;
}

.casestudy.page .block01 .mainBox .mainData p {
    text-align: left;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.casestudy.page .block01 .mainBox .mainData .category {
    display: inline-block;
    color: #fff;
    letter-spacing: 0;
    font-weight: normal;
    font-size: 1.2rem;
    line-height: 2.4rem;
    padding: 0.1rem 1rem;
    margin-right: 1rem;
}

.casestudy.page .block01 .mainBox .mainData .category:last-of-type {
    margin-right: 0rem;
}

.casestudy.page .block01 .mainBox .mainData .type01 {
    background: rgba(111, 170, 147, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type02 {
    background: rgba(160, 135, 88, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type03 {
    background: rgba(95, 113, 166, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type04 {
    background: rgba(106, 167, 214, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type05 {
    background: rgba(167, 92, 56, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type06 {
    background: rgba(189, 76, 109, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type07 {
    background: rgba(148, 160, 98, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type08 {
    background: rgba(107, 63, 121, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .type09 {
    background: rgba(191, 178, 63, 0.9);
}

.casestudy.page .block01 .mainBox .mainData .infoBox {
    margin: 2.2rem 0 1.6rem 0;
}

.casestudy.page .block01 .mainBox .mainData .infoBox .listBox {
    display: flex;
    gap: 40px;
}

.casestudy.page .block01 .mainBox .mainData .infoBox .listBox .listBox_left,
.casestudy.page .block01 .mainBox .mainData .infoBox .listBox .listBox_right {
    width: calc((100% / 2) - 40px);
}

.casestudy.page .block01 .mainBox .mainData .infoBox dl {
    margin-bottom: 1.5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}

.casestudy.page .block01 .mainBox .mainData .infoBox dl dt {
    width: 37%;
    font-size: 1.5rem;
    font-weight: bold;
    margin-right: 1.1rem;
    position: relative;
}

.casestudy.page .block01 .mainBox .mainData .infoBox dl dt::after {
    position: absolute;
    content: '|';
    top: 0;
    right: 0;
    color: #565243;
    font-weight: normal;
}

.casestudy.page .block01 .mainBox .mainData .infoBox dl dd {
    width: 63%;
    font-size: 1.4rem;
    line-height: 2.4rem;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .slick01 .slick-slide img {
    width: 100%;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .caption {
    margin-top: 1.5rem;
    font-size: 1.5rem;
    text-align: center;
    color: #565243;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .slick01-thumb {
    margin-top: 3.2rem;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .slick01-thumb .slick-track li {
    width: 20.5rem !important;
    margin-right: 1.8rem;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .slick01-thumb .slick-track li:last-child {
    margin-right: 0;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .slick01.slick01-thumb img {
    width: 100%;
    cursor: pointer;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .dotsArea .slick-dots {
    position: relative;
    bottom: -20px;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .dotsArea .slick-dots li button {
    background: #918A71;
    border-radius: 50%;
    width: 5px;
    height: 5px;
}
.casestudy.page .block01 .mainBox .mainData .stateBox .dotsArea .slick-dots li.slick-active button {
    background: #322F25;
}

.casestudy.page .block01 .mainBox .mainData .stateBox .dotsArea .slick-dots li button:before{
    display: none;
}

.casestudy.page .block01 .mainBox .mainData .voiceBox p {
    font-size: 2rem;
    margin-bottom: 2.8rem;
}

.casestudy.page .block01 .mainBox .mainData .voiceBox p strong {
    font-weight: bold;
}

.casestudy.page .block01 .mainBox .mainData .voiceBox p i {
    font-style: italic;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox p.t-center {
    text-align: center;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox blockquote {
    background: #F7F5F0;
    padding: 0.7rem 2.5rem;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox p a {
    color: #CDAD58;
    display: inline
    position: relative;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox p a:after {
content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #CDAD58;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 0.4s ease;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox p a:hover::after {
    transform: scaleX(0);
    transform-origin: left;
    animation: underline-flow 0.4s forwards;
}
@keyframes underline-flow {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }
    100% {
        transform: scaleX(1);
        transform-origin: left;
    }
}
.casestudy.page .block01 .mainBox .mainData .voiceBox p.t-linkBlank {
    position: relative;
    display: inline-block;
    padding-right: 1.6rem;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox p.t-linkBlank::after {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1rem;
    height: 0.8rem;
    background: url(../img/column/anothor.png) no-repeat;
    background-size: 10px auto;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox ul,
.casestudy.page .block01 .mainBox .mainData .voiceBox ol {
    border: 1px solid #F7F5F0;
    padding: 1.5rem 2rem;
    margin-bottom: 2.8rem;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox ul li,
.casestudy.page .block01 .mainBox .mainData .voiceBox ol li {
    position: relative;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox ul li {
    padding-left: 1.5rem;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox ul li::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    background: #CDAD58;
    border-radius: 50%;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox ol {
    counter-reset: number;
    list-style-type: none !important;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox ol li {
    padding-left: 4rem;
}
.casestudy.page .block01 .mainBox .mainData .voiceBox ol li::before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #CDAD58;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    font-size: 1.6rem;
    border-radius: 50%;
    left: 0;
    width: 28px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    padding-left: 2px;
}

.casestudy.page .block01 .mainBox .mainData .linkBox .btnArea {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .facilityBtn,
.casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .priceBtn {
    border: 2px solid #322F25;
}

.casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .facilityBtn a,
.casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .priceBtn a {
    display: block;
    padding: 1.6rem 2rem;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: normal;
    width: 24.6rem;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background: url(../img/arrow.svg) 95% center no-repeat;
}

.casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .facilityBtn a:hover,
.casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .priceBtn a:hover {
    color: #fff;
    background: url(../img/arrow_hover.svg) 97% center no-repeat #322f25;
}

.casestudy.page .block01 .mainList {
    margin-top: 5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.casestudy.page .block01 .mainList .mainListSingle {
    width: 30.9%;
    margin-right: 3.6%;
}

.casestudy.page .block01 .mainList .mainListSingle .image {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 220px;
}

.casestudy.page .block01 .mainList .mainListSingle .image img {
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 150%;
    max-height: 150%;
    min-width: 100%;
    min-height: 100%;
}

.casestudy.page .block01 .mainList .mainListSingle:last-of-type {
    margin-right: 0%;
}

.casestudy.page .block01 .mainList .mainListSingle p {
    text-align: center;
    color: #565243;
    font-size: 1.6rem;
    margin-top: 1.8rem;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    .casestudy.page .block01 .mainBox .mainData .infoBox dl dt {
        width: 22.1%;
    }
}

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

    /*
  input[type="text"] {
      box-sizing: border-box;
      width: 100%;
      font-size: 16px;
      transform: scale(calc(12 / 16));
  }
  select {
      box-sizing: border-box;
      width: 100%;
      font-size: 16px;
      transform: scale(calc(12 / 16));
  }
  */
    .casestudy .inner {
        width: auto;
        max-width: initial;
    }

    .casestudy .pageTitle {
        background: url(../img/casestudy/sp_casestudy_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .casestudy .block01 {
        margin-bottom: 3rem;
    }

    .casestudy .block01 h2 {
        margin-top: 4.5rem;
    }

    .casestudy .block01 p {
        font-size: 1.3rem;
        line-height: 2.5rem;
    }

    .casestudy .block01 .selectBlock {
        margin: 3.5rem 0 4rem 0;
    }

    .casestudy .block01 .selectBlock .inner {
        display: block;
        width: auto;
        max-width: initial;
        padding: 3rem 0 2.6rem 0;
        margin: 0 2rem;
    }

    .casestudy .block01 .selectBlock .inner .title {
        width: auto;
    }

    .casestudy .block01 .selectBlock .inner .title p {
        font-size: 1.4rem;
        line-height: 100%;
        padding-left: 1rem;
        margin-bottom: 1.8rem;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox {
        width: auto;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox ul {
        display: none;
        padding: 0;
        margin: 0;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox .selectBlock {
        display: block;
        overflow: hidden;
        width: 100%;
        margin: 0;
        text-align: center;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox .selectBlock select {
        width: 100%;
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox .selectBlock select::-ms-expand {
        display: none;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox .selectBlock.selectStyle {
        position: relative;
        border: 1px solid #eeeeee;
        background: #ffffff;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox .selectBlock.selectStyle::before {
        position: absolute;
        top: 1em;
        right: 0.9em;
        width: 0;
        height: 0;
        padding: 0;
        content: '';
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid #322f25;
        pointer-events: none;
    }

    .casestudy .block01 .selectBlock .inner .sceneBox .selectBlock.selectStyle select {
        padding: 8px 38px 8px 8px;
        color: #322f25;
    }

    .casestudy .block01 .caseListBox {
        margin: 0 2rem;
        display: block;
    }

    .casestudy .block01 .caseListBox .caseSingle {
        width: 100%;
        margin: 3rem 0 0 0;
    }

    .casestudy .block01 .caseListBox .caseSingle a {
        -webkit-tap-highlight-color: transparent;
    }

    .casestudy .block01 .caseListBox .caseSingle a:hover {
        opacity: 1.0;
    }

    .casestudy .block01 .caseListBox .caseSingle p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .casestudy .block01 .caseListBox .caseSingle .caseImage {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 220px;
        /*
    & p.category{
        font-size: pxToRem(10);
    }
    */
    }

    .casestudy .block01 .caseListBox .caseSingle .caseImage img {
        position: absolute;
        top: 50%;
        left: 50%;
        margin: auto;
        transform: scale(1) translate(-50%, -50%);
    }

    .casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox {
        position: absolute;
        right: 0;
        bottom: 0;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: flex-end;
    }

    .casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox p.category {
        display: inline-block;
        color: #fff;
        letter-spacing: 0;
        font-weight: normal;
        font-size: 1rem;
        line-height: 1.8rem;
        padding: 0 0.6rem;
        margin-top: 0.1rem;
        margin-right: 0.1rem;
    }

    .casestudy .block01 .caseListBox .caseSingle .caseImage .categoryBox p.category:last-of-type {
        margin-right: 0rem;
    }

    .casestudy .block01 .caseListBox .caseSingle .seminarName {
        font-size: 1.6rem;
        background-size: 1.5rem 0.2rem;
        padding-left: 2.5rem;
        margin: 1rem 0 0.6rem 0;
    }

    .casestudy .block01 .caseListBox .caseSingle dl.venue {
        padding: 0 0 0.8rem 0;
    }

    .casestudy .block01 .caseListBox .caseSingle dl dt {
        font-size: 1.3rem;
    }

    .casestudy .block01 .caseListBox .caseSingle dl dd {
        font-size: 1.2rem;
    }

    .casestudy.page .inner {
        width: auto;
        max-width: initial;
        margin: 0 2rem;
    }

    .casestudy.page .block01 .mainBox {
        margin-top: 5rem;
        display: block;
    }

    .casestudy.page .block01 .mainBox .mainImage {
        width: 100%;
        max-width: initial;
        position: relative;
        overflow: hidden;
        height: 216px;
    }

    .casestudy.page .block01 .mainBox .mainImage img {
        min-width: 100%;
        min-height: 100%;
        height: 21.6rem;
        object-fit: cover;
    }

    .casestudy.page .block01 .mainBox .mainData {
        width: 100%;
        max-width: initial;
        margin-top: 1.8rem;
    }

    .casestudy.page .block01 .mainBox .mainData p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .casestudy.page .block01 .mainBox .mainData .category {
        font-size: 0.9rem;
        line-height: 1.4rem;
        padding: 0.5rem 1rem;
        margin-right: 0.8rem;
    }

    .casestudy.page .block01 .mainBox .mainData .category:last-of-type {
        margin-right: 0rem;
    }

    .casestudy.page .block01 .mainBox .mainData .infoBox {
        margin: 1.5rem 0 0 0;
    }

    .casestudy.page .block01 .mainBox .mainData .infoBox .listBox {
        flex-direction: column;
        gap: 0;
    }

    .casestudy.page .block01 .mainBox .mainData .infoBox .listBox .listBox_left,
    .casestudy.page .block01 .mainBox .mainData .infoBox .listBox .listBox_right {
        width: 100%;
    }

    .casestudy.page .block01 .mainBox .mainData .infoBox dl {
        margin-bottom: 1rem;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: stretch;
    }

    .casestudy.page .block01 .mainBox .mainData .infoBox dl dt {
        width: 28%;
        max-width: 166px;
        font-size: 1.3rem;
        font-weight: bold;
        margin-right: 1.1rem;
        position: relative;
    }

    .casestudy.page .block01 .mainBox .mainData .infoBox dl dt::after {
        position: absolute;
        content: '|';
        top: 0;
        right: 0;
        color: #565243;
        font-weight: normal;
    }

    .casestudy.page .block01 .mainBox .mainData .infoBox dl dd {
        width: 70%;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .casestudy.page .block01 .mainBox .mainData .stateBox .caption {
        font-size: 1.3rem;
        text-align: left;
    }

    .casestudy.page .block01 .mainBox .mainData .stateBox .slick01-thumb {
        margin-top: 1.8rem;
        white-space: nowrap;
    }

    .casestudy.page .block01 .mainBox .mainData .stateBox .slick01-thumb .slick-track {
        display: flex !important;
    }

    .casestudy.page .block01 .mainBox .mainData .stateBox .slick01-thumb .slick-track .slick-slide {
        float: none !important;
        display: inline-block;
    }

    .casestudy.page .block01 .mainBox .mainData .stateBox .slick01-thumb .slick-track li {
        width: 10.5rem !important;
        margin-right: 1rem;
    }

    .casestudy.page .block01 .mainBox .mainData .stateBox .caption {
        margin-top: 1rem;
    }

    .casestudy.page .block01 .mainBox .mainData .stateBox .dotsArea .slick-dots {
        bottom: -10px;
    }

    .casestudy.page .block01 .mainBox .mainData .voiceBox p {
        font-size: 1.3rem;
    }

    .casestudy.page .block01 .mainBox .mainData .linkBox .btnArea {
        gap: 25px;
    }

    .casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .facilityBtn a,
    .casestudy.page .block01 .mainBox .mainData .linkBox .btnArea .priceBtn a {
        padding: 1rem 1.5rem;
        font-size: 1.2rem;
        width: 15rem;
    }

    .casestudy.page .block01 .mainList {
        margin: 0.5rem 2rem 0 2rem;
        display: block;
    }

    .casestudy.page .block01 .mainList .mainListSingle {
        width: auto;
        margin-top: 2rem;
        margin-right: 0;
    }

    .casestudy.page .block01 .mainList .mainListSingle .image {
        width: 100%;
        position: relative;
        overflow: hidden;
        height: 155px;
    }

    .casestudy.page .block01 .mainList .mainListSingle .image img {
        position: absolute;
        top: 50%;
        left: 50%;
        margin: auto;
        transform: scale(1) translate(-50%, -50%);
    }

    .casestudy.page .block01 .mainList .mainListSingle p {
        font-size: 1.6rem;
        margin-top: 1rem;
    }
}

.contact .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.contact .pageTitle {
    background: url(../img/contact/contact_mv.jpg) center top no-repeat;
    background-size: cover;
}

.contact .block01 h2 {
    color: #565243;
    letter-spacing: 0.4rem;
    font-size: 3rem;
    text-align: left;
    font-weight: bold;
    background: none;
    padding: 7.5rem 0 1.2rem 0;
    margin: 0;
}

.contact .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.contact .block01 p a {
    color: #cdad58;
    text-decoration: none;
    border-bottom: 1px solid #cdad58;
    padding-bottom: 0.1rem;
    transition: all 0.3s ease 0s;
}

.contact .block01 p a:hover {
    opacity: 0.75;
    text-decoration: none;
    border-bottom: 1px solid #ffffff;
    transition: all 0.3s ease 0s;
}

.contact .block01 .firstBox {
    padding: 7.5rem 0;
}

.contact .block01 .firstBox p {
    font-size: 1.5rem;
    line-height: 3.2rem;
    text-align: center;
}

.contact .block01 .contentsBg {
    padding: 7.5rem 0;
}

.contact .block01 .contentsBg .contactTypeInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle {
    width: 20.9%;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle h3 {
    text-align: center;
    color: #565243;
    font-size: 2rem;
    font-weight: bold;
    padding: 2rem 0;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .telbtn a {
    display: block;
    position: relative;
    font-size: 1.8rem;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    background: #565243;
    padding: 1.2rem 0;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .telbtn a::before {
    content: '';
    display: inline-block;
    width: 17px;
    height: 17px;
    background-image: url(../img/contact/tel.svg);
    background-size: contain;
    vertical-align: middle;
    margin-right: 1rem;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .telbtn a:hover {
    opacity: 0.75;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .mailbtn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    display: block;
    position: relative;
    font-size: 1.4rem;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    background: #565243;
    padding: 1.5rem 0;
    letter-spacing: 0;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .mailbtn a::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 14px;
    background-image: url(../img/contact/mail.svg);
    background-size: contain;
    vertical-align: middle;
    margin-right: 0.8rem;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .mailbtn a:hover {
    opacity: 0.75;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    display: block;
    position: relative;
    font-size: 1.4rem;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    background: #565243;
    padding: 1.5rem 0;
    transition: all 0.3s ease 0s;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 6px;
    background-image: url(../img/contact/arrow.svg);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    left: 50%;
    bottom: 6px;
    transition: all 0.3s ease 0s;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a:hover {
    opacity: 0.75;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a:hover::after {
    bottom: 4px;
    transition: all 0.3s ease 0s;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .faxbtn {
    display: block;
    position: relative;
    font-size: 1.8rem;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    background: #565243;
    padding: 1.2rem 0;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .faxbtn::before {
    content: '';
    display: inline-block;
    width: 21px;
    height: 24px;
    background-image: url(../img/contact/fax.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 1rem;
}

.contact .block01 #contactform {
    width: 1000px;
    margin: 0 auto;
}

.contact .block01 .firsttext {
    text-align: left;
    border-bottom: 2px solid #e6e6e6;
    padding-bottom: 1.2rem;
}

.contact .block01 .firsttext::before {
    content: '必須';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1.2rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-right: 1rem;
    background: #cb1f1f;
}

.contact .block01 .contactBox {
    margin: 4.8rem 0 0 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.contact .block01 .contactBox .contactMenu {
    width: 29.5%;
    margin-top: 1.8rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.contact .block01 .contactBox .contactMenu p {
    text-align: left;
}

.contact .block01 .contactBox .contactMenu .menu {
    width: 70.1%;
}

.contact .block01 .contactBox .contactMenu .menu p {
    font-size: 1.5rem;
    font-weight: bold;
}

.contact .block01 .contactBox .contactMenu .hissu {
    width: 16.2%;
}

.contact .block01 .contactBox .contactMenu .hissu p {
    margin-top: 0.4rem;
    text-align: center;
    background: #cb1f1f;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
}

.contact .block01 .contactBox .contactForm {
    width: 65.5%;
}

.contact .block01 .contactBox .contactForm .smalltext {
    font-size: 1.2rem;
    text-align: left;
}

.contact .block01 .cp_ipselect {
    overflow: hidden;
    width: 53.4%;
    margin: 0;
    text-align: center;
}

.contact .block01 .cp_ipselect select {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.1em;
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.contact .block01 .cp_ipselect select::-ms-expand {
    display: none;
}

.contact .block01 .cp_ipselect.cp_sl01 {
    position: relative;
    background: #f3f3f3;
}

.contact .block01 .cp_ipselect.cp_sl01::before {
    position: absolute;
    top: 45%;
    right: 20px;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #565243;
    pointer-events: none;
}

.contact .block01 .cp_ipselect.cp_sl01 select {
    padding: 2.2rem 2rem 2.2rem 2rem;
    color: #cacaca;
    font-size: 1.4rem;
}

.contact .block01 .inputInner input,
.contact .block01 .inputInner textarea {
    color: #565243;
}

.contact .block01 .inputInner input:placeholder-shown,
.contact .block01 .inputInner textarea:placeholder-shown {
    color: #cacaca;
}

.contact .block01 .inputInner input::-webkit-input-placeholder,
.contact .block01 .inputInner textarea::-webkit-input-placeholder {
    color: #cacaca;
}

.contact .block01 .inputInner input:-ms-input-placeholder,
.contact .block01 .inputInner textarea:-ms-input-placeholder {
    color: #cacaca;
}

.contact .block01 .inputInner input[type="text"],
.contact .block01 .inputInner textarea {
    width: 100%;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    background-color: #f3f3f3;
    outline: 0;
}

.contact .block01 .inputInner input[type="text"],
.contact .block01 .inputInner textarea {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.1em;
    background: #f3f3f3;
    padding: 2.2rem 2rem 2.2rem 2rem;
    font-size: 14px;
    line-height: 1.5em;
    transition: border-color ease .2s;
}

.contact .block01 .inputInner input[type="text"]:focus,
.contact .block01 .inputInner textarea:focus {
    border-color: #369;
    border-color: #5f98e1;
}

.contact .block01 .inputInner textarea {
    width: 100%;
    min-height: 380px;
    line-height: 32px;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.1em;
}

.contact .block01 .contactBottom {
    margin: 6rem 0 10rem 0;
}

.contact .block01 .contactBottom .btn {
    width: 34%;
    max-width: 375px;
    margin: 5rem auto 0 auto;
}

.contact .block01 .contactBottom .btn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1.4rem;
    text-align: center;
    display: block;
    border: 2px solid #322f25;
    padding: 1.8rem 1.5rem;
    color: #ffffff;
    background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
}

.contact .block01 .contactBottom .btn a:hover {
    color: #322f25;
    background: url("../img/arrow.svg") 97% center no-repeat #ffffff;
}

.contact.confirm .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.contact.confirm .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.contact.confirm .block01 p a {
    color: #cdad58;
    text-decoration: none;
    border-bottom: 1px solid #cdad58;
    padding-bottom: 0.1rem;
    transition: all 0.3s ease 0s;
}

.contact.confirm .block01 p a:hover {
    opacity: 0.75;
    text-decoration: none;
    border-bottom: 1px solid #ffffff;
    transition: all 0.3s ease 0s;
}

.contact.confirm .block01 #contactform {
    width: 1000px;
    margin: 0 auto;
    padding: 7.5rem 0 0 0;
}

.contact.confirm .block01 .firsttext {
    text-align: left;
    border-bottom: 2px solid #e6e6e6;
    padding-bottom: 1.2rem;
}

.contact.confirm .block01 .firsttext::before {
    display: none;
}

.contact.confirm .block01 .contactBox {
    margin: 4rem 0 0 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.contact.confirm .block01 .contactBox .contactMenu {
    width: 29.5%;
    margin-top: 0rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.contact.confirm .block01 .contactBox .contactMenu p {
    text-align: left;
}

.contact.confirm .block01 .contactBox .contactMenu .menu {
    width: 100%;
}

.contact.confirm .block01 .contactBox .contactMenu .menu p {
    font-size: 1.5rem;
    font-weight: bold;
}

.contact.confirm .block01 .contactBox .contactMenu .hissu {
    display: none;
}

.contact.confirm .block01 .contactBox .contactForm {
    width: 65.5%;
}

.contact.confirm .block01 .contactBox .contactForm .smalltext {
    font-size: 1.2rem;
    text-align: left;
}

.contact.confirm .block01 .inputInner {
    color: #565243;
    font-size: 1.4rem;
    line-height: 3.2rem;
}

.contact.confirm .block01 .contactBottom {
    margin: 6rem 0 10rem 0;
}

.contact.confirm .block01 .contactBottom .return {
    text-align: center;
    margin-top: 2.5rem;
    font-size: 1.6rem;
}

.contact.confirm .block01 .contactBottom .return::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 12px;
    background-image: url(../img/contact/arrow02.svg);
    background-size: contain;
    vertical-align: middle;
    margin-right: 1rem;
}

.contact.complete .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.contact.complete .block01 {
    padding: 8rem 0 10rem 0;
}

.contact.complete .block01 h2 {
    color: #565243;
    letter-spacing: 0.4rem;
    font-size: 2rem;
    text-align: center;
    font-weight: bold;
    background: none;
    padding: 0;
    margin: 0;
}

.contact.complete .block01 p {
    color: #565243;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.8rem;
    padding: 2.5rem 0 6.5rem 0;
}

.contact.complete .block01 p a {
    color: #565243;
    text-decoration: none;
    border-bottom: none;
    padding-bottom: 0rem;
    transition: all 0.3s ease 0s;
}

.contact.complete .block01 p a:hover {
    opacity: 1.0;
    text-decoration: none;
    border-bottom: none;
    transition: all 0.3s ease 0s;
}

.contact.complete .block01 .btn {
    width: 34%;
    max-width: 375px;
    margin: 0 auto;
}

.contact.complete .block01 .btn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1.4rem;
    text-align: center;
    display: block;
    border: 2px solid #322f25;
    padding: 1.8rem 1.5rem;
    color: #ffffff;
    background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
}

.contact.complete .block01 .btn a:hover {
    color: #322f25;
    background: url("../img/arrow.svg") 97% center no-repeat #ffffff;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle h3 {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 767px) {
    .contact .inner {
        width: auto;
        max-width: initial;
    }

    .contact .pageTitle {
        background: url(../img/contact/sp_contact_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .contact .block01 h2 {
        color: #565243;
        letter-spacing: 0.4rem;
        font-size: 2rem;
        text-align: left;
        font-weight: bold;
        background: none;
        padding: 0 0 1.5rem 0;
        margin: 0 0 0 0;
    }

    .contact .block01 p {
        text-align: center;
        font-size: 1.5rem;
        line-height: 3.2rem;
    }

    .contact .block01 p a {
        color: #cdad58;
        text-decoration: none;
    }

    .contact .block01 p a:hover {
        opacity: 1.0;
        text-decoration: none;
    }

    .contact .block01 .firstBox {
        padding: 5rem 0 4rem 0;
    }

    .contact .block01 .firstBox p {
        font-size: 1.3rem;
        line-height: 2.5rem;
        text-align: center;
        margin: 0 4rem;
    }

    .contact .block01 .contentsBg {
        padding: 2rem 0 4.5rem 0;
    }

    .contact .block01 .contentsBg .contactTypeInner {
        display: block;
        margin: 0 4rem;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle {
        width: 100%;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle h3 {
        text-align: center;
        color: #565243;
        font-size: 1.5rem;
        font-weight: bold;
        padding: 2.2rem 0 1rem 0;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .image {
        display: none;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .telbtn a {
        display: block;
        position: relative;
        font-size: 2rem;
        color: #ffffff;
        font-weight: bold;
        text-align: center;
        background: #565243;
        padding: 0.9rem 0;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .telbtn a::before {
        content: '';
        display: inline-block;
        width: 23px;
        height: 23px;
        background-image: url(../img/contact/tel.svg);
        background-size: contain;
        vertical-align: middle;
        margin-right: 1rem;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .telbtn a:hover {
        opacity: 1.0;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .mailbtn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        display: block;
        position: relative;
        font-size: 1.6rem;
        color: #ffffff;
        font-weight: normal;
        text-align: center;
        background: #565243;
        padding: 1.2rem 0;
        letter-spacing: 0;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .mailbtn a::before {
        content: '';
        display: inline-block;
        width: 19px;
        height: 15px;
        background-image: url(../img/contact/mail.svg);
        background-size: contain;
        vertical-align: middle;
        margin-right: 0.8rem;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .mailbtn a:hover {
        opacity: 0.75;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        display: block;
        position: relative;
        font-size: 1.4rem;
        color: #ffffff;
        font-weight: bold;
        text-align: center;
        background: #565243;
        padding: 1.4rem 0;
        transition: all 0.3s ease 0s;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a::after {
        content: '';
        display: inline-block;
        width: 10px;
        height: 6px;
        background-image: url(../img/contact/arrow.svg);
        background-size: contain;
        vertical-align: middle;
        position: absolute;
        left: 50%;
        bottom: 6px;
        transition: all 0.3s ease 0s;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a:hover {
        opacity: 0.75;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a:hover::after {
        bottom: 6px;
        transition: all 0.3s ease 0s;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .faxbtn {
        display: block;
        position: relative;
        font-size: 2rem;
        color: #ffffff;
        font-weight: bold;
        text-align: center;
        background: #565243;
        padding: 0.9rem 0 1rem 0;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .faxbtn::before {
        content: '';
        display: inline-block;
        width: 25px;
        height: 27px;
        background-image: url(../img/contact/fax.png);
        background-size: contain;
        vertical-align: middle;
        margin-right: 1rem;
    }

    .contact .block01 .contentsBg .contactTypeInner .contactTypeSingle .faxbtn .image {
        display: none;
    }

    .contact .block01 #contactform {
        width: 90%;
        margin: 0 auto;
        padding: 4.5rem 0;
    }

    .contact .block01 .firsttext {
        text-align: left;
        border-bottom: 2px solid #e6e6e6;
        font-size: 1.2rem;
        padding-bottom: 0.2rem;
    }

    .contact .block01 .firsttext::before {
        content: '必須';
        color: #ffffff;
        display: inline-block;
        text-decoration: none !important;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-right: 0.5rem;
        background: #cb1f1f;
    }

    .contact .block01 .contactBox {
        margin: 2.2rem 0 0 0;
        display: block;
    }

    .contact .block01 .contactBox .contactMenu {
        width: 100%;
        margin: 1.8rem 0 1.2rem 0;
        display: block;
    }

    .contact .block01 .contactBox .contactMenu p {
        text-align: left;
    }

    .contact .block01 .contactBox .contactMenu .menu {
        width: 100%;
    }

    .contact .block01 .contactBox .contactMenu .menu p {
        font-size: 1.3rem;
        font-weight: bold;
        letter-spacing: 0.15em;
    }

    .contact .block01 .contactBox .contactMenu .menu p::after {
        content: '必須';
        color: #ffffff;
        display: inline-block;
        text-decoration: none !important;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-left: 1.3rem;
        background: #cb1f1f;
    }

    .contact .block01 .contactBox .contactMenu .hissu {
        display: none;
    }

    .contact .block01 .contactBox .contactForm {
        width: 100%;
    }

    .contact .block01 .contactBox .contactForm .smalltext {
        font-size: 1rem;
        line-height: 1.6rem;
        text-align: left;
        padding-top: 0.6rem;
    }

    .contact .block01 .cp_ipselect {
        overflow: hidden;
        width: 80%;
        margin: 0;
        text-align: center;
    }

    .contact .block01 .cp_ipselect select {
        font-family: 'Noto Sans JP', sans-serif;
        letter-spacing: 0.1em;
        width: 100%;
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .contact .block01 .cp_ipselect select::-ms-expand {
        display: none;
    }

    .contact .block01 .cp_ipselect.cp_sl01 {
        position: relative;
        background: #f3f3f3;
    }

    .contact .block01 .cp_ipselect.cp_sl01::before {
        position: absolute;
        top: 45%;
        right: 20px;
        width: 0;
        height: 0;
        padding: 0;
        content: '';
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 7px solid #565243;
        pointer-events: none;
    }

    .contact .block01 .cp_ipselect.cp_sl01 select {
        padding: 1.3rem 1.5rem 1.3rem 1.5rem;
        color: #cacaca;
        font-size: 1.2rem;
    }

    .contact .block01 .inputInner input,
    .contact .block01 .inputInner textarea {
        color: #565243;
    }

    .contact .block01 .inputInner input:placeholder-shown,
    .contact .block01 .inputInner textarea:placeholder-shown {
        color: #cacaca;
    }

    .contact .block01 .inputInner input::-webkit-input-placeholder,
    .contact .block01 .inputInner textarea::-webkit-input-placeholder {
        color: #cacaca;
    }

    .contact .block01 .inputInner input:-ms-input-placeholder,
    .contact .block01 .inputInner textarea:-ms-input-placeholder {
        color: #cacaca;
    }

    .contact .block01 .inputInner input[type="text"],
    .contact .block01 .inputInner textarea {
        width: 100%;
        border: none;
        border-radius: 0;
        padding: 0;
        margin: 0;
        background-color: #f3f3f3;
        outline: 0;
    }

    .contact .block01 .inputInner input[type="text"],
    .contact .block01 .inputInner textarea {
        font-family: 'Noto Sans JP', sans-serif;
        letter-spacing: 0.1em;
        background: #f3f3f3;
        padding: 1.3rem 1.5rem 1.3rem 1.5rem;
        font-size: 12px;
        line-height: 1.5em;
        transition: border-color ease .2s;
    }

    .contact .block01 .inputInner input[type="text"]:focus,
    .contact .block01 .inputInner textarea:focus {
        border-color: #369;
        border-color: #5f98e1;
    }

    .contact .block01 .inputInner textarea {
        width: 100%;
        min-height: 300px;
        line-height: 22px;
        font-family: 'Noto Sans JP', sans-serif;
        letter-spacing: 0.1em;
    }

    .contact .block01 .contactBottom {
        width: 90%;
        margin: 0rem auto 6rem auto !important;
    }

    .contact .block01 .contactBottom p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .contact .block01 .contactBottom .btn {
        width: 75%;
        max-width: initial;
        margin: 3.5rem auto 0 auto;
    }

    .contact .block01 .contactBottom .btn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.2rem;
        text-align: center;
        display: block;
        border: 2px solid #322f25;
        padding: 0.9rem 1.2rem;
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
        background-size: 6px auto;
    }

    .contact .block01 .contactBottom .btn a:hover {
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
    }

    .contact.confirm .inner {
        width: auto;
        max-width: initial;
    }

    .contact.confirm .block01 p {
        text-align: center;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .contact.confirm .block01 #contactform {
        width: 90%;
        margin: 0 auto;
        padding: 4.5rem 0 0 0;
    }

    .contact.confirm .block01 .firsttext {
        text-align: left;
        border-bottom: 2px solid #e6e6e6;
        padding-bottom: 0.8rem;
    }

    .contact.confirm .block01 .firsttext::before {
        display: none;
    }

    .contact.confirm .block01 .contactBox {
        margin: 2.2rem 0 0 0;
        display: block;
    }

    .contact.confirm .block01 .contactBox .contactMenu {
        width: 100%;
        margin: 0 0 1rem 0;
        display: block;
    }

    .contact.confirm .block01 .contactBox .contactMenu p {
        text-align: left;
    }

    .contact.confirm .block01 .contactBox .contactMenu .menu {
        width: 100%;
    }

    .contact.confirm .block01 .contactBox .contactMenu .menu p {
        font-size: 1.3rem;
        font-weight: bold;
    }

    .contact.confirm .block01 .contactBox .contactMenu .menu p::after {
        display: none;
    }

    .contact.confirm .block01 .contactBox .contactMenu .hissu {
        display: none;
    }

    .contact.confirm .block01 .contactBox .contactForm {
        width: 100%;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .contact.confirm .block01 .contactBox .contactForm .smalltext {
        font-size: 1.2rem;
        text-align: left;
    }

    .contact.confirm .block01 .inputInner {
        color: #565243;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .contact.confirm .block01 .contactBottom {
        margin: 4rem 0 4.5rem 0;
    }

    .contact.confirm .block01 .contactBottom .return {
        text-align: center;
        margin-top: 1.8rem;
        font-size: 1.3rem;
    }

    .contact.confirm .block01 .contactBottom .return::before {
        content: '';
        display: inline-block;
        width: 8px;
        height: 12px;
        background-image: url(../img/contact/arrow02.svg);
        background-size: contain;
        vertical-align: middle;
        margin-right: 1rem;
    }

    .contact.confirm .block01 .contactBottom .return a {
        text-decoration: none;
    }

    .contact.complete .inner {
        width: auto;
        max-width: initial;
    }

    .contact.complete .block01 {
        padding: 5rem 0;
    }

    .contact.complete .block01 h2 {
        color: #565243;
        letter-spacing: 0.2rem;
        font-size: 1.5rem !important;
        text-align: center;
        font-weight: bold;
        background: none;
        padding: 0;
        margin: 0 auto;
        width: 90%;
    }

    .contact.complete .block01 p {
        color: #565243;
        text-align: center;
        font-size: 1.2rem;
        line-height: 2.2rem;
        padding: 2.5rem 0 3rem 0;
        margin: 0 4rem;
    }

    .contact.complete .block01 p a {
        color: #cdad58;
        text-decoration: none;
        border-bottom: 1px solid #cdad58;
        padding-bottom: 0.1rem;
        transition: all 0.3s ease 0s;
    }

    .contact.complete .block01 p a:hover {
        opacity: 1.0;
        border-bottom: 1px solid #cdad58;
        transition: all 0.3s ease 0s;
    }

    .contact.complete .block01 .btn {
        width: 55%;
        max-width: initial;
        margin: 0 auto;
    }

    .contact.complete .block01 .btn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.2rem;
        text-align: center;
        display: block;
        border: 2px solid #322f25;
        padding: 0.9rem 1.2rem;
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
        background-size: 6px auto;
    }

    .contact.complete .block01 .btn a:hover {
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
    }
}

.facility .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.facility .pageTitle {
    background: url(../img/facility/facility_mv.jpg) center top no-repeat;
    background-size: cover;
}

.facility .block01 h2 {
    margin-top: 7.5rem;
}

.facility .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.facility .block01 .add p {
    text-align: right;
    font-size: 1.0rem;
    line-height: 1.6rem;
}

.facility .block01 .hallList {
    margin-top: 5.5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.facility .block01 .hallList .hallBox {
    width: 48.1%;
    margin-bottom: 4rem;
}

.facility .block01 .hallList .hallBox a {
    position: relative;
    display: block;
}

.facility .block01 .hallList .hallBox a .image {
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.facility .block01 .hallList .hallBox a .image img {
    display: block;
    transition: 0.5s;
}

.facility .block01 .hallList .hallBox a:hover {
    z-index: 1;
    opacity: 0.75;
}

.facility .block01 .hallList .hallBox a:hover .image img {
    transform: scale(1.1);
}

.facility .block01 .hallList .hallBox a .info {
    text-align: center;
    color: #322f25;
    width: 92.4%;
    margin: -4rem auto 0 auto;
    padding: 3.2rem 2.8rem;
    background: #ffffff;
    box-shadow: 0px 0px 10px 1px #dbdbdb;
    position: relative;
    z-index: 2 !important;
}

.facility .block01 .hallList .hallBox a .info h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 2.6rem;
    font-weight: 600;
    margin-bottom: 1rem;
    -webkit-transition: .3s;
    transition: .3s;
    letter-spacing: 0em;
}

.facility .block01 .hallList .hallBox a .info p {
    font-size: 1.4rem;
    line-height: 2.8rem;
    -webkit-transition: .3s;
    transition: .3s;
    letter-spacing: 0em;
}

.facility .block01 .hallList .hallBox a:hover .info {
    color: #cdad58;
}

.facility .block01 .hallList .hallBox a:hover .info h3 {
    letter-spacing: 0.1em;
    -webkit-transition: .3s;
    transition: .3s;
}

.facility .block01 .hallList .hallBox a:hover .info p {
    letter-spacing: 0.1em;
    -webkit-transition: .3s;
    transition: .3s;
}

.facility .block01 .btn {
    width: 34%;
    max-width: 375px;
    margin: 2rem auto 10rem auto;
}

.facility .block01 .btn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1.4rem;
    text-align: center;
    display: block;
    border: 2px solid #322f25;
    padding: 1rem 1.5rem;
    color: #ffffff;
    background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
}

.facility .block01 .btn a::before {
    content: '';
    display: inline-block;
    width: 23px;
    height: 28px;
    background-image: url("../img/pdf.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 1.4rem;
}

.facility .block01 .btn a:hover {
    color: #322f25;
    background: url("../img/arrow.svg") 97% center no-repeat #ffffff;
}

.facility .block01 .btn a:hover::before {
    background-image: url("../img/pdf_hover.svg");
}

.wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.facilityslider {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto 2rem auto;
}

.slide-item {
    position: relative;
}

.slide-item p {
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    background: rgba(189, 76, 109, 0.9);
    color: #fff;
    letter-spacing: 0;
    font-weight: normal;
    font-size: 1.1rem;
    line-height: 2.4rem;
    padding: 0 1rem;
}

.slide-item img {
    width: 100%;
}

.thumbnail-list {
    max-width: 1100px;
    width: 100%;
    margin: 0rem auto 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.thumbnail-item {
    margin: 0 1rem 1rem 1rem;
    box-sizing: border-box;
    position: relative;
    width: 9%;
    max-width: 100px;
    height: 6rem;
}

.thumbnail-itemwide {
    margin: 0 1rem 1rem 1rem;
    box-sizing: border-box;
    position: relative;
    width: 80%;
    max-width: 200px;
    height: 6rem;
}

.thumbnail-item::after {
    content: '';
    background-color: rgba(47, 43, 28, 0);
    opacity: 0;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: .3s opacity linear;
}

.thumbnail-item.thumbnail-current:after {
    background-color: rgba(0, 0, 0, 0.5);
}

.thumbnail-item img {
    width: 100%;
    margin: 0 auto;
}

_:-ms-fullscreen,
:root .thumbnail-item::after {
    width: 100px;
    max-width: 100px;
    height: 60px;
    overflow: visible;
    display: block;
}

_:-ms-fullscreen,
:root .thumbnail-current::after {
    width: 100px;
    max-width: 100px;
    height: 60px;
}

.facility.hall .pageTitleDetail {
    background: url(../img/casestudy/casestudy_detail_mv.jpg) center top no-repeat;
    background-size: cover;
}

.facility.hall .pageTitleDetail span {
    font-size: 1.4rem;
    font-weight: 300;
}

.facility.hall .block01 {
    padding-top: 8rem;
}

.facility.hall .block01 .pageMainBox h2 {
    background: none;
    padding: 0;
    margin: 5.5rem 0 1.5rem 0;
}

.facility.hall .block01 .priceBox {
    background: #f7f5f0;
    margin: 7.5rem 0 8rem 0;
    padding-bottom: 8rem;
}

.facility.hall .block01 .priceBox .inner {
    margin: 0 auto;
}

@media screen and (min-width: 769px) {
    .facility.hall .block01 .priceBox .inner {
        max-width: 1000px;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .facility.hall .block01 .priceBox .inner {
        max-width: initial;
        width: auto;
    }
}

.facility.hall .block01 .priceBox h3 {
    text-align: center;
    padding: 7.5rem 0 2rem 0;
    background: none;
    font-size: 2.6rem;
    margin: 0;
}

.facility.hall .block01 .priceBox h3::before {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 1rem;
}

.facility.hall .block01 .priceBox h3::after {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 1rem;
}

.facility.hall .block01 .priceBox table {
    width: 100%;
    padding: 0;
    margin: 3rem 0 0 0;
    border-top: 1px solid #918a71;
    border-left: 1px solid #918a71;
}

.facility.hall .block01 .priceBox table th {
    background: #918a71;
    border-bottom: 1px solid #918a71;
    border-right: 1px solid #918a71;
    font-size: 1.8rem;
    color: #ffffff;
    text-align: center;
    padding: 1.6rem 2rem;
}

.facility.hall .block01 .priceBox table th.cell01 {
    background: #ffffff;
    border-bottom: 1px solid #918a71;
    border-right: 1px solid #918a71;
    font-size: 1.4rem;
    color: #322f25;
    text-align: left;
    padding: 1.6rem 2rem;
    width: 22%;
    vertical-align: middle;
    text-align: center;
}

.facility.hall .block01 .priceBox table td {
    background: #ffffff;
    border-bottom: 1px solid #918a71;
    border-right: 1px solid #918a71;
    font-size: 1.4rem;
    color: #322f25;
    text-align: left;
    padding: 1.6rem 2rem;
}

.facility.hall .block01 .priceBox table td.cell03 {
    width: 28%;
    text-align: right;
}

.facility.hall .block01 .priceBox .tableBottomBox table {
    margin: 0;
    border-top: none;
}

.facility.hall .block01 .priceBox p.addition {
    text-align: left;
    padding: 1.4rem 0 0 0;
    font-size: 1.2rem;
    line-height: 2.2rem;
}

.facility.hall .block01 .priceBox h4 {
    font-size: 2rem;
    line-height: 100%;
    border-left: 3px solid #cdad58;
    padding-left: 1.6rem;
    margin: 2.3rem 0;
}

.facility.hall .block01 .priceBox .materialList {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.facility.hall .block01 .priceBox .materialList .materialSingle {
    width: 33.3%;
    margin-bottom: 1.2rem;
}

.facility.hall .block01 .priceBox .materialList .materialSingle a {
    display: block;
    color: #0068b7;
    text-decoration: underline;
}

.facility.hall .block01 .priceBox .materialList .materialSingle a.pdf::before {
    content: 'PDF';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-right: 1rem;
    background: #cb1f1f;
}

.facility.hall .block01 .priceBox .materialList .materialSingle a:hover {
    text-decoration: none;
    opacity: 0.75;
}

.facility.hall .bottomLinkArea .tabBox .tabsbtn {
    display: none;
}

.facility.hall .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA {
    display: block;
    margin-bottom: 5rem;
}

.facility.hall .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA:last-of-type {
    margin-bottom: 0rem;
}

.facility.hall .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA .contentInner .floorName {
    color: #322f25;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: left !important;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 100%;
    margin: 0;
}

_:-ms-fullscreen,
:root .facility.hall .block01 .priceBox .materialList .materialSingle a.pdf::before {
    text-decoration: none;
    text-decoration-color: #cb1f1f;
    -webkit-text-decoration-color: #cb1f1f;
}

.facility.hall.download .block01 {
    padding-top: 0rem;
}

.facility.hall.download .tabBoxInner {
    padding: 5.5rem 0 12rem 0;
}

.facility.hall.download .tabBoxInner .tabBox {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.facility.hall.download .tabBoxInner .tabBox .tabsbtn {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
}

.facility.hall.download .tabBoxInner .tabBox .tabsbtn li {
    background: #ffffff;
    width: 20.9%;
    max-width: 230px;
    color: #322f25;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    cursor: pointer;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.facility.hall.download .tabBoxInner .tabBox .tabsbtn li p {
    display: block;
    vertical-align: middle;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    line-height: 100%;
    padding: 2rem 1rem;
    margin: 0;
}

.facility.hall.download .tabBoxInner .tabBox .tabsbtn li.link {
    background: #848484;
}

.facility.hall.download .tabBoxInner .tabBox .tabsbtn li.link a {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #fff;
    text-decoration: none;
}

.facility.hall.download .tabBoxInner .tabBox .tabsbtn li.current {
    background: #f7f5f0;
    color: #000;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.facility.hall.download .tabBoxInner .tabBox .tabsbtn li.current p {
    color: #cdad58;
}

.facility.hall.download .tabBoxInner .tabBox .contentA {
    background: #f7f5f0;
    display: none;
}

.facility.hall.download .tabBoxInner .tabBox .contentA .contentInner {
    padding: 4rem 5rem 5rem 5rem;
}

.facility.hall.download .tabBoxInner .tabBox .contentA .contentInner h4 {
    font-size: 2rem;
    line-height: 100%;
    border-left: 3px solid #cdad58;
    padding-left: 1.6rem;
    margin: 2.3rem 0;
}

.facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle {
    width: 33.3%;
    margin-bottom: 1.2rem;
}

.facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle a {
    display: block;
    color: #0068b7;
    text-decoration: underline;
}

.facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle a.pdf::before {
    content: 'PDF';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-right: 1rem;
    background: #cb1f1f;
}

.facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle a:hover {
    text-decoration: none;
    opacity: 0.75;
}

@media screen and (max-width: 767px) {
    .facility .inner {
        width: auto;
        max-width: initial;
    }

    .facility .pageTitle {
        background: url(../img/facility/sp_facility_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .facility .block01 h2 {
        margin-top: 4.5rem;
    }

    .facility .block01 p {
        font-size: 1.3rem;
        line-height: 2.5rem;
    }

    .facility .block01 .hallList {
        margin: 3.5rem 2rem 0 2rem;
        display: block;
    }

    .facility .block01 .hallList .hallBox {
        width: auto;
        margin-bottom: 3rem;
    }

    .facility .block01 .hallList .hallBox a .image img {
        transform: none;
    }

    .facility .block01 .hallList .hallBox a:hover {
        opacity: 1.0;
    }

    .facility .block01 .hallList .hallBox a:hover img {
        transform: none;
    }

    .facility .block01 .hallList .hallBox a .info {
        margin: -3rem auto 0 auto;
        padding: 2rem 1.6rem;
    }

    .facility .block01 .hallList .hallBox a .info h3 {
        font-size: 1.8rem;
        font-weight: 1000;
        margin-bottom: 0.6rem;
        -webkit-transition: 0s;
        transition: 0s;
    }

    .facility .block01 .hallList .hallBox a .info p {
        -webkit-transition: 0s;
        transition: 0s;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .facility .block01 .hallList .hallBox a:hover .info {
        color: #322f25;
    }

    .facility .block01 .hallList .hallBox a:hover .info h3 {
        letter-spacing: 0em;
        -webkit-transition: 0s;
        transition: 0s;
    }

    .facility .block01 .hallList .hallBox a:hover .info p {
        letter-spacing: 0em;
        -webkit-transition: 0s;
        transition: 0s;
    }

    .facility .block01 .btn {
        width: 75%;
        max-width: initial;
        margin: 1rem auto 4rem auto;
    }

    .facility .block01 .btn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.2rem;
        text-align: center;
        display: block;
        border: 2px solid #322f25;
        padding: 0.9rem 1.2rem;
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
        background-size: 6px auto;
    }

    .facility .block01 .btn a::before {
        content: '';
        display: inline-block;
        width: 17px;
        height: 21px;
        background-image: url("../img/pdf.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 1rem;
    }

    .facility .block01 .btn a:hover {
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
    }

    .facility .block01 .btn a:hover::before {
        background-image: url("../img/pdf.svg");
    }

    .facility.hall .pageTitleDetail {
        background: url(../img/casestudy/casestudy_detail_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .facility.hall .pageTitleDetail span {
        font-size: 1rem;
    }

    .facility.hall .block01 {
        padding-top: 5rem;
    }

    .facility.hall .block01 .inner {
        margin: 0 2rem;
    }

    .facility.hall .block01 .pageMainBox h2 {
        background: url(../img/title_border.svg) center bottom no-repeat;
        background-size: 35px 2px;
        padding: 0 0 1.6rem 0;
        margin: 3.5rem 0 1.5rem 0;
    }

    .facility.hall .block01 .priceBox {
        background: #f7f5f0;
        margin: 3.5rem 0 5rem 0;
        padding-bottom: 3rem;
    }

    .facility.hall .block01 .priceBox .inner {
        max-width: initial;
        width: auto;
        margin: 0 2rem;
    }

    .facility.hall .block01 .priceBox h3 {
        padding: 3rem 0 1rem 0;
        background: none;
        font-size: 1.8rem;
        margin: 0;
    }

    .facility.hall .block01 .priceBox h3::before {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 0.6rem;
    }

    .facility.hall .block01 .priceBox h3::after {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-left: 0.6rem;
    }

    .facility.hall .block01 .priceBox table {
        table-layout: fixed;
        width: 100%;
        padding: 0;
        margin: 1.5rem 0 0 0;
        border-top: 1px solid #918a71;
        border-left: 1px solid #918a71;
    }

    .facility.hall .block01 .priceBox table tbody,
    .facility.hall .block01 .priceBox table thead,
    .facility.hall .block01 .priceBox table tr,
    .facility.hall .block01 .priceBox table th {
        display: block;
        width: 100%;
    }

    .facility.hall .block01 .priceBox table th {
        background: #918a71;
        border-bottom: 1px solid #918a71;
        border-right: 1px solid #918a71;
        font-size: 1.3rem;
        color: #ffffff;
        text-align: center;
        padding: 1.3rem 1.3rem;
        letter-spacing: 0.1em;
    }

    .facility.hall .block01 .priceBox table th.cell01 {
        background: #e5e3dd;
        border-bottom: 1px solid #918a71;
        border-right: 1px solid #918a71;
        font-size: 1.2rem;
        color: #565243;
        text-align: left;
        padding: 1.3rem 1.3rem;
        vertical-align: middle;
        text-align: center;
        display: block;
        width: 100%;
        max-width: initial;
    }

    .facility.hall .block01 .priceBox table th.onlyPc {
        display: none;
    }

    .facility.hall .block01 .priceBox table td {
        background: #ffffff;
        border-bottom: 1px solid #918a71;
        border-right: 1px solid #918a71;
        font-size: 1.2rem;
        color: #322f25;
        text-align: left;
        padding: 1.3rem 1.3rem;
        letter-spacing: 0em;
        vertical-align: middle;
    }

    .facility.hall .block01 .priceBox table td.cell02 {
        width: 100%;
    }

    .facility.hall .block01 .priceBox table td.cell03 {
        min-width: auto;
    }

    .facility.hall .block01 .priceBox table td.cellLong {
        width: 100%;
    }

    .facility.hall .block01 .priceBox table .onlyPc {
        display: none;
    }

    .facility.hall .block01 .priceBox table.type01 td.cell03 {
        min-width: 85px;
    }

    .facility.hall .block01 .priceBox table.type02 td.cell03 {
        min-width: 105px;
    }

    .facility.hall .block01 .priceBox table.type03 td.cell03 {
        min-width: 133px;
    }

    .facility.hall .block01 .priceBox .tableBottomBox table {
        margin: 0.9rem 0 0 0;
        border-top: 1px solid #918a71;
    }

    .facility.hall .block01 .priceBox .tableBottomBox table td.cellLong {
        font-weight: bold;
    }

    .facility.hall .block01 .priceBox p.addition {
        text-align: left;
        padding: 1.1rem 0 0 0;
        font-size: 1rem;
        line-height: 1.8rem;
    }

    .facility.hall .block01 .priceBox h4 {
        font-size: 1.5rem;
        line-height: 100%;
        border-left: 3px solid #cdad58;
        padding-left: 1.6rem;
        margin: 2.3rem 0 1.5rem 0;
    }

    .facility.hall .block01 .priceBox .materialList {
        display: block;
    }

    .facility.hall .block01 .priceBox .materialList .materialSingle {
        width: auto;
        margin-bottom: 1.2rem;
    }

    .facility.hall .block01 .priceBox .materialList .materialSingle a {
        display: block;
        color: #0068b7;
        text-decoration: underline;
        font-size: 1.3rem;
    }

    .facility.hall .block01 .priceBox .materialList .materialSingle a.pdf::before {
        content: 'PDF';
        color: #ffffff;
        display: inline-block;
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-right: 1rem;
        background: #cb1f1f;
    }

    .facility.hall .block01 .priceBox .materialList .materialSingle a:hover {
        text-decoration: underline;
        opacity: 1.0;
    }

    .facility.hall .bottomLinkArea.tabArea .tabBoxInner .tabBox .contentA {
        display: none;
        margin-bottom: 0;
    }

    .wrap {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .facilityslider {
        width: 100%;
        margin: 0 auto;
    }

    .slide-item {
        position: relative;
    }

    .slide-item p {
        position: absolute;
        right: 0;
        bottom: 0;
        display: inline-block;
        background: rgba(189, 76, 109, 0.9);
        color: #fff;
        letter-spacing: 0;
        font-weight: normal;
        font-size: 1rem !important;
        line-height: 2rem !important;
        padding: 0 0.8rem;
    }

    .slide-item img {
        width: 100%;
    }

    .thumbnail-list {
        max-width: 1100px;
        width: 100%;
        margin: 0.8rem auto 0 auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .thumbnail-item {
        margin: 1.2rem 0.6rem 0 0.6rem;
        box-sizing: border-box;
        position: relative;
        width: 5.5rem;
        max-width: initial;
        height: auto;
    }

    .thumbnail-item:after {
        content: '';
        background-color: rgba(47, 43, 28, 0);
        opacity: 0;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 1;
        transition: .3s opacity linear;
    }

    .thumbnail-item.thumbnail-current:after {
        background-color: rgba(0, 0, 0, 0.5);
    }

    .thumbnail-item img {
        width: 100%;
        margin: 0 auto;
    }

    .facility.hall.download .block01 {
        padding-top: 0rem;
    }

    .facility.hall.download .tabBoxInner {
        padding: 2.5rem 0 4rem 0;
    }

    .facility.hall.download .tabBoxInner .tabBox {
        width: 90%;
        margin: 0 auto;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabsbtn {
        display: none;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA {
        padding: 2rem;
        display: none;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner {
        padding: 0;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner h4 {
        font-size: 1.5rem;
        line-height: 100%;
        border-left: 3px solid #cdad58;
        padding-left: 1.6rem;
        margin: 2.3rem 0 1.5rem 0;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner h4:first-of-type {
        margin-top: 0 !important;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList {
        display: block;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle {
        width: auto;
        margin-bottom: 1.2rem;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle a {
        display: block;
        color: #0068b7;
        text-decoration: underline;
        font-size: 1.3rem;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle a.pdf::before {
        content: 'PDF';
        color: #ffffff;
        display: inline-block;
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-right: 1rem;
        background: #cb1f1f;
    }

    .facility.hall.download .tabBoxInner .tabBox .contentA .contentInner .materialList .materialSingle a:hover {
        text-decoration: underline;
        opacity: 1.0;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn {
        margin-top: 1.5rem;
        background: #f7f5f0;
        color: #322f25;
        padding: 8px 17px;
        font-weight: bold;
        position: relative;
        text-align: left !important;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn:first-of-type {
        margin-top: 0 !important;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn span {
        font-weight: 1000 !important;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn::before {
        position: absolute;
        right: 15px;
        top: 65%;
        margin-top: -10px;
        /*
    background-color: #fff;
    display: inline-block;
    transition: all .4s;
    content: "";
    -webkit-transform: translateY(10px) rotate(0deg);
    transform: translateY(10px) rotate(0deg);
    */
        width: 6px;
        height: 6px;
        border-top: solid 1px #322f25;
        border-right: solid 1px #322f25;
        display: inline-block;
        content: "";
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn.action {
        color: #cdad58;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn.action::before {
        top: 65%;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn.active {
        color: #cdad58;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn.active::before {
        top: 65%;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn.active.action {
        color: #322f25;
    }

    .facility.hall.download .tabBoxInner .tabBox .tabbtn.active.action::before {
        top: 65%;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
}

.faq .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.faq .pageTitle {
    background: url(../img/faq/faq_mv.jpg) center top no-repeat;
    background-size: cover;
}

.faq .block01 {
    margin: 7.5rem 0 8rem 0;
}

.faq .block01 h2 {
    margin-top: 7.5rem;
}

.faq .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.faq .block01 .faqSingle dl dt {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background: #f7f5f0;
    font-size: 1.4rem;
    color: #322f25;
    line-height: 1.83333;
    letter-spacing: 0.261rem;
    line-height: 1.3;
    padding: 1.7rem 2.3rem;
    cursor: pointer;
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    flex-direction: row;
    width: 100%;
}

.faq .block01 .faqSingle dl dt::before {
    content: "Q.";
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #cdad58;
    display: inline-block;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 100%;
    padding: 0;
    margin-right: 1rem;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.faq .block01 .faqSingle dl dt::after {
    content: "";
    display: block;
    background: url("../img/faq/close.svg") no-repeat;
    background-size: 2rem auto;
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    transform: translateY(-20%);
    right: 2.3rem;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.faq .block01 .faqSingle dl dt.open::after {
    background: url("../img/faq/open.svg") no-repeat;
    background-size: 2rem auto;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.faq .block01 .faqSingle dl dd {
    padding: 2.6rem 2.5rem 2rem 3rem;
    color: #565243;
    position: relative;
}

.faq .block01 .faqSingle dl dd p {
    text-align: left;
    margin-left: 3rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.faq .block01 .faqSingle dl dd p.answer::before {
    content: "A.";
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #565243;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 100%;
    padding: 0;
    margin-right: 1.2rem;
    margin-left: -3rem;
}

.faq .block01 .faqSingle dl dd a {
    color: #cdad58;
    display: inline-block;
    position: relative;
    border-bottom: 1px solid #cdad58;
}

.faq .block01 .faqSingle dl dd a:hover {
    opacity: 0.75;
}

.faq .block01 .faqSingle dl dd a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.faq .block01 .faqSingle dl dd a:hover::after {
    width: 100%;
}

.faq .block01 .faqSingle dl dd ul {
    margin: 0.8rem 0 1.5rem 3rem;
}

.faq .block01 .faqSingle dl dd ul li {
    list-style-type: none;
    background: url(../img/topics/list.svg) left 10px no-repeat;
    padding: 0.3rem 0 0.3rem 2.5rem;
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.faq .block01 .faqSingle:not(:last-child) {
    margin-bottom: 3rem;
}

.faq .block01 .contentsBg {
    margin-top: 7.5rem;
    padding: 7.5rem 0;
}

.faq .block01 .contactTypeInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.faq .block01 .contactTypeInner .contactTypeSingle {
    width: 20.9%;
}

.faq .block01 .contactTypeInner .contactTypeSingle h3 {
    text-align: center;
    color: #565243;
    font-size: 2rem;
    font-weight: bold;
    padding: 2rem 0;
}

.faq .block01 .contactTypeInner .contactTypeSingle .image {
    padding: 0 0 2rem 0;
}

.faq .block01 .contactTypeInner .contactTypeSingle .contactbtn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    display: block;
    position: relative;
    font-size: 1.4rem;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    background: #565243;
    padding: 1.5rem 0;
    transition: all 0.3s ease 0s;
}

.faq .block01 .contactTypeInner .contactTypeSingle .contactbtn a::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 6px;
    background-image: url(../img/contact/arrow.svg);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    left: 50%;
    bottom: 6px;
    transition: all 0.3s ease 0s;
}

.faq .block01 .contactTypeInner .contactTypeSingle .contactbtn a:hover {
    opacity: 0.75;
}

.faq .block01 .contactTypeInner .contactTypeSingle .contactbtn a:hover::after {
    bottom: 4px;
    transition: all 0.3s ease 0s;
}

_:-ms-fullscreen,
:root .tsImg:first-of-type {
    padding: 3px 6px 2px 6px;
}

@supports (-ms-ime-align: auto) {
    .tsImg:first-of-type {
        padding: 3px 6px 2px 6px;
    }
}

@media screen and (max-width: 767px) {
    .faq .inner {
        width: 86%;
        max-width: initial;
        margin: 0 auto;
    }

    .faq .pageTitle {
        background: url(../img/faq/sp_faq_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .faq .block01 {
        margin: 4.5rem 0 5rem 0;
    }

    .faq .block01 h2 {
        margin-top: 4.5rem;
    }

    .faq .block01 p {
        font-size: 1.3rem;
        line-height: 2.5rem;
    }

    .faq .block01 .faqSingle {
        position: relative;
    }

    .faq .block01 .faqSingle dl dt {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background: #f7f5f0;
        font-size: 1.2rem;
        line-height: 1.6rem;
        color: #322f25;
        letter-spacing: 0.261rem;
        padding: 1.2rem 3rem 1.2rem 3.6rem;
        cursor: pointer;
        position: relative;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        flex-direction: row;
        width: 100%;
    }

    .faq .block01 .faqSingle dl dt::before {
        content: "Q.";
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #cdad58;
        display: block;
        font-size: 1.7rem;
        font-weight: 700;
        line-height: 100%;
        padding: 0;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        position: absolute;
        left: 1.2rem;
        top: 1.2rem;
    }

    .faq .block01 .faqSingle dl dt::after {
        content: "";
        display: block;
        background: url("../img/faq/close.svg") no-repeat;
        background-size: 1.1rem auto;
        width: 1.1rem;
        height: 1.1rem;
        position: absolute;
        top: 45%;
        transform: translateY(-50%);
        transform: translateY(-20%);
        right: 1.2rem;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .faq .block01 .faqSingle dl dt.open::after {
        background: url("../img/faq/open.svg") no-repeat;
        background-size: 1.1rem auto;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .faq .block01 .faqSingle dl dd {
        padding: 1rem 1.3rem 1rem 1.3rem;
        color: #565243;
        position: relative;
    }

    .faq .block01 .faqSingle dl dd p {
        text-align: left;
        margin-left: 2.2rem;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .faq .block01 .faqSingle dl dd p.answer::before {
        content: "A.";
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #565243;
        display: inline-block;
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 100%;
        padding: 0;
        margin-left: -2.3rem;
    }

    .faq .block01 .faqSingle dl dd a {
        color: #cdad58;
        display: inline-block;
        position: relative;
        border-bottom: 1px solid #cdad58;
    }

    .faq .block01 .faqSingle dl dd a:hover {
        opacity: 0.75;
    }

    .faq .block01 .faqSingle dl dd a::after {
        display: none;
    }

    .faq .block01 .faqSingle dl dd a:hover::after {
        width: 100%;
    }

    .faq .block01 .faqSingle dl dd ul {
        margin: 0.4rem 0 0rem 2.2rem;
    }

    .faq .block01 .faqSingle dl dd ul li {
        list-style-type: none;
        background: url(../img/topics/list.svg) left 10px no-repeat;
        background-size: 10px 10px !important;
        padding: 0.3rem 0 0.3rem 1.8rem;
        margin: 0;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .faq .block01 .faqSingle:not(:last-child) {
        margin-bottom: 2.5rem;
    }

    .faq .block01 .contentsBg {
        margin-top: 3.5rem;
        padding: 2rem 0;
    }

    .faq .block01 .contentsBg .contactTypeInner {
        display: block;
        margin: 0 4rem;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle {
        width: 100%;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle h3 {
        text-align: center;
        color: #565243;
        font-size: 1.5rem;
        font-weight: bold;
        padding: 2.2rem 0 1rem 0;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle .image {
        display: none;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn {
        margin-top: 1.8rem;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        display: block;
        position: relative;
        font-size: 1.4rem;
        color: #ffffff;
        font-weight: bold;
        text-align: center;
        background: #565243;
        padding: 1.4rem 0;
        transition: all 0.3s ease 0s;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a::after {
        content: '';
        display: inline-block;
        width: 10px;
        height: 6px;
        background-image: url(../img/contact/arrow.svg);
        background-size: contain;
        vertical-align: middle;
        position: absolute;
        left: 50%;
        bottom: 6px;
        transition: all 0.3s ease 0s;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a:hover {
        opacity: 0.75;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle .contactbtn a:hover::after {
        bottom: 6px;
        transition: all 0.3s ease 0s;
    }

    .faq .block01 .contentsBg .contactTypeInner .contactTypeSingle:first-child .contactbtn {
        margin-top: 0rem;
    }
}

.price .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.price .pageTitle {
    background: url(../img/price/price_mv.jpg) center top no-repeat;
    background-size: cover;
}

.price .block01 h2 {
    margin-top: 7.5rem;
}

.price .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.price .block01 .tabArea {
    background: linear-gradient(180deg, #fff 0%, #fff 85px, #f7f5f0 85px, #f7f5f0 100%);
    margin-top: 6rem;
    padding-bottom: 12rem;
}

.price .block01 .tabArea p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.price .block01 .tabArea .tabBoxInner p {
    color: #565243;
}

.price .block01 .tabArea .tabBoxInner .tabBox {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li {
    width: 15%;
    max-width: 166px;
    cursor: pointer;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li .circle {
    background: #ffffff;
    position: relative;
    padding: 50%;
    border-radius: 50%;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li+li {
    margin-left: 1.7%;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li:first-child {
    margin-left: 0;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li p {
    position: absolute;
    top: 33%;
    left: 0%;
    text-align: center;
    width: 100%;
    font-size: 1.5rem;
    line-height: 165%;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li p span {
    font-size: 2rem;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current .circle {
    background: #cdad58;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current p {
    color: #ffffff;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA {
    display: none;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner {
    margin: 0 auto;
    padding-top: 6rem;
}

@media screen and (min-width: 769px) {
    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner {
        max-width: 1000px;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner {
        max-width: initial;
        width: auto;
    }
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table {
    width: 100%;
    padding: 0;
    margin: 0;
    border-top: 1px solid #918a71;
    border-right: 1px solid #918a71;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table th,
.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table td {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    text-align: left;
    border-left: 1px solid #918a71;
    color: #565243;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table tr.linkTr {
    cursor: pointer;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table tr.linkTr th {
    background: #918a71;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table tr.linkTr td {
    background: #ffffff;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table tr.linkTr:hover td {
    background: #fef5dc;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table tr.linkTr:hover th {
    background: #767059;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table th {
    border-bottom: 1px solid #ffffff;
    color: #ffffff;
    font-weight: normal;
    width: 18.8%;
    max-width: 188px;
    vertical-align: middle;
    text-align: left;
    padding: 1rem 1.4%;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table th a {
    color: #ffffff;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table th.ttl {
    background: #918a71;
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
    padding: 1rem 1.2%;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table th p {
    color: #ffffff;
    text-align: left;
    line-height: 1.9rem;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table th p span {
    display: block;
    font-size: 1.2rem;
    font-weight: normal;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table th:hover {
    background: #918a71;
    background-blend-mode: multiply;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table td {
    border-bottom: 1px solid #918a71;
    width: 13.5%;
    max-width: 135px;
    vertical-align: middle;
    text-align: center;
    padding: 1rem 1%;
    /*
  & a{
      display: block;
      color: $rightBrown;
      padding: pxToRem(10) 8.8%;
      @include flex(r,w,s,c);
      flex-direction: row;
      align-items: center;
      justify-content: stretch;
      & p{
          line-height: pxToRem(21);
          & span{
          display: block;
          font-size: pxToRem(13);
          }
      }
  }
  */
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table td.ttl {
    background: #ffffff;
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
    padding: 1rem 1.2%;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table td a {
    color: #565243;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table td p {
    line-height: 2.1rem;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table td p span {
    display: block;
    font-size: 1.3rem;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table tr:first-of-type td:last-of-type {
    font-size: 1.4rem;
    letter-spacing: 0;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner table tr:last-of-type th {
    border-bottom: 1px solid #918a71;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .text {
    margin-top: 4.5rem;
    background: none;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .text p {
    text-align: left;
    font-size: 1.2rem;
    line-height: 2.2rem;
    padding: 0 0 0 1.3rem;
    position: relative;
}

.price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .text p::before {
    position: absolute;
    content: "※";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: -1rem;
    left: 0;
    top: 0;
}

@media screen and (min-width: 769px) and (max-width: 1100px) {
    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li p {
        font-size: 1.364vw;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li p span {
        font-size: 1.818vw;
    }
}

@media screen and (min-width: 769px) {

    /* === ソートボタンを表示するエリア ============== */
    .tsImgArea {
        line-height: 1;
        display: inline-block;
        margin-left: 6px;
        vertical-align: middle;
    }

    /* === ソートボタン ============================== */
    .tsImg {
        width: 12px;
        height: 10px;
        background: #918a71;
        padding: 3px;
        cursor: pointer;
        box-sizing: content-box;
        border-radius: 2px;
    }

    .tsImg:first-of-type {
        margin-right: 3px;
    }

    /* === ソートボタン（カーソルオーバー時）========= */
    .tsImg:hover {
        background: #918a71;
    }

    /* === ソートボタン内の三角の色（SVG）============ */
    .tsImg path {
        fill: #ffffff;
    }

    .st0 {
        fill: #ffffff;
    }

    .tsImg:hover .st0 {
        fill: #5f5942;
    }
}

_:-ms-fullscreen,
:root .tsImg:first-of-type {
    padding: 3px;
}

@supports (-ms-ime-align: auto) {
    .tsImg:first-of-type {
        padding: 3px;
    }
}

@media screen and (max-width: 767px) {
    .price .inner {
        width: 86%;
        max-width: initial;
        margin: 0 auto;
    }

    .price .inner p {
        padding-bottom: 3rem;
    }

    .price .pageTitle {
        background: url(../img/price/sp_price_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .price .block01 h2 {
        margin-top: 4.5rem;
    }

    .price .block01 p {
        font-size: 1.3rem;
        line-height: 2.5rem;
    }

    .price .block01 .tabArea {
        background: #f7f5f0;
        margin-top: 1rem;
        padding: 4rem 0;
    }

    .price .block01 .tabArea p {
        text-align: left;
        font-size: 1.5rem;
        line-height: 3.2rem;
    }

    .price .block01 .tabArea .tabBoxInner p {
        color: #565243;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox {
        width: 100%;
        max-width: initial;
        margin: 0 auto;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox ul {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn {
        width: 90%;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: center;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li {
        width: 50%;
        max-width: initial;
        cursor: pointer;
        border-left: 1px solid #918a71;
        border-bottom: 1px solid #918a71;
        padding: 1rem 0.8rem;
        background: #ffffff;
        margin: 0;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li .circle {
        background: none;
        position: static;
        padding: 0%;
        border-radius: 0%;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li:first-of-type {
        border-top: 1px solid #918a71;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li:nth-of-type(2) {
        border-top: 1px solid #918a71;
        border-right: 1px solid #918a71;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li:nth-of-type(4),
    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li:nth-of-type(6) {
        border-right: 1px solid #918a71;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li+li {
        margin-left: 0;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li:first-child {
        margin-left: 0;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li p {
        position: static;
        font-size: 1.2rem;
        letter-spacing: 0;
        line-height: 135%;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li p span {
        font-size: 1.2rem;
        margin-right: 0.5rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background: #cdad58;
        border-left: 1px solid #cdad58;
        border-bottom: 1px solid #cdad58;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current:first-of-type,
    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current:nth-of-type(2) {
        border-top: 1px solid #cdad58;
        border-right: 1px solid #cdad58;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current:nth-of-type(4),
    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current:nth-of-type(6) {
        border-right: 1px solid #cdad58;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current .circle {
        background: none;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .tabsbtn li.current p {
        color: #ffffff;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA {
        display: none;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA#content1 {
        display: block;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner {
        padding: 0;
        width: 90%;
        margin: 0 auto;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-container {
        margin-top: 20px;
        background: #ffffff;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-container .title_box {
        padding: 0;
        margin: 0;
        padding: 0.5rem 2rem;
        display: block;
        text-align: left;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-container .title_box p {
        font-size: 1.4rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title {
        background: none !important;
        position: relative;
        border-bottom: none;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title:hover,
    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title:active,
    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .content-entry.open .article-title {
        color: #000;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title:hover i:before,
    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title:hover i:active,
    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .content-entry.open i {
        color: #000;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title:after {
        content: "";
        position: absolute;
        right: 2rem;
        top: 38%;
        transition: all 0.2s ease-in-out;
        display: block;
        width: 6px;
        height: 6px;
        border-top: solid 1px #000;
        border-right: solid 1px #000;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title:after {
        content: "";
        position: absolute;
        right: 2rem;
        top: 38%;
        transition: all 0.2s ease-in-out;
        display: block;
        width: 6px;
        height: 6px;
        border-top: solid 1px #000;
        border-right: solid 1px #000;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title.open .title_box p {
        color: #cdad58;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .article-title.open:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 45%;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content {
        display: none;
        padding-left: 0;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content .contentBox {
        padding: 1.5rem 2rem 1.8rem 2rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content .text {
        background: none;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content .text p {
        font-size: 1rem;
        line-height: 1.7rem;
        padding: 0 0 0 1.3rem;
        position: relative;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content .text p::before {
        position: absolute;
        content: "※";
        display: block;
        width: 10px;
        height: 10px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content .text p+p {
        margin-top: 0.4rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table {
        width: 100%;
        padding: 0;
        margin: 0 0 1rem 0;
        border-top: 1px solid #918a71;
        border-right: 1px solid #918a71;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table th,
    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table td {
        font-size: 1.2rem;
        letter-spacing: 0.05em;
        text-align: left;
        border-left: 1px solid #918a71;
        color: #565243;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr td:last-of-type {
        text-align: right;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table th {
        border-bottom: 1px solid #ffffff;
        background: #918a71;
        color: #ffffff;
        font-weight: normal;
        width: 47.3%;
        max-width: auto;
        vertical-align: middle;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table th.ttl {
        text-align: center;
        vertical-align: middle;
        font-weight: 700;
        padding: 1rem 1.2%;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table th a {
        display: block;
        color: #ffffff;
        padding: 1.3rem 10%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table th a p {
        color: #ffffff;
        text-align: center;
        line-height: 1.7rem;
        font-size: 1.2rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table th a p span {
        display: block;
        font-size: 1rem;
        font-weight: normal;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table th:hover {
        background: #767059;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr:first-of-type th:hover {
        background: #918a71;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table td {
        border-bottom: 1px solid #918a71;
        width: 23.7%;
        max-width: auto;
        background: #ffffff;
        vertical-align: middle;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table td a {
        display: block;
        color: #565243;
        padding: 1.3rem 14%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: stretch;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table td a p {
        font-size: 1.2rem;
        line-height: 1.7rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table td a p span {
        display: block;
        font-size: 1rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table td:hover {
        background: #ffffff;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr:first-of-type td:hover {
        background: #ffffff;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr:first-of-type td:last-of-type {
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr:first-of-type td:last-of-type span {
        font-size: 1rem;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr:first-of-type td:last-of-type a {
        justify-content: flex-end;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr:last-of-type th {
        border-bottom: 1px solid #918a71;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr td:last-child {
        width: 33.9%;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table tr td:last-child a {
        justify-content: flex-end;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table.twoType td {
        border-bottom: 1px solid #918a71;
        width: 52.7%;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table.twoType tr td:last-child {
        width: 52.7%;
    }

    .price .block01 .tabArea .tabBoxInner .tabBox .contentA .contentInner .accordion-content table.twoType tr td:last-child a {
        justify-content: flex-end;
        padding: 1.3rem 7%;
    }
}

.topics .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.topics .pageTitle {
    background: url(../img/topics/topics_mv.jpg) center top no-repeat;
    background-size: cover;
}

.topics .block01 h2 {
    margin-top: 7.5rem;
}

.topics .block01 {
    margin-bottom: 10rem;
}

.topics .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.topics .block01 .newsList dl {
    color: #fff;
}

.topics .block01 .newsList dl a {
    padding: 1.6rem 0;
    border-bottom: 1px solid #e6e6e6;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    position: relative;
    color: #565243;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.topics .block01 .newsList dl a::after {
    display: block;
    content: "";
    width: 8px;
    height: 12px;
    background: url(../img/topics/arrow.svg) 95% center no-repeat;
    position: absolute;
    right: 0;
    top: 42%;
    opacity: 0;
    transition: all 0.3s ease 0s;
    transform: translateY(0em);
}

.topics .block01 .newsList dl a:hover::after {
    opacity: 1;
    transition: all 0.3s ease 0s;
    transform: translateY(0em);
}

.topics .block01 .newsList dl a:hover dt {
    color: #565243;
    font-weight: bold;
    letter-spacing: 0.130em;
}

.topics .block01 .newsList dl a:hover dd {
    color: #cdad58;
}

.topics .block01 .newsList dl dt {
    margin-right: 2rem;
    min-width: 95px;
    position: relative;
}

.topics .block01 .newsList dl dd {
    padding-right: 2rem;
    padding-left: 2rem;
    position: relative;
}

.topics .block01 .newsList dl dd::before {
    content: '';
    display: inline-block;
    background: #565243;
    height: 100%;
    width: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
}

.topics .block01 .newsList dl a.link dd {
    margin-right: 4rem;
}

.topics .block01 .newsList dl a.link dd::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 12px;
    background: url(../img/topics/link.png) 95% center no-repeat;
    background-size: 14px 12px;
}

.topics .block01 .newsList dl a.pdf dd {
    margin-right: 4rem;
}

.topics .block01 .newsList dl a.pdf dd::after {
    content: 'PDF';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-right: 1rem;
    background: #cb1f1f;
}

.topics.page .inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.topics.page .wp_cnt_block {
    word-wrap: break-word;
    padding-top: 7.5rem;
}

.topics.page .wp_cnt_block h1 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 2.6rem;
    line-height: 4.8rem;
    text-align: center;
    font-weight: bold;
    background: url(../img/title_border.svg) center bottom no-repeat;
    background-size: 35px 2px;
    padding: 0 0 2rem 0;
    margin: 0 0 3rem 0;
}

@media screen and (max-width: 48em) {
    .topics.page .wp_cnt_block h1 {
        font-size: 2rem;
        padding-bottom: 1.8rem;
        margin-bottom: 2rem;
    }
}

.topics.page .wp_cnt_block h1 span.day {
    display: block;
    letter-spacing: 0.2em;
    color: #968f74;
    font-size: 1.4rem;
    line-height: 3.8rem;
}

.topics.page .wp_cnt_block h2 {
    color: #322f25;
    letter-spacing: 0.4rem;
    font-size: 2rem;
    line-height: 4.2rem;
    text-align: left;
    font-weight: bold;
    background: none;
    border-bottom: double 3px #322f25;
    padding: 1.5rem 2rem 0.2rem 2rem;
    margin: 0 0 2rem 0;
}

@media screen and (max-width: 48em) {
    .topics.page .wp_cnt_block h2 {
        font-size: 2rem;
        padding-bottom: 0.6rem;
        margin-bottom: 2rem;
    }
}

.topics.page .wp_cnt_block h3 {
    color: #322f25;
    font-size: 1.8rem;
    line-height: 2.6rem;
    text-align: left;
    font-weight: bold;
    border-left: solid 3px #cdad58;
    padding: 0 0 0 1.8rem;
    margin: 2.8rem 0 2rem 0;
}

.topics.page .wp_cnt_block h4,
.topics.page .wp_cnt_block h5,
.topics.page .wp_cnt_block h6 {
    color: #322f25;
    font-size: 1.6rem;
    line-height: 2.4rem;
    text-align: left;
    font-weight: bold;
    border-bottom: dotted 1px #322f25;
    padding: 0 0 0.6rem 0;
    margin: 2.2rem 0 2rem 0;
}

.topics.page .wp_cnt_block p {
    text-align: left;
    margin-bottom: 2.8rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.topics.page .wp_cnt_block p a {
    color: #cdad58;
    text-decoration: underline;
}

.topics.page .wp_cnt_block p a:hover {
    color: #cdad58;
    opacity: 0.75;
}

.topics.page .wp_cnt_block p a.pdf {
    position: relative;
    color: #0068b7;
}

.topics.page .wp_cnt_block p a.pdf::before {
    content: 'PDF';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-right: 1rem;
    background: #cb1f1f;
}

.topics.page .wp_cnt_block p a.pdf:hover {
    opacity: 0.75;
}

.topics.page .wp_cnt_block .alignleft .image {
    float: left;
    margin: 0.5rem 3rem 1.5rem 0;
}

.topics.page .wp_cnt_block .alignright .image {
    float: right;
    margin: 0.5rem 0 1.5rem 3rem;
}

.topics.page .wp_cnt_block .aligncenter .image {
    margin: 1.5rem auto;
    display: block;
}

.topics.page .wp_cnt_block .aligncenter .image img {
    width: auto;
    margin: 0 auto;
}

.topics.page .wp_cnt_block .wp-caption {
    background-color: transparent;
    border: none;
    padding-top: 5px;
}

.topics.page .wp_cnt_block .wp-caption-text {
    text-align: center;
    font-size: 85%;
    margin-top: 5px;
    line-height: 120%;
}

.topics.page .wp_cnt_block strong {
    font-weight: bold;
}

.topics.page .wp_cnt_block a {
    color: #165A75;
}

.topics.page .wp_cnt_block a:hover {
    color: #307996;
}

.topics.page .wp_cnt_block a:visited {
    color: #666;
}

.topics.page .wp_cnt_block ul {
    margin: 15px 0 15px 0;
}

.topics.page .wp_cnt_block ul li {
    list-style-type: none;
    background: url(../img/topics/list.svg) left 10px no-repeat;
    padding: 0.3rem 0 0.3rem 2.5rem;
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.topics.page .wp_cnt_block ol {
    margin: 15px 0 15px 0;
    counter-reset: number;
    list-style-type: none !important;
    padding: 0;
}

.topics.page .wp_cnt_block ol li {
    position: relative;
    padding-left: 0;
    line-height: 1.5em;
    padding: 1rem 0rem 1rem 3rem;
}

.topics.page .wp_cnt_block ol li::before {
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number;
    content: counter(number);
    /*以下数字のデザイン変える*/
    display: inline-block;
    background: #cdad58;
    color: white;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-weight: normal;
    font-size: 10px;
    border-radius: 50%;
    left: 0;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    /*以下 上下中央寄せのため*/
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.topics.page .wp_cnt_block em {
    font-style: italic;
}

.topics.page .wp_cnt_block hr {
    height: 1px;
    background-color: #e6e6e6;
    border: none;
    color: #e6e6e6;
}

.topics.page .wp_cnt_block .gallery-item {
    border: 0px;
    padding: 0;
}

.topics.page .wp_cnt_block .gallery-item .gallery-icon {
    width: 95%;
    padding: 0;
    margin: 0 auto;
}

.topics.page .wp_cnt_block .gallery-item img {
    border: 0 !important;
}

.topics.page .wp_cnt_block blockquote {
    margin: 0 0 2.3rem 0;
    position: relative;
    padding: 10px 15px 10px 60px;
    box-sizing: border-box;
    background: #f7f5f0;
    color: #322f25;
}

.topics.page .wp_cnt_block blockquote::before {
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 15px;
    content: "“";
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #d4ccb9;
    font-size: 90px;
    line-height: 1;
}

.topics.page .wp_cnt_block blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}

.topics.page .wp_cnt_block blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

.topics.page .wp_cnt_block .imageBox {
    padding: 1.8rem 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.topics.page .wp_cnt_block .imageBox .imageSingle {
    width: 47.7%;
}

@media screen and (max-width: 767px) {
    .topics .inner {
        width: auto;
        max-width: initial;
    }

    .topics .pageTitle {
        background: url(../img/topics/sp_topics_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .topics .block01 {
        margin-bottom: 3rem;
    }

    .topics .block01 h2 {
        margin-top: 4.5rem;
    }

    .topics .block01 p {
        font-size: 1.3rem;
        line-height: 2.5rem;
        margin-top: 4.5rem;
    }

    .topics .block01 .newsList {
        margin: 0 20px;
    }

    .topics .block01 .newsList dl {
        color: #fff;
    }

    .topics .block01 .newsList dl a {
        padding: 1.6rem 0;
        border-bottom: 1px solid #e6e6e6;
        display: block;
        position: relative;
        color: #565243;
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .topics .block01 .newsList dl a::after {
        display: none;
    }

    .topics .block01 .newsList dl a:hover::after {
        display: none;
    }

    .topics .block01 .newsList dl a:hover dt {
        color: #565243;
        font-weight: normal;
        letter-spacing: 0.2em;
    }

    .topics .block01 .newsList dl a:hover dd {
        color: #565243;
    }

    .topics .block01 .newsList dl dt {
        margin-right: 0rem;
        min-width: initial;
        position: relative;
        font-weight: normal;
        letter-spacing: 0.2em;
        font-size: 1rem;
    }

    .topics .block01 .newsList dl dt::after {
        content: '|';
        display: inline-block;
        color: #565243;
        vertical-align: top;
        padding-left: 1.2rem;
    }

    .topics .block01 .newsList dl dd {
        font-size: 1.2rem;
        padding-top: 0.6rem;
        padding-right: 0rem;
        padding-left: 0rem;
        position: relative;
    }

    .topics .block01 .newsList dl dd::before {
        display: none;
    }

    .topics .block01 .newsList dl a.link dd {
        margin-right: 0rem;
    }

    .topics .block01 .newsList dl a.link dd::after {
        content: '';
        display: inline-block;
        width: 10px;
        height: 9px;
        background: url(../img/topics/link_sp.png) 95% center no-repeat;
        background-size: 10px 9px;
    }

    .topics .block01 .newsList dl a.pdf dd {
        margin-right: 0rem;
    }

    .topics .block01 .newsList dl a.pdf dd::after {
        content: 'PDF';
        color: #ffffff;
        display: inline-block;
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-right: 1rem;
        background: #cb1f1f;
    }

    .topics.page .inner {
        width: 80%;
        max-width: initial;
        margin: 0 auto;
    }

    .topics.page .wp_cnt_block {
        word-wrap: break-word;
        padding-top: 4.5rem;
    }

    .topics.page .wp_cnt_block img {
        width: 100%;
    }

    .topics.page .wp_cnt_block h1 {
        color: #322f25;
        letter-spacing: 0.4rem;
        font-size: 1.6rem;
        line-height: 2.8rem;
        letter-spacing: 0.15em;
        text-align: center;
        font-weight: bold;
        background: url(../img/title_border.svg) center bottom no-repeat;
        background-size: 35px 2px;
        padding: 0 0 1rem 0;
        margin: 0 0 2rem 0;
    }

    .topics.page .wp_cnt_block h1 span.day {
        letter-spacing: 0.2em;
        font-size: 1rem;
        line-height: 2.2rem;
    }

    .topics.page .wp_cnt_block h2 {
        color: #322f25;
        letter-spacing: 0.2rem;
        font-size: 1.4rem;
        line-height: 2.4rem;
        text-align: left;
        font-weight: bold;
        background: none;
        border-bottom: double 3px #322f25;
        padding: 1.5rem 1rem 0.4rem 1rem;
        margin: 0 0 2rem 0;
    }

    .topics.page .wp_cnt_block h3 {
        color: #322f25;
        font-size: 1.3rem;
        line-height: 2rem;
        text-align: left;
        font-weight: bold;
        border-left: solid 3px #cdad58;
        padding: 0 0 0 1rem;
        margin: 1.5rem 0 1rem 0;
    }

    .topics.page .wp_cnt_block h4,
    .topics.page .wp_cnt_block h5,
    .topics.page .wp_cnt_block h6 {
        color: #322f25;
        font-size: 1.2rem;
        line-height: 2.1rem;
        text-align: left;
        font-weight: bold;
        border-bottom: dotted 1px #322f25;
        padding: 0 0 0.4rem 0;
        margin: 1.5rem 0 1rem 0;
    }

    .topics.page .wp_cnt_block p {
        text-align: left;
        font-size: 1.2rem;
        line-height: 2.2rem;
        margin: 0 0 1.5rem 0;
    }

    .topics.page .wp_cnt_block p a {
        color: #cdad58;
        text-decoration: underline;
    }

    .topics.page .wp_cnt_block p a:hover {
        color: #cdad58;
        opacity: 0.75;
    }

    .topics.page .wp_cnt_block p a.pdf {
        display: block;
        position: relative;
        color: #0068b7;
        padding-left: 4.8rem;
    }

    .topics.page .wp_cnt_block p a.pdf::before {
        content: 'PDF';
        color: #ffffff;
        display: inline-block;
        text-decoration: none !important;
        font-size: 0.6rem;
        line-height: 100%;
        padding: 0.4rem 0.6rem;
        margin-right: 0.8rem;
        background: #cb1f1f;
        position: absolute;
        left: 0;
        top: 2px;
    }

    .topics.page .wp_cnt_block p a.pdf:hover {
        opacity: 0.75;
    }

    .topics.page .wp_cnt_block .alignleft .image {
        float: none;
        margin: 0.5rem 0 1.5rem 0;
    }

    .topics.page .wp_cnt_block .alignright .image {
        float: none;
        margin: 0.5rem 0 1.5rem 0;
    }

    .topics.page .wp_cnt_block .aligncenter .image {
        margin: 1.5rem auto;
        display: block;
    }

    .topics.page .wp_cnt_block .aligncenter .image img {
        width: 100%;
        margin: 0 auto;
    }

    .topics.page .wp_cnt_block .wp-caption {
        background-color: transparent;
        border: none;
        padding-top: 5px;
    }

    .topics.page .wp_cnt_block .wp-caption-text {
        text-align: center;
        font-size: 85%;
        margin-top: 5px;
        line-height: 120%;
    }

    .topics.page .wp_cnt_block strong {
        font-weight: bold;
    }

    .topics.page .wp_cnt_block a {
        color: #165A75;
    }

    .topics.page .wp_cnt_block a:hover {
        color: #307996;
    }

    .topics.page .wp_cnt_block a:visited {
        color: #666;
    }

    .topics.page .wp_cnt_block ul {
        margin: 15px 0 15px 0;
    }

    .topics.page .wp_cnt_block ul li {
        list-style-type: none;
        background: url(../img/topics/list.svg) left 10px no-repeat;
        background-size: 10px 10px !important;
        padding: 0.3rem 0 0.3rem 1.8rem;
        margin: 0;
        font-size: 1.1rem;
        line-height: 2.2rem;
    }

    .topics.page .wp_cnt_block ol {
        margin: 15px 0 15px 0;
        counter-reset: number;
        list-style-type: none !important;
        padding: 0;
    }

    .topics.page .wp_cnt_block ol li {
        font-size: 1.1rem;
        line-height: 2.2rem;
        position: relative;
        padding-left: 0;
        line-height: 1.5em;
        padding: 0.8rem 0rem 0.8rem 2.5rem;
    }

    .topics.page .wp_cnt_block ol li::before {
        /* 以下数字をつける */
        position: absolute;
        counter-increment: number;
        content: counter(number);
        /*以下数字のデザイン変える*/
        display: inline-block;
        background: #cdad58;
        color: white;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        font-weight: normal;
        font-size: 8px;
        border-radius: 50%;
        left: 0;
        width: 16px;
        height: 16px;
        line-height: 16px;
        text-align: center;
        /*以下 上下中央寄せのため*/
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .topics.page .wp_cnt_block em {
        font-style: italic;
    }

    .topics.page .wp_cnt_block hr {
        height: 1px;
        background-color: #e6e6e6;
        border: none;
        color: #e6e6e6;
    }

    .topics.page .wp_cnt_block .gallery-item {
        border: 0px;
        padding: 0;
    }

    .topics.page .wp_cnt_block .gallery-item .gallery-icon {
        width: 95%;
        padding: 0;
        margin: 0 auto;
    }

    .topics.page .wp_cnt_block .gallery-item img {
        border: 0 !important;
    }

    .topics.page .wp_cnt_block blockquote {
        margin: 0 0 2.3rem 0;
        position: relative;
        padding: 10px 15px 10px 60px;
        box-sizing: border-box;
        background: #f7f5f0;
        color: #322f25;
    }

    .topics.page .wp_cnt_block blockquote::before {
        display: inline-block;
        position: absolute;
        top: 10px;
        left: 15px;
        content: "“";
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #d4ccb9;
        font-size: 90px;
        line-height: 1;
    }

    .topics.page .wp_cnt_block blockquote p {
        padding: 0;
        margin: 10px 0;
        line-height: 1.7;
    }

    .topics.page .wp_cnt_block blockquote cite {
        display: block;
        text-align: right;
        color: #888888;
        font-size: 0.9em;
    }

    .topics.page .wp_cnt_block .imageBox {
        padding: 1.2rem 0;
        display: block;
    }

    .topics.page .wp_cnt_block .imageBox .imageSingle {
        width: 100%;
    }

    .topics.page .wp_cnt_block .imageBox div+div {
        margin-top: 2.5rem;
    }
}

.parts .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.parts .pageTitleDetail {
    background: url(../img/casestudy/casestudy_detail_mv.jpg) center top no-repeat;
    background-size: cover;
}

.parts.privacy .pageTitle {
    background: url(../img/parts/privacypolicy_mv.jpg) center top no-repeat;
    background-size: cover;
}

.parts.privacy .block01 {
    padding-bottom: 10rem;
}

.parts.companyTop .pageTitle {
    background: url(../img/company/company_mv.jpg) center top no-repeat;
    background-size: cover;
}

.parts.companyTop .block01 {
    padding-top: 8rem;
    padding-bottom: 10rem;
}

.parts.accessTop .pageTitle {
    background: url(../img/access/access_mv.jpg) center top no-repeat;
    background-size: cover;
}

.parts.accessTop .block01 {
    padding-bottom: 10rem;
}

.parts.features .block01 {
    padding: 0rem 0 10rem 0;
}

.parts.exampleTop .pageTitle {
    background: url(../img/example/example_mv.jpg) center top no-repeat;
    background-size: cover;
}

.parts .block01 h2 {
    padding-top: 8rem;
}

.parts .block01 h2.contentsTitle {
    margin-top: 7.5rem;
    background: none;
    padding: 0 0 0 0;
}

.parts .block01 h2.contentsTitle span {
    color: #cdad58;
    font-size: 5rem;
}

.parts .block01 h2.point {
    margin: 7.5rem 0 0 0;
    background: none;
    padding: 0 0 0 0;
}

.parts .block01 h2.point span {
    display: inline-block;
    background: #cdad58;
    color: #ffffff;
    font-size: 3rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    width: 5rem;
    height: 5rem;
    border-radius: 1000px;
    text-align: center;
    line-height: 160%;
    padding: 0 17px;
    margin-right: 2rem;
    position: relative;
}

.parts .block01 h2.point span::before {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    content: 'POINT';
    font-weight: 700;
    color: #cdad58;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1.4rem;
    line-height: 100%;
    position: absolute;
    top: -20px;
    left: 0;
}

.parts .block01 h2.renewal {
    margin: 7.5rem 0 0 0;
    background: none;
    padding: 0 0 0 0;
}

.parts .block01 h2.renewal span {
    display: inline-block;
    background: #cdad58;
    color: #ffffff;
    font-size: 3rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    width: 5rem;
    height: 5rem;
    border-radius: 1000px;
    text-align: center;
    line-height: 160%;
    padding: 0 17px;
    margin-right: 2rem;
    position: relative;
}

.parts .block01 h2.renewal span::before {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    content: 'RENEWAL';
    font-weight: 700;
    color: #cdad58;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1.4rem;
    line-height: 100%;
    position: absolute;
    top: -20px;
    left: -15px;
}

.parts .block01.company h2,
.parts .block01.guide h2 {
    padding: 7.5rem 0 3rem 0;
    background: none;
    font-size: 2.8rem;
    margin: 0;
}

.parts .block01.company h2::before,
.parts .block01.guide h2::before {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 3.5rem;
}

.parts .block01.company h2::after,
.parts .block01.guide h2::after {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 3.5rem;
}

.parts .block01.company .tc {
    padding-bottom: 3rem;
}

.parts .block01.office .tc {
    padding: 8rem 0;
}

.parts .block01 p {
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.parts .block01 .partsAnchor01 {
    padding: 4rem 0;
}

.parts .block01 .partsAnchor01 ul {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.parts .block01 .partsAnchor01 ul li {
    width: 13.9%;
    margin: 0 1.18%;
}

.parts .block01 .partsAnchor01 ul li p {
    text-align: center;
    letter-spacing: normal;
    padding: 0;
    margin: 0;
    line-height: 100%;
}

.parts .block01 .partsAnchor01 ul li p+p {
    padding: 0;
    margin: 0;
}

.parts .block01 .partsAnchor01 ul li .text {
    color: #322f25;
    font-size: 1.7rem;
    line-height: 2.3rem;
    font-weight: bold;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
}

.parts .block01 .partsAnchor01 ul li .text.border01 {
    background: url("../img/company/parts_anchor_border01.svg") center bottom no-repeat;
    background-size: 24px 2px;
}

.parts .block01 .partsAnchor01 ul li .text.border02 {
    background: url("../img/company/parts_anchor_border02.svg") center bottom no-repeat;
    background-size: 24px 2px;
}

.parts .block01 .partsAnchor01 ul li .text.border03 {
    background: url("../img/company/parts_anchor_border03.svg") center bottom no-repeat;
    background-size: 24px 2px;
}

.parts .block01 .partsAnchor01 ul li .text.border04 {
    background: url("../img/company/parts_anchor_border04.svg") center bottom no-repeat;
    background-size: 24px 2px;
}

.parts .block01 .partsAnchor01 ul li .text.border05 {
    background: url("../img/company/parts_anchor_border05.svg") center bottom no-repeat;
    background-size: 24px 2px;
}

.parts .block01 .partsAnchor01 ul li .text.border06 {
    background: url("../img/company/parts_anchor_border06.svg") center bottom no-repeat;
    background-size: 24px 2px;
}

.parts .block01 .partsAnchor01 ul li .small {
    color: #322f25;
    font-size: 1rem;
    font-weight: normal;
}

.parts .block01 .partsAnchor01 ul li a {
    display: block;
    transition: all 0.3s ease 0s;
}

.parts .block01 .partsAnchor01 ul li a::after {
    display: block;
    transition: all 0.3s ease 0s;
    opacity: 0;
    content: "";
    display: block;
    width: 16px;
    height: 18px;
    background: url(../img/guide/arrow_hover.svg) center bottom no-repeat;
    position: absolute;
    bottom: -1rem;
    left: 45%;
    z-index: -1;
    margin: 0 auto;
}

.parts .block01 .partsAnchor01 ul li a:hover {
    transition: all 0.3s ease 0s;
    transform: translateY(-0.8em);
}

.parts .block01 .partsAnchor01 ul li a:hover::after {
    transition: all 0.3s ease 0s;
    transform: translateY(1.2em);
    opacity: 1.0;
}

.parts .block01 .flowLink {
    position: relative;
    margin: 6rem 0 9rem 0;
    padding: 0;
}

.parts .block01 .flowLink::before {
    content: "";
    display: block;
    width: calc(100% - 10.8%);
    height: 0.1rem;
    /*
                  background: #918a71;
                  background: -moz-linear-gradient(left,  #918a71 0%, #cb9300 100%);
                  background: -webkit-linear-gradient(left,  #918a71 0%,#cb9300 100%);
                  background: linear-gradient(to right,  #918a71 0%,#cb9300 100%);
                  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#918a71', endColorstr='#cb9300',GradientType=1 );
                  position: absolute;
                  top: pxToRem(62);
                  */
    left: 5.4%;
    z-index: -1;
}

.parts .block01 .flowLink ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
}

.parts .block01 .flowLink ul li {
    width: 14.2%;
    text-align: center;
}

.parts .block01 .flowLink ul li .icon {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.parts .block01 .flowLink ul li .icon .step {
    font-weight: 700;
    font-size: 1.4rem;
}

.parts .block01 .flowLink ul li .icon .step.step01 {
    color: #918a71;
}

.parts .block01 .flowLink ul li .icon .step.step02 {
    color: #9f9475;
}

.parts .block01 .flowLink ul li .icon .step.step03 {
    color: #b1a279;
}

.parts .block01 .flowLink ul li .icon .step.step04 {
    color: #cdad58;
}

.parts .block01 .flowLink ul li .icon .step.step05 {
    color: #caa133;
}

.parts .block01 .flowLink ul li .icon .step.step06 {
    color: #ca9a1b;
}

.parts .block01 .flowLink ul li .icon .step.step07 {
    color: #cb9300;
}

.parts .block01 .flowLink ul li .icon .number {
    font-size: 3rem;
    line-height: 100%;
    color: #ffffff;
    font-weight: 700;
    border-radius: 1000px;
    width: 6rem;
    height: 6rem;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.parts .block01 .flowLink ul li .icon .number span {
    display: inline-block;
}

.parts .block01 .flowLink ul li .icon .number.number01 {
    background: #918a71;
}

.parts .block01 .flowLink ul li .icon .number.number02 {
    background: #9f9475;
}

.parts .block01 .flowLink ul li .icon .number.number03 {
    background: #b1a279;
}

.parts .block01 .flowLink ul li .icon .number.number04 {
    background: #cdad58;
}

.parts .block01 .flowLink ul li .icon .number.number05 {
    background: #caa133;
}

.parts .block01 .flowLink ul li .icon .number.number06 {
    background: #ca9a1b;
}

.parts .block01 .flowLink ul li .icon .number.number07 {
    background: #cb9300;
}

.parts .block01 .flowLink ul li .text {
    font-size: 2rem;
    line-height: 2.6rem;
    padding-top: 1.4rem;
}

.parts .block01 .flowLink ul li a {
    display: block;
    transition: all 0.3s ease 0s;
}

.parts .block01 .flowLink ul li a::after {
    display: block;
    transition: all 0.3s ease 0s;
    opacity: 0;
    content: "";
    display: block;
    width: 16px;
    height: 18px;
    background: url(../img/guide/arrow_hover.svg) center bottom no-repeat;
    position: absolute;
    bottom: -1rem;
    left: 45%;
    z-index: -1;
    margin: 0 auto;
}

.parts .block01 .flowLink ul li a:hover {
    transition: all 0.3s ease 0s;
    transform: translateY(-1em);
}

.parts .block01 .flowLink ul li a:hover::after {
    transition: all 0.3s ease 0s;
    transform: translateY(2em);
    opacity: 1.0;
}

.parts .block01 .anchorBlock {
    padding-bottom: 4rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
}

.parts .block01 .anchorBlock .anchorBtn {
    width: 22.2%;
}

.parts .block01 .anchorBlock .anchorBtn+div.anchorBtn {
    margin-left: 4rem;
}

.parts .block01 .anchorBlock .anchorBtn a {
    display: block;
    text-align: center;
    border: 2px solid #322f25;
    padding: 1.8rem 2rem;
    position: relative;
    transition: all 0.3s ease 0s;
}

.parts .block01 .anchorBlock .anchorBtn a::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 6px;
    background-image: url(../img/parts/anchor_arrow.svg);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    left: 50%;
    bottom: 4px;
    transition: all 0.3s ease 0s;
}

.parts .block01 .anchorBlock .anchorBtn a:hover {
    border: 2px solid #322f25;
    background: #322f25;
    color: #ffffff;
}

.parts .block01 .anchorBlock .anchorBtn a:hover::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 6px;
    background-image: url(../img/parts/anchor_arrow_hover.svg);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    left: 50%;
    bottom: 2px;
    transition: all 0.3s ease 0s;
}

.parts .block01 .contentsBlock {
    margin-top: 4rem;
    padding-bottom: 4rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
}

.parts .block01 .contentsBlock h3 {
    color: #565243;
    font-size: 2.4rem;
    font-weight: 700;
    padding: 4rem 0 2rem;
}

.parts .block01 .contentsBlock .imageBox01 {
    width: 48.1%;
}

.parts .block01 .contentsBlock .textBox01 {
    width: 48.1%;
}

.parts .block01 .contentsBlock .textBox01 h3,
.parts .block01 .contentsBlock .textBox01 p {
    color: #322f25;
    text-align: left;
}

.parts .block01 .contentsBlock .textBox02 p {
    color: #322f25;
    text-align: center;
}

.parts .block01 .contentsBlock .textBox01 h3 {
    font-size: 2.4rem;
    margin: 0 0 2rem 0;
    padding: 2rem 0 1.5rem 0;
    background: url(../img/title_border.svg) left bottom no-repeat;
    background-size: 48px 2px;
    font-weight: 700;
}

.parts .block01 .contentsBlock .textBox01 p {
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.parts .block01 .contentsBlock .textBox01 p+p {
    padding-top: 1.2rem;
}

.parts .block01 .contentsBlock.pointBlock h3 {
    background: url(../img/title_border.svg) left bottom no-repeat;
    background-size: 48px 2px;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

.parts .block01 .mainList {
    margin-top: 5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.parts .block01 .mainList .mainListSingle {
    width: 30.9%;
}

.parts .block01 .mainList .mainListSingle p {
    text-align: left;
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.8rem;
    margin-top: 0.8rem;
}

.parts .block01 .contactBtn {
    width: 38.6%;
    max-width: 425px;
    margin: 3.6rem auto 0 auto;
}

.parts .block01 .contactBtn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    display: block;
    border: 2px solid #322f25;
    padding: 1.7rem 2rem;
    color: #322f25;
    background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
}

.parts .block01 .contactBtn a::before {
    content: '';
    display: inline-block;
    width: 27px;
    height: 21px;
    background-image: url("../img/parts/mail.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 1.4rem;
}

.parts .block01 .contactBtn a:hover {
    color: #ffffff;
    background: url("../img/arrow_hover.svg") 97% center no-repeat #322f25;
}

.parts .block01 .contactBtn a:hover::before {
    background-image: url("../img/parts/mail_hover.svg");
}

.parts .block01 .tableType01 {
    color: #565243;
}

.parts .block01 .tableType01 th,
.parts .block01 .tableType01 td {
    font-size: 1.4rem;
    line-height: 2.8rem;
    text-align: left;
    vertical-align: top;
}

.parts .block01 .tableType01 th {
    font-size: 1.5rem;
    font-weight: 700;
    width: 26.5%;
    padding: 2.2rem 0;
    border-bottom: 2px solid #e6e6e6;
}

.parts .block01 .tableType01 td {
    width: 73.5%;
    padding: 2.2rem 0;
    border-bottom: 2px solid #e6e6e6;
}

.parts .block01 .tableType01 td a {
    color: #cdad58;
}

.parts .block01 .tableType01 td a span {
    border-bottom: 1px solid #cdad58;
    display: inline-block;
    position: relative;
}

.parts .block01 .tableType01 td a span::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .tableType01 td a:hover span::after {
    width: 100%;
}

.parts .block01 .tableType01 td a.pdf {
    color: #0068b7;
}

.parts .block01 .tableType01 td a.pdf span {
    border-bottom: 1px solid #0068b7;
    display: inline-block;
    position: relative;
}

.parts .block01 .tableType01 td a.pdf span::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .tableType01 td a.pdf:hover span::after {
    width: 100%;
}

.parts .block01 .tableType01 td a.pdf::after {
    content: 'PDF';
    color: #ffffff;
    display: inline-block;
    text-decoration: none !important;
    font-size: 1rem;
    line-height: 100%;
    padding: 0.5rem 0.7rem;
    margin-left: 0.6rem;
    background: #cb1f1f;
}

.parts .block01 .tableType01 td a.pdf:hover {
    opacity: 0.75;
}

.parts .block01 .tableType01 .companyBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

.parts .block01 .tableType01 .companyBox .companyLogo {
    width: 60px;
    margin-right: 1rem;
}

.parts .block01 .contentsBlock02 {
    margin-top: 3.5rem;
}

.parts .block01 .contentsBlock02 h3 {
    color: #322f25;
    font-size: 1.6rem;
    line-height: 2.4rem;
    text-align: left;
    font-weight: bold;
    border-left: solid 3px #cdad58;
    padding: 0 0 0 1.8rem;
    margin: 2.8rem 0 1.2rem 0;
    /*
  SP逕ィ
  color: $base;
  font-size: pxToRem(13);
  line-height: pxToRem(20);
  text-align: left;
  font-weight: bold;
  border-left: solid 3px $rightGold;
  padding: 0 0 0 pxToRem(10);
  margin: pxToRem(15) 0 pxToRem(10) 0; 
  */
}

.parts .block01 .contentsBlock02 p+p {
    padding-top: 1.2rem;
}

.parts .block01 .contentsBlock02 .contentsBlockInner {
    padding: 3rem 6rem 5.5rem 6rem;
}

.parts .block01 .contentsBlock02 a::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 12px;
    background: url(../img/topics/link.png) 95% center no-repeat;
    background-size: 14px 12px;
    margin-left: 0.4rem;
}

.parts .block01 .contentsBlock02 a:hover {
    opacity: 0.75;
}

.parts .block01 .contentsBlock02 .linkBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.parts .block01 .contentsBlock02 .linkBox .linkSingle {
    width: 50%;
}

.parts .block01 .contentsBlock02 .linkBox .linkSingle p+p {
    padding-top: 0.8rem;
}

.parts .block01 .contentsBlock02.communicationBox h3 {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin: 2.8rem 0 1.8rem 0;
}

.parts .block01 .contentsBlock03 {
    color: #565243;
}

.parts .block01 .contentsBlock03 h3 {
    font-size: 2.4rem;
    font-weight: 700;
}

.parts .block01 .contentsBlock03 p {
    padding-top: 0.8rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.parts .block01 .contentsBlock03 .blockSingle {
    margin-top: 5rem;
    color: #565243;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.parts .block01 .contentsBlock03 .blockSingle a {
    color: #cdad58;
    display: inline-block;
    position: relative;
    border-bottom: 1px solid #cdad58;
}

.parts .block01 .contentsBlock03 .blockSingle a:hover {
    opacity: 0.75;
}

.parts .block01 .contentsBlock03 .blockSingle a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .contentsBlock03 .blockSingle a:hover::after {
    width: 100%;
}

.parts .block01 .contentsBlock03 .blockSingle .image {
    width: 38.1%;
}

.parts .block01 .contentsBlock03 .blockSingle .image.image06 img {
    width: 46.9%;
    margin: 0 auto;
}

@media only screen and (min-width: 768px) {
    .parts .block01 .contentsBlock03 .blockSingle .image.order1 {
        order: 1;
    }

    .parts .block01 .contentsBlock03 .blockSingle .image.order2 {
        order: 2;
    }
}

.parts .block01 .contentsBlock03 .blockSingle .textBlock {
    width: 57.2%;
}

@media only screen and (min-width: 768px) {
    .parts .block01 .contentsBlock03 .blockSingle .textBlock.order1 {
        order: 1;
    }

    .parts .block01 .contentsBlock03 .blockSingle .textBlock.order2 {
        order: 2;
    }
}

.parts .block01 .contentsBlock03.privacyBox h3 {
    margin-top: 4rem;
}

.parts .block01 .contentsBlock03.privacyBox h3:first-child {
    margin-top: 2rem;
}

.parts .block01 .contentsBlock03.privacyBox p+p {
    padding-top: 1.2rem;
}

.parts .block01 .contentsBlock03.privacyBox p.privacyText {
    padding-top: 0.6rem;
    padding-left: 1em;
}

.parts .block01 .contentsBlock03 .consultationBox {
    margin: 5rem 0;
    padding: 4.2rem 0 5rem 0;
    text-align: center;
}

.parts .block01 .contentsBlock03 .consultationBox .name {
    font-weight: 700;
}

.parts .block01 .contentsBlock03 .consultationBox h3 {
    color: #322f25;
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

.parts .block01 .contentsBlock03 .consultationBox h3::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 2rem;
}

.parts .block01 .contentsBlock03 .consultationBox h3::after {
    content: "";
    display: inline-block;
    width: 28px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 2rem;
}

.parts .block01 .contentsBlock03 .consultationBox p {
    line-height: 3.2rem;
}

.parts .block01 .contentsBlock03 .consultationBox p.place {
    line-height: 2.6rem;
}

.parts .block01 .contentsBlock03 .consultationBox p+p {
    padding-top: 0.6rem;
}

.parts .block01 .contentsBlock03 .consultationBox p.small {
    padding-top: 2.4rem;
    font-size: 1.2rem;
    line-height: 2.2rem;
}

.parts .block01 .contentsBlock03 .consultationBox p a {
    color: #565243;
}

.parts .block01 .contentsBlock03 .consultationBox p a:hover {
    opacity: 0.75;
}

.parts .block01 .contentsBlock03 .consultationBox p a.mailLink {
    line-height: 165%;
    color: #565243;
    display: inline-block;
    position: relative;
    border-bottom: 1px solid #565243;
}

.parts .block01 .contentsBlock03 .consultationBox p a.mailLink::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #f7f5f0;
    transition: all 0.3s ease 0s;
}

.parts .block01 .contentsBlock03 .consultationBox p a.mailLink:hover::after {
    width: 100%;
}

.parts .block01.office .topText {
    padding: 0;
}

.parts .block01.office .topText p {
    text-align: center;
}

.parts .block01 .kfcbldgBlock {
    margin: 5rem auto;
}

@media screen and (min-width: 769px) {
    .parts .block01 .kfcbldgBlock {
        max-width: 1000px;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .parts .block01 .kfcbldgBlock {
        max-width: initial;
        width: auto;
    }
}

.parts .block01 .kfcbldgBlock .kfcbldgBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor {
    width: 29.7%;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle .floorText {
    width: 36.2%;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle .floorText p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #322f25;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 0 18.5% 0 0;
    margin: 0;
    line-height: 100%;
    text-align: right;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle .floorImage {
    width: 63.7%;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData {
    width: 70%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataText {
    width: 11.3%;
    padding-right: 1.5%;
    border-right: 2px solid #e6e6e6;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataText p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #322f25;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 0;
    margin: 0;
    line-height: 100%;
    text-align: right;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink {
    width: 87%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p {
    color: #565243;
    width: 96.8% !important;
    padding: 0 0 0 3.2%;
    margin: 0;
    font-size: 1.4rem;
    line-height: 100%;
    letter-spacing: 0.1em;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink {
    margin: 0 2.4% 0 0;
    border-bottom: 1px solid #ffffff;
    padding-bottom: 2px;
    display: inline-block;
    position: relative;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink02 {
    margin: 0;
    border-bottom: 1px solid #ffffff;
    padding-bottom: 2px;
    display: inline-block;
    position: relative;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink02::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a {
    color: #565243;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a span {
    border-bottom: 1px solid #565243;
    padding-bottom: 2px;
    display: block;
    position: relative;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a span::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a:hover {
    opacity: 0.75;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a:hover span::after {
    width: 100%;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.link {
    padding-right: 2.6%;
    margin-right: 2.6%;
    position: relative;
    white-space: nowrap;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.link::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 12px;
    background-image: url(../img/topics/link_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 2.6%;
    position: absolute;
    right: 0;
    top: 1px;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.link span {
    border-bottom: 1px solid #565243;
    padding-bottom: 2px;
    display: block;
    position: relative;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.link span::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.link:hover {
    opacity: 0.75;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.link:hover span::after {
    width: 100%;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold {
    color: #cdad58;
    display: block;
    margin: 0 2.4% 0 0;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold span {
    border-bottom: 1px solid #cdad58;
    padding-bottom: 2px;
    display: block;
    position: relative;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold span::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold:hover {
    opacity: 0.75;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold:hover span::after {
    width: 100%;
}

.parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink.floor1f p a {
    margin-bottom: 0.6rem;
}

@media screen and (min-width: 768px) {
    .parts .block01 .kfcbldgBlock .kfcbldgBox:nth-child(13) .kfcbldgData .dataText {
        align-items: stretch !important;
        align-self: stretch !important;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox:nth-child(13) .kfcbldgData .dataText p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #322f25;
        font-size: 1.4rem;
        font-weight: 700;
        padding: 0.8rem 0 0 0;
        margin: 0;
        line-height: 100%;
        text-align: right;
    }
}

.parts .block01 .guideBuildingList {
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

@media screen and (min-width: 769px) {
    .parts .block01 .guideBuildingList {
        max-width: 1000px;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .parts .block01 .guideBuildingList {
        max-width: initial;
        width: auto;
    }
}

.parts .block01 .guideBuildingList .listSingle {
    width: 48%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 4rem;
}

.parts .block01 .guideBuildingList .listSingle .image {
    width: 47.9%;
}

.parts .block01 .guideBuildingList .listSingle .floorData {
    position: relative;
    width: 45.8%;
}

.parts .block01 .guideBuildingList .listSingle .floorData .floorNumber {
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 100%;
    min-width: 53px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    background: #cdad58;
    display: inline-block;
    text-align: center;
    padding: 0.5rem 0;
}

.parts .block01 .guideBuildingList .listSingle .floorData h3 {
    margin-top: 1.6rem;
    color: #565243;
    font-size: 1.4rem;
    letter-spacing: normal;
}

.parts .block01 .guideBuildingList .listSingle .floorData h3 a {
    color: #565243;
    background: url(../img/topics/link_sp.png) right 4px no-repeat;
    background-size: 14px 12px;
    padding-right: 6.8%;
}

.parts .block01 .guideBuildingList .listSingle .floorData h3 a span {
    border-bottom: 1px solid #565243;
    padding-bottom: 2px;
    display: inline-block;
    position: relative;
}

.parts .block01 .guideBuildingList .listSingle .floorData h3 a span::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .guideBuildingList .listSingle .floorData h3 a:hover {
    opacity: 0.75;
}

.parts .block01 .guideBuildingList .listSingle .floorData h3 a:hover span::after {
    width: 100%;
}

.parts .block01 .guideBuildingList .listSingle .floorData .info {
    position: absolute;
    left: 0;
    bottom: 0;
}

.parts .block01 .guideBuildingList .listSingle .floorData .info p {
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.4rem;
    letter-spacing: 0.05em;
}

.parts .block01 .guideBuildingList .listSingle .floorData .info p a {
    color: #565243;
    display: inline-block;
    position: relative;
    border-bottom: 1px solid #565243;
}

.parts .block01 .guideBuildingList .listSingle .floorData .info p a:hover {
    opacity: 0.75;
}

.parts .block01 .guideBuildingList .listSingle .floorData .info p a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01 .guideBuildingList .listSingle .floorData .info p a:hover::after {
    width: 100%;
}

.parts .block01.access .partsAnchor01 {
    margin-top: 8rem;
}

.parts .block01.access .map01 {
    padding: 0 0 4.2rem 0;
}

.parts .block01.access .btn {
    width: 34%;
    max-width: 375px;
    margin: 5rem auto 0 auto;
}

.parts .block01.access .btn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1.4rem;
    text-align: center;
    display: block;
    border: 2px solid #322f25;
    padding: 1.8rem 1.5rem;
    color: #322f25;
    background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
}

.parts .block01.access .btn a:hover {
    color: #ffffff;
    background: url("../img/arrow_hover.svg") 97% center no-repeat #322f25;
}

.parts .block01.access .mapBlock01 .mapSingle {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.parts .block01.access .mapBlock01 .mapSingle .map02 {
    width: 45.4%;
}

.parts .block01.access .mapBlock01 .mapSingle .map05 {
    width: 44.5%;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock {
    width: 50%;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p {
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.ttl {
    font-weight: bold;
    padding: 2.2rem 0 0.2rem 0;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.ttl:first-of-type {
    padding-top: 0;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention {
    position: relative;
    padding-left: 1.6rem;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention::before {
    position: absolute;
    content: "※";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: -1rem;
    left: 0;
    top: 0;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention a {
    color: #322f25;
    border-bottom: 1px solid #322f25;
    display: inline-block;
    position: relative;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention a:hover {
    opacity: 0.75;
}

.parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention a:hover::after {
    width: 100%;
}

.parts .block01.office {
    padding-bottom: 10rem;
}

.parts .block01.office .officeBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.parts .block01.office .officeBox .officeSingle {
    width: 49%;
}

.parts .block01.example {
    padding: 0rem 0 10rem 0;
}

.parts .block01.example .exampleBox {
    padding-top: 2.5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.parts .block01.example .exampleBox .exampleSingle {
    width: 30.9%;
    margin-top: 3rem;
    margin-right: 3.6%;
}

.parts .block01.example .exampleBox .exampleSingle:nth-of-type(3),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(6),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(9),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(12),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(15),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(18),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(21),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(24),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(27),
.parts .block01.example .exampleBox .exampleSingle:nth-of-type(30) {
    margin-right: 0;
}

.parts .block01.example .exampleBox .exampleSingle .image a {
    display: block;
}

.parts .block01.example .exampleBox .exampleSingle .image a:hover {
    opacity: 0.75;
}

.parts .block01.example .exampleBox .exampleSingle h3 {
    color: #565243;
    font-size: 2rem;
    background: url("../img/border.svg") left center no-repeat;
    padding-left: 2.8rem;
    margin: 2rem 0 0.4rem 0;
}

.parts .block01.example .exampleBox .exampleSingle p {
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.parts .block01.example .exampleBox .exampleSingle p a {
    color: #cdad58;
    border-bottom: 1px solid #cdad58;
    display: inline-block;
    position: relative;
}

.parts .block01.example .exampleBox .exampleSingle p a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.parts .block01.example .exampleBox .exampleSingle p a:hover {
    opacity: 0.75;
}

.parts .block01.example .exampleBox .exampleSingle p a:hover::after {
    width: 100%;
}

.filenotfound .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.filenotfound .pageTitle {
    background: url(../img/parts/notfound_mv.jpg) center top no-repeat;
    background-size: cover;
}

.filenotfound h2 {
    color: #565243;
    font-size: 2rem;
    background: none;
    margin: 0;
    padding: 8rem 0 3rem 0;
}

.filenotfound p {
    color: #565243;
    font-size: 2rem;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.8rem;
}

.filenotfound .topbtn {
    padding: 5.4rem 0 10rem 0;
    width: 34%;
    max-width: 375px;
    margin: 0 auto;
}

.filenotfound .topbtn a {
    display: block;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin: 0 auto;
    border: 2px solid #322f25;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 1.6rem 0;
    background: url(../img/arrow_hover.svg) 95% center no-repeat #322f25;
    color: #ffffff;
}

.filenotfound .topbtn a:hover {
    color: #322f25;
    background: url(../img/arrow.svg) 97% center no-repeat #ffffff;
    border: 2px solid #322f25;
    opacity: 1.0;
}

.sitemap .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding: 5rem 0 10rem 0;
}

.sitemap .pageTitle {
    background: url(../img/parts/sitemap_mv.jpg) center top no-repeat;
    background-size: cover;
}

.sitemap .sitemapBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
}

.sitemap .sitemapBox a:hover {
    opacity: 0.75;
}

.sitemap .sitemapBox .mapList.box01 {
    width: 25.4%;
}

.sitemap .sitemapBox .mapList.box02 {
    width: 20%;
}

.sitemap .sitemapBox .mapList.box03 {
    width: 24.5%;
}

.sitemap .sitemapBox .mapList.box04 {
    width: 25.4%;
}

.sitemap .sitemapBox .mapList .category {
    margin-top: 2.4rem;
    font-size: 1.6rem;
}

.sitemap .sitemapBox .mapList .category a {
    color: #322f25;
}

.sitemap .sitemapBox .mapList .subcategory {
    color: #565243;
    margin-top: 1.4rem;
    background: url(../img/parts/sitemap_link.svg) left 10px no-repeat;
    background-size: 8px 1px;
    padding-left: 1.6rem;
}

.sitemap .sitemapBox .mapList .subcategory a {
    color: #565243;
}

.sitemap .sitemapBox .pageBox {
    width: 96.5%;
    margin-left: 3.5%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
}

.sitemap .sitemapBox .pageBox .pageSingle {
    width: 30.7%;
}

.sitemap .sitemapBox .pageBox .pageSingle p {
    margin-top: 0.2rem;
    color: #565243;
    font-size: 1.2rem;
    letter-spacing: normal;
}

.sitemap .sitemapBox .pageBox .pageSingle p a {
    color: #565243;
}

.sitemap .sitemapBox .pageBoxList {
    margin-left: 4.5%;
}

.sitemap .sitemapBox .pageBoxList p {
    margin-top: 0.2rem;
    color: #565243;
    font-size: 1.2rem;
    letter-spacing: normal;
}

.sitemap .sitemapBox .pageBoxList p a {
    color: #565243;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    .sitemap .sitemapBox .pageBox .pageSingle {
        width: 40.7%;
    }
}

@media screen and (max-width: 767px) {
    .parts .inner {
        width: auto;
        max-width: initial;
        margin: 0 2rem;
    }

    .parts.privacy .pageTitle {
        background: url(../img/parts/sp_privacypolicy_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .parts.privacy .block01 {
        padding-top: 0rem;
        padding-bottom: 5rem;
    }

    .parts.companyTop .pageTitle {
        background: url(../img/company/sp_company_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .parts.companyTop .block01 {
        padding-top: 0rem;
        margin-top: 4.5rem;
        padding-bottom: 5rem;
    }

    .parts.accessTop .pageTitle {
        background: url(../img/access/sp_access_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .parts.accessTop .block01 {
        padding-bottom: 5rem;
    }

    .parts.features .block01 {
        padding: 0 0 5rem 0;
    }

    .parts.exampleTop .pageTitle {
        background: url(../img/example/sp_example_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .parts .block01 h2 {
        padding-top: 0rem;
        margin-top: 4.5rem;
    }

    .parts .block01 h2.contentsTitle {
        margin-top: 4rem;
        background: none;
        padding: 0;
        letter-spacing: normal;
    }

    .parts .block01 h2.contentsTitle span {
        color: #cdad58;
        font-size: 3rem;
    }

    .parts .block01 h2.point {
        margin: 0;
        background: none;
        padding: 4rem 0 0 0;
        letter-spacing: normal;
    }

    .parts .block01 h2.point span {
        display: inline-block;
        background: #cdad58;
        color: #ffffff;
        font-size: 2rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 1000px;
        text-align: center;
        line-height: 180%;
        padding: 0 12px;
        margin-right: 1rem;
        position: relative;
    }

    .parts .block01 h2.point span::before {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        content: 'POINT';
        font-weight: 700;
        color: #cdad58;
        display: inline-block;
        text-decoration: none !important;
        font-size: 0.9rem;
        line-height: 100%;
        position: absolute;
        top: -13px;
        left: 0;
    }

    .parts .block01 h2.renewal {
        margin: 0;
        background: none;
        padding: 4rem 0 0 0;
        letter-spacing: normal;
    }

    .parts .block01 h2.renewal span {
        display: inline-block;
        background: #cdad58;
        color: #ffffff;
        font-size: 2rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 1000px;
        text-align: center;
        line-height: 180%;
        padding: 0 12px;
        margin-right: 1rem;
        position: relative;
    }

    .parts .block01 h2.renewal span::before {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        content: 'RENEWAL';
        font-weight: 700;
        color: #cdad58;
        display: inline-block;
        text-decoration: none !important;
        font-size: 0.9rem;
        line-height: 100%;
        position: absolute;
        top: -13px;
        left: -10px;
    }

    .parts .block01.company h2,
    .parts .block01.guide h2 {
        padding: 3.8rem 0 1rem 0;
        background: none;
        font-size: 1.8rem;
        margin: 0;
    }

    .parts .block01.company h2::before,
    .parts .block01.guide h2::before {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 0.6rem;
    }

    .parts .block01.company h2::after,
    .parts .block01.guide h2::after {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-left: 0.6rem;
    }

    .parts .block01.company .tc {
        padding-bottom: 2.5rem;
    }

    .parts .block01.office .tc {
        padding: 4.5rem 0 2.5rem 0;
    }

    .parts .block01.guide {
        padding: 4.5rem 0 5rem 0;
    }

    .parts .block01 p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .parts .block01 p+p {
        padding-top: 1.2rem;
    }

    .parts .block01 .partsAnchor01 {
        margin: 0rem 0;
        padding: 2.5rem 1.8rem 1.8rem 1.8rem;
    }

    .parts .block01 .partsAnchor01 ul {
        max-width: 1100px;
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

    .parts .block01 .partsAnchor01 ul li {
        width: 48%;
        margin: 0 1%;
    }

    .parts .block01 .partsAnchor01 ul li p {
        text-align: center;
        letter-spacing: normal;
        padding: 0;
        margin: 0;
        line-height: 100%;
    }

    .parts .block01 .partsAnchor01 ul li p+p {
        padding: 0;
        margin: 0;
    }

    .parts .block01 .partsAnchor01 ul li .text {
        color: #322f25;
        font-size: 1.2rem;
        line-height: 1.8rem;
        font-weight: bold;
        padding-bottom: 0.3rem;
        margin-bottom: 0rem;
    }

    .parts .block01 .partsAnchor01 ul li .text.border01,
    .parts .block01 .partsAnchor01 ul li .text.border02,
    .parts .block01 .partsAnchor01 ul li .text.border03,
    .parts .block01 .partsAnchor01 ul li .text.border04,
    .parts .block01 .partsAnchor01 ul li .text.border05,
    .parts .block01 .partsAnchor01 ul li .text.border06 {
        background: none;
    }

    .parts .block01 .partsAnchor01 ul li .small {
        color: #322f25;
        font-size: 0.6rem;
        font-weight: normal;
    }

    .parts .block01 .partsAnchor01 ul li a {
        display: block;
        transition: all 0.3s ease 0s;
        border: 1px solid #322f25;
        margin-bottom: 0.8rem;
        background: url(../img/company/sp_arrow.svg) center 92% no-repeat #ffffff;
        background-size: 10px 6px;
        padding: 0.8rem 0 1.5rem 0;
    }

    .parts .block01 .partsAnchor01 ul li a::after {
        display: none;
    }

    .parts .block01 .partsAnchor01 ul li a:hover {
        transition: all 0.3s ease 0s;
        transform: translateY(0em);
    }

    .parts .block01 .partsAnchor01 ul li a:hover::after {
        display: none;
    }

    .parts .block01 .anchorBlock {
        padding-bottom: 0rem;
        margin: 0 2rem 3.8rem 2rem;
        display: block;
    }

    .parts .block01 .anchorBlock .anchorBtn {
        width: 100%;
    }

    .parts .block01 .anchorBlock .anchorBtn+div.anchorBtn {
        margin-left: 0rem;
        margin-top: 1.8rem;
    }

    .parts .block01 .anchorBlock .anchorBtn a {
        display: block;
        text-align: center;
        border: 2px solid #322f25;
        padding: 1.2rem 2rem;
        position: relative;
        font-size: 1.4rem;
    }

    .parts .block01 .anchorBlock .anchorBtn a::after {
        content: '';
        display: inline-block;
        width: 10px;
        height: 6px;
        background-image: url(../img/parts/anchor_arrow.svg);
        background-size: contain;
        vertical-align: middle;
        position: absolute;
        left: 48%;
        bottom: 2px;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .anchorBlock .anchorBtn a:hover {
        border: 2px solid #322f25;
        background: #ffffff;
        color: #322f25;
    }

    .parts .block01 .anchorBlock .anchorBtn a:hover::after {
        background-image: url(../img/parts/anchor_arrow.svg);
        left: 48%;
        bottom: 2px;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .contentsBlock {
        margin-top: 0rem;
        padding-bottom: 3.8rem;
        display: block;
    }

    .parts .block01 .contentsBlock.pointBlock .inner {
        margin: 0 3.8rem;
    }

    .parts .block01 .contentsBlock h3 {
        color: #565243;
        font-size: 1.5rem;
        font-weight: 700;
        padding: 2.2rem 0 1rem;
    }

    .parts .block01 .contentsBlock .imageBox01 {
        width: 100%;
    }

    .parts .block01 .contentsBlock .textBox01 {
        width: 100%;
    }

    .parts .block01 .contentsBlock .textBox01 h3,
    .parts .block01 .contentsBlock .textBox01 p {
        color: #322f25;
        text-align: left;
    }

    .parts .block01 .contentsBlock .textBox01 h3 {
        font-size: 1.6rem;
        margin: 0 0 1rem 0;
        padding: 2rem 0 1.5rem 0;
        background: url(../img/title_border.svg) left bottom no-repeat;
        background-size: 34px 2px;
        font-weight: 700;
        letter-spacing: normal;
    }

    .parts .block01 .contentsBlock .textBox01 p {
        color: #565243;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .parts .block01 .contentsBlock .textBox01 p+p {
        padding-top: 1.2rem;
    }

    .parts .block01 .contentsBlock.pointBlock h3 {
        margin-bottom: 1rem;
        padding-bottom: 1.3rem;
        background: url(../img/title_border.svg) left bottom no-repeat;
        background-size: 34px 2px;
    }

    .parts .block01 .mainList {
        margin: 0.5rem 0rem 0 0rem;
        display: block;
    }

    .parts .block01 .mainList .mainListSingle {
        width: auto;
        margin-top: 2rem;
    }

    .parts .block01 .mainList .mainListSingle p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .parts .block01 .contactBlock {
        margin: 0 2rem;
    }

    .parts .block01 .contactBtn {
        width: 100%;
        max-width: initial;
        margin: 1.8rem auto 0rem auto;
    }

    .parts .block01 .contactBtn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.4rem;
        text-align: center;
        display: block;
        border: 2px solid #322f25;
        padding: 1.2rem 1.6rem;
        color: #322f25;
        background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
        background-size: 6px auto;
        letter-spacing: normal;
    }

    .parts .block01 .contactBtn a::before {
        content: '';
        display: inline-block;
        width: 19px;
        height: 15px;
        background-image: url("../img/parts/mail.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 1rem;
    }

    .parts .block01 .contactBtn a:hover {
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
    }

    .parts .block01 .contactBtn a:hover::before {
        background-image: url("../img/parts/mail_hover.svg");
    }

    .parts .block01 .caseListBox {
        margin: 0 2rem;
        display: block;
    }

    .parts .block01 .caseListBox .caseSingle {
        width: 100%;
    }

    .parts .block01 .caseListBox .caseSingle a:hover {
        opacity: 1.0;
    }

    .parts .block01 .caseListBox .caseSingle p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .parts .block01 .caseListBox .caseSingle .seminarName {
        font-size: 1.6rem;
        background-size: 1.5rem 0.2rem;
        padding-left: 2.5rem;
        margin: 1rem 0 0.6rem 0;
    }

    .parts .block01 .contentsExampleBlock h2 {
        padding-top: 0;
        margin-top: 5rem;
    }

    .parts .block01 .tableType01 {
        color: #565243;
    }

    .parts .block01 .tableType01 th,
    .parts .block01 .tableType01 td {
        font-size: 1.2rem;
        line-height: 2.2rem;
        text-align: left;
        vertical-align: top;
        display: block;
        width: 100%;
    }

    .parts .block01 .tableType01 th {
        width: 100%;
        padding: 1.2rem 0 0 0;
        border-bottom: none;
        font-weight: 600;
        font-size: 1.3rem;
    }

    .parts .block01 .tableType01 td {
        width: 100%;
        padding: 0.6rem 0 1.2rem 0;
        font-weight: normal;
    }

    .parts .block01 .tableType01 td a {
        color: #cdad58;
    }

    .parts .block01 .tableType01 td a span {
        border-bottom: 1px solid #cdad58;
        display: inline-block;
        position: relative;
    }

    .parts .block01 .tableType01 td a span::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .tableType01 td a:hover span::after {
        width: 100%;
    }

    .parts .block01 .tableType01 td a.pdf {
        color: #565243;
    }

    .parts .block01 .tableType01 td a.pdf span {
        border-bottom: 1px solid #565243;
        display: inline-block;
        position: relative;
    }

    .parts .block01 .tableType01 td a.pdf span::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .tableType01 td a.pdf:hover span::after {
        width: 100%;
    }

    .parts .block01 .tableType01 td a.pdf::after {
        content: 'PDF';
        color: #ffffff;
        display: inline-block;
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 100%;
        padding: 0.3rem 0.5rem;
        margin-left: 0.4rem;
        background: #cb1f1f;
    }

    .parts .block01 .tableType01 td a.pdf:hover {
        opacity: 0.75;
    }

    .parts .block01 .tableType01 .companyBox {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
    }

    .parts .block01 .tableType01 .companyBox .companyLogo {
        width: 50px;
        margin-right: 1rem;
    }

    .parts .block01 .businessGuideText {
        text-align: center !important;
        padding: 0 2rem;
    }

    .parts .block01 .contentsBlock02 {
        margin-top: 1.8rem;
    }

    .parts .block01 .contentsBlock02 .contentsBlockInner {
        padding: 1rem 2rem 2rem 2rem;
    }

    .parts .block01 .contentsBlock02 h3 {
        color: #322f25;
        font-size: 1.5rem;
        line-height: 2rem;
        text-align: left;
        font-weight: bold;
        border-left: solid 3px #cdad58;
        padding: 0 0 0 1rem;
        margin: 1.2rem 0 1rem 0;
    }

    .parts .block01 .contentsBlock02 p+p {
        padding-top: 0.8rem;
    }

    .parts .block01 .contentsBlock02 a::after {
        content: '';
        display: inline-block;
        width: 10px;
        height: 9px;
        background: url(../img/topics/link_sp.png) 95% center no-repeat;
        background-size: 10px 9px;
        margin-left: 0.4rem;
    }

    .parts .block01 .contentsBlock02 a:hover {
        opacity: 0.75;
    }

    .parts .block01 .contentsBlock02 .linkBox {
        display: block;
    }

    .parts .block01 .contentsBlock02 .linkBox .linkSingle {
        width: 100%;
    }

    .parts .block01 .contentsBlock02 .linkBox .linkSingle p+p {
        padding-top: 0.8rem;
    }

    .parts .block01 .contentsBlock02.communicationBox h3 {
        font-size: 1.4rem;
        line-height: 2.2rem;
        margin: 1.4rem 0 1rem 0;
    }

    .parts .block01 .contentsBlock03 {
        color: #565243;
    }

    .parts .block01 .contentsBlock03 h3 {
        padding-top: 1.4rem;
        font-size: 1.5rem;
    }

    .parts .block01 .contentsBlock03 p {
        padding-top: 0.6rem;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .parts .block01 .contentsBlock03 .blockSingle {
        color: #565243;
        display: block;
        padding-top: 3rem;
    }

    .parts .block01 .contentsBlock03 .blockSingle a {
        color: #cdad58;
        display: inline-block;
        position: relative;
        border-bottom: none;
    }

    .parts .block01 .contentsBlock03 .blockSingle a:hover {
        opacity: 1.0;
    }

    .parts .block01 .contentsBlock03 .blockSingle a::after {
        display: none;
    }

    .parts .block01 .contentsBlock03 .blockSingle a:hover::after {
        display: none;
    }

    .parts .block01 .contentsBlock03 .blockSingle a span {
        color: #cdad58;
        display: inline;
        position: relative;
        border-bottom: 1px solid #cdad58;
    }

    .parts .block01 .contentsBlock03 .blockSingle a span:hover {
        opacity: 0.75;
    }

    .parts .block01 .contentsBlock03 .blockSingle a span::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .contentsBlock03 .blockSingle a span:hover::after {
        width: 100%;
    }

    .parts .block01 .contentsBlock03 .blockSingle .image {
        width: 100%;
    }

    .parts .block01 .contentsBlock03 .blockSingle .image.image06 img {
        width: 45%;
        max-width: 127px;
        margin: 0 auto;
    }

    .parts .block01 .contentsBlock03 .blockSingle .textBlock {
        width: 100%;
    }

    .parts .block01 .contentsBlock03 .blockSingle:first-child {
        margin-top: 0rem;
        padding-top: 3rem;
    }

    .parts .block01 .contentsBlock03 .blockSingle:not(:first-child) {
        margin-top: 0rem;
    }

    .parts .block01 .contentsBlock03.privacyBox h3 {
        margin-top: 2.4rem;
        padding-top: 0rem;
    }

    .parts .block01 .contentsBlock03.privacyBox h3:first-child {
        margin-top: 2rem;
    }

    .parts .block01 .contentsBlock03.privacyBox p+p {
        padding-top: 1.2rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox {
        margin: 2rem 0;
        padding: 2.5rem 2rem;
        text-align: center;
    }

    .parts .block01 .contentsBlock03 .consultationBox .name {
        font-weight: 700;
    }

    .parts .block01 .contentsBlock03 .consultationBox h3 {
        color: #322f25;
        font-size: 1.4rem;
        margin-bottom: 0.4rem;
        margin-top: 0rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox h3::before {
        content: "";
        display: inline-block;
        width: 16px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 0.8rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox h3::after {
        content: "";
        display: inline-block;
        width: 16px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-left: 0.8rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox h3:first-child {
        margin-top: 0rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox p {
        line-height: 2.2rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox p.place {
        line-height: 1.8rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox p+p {
        padding-top: 0.6rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox p.small {
        padding-top: 1rem;
        font-size: 1rem;
        line-height: 1.6rem;
    }

    .parts .block01 .contentsBlock03 .consultationBox p a {
        color: #565243;
    }

    .parts .block01 .contentsBlock03 .consultationBox p a:hover {
        opacity: 0.75;
    }

    .parts .block01.office .topText {
        padding: 0;
    }

    .parts .block01.office .topText p {
        text-align: center;
    }

    .parts .block01 .kfcbldgBlock {
        margin: 3rem 4%;
    }
}

@media screen and (max-width: 767px) and (min-width: 769px) {
    .parts .block01 .kfcbldgBlock {
        max-width: 1000px;
        width: 100%;
    }
}

@media screen and (max-width: 767px) and (max-width: 768px) {
    .parts .block01 .kfcbldgBlock {
        max-width: initial;
        width: auto;
    }
}

@media screen and (max-width: 767px) {
    .parts .block01 .kfcbldgBlock .kfcbldgBox {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor {
        width: 33.8%;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle .floorText {
        width: 20.8%;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle .floorText p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #322f25;
        font-size: 2.66666666vw;
        letter-spacing: -0.1em;
        font-weight: 500;
        padding: 0 2% 0 0;
        margin: 0;
        line-height: 100%;
        text-align: right;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle .floorImage {
        width: 78%;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgFloor .floorSingle .floorImage img {
        height: 100%;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData {
        width: 66.1%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataText {
        width: 19%;
        padding-right: 2%;
        border-right: 2px solid #e6e6e6;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataText p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        color: #322f25;
        font-size: 2.66666666vw;
        letter-spacing: -0.1em;
        font-weight: 500;
        margin: 0;
        line-height: 100%;
        text-align: left;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink {
        width: 77%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p {
        color: #565243;
        width: 100% !important;
        padding: 0 0 0 3%;
        margin: 0;
        font-size: 2.933333326vw;
        line-height: 100%;
        letter-spacing: normal;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink {
        margin: 0 2.4% 0 0;
        border-bottom: 1px solid #ffffff;
        padding-bottom: 2px;
        display: inline-block;
        position: relative;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink02 {
        margin: 0;
        border-bottom: 1px solid #ffffff;
        padding-bottom: 2px;
        display: inline-block;
        position: relative;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink p span.nolink02::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a {
        color: #565243;
        display: block;
        margin: 0 2.4% 0 0;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a span {
        border-bottom: 1px solid #ffffff;
        padding-bottom: 1px;
        display: inline-block;
        position: relative;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a span::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a:hover {
        opacity: 0.75;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a:hover span::after {
        width: 100%;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold {
        color: #cdad58;
        display: block;
        margin: 0 2.4% 0 0;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold span {
        border-bottom: 1px solid #cdad58;
        padding-bottom: 1px;
        display: inline-block;
        position: relative;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold span::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold:hover {
        opacity: 0.75;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink a.linkgold:hover span::after {
        width: 100%;
    }

    .parts .block01 .kfcbldgBlock .kfcbldgBox .kfcbldgData .dataLink.floor1f p a {
        margin-bottom: 0.6rem;
    }

    .parts .block01 .guideBuildingList {
        margin: 0 2rem;
        display: block;
    }
}

@media screen and (max-width: 767px) and (min-width: 769px) {
    .parts .block01 .guideBuildingList {
        max-width: 1000px;
        width: 100%;
    }
}

@media screen and (max-width: 767px) and (max-width: 768px) {
    .parts .block01 .guideBuildingList {
        max-width: initial;
        width: auto;
    }
}

@media screen and (max-width: 767px) {
    .parts .block01 .guideBuildingList .listSingle {
        width: 100%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 2.4rem;
    }

    .parts .block01 .guideBuildingList .listSingle .image {
        width: 38%;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData {
        position: relative;
        width: 56.1%;
        margin-top: -0.5rem;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData .floorNumber {
        color: #ffffff;
        font-size: 1rem;
        line-height: 100%;
        min-width: 47px;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        background: #cdad58;
        display: inline-block;
        text-align: center;
        padding: 0.3rem 0;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData h3 {
        margin-top: 0.6rem;
        color: #565243;
        font-size: 1.2rem;
        line-height: 1.4rem;
        letter-spacing: normal;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData h3 a {
        color: #565243;
        background: url(../img/topics/link_sp.png) right 4px no-repeat;
        background-size: 10px 8px;
        padding-right: 6.8%;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData h3 a span {
        border-bottom: 1px solid #ffffff;
        padding-bottom: 0px;
        display: inline-block;
        position: relative;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData h3 a span::after {
        display: none;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData h3 a:hover {
        opacity: 1.0;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData h3 a:hover span::after {
        width: 100%;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData .info {
        position: absolute;
        padding-top: 1rem;
        left: 0;
        bottom: -0.6rem;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData .info p {
        color: #565243;
        font-size: 1.2rem;
        line-height: 1.6rem;
        letter-spacing: 0.05em;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData .info p a {
        color: #565243;
        display: inline-block;
        position: relative;
        border-bottom: 1px solid #565243;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData .info p a:hover {
        opacity: 0.75;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData .info p a::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #565243;
        transition: all 0.3s ease 0s;
    }

    .parts .block01 .guideBuildingList .listSingle .floorData .info p a:hover::after {
        width: 100%;
    }

    .parts .block01.access {
        padding-bottom: 5rem;
    }

    .parts .block01.access .partsAnchor01 {
        margin-top: 4.5rem;
    }

    .parts .block01.access .map01 {
        padding: 0 0 1.5rem 0;
    }

    .parts .block01.access .map04 {
        padding-top: 3rem;
    }

    .parts .block01.access .btn {
        width: 75%;
        max-width: initial;
        margin: 3rem auto 0 auto;
    }

    .parts .block01.access .btn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.2rem;
        text-align: center;
        display: block;
        border: 2px solid #322f25;
        padding: 0.9rem 1.2rem;
        color: #322f25;
        background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
        background-size: 6px auto;
    }

    .parts .block01.access .btn a:hover {
        color: #322f25;
        background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
    }

    .parts .block01.access p+p {
        padding: 0;
    }

    .parts .block01.access .text01 {
        padding: 0 0 0 5.5rem;
        margin: 0;
        position: relative;
    }

    .parts .block01.access .text01::before {
        position: absolute;
        content: "所在地：";
        display: block;
        width: 60px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .parts .block01.access .text02 {
        padding: 0 0 0 5.5rem;
        margin: 0;
        position: relative;
    }

    .parts .block01.access .text02::before {
        position: absolute;
        content: "最寄駅：";
        display: block;
        width: 60px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .parts .block01.access .text03 {
        padding: 0 0 0 7rem;
        margin: 0 0 0 1.6rem;
        position: relative;
    }

    .parts .block01.access .text03::before {
        position: absolute;
        content: "駐車料金：";
        display: block;
        width: 80px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .parts .block01.access .mapBlock01 .mapSingle {
        display: block;
    }

    .parts .block01.access .mapBlock01 .mapSingle .map02 {
        width: 100%;
    }

    .parts .block01.access .mapBlock01 .mapSingle .map05 {
        width: 100%;
    }

    .parts .block01.access .mapBlock01 .mapSingle .mapBlock {
        width: 100%;
    }

    .parts .block01.access .mapBlock01 .mapSingle .mapBlock p {
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .parts .block01.access .mapBlock01 .mapSingle .mapBlock p.ttl {
        font-weight: bold;
        padding: 2.2rem 0 0.2rem 0;
    }

    .parts .block01.access .mapBlock01 .mapSingle .mapBlock p.ttl:first-of-type {
        padding-top: 2.2rem;
    }

    .parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention {
        position: relative;
        padding-left: 1.6rem;
    }

    .parts .block01.access .mapBlock01 .mapSingle .mapBlock p.attention::before {
        position: absolute;
        content: "※";
        display: block;
        width: 10px;
        height: 10px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .parts .block01.office {
        padding-bottom: 4.5rem;
    }

    .parts .block01.office .officeBox {
        display: block;
    }

    .parts .block01.office .officeBox .officeSingle {
        width: 100%;
    }

    .parts .block01.example {
        padding: 0rem 0 5rem 0;
    }

    .parts .block01.example .exampleBox {
        padding-top: 1rem;
        display: block;
    }

    .parts .block01.example .exampleBox .exampleSingle {
        width: 100%;
        margin-top: 3rem;
        margin-right: 0;
    }

    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(3),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(6),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(9),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(12),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(15),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(18),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(21),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(24),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(27),
    .parts .block01.example .exampleBox .exampleSingle:nth-of-type(30) {
        margin-right: 0;
    }

    .parts .block01.example .exampleBox .exampleSingle h3 {
        font-size: 1.6rem;
        background-size: 1.5rem 0.2rem;
        padding-left: 2.5rem;
        margin: 0.8rem 0 0.6rem 0;
    }

    .parts .block01.example .exampleBox .exampleSingle p {
        color: #565243;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .parts .block01.example .exampleBox .exampleSingle p a {
        color: #cdad58;
        border-bottom: 1px solid #cdad58;
        display: inline-block;
        position: relative;
    }

    .parts .block01.example .exampleBox .exampleSingle p a::after {
        display: none;
    }

    .parts .block01.example .exampleBox .exampleSingle p a:hover::after {
        display: none;
    }

    .filenotfound .inner {
        width: auto;
        max-width: initial;
        margin: 0 2rem;
    }

    .filenotfound .pageTitle {
        background: url(../img/parts/sp_notfound_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .filenotfound h2 {
        color: #565243;
        font-size: 1.5rem;
        background: none;
        margin: 0;
        padding: 5.2rem 0 2.4rem 0;
    }

    .filenotfound p {
        color: #565243;
        font-size: 2rem;
        text-align: center;
        font-size: 1.2rem;
        line-height: 2.2rem;
    }

    .filenotfound .topbtn {
        padding: 3.8rem 0 5rem 0;
        width: 65%;
        min-width: 215px;
        margin: 0 auto;
    }

    .filenotfound .topbtn a {
        display: block;
        margin: 0 auto;
        border: 2px solid #322f25;
        text-align: center;
        font-size: 1.2rem;
        font-weight: bold;
        padding: 1rem 0;
        background: url(../img/arrow_hover.svg) 92% center no-repeat #322f25;
        background-size: 8px 10px;
        color: #ffffff;
    }

    .filenotfound .topbtn a:hover {
        color: #ffffff;
        background: url(../img/arrow_hover.svg) 92% center no-repeat #322f25;
        border: 2px solid #322f25;
        opacity: 1.0;
    }

    .sitemap .inner {
        width: auto;
        max-width: initial;
        margin: 0 4rem;
        padding: 3rem 0 5.5rem 0;
    }

    .sitemap .pageTitle {
        background: url(../img/parts/sp_sitemap_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .sitemap .sitemapBox {
        display: block;
    }

    .sitemap .sitemapBox a:hover {
        opacity: 1.0;
    }

    .sitemap .sitemapBox .mapList.box01 {
        width: 100%;
    }

    .sitemap .sitemapBox .mapList.box02 {
        width: 100%;
    }

    .sitemap .sitemapBox .mapList.box03 {
        width: 100%;
    }

    .sitemap .sitemapBox .mapList.box04 {
        width: 100%;
    }

    .sitemap .sitemapBox .mapList .category {
        margin-top: 2rem;
        font-size: 1.5rem;
    }

    .sitemap .sitemapBox .mapList .category a {
        color: #322f25;
    }

    .sitemap .sitemapBox .mapList .subcategory {
        font-size: 1.2rem;
        color: #565243;
        margin-top: 1.2rem;
        background: url(../img/parts/sitemap_link.svg) left 10px no-repeat;
        background-size: 10px 1px;
        padding-left: 1.6rem;
    }

    .sitemap .sitemapBox .mapList .subcategory a {
        color: #565243;
    }

    .sitemap .sitemapBox .pageBox {
        width: 96.5%;
        margin-left: 3.5%;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .sitemap .sitemapBox .pageBox .pageSingle {
        width: 32.7%;
    }

    .sitemap .sitemapBox .pageBox .pageSingle p {
        margin-top: 0.2rem;
        color: #565243;
        font-size: 1.2rem;
        letter-spacing: normal;
        font-weight: normal;
    }

    .sitemap .sitemapBox .pageBox .pageSingle p a {
        color: #828076;
    }

    .sitemap .sitemapBox .pageBoxList {
        margin-left: 4.5%;
    }

    .sitemap .sitemapBox .pageBoxList p {
        margin-top: 0.2rem;
        color: #565243;
        font-size: 1.2rem;
        letter-spacing: normal;
        font-weight: normal;
    }

    .sitemap .sitemapBox .pageBoxList p a {
        color: #828076;
    }
}

/*
@media screen and (orientation: landscape) {
    // 横向きの場合のスタイル
    .parts{
        & .block01{
            & .guideBuildingList{
                @include w1000;
                margin: 0 pxToRem(20);
                display: block;
                & .listSingle{
                    width: 100%; //480px;
                    @include flex(r,w,s,c);
                    flex-direction: row;
                    align-items: flex-start;
                    justify-content: space-between;
                    margin-bottom: pxToRem(24);
                    & .image{
                        width: 38%; //230px
                    }
                    & .floorData{
                        position: static;
                        width: 56.1%; //220px
                        margin-top: pxToRem(-5);
                        & .floorNumber{
                            color: $white;
                            font-size: pxToRem(10);
                            line-height: 100%;
                            min-width: 47px;
                            @include mont;
                            background: $rightGold;
                            display: inline-block;
                            text-align: center;
                            padding: pxToRem(3) 0;
                        }
                        & h3{
                            margin-top: pxToRem(6);
                            color: $rightBrown;
                            font-size: pxToRem(12);
                            line-height: pxToRem(14);
                            letter-spacing: normal;
                            & a{
                                color: $rightBrown;
                                background: url(../img/topics/link_sp.png) right 4px no-repeat;
                                background-size: 10px 8px;
                                padding-right: 6.8%;
                                & span{
                                    border-bottom: 1px solid $white;
                                    padding-bottom: 0px;
                                    display: inline-block;
                                    position: relative;
                                    &::after{
                                        display: none;
                                    }
                                }
                                &:hover{
                                    opacity: 1.0;
                                    & span{
                                        &::after{
                                            width: 100%;
                                        }
                                    }
                                }
                            }
                        }
                        // 下に情報
                        & .info{
                            position: static;
                            padding-top: pxToRem(10);
                            left: 0;
                            bottom: pxToRem(0);
                            & p{
                                color: $rightBrown;
                                font-size: pxToRem(12);
                                line-height: pxToRem(16);
                                letter-spacing: 0.05em;
                                & a{
                                    color: $rightBrown;
                                    display: inline-block;
                                    position: relative;
                                    //text-decoration: none;
                                    border-bottom: 1px solid $rightBrown;
                                    &:hover{
                                        @include opacity075;
                                    }
                                    &::after{
                                        position: absolute;
                                        content: '';
                                        bottom: -1px;
                                        left: 0;
                                        width: 0;
                                        height: 1px;
                                        background: $rightBrown;
                                        transition: all 0.3s ease 0s;
                                    }
                                    &:hover::after{
                                        width: 100%;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
*/
.guideTop .pageTitle {
    background: url(../img/guide/guide_mv.jpg) center top no-repeat;
    background-size: cover;
}

.guide {
    padding: 6.5rem 0 10rem 0;
}

.guide .guideBox01 .guideFlowLink {
    position: relative;
    margin: 6rem 0 9rem 0;
    padding: 0;
}

.guide .guideBox01 .guideFlowLink::before {
    content: "";
    display: block;
    width: calc(100% - 10.8%);
    height: 0.1rem;
    background: #918a71;
    /* Old browsers */
    background: -moz-linear-gradient(left, #918a71 0%, #cb9300 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #918a71 0%, #cb9300 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #918a71 0%, #cb9300 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#918a71', endColorstr='#cb9300', GradientType=1);
    /* IE6-9 */
    position: absolute;
    top: 6.2rem;
    left: 5.4%;
    z-index: -1;
}

.guide .guideBox01 .guideFlowLink ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
}

.guide .guideBox01 .guideFlowLink ul li {
    width: 11.9%;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon {
    position: relative;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon {
    position: absolute;
    left: 0;
    top: -2.5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step {
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 150%;
    text-align: center;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step01 {
    color: #918a71;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step02 {
    color: #9f9475;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step03 {
    color: #b1a279;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step04 {
    color: #cdad58;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step05 {
    color: #caa133;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step06 {
    color: #ca9a1b;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step07 {
    color: #cb9300;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number {
    font-size: 2rem;
    line-height: 100%;
    color: #ffffff;
    font-weight: 700;
    border-radius: 1000px;
    width: 4.5rem;
    height: 4.5rem;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number span {
    display: inline-block;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number01 {
    background: #918a71;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number02 {
    background: #9f9475;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number03 {
    background: #b1a279;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number04 {
    background: #cdad58;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number05 {
    background: #caa133;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number06 {
    background: #ca9a1b;
}

.guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number07 {
    background: #cb9300;
}

.guide .guideBox01 .guideFlowLink ul li .text {
    font-size: 1.6rem;
    line-height: 2.6rem;
    padding-top: 1.4rem;
    text-align: center;
}

.guide .guideBox01 .guideFlowLink ul li a {
    text-align: center;
    display: block;
    transition: all 0.3s ease 0s;
}

.guide .guideBox01 .guideFlowLink ul li a::after {
    display: block;
    transition: all 0.3s ease 0s;
    background: none;
    margin: 0 auto;
}

.guide .guideBox01 .guideFlowLink ul li a:hover {
    transition: all 0.3s ease 0s;
    transform: translateY(-1em);
}

.guide .guideBox01 .guideFlowLink ul li a:hover::after {
    transition: all 0.3s ease 0s;
    transform: translateY(2em);
    opacity: 1.0;
}

.guide .guideBox02 {
    max-width: 835px;
    width: 100%;
    width: 100%;
    margin: 0 auto;
    /*
  & .box:nth-of-type(2) .item{
    padding-bottom: pxToRem(12);
  }
  */
}

.guide .guideBox02 .boxInner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
}

.guide .guideBox02 .boxInner .box {
    width: 22rem;
}

.guide .guideBox02 .box h3 {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 1.5rem;
}

.guide .guideBox02 .itemList {
    max-width: 220px;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-around;
}

.guide .guideBox02 .itemList .item {
    max-width: 95px;
    width: 100%;
    padding-bottom: 3rem;
}

.guide .guideBox02 .itemList .item h4 {
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.6rem;
    color: #565243;
    padding-top: 1rem;
    letter-spacing: -0.05em;
}

.guide .guideBox02 .itemList .item h4 span {
    font-size: 1.1rem;
}

.guide .guideBox02 .itemList .item a {
    display: block;
    transition: all 0.3s ease 0s;
}

.guide .guideBox02 .itemList .item a:hover {
    opacity: 0.75;
    transition: all 0.3s ease 0s;
    transform: translateY(-0.6em);
}

.guide .guideBox02 .itemList .image img {
    width: 100%;
}

.guide .guideBox03 .guideFlowLink {
    margin: 6rem 0 9rem 0;
    padding: 0;
}

.guide .guideBox03 .guideFlowLink ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
}

.guide .guideBox03 .guideFlowLink ul li {
    width: 14.3%;
    margin-right: 2.7%;
}

.guide .guideBox03 .guideFlowLink ul li:last-of-type {
    margin-right: 0;
}

.guide .guideBox03 .guideFlowLink ul li .imageIcon {
    position: relative;
}

.guide .guideBox03 .guideFlowLink ul li .text {
    font-size: 1.6rem;
    line-height: 2.6rem;
    padding-top: 1.4rem;
    text-align: center;
}

.guide .guideBox03 .guideFlowLink ul li a {
    text-align: center;
    display: block;
    transition: all 0.3s ease 0s;
}

.guide .guideBox03 .guideFlowLink ul li a::after {
    display: block;
    transition: all 0.3s ease 0s;
    background: none;
    margin: 0 auto;
}

.guide .guideBox03 .guideFlowLink ul li a:hover {
    transition: all 0.3s ease 0s;
    transform: translateY(-1em);
}

.guide .guideBox03 .guideFlowLink ul li a:hover::after {
    transition: all 0.3s ease 0s;
    transform: translateY(2em);
    opacity: 1.0;
}

.guide .guideBox03 .guideFlowLink.ruleLink {
    margin-bottom: 0 !important;
}

.guide .guideBox03 .guideFlowLink.ruleLink ul li a {
    text-align: center;
    display: block;
    transition: all 0.3s ease 0s;
    position: relative;
}

.guide .guideBox03 .guideFlowLink.ruleLink ul li a::after {
    transition: all 0.3s ease 0s;
    opacity: 0;
    content: "";
    display: block;
    width: 16px;
    height: 18px;
    background: url(../img/guide/arrow_hover.svg) center bottom no-repeat;
    position: absolute;
    bottom: -1rem;
    left: 45%;
    z-index: -1;
    margin: 0 auto;
}

.guide .guideBox03 .guideFlowLink.ruleLink ul li a:hover {
    transition: all 0.3s ease 0s;
    transform: translateY(-1em);
}

.guide .guideBox03 .guideFlowLink.ruleLink ul li a:hover::after {
    transition: all 0.3s ease 0s;
    transform: translateY(1.6em);
    opacity: 1.0;
}

.guide .btn {
    width: 34%;
    max-width: 375px;
    margin: 5rem auto 0 auto;
}

.guide .btn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1.4rem;
    text-align: center;
    display: block;
    border: 2px solid #322f25;
    padding: 1.8rem 1.5rem;
    color: #ffffff;
    background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
}

.guide .btn a:hover {
    color: #322f25;
    background: url("../img/arrow.svg") 97% center no-repeat #ffffff;
}

.flow .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.flow .pageTitle {
    background: url(../img/guide/flow_mv.jpg) center top no-repeat;
    background-size: cover;
}

.flow .block01 {
    padding-bottom: 10rem;
}

.flow .block01 h2 {
    margin-top: 7.5rem;
}

.flow .block01 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3.2rem;
}

.flow .block01 .flowLink {
    position: relative;
    margin: 6rem 0 9rem 0;
    padding: 0;
}

.flow .block01 .flowLink::before {
    content: "";
    display: block;
    width: calc(100% - 10.8%);
    height: 0.1rem;
    background: #918a71;
    /* Old browsers */
    background: -moz-linear-gradient(left, #918a71 0%, #cb9300 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #918a71 0%, #cb9300 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #918a71 0%, #cb9300 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#918a71', endColorstr='#cb9300', GradientType=1);
    /* IE6-9 */
    position: absolute;
    top: 6.2rem;
    left: 5.4%;
    z-index: -1;
}

.flow .block01 .flowLink ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
}

.flow .block01 .flowLink ul li {
    width: 14.2%;
}

.flow .block01 .flowLink ul li .icon {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.flow .block01 .flowLink ul li .icon .step {
    font-weight: 700;
    font-size: 1.4rem;
}

.flow .block01 .flowLink ul li .icon .step.step01 {
    color: #918a71;
}

.flow .block01 .flowLink ul li .icon .step.step02 {
    color: #9f9475;
}

.flow .block01 .flowLink ul li .icon .step.step03 {
    color: #b1a279;
}

.flow .block01 .flowLink ul li .icon .step.step04 {
    color: #cdad58;
}

.flow .block01 .flowLink ul li .icon .step.step05 {
    color: #caa133;
}

.flow .block01 .flowLink ul li .icon .step.step06 {
    color: #ca9a1b;
}

.flow .block01 .flowLink ul li .icon .step.step07 {
    color: #cb9300;
}

.flow .block01 .flowLink ul li .icon .number {
    font-size: 3rem;
    line-height: 100%;
    color: #ffffff;
    font-weight: 700;
    border-radius: 1000px;
    width: 6rem;
    height: 6rem;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.flow .block01 .flowLink ul li .icon .number span {
    display: inline-block;
}

.flow .block01 .flowLink ul li .icon .number.number01 {
    background: #918a71;
}

.flow .block01 .flowLink ul li .icon .number.number02 {
    background: #9f9475;
}

.flow .block01 .flowLink ul li .icon .number.number03 {
    background: #b1a279;
}

.flow .block01 .flowLink ul li .icon .number.number04 {
    background: #cdad58;
}

.flow .block01 .flowLink ul li .icon .number.number05 {
    background: #caa133;
}

.flow .block01 .flowLink ul li .icon .number.number06 {
    background: #ca9a1b;
}

.flow .block01 .flowLink ul li .icon .number.number07 {
    background: #cb9300;
}

.flow .block01 .flowLink ul li .text {
    font-size: 2rem;
    line-height: 2.6rem;
    padding-top: 1.4rem;
}

.flow .block01 .flowLink ul li a {
    display: block;
    transition: all 0.3s ease 0s;
}

.flow .block01 .flowLink ul li a::after {
    display: block;
    transition: all 0.3s ease 0s;
    opacity: 0;
    content: "";
    display: block;
    width: 16px;
    height: 18px;
    background: url(../img/guide/arrow_hover.svg) center bottom no-repeat;
    position: absolute;
    bottom: -1rem;
    left: 45%;
    z-index: -1;
    margin: 0 auto;
}

.flow .block01 .flowLink ul li a:hover {
    transition: all 0.3s ease 0s;
    transform: translateY(-1em);
}

.flow .block01 .flowLink ul li a:hover::after {
    transition: all 0.3s ease 0s;
    transform: translateY(2em);
    opacity: 1.0;
}

.flow .block01 .flowBlock ul {
    position: relative;
}

.flow .block01 .flowBlock ul::before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #918a71;
    /* Old browsers */
    background: -moz-linear-gradient(top, #918a71 0%, #cb9300 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #918a71 0%, #cb9300 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #918a71 0%, #cb9300 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#918a71', endColorstr='#cb9300', GradientType=0);
    /* IE6-9 */
    position: absolute;
    top: 00;
    left: 8.9%;
    z-index: -1;
}

.flow .block01 .flowBlock ul li {
    padding-bottom: 7.5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
}

.flow .block01 .flowBlock ul li:last-of-type {
    padding-bottom: 0;
}

.flow .block01 .flowBlock ul li .imageIcon {
    width: 18.1%;
    position: relative;
}

.flow .block01 .flowBlock ul li .imageIcon .icon {
    position: absolute;
    left: 0;
    top: -2rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step {
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 150%;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step.step01 {
    color: #918a71;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step.step02 {
    color: #9f9475;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step.step03 {
    color: #b1a279;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step.step04 {
    color: #cdad58;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step.step05 {
    color: #caa133;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step.step06 {
    color: #ca9a1b;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .step.step07 {
    color: #cb9300;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number {
    font-size: 3rem;
    line-height: 100%;
    color: #ffffff;
    font-weight: 700;
    border-radius: 1000px;
    width: 6rem;
    height: 6rem;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number span {
    display: inline-block;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number.number01 {
    background: #918a71;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number.number02 {
    background: #9f9475;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number.number03 {
    background: #b1a279;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number.number04 {
    background: #cdad58;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number.number05 {
    background: #caa133;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number.number06 {
    background: #ca9a1b;
}

.flow .block01 .flowBlock ul li .imageIcon .icon .number.number07 {
    background: #cb9300;
}

.flow .block01 .flowBlock ul li .textBox {
    width: 78.1%;
}

.flow .block01 .flowBlock ul li .textBox a {
    color: #cdad58;
    text-decoration: none;
    border-bottom: 1px solid #cdad58;
    padding-bottom: 0.1rem;
    transition: all 0.3s ease 0s;
}

.flow .block01 .flowBlock ul li .textBox a:hover {
    opacity: 0.75;
    text-decoration: none;
    border-bottom: 1px solid #ffffff;
    transition: all 0.3s ease 0s;
}

.flow .block01 .flowBlock ul li .textBox p,
.flow .block01 .flowBlock ul li .textBox h3,
.flow .block01 .flowBlock ul li .textBox ul,
.flow .block01 .flowBlock ul li .textBox li {
    color: #565243;
}

.flow .block01 .flowBlock ul li .textBox p {
    margin-top: 1rem;
    text-align: left;
}

.flow .block01 .flowBlock ul li .textBox p.notation {
    padding: 0 0 0 1.3rem;
    font-size: 1.2rem;
    line-height: 2rem;
    letter-spacing: 0.15rem;
    position: relative;
}

.flow .block01 .flowBlock ul li .textBox p.notation::before {
    position: absolute;
    content: "※";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: -1rem;
    left: 0;
    top: 0;
}

.flow .block01 .flowBlock ul li .textBox p.notation+p.notation {
    margin-top: 0.2rem;
}

.flow .block01 .flowBlock ul li .textBox h3 {
    font-size: 2.4rem;
    line-height: 100%;
    margin: 0;
    padding: 0 0 0.4rem 0;
    padding-bottom: 0.2rem;
    font-weight: 700;
}

.flow .block01 .flowBlock ul li .textBox .contactBox {
    padding-top: 2rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}

.flow .block01 .flowBlock ul li .textBox .contactBox div {
    padding-right: 25px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #565243;
    font-size: 1.4rem;
}

.flow .block01 .flowBlock ul li .textBox .contactBox div:last-of-type {
    padding-right: 0;
}

.flow .block01 .flowBlock ul li .textBox .contactBox div span.text {
    font-size: 1.6rem;
    margin-left: 6px;
}

.flow .block01 .flowBlock ul li .textBox .contactBox div a {
    display: block;
    color: #565243;
    text-decoration: none;
    border: none;
}

.flow .block01 .flowBlock ul li .textBox .contactBox div a:hover {
    opacity: 0.75;
    border: none;
}

.flow .block01 .flowBlock ul li .textBox .contactBox .tel a {
    background: url(../img/guide/tel.svg) left center no-repeat;
    background-size: 22px 21px;
    padding-left: 2.8rem;
}

.flow .block01 .flowBlock ul li .textBox .contactBox .fax {
    background: url(../img/guide/fax.png) left center no-repeat;
    background-size: 27px 30px;
    padding-left: 3.3rem;
}

.flow .block01 .flowBlock ul li .textBox .contactBox .mail a {
    background: url(../img/guide/mail.svg) left center no-repeat;
    background-size: 23px 18px;
    padding-left: 3.1rem;
}

.flow .block01 .flowBlock ul li .textBox ul {
    margin-top: 0.8rem;
}

.flow .block01 .flowBlock ul li .textBox ul::before {
    height: auto;
    background: none;
}

.flow .block01 .flowBlock ul li .textBox ul li {
    padding: 0 0 0 1.6rem;
    display: block;
    padding-bottom: 0rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
    font-weight: bold;
    position: relative;
}

.flow .block01 .flowBlock ul li .textBox ul li::before {
    position: absolute;
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    background: url(../img/guide/list.svg) left top no-repeat;
    background-size: 11px 11px;
    position: absolute;
    left: 0;
    top: 8px;
}

@media screen and (min-width: 768px) and (max-device-width: 1024px) {
    .flow .block01 .flowBlock ul::before {
        content: "";
        display: block;
        width: 2px;
        height: 95%;
        background: #918a71;
        /* Old browsers */
        background: -moz-linear-gradient(top, #918a71 0%, #cb9300 100%);
        /* FF3.6-15 */
        background: -webkit-linear-gradient(top, #918a71 0%, #cb9300 100%);
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, #918a71 0%, #cb9300 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#918a71', endColorstr='#cb9300', GradientType=0);
        /* IE6-9 */
        position: absolute;
        top: 00;
        left: 8.9%;
        z-index: -1;
    }
}

.rule .contentsBlock03 p {
    padding-left: 1em;
    text-indent: -1em;
}

.rule .contentsBlock03 p.two {
    padding-left: 2em;
    text-indent: -2em;
}

.rule .contentsBlock03 a {
    color: #cdad58;
    position: relative;
    border-bottom: 1px solid #cdad58;
}

.rule .contentsBlock03 a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #ffffff;
    transition: all 0.3s ease 0s;
}

.rule .contentsBlock03 a:hover {
    opacity: 0.75;
}

.rule .contentsBlock03 a:hover::after {
    width: 100%;
}

.service .block01 {
    padding: 6.5rem 0 10rem 0;
}

.service .block01 .serviceList {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.service .block01 .serviceList .serviceSingle {
    width: 30.9%;
    margin-top: 3.2rem;
}

.service .block01 .serviceList .serviceSingle h3 {
    color: #565243;
    font-size: 2rem;
    font-weight: bold;
    background: url(../img/guide/title_border.svg) left 14px no-repeat;
    padding: 0 0 0 2.8rem;
    margin: 1.8rem 0 0 0;
}

.service .block01 .serviceList .serviceSingle h3 span {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}

.service .block01 .serviceList .serviceSingle .singleList {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
}

.service .block01 .serviceList .serviceSingle .singleList p+p {
    padding: 0;
    margin: 0;
}

.service .block01 .serviceList .serviceSingle .singleList p {
    width: 49%;
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.2rem;
    background: url(../img/guide/texticon.svg) left 10px no-repeat;
    padding: 0 0 0 1.2rem !important;
    margin: 0.8rem 0 0 0 !important;
    letter-spacing: 0.1em;
}

.service .block01 .serviceList .serviceSingle .singleList.block {
    display: block;
}

.service .block01 .serviceList .serviceSingle .singleList.block p {
    width: 100%;
}

.service .block01.equipment {
    margin-top: -8rem;
}

.service .block01.equipment .tc {
    padding-bottom: 8rem;
}

.service .block01.equipment .smallText {
    font-size: 1.2rem;
    color: #565243;
    padding-top: 1.8rem;
}

.service .block01.equipment h3 {
    text-align: center;
    padding: 7.5rem 0 3rem 0;
    background: none;
    font-size: 2.6rem;
    margin: 0;
    font-weight: 700;
}

.service .block01.equipment h3::before {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 3.5rem;
}

.service .block01.equipment h3::after {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 3.5rem;
}

.service .block01.equipment .titleText {
    font-size: 1.4rem;
    text-align: center;
    margin: -3rem 0 1.4rem 0;
    padding: 0;
}

.service .block01 .equipmentList {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.service .block01 .equipmentList .equipmentSingle {
    width: 30.9%;
    margin-top: 3.6rem;
    margin-right: 3.4%;
}

.service .block01 .equipmentList .equipmentSingle h4 {
    text-align: center;
    color: #565243;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 0;
    margin: 1.8rem 0;
}

.service .block01 .equipmentList .equipmentSingle h4 span {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}

.service .block01 .equipmentList .equipmentSingle h4 span.copy {
    font-size: 1.4rem;
}

.service .block01 .equipmentList .equipmentSingle:nth-of-type(3),
.service .block01 .equipmentList .equipmentSingle:nth-of-type(6),
.service .block01 .equipmentList .equipmentSingle:nth-of-type(9),
.service .block01 .equipmentList .equipmentSingle:nth-of-type(12),
.service .block01 .equipmentList .equipmentSingle:nth-of-type(15),
.service .block01 .equipmentList .equipmentSingle:nth-of-type(18),
.service .block01 .equipmentList .equipmentSingle:nth-of-type(21) {
    margin-right: 0;
}

.service .block01 .equipmentList .equipmentSingle p+p {
    padding: 0;
    margin: 0;
}

.service .block01 .equipmentList .equipmentSingle p {
    text-align: center;
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.2rem;
    padding: 0;
    margin: 0;
    letter-spacing: normal;
}

.service .block01 .equipmentList .equipmentSingle .cateringText h4 {
    text-align: left;
    margin: 1.8rem 0 0.6rem 0;
    letter-spacing: 0.05em;
}

.service .block01 .equipmentList .equipmentSingle .cateringText p {
    text-align: left;
    line-height: 2.8rem;
}

.service .block01 .equipmentList .equipmentSingle .cateringText p span.plus {
    margin-left: 4.5rem;
}

.service .block01 .equipmentList .equipmentSingle .image {
    position: relative;
}

.service .block01 .equipmentList .equipmentSingle .image .iconFocus {
    width: 11.7%;
    position: absolute;
    right: 0;
    bottom: 0;
}

.service .block01 .equipmentList .equipmentSingle .image .iconPDF {
    width: 19.5%;
    position: absolute;
    right: 0;
    bottom: 0;
    background: #cb1f1f;
    padding: 0.8rem 0;
}

.service .block01 .equipmentList .equipmentSingle .image .iconPDF p {
    color: #ffffff;
    font-size: 1.2rem;
    letter-spacing: normal;
    text-align: center;
    line-height: 100%;
    padding: 0;
    margin: 0;
}

.service .block01 .equipmentList .equipmentSingle .image a {
    display: block;
}

.service .block01 .equipmentList .equipmentSingle .image a:hover {
    opacity: 0.75;
}

.service .block01.catering,
.service .block01.others {
    margin-top: -8rem;
}

.service .block01.catering .tc,
.service .block01.others .tc {
    padding-bottom: 0rem;
}

.service .block01.catering .partsAnchor01,
.service .block01.others .partsAnchor01 {
    margin-top: 8rem;
}

.service .block01.catering .smallText,
.service .block01.others .smallText {
    font-size: 1.2rem;
    line-height: 2.2rem;
    color: #565243;
    padding-top: 1.8rem;
}

.service .block01.catering h3,
.service .block01.others h3 {
    text-align: center;
    padding: 7.5rem 0 3rem 0;
    background: none;
    font-size: 2.6rem;
    margin: 0;
    font-weight: 700;
}

.service .block01.catering h3::before,
.service .block01.others h3::before {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-right: 3.5rem;
}

.service .block01.catering h3::after,
.service .block01.others h3::after {
    content: "";
    display: inline-block;
    width: 68px;
    height: 2px;
    background-image: url("../img/side_border.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 3.5rem;
}

.service .block01.catering .titleText,
.service .block01.others .titleText {
    font-size: 1.4rem;
    text-align: center;
    margin: -3rem 0 1.4rem 0;
    padding: 0;
}

.service .block01 .cateringList {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.service .block01 .cateringList .cateringSingle {
    width: 22.3%;
    margin-top: 3.6rem;
    margin-right: 3.6%;
}

.service .block01 .cateringList .cateringSingle h4 {
    text-align: center;
    color: #565243;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 0;
    margin: 1.8rem 0 0 0;
}

.service .block01 .cateringList .cateringSingle:nth-of-type(4),
.service .block01 .cateringList .cateringSingle:nth-of-type(8),
.service .block01 .cateringList .cateringSingle:nth-of-type(12),
.service .block01 .cateringList .cateringSingle:nth-of-type(16),
.service .block01 .cateringList .cateringSingle:nth-of-type(20),
.service .block01 .cateringList .cateringSingle:nth-of-type(24),
.service .block01 .cateringList .cateringSingle:nth-of-type(28),
.service .block01 .cateringList .cateringSingle:nth-of-type(32),
.service .block01 .cateringList .cateringSingle:nth-of-type(36),
.service .block01 .cateringList .cateringSingle:nth-of-type(40) {
    margin-right: 0;
}

.service .block01 .cateringList .cateringSingle .image {
    position: relative;
}

.service .block01 .cateringList .cateringSingle .image .iconPDF {
    width: 19.5%;
    position: absolute;
    right: 0;
    bottom: 0;
    background: #cb1f1f;
    padding: 0.8rem 0;
}

.service .block01 .cateringList .cateringSingle .image .iconPDF p {
    color: #ffffff;
    font-size: 1.2rem;
    letter-spacing: normal;
    text-align: center;
    line-height: 100%;
    padding: 0;
    margin: 0;
}

.service .block01 .cateringList .cateringSingle .image a {
    display: block;
}

.service .block01 .cateringList .cateringSingle .image a:hover {
    opacity: 0.75;
}

.service .block01 .othersBox p {
    color: #565243;
    text-align: center;
    padding-bottom: 3.6rem;
}

.service .block01 .othersBox .othersInfoBox {
    padding: 4.8rem 4.9%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.service .block01 .othersBox .othersInfoBox .image {
    width: 34.2%;
}

.service .block01 .othersBox .othersInfoBox .textBox {
    width: 61%;
}

.service .block01 .othersBox .othersInfoBox .textBox .textList p {
    text-align: left;
    padding: 0;
    color: #565243;
    font-size: 1.4rem;
    line-height: 2.2rem;
    background: url(../img/guide/texticon.svg) left 10px no-repeat;
    padding: 0 0 0 1.2rem !important;
    margin: 0 0 0.8rem 0 !important;
}

.service .block01 .othersBox .othersInfoBox .textBox .normalText p {
    font-size: 1.4rem;
    line-height: 2.8rem;
    text-align: left;
}

.service .block01 .othersBox .othersInfoBox .textBox .normalText p a {
    color: #cdad58;
    border-bottom: 1px solid #cdad58;
    display: inline-block;
    position: relative;
}

.service .block01 .othersBox .othersInfoBox .textBox .normalText p a::after {
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #f7f5f0;
    transition: all 0.3s ease 0s;
}

.service .block01 .othersBox .othersInfoBox .textBox .normalText p a:hover::after {
    width: 100%;
}

.service .block01 .othersBox .othersInfoBox02 {
    padding: 2rem 4.9% 4.8rem 4.9%;
}

.service .block01 .othersBox .othersInfoBox02 h4 {
    color: #322f25;
    font-size: 1.6rem;
    line-height: 2.4rem;
    text-align: left;
    font-weight: bold;
    border-left: solid 3px #cdad58;
    padding: 0 0 0 1.8rem;
    margin: 2.8rem 0 1.2rem 0;
}

.service .block01 .othersBox .othersInfoBox02 p {
    text-align: left;
    padding: 0;
}

.service .block01 .othersBox .othersInfoBox02 .infoBox {
    margin-top: 1.5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
}

.service .block01 .othersBox .othersInfoBox02 .infoBox .infoLeft {
    border-right: 1px solid #d5d2c8;
    padding-right: 1.5rem;
    margin-right: 1.5rem;
}

.service .block01 .othersBox .othersInfoBox02 .infoBox .infoLeft p {
    font-weight: bold;
}

.service .block01 .othersBox .othersInfoBox02 .text {
    margin-top: 1.5rem !important;
    position: relative;
}

.service .block01 .othersBox .othersInfoBox02 .text p {
    text-align: left;
    font-size: 1.2rem;
    line-height: 2.2rem;
    padding: 0 0 0 1.3rem;
    position: relative;
}

.service .block01 .othersBox .othersInfoBox02 .text p::before {
    position: absolute;
    content: "※";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: -1rem;
    left: 0;
    top: 0;
}

.service .block01 .text {
    margin-top: 4.5rem;
    background: none;
}

.service .block01 .text p {
    text-align: left;
    font-size: 1.2rem;
    line-height: 2.2rem;
    padding: 0 0 0 1.3rem;
    position: relative;
}

.service .block01 .text p::before {
    position: absolute;
    content: "※";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    bottom: -1rem;
    left: 0;
    top: 0;
}

.service .block01 .btn {
    width: 34%;
    max-width: 375px;
    margin: 5rem auto 0 auto;
}

.service .block01 .btn a {
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1.4rem;
    text-align: center;
    display: block;
    border: 2px solid #322f25;
    padding: 1.8rem 1.5rem;
    color: #322f25;
    background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
}

.service .block01 .btn a:hover {
    color: #ffffff;
    background: url("../img/arrow_hover.svg") 97% center no-repeat #322f25;
}

@media screen and (min-width: 769px) {

    .service .triger,
    .service .triger02,
    .service .triger03 {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .guideTop .pageTitle {
        background: url(../img/guide/sp_guide_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .guide .guideBox01 .guideFlowLink {
        position: relative;
        margin: 2.4rem 0 3rem 0;
        padding: 0;
    }

    .guide .guideBox01 .guideFlowLink::before {
        display: none;
    }

    .guide .guideBox01 .guideFlowLink ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: stretch;
    }

    .guide .guideBox01 .guideFlowLink ul li {
        width: 23%;
        margin: 0 1% 2.4rem 1%;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon {
        position: relative;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon {
        position: absolute;
        left: 0;
        top: -2rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step {
        font-weight: 500;
        font-size: 0.7rem;
        line-height: 125%;
        text-align: center;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step01 {
        color: #918a71;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step02 {
        color: #9f9475;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step03 {
        color: #b1a279;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step04 {
        color: #cdad58;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step05 {
        color: #caa133;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step06 {
        color: #ca9a1b;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .step.step07 {
        color: #cb9300;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number {
        font-size: 1.1rem;
        line-height: 100%;
        color: #ffffff;
        font-weight: 500;
        border-radius: 1000px;
        width: 2.6rem;
        height: 2.6rem;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number span {
        display: inline-block;
        margin-top: -10px;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number01 {
        background: #918a71;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number02 {
        background: #9f9475;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number03 {
        background: #b1a279;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number04 {
        background: #cdad58;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number05 {
        background: #caa133;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number06 {
        background: #ca9a1b;
    }

    .guide .guideBox01 .guideFlowLink ul li .imageIcon .icon .number.number07 {
        background: #cb9300;
    }

    .guide .guideBox01 .guideFlowLink ul li .text {
        font-size: 1.2rem;
        line-height: 1.6rem;
        padding-top: 0.6rem;
        text-align: center;
        letter-spacing: normal;
    }

    .guide .guideBox01 .guideFlowLink ul li a {
        text-align: center;
        display: block;
        transition: all 0s ease 0s;
    }

    .guide .guideBox01 .guideFlowLink ul li a::after {
        display: block;
        transition: all 0s ease 0s;
        background: none;
        margin: 0 auto;
    }

    .guide .guideBox01 .guideFlowLink ul li a:hover {
        transition: all 0.3s ease 0s;
        transform: translateY(0em);
    }

    .guide .guideBox01 .guideFlowLink ul li a:hover::after {
        transition: all 0s ease 0s;
        transform: translateY(0em);
        opacity: 1.0;
    }

    .guide .guideBox02 .boxInner {
        width: 100%;
    }

    .guide .guideBox02 .boxInner .box {
        width: 100%;
    }

    .guide .guideBox02 .boxInner .box .itemList {
        width: 100%;
        margin: 0 auto;
        max-width: initial;
        justify-content: center;
    }

    .guide .guideBox02 .boxInner .box .item {
        width: calc(25% - 1.0rem);
        max-width: 120px;
        padding-bottom: 1.5rem;
        margin: 0 1.2%;
    }

    .guide .guideBox02 .boxInner .box .item h4 {
        text-align: center;
        font-size: 1.2rem;
        color: #565243;
        padding-top: 0.6rem;
        letter-spacing: -0.05em;
    }

    .guide .guideBox02 .boxInner .box .item h4 span {
        font-size: 0.8rem;
    }

    .guide .guideBox02 .boxInner .box .item a:hover {
        transform: translateY(0em);
    }

    .guide .guideBox02 .boxInner .box h3 {
        font-size: 1.4rem;
        font-weight: bold;
        text-align: center;
        padding-bottom: 1.2rem;
    }

    .guide .guideBox03 .guideFlowLink {
        position: relative;
        margin: 2.4rem 0 3rem 0;
        padding: 0;
    }

    .guide .guideBox03 .guideFlowLink::before {
        display: none;
    }

    .guide .guideBox03 .guideFlowLink ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: stretch;
    }

    .guide .guideBox03 .guideFlowLink ul li {
        width: 23%;
        margin: 0 1% 1rem 1%;
    }

    .guide .guideBox03 .guideFlowLink ul li .text {
        font-size: 1.2rem;
        line-height: 1.6rem;
        padding-top: 0.6rem;
        text-align: center;
        letter-spacing: normal;
    }

    .guide .guideBox03 .guideFlowLink ul li a {
        text-align: center;
        display: block;
        transition: all 0s ease 0s;
    }

    .guide .guideBox03 .guideFlowLink ul li a::after {
        display: block;
        transition: all 0s ease 0s;
        background: none;
        margin: 0 auto;
    }

    .guide .guideBox03 .guideFlowLink ul li a:hover {
        transition: all 0.3s ease 0s;
        transform: translateY(0em);
    }

    .guide .guideBox03 .guideFlowLink ul li a:hover::after {
        transition: all 0s ease 0s;
        transform: translateY(0em);
        opacity: 1.0;
    }

    .guide .guideBox03 .guideFlowLink.ruleLink ul li a {
        text-align: center;
        display: block;
        transition: all 0.3s ease 0s;
        position: relative;
    }

    .guide .guideBox03 .guideFlowLink.ruleLink ul li a::after {
        transition: all 0.3s ease 0s;
        display: none;
    }

    .guide .guideBox03 .guideFlowLink.ruleLink ul li a:hover {
        transition: all 0.3s ease 0s;
        transform: translateY(0em);
    }

    .guide .guideBox03 .guideFlowLink.ruleLink ul li a:hover::after {
        display: none;
    }

    .guide .btn {
        width: 75%;
        max-width: initial;
        margin: 1.5rem auto 0 auto;
    }

    .guide .btn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.2rem;
        text-align: center;
        display: block;
        border: 2px solid #322f25;
        padding: 0.9rem 1.2rem;
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
        background-size: 6px auto;
    }

    .guide .btn a:hover {
        color: #ffffff;
        background: url("../img/arrow_hover.svg") 95% center no-repeat #322f25;
    }

    .flow .inner {
        max-width: 1100px;
        width: 100%;
        margin: 0;
    }

    .flow .pageTitle {
        background: url(../img/guide/sp_flow_mv.jpg) center top no-repeat;
        background-size: cover;
    }

    .flow .block01 {
        padding-bottom: 0rem;
        margin: 0 3.5rem;
    }

    .flow .block01 h2 {
        margin-top: 5rem;
    }

    .flow .block01 p {
        text-align: center;
        font-size: 1.3rem;
        line-height: 2.5rem;
    }

    .flow .block01 .flowBlock {
        margin: 5rem 0;
    }

    .flow .block01 .flowBlock ul {
        position: relative;
    }

    .flow .block01 .flowBlock ul::before {
        content: "";
        display: block;
        background: none;
    }

    .flow .block01 .flowBlock ul li {
        padding-bottom: 6rem;
        display: block;
    }

    .flow .block01 .flowBlock ul li:last-of-type {
        padding-bottom: 0;
    }

    .flow .block01 .flowBlock ul li .imageIcon {
        width: 80%;
        max-width: 200px;
        margin: 0 auto;
        position: relative;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon {
        position: absolute;
        left: 0;
        top: -1.3rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step {
        font-weight: 700;
        font-size: 1.2rem;
        line-height: 150%;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step.step01 {
        color: #918a71;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step.step02 {
        color: #9f9475;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step.step03 {
        color: #b1a279;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step.step04 {
        color: #cdad58;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step.step05 {
        color: #caa133;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step.step06 {
        color: #ca9a1b;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .step.step07 {
        color: #cb9300;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number {
        font-size: 2.5rem;
        line-height: 100%;
        color: #ffffff;
        font-weight: 700;
        border-radius: 1000px;
        width: 5rem;
        height: 5rem;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number span {
        display: inline-block;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number.number01 {
        background: #918a71;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number.number02 {
        background: #9f9475;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number.number03 {
        background: #b1a279;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number.number04 {
        background: #cdad58;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number.number05 {
        background: #caa133;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number.number06 {
        background: #ca9a1b;
    }

    .flow .block01 .flowBlock ul li .imageIcon .icon .number.number07 {
        background: #cb9300;
    }

    .flow .block01 .flowBlock ul li .textBox {
        width: 100%;
    }

    .flow .block01 .flowBlock ul li .textBox a {
        color: #cdad58;
        text-decoration: none;
    }

    .flow .block01 .flowBlock ul li .textBox a:hover {
        opacity: 1.0;
        text-decoration: none;
        border-bottom: 1px solid #cdad58;
    }

    .flow .block01 .flowBlock ul li .textBox p,
    .flow .block01 .flowBlock ul li .textBox h3,
    .flow .block01 .flowBlock ul li .textBox ul,
    .flow .block01 .flowBlock ul li .textBox li {
        color: #565243;
    }

    .flow .block01 .flowBlock ul li .textBox p {
        margin-top: 1rem;
        text-align: left;
    }

    .flow .block01 .flowBlock ul li .textBox p.notation {
        padding: 0 0 0 1.3rem;
        font-size: 1.2rem;
        line-height: 2rem;
        letter-spacing: 0.15em;
        position: relative;
    }

    .flow .block01 .flowBlock ul li .textBox p.notation::before {
        position: absolute;
        content: "※";
        display: block;
        width: 10px;
        height: 10px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .flow .block01 .flowBlock ul li .textBox p.notation+p.notation {
        margin-top: 0.2rem;
    }

    .flow .block01 .flowBlock ul li .textBox h3 {
        font-size: 2rem;
        line-height: 100%;
        text-align: center;
        margin: 0;
        padding: 2rem 0 0.4rem 0;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox {
        padding-top: 2rem;
        display: block;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox div {
        padding-right: 0;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        letter-spacing: 0.1em;
        font-weight: 700;
        color: #565243;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox div:last-of-type {
        padding-right: 0;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox div span.text {
        font-size: 1.9rem;
        margin-left: 0;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox div span.text.sptest {
        font-size: 1.3rem;
        margin-left: 0.6rem;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox div a {
        display: block;
        color: #565243;
        text-decoration: none;
        text-align: center;
        border: none;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox div a:hover {
        opacity: 0.75;
        border: none;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox .tel a {
        border: 1px solid #565243;
        background: none;
        padding: 0.8rem 0;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox .tel a::before {
        content: "";
        display: inline-block;
        width: 23px;
        height: 23px;
        background: url(../img/guide/tel.svg) left center no-repeat;
        background-size: 23px 23px;
        vertical-align: middle;
        padding-right: 0.6rem;
        margin-top: -4px;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox .fax {
        text-align: center;
        background: none;
        padding: 1.2rem 0;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox .fax::before {
        content: "";
        display: inline-block;
        width: 18px;
        height: 20px;
        background: url(../img/guide/fax.png) left center no-repeat;
        background-size: 18px 20px;
        vertical-align: middle;
        padding-right: 0.6rem;
        margin-top: -3px;
        margin-left: -5px;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox .mail a {
        border: 1px solid #565243;
        background: url(../img/arrow.svg) 97% center no-repeat;
        background-size: 6px 8px;
        padding: 1.2rem 0;
        font-size: 1.3rem;
        letter-spacing: 0.1em;
    }

    .flow .block01 .flowBlock ul li .textBox .contactBox .mail a::before {
        content: "";
        display: inline-block;
        width: 19px;
        height: 15px;
        background: url(../img/guide/mail.svg) left center no-repeat;
        background-size: 19px 15px;
        vertical-align: middle;
        padding-right: 0.6rem;
        margin-top: -3px;
    }

    .flow .block01 .flowBlock ul li .textBox ul {
        margin-top: 0.8rem;
    }

    .flow .block01 .flowBlock ul li .textBox ul::before {
        height: auto;
        background: none;
    }

    .flow .block01 .flowBlock ul li .textBox ul li {
        padding: 0 0 0 1.6rem;
        display: block;
        padding-bottom: 0rem;
        font-size: 1.2rem;
        line-height: 2.2rem;
        font-weight: bold;
        position: relative;
    }

    .flow .block01 .flowBlock ul li .textBox ul li::before {
        position: absolute;
        content: "";
        display: block;
        width: 11px;
        height: 11px;
        background: url(../img/guide/list.svg) left top no-repeat;
        background-size: 11px 11px;
        position: absolute;
        left: 0;
        top: 8px;
    }

    .rule h2 {
        margin: 2.4rem 0 0.8rem 0 !important;
        background: none;
        font-size: 1.8rem;
        padding: 0 !important;
        position: relative;
        text-align: left;
        /*
    &::before{
        content: "";
        display: block !important;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: pxToRem(0);
        position: absolute;
        left: 0;
        top: 46%;
    }
    &::after{
        content: "";
        display: block !important;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-left: pxToRem(0);
        position: absolute;
        right: 0;
        top: 46%;
    }
    */
    }

    .rule h2::before,
    .rule h2::after {
        display: none !important;
    }

    .service .block01 {
        padding: 4.5rem 0 4.5rem 0;
    }

    .service .block01 .btn-more,
    .service .block01 .btn-more02,
    .service .block01 .btn-more03 {
        width: 100%;
        text-align: center;
        background-color: #eee;
        padding: 1.2rem 0;
        margin-left: 0;
        cursor: pointer;
        position: relative;
        font-size: 1.2rem;
    }

    .service .block01 .btn-more::after,
    .service .block01 .btn-more02::after,
    .service .block01 .btn-more03::after {
        content: "";
        display: block;
        background: url("../img/faq/close.svg") right center no-repeat;
        background-size: 1.1rem auto;
        position: absolute;
        top: 40%;
        right: 2rem;
        width: 1.1rem;
        height: 1.1rem;
    }

    .service .block01 .btn-more.close::after,
    .service .block01 .btn-more02.close::after,
    .service .block01 .btn-more03.close::after {
        background: url("../img/faq/open.svg") right center no-repeat;
        background-size: 1.1rem auto;
    }

    .service .block01 .dropdown {
        background-color: #ffffff;
        padding: 0;
    }

    .service .block01 .serviceList {
        display: block;
    }

    .service .block01 .serviceList .serviceSingle {
        width: 100%;
        margin-top: 2.8rem;
    }

    .service .block01 .serviceList .serviceSingle h3 {
        color: #565243;
        font-size: 1.6rem;
        font-weight: bold;
        background: url(../img/guide/title_border.svg) left 14px no-repeat;
        background-size: 1.3rem 0.2rem;
        padding: 0 0 0 2.4rem;
        margin: 1.3rem 0 0.4rem 0;
    }

    .service .block01 .serviceList .serviceSingle h3 span {
        font-size: 1.3rem;
        letter-spacing: normal;
    }

    .service .block01 .serviceList .serviceSingle .singleList {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        align-content: stretch;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
    }

    .service .block01 .serviceList .serviceSingle .singleList p+p {
        padding: 0;
        margin: 0;
    }

    .service .block01 .serviceList .serviceSingle .singleList p {
        width: 49.5%;
        color: #565243;
        font-size: 1.2rem;
        line-height: 2rem;
        letter-spacing: 0.1em;
        background: url(../img/guide/texticon.svg) left 8px no-repeat;
        background-size: 0.5rem 0.5rem;
        padding: 0 0 0 1.2rem !important;
        margin: 0.6rem 0 0 0 !important;
    }

    .service .block01.equipment {
        margin-top: -4.5rem;
    }

    .service .block01.equipment .tc {
        padding-bottom: 4.5rem;
    }

    .service .block01.equipment .smallText {
        font-size: 1rem;
        color: #565243;
        padding-top: 1.6rem;
    }

    .service .block01.equipment h3 {
        padding: 3.8rem 0 0rem 0;
        background: none;
        font-size: 1.8rem;
        margin: 0;
    }

    .service .block01.equipment h3::before {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 0.6rem;
    }

    .service .block01.equipment h3::after {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-left: 0.6rem;
    }

    .service .block01 .equipmentList {
        display: block;
    }

    .service .block01 .equipmentList .equipmentSingle {
        width: 100%;
        font-size: 1.2rem;
        margin-right: 0;
    }

    .service .block01 .equipmentList .equipmentSingle h4 {
        text-align: center;
        color: #565243;
        font-size: 1.6rem;
        font-weight: bold;
        padding: 0;
        margin: 1.3rem 0 0.4rem 0;
        letter-spacing: normal;
    }

    .service .block01 .equipmentList .equipmentSingle h4 span {
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }

    .service .block01 .equipmentList .equipmentSingle p {
        text-align: center;
        color: #565243;
        font-size: 1.2rem;
        line-height: 2rem;
        padding: 0;
        margin: 0;
    }

    .service .block01 .equipmentList .equipmentSingle .image {
        position: relative;
    }

    .service .block01 .equipmentList .equipmentSingle .image .iconFocus {
        width: 35px;
        height: 35px;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .service .block01 .equipmentList .equipmentSingle .image a {
        display: block;
    }

    .service .block01 .equipmentList .equipmentSingle .image a:hover {
        opacity: 0.75;
    }

    .service .block01 .equipmentList {
        display: block;
    }

    .service .block01 .equipmentList .equipmentSingle {
        width: 100%;
        font-size: 1.2rem;
        margin-right: 0;
    }

    .service .block01 .equipmentList .equipmentSingle h4 {
        text-align: center;
        color: #565243;
        font-size: 1.6rem;
        font-weight: bold;
        padding: 0;
        margin: 1.3rem 0 0.4rem 0;
        letter-spacing: normal;
    }

    .service .block01 .equipmentList .equipmentSingle h4 span {
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }

    .service .block01 .equipmentList .equipmentSingle h4 span.copy {
        font-size: 1.2rem;
    }

    .service .block01 .equipmentList .equipmentSingle p {
        text-align: center;
        color: #565243;
        font-size: 1.2rem;
        line-height: 2rem;
        padding: 0;
        margin: 0;
    }

    .service .block01 .equipmentList .equipmentSingle .cateringText h4 {
        text-align: left;
        margin: 1.3rem 0 0.4rem 0;
        letter-spacing: 0.05em;
    }

    .service .block01 .equipmentList .equipmentSingle .cateringText p {
        text-align: left;
        line-height: 2.2rem;
    }

    .service .block01 .equipmentList .equipmentSingle .cateringText p span.plus {
        margin-left: 3rem;
    }

    .service .block01 .equipmentList .equipmentSingle .image {
        position: relative;
    }

    .service .block01 .equipmentList .equipmentSingle .image .iconFocus {
        width: 35px;
        height: 35px;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .service .block01 .equipmentList .equipmentSingle .image a {
        display: block;
    }

    .service .block01 .equipmentList .equipmentSingle .image a:hover {
        opacity: 0.75;
    }

    .service .block01.catering,
    .service .block01.others {
        margin-top: -4.5rem;
    }

    .service .block01.catering .tc,
    .service .block01.others .tc {
        padding-bottom: 0rem;
        letter-spacing: normal;
        text-align: center;
    }

    .service .block01.catering .partsAnchor01,
    .service .block01.others .partsAnchor01 {
        margin-top: 4.5rem;
    }

    .service .block01.catering .smallText,
    .service .block01.others .smallText {
        font-size: 1rem;
        color: #565243;
        padding-top: 1.6rem;
    }

    .service .block01.catering h3,
    .service .block01.others h3 {
        padding: 3.8rem 0 0rem 0;
        background: none;
        font-size: 1.8rem;
        margin: 0;
    }

    .service .block01.catering h3::before,
    .service .block01.others h3::before {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-right: 0.6rem;
    }

    .service .block01.catering h3::after,
    .service .block01.others h3::after {
        content: "";
        display: inline-block;
        width: 44px;
        height: 2px;
        background-image: url("../img/side_border.svg");
        background-size: contain;
        vertical-align: middle;
        margin-left: 0.6rem;
    }

    .service .block01.catering .titleText,
    .service .block01.others .titleText {
        font-size: 1.2rem;
        text-align: center;
        margin: 0rem 0 0rem 0;
        padding: 0;
    }

    .service .block01 .cateringList {
        justify-content: space-between;
    }

    .service .block01 .cateringList .cateringSingle {
        width: 46%;
        font-size: 1.2rem;
        margin-top: 3rem;
        margin-right: 0;
    }

    .service .block01 .cateringList .cateringSingle h4 {
        text-align: center;
        color: #565243;
        font-size: 1.6rem;
        font-weight: bold;
        padding: 0;
        margin: 1rem 0 0rem 0;
        letter-spacing: normal;
    }

    .service .block01 .cateringList .cateringSingle h4 span {
        font-size: 1.5rem;
        letter-spacing: 0.1em;
    }

    .service .block01 .cateringList .cateringSingle:nth-of-type(4),
    .service .block01 .cateringList .cateringSingle:nth-of-type(8),
    .service .block01 .cateringList .cateringSingle:nth-of-type(12),
    .service .block01 .cateringList .cateringSingle:nth-of-type(16),
    .service .block01 .cateringList .cateringSingle:nth-of-type(20),
    .service .block01 .cateringList .cateringSingle:nth-of-type(24),
    .service .block01 .cateringList .cateringSingle:nth-of-type(28),
    .service .block01 .cateringList .cateringSingle:nth-of-type(32),
    .service .block01 .cateringList .cateringSingle:nth-of-type(36),
    .service .block01 .cateringList .cateringSingle:nth-of-type(40) {
        margin-right: 0;
    }

    .service .block01 .cateringList .cateringSingle :nth-child(odd) {
        margin-right: 0;
    }

    .service .block01 .cateringList .cateringSingle .image {
        position: relative;
    }

    .service .block01 .cateringList .cateringSingle .image .iconPDF {
        width: 32px;
        padding: 0.4rem 0;
    }

    .service .block01 .cateringList .cateringSingle .image .iconPDF p {
        color: #ffffff;
        font-size: 1rem;
        font-weight: normal;
        letter-spacing: normal;
        text-align: center;
        line-height: 100%;
        padding: 0;
        margin: 0;
    }

    .service .block01 .cateringList .cateringSingle .image a {
        display: block;
    }

    .service .block01 .cateringList .cateringSingle .image a:hover {
        opacity: 0.75;
    }

    .service .block01 .othersBox p {
        color: #565243;
        text-align: center;
        padding: 1.4rem 0;
        letter-spacing: 0.1em;
    }

    .service .block01 .othersBox .othersInfoBox {
        padding: 2rem;
        display: block;
    }

    .service .block01 .othersBox .othersInfoBox .image {
        width: 100%;
        padding-bottom: 0.8rem;
    }

    .service .block01 .othersBox .othersInfoBox .textBox {
        width: 100%;
    }

    .service .block01 .othersBox .othersInfoBox .textBox .textList p {
        text-align: left;
        padding: 0;
        color: #565243;
        font-size: 1.2rem;
        line-height: 1.8rem;
        background: url(../img/guide/texticon.svg) left 10px no-repeat;
        padding: 0 0 0 1.2rem !important;
        margin: 0.8rem 0 0 0 !important;
    }

    .service .block01 .othersBox .othersInfoBox .textBox .normalText p {
        font-size: 1.2rem;
        line-height: 2.2rem;
        text-align: left;
    }

    .service .block01 .othersBox .othersInfoBox .textBox .normalText p a {
        color: #cdad58;
        border-bottom: 1px solid #cdad58;
        display: inline-block;
        position: relative;
    }

    .service .block01 .othersBox .othersInfoBox .textBox .normalText p a::after {
        position: absolute;
        content: '';
        bottom: -1px;
        left: 0;
        width: 0;
        height: 1px;
        background: #f7f5f0;
        transition: all 0.3s ease 0s;
    }

    .service .block01 .othersBox .othersInfoBox .textBox .normalText p a:hover::after {
        width: 100%;
    }

    .service .block01 .othersBox .othersInfoBox02 {
        padding: 0.8rem 2rem 2rem 2rem;
    }

    .service .block01 .othersBox .othersInfoBox02 h4 {
        color: #322f25;
        font-size: 1.3rem;
        line-height: 2rem;
        text-align: left;
        font-weight: bold;
        border-left: solid 3px #cdad58;
        padding: 0 0 0 0.7rem;
        margin: 1.2rem 0 1rem 0;
    }

    .service .block01 .othersBox .othersInfoBox02 p {
        text-align: left;
        padding: 0;
    }

    .service .block01 .othersBox .othersInfoBox02 .infoBox {
        margin-top: 1.5rem;
        display: block;
    }

    .service .block01 .othersBox .othersInfoBox02 .infoBox .infoLeft {
        border-bottom: 1px solid #d5d2c8;
        border-right: none;
        padding-right: 0rem;
        margin-right: 0rem;
        padding-bottom: 0.6rem;
        margin-bottom: 0.6rem;
    }

    .service .block01 .othersBox .othersInfoBox02 .infoBox .infoLeft p {
        font-weight: bold;
    }

    .service .block01 .othersBox .othersInfoBox02 .text {
        margin-top: 1.5rem !important;
        position: relative;
    }

    .service .block01 .othersBox .othersInfoBox02 .text p {
        text-align: left;
        font-size: 1.2rem;
        line-height: 2.2rem;
        padding: 0 0 0 1.3rem;
        position: relative;
    }

    .service .block01 .othersBox .othersInfoBox02 .text p::before {
        position: absolute;
        content: "※";
        display: block;
        width: 10px;
        height: 10px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .service .block01 .text {
        margin-top: 1.5rem;
        background: none;
    }

    .service .block01 .text p {
        font-size: 1rem;
        line-height: 1.7rem;
        padding: 0 0 0 1.3rem;
        position: relative;
    }

    .service .block01 .text p::before {
        position: absolute;
        content: "※";
        display: block;
        width: 10px;
        height: 10px;
        position: absolute;
        bottom: -1rem;
        left: 0;
        top: 0;
    }

    .service .block01 .text p+p {
        margin-top: 0.4rem;
    }

    .service .block01 .btn {
        width: 90%;
        max-width: initial;
        margin: 1.5rem auto 2.5rem auto;
    }

    .service .block01 .btn a {
        webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        text-align: center;
        display: block;
        border: 2px solid #322f25;
        padding: 0.9rem 2.5rem 0.9rem 1.2rem;
        color: #322f25;
        background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
        background-size: 6px auto;
    }

    .service .block01 .btn a:hover {
        color: #322f25;
        background: url("../img/arrow.svg") 95% center no-repeat #ffffff;
    }

    .mfp-content {
        margin: 0 1rem;
    }
}

/* コラム一覧 */
.column .pageTitle {
    background: url(../img/column/column_mv.jpg) center top no-repeat;
    background-size: cover;
}
.column .block01 h2 {
    margin-top: 7.5rem;
}
.column .columnWrap {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto 13rem;
    display: flex;
    gap: 40px;
}
.column .columnWrap .mainWrap {
    max-width: 860px;
}
.column .columnWrap .mainWrap .selectBlock {
    border: 2px solid #CDAD58;
    margin-bottom: 6rem;
    padding: 4rem 1.7rem 3.3rem 2rem;
    display: flex;
    justify-content: space-between;
    gap: 70px;
}
.column .columnWrap .mainWrap .selectBlock .category .title {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: normal;
    padding-left: 2.8rem;
    position: relative;
    margin-bottom: 2rem;
}
.column .columnWrap .mainWrap .selectBlock .category .title::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 1.8rem;
    height: 2px;
    background: #CDAD58;
}
.column .columnWrap .mainWrap .selectBlock .category ul {
    display: flex;
    gap: 15px;
}
.column .columnWrap .mainWrap .selectBlock .category ul li {
    background: #F7F5F0;
    border-radius: 10px;
    font-size: 1.2rem;
    letter-spacing: normal;
    padding: 0.9rem 1.4rem;
    cursor: pointer;
    transition: 0.3s;
    white-space: nowrap;
}
.column .columnWrap .mainWrap .selectBlock .category ul li:hover {
    background: #CDAD58;
    color: #fff;
    transition: 0.3s;
}
.column .columnWrap .mainWrap .selectBlock .search {
    width: 47%;
}
.column .columnWrap .mainWrap .selectBlock .search .title {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: normal;
    padding-left: 2.8rem;
    position: relative;
    margin-bottom: 2rem;
}
.column .columnWrap .mainWrap .selectBlock .search .title::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 1.8rem;
    height: 2px;
    background: #CDAD58;
}
.column .columnWrap .mainWrap .selectBlock .search .search-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    border: 1px solid #322F25;
}
.column .columnWrap .mainWrap .selectBlock .search .search-form label {
    width: 100%;
}
.column .columnWrap .mainWrap .selectBlock .search .search-form input {
    width: 100%;
    height: 3.4rem;
    padding: 0.8rem 2rem;
    border: none;
    box-sizing: border-box;
    font-size: 1.2rem;
    outline: none;
}
.column .columnWrap .mainWrap .selectBlock .search .search-form input::placeholder{
    color: #777777;
}
.column .columnWrap .mainWrap .selectBlock .search .search-form button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.4rem;
    height: 3.4rem;
    border: none;
    background-color: #322F25;
    cursor: pointer;
}
.column .columnWrap .mainWrap .selectBlock .search .search-form button::after {
    position: absolute;
    content: "";
    width: 1.8rem;
    height: 1.8rem;
    background-image: url(../img/column/searchIcon.svg);
    background-repeat: no-repeat;
}

.column .columnWrap .mainWrap .columnBlock {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.column .columnWrap .mainWrap .columnBlock .item {
    background: #F7F5F0;
    padding: 3rem;
}
.column .columnWrap .mainWrap .columnBlock .item .head {
    display: flex;
    gap: 24px;
}
.column .columnWrap .mainWrap .columnBlock .item .head .categoryName {
    background: #CDAD58;
    color: #fff;
    padding: 0.1rem 1rem 0;
    font-size: 1.2rem;
    letter-spacing: normal;
}
.column .columnWrap .mainWrap .columnBlock .item .head .date {
    font-size: 1.4rem;
    letter-spacing: normal;
}
.column .columnWrap .mainWrap .columnBlock .item h3 {
    font-size: 2.4rem;
    font-weight: bold;
    margin: 2rem 0;
}
.column .columnWrap .mainWrap .columnBlock .item .postDesc {
    display: flex;
    gap: 40px;
}
.column .columnWrap .mainWrap .columnBlock .item .postDesc .thumb {
    width: 42.5%;
}
.column .columnWrap .mainWrap .columnBlock .item .postDesc .text {
    width: 52.5%;
}
.column .columnWrap .mainWrap .columnBlock .item .postDesc .text p {
    font-size: 1.5rem;
    margin-bottom: 3rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
}
.column .columnWrap .mainWrap .columnBlock .item .postDesc .text .moreBtn a {
    width: 20.5rem;
    display: block;
    webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin-left: auto;
    border: 2px solid #322f25;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 1.6rem 0;
    background: url(../img/arrow.svg) 95% center no-repeat;
}
.column .columnWrap .mainWrap .columnBlock .item .postDesc .text .moreBtn a:hover {
    color: #fff;
    background: url(../img/arrow_hover.svg) 97% center no-repeat #322f25;
}


.column .rankWrap {
    max-width: 200px;
}
.column .rankWrap .title {  
    font-size: 1.5rem;
    font-weight: 600;
    padding-left: 2.8rem;
    position: relative;
    margin-bottom: 1.5rem;
}
.column .rankWrap .title::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 1.8rem;
    height: 2px;
    background: #CDAD58;
}
.column .rankWrap .rankInner {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.column .rankWrap .rankInner .item {
    position: relative;
    background-image: repeating-linear-gradient(90deg, #cdad58, #cdad58 2px, transparent 2px, transparent 4px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    padding-bottom: 3rem;
}
.column .rankWrap .rankInner .item:last-child {
    background-image: none;
}
.column .rankWrap .rankInner .item::after {
    position: absolute;
    content: "";
    display: inline-block;
    top: 6px;
    left: 6px;
    width: 3.8rem;
    height: 3.3rem;
}
.column .rankWrap .rankInner .item:nth-child(1)::after {
    background: url(../img/column/no01.svg) no-repeat;
    background-size: 100% auto;
}
.column .rankWrap .rankInner .item:nth-child(2)::after {
    background: url(../img/column/no02.svg) no-repeat;
    background-size: 100% auto;
}
.column .rankWrap .rankInner .item:nth-child(3)::after {
    background: url(../img/column/no03.svg) no-repeat;
    background-size: 100% auto;
}
.column .rankWrap .rankInner .item:nth-child(4)::after {
    background: url(../img/column/no04.svg) no-repeat;
    background-size: 100% auto;
}
.column .rankWrap .rankInner .item:nth-child(5)::after {
    background: url(../img/column/no05.svg) no-repeat;
    background-size: 100% auto;
}
.column .rankWrap .rankInner .item a:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
}
.column .rankWrap .rankInner .item a:hover p {
    text-decoration: underline;
    transition: opacity 0.3s;
}
.column .rankWrap .rankInner .item p {
    margin-top: 1.2rem;
    font-size: 1.2rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .column .columnWrap {
        display: block;
        padding: 0 2rem;
        margin: 0 auto 6rem;
    }
    .column .columnWrap .mainWrap .selectBlock {
        margin-bottom: 7rem;
        flex-direction: column;
        gap: 20px;
    }
    .column .columnWrap .mainWrap .selectBlock .category .title {
        font-size: 1.4rem;
    }
    .column .columnWrap .mainWrap .selectBlock .category ul {
        gap: 10px;
    }
    .column .columnWrap .mainWrap .selectBlock .category ul li {
        font-size: 1rem;
        padding: 0.5rem 0.8rem;
    }
    .column .columnWrap .mainWrap .selectBlock .search {
        width: 100%;
    }
    .column .columnWrap .mainWrap .columnBlock .item {
        padding: 3rem 2rem;
    }
    .column .columnWrap .mainWrap .columnBlock .item .head {
        gap: 10px;
    }
    .column .columnWrap .mainWrap .columnBlock .item .head .categoryName {
        font-size: 1rem;
    }
    .column .columnWrap .mainWrap .columnBlock .item .head .date {
        font-size: 1rem;
    }
    .column .columnWrap .mainWrap .columnBlock .item h3 {
        font-size: 1.6rem;
        margin: 1.5rem 0 2rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .column .columnWrap .mainWrap .columnBlock .item .postDesc {
        flex-direction: column;
        gap: 20px;
    }
    .column .columnWrap .mainWrap .columnBlock .item .postDesc .thumb {
        width: 100%;
    }
    .column .columnWrap .mainWrap .columnBlock .item .postDesc .text {
        width: 100%;
    }
    .column .columnWrap .mainWrap .columnBlock .item .postDesc .text p {
        font-size: 1.2rem;
        margin-bottom: 2rem;
        -webkit-line-clamp: 4;
    }
    .column .rankWrap {
        max-width: 100%;
        margin: 4rem auto 2rem;
    }
    .column .rankWrap .rankInner {
        gap: 20px;
    }
    .column .rankWrap .rankInner .item {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding-bottom: 2rem;
        gap: 20px;
    }
    .column .rankWrap .rankInner .item::after {
        width: 3.1rem;
        height: 2.7rem;
    }
    .column .rankWrap .rankInner .item img {
        width: 48%;
    }
    .column .rankWrap .rankInner .item p {
        margin-top: 1rem;
        font-size: 1rem;
    }
    .column .columnWrap .mainWrap .columnBlock .item .postDesc .text .moreBtn a {
        width: 20.1rem;
        margin: 0 auto;
        font-size: 1.2rem;
        padding: 1rem 0;
    }
    .column .columnWrap .mainWrap .pageing {
        margin-bottom: 3rem;
    }
}

/* コラム詳細 */
.column_single .columnWrap {
    margin: 7.5rem auto 13rem;
}
.column_single .columnWrap .mainWrap .detailBlock .head {
    display: flex;
    gap: 24px;
}
.column_single .columnWrap .mainWrap .detailBlock .head .categoryName {
    background: #CDAD58;
    color: #fff;
    padding: 0.1rem 1rem 0;
    font-size: 1.2rem;
    letter-spacing: normal;
}
.column_single .columnWrap .mainWrap .detailBlock .head .date {
    font-size: 1.4rem;
    letter-spacing: normal;
}
.column_single .columnWrap .mainWrap .detailBlock .mainTitle {
    font-size: 3.2rem;
    font-weight: bold;
    text-align: left;
    margin: 2rem 0 4rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #918A71;
    background: none;
}
.column_single .columnWrap .mainWrap .detailBlock .contentsWrap {
    background: #F7F5F0;
    padding: 4rem 3rem;
    margin-top: 3rem;
}
.column_single .columnWrap .mainWrap .detailBlock .contentsWrap h4 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #CDAD58;
    font-family: "Montserrat", sans-serif;
}
.column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock {
    margin-top: 3rem;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock p {
    font-size: 1.6rem;
    font-weight: 500;
    color: #565243;
}
.column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock .link_title {
    padding-left: 1.2rem;
    border-left: 2px solid #CDAD58;
}
.column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock .link_subtitle {
    padding-left: 1.2rem;
    margin-left: 2rem;
    position: relative;
}
.column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock .link_subtitle::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    background: #CDAD58;
    border-radius: 50%;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner {
    margin: 3rem 0 9.6rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner h2 {
    font-size: 3rem;
    font-weight: bold;
    text-align: left;
    color: #fff;
    background: #CDAD58;
    margin: 0 0 4rem;
    padding: 1.5rem 2rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner h3 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #565243;
    padding-bottom: 1.3rem;
    margin-bottom: 2.8rem;
    position: relative;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner h3::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 4.8rem;
    height: 2px;
    background: #CDAD58;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner h4 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #565243;
    padding-bottom: 0.4rem;
    margin-bottom: 2.8rem;
    background-image: repeating-linear-gradient(90deg, #cdad58, #cdad58 2px, transparent 2px, transparent 4px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 2px;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p {
    font-size: 1.5rem;
    font-weight: normal;
    margin-bottom: 2.8rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-center {
    text-align: center;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-bold {
    font-weight: bold;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-italic {
    font-style: italic;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-quotation {
    background: #F7F5F0;
    padding: 0.7rem 2.5rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-caption {
    font-size: 1.2rem;
    margin-top: 1.5rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p a {
    color: #CDAD58;
    display: inline;
    position: relative;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p a:after {
content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #CDAD58;
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 0.4s ease;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p a:hover::after {
    transform: scaleX(0);
    transform-origin: left;
    animation: underline-flow 0.4s forwards;
}
@keyframes underline-flow {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }
    100% {
        transform: scaleX(1);
        transform-origin: left;
    }
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-linkBlank {
    position: relative;
    display: inline-block;
    padding-right: 1.6rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-linkBlank::after {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1rem;
    height: 0.8rem;
    background: url(../img/column/anothor.png) no-repeat;
    background-size: 10px auto;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner ul,
.column_single .columnWrap .mainWrap .detailBlock .detailInner ol {
    border: 1px solid #F7F5F0;
    padding: 1.5rem 2rem;
    margin-bottom: 2.8rem;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner ul li,
.column_single .columnWrap .mainWrap .detailBlock .detailInner ol li {
    position: relative;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner ul li {
    padding-left: 1.5rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner ul li::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    background: #CDAD58;
    border-radius: 50%;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner ol {
    counter-reset: number;
    list-style-type: none !important;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner ol li {
    padding-left: 4rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner ol li::before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #CDAD58;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    font-size: 1.6rem;
    border-radius: 50%;
    left: 0;
    width: 28px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    padding-left: 2px;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    text-align: center;
    margin-bottom: 2.8rem;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner table tr th,
.column_single .columnWrap .mainWrap .detailBlock .detailInner table tr td {
    padding: 2rem 0;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner table tr th {
    background: #CDAD58;
    color: #fff;
    font-weight: bold;
    border: 1px solid #F7F5F0;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner table tr td {
    background: #FFFDF8;
    border: 1px solid #F7F5F0;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-left {
    text-align: left;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner p.t-right {
    text-align: right;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock h5 {
    background: #CDAD58;
    padding: 1.3rem 0;
    text-align: center;
    font-size: 1.7rem;
    font-weight: normal;
    color: #fff;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent {
    border: 2px solid #CDAD58;
    padding: 4rem 6.5rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent figure {
    width: 14.8rem;
    height: 100%;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent .authorDesc {
    width: 74%;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent .authorDesc .authorName {
    font-weight: bold;
    padding-left: 2.1rem;
    position: relative;
}
.column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent .authorDesc .authorName::after {
    position: absolute;
    content: "";
    background: #CDAD58;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 1.1rem;
    height: 1.1rem;
}

@media screen and (max-width: 767px) {
    .column_single .columnWrap {
        margin: 7.5rem auto 6rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .head {
        gap: 10px;
    }
    .column_single .columnWrap .mainWrap .detailBlock .head .categoryName {
        font-size: 1rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .head .date {
        font-size: 1rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .mainTitle {
        font-size: 2.1rem;
        margin: 1.5rem 0 3rem;
        padding-bottom: 2rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .contentsWrap   {
        padding: 3rem 2rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .contentsWrap h4 {
        font-size: 1.6rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock {
        margin-top: 2rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock p {
        font-size: 1.4rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .contentsWrap .contentsBlock .link_title {
        padding-left: 1rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner {
        margin: 5rem 0 3rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner h2 {
        font-size: 2rem;
        margin: 0 0 5rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner h3 {
        font-size: 1.8rem;
        padding-bottom: 1rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner h4 {
        font-size: 1.6rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner p {
        font-size: 1.2rem;
        margin-bottom: 3rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner ul,
    .column_single .columnWrap .mainWrap .detailBlock .detailInner ol {
        padding: 2rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner ol li::before {
        width: 23px;
        height: 25px;
        line-height: 25px;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .tableWrap {
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 3rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .tableWrap table {
        margin-bottom: 0;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .tableWrap table tr th,
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .tableWrap table tr td {
        padding: 1.5rem 0;
        width: 11rem;
        font-size: 1.2rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock h5 {
        font-size: 1.4rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent {
        padding: 2rem;
        flex-direction: column;
        gap: 20px;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent figure {
        width: 10.9rem;
        margin: 0 auto;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent .authorDesc {
        width: 100%;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent .authorDesc .authorName {
        padding-left: 1.9rem;
        margin-bottom: 1.5rem;
    }
    .column_single .columnWrap .mainWrap .detailBlock .detailInner .authorBlock .authorContent .authorDesc .authorName::after {
        width: 0.8rem;
        height: 0.8rem;
    }
    .column_single .columnWrap .mainWrap .pageing {
        margin-bottom: 6rem;
    }
}

/*===============================
	reCAPTCHA
=================================*/

.grecaptcha-badge {
    bottom: 85px !important;
}