@import url(https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap);
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, main, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

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

[hidden] {
    display: none
}

body {
    line-height: 1
}

menu, ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

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

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

.slick-slider {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-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, .slick-slider {
    position: relative;
    display: block
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list, .slick-slider .slick-track {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after, .slick-track:before {
    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
}

.slick-loading .slick-list {
    background: #fff url(ajax-loader.gif) 50% no-repeat
}

@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: 400;
    font-style: normal
}

.slick-next, .slick-prev {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0;
    font-size: 0;
    cursor: pointer;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 0;
    border: none
}

.slick-next, .slick-next:focus, .slick-next:hover, .slick-prev, .slick-prev:focus, .slick-prev:hover {
    background: transparent;
    color: transparent;
    outline: none
}

.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before {
    opacity: 1
}

.slick-next.slick-disabled:before, .slick-prev.slick-disabled:before {
    opacity: .25
}

.slick-next:before, .slick-prev:before {
    font-family: slick;
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: .75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir=rtl] .slick-prev {
    left: auto;
    right: -25px
}

.slick-prev:before {
    content: "←"
}

[dir=rtl] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: -25px
}

[dir=rtl] .slick-next {
    left: -25px;
    right: auto
}

.slick-next:before {
    content: "→"
}

[dir=rtl] .slick-next:before {
    content: "←"
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%
}

.slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    padding: 0
}

.slick-dots li, .slick-dots li button {
    height: 20px;
    width: 20px;
    cursor: pointer
}

.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    outline: none;
    line-height: 0;
    font-size: 0;
    color: transparent;
    padding: 5px
}

.slick-dots li button:focus, .slick-dots li button:hover {
    outline: none
}

.slick-dots li button:focus:before, .slick-dots li button:hover: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: #000;
    opacity: .25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    color: #000;
    opacity: .75
}


/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 *
 * To view and modify this theme, visit http://jqueryui.com/themeroller/
 */

.ui-widget {
    font-family: Arial, Helvetica, sans-serif
}

.ui-widget, .ui-widget .ui-widget {
    font-size: 1em
}

.ui-widget button, .ui-widget input, .ui-widget select, .ui-widget textarea {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em
}

.ui-widget.ui-widget-content {
    border: 1px solid #c5c5c5
}

.ui-widget-content {
    border: 1px solid #ddd;
    background: #fff;
    color: #333
}

.ui-widget-content a {
    color: #333
}

.ui-widget-header {
    border: 1px solid #ddd;
    background: #e9e9e9;
    color: #333;
    font-weight: 700
}

.ui-widget-header a {
    color: #333
}

.ui-button, .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, html .ui-button.ui-state-disabled:active, html .ui-button.ui-state-disabled:hover {
    border: 1px solid #c5c5c5;
    background: #f6f6f6;
    font-weight: 400;
    color: #454545
}

.ui-button, .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited, a.ui-button, a:link.ui-button, a:visited.ui-button {
    color: #454545;
    text-decoration: none
}

.ui-button:focus, .ui-button:hover, .ui-state-focus, .ui-state-hover, .ui-widget-content .ui-state-focus, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-focus, .ui-widget-header .ui-state-hover {
    border: 1px solid #ccc;
    background: #ededed;
    font-weight: 400;
    color: #2b2b2b
}

.ui-state-focus a, .ui-state-focus a:hover, .ui-state-focus a:link, .ui-state-focus a:visited, .ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited, a.ui-button:focus, a.ui-button:hover {
    color: #2b2b2b;
    text-decoration: none
}

.ui-visual-focus {
    -webkit-box-shadow: 0 0 3px 1px #5e9ed6;
    box-shadow: 0 0 3px 1px #5e9ed6
}

.ui-button.ui-state-active:hover, .ui-button:active, .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active {
    border: 1px solid #003eff;
    background: #007fff;
    font-weight: 400;
    color: #fff
}

.ui-icon-background, .ui-state-active .ui-icon-background {
    border: #003eff;
    background-color: #fff
}

.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
    color: #fff;
    text-decoration: none
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    border: 1px solid #dad55e;
    background: #fffa90;
    color: #777620
}

.ui-state-checked {
    border: 1px solid #dad55e;
    background: #fffa90
}

.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a {
    color: #777620
}

.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
    border: 1px solid #f1a899;
    background: #fddfdf;
    color: #5f3f3f
}

.ui-state-error-text, .ui-state-error a, .ui-widget-content .ui-state-error-text, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error-text, .ui-widget-header .ui-state-error a {
    color: #5f3f3f
}

.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary {
    font-weight: 700
}

.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary {
    opacity: .7;
    filter: Alpha(Opacity=70);
    font-weight: 400
}

.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled {
    opacity: .35;
    filter: Alpha(Opacity=35);
    background-image: none
}

.ui-state-disabled .ui-icon {
    filter: Alpha(Opacity=35)
}

.ui-icon {
    width: 16px;
    height: 16px
}

.ui-icon, .ui-widget-content .ui-icon, .ui-widget-header .ui-icon {
    background-image: url(images/ui-icons_444444_256x240.png)
}

.ui-button:focus .ui-icon, .ui-button:hover .ui-icon, .ui-state-focus .ui-icon, .ui-state-hover .ui-icon {
    background-image: url(images/ui-icons_555555_256x240.png)
}

.ui-button:active .ui-icon, .ui-state-active .ui-icon {
    background-image: url(images/ui-icons_ffffff_256x240.png)
}

.ui-button .ui-state-highlight.ui-icon, .ui-state-highlight .ui-icon {
    background-image: url(images/ui-icons_777620_256x240.png)
}

.ui-state-error-text .ui-icon, .ui-state-error .ui-icon {
    background-image: url(images/ui-icons_cc0000_256x240.png)
}

.ui-button .ui-icon {
    background-image: url(images/ui-icons_777777_256x240.png)
}

.ui-icon-blank {
    background-position: 16px 16px
}

.ui-icon-caret-1-n {
    background-position: 0 0
}

.ui-icon-caret-1-ne {
    background-position: -16px 0
}

.ui-icon-caret-1-e {
    background-position: -32px 0
}

.ui-icon-caret-1-se {
    background-position: -48px 0
}

.ui-icon-caret-1-s {
    background-position: -65px 0
}

.ui-icon-caret-1-sw {
    background-position: -80px 0
}

.ui-icon-caret-1-w {
    background-position: -96px 0
}

.ui-icon-caret-1-nw {
    background-position: -112px 0
}

.ui-icon-caret-2-n-s {
    background-position: -128px 0
}

.ui-icon-caret-2-e-w {
    background-position: -144px 0
}

.ui-icon-triangle-1-n {
    background-position: 0 -16px
}

.ui-icon-triangle-1-ne {
    background-position: -16px -16px
}

.ui-icon-triangle-1-e {
    background-position: -32px -16px
}

.ui-icon-triangle-1-se {
    background-position: -48px -16px
}

.ui-icon-triangle-1-s {
    background-position: -65px -16px
}

.ui-icon-triangle-1-sw {
    background-position: -80px -16px
}

.ui-icon-triangle-1-w {
    background-position: -96px -16px
}

.ui-icon-triangle-1-nw {
    background-position: -112px -16px
}

.ui-icon-triangle-2-n-s {
    background-position: -128px -16px
}

.ui-icon-triangle-2-e-w {
    background-position: -144px -16px
}

.ui-icon-arrow-1-n {
    background-position: 0 -32px
}

.ui-icon-arrow-1-ne {
    background-position: -16px -32px
}

.ui-icon-arrow-1-e {
    background-position: -32px -32px
}

.ui-icon-arrow-1-se {
    background-position: -48px -32px
}

.ui-icon-arrow-1-s {
    background-position: -65px -32px
}

.ui-icon-arrow-1-sw {
    background-position: -80px -32px
}

.ui-icon-arrow-1-w {
    background-position: -96px -32px
}

.ui-icon-arrow-1-nw {
    background-position: -112px -32px
}

.ui-icon-arrow-2-n-s {
    background-position: -128px -32px
}

.ui-icon-arrow-2-ne-sw {
    background-position: -144px -32px
}

.ui-icon-arrow-2-e-w {
    background-position: -160px -32px
}

.ui-icon-arrow-2-se-nw {
    background-position: -176px -32px
}

.ui-icon-arrowstop-1-n {
    background-position: -192px -32px
}

.ui-icon-arrowstop-1-e {
    background-position: -208px -32px
}

.ui-icon-arrowstop-1-s {
    background-position: -224px -32px
}

.ui-icon-arrowstop-1-w {
    background-position: -240px -32px
}

.ui-icon-arrowthick-1-n {
    background-position: 1px -48px
}

.ui-icon-arrowthick-1-ne {
    background-position: -16px -48px
}

.ui-icon-arrowthick-1-e {
    background-position: -32px -48px
}

.ui-icon-arrowthick-1-se {
    background-position: -48px -48px
}

.ui-icon-arrowthick-1-s {
    background-position: -64px -48px
}

.ui-icon-arrowthick-1-sw {
    background-position: -80px -48px
}

.ui-icon-arrowthick-1-w {
    background-position: -96px -48px
}

.ui-icon-arrowthick-1-nw {
    background-position: -112px -48px
}

.ui-icon-arrowthick-2-n-s {
    background-position: -128px -48px
}

.ui-icon-arrowthick-2-ne-sw {
    background-position: -144px -48px
}

.ui-icon-arrowthick-2-e-w {
    background-position: -160px -48px
}

.ui-icon-arrowthick-2-se-nw {
    background-position: -176px -48px
}

.ui-icon-arrowthickstop-1-n {
    background-position: -192px -48px
}

.ui-icon-arrowthickstop-1-e {
    background-position: -208px -48px
}

.ui-icon-arrowthickstop-1-s {
    background-position: -224px -48px
}

.ui-icon-arrowthickstop-1-w {
    background-position: -240px -48px
}

.ui-icon-arrowreturnthick-1-w {
    background-position: 0 -64px
}

.ui-icon-arrowreturnthick-1-n {
    background-position: -16px -64px
}

.ui-icon-arrowreturnthick-1-e {
    background-position: -32px -64px
}

.ui-icon-arrowreturnthick-1-s {
    background-position: -48px -64px
}

.ui-icon-arrowreturn-1-w {
    background-position: -64px -64px
}

.ui-icon-arrowreturn-1-n {
    background-position: -80px -64px
}

.ui-icon-arrowreturn-1-e {
    background-position: -96px -64px
}

.ui-icon-arrowreturn-1-s {
    background-position: -112px -64px
}

.ui-icon-arrowrefresh-1-w {
    background-position: -128px -64px
}

.ui-icon-arrowrefresh-1-n {
    background-position: -144px -64px
}

.ui-icon-arrowrefresh-1-e {
    background-position: -160px -64px
}

.ui-icon-arrowrefresh-1-s {
    background-position: -176px -64px
}

.ui-icon-arrow-4 {
    background-position: 0 -80px
}

.ui-icon-arrow-4-diag {
    background-position: -16px -80px
}

.ui-icon-extlink {
    background-position: -32px -80px
}

.ui-icon-newwin {
    background-position: -48px -80px
}

.ui-icon-refresh {
    background-position: -64px -80px
}

.ui-icon-shuffle {
    background-position: -80px -80px
}

.ui-icon-transfer-e-w {
    background-position: -96px -80px
}

.ui-icon-transferthick-e-w {
    background-position: -112px -80px
}

.ui-icon-folder-collapsed {
    background-position: 0 -96px
}

.ui-icon-folder-open {
    background-position: -16px -96px
}

.ui-icon-document {
    background-position: -32px -96px
}

.ui-icon-document-b {
    background-position: -48px -96px
}

.ui-icon-note {
    background-position: -64px -96px
}

.ui-icon-mail-closed {
    background-position: -80px -96px
}

.ui-icon-mail-open {
    background-position: -96px -96px
}

.ui-icon-suitcase {
    background-position: -112px -96px
}

.ui-icon-comment {
    background-position: -128px -96px
}

.ui-icon-person {
    background-position: -144px -96px
}

.ui-icon-print {
    background-position: -160px -96px
}

.ui-icon-trash {
    background-position: -176px -96px
}

.ui-icon-locked {
    background-position: -192px -96px
}

.ui-icon-unlocked {
    background-position: -208px -96px
}

.ui-icon-bookmark {
    background-position: -224px -96px
}

.ui-icon-tag {
    background-position: -240px -96px
}

.ui-icon-home {
    background-position: 0 -112px
}

.ui-icon-flag {
    background-position: -16px -112px
}

.ui-icon-calendar {
    background-position: -32px -112px
}

.ui-icon-cart {
    background-position: -48px -112px
}

.ui-icon-pencil {
    background-position: -64px -112px
}

.ui-icon-clock {
    background-position: -80px -112px
}

.ui-icon-disk {
    background-position: -96px -112px
}

.ui-icon-calculator {
    background-position: -112px -112px
}

.ui-icon-zoomin {
    background-position: -128px -112px
}

.ui-icon-zoomout {
    background-position: -144px -112px
}

.ui-icon-search {
    background-position: -160px -112px
}

.ui-icon-wrench {
    background-position: -176px -112px
}

.ui-icon-gear {
    background-position: -192px -112px
}

.ui-icon-heart {
    background-position: -208px -112px
}

.ui-icon-star {
    background-position: -224px -112px
}

.ui-icon-link {
    background-position: -240px -112px
}

.ui-icon-cancel {
    background-position: 0 -128px
}

.ui-icon-plus {
    background-position: -16px -128px
}

.ui-icon-plusthick {
    background-position: -32px -128px
}

.ui-icon-minus {
    background-position: -48px -128px
}

.ui-icon-minusthick {
    background-position: -64px -128px
}

.ui-icon-close {
    background-position: -80px -128px
}

.ui-icon-closethick {
    background-position: -96px -128px
}

.ui-icon-key {
    background-position: -112px -128px
}

.ui-icon-lightbulb {
    background-position: -128px -128px
}

.ui-icon-scissors {
    background-position: -144px -128px
}

.ui-icon-clipboard {
    background-position: -160px -128px
}

.ui-icon-copy {
    background-position: -176px -128px
}

.ui-icon-contact {
    background-position: -192px -128px
}

.ui-icon-image {
    background-position: -208px -128px
}

.ui-icon-video {
    background-position: -224px -128px
}

.ui-icon-script {
    background-position: -240px -128px
}

.ui-icon-alert {
    background-position: 0 -144px
}

.ui-icon-info {
    background-position: -16px -144px
}

.ui-icon-notice {
    background-position: -32px -144px
}

.ui-icon-help {
    background-position: -48px -144px
}

.ui-icon-check {
    background-position: -64px -144px
}

.ui-icon-bullet {
    background-position: -80px -144px
}

.ui-icon-radio-on {
    background-position: -96px -144px
}

.ui-icon-radio-off {
    background-position: -112px -144px
}

.ui-icon-pin-w {
    background-position: -128px -144px
}

.ui-icon-pin-s {
    background-position: -144px -144px
}

.ui-icon-play {
    background-position: 0 -160px
}

.ui-icon-pause {
    background-position: -16px -160px
}

.ui-icon-seek-next {
    background-position: -32px -160px
}

.ui-icon-seek-prev {
    background-position: -48px -160px
}

.ui-icon-seek-end {
    background-position: -64px -160px
}

.ui-icon-seek-first, .ui-icon-seek-start {
    background-position: -80px -160px
}

.ui-icon-stop {
    background-position: -96px -160px
}

.ui-icon-eject {
    background-position: -112px -160px
}

.ui-icon-volume-off {
    background-position: -128px -160px
}

.ui-icon-volume-on {
    background-position: -144px -160px
}

.ui-icon-power {
    background-position: 0 -176px
}

.ui-icon-signal-diag {
    background-position: -16px -176px
}

.ui-icon-signal {
    background-position: -32px -176px
}

.ui-icon-battery-0 {
    background-position: -48px -176px
}

.ui-icon-battery-1 {
    background-position: -64px -176px
}

.ui-icon-battery-2 {
    background-position: -80px -176px
}

.ui-icon-battery-3 {
    background-position: -96px -176px
}

.ui-icon-circle-plus {
    background-position: 0 -192px
}

.ui-icon-circle-minus {
    background-position: -16px -192px
}

.ui-icon-circle-close {
    background-position: -32px -192px
}

.ui-icon-circle-triangle-e {
    background-position: -48px -192px
}

.ui-icon-circle-triangle-s {
    background-position: -64px -192px
}

.ui-icon-circle-triangle-w {
    background-position: -80px -192px
}

.ui-icon-circle-triangle-n {
    background-position: -96px -192px
}

.ui-icon-circle-arrow-e {
    background-position: -112px -192px
}

.ui-icon-circle-arrow-s {
    background-position: -128px -192px
}

.ui-icon-circle-arrow-w {
    background-position: -144px -192px
}

.ui-icon-circle-arrow-n {
    background-position: -160px -192px
}

.ui-icon-circle-zoomin {
    background-position: -176px -192px
}

.ui-icon-circle-zoomout {
    background-position: -192px -192px
}

.ui-icon-circle-check {
    background-position: -208px -192px
}

.ui-icon-circlesmall-plus {
    background-position: 0 -208px
}

.ui-icon-circlesmall-minus {
    background-position: -16px -208px
}

.ui-icon-circlesmall-close {
    background-position: -32px -208px
}

.ui-icon-squaresmall-plus {
    background-position: -48px -208px
}

.ui-icon-squaresmall-minus {
    background-position: -64px -208px
}

.ui-icon-squaresmall-close {
    background-position: -80px -208px
}

.ui-icon-grip-dotted-vertical {
    background-position: 0 -224px
}

.ui-icon-grip-dotted-horizontal {
    background-position: -16px -224px
}

.ui-icon-grip-solid-vertical {
    background-position: -32px -224px
}

.ui-icon-grip-solid-horizontal {
    background-position: -48px -224px
}

.ui-icon-gripsmall-diagonal-se {
    background-position: -64px -224px
}

.ui-icon-grip-diagonal-se {
    background-position: -80px -224px
}

.ui-corner-all, .ui-corner-left, .ui-corner-tl, .ui-corner-top {
    border-top-left-radius: 3px
}

.ui-corner-all, .ui-corner-right, .ui-corner-top, .ui-corner-tr {
    border-top-right-radius: 3px
}

.ui-corner-all, .ui-corner-bl, .ui-corner-bottom, .ui-corner-left {
    border-bottom-left-radius: 3px
}

.ui-corner-all, .ui-corner-bottom, .ui-corner-br, .ui-corner-right {
    border-bottom-right-radius: 3px
}

.ui-widget-overlay {
    background: #aaa;
    opacity: .3;
    filter: Alpha(Opacity=30)
}

.ui-widget-shadow {
    -webkit-box-shadow: 0 0 5px #666;
    box-shadow: 0 0 5px #666
}

html {
    overflow-x: hidden
}

body {
    color: #666;
    font-family: YakuHanJP, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, 游ゴシック, YuGothic, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    padding-top: 125px;
}
@media only screen and (min-width:768px)and (max-width:960px) {
    body {
        padding-top: 118px;
    }
}

@media only screen and (max-width:767px) {
    body {
        font-size: 14px;
        padding-top: 70px
    }
}

@media only screen and (max-width:960px) {
    body {
        overflow-x: hidden
    }
}

a {
    text-decoration: underline;
    outline: none;
    color: #002e73
}

a:hover {
    text-decoration: none;
    opacity: .8
}

p {
    margin-bottom: 1.65em
}

main {
    display: block;
}
@media only screen and (max-width:767px) {
    main {
        margin-bottom: 4%;
    }
}

strong {
    font-weight: 700
}

article, aside, details, div, figcaption, figure, footer, header, hgroup, menu, nav, section {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

img {
    vertical-align: middle;
    max-width: 100%;
    height: auto
}

header#header {
    background-color: #fdfbf9;
    padding: 15px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000
}

@media only screen and (max-width:767px) {
    header#header {
        padding-left: 10px;
        padding-right: 10px;
        height: 70px
    }
}

.icon-nav-toggle {
    width: 40px;
    height: 40px;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 6px 8px;
    font-size: 10px;
    text-align: center;
    position: fixed;
    z-index: 1110;
    top: 14px;
    right: 10px;
    color: #000;
    border-radius: 100px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media print, screen and (min-width:768px) {
    .icon-nav-toggle {
        display: none
    }
}

.icon-nav-toggle .icon-menubar {
    display: block;
    width: 24px;
    height: 26px;
    margin: auto;
    position: relative
}

.icon-nav-toggle .icon-menubar .bars {
    display: block;
    width: 100%;
    height: 4px;
    background-color: #7d7d7d;
    position: absolute;
    -webkit-transition: all .3s ease-in 0;
    transition: all .3s ease-in 0
}

.icon-nav-toggle .icon-menubar .bars.bar-1 {
    top: 3px
}

.icon-nav-toggle .icon-menubar .bars.bar-2 {
    top: 50%;
    margin-top: -2px
}

.icon-nav-toggle .icon-menubar .bars.bar-3 {
    bottom: 3px
}

.is-navopen .icon-nav-toggle {
    background-color: #7d7d7d
}

.is-navopen .icon-nav-toggle .bars {
    background-color: #fff
}

.is-navopen .icon-nav-toggle .bars.bar-1 {
    top: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.is-navopen .icon-nav-toggle .bars.bar-2 {
    top: 50%;
    margin-top: -2px;
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px)
}

.is-navopen .icon-nav-toggle .bars.bar-3 {
    bottom: 10px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.header-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:767px) {
    .header-logo {
        width: 150px;
        margin-top: 4px;
    }
}

.header-aside {
    margin-left: auto;
    display: flex;
    justify-content: end;
}

.header-aside .button__back {
    max-width: 30vw;
}

.header-aside .sns_area {
    max-width: 160px;
}

.header-aside .sns_area a:nth-child(2){
    margin: 0 4%;
}

.header-aside .sns_area img {
    width: 28%;
}

@media only screen and (max-width:767px) {
    .header-aside {
        padding-right: 40px;
    }
}

.header-side {
    position: fixed;
    right: -3px;
    top: 20px;
    z-index: 1010
}

@media only screen and (max-width:767px) {
    .header-side {
        display: none
    }
}

.header-side__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border: 3px solid #fff
}

.header-side__list li {
    display: inline-block
}

.header-side__list li:not(:last-child) {
    border-bottom: 3px solid #fff
}

.header-side__list li .svg-inline--fa {
    margin-bottom: 10px;
    font-size: 1.3em
}

.header-side__list li a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #313131;
    display: flex;
    padding: 10px;
    font-size: 16px;
    font-weight: 700;
    width: 50px;
    margin-bottom: 0
}

.header-side a {
    color: #fff;
    text-decoration: none
}

.header-side .nav-side__button--reserve {
    background-color: #595959
}

.header-side .nav-side__button--reserve:hover {
    opacity: 0.7;
}

.header-side .nav-side__button--purchase {
    background-color: #595959
}

.header-side .nav-side__button--purchase:hover {
    opacity: 0.7;
}

.header-side .nav-side__button--key {
    background-color: #595959
}

.header-side .nav-side__button--key:hover {
    opacity: 0.7;
}

.header-side .nav-side__button--news {
    background-color: #595959
}

.header-side .nav-side__button--news:hover {
    opacity: 0.7;
}

.header-mypage--point {
    background-color: #fff;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px 20px;
    border-radius: 100px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header-mypage--point dt {
    font-size: 14px
}

.header-mypage--point dd {
    font-size: 19px
}

.header-mypage--point dd .unit {
    font-size: 14px;
    display: inline-block;
    margin-left: 3px
}

.header-nav {
    background-color: #1b1b1b;
    color: #fff;
    padding-top: 8px;
    padding-bottom: 8px;
    position: fixed;
    top: 73px;
    left: 0;
    width: 100%;
    z-index: 1000
}

@media only screen and (max-width:767px) {
    .header-nav {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .header-nav {
        height: 52px
    }
}

.header-nav a {
    color: #fff;
    text-decoration: none
}

.header-nav .header-nav__list--primary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.header-nav .header-nav__list--primary>li {
    position: relative
}

.header-nav .header-nav__list--primary>li>.nav-item__toggle--md {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 5px 10px;
    margin-bottom: 4px;
    min-width: 120px;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-right: 1px solid #fff;
    position: relative
}

.header-nav .header-nav__list--primary>li:last-child>.nav-item__toggle--md {
    border-right: none;
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .header-nav {
        height: 45px;
    }
    .header-nav .header-nav__list--primary>li>.nav-item__toggle--md {
        font-size: 14px;
        min-width: 80px;
    }
    .header-nav .header-nav__list--secondary a {
        font-size: 14px;
        min-width: 90px !important;
    }
    .js-nav-item__click-toggle.nav-item__click-toggle>svg {
        width: 13px !important;
        padding-bottom: 6px;
    }
}

.header-nav .header-nav__list--primary>li>.nav-item__toggle--md:hover {
    opacity: .8
}

.header-nav .header-nav__list--primary>li>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 5px 10px;
    min-width: 150px
}

.header-nav .header-nav__list--secondary {
    display: none;
    text-align: left;
    background-color: #1b1b1b
}

.header-nav .header-nav__list--secondary li {
    border-bottom: 1px solid #4e4e4e;
    height: 43px;
}

.header-nav .header-nav__list--secondary a {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 8px 10px;
    min-width: 140px;
    font-size: 95%;
}

.nav-item__toggle {
    position: relative;
    cursor: pointer
}

.nav-item__toggle .nav-item__toggle--md {
    padding-right: 30px!important
}
.nav-item__toggle .js-nav-item__click-toggle.nav-item__click-toggle>svg {
    width: 15px;
}

.nav-item__click-toggle {
    height: 36px;
    width: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    right: 5px;
    top: 0;
    z-index: 10
}

.nav-drawer {
    position: fixed;
    z-index: 1100;
    right: -100%;
    top: 0;
    width: 200px;
    height: calc(100vh - 55px);
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media print, screen and (min-width:768px) {
    .nav-drawer {
        display: none
    }
}

.nav-drawer .nav-drawer--in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-left: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
}

.nav-drawer__list {
    padding-top: 70px;
    width: 100%;
    background-color: hsla(0, 0%, 100%, .95)
}

.nav-drawer__list li {
    padding-left: 10px;
    padding-right: 10px
}
.nav-drawer__list li:last-child {
    margin-bottom: 20px
}

.nav-drawer__list a {
    color: inherit;
    text-decoration: none;
    padding: 15px 10px;
    border-bottom: 1px solid #bfbfbf;
    display: block
}

.is-navopen .nav-drawer {
    right: 0
}

footer#footer {
    background-color: #1b1b1b;
    color: #fff;
    font-size: 14px
}

@media only screen and (max-width:767px) {
    footer#footer {
        padding-bottom: 55px
    }
}

@media only screen and (min-width:768px) {
    footer#footer {
        padding-top: 50px;
    }
}

footer#footer .footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
footer#footer .footer-container .rows {
    width: 70%;
    max-width: 1000px;
}

@media print, screen and (max-width:1250px) {
    footer#footer .footer-container .col-5 {
        width: 80%;
        float: none;
        margin-left: auto;
        margin-right: auto
    }
}

@media print, screen and (min-width:1260px) {
    footer#footer .footer-container .col-5 {
        width: 41.6666666667%
    }
}

@media print, screen and (max-width:1250px) {
    footer#footer .footer-container .col-7 {
        width: 100%
    }
}

@media print, screen and (min-width:1260px) {
    footer#footer .footer-container .col-7 {
        width: 58.3333333333%
    }
}

footer#footer .footer-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 35px
}

footer#footer .logo-footer {
    padding: 10px 10px 10px 0;
    margin-right: 20px
}

@media only screen and (max-width:767px) {
    footer#footer .logo-footer {
        padding-top: 18px
    }
}

footer#footer .footer-social__list {
    line-height: 1;
    font-size: 35px
}

footer#footer .footer-social__list li {
    display: inline-block;
    margin-right: 5px
}

footer#footer .footer-social__list a {
    color: #fff
}

footer#footer .footer-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
}

@media only screen and (min-width:768px) {
    footer#footer .footer-nav {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media only screen and (min-width:768px) {
    footer#footer .footer-nav__column {
        width: 36%
    }
}

footer#footer .footer-nav__column a {
    color: inherit;
    text-decoration: none
}

@media only screen and (min-width:768px) {
    footer#footer .footer-nav__column:first-child {
        width: 24%
    }
}

@media only screen and (min-width:768px) {
    footer#footer .footer-nav__column:nth-child(4) {
        width: 100%;
        margin-top: 50px;
    }
}

footer#footer .footer-nav__heading {
    padding-left: 12px;
    margin-bottom: 15px;
    font-size: 17px;
    font-weight: 700
}

footer#footer .footer-nav__list {
    color: #fff;
    padding-left: 26px;
    margin-top: -10px
}

footer#footer .footer-nav__list li {
    margin-top: 5px;
    margin-bottom: 5px
}

footer#footer .footer-nav__list a {
    color: #fff;
    text-decoration: none;
    margin-left: 5px
}

footer#footer .footer-subnav {
    background-color: #eee
}

@media only screen and (max-width:767px) {
    footer#footer .footer-subnav {
        background-color: grey;
        color: #e6e6e6
    }
}

@media only screen and (min-width:768px) {
    footer#footer .footer-subnav {
        margin-top: 80px
    }
}

footer#footer .footer-subnav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1;
    padding-top: 18px;
    padding-bottom: 18px
}

@media only screen and (max-width:767px) {
    footer#footer .footer-subnav__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-top: 15px;
        padding-bottom: 15px
    }
}

footer#footer .footer-subnav__list .svg-inline--fa {
    margin-right: 8px
}

@media only screen and (min-width:768px) {
    footer#footer .footer-subnav__list .svg-inline--fa {
        display: none
    }
}

@media only screen and (max-width:767px) {
    footer#footer .footer-subnav__list li {
        margin-top: 6px;
        margin-bottom: 6px
    }
}

@media only screen and (min-width:768px) {
    footer#footer .footer-subnav__list li:not(:last-child) {
        border-right: 1px solid #999;
        margin-right: 1em;
        padding-right: 1em
    }
}

footer#footer .footer-subnav__list a {
    color: #636363;
    text-decoration: none
}

@media only screen and (max-width:767px) {
    footer#footer .footer-subnav__list a {
        color: #e6e6e6
    }
}

footer#footer .footer-copyright {
    text-align: center;
    background-color: #595959;
    padding-top: 18px;
    padding-bottom: 18px;
    line-height: 1
}

@media only screen and (max-width:767px) {
    footer#footer .footer-copyright {
        display: none
    }
}

footer#footer .footer-copyright p {
    margin-bottom: 0
}

.footer-widget {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:768px) {
    .footer-widget__box {
        margin-left: 15px;
        margin-right: 15px;
        margin-top: 30px
    }
}

.footer-widget__box--twitter {
    height: 500px;
    overflow: auto
}

.footer-widget__box--facebook {
    width: 340px!important;
    min-width: 340px!important
}

.footer-widget iframe {
    width: 100%!important
}

.bottomnav {
    background-color: #333;
    position: fixed;
    z-index: 1000;
    bottom: 0;
    left: 0;
    width: 100%
}

@media only screen and (min-width:768px) {
    .bottomnav {
        display: none
    }
}

.bottomnav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 5px;
    padding-bottom: 5px
}

.bottomnav__list li {
    width: 100%
}

.bottomnav__list li:not(:first-child) {
    border-left: 1px solid #fff
}

.bottomnav a {
    color: #fff;
    height: 45px;
    width: 100%
}

.bottomnav .bottomnav-button__text {
    margin-left: 10px
}

@media only screen and (min-width:768px) {
    .anchor {
        margin-top: -125px!important;
        padding-top: 125px!important
    }
}

@media only screen and (max-width:767px) {
    .main-single {
        min-height: calc(100vh - 315px)
    }
}

.container {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto
}

.rows {
    *zoom: 1
}

.rows:after, .rows:before {
    content: "";
    display: table
}

.rows:after {
    clear: both
}

.col-1, .col-1-lg, .col-1-md, .col-1-sm, .col-2, .col-2-lg, .col-2-md, .col-2-sm, .col-3, .col-3-lg, .col-3-md, .col-3-sm, .col-4, .col-4-lg, .col-4-md, .col-4-sm, .col-5, .col-5-lg, .col-5-md, .col-5-sm, .col-6, .col-6-lg, .col-6-md, .col-6-sm, .col-7, .col-7-lg, .col-7-md, .col-7-sm, .col-8, .col-8-lg, .col-8-md, .col-8-sm, .col-9, .col-9-lg, .col-9-md, .col-9-sm, .col-10, .col-10-lg, .col-10-md, .col-10-sm, .col-11, .col-11-lg, .col-11-md, .col-11-sm, .col-12, .col-12-lg, .col-12-md, .col-12-sm, .cols {
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media print, screen and (min-width:768px) {
    .col-1, .col-1-lg, .col-1-md, .col-1-sm, .col-2, .col-2-lg, .col-2-md, .col-2-sm, .col-3, .col-3-lg, .col-3-md, .col-3-sm, .col-4, .col-4-lg, .col-4-md, .col-4-sm, .col-5, .col-5-lg, .col-5-md, .col-5-sm, .col-6, .col-6-lg, .col-6-md, .col-6-sm, .col-7, .col-7-lg, .col-7-md, .col-7-sm, .col-8, .col-8-lg, .col-8-md, .col-8-sm, .col-9, .col-9-lg, .col-9-md, .col-9-sm, .col-10, .col-10-lg, .col-10-md, .col-10-sm, .col-11, .col-11-lg, .col-11-md, .col-11-sm, .col-12, .col-12-lg, .col-12-md, .col-12-sm, .cols {
        padding-left: 20px;
        padding-right: 20px
    }
}

@media only screen and (max-width:767px) {
    .col-1, .col-1-lg, .col-1-md, .col-1-sm, .col-2, .col-2-lg, .col-2-md, .col-2-sm, .col-3, .col-3-lg, .col-3-md, .col-3-sm, .col-4, .col-4-lg, .col-4-md, .col-4-sm, .col-5, .col-5-lg, .col-5-md, .col-5-sm, .col-6, .col-6-lg, .col-6-md, .col-6-sm, .col-7, .col-7-lg, .col-7-md, .col-7-sm, .col-8, .col-8-lg, .col-8-md, .col-8-sm, .col-9, .col-9-lg, .col-9-md, .col-9-sm, .col-10, .col-10-lg, .col-10-md, .col-10-sm, .col-11, .col-11-lg, .col-11-md, .col-11-sm, .col-12, .col-12-lg, .col-12-md, .col-12-sm, .cols {
        padding-left: 10px;
        padding-right: 10px
    }
}

.col-1 {
    width: 8.3333333333%
}

.col-2 {
    width: 16.6666666667%
}

.col-3 {
    width: 25%
}

.col-4 {
    width: 33.3333333333%
}

.col-5 {
    width: 41.6666666667%
}

.col-6 {
    width: 50%
}

.col-7 {
    width: 58.3333333333%
}

.col-8 {
    width: 66.6666666667%
}

.col-9 {
    width: 75%
}

.col-10 {
    width: 83.3333333333%
}

.col-11 {
    width: 91.6666666667%
}

.col-12 {
    width: 100%
}

@media print, screen and (min-width:961px) {
    .col-1-lg {
        width: 8.3333333333%
    }
}

@media print, screen and (min-width:961px) {
    .col-2-lg {
        width: 16.6666666667%
    }
}

@media print, screen and (min-width:961px) {
    .col-3-lg {
        width: 25%
    }
}

@media print, screen and (min-width:961px) {
    .col-4-lg {
        width: 33.3333333333%
    }
}

@media print, screen and (min-width:961px) {
    .col-5-lg {
        width: 41.6666666667%
    }
}

@media print, screen and (min-width:961px) {
    .col-6-lg {
        width: 50%
    }
}

@media print, screen and (min-width:961px) {
    .col-7-lg {
        width: 58.3333333333%
    }
}

@media print, screen and (min-width:961px) {
    .col-8-lg {
        width: 66.6666666667%
    }
}

@media print, screen and (min-width:961px) {
    .col-9-lg {
        width: 75%
    }
}

@media print, screen and (min-width:961px) {
    .col-10-lg {
        width: 83.3333333333%
    }
}

@media print, screen and (min-width:961px) {
    .col-11-lg {
        width: 91.6666666667%
    }
}

@media print, screen and (min-width:961px) {
    .col-12-lg {
        width: 100%
    }
}

@media only screen and (max-width:767px) {
    .col-1-sm {
        width: 8.3333333333%
    }
}

@media only screen and (max-width:767px) {
    .col-2-sm {
        width: 16.6666666667%
    }
}

@media only screen and (max-width:767px) {
    .col-3-sm {
        width: 25%
    }
}

@media only screen and (max-width:767px) {
    .col-4-sm {
        width: 33.3333333333%
    }
}

@media only screen and (max-width:767px) {
    .col-5-sm {
        width: 41.6666666667%
    }
}

@media only screen and (max-width:767px) {
    .col-6-sm {
        width: 50%
    }
}

@media only screen and (max-width:767px) {
    .col-7-sm {
        width: 58.3333333333%
    }
}

@media only screen and (max-width:767px) {
    .col-8-sm {
        width: 66.6666666667%
    }
}

@media only screen and (max-width:767px) {
    .col-9-sm {
        width: 75%
    }
}

@media only screen and (max-width:767px) {
    .col-10-sm {
        width: 83.3333333333%
    }
}

@media only screen and (max-width:767px) {
    .col-11-sm {
        width: 91.6666666667%
    }
}

@media only screen and (max-width:767px) {
    .col-12-sm {
        width: 100%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-1-md {
        width: 8.3333333333%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-2-md {
        width: 16.6666666667%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-3-md {
        width: 25%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-4-md {
        width: 33.3333333333%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-5-md {
        width: 41.6666666667%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-6-md {
        width: 50%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-7-md {
        width: 58.3333333333%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-8-md {
        width: 66.6666666667%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-9-md {
        width: 75%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-10-md {
        width: 83.3333333333%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-11-md {
        width: 91.6666666667%
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .col-12-md {
        width: 100%
    }
}

.title {
    line-height: 1.25;
    margin-bottom: 10px;
    font-weight: 700
}

@media only screen and (max-width:767px) {
    .title {
        margin-bottom: 5px
    }
}

.title-medium {
    margin-bottom: 20px;
    font-size: 18px;
    color: #000
}

@media only screen and (min-width:768px) {
    .title-medium {
        line-height: 1.6;
        margin-bottom: 40px
    }
}

@media only screen and (max-width:767px) {
    .title-medium {
        font-size: 16px
    }
}

.title-bar-contact {
    color: #fff;
    background-color: #2979ff;
    font-size: 1.4em;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 20px;
    margin-top: 20px
}

@media print, screen and (min-width:768px) {
    .title-bar-contact {
        margin-top: 40px
    }
}

.title-primary {
    font-size: 26px;
    color: #111
}

@media only screen and (max-width:767px) {
    .title-primary {
        font-size: 18px
    }
}

.title-primary--green {
    color: #107523
}

.title-primary--blue {
    color: #2993f3
}

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

.title-primary--en {
    font-family: Oswald, sans-serif;
    font-weight: 500;
    font-size: 36px
}

.list {
    margin-top: 1.5em;
    margin-bottom: 1.5em
}

.list-inline-block li {
    display: inline-block;
    margin-right: .75em
}

.list-dotted {
    padding-left: 1em;
    margin-bottom: 1em;
    margin-top: 1em
}

.list-dotted li:before {
    margin-left: -1em;
    content: "・"
}

.table {
    margin-bottom: 1.5em;
    width: 100%
}

@media only screen and (max-width:767px) {
    .table {
        margin-bottom: .8em
    }
}

.table th {
    text-align: left
}

.table td, .table th {
    padding: 12px;
    vertical-align: top
}

.button {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    height: 40px;
    width: 200px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: inherit;
    text-decoration: none;
    color: inherit;
    outline: none;
    border: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.button:disabled {
    background-color: #aaa;
    border-color: #aaa;
    cursor: default
}

.button-submit {
    background-color: #ff8000;
    font-size: 16px;
    color: #e98c00
}

.button-submit:hover {
    background-color: #ff8d1a
}

.button-white {
    background-color: #fff;
    color: #3687d3;
    position: relative
}

@media only screen and (max-width:767px) {
    .button-white {
        border: 1px solid #7d7d7d;
        width: 150px;
        height: 30px
    }
}

.button-white .fa-angle-right {
    color: #b0b0b0;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -.5em
}

.button-white--round {
    border-radius: 100px
}

.button-search {
    color: #fff;
    background-color: #e98c00;
    border: none;
    border-radius: 100px;
    -webkit-box-shadow: 3px 3px 2px rgba(0, 0, 0, .1);
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .1);
    font-size: 16px
}

@media only screen and (max-width:767px) {
    .button-search {
        border-radius: 0
    }
}

.button-search__submit {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    position: relative;
    color: #fff;
    background-color: #cd5137;
    border-color: #cd5137;
    width: 280px;
    height: 50px;
    font-size: 18px
}

@media only screen and (max-width:767px) {
    .button-search__submit {
        font-size: 16px
    }
}

@media print, screen and (min-width:961px) {
    .button-search__submit {
        width: 410px;
        height: 60px;
        font-size: 20px
    }
}

.button-search__submit .fa-chevron-right {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -.5em
}

.button-search__secondary {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    position: relative;
    color: #cd5137;
    background-color: #fff;
    border: 3px solid #cd5137;
    width: 280px;
    height: 50px;
    font-size: 18px
}

@media only screen and (max-width:767px) {
    .button-search__secondary {
        font-size: 16px
    }
}

@media print, screen and (min-width:961px) {
    .button-search__secondary {
        width: 410px;
        height: 60px;
        font-size: 20px
    }
}

.button-search__secondary .fa-chevron-right {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -.5em
}

.submit-wrap__right {
    position: relative;
    display: inline-block
}

.submit-wrap__right:before {
    fill: #000;
    content: "";
    display: inline-block;
    height: 20px;
    width: 20px;
    background-repeat: no-repeat;
    background-image: url(img/common/angle-right.svg);
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -10px;
    z-index: 10
}

@media only screen and (max-width:767px) {
    .submit-wrap__right:before {
        right: 10px
    }
}

.button-account__submit {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    position: relative;
    color: #fff;
    background-color: #107523;
    border: 3px solid #107523;
    width: 280px;
    height: 50px;
    font-size: 18px
}

@media print, screen and (min-width:961px) {
    .button-account__submit {
        width: 410px;
        height: 60px;
        font-size: 20px
    }
}

.button-friend {
    color: #fff;
    background-color: #107523;
    border: none;
    -webkit-box-shadow: 3px 3px 2px rgba(0, 0, 0, .1);
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .1);
    font-size: 16px
}

@media only screen and (max-width:767px) {
    .button-friend {
        border-radius: 0
    }
}

.button-friend__submit {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    position: relative;
    color: #fff;
    background-color: #107523;
    border-color: #107523;
    width: 280px;
    height: 50px;
    font-size: 18px
}

@media print, screen and (min-width:961px) {
    .button-friend__submit {
        width: 410px;
        height: 60px;
        font-size: 20px
    }
}

.button-friend__submit .fa-chevron-right {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -.5em
}

.button-friend__primary {
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 280px;
    height: 40px
}

@media print, screen and (min-width:961px) {
    .button-friend__primary {
        width: 410px;
        height: 60px;
        font-size: 24px
    }
}

.button-friend__primary--rounded {
    border: 4px solid #107523;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #107523;
    background-color: transparent;
    border-radius: 100px
}

.button-friend__secondary {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    position: relative;
    color: #107523;
    background-color: #fff;
    border: 3px solid #107523;
    width: 280px;
    height: 50px;
    font-size: 18px
}

@media print, screen and (min-width:961px) {
    .button-friend__secondary {
        width: 410px;
        height: 60px;
        font-size: 20px
    }
}

.button-friend__secondary .fa-chevron-right {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -.5em
}

hr {
    border: none;
    border-bottom: 1px solid #ccc
}

.card {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.card-pagelink {
    border: 1px solid #dcdcdc;
    margin-bottom: 20px;
    display: block;
    color: inherit;
    text-decoration: none
}

@media only screen and (min-width:768px) {
    .card-pagelink {
        margin-bottom: 20px
    }
}

.card-pagelink__photo img {
    width: 100%
}

.card-pagelink__caption {
    padding: 8px 10px 7px;
    position: relative;
    line-height: 1.4
}

@media only screen and (max-width:767px) {
    .card-pagelink__caption {
        font-size: 14px;
        padding-right: 30px
    }
}

@media only screen and (min-width:768px) {
    .card-pagelink__caption {
        font-size: 15px;
        padding: 8px 25px 8px 15px
    }
}

.card-pagelink__caption:before {
    background: url(img/common/right_arrow.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -10px;
    transition: transform 0.3s ease;
}
.card.card-pagelink:hover .card-pagelink__caption:before {
    transform: translateX(7px);
}

@media only screen and (max-width:767px) {
    .card-pagelink__caption:before {
        margin-top: -5%;
        width: 4vw;
        height: 4vw;
        right: 2.5vw;
    }
}

.card-pagelink--black {
    background-color: #000;
    color: #fff;
    border: none;
    border-radius: 4px
}

@media only screen and (max-width:767px) {
    .card-pagelink--black .card-pagelink__caption {
        font-size: 12px
    }
}

@media only screen and (min-width:768px) {
    .card-pagelink--black .card-pagelink__caption {
        padding-top: 15px;
        padding-bottom: 15px
    }
}

.card-pagelink--black .card-pagelink__caption:before {
    background: url(img/common/right_arrow_white.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 22px;
    height: 22px;
    right: 20px;
    margin-top: -10px;
}

@media only screen and (max-width:767px) {
    .card-pagelink--black .card-pagelink__caption:before {
        margin-top: -5%;
        width: 4vw;
        height: 4vw;
        right: 2.5vw;
    }
}

input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=time], input[type=url], select, textarea {
    border: 2px solid #ccc;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 8px;
    font-family: inherit;
    font-size: 16px;
    border-radius: 5px
}

input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, select:focus, textarea:focus {
    -webkit-box-shadow: 0 0 3px rgba(115, 185, 255, .8);
    box-shadow: 0 0 3px rgba(115, 185, 255, .8)
}

input[type=email]::-ms-clear, input[type=number]::-ms-clear, input[type=password]::-ms-clear, input[type=tel]::-ms-clear, input[type=text]::-ms-clear, input[type=time]::-ms-clear, input[type=url]::-ms-clear, select::-ms-clear, textarea::-ms-clear {
    display: none
}

input:-ms-input-placeholder {
    color: #999
}

input::-ms-input-placeholder {
    color: #999
}

input:-ms-input-placeholder, input::-ms-input-placeholder, input::placeholder {
    color: #999
}

textarea {
    height: 12em
}

.input-full {
    width: 100%
}

.input-short {
    width: 5em
}

@media only screen and (min-width:768px) {
    .input-name {
        width: 14em
    }
}

.select-wrap {
    display: inline-block;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid #ccc;
    width: 100%
}

.select-wrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    border: none;
    background-image: url(img/common/select_arrow.svg);
    background-repeat: no-repeat;
    background-position: 100%;
    padding-right: 32px
}

.select-wrap select::-ms-expand {
    display: none
}

.form-table {
    width: 100%
}

@media print, screen and (min-width:768px) {
    .form-table tr {
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd
    }
}

.form-table td, .form-table th {
    padding: 12px;
    vertical-align: top
}

@media only screen and (max-width:767px) {
    .form-table td, .form-table th {
        display: block
    }
}

.form-table th {
    text-align: left
}

@media print, screen and (min-width:768px) {
    .form-table th {
        padding-top: 22px;
        width: 17em;
        background-color: #efefef
    }
}

@media only screen and (max-width:767px) {
    .form-table th {
        background-color: #efefef
    }
}

@media only screen and (max-width:767px) {
    .form-table td {
        padding-left: 0;
        padding-right: 0
    }
}

.form-footer {
    margin-top: 1.5em;
    text-align: center
}

@media only screen and (max-width:767px) {
    .form-footer {
        margin-top: 1em;
        margin-bottom: 1em
    }
}

.slick-default .slick-arrow {
    z-index: 100;
    background-color: #eee;
    width: 40px;
    height: 40px
}

.slick-default .slick-arrow:before {
    content: ""
}

.slick-default .slick-arrow:hover {
    opacity: .9
}

.slick-default .slick-arrow.slick-prev {
    left: 0
}

.slick-default .slick-arrow.slick-next {
    right: 0
}

.slick-default .slick-dots li {
    width: auto;
    height: auto
}

.slick-default .slick-dots li button {
    background-color: #ccc;
    border-radius: 100%;
    width: 8px;
    height: 8px
}

.slick-default .slick-dots li button:before {
    content: none
}

.slick-default .slick-dots .slick-active button {
    background-color: #666
}

.login {
    position: fixed;
    z-index: 2000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: none
}

.login, .login__layer {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.login__layer {
    position: absolute;
    background-color: rgba(0, 0, 0, .6);
    z-index: 1010
}

.login__wrap {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2010;
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width:767px) {
    .login__wrap {
        top: 100px;
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    .login__wrap {
        left: 50%;
        top: 50%;
        margin-top: -206px;
        margin-left: -190px
    }
}

.login__panel {
    background-color: #fff;
    border-radius: 4px;
    padding: 20px 40px;
    width: 100%;
    position: relative;
    z-index: 3000
}

@media only screen and (min-width:768px) {
    .login__panel {
        padding: 20px 60px 40px;
        width: 380px;
        font-size: 14px
    }
}

.login__title {
    text-align: center;
    margin-bottom: 15px;
    font-size: 1.35em
}

.login__list li {
    margin-top: 10px;
    margin-bottom: 10px
}

.login__forgot {
    text-align: right;
    margin-top: -5px
}

.login__forgot a {
    text-decoration: none;
    color: inherit
}

.login__keep {
    margin-top: 8px
}

.login__input {
    background-color: #f2f2f2;
    width: 100%;
    border-color: #f2f2f2!important
}

.login__input::-webkit-input-placeholder {
    color: #107523
}

.login__input::-moz-placeholder {
    color: #107523
}

.login__input:-ms-input-placeholder {
    color: #107523
}

.login__input::-ms-input-placeholder {
    color: #107523
}

.login__input::placeholder {
    color: #107523
}

.login-button {
    width: 100%;
    border-radius: 4px;
    font-size: 18px;
    height: 50px;
    -webkit-box-shadow: 5px 5px rgba(0, 0, 0, .1);
    box-shadow: 5px 5px rgba(0, 0, 0, .1)
}

.login-button--primary {
    color: #fff;
    background-color: #107523
}

.login-button--secondary {
    color: #fff;
    background-color: #36d6ab
}

.is-modal-active {
    overflow: hidden;
    width: 100%;
    height: 100vh
}

.dm-layer {
    background-color: rgba(0, 0, 0, .8);
    position: fixed;
    z-index: 1010;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.dm-close {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 1020;
    background-image: url(img/mypage/dm_close.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    display: inline-block
}

@media only screen and (min-width:768px) {
    .dm-close {
        right: -60px;
        top: 0
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .dm-close {
        right: 10px
    }
}

@media only screen and (max-width:767px) {
    .dm-close {
        width: 40px;
        height: 40px;
        top: 3px;
        border-radius: 100%
    }
}

.dm-panel {
    background-color: #fff;
    border-radius: 4px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    position: relative
}

@media only screen and (min-width:768px) {
    .dm-panel {
        height: calc(100vh - 200px)
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .dm-panel {
        margin-left: 20px;
        margin-right: 20px
    }
}

@media only screen and (max-width:767px) {
    .dm-panel {
        height: calc(100vh - 115px)
    }
}

.dm-panel__wrap {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1020;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width:767px) {
    .dm-panel__wrap {
        padding: 50px 15px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.dm-panel__header {
    background-color: #107523;
    color: #fff;
    text-align: center;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 4px 4px 0 0
}

@media only screen and (min-width:768px) {
    .dm-panel__header {
        height: 53px
    }
}

@media only screen and (max-width:767px) {
    .dm-panel__header {
        height: 46px
    }
}

.dm-panel__title {
    font-size: 16px;
    font-weight: 700
}

@media only screen and (min-width:768px) {
    .dm-panel__title {
        font-size: 20px
    }
}

.dm-panel__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
}

@media only screen and (max-width:767px) {
    .dm-panel__main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        height: calc(100vh - 160px)
    }
}

.dm-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative
}

@media only screen and (min-width:768px) {
    .dm-content {
        width: calc(100% - 300px)
    }
}

.dm-messages {
    padding-top: 20px;
    overflow: auto;
    height: calc(100vh - 380px);
    margin-bottom: 60px
}

@media only screen and (min-width:768px) {
    .dm-messages {
        height: calc(100vh - 313px)
    }
}

.dm-message {
    padding: 10px
}

@media only screen and (min-width:768px) {
    .dm-message {
        padding: 20px
    }
}

.dm-message__block {
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 330px
}

@media only screen and (min-width:768px) {
    .dm-message__block {
        padding-left: 20px;
        padding-right: 20px
    }
}

.dm-message__photo {
    margin-right: 20px;
    margin-top: 10px
}

@media only screen and (max-width:767px) {
    .dm-message__photo {
        margin-right: 10px
    }
}

.dm-message__photo img {
    border-radius: 100%;
    width: 50px;
    max-width: none
}

.dm-message__reply {
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

@media only screen and (min-width:768px) {
    .dm-message__reply {
        padding-left: 20px;
        padding-right: 20px
    }
}

.dm-message__status {
    font-size: 12px;
    margin-right: 10px;
    text-align: right;
    padding-top: 10px
}

.dm-message__date {
    text-align: center
}

.dm-side {
    padding: 10px 25px;
    background-color: #fff
}

@media only screen and (max-width:767px) {
    .dm-side {
        height: 154px
    }
}

@media only screen and (min-width:768px) {
    .dm-side {
        width: 300px;
        border-left: 1px solid #e5e5e5
    }
}

.dm-balloon {
    font-size: 13px;
    padding: 6px 15px;
    border-radius: 15px;
    background-color: #e5e5e5;
    display: inline-block
}

@media only screen and (min-width:768px) {
    .dm-balloon {
        font-size: 16px;
        padding: 13px 20px
    }
}

.dm-balloon p:last-child {
    margin-bottom: 0
}

@media only screen and (min-width:768px) {
    .dm-balloon--message {
        min-width: 310px
    }
}

.dm-balloon--date {
    color: #fff;
    background-color: #2258ba;
    border-radius: 100px;
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 12px;
    min-width: 90px
}

@media only screen and (min-width:768px) {
    .dm-balloon--date {
        padding-top: 6px;
        padding-bottom: 6px
    }
}

.dm-balloon--reply {
    background-color: #fff9b1
}

@media only screen and (min-width:768px) {
    .dm-balloon--reply {
        width: 310px
    }
}

@media only screen and (max-width:767px) {
    .dm-side {
        position: absolute;
        top: 0
    }
}

@media only screen and (max-width:767px) {
    .dm-profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 10px
    }
}

.dm-profile__photo {
    padding: 10px
}

@media only screen and (min-width:768px) {
    .dm-profile__photo {
        text-align: center
    }
}

@media only screen and (max-width:767px) {
    .dm-profile__photo {
        padding: 0 10px 0 0
    }
}

.dm-profile__photo img {
    border-radius: 100%;
    max-width: none
}

@media only screen and (max-width:767px) {
    .dm-profile__photo img {
        width: 80px
    }
}

@media only screen and (min-width:768px) {
    .dm-profile__meta {
        text-align: center
    }
}

.dm-user {
    font-size: 1.2em;
    font-weight: 700;
    color: #000
}

@media only screen and (max-width:767px) {
    .dm-online {
        margin-bottom: 0
    }
}

.dm-search {
    text-align: center
}

.dm-online {
    font-size: .86em
}

.dm-input-search[type=text] {
    border: 1px solid #ccc;
    background-image: url(img/mypage/dm_roupe.png);
    background-repeat: no-repeat;
    background-position: 10px;
    line-height: 25px;
    padding-left: 40px;
    width: 100%
}

.dm-send {
    border-top: 1px solid #ccc;
    margin-top: auto;
    padding: 10px;
    background-color: #f5f5f5;
    height: 60px;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 20;
    border-radius: 0 0 0 4px
}

@media only screen and (min-width:768px) {
    .dm-send {
        padding: 10px 15px
    }
}

.dm-send__dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.dm-send__dl dt {
    width: calc(100% - 70px);
    padding-right: 10px
}

.dm-send__dl dd {
    width: 80px
}

.dm-send__input {
    width: 100%;
    border: 1px solid #ccc!important;
    padding-top: 6px!important;
    padding-bottom: 6px!important
}

.dm-send__button {
    width: 100%;
    background-color: #535353;
    color: #fff;
    height: 35px
}

.modal {
    position: fixed;
    z-index: 2000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: none
}

.modal, .modal__layer {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.modal__layer {
    position: absolute;
    background-color: rgba(0, 0, 0, .6);
    z-index: 1010
}

.modal__wrap {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2010;
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width:767px) {
    .modal__wrap {
        top: 100px;
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    .modal__wrap {
        left: 50%;
        top: 50%;
        margin-top: -206px;
        margin-left: -190px
    }
}

.modal__panel {
    background-color: #fff;
    border-radius: 4px;
    padding: 0;
    width: 100%;
    position: relative;
    z-index: 3000
}

@media only screen and (min-width:768px) {
    .modal__panel {
        padding: 0;
        width: 380px;
        font-size: 14px
    }
}

.modal__title__holder {
    background-color: #107523;
    padding: 5px 10px
}

.modal__content {
    text-align: center;
    padding: 20px 40px
}

.modal__title {
    color: #fff;
    text-align: center;
    font-size: 1.35em
}

.home-section__title {
    color: #107523;
    font-family: Oswald, sans-serif;
    text-align: center;
    font-size: 36px;
    font-weight: 500;
    margin-bottom: 40px
}

@media only screen and (max-width:767px) {
    .home-section__title {
        font-size: 22px;
        margin-bottom: 20px
    }
}

@media only screen and (max-width:767px) {
    .home-card--sm {
        background-color: #fff;
        -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
        box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
        padding: 10px
    }
}

.home__accordion {
    background-color: #107523;
    color: #fff;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 20px;
    position: relative;
    margin: 0 3% 0;
}
.home__accordion.is-active {
    margin-bottom: 4%;
}

@media only screen and (min-width:768px) {
    .home__accordion {
        display: none
    }
}

.home__accordion:before {
    background: url(img/home/icon_plus.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -15px
}

@media only screen and (max-width:767px) {
    .home__accordion+* {
        display: none
    }
}

.home__accordion.is-active:before {
    background: url(img/home/icon_minus.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 30px;
    height: 30px
}

.home__accordion__title {
    font-size: 28px;
    margin-bottom: 0;
    text-align: left;
    font-family: Oswald, sans-serif
}

.home__accordion span {
    text-align: left;
    font-size: 12px;
    font-weight: 500
}

.button-home--howto {
    background-color: #107523;
    color: #fff;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 20px;
    text-decoration: none;
    margin-bottom: 20px;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.button-home--howto .fa-chevron-right {
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -.5em
}

.button-home--howto span {
    font-size: 12px
}

.home-hero {
    background-color: #000;
    position: relative
}

.home-hero__list li img {
    width: 100%
}

.home-hero__list--thumb {
    padding: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    bottom: 0;
    left: 0
}

.home-hero__list--thumb li {
    border: 1px solid #666;
    width: 220px;
    margin-left: 10px;
    margin-right: 10px;
    cursor: pointer
}

@media only screen and (max-width:767px) {
    .home-news {
        margin-bottom: 20px
    }
}

.home-news__container {
    max-width: 1200px;
    padding: 0 5%;
}

.home-news__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #ddd;
    margin-bottom: 10px;
}

@media only screen and (max-width:767px) {
    .home-news__list {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }
}

.home-news__list dt {
    padding: 5px 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-width: 100px;
}

@media only screen and (min-width:768px) {
    .home-news__list dt {
        padding: 20px;
    }
}

.home-news__list dd {
    padding: 5px 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    text-align: left;
}

.home-news__list dd a {
    text-decoration: underline;
    color: #383838;
}

@media only screen and (min-width:768px) {
    .home-news__list dd {
        padding: 20px
    }
}

.home-news__list a {
    color: inherit;
    text-decoration: none
}

.home-news__footer {
    margin-top: 50px
}

@media only screen and (min-width:768px) {
    .home-news__footer {
        text-align: right
    }
}

@media only screen and (max-width:767px) {
    .home-news__footer {
        margin-top: 20px
    }
}

.button-news {
    border-radius: 100px;
    color: #fff;
    background-color: #707070;
    height: 40px;
    width: 150px
}

.home-about {
    background-repeat: no-repeat;
    /* background-image: url(img/home/about_bg.jpg); */
    background-size: 100%;
    background-position: top
}

@media only screen and (max-width:767px) {
    .home-about {
        margin-top: 0;
        padding-bottom: 10px;
        background-size: 400px
    }
}

.home-about__accordion--sm {
    margin-left: 10px;
    margin-right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    position: relative
}

.home-about__accordion--sm:before {
    background: url(img/home/icon_down.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 29px;
    height: 12px;
    position: absolute;
    right: -5px;
    top: 50px;
    background-position: 50%
}

@media only screen and (min-width:768px) {
    .home-about__accordion--sm {
        display: none
    }
}

.home-about__accordion--sm.is-active:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.home-about__container {
    padding-top: 60px;
    background-color: #fff;
    max-width: 1100px
}

@media only screen and (max-width:767px) {
    .home-about__container {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .home-about__container--secondary {
        max-width: 1360px
    }
}

.home-about__logo {
    text-align: center
}

@media only screen and (max-width:767px) {
    .home-about__logo {
        max-width: 260px;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width:768px) {
    .home-about__logo {
        margin-top: 60px;
        margin-bottom: 60px
    }
}

.home-about__photo {
    text-align: center;
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .home-about__photo {
        margin: 20px -20px
    }
}

@media only screen and (min-width:768px) {
    .home-about__content .title {
        margin-bottom: 40px
    }
}

.home-about__title--primary {
    position: relative;
    font-size: 1.2em;
    border-left: 5px solid #8ebfeb;
    padding: 6px 10px;
    margin-bottom: 20px
}

.home-about__title--primary:before {
    content: "";
    position: absolute;
    top: 0;
    left: -5px;
    height: 5px;
    width: 5px;
    background-color: #2993f3
}

.home-about__title--secondary {
    font-size: 1.2em;
    text-align: center;
    color: #2993f3;
    margin-left: -20px;
    margin-right: -20px;
    padding-top: 15px;
    padding-bottom: 15px;
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
    margin-bottom: 20px
}

.home-about__text {
    text-align: center;
    margin-bottom: 60px
}

@media only screen and (max-width:767px) {
    .home-about__text {
        margin-bottom: 40px
    }
}

@media only screen and (max-width:767px) {
    .home-about-card--sm {
        margin-left: 10px;
        margin-right: 10px
    }
}

.home-community__secondary--wrap {
    color: #fff;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding: 100px;
    line-height: 2.5;
    background-color: rgba(16, 117, 35, .9);
    -webkit-transform: skew(-20deg);
    transform: skew(-20deg)
}

.home-community__secondary--block {
    -webkit-transform: skew(20deg);
    transform: skew(20deg)
}

.home-community__footer {
    text-align: center
}

.home-community-title__main {
    font-size: 52px;
    line-height: 1.2;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
    margin-bottom: 0
}

.home-community-title__sub {
    display: block;
    font-size: 36px;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
    margin-bottom: 20px
}

.home-what {
    background-color: #e2e2e2;
    padding-bottom: 40px
}

.home-what__header {
    font-size: 30px;
    color: #fff;
    background-color: #000;
    padding-top: 15px;
    padding-bottom: 15px;
    text-align: center;
    position: relative;
    margin-bottom: 60px
}

@media only screen and (max-width:767px) {
    .home-what__header {
        margin-bottom: 40px;
        font-size: 20px;
        margin-left: -10px;
        margin-right: -10px
    }
}

.home-what__header:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -59px;
    margin-left: -30px;
    border: 30px solid transparent;
    border-top-color: #000
}

@media only screen and (max-width:767px) {
    .home-what__header:before {
        border-width: 20px;
        bottom: -39px;
        margin-left: -20px
    }
}

.home-what__footer {
    text-align: center;
    padding-top: 40px
}

.home-what-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.home-what-card {
    background-color: #fff
}

@media only screen and (max-width:767px) {
    .home-what-card {
        margin-left: -10px;
        margin-right: -10px
    }
}

@media only screen and (min-width:768px) {
    .home-what-card {
        width: calc(50% - 40px);
        margin-left: 20px;
        margin-right: 20px
    }
}

@media only screen and (min-width:768px) {
    .home-what-card__icon {
        width: 110px
    }
}

.home-what-card .title {
    margin-bottom: 0
}

@media only screen and (max-width:767px) {
    .home-what-card .title {
        margin-bottom: 0!important;
        font-size: 20px
    }
}

.home-what-card p {
    margin-bottom: 0
}

.home-what-card__icon {
    position: absolute;
    left: 30px;
    bottom: -20px
}

@media only screen and (max-width:767px) {
    .home-what-card__icon {
        display: inline-block;
        width: 90px;
        left: 10px;
        bottom: -15px
    }
}

.home-what-card__header {
    background-color: #107523;
    position: relative;
    padding: 30px
}

@media only screen and (min-width:768px) {
    .home-what-card__header {
        padding-left: 180px
    }
}

@media only screen and (max-width:767px) {
    .home-what-card__header {
        padding: 20px 20px 20px 110px
    }
}

.home-what-card__content {
    padding: 30px
}

@media only screen and (max-width:767px) {
    .home-what-card__content {
        padding: 30px
    }
}

.button-home-section {
    background-color: #fff;
    border: 2px solid #107523;
    border-radius: 100px;
    width: 280px;
    height: 50px
}

.home-payments {
    background-image: url(img/home/payments_bg.jpg);
    padding-bottom: 50px;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 80px
}

@media only screen and (max-width:767px) {
    .home-payments {
        margin-bottom: 20px
    }
}

.home-payments__header {
    text-align: center;
    color: #fff;
    background-color: #000;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 50px
}

.home-payments__header--title {
    font-size: 36px;
    font-family: Oswald, sans-serif
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .home-payments__aside {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: -10px;
        margin-right: -10px
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .home-payments__aside .home-payments-card {
        margin-left: 10px;
        margin-right: 10px;
        width: 100%
    }
}

.home-payments-card {
    background-color: #fff;
    margin-bottom: 20px
}

.home-payments-card__header {
    background-color: #000;
    color: #fff;
    text-align: center;
    font-size: 24px;
    padding-top: 10px;
    padding-bottom: 10px
}

.home-payments-card__main {
    padding: 20px
}

.home-payments-card__main small {
    font-size: .8em
}

@media print, screen and (min-width:961px) {
    .home-payments-card__main--primary {
        padding: 30px 40px
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .home-payments-card__main--primary {
        padding: 20px
    }
}

.home-payments-card__list {
    margin-top: -20px;
    text-align: center
}

.home-payments-card__footer {
    text-align: center;
    padding-bottom: 40px
}

.home-payments__fee {
    line-height: 1.5;
    margin-bottom: -5px;
    position: relative;
    margin-left: 70px
}

.home-payments__fee:before {
    background: url(img/home/payments_badge.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 125px;
    height: 125px;
    position: absolute;
    left: -130px;
    top: 0
}

.home-payments__fee dd {
    color: #107523;
    font-size: 26px;
    margin-bottom: 10px;
    margin-left: -2px
}

.home-payments__fee--caption {
    padding-left: 70px;
    font-size: .8em;
    line-height: 1.6
}

.home-payments__table {
    width: 100%
}

.home-payments__table td, .home-payments__table th {
    border: 1px solid #8f8f8f;
    padding: 10px;
    text-align: left
}

.button-home-section--inverse {
    background-color: #107523;
    color: #fff;
    border: 2px solid #107523;
    border-radius: 100px;
    width: 340px;
    height: 50px
}

.home-location__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:767px) {
    .home-location__main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media only screen and (min-width:768px) {
    .home-location__block {
        height: 500px
    }
}

@media only screen and (max-width:767px) {
    .home-location__block {
        margin-left: 10px;
        margin-right: 10px
    }
}

.home-location__block--gyms {
    width: 35%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width:767px) {
    .home-location__block--gyms {
        width: 100%
    }
}

.home-location__block--gyms a {
    color: #fff;
    text-decoration: none;
    background-image: url(img/home/gyms_photo.jpg);
    display: block;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
    font-size: 60px
}

.home-location__block--gyms a span {
    display: block;
    background-color: rgba(0, 0, 0, .7);
    text-align: center;
    font-family: Oswald, sans-serif;
    padding-top: 25px;
    padding-bottom: 25px
}

.home-location__block--map {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 65%
}

@media only screen and (max-width:767px) {
    .home-location__block--map {
        display: block;
        width: calc(100% - 20px);
        -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
        box-shadow: 2px 2px 4px rgba(0, 0, 0, .1)
    }
}

@media only screen and (max-width:767px) {
    .home-location__block--map iframe {
        height: 450px
    }
}

.home-location__footer {
    text-align: center;
    padding-top: 40px
}

@media only screen and (max-width:767px) {
    .home-location__footer {
        text-align: right;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px
    }
    .home-location__footer a {
        color: inherit;
        text-decoration: none
    }
    .home-location__footer .fa-chevron-right {
        margin-left: 10px
    }
}

.home-accordion-gym {
    background-image: url(img/home/gyms_photo.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
    height: 180px;
    color: #fff;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 10px;
    margin-left: 10px;
    margin-right: 10px
}

.home-accordion-gym:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5)
}

.home-accordion-gym:before {
    background: url(img/home/icon_minus.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 30px;
    height: 30px;
    position: absolute;
    z-index: 10;
    right: 15px;
    top: 50%;
    margin-top: -15px
}

.home-accordion-gym.is-active:before {
    background: url(img/home/icon_plus.png) 0 0 no-repeat;
    content: "";
    display: inline-block;
    background-size: contain;
    width: 30px;
    height: 30px
}

.home-accordion-gym span {
    font-family: Oswald, sans-serif;
    position: relative;
    font-weight: 700;
    z-index: 10;
    font-size: 30px
}

@media only screen and (min-width:768px) {
    .home-blog {
        padding-top: 40px;
        margin-bottom: 60px;
        padding-bottom: 40px;
        background-image: url(img/home/blog_bg.png)
    }
}

@media only screen and (max-width:767px) {
    .home-blog {
        margin-bottom: 20px
    }
}

.home-blog .slick-arrow {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50%;
    width: 35px;
    height: 35px;
    z-index: 40
}

.home-blog .slick-arrow, .home-blog .slick-arrow:before {
    color: transparent!important
}

.home-blog .slick-arrow.slick-prev {
    background-image: url(img/home/blog_left.png)
}

@media only screen and (max-width:767px) {
    .home-blog .slick-arrow.slick-prev {
        left: -10px
    }
}

.home-blog .slick-arrow.slick-next {
    background-image: url(img/home/blog_right.png)
}

@media only screen and (max-width:767px) {
    .home-blog .slick-arrow.slick-next {
        right: -10px
    }
}

.home-blog-card {
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, .1);
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .1);
    background-color: #fff;
    border-radius: 4px;
    margin-left: 20px;
    margin-right: 20px
}

@media only screen and (max-width:767px) {
    .home-blog-card {
        width: 300px!important
    }
}

@media only screen and (min-width:768px) {
    .home-blog-card {
        width: 350px!important
    }
}

@media only screen and (min-width:768px) {
    .home-blog-card p {
        font-size: 16px
    }
}

.home-blog-card__photo img {
    width: 100%
}

.home-blog-card__content {
    padding: 20px
}

@media only screen and (max-width:767px) {
    .home-blog-card__content {
        padding: 10px
    }
}

.home-blog__meta {
    font-size: 14px
}

.home-blog__title {
    color: #111;
    font-size: 18px
}

.home-gallery {
    margin-bottom: 40px
}

.home-gallery__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.home-gallery__list li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
    width: 25%
}

.home-gallery__list li img {
    width: 100%
}

.home-gallery__footer {
    padding-top: 40px;
    text-align: center
}

.home-spcommunity {
    margin-bottom: 20px
}

.home-spcommunity__top {
    margin: -10px -10px 20px
}

.home-spcommunity__title-top {
    margin-bottom: 15px
}

.home-spcommunity .tac-sp {
    text-align: center
}

.home-spcommunity__panel {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
    color: #fff;
    padding: 20px;
    margin-bottom: 30px;
    margin-left: -10px;
    margin-right: -10px
}

.home-spcommunity__panel p {
    margin-bottom: 0
}

.home-spcommunity__panel--primary {
    background-image: url(img/home/community_photo2_sp.jpg);
    padding-right: 130px
}

.home-spcommunity__panel--secondary {
    background-image: url(img/home/community_photo3_sp.jpg);
    padding-left: 160px
}

.home-spcommunity--outro {
    font-size: 12px;
    text-align: center
}

.pagetitle {
    /*background-image: url(img/page/page_bg.jpg);
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;*/
    background-color: #595959;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    height: 130px;
    font-family: Oswald, sans-serif;
}

.page-main-title {
    font-size: 40px;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 0;
}
.page-main-title:before, .page-main-title:after {
    content: '-';
}
.page-main-title:before {
    margin-right: 15px;
}
.page-main-title:after {
    margin-left: 15px;
}

.page-sub-title {
    font-size: 22px;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 0;
}

@media only screen and (max-width:767px) {
    .pagetitle {
        height: auto;
        padding: 3vw;
    }
    .page-main-title {
        font-size: 5.5vw;
        margin-top: 0;
    }
    .page-sub-title {
        font-size: 4vw;
        margin-top: 5px;
        margin-bottom: 0;
    }
}

.area-main {
    /*background-image: url(img/page/bg.jpg);
    background-repeat: repeat*/
    background-color: #e9e9e9;
}

@media only screen and (max-width:960px) {
    .area-main {
        padding: 10px
    }
}

.main-single {
    background-color: #fff;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:768px) {
    .main-single {
        padding: 40px 20px 80px
    }
}

@media print, screen and (min-width:961px) {
    .main-single {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .main-single {
        padding-top: 40px
    }
}

@media only screen and (max-width:767px) {
    .main-single {
        padding: 20px 10px 40px
    }
}

.pagetitle-subarea {
    margin-top: 30px;
    margin-bottom: 60px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .pagetitle-subarea {
        margin-bottom: 30px
    }
}

.search-area {
    padding: 20px;
    color: #666;
    margin-bottom: 40px
}

@media only screen and (max-width:767px) {
    .search-area {
        padding: 10px;
        margin-bottom: 30px
    }
}

@media only screen and (min-width:768px) {
    .search-area {
        background-color: #f7f7f5;
        border-top: 5px solid #2993f3;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-left: 40px;
        padding-right: 40px;
        margin-bottom: 60px
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-area {
        margin-bottom: 30px;
        padding-left: 20px;
        padding-right: 20px
    }
    .search-area>* {
        width: 50%
    }
}

@media print, screen and (min-width:961px) {
    .search-block {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%
    }
}

@media only screen and (max-width:960px) {
    .search-block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 15px
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-block--time {
        width: 7em;
        margin-right: 1em
    }
}

.search-block__ctrls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.search-block__ctrls .search-block__ctrl {
    margin-left: 5px;
    margin-right: 5px
}

.search-block__ctrl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-block__ctrl {
        width: 10.5em;
        margin-right: 10px
    }
}

.search-block__ctrl input[type=time] {
    border: 1px solid #ccc
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-block__ctrl--time {
        width: 7em
    }
}

.search-block__subctrl {
    display: inline-block;
    margin-left: 10px;
    color: #999;
    font-size: 20px;
    cursor: pointer
}

.search-block__buttonarea {
    -ms-flex-item-align: end;
    align-self: flex-end
}

@media only screen and (max-width:767px) {
    .search-block__buttonarea {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-block__buttonarea {
        width: 200px
    }
}

@media only screen and (max-width:767px) {
    .search-block .select-wrap {
        width: 12.5em
    }
}

.search-block input, .search-block select {
    line-height: 22px;
    border: none;
    width: 100%
}

.search-title {
    margin-bottom: 5px;
    white-space: nowrap
}

@media only screen and (max-width:767px) {
    .search-title {
        width: 4em
    }
}

@media only screen and (min-width:768px) {
    .search-title {
        font-size: 15px;
        margin-right: 10px
    }
}

.search-main__wrap {
    *zoom: 1
}

.search-main__wrap:after, .search-main__wrap:before {
    content: "";
    display: table
}

.search-main__wrap:after {
    clear: both
}

@media only screen and (min-width:768px) {
    .search-info {
        width: 250px;
        float: left
    }
}

@media only screen and (max-width:767px) {
    .search-info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 40px
    }
}

@media only screen and (min-width:768px) {
    .search-info__photo {
        margin-bottom: 15px;
        margin-top: 20px
    }
}

@media only screen and (max-width:767px) {
    .search-info__photo {
        width: 90px;
        height: 90px
    }
}

@media only screen and (max-width:767px) {
    .search-info__photo img {
        width: 90px;
        height: 90px;
        -o-object-fit: cover;
        object-fit: cover;
        border-radius: 100%
    }
}

.search-info__content {
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .search-info__content {
        padding-left: 10px
    }
}

.search-info__title {
    color: #2993f3;
    font-size: 18px
}

.search-schedule__panel {
    padding: 10px;
    *zoom: 1
}

.search-schedule__panel:after, .search-schedule__panel:before {
    content: "";
    display: table
}

.search-schedule__panel:after {
    clear: both
}

@media only screen and (max-width:767px) {
    .search-schedule__panel {
        padding: 0
    }
}

@media only screen and (min-width:768px) {
    .search-schedule__panel {
        border: 1px solid #ddd;
        margin-left: 220px;
        padding: 20px 5px
    }
}

.search-schedule__controls {
    position: relative
}

.search-schedule__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.search-schedule__block {
    color: #666;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%
}

@media only screen and (max-width:767px) {
    .search-schedule__block {
        padding-left: 0;
        padding-right: 0;
        display: none
    }
    .search-schedule__block:first-child {
        display: block
    }
}

@media only screen and (min-width:768px) {
    .search-schedule__block {
        width: 100%
    }
}

.search-schedule__block--header {
    text-align: center;
    margin-bottom: 15px
}

@media only screen and (max-width:767px) {
    .search-schedule__block--header {
        font-size: 22px
    }
}

.search-schedule__block--timetable {
    background-color: #fff;
    padding: 10px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-schedule__block--timetable {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        text-align: left
    }
}

.search-schedule__block--timetable:nth-child(2n) {
    background-color: #f7f7f5
}

.search-schedule__block--dl {
    line-height: 1.4
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-schedule__block--dl {
        margin-bottom: 10px
    }
}

.search-schedule__block--dl dt {
    text-align: center
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-schedule__block--dl dt {
        text-align: left
    }
}

.search-schedule__block--dl dd {
    font-size: 14px;
    color: #aaa;
    text-align: center
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .search-schedule__block--dl dd {
        text-align: left
    }
}

.search-schedule__block label {
    display: inline-block;
    position: relative;
    padding: 0
}

.search-schedule__block input[type=checkbox] {
    opacity: 0!important;
    position: absolute;
    left: 0;
    top: 0
}

.search-schedule__block input[type=checkbox]+.button-search__select {
    border: 2px solid #ea930f;
    width: 70px;
    height: 30px;
    padding: 5px;
    font-size: 12px;
    color: #ea930f;
    background-color: #fff;
    -webkit-box-shadow: 3px 3px 2px rgba(0, 0, 0, .1);
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .1)
}

.search-schedule__block input[type=checkbox]+.button-search__select:before {
    content: "未選択";
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.search-schedule__block input[type=checkbox]:checked+.button-search__select {
    background-color: #ea930f;
    color: #fff
}

.search-schedule__block input[type=checkbox]:checked+.button-search__select:before {
    content: "選択済み"
}

.search-schedule__block input[type=checkbox][disabled=disabled]+.button-search__select {
    background-color: #b3b3b3;
    border-color: #b3b3b3;
    color: #fff
}

.search-schedule__block input[type=checkbox][disabled=disabled]+.button-search__select:before {
    content: "予約不可"
}

.search-time__select {
    position: absolute;
    right: 0;
    top: 1px;
    width: 40px
}

.search-time__select select {
    height: 40px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    border: none;
    background-image: url(img/common/select_arrow.svg);
    background-repeat: no-repeat;
    background-position: 100%;
    color: transparent;
    outline: none;
    background-color: transparent
}

.search-time__select select:focus {
    -webkit-box-shadow: none;
    box-shadow: none
}

.search-control {
    position: absolute;
    color: #666;
    font-size: 30px;
    top: 250px
}

.search-control--prev {
    left: -22px
}

@media only screen and (max-width:767px) {
    .search-control--prev {
        left: 0;
        top: -6px
    }
}

.search-control--next {
    right: -22px
}

@media only screen and (max-width:767px) {
    .search-control--next {
        right: 0;
        top: -6px
    }
}

.search-pallet {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #444;
    color: #fff;
    padding-top: 15px;
    padding-bottom: 15px;
    display: none
}

@media only screen and (max-width:767px) {
    .search-pallet {
        z-index: 1010
    }
}

@media only screen and (min-width:768px) {
    .search-pallet {
        padding-top: 30px;
        padding-bottom: 30px
    }
}

@media only screen and (min-width:768px) {
    .search-pallet__box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.search-pallet__value {
    margin-bottom: 10px
}

@media only screen and (max-width:767px) {
    .search-pallet__info {
        margin-bottom: -35px
    }
}

@media print, screen and (min-width:961px) {
    .search-pallet__info {
        width: 50%
    }
}

@media only screen and (max-width:767px) {
    .search-pallet__list {
        display: none
    }
}

.search-pallet__list li {
    display: inline-block
}

.search-pallet__pill {
    display: inline-block;
    background-color: #111;
    font-size: 14px;
    border-radius: 100px;
    padding-left: 20px;
    padding-right: 20px
}

.search-pallet__side {
    margin-left: auto
}

@media only screen and (min-width:768px) {
    .search-pallet__side {
        text-align: right
    }
}

.search-pallet__point {
    margin-bottom: 10px
}

@media only screen and (max-width:767px) {
    .search-pallet__point {
        text-align: right
    }
}

.search-pallet__point dd, .search-pallet__point dt {
    display: inline-block
}

@media only screen and (min-width:768px) {
    .search-pallet__point dd {
        font-size: 28px
    }
}

@media only screen and (min-width:768px) {
    .search-pallet__point dd .unit {
        font-size: 16px
    }
}

.search-pallet__buttonarea {
    text-align: center
}

@media only screen and (max-width:767px) {
    .search-pallet__buttonarea {
        padding-top: 10px
    }
}

.ui-datepicker-trigger {
    width: 25px;
    margin-left: 5px;
    cursor: pointer
}

.ui-datepicker {
    z-index: 2000!important
}

.ui-datepicker .ui-datepicker-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.ui-datepicker .ui-datepicker-month, .ui-datepicker .ui-datepicker-year {
    font-family: 游ゴシック, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
    line-height: 40px;
    height: 40px;
    padding-top: 0;
    padding-bottom: 0
}

.ui-datepicker .ui-datepicker-next, .ui-datepicker .ui-datepicker-prev {
    top: 9px!important
}

.ui-datepicker .ui-datepicker-next:hover .ui-icon-circle-triangle-e, .ui-datepicker .ui-datepicker-prev:hover .ui-icon-circle-triangle-e {
    background-image: url(images/ui-icons_444444_256x240.png)!important;
    background-position: -48px -192px!important;
    border: none!important
}

.ui-datepicker .ui-datepicker-next:hover .ui-icon-circle-triangle-w, .ui-datepicker .ui-datepicker-prev:hover .ui-icon-circle-triangle-w {
    background-image: url(images/ui-icons_444444_256x240.png)!important;
    background-position: -80px -192px!important;
    border: none!important
}

.search-tenpo-modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1200;
    display: none
}

.search-tenpo-modal__layer {
    position: absolute;
    z-index: 1300;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .8)
}

.search-tenpo-modal__search {
    max-width: 750px;
    margin: 100px auto 20px
}

@media only screen and (max-width:767px) {
    .search-tenpo-modal__search {
        margin-top: 20px;
        margin-bottom: 10px;
        padding-left: 5px;
        padding-right: 5px
    }
}

.search-tenpo-modal__search input {
    width: 100%;
    background-size: 20px;
    background-position: 10px;
    background-image: url(img/reservation/search-solid.svg);
    background-repeat: no-repeat;
    padding-left: 40px
}

.search-tenpo-modal__search input::-webkit-input-placeholder {
    color: #999
}

.search-tenpo-modal__search input::-moz-placeholder {
    color: #999
}

.search-tenpo-modal__search input:-ms-input-placeholder {
    color: #999
}

.search-tenpo-modal__search input::-ms-input-placeholder {
    color: #999
}

.search-tenpo-modal__search input::placeholder {
    color: #999
}

.search-tenpo-modal__main {
    position: relative;
    z-index: 1400;
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width:767px) {
    .search-tenpo-modal__main {
        padding-left: 5px;
        padding-right: 5px
    }
}

.search-tenpo-modal__cards {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.card-search, .search-tenpo-modal__cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.card-search {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    background-color: #fff;
    border-radius: 4px;
    cursor: pointer;
    width: calc(50% - 10px);
    margin: 10px 5px
}

@media only screen and (max-width:767px) {
    .card-search {
        font-size: 12px
    }
}

@media print, screen and (min-width:961px) {
    .card-search {
        width: calc(33.333% - 20px);
        margin: 20px 10px
    }
}

.card-search input[type=checkbox], .card-search input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    opacity: 0
}

.card-search__photo {
    padding: 5px;
    position: relative
}

.card-search__photo img {
    width: 100%
}

.card-search__content {
    padding: 10px
}

@media only screen and (max-width:767px) {
    .card-search__content {
        padding-top: 5px
    }
}

@media only screen and (min-width:768px) {
    .card-search__content {
        padding: 10px 20px 20px
    }
}

.card-search .title {
    font-size: 1.2em
}

.card-search p {
    margin-bottom: 0
}

.card-search .card-search-label__select {
    display: inline-block;
    padding: 5px 10px;
    background-color: #fff;
    position: absolute;
    right: 15px;
    bottom: 15px;
    color: #e98c00;
    border: 2px solid #e98c00;
    text-align: center;
    width: 4em
}

@media only screen and (min-width:768px) {
    .card-search .card-search-label__select {
        right: 25px;
        bottom: 25px
    }
}

.card-search .card-search-label__select.is-active {
    color: #fff;
    background-color: #e98c00
}

.confirm-container {
    max-width: 940px
}

.confirm-shop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 30px;
    margin-top: 20px
}

@media print, screen and (min-width:961px) {
    .confirm-shop {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

@media only screen and (max-width:767px) {
    .confirm-shop__photo {
        width: 100px
    }
}

.confirm-shop__photo img {
    width: 210px;
    height: 210px;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 100%
}

@media only screen and (max-width:767px) {
    .confirm-shop__photo img {
        width: 100px;
        height: 100px
    }
}

.confirm-shop__content {
    padding-left: 30px
}

@media only screen and (max-width:767px) {
    .confirm-shop__content {
        width: calc(100% - 100px)
    }
}

@media print, screen and (min-width:961px) {
    .confirm-shop__content {
        padding-left: 45px
    }
}

.confirm-shop__title {
    color: #107523;
    font-size: 22px;
    margin-bottom: 5px
}

@media only screen and (max-width:767px) {
    .confirm-shop__title {
        font-size: 20px
    }
}

.confirm-block {
    margin-bottom: 30px
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .confirm-block {
        margin-bottom: 40px
    }
}

@media print, screen and (min-width:961px) {
    .confirm-block {
        margin-bottom: 100px
    }
}

.confirm-block__header {
    text-align: center;
    position: relative;
    margin-bottom: 30px
}

@media only screen and (max-width:767px) {
    .confirm-block__header {
        margin-bottom: 10px
    }
}

.confirm-block__header:before {
    border-bottom: 1px solid #6666667a;
    display: block;
    width: 100%;
    content: "";
    position: absolute;
    top: 50%
}

.confirm-block__title {
    background-color: #fff;
    position: relative;
    display: inline-block;
    padding: 6px 20px;
    top: 2px;
    font-size: 25px
}

@media only screen and (max-width:767px) {
    .confirm-block__title {
        font-size: 20px
    }
}

.confirm-block__point--use {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333;
    margin-bottom: 10px
}

.confirm-block__point--use dd {
    font-size: 26px
}

.confirm-block__point--use dd .unit {
    font-size: 16px;
    margin-left: 8px
}

.confirm-block__point--total {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #f4f4f4;
    padding: 6px 20px;
    border-radius: 100px;
    -webkit-box-shadow: 2px 2px 2px inset rgba(0, 0, 0, .15);
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .15)
}

.confirm-block__point--total dt {
    font-size: 14px
}

.confirm-block__point--total dd {
    font-size: 16px
}

.confirm-block__point--total dd .unit {
    font-size: 14px
}

.confirm-block__point--total2 {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #f4f4f4;
    padding: 6px 20px;
    border-radius: 100px;
    -webkit-box-shadow: 2px 2px 2px inset rgba(0, 0, 0, .15);
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .15)
}

.confirm-block__point--total2 dt {
    font-size: 20px
}

.confirm-block__point--total2 dd {
    font-size: 20px;
    color: #cd5137
}

.confirm-block__point--total2 dd .unit {
    color: #666;
    font-size: 20px
}

.confirm-block__table {
    width: 100%
}

.confirm-block__table tr:nth-child(odd) {
    background-color: #f7f7f5
}

.confirm-block__table td, .confirm-block__table th {
    text-align: left;
    padding: 3px 5px
}

.confirm-point__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.confirm-point__table {
    max-width: 700px;
    width: 100%;
    margin-bottom: 30px;
    color: #111
}

@media only screen and (min-width:768px) {
    .confirm-point__table {
        margin-bottom: 40px
    }
}

.confirm-point__table tr:not(:last-child) {
    border-bottom: 1px solid #ddd
}

.confirm-point__table td, .confirm-point__table th {
    padding: 10px;
    line-height: 1.3;
    vertical-align: bottom
}

@media only screen and (min-width:768px) {
    .confirm-point__table td, .confirm-point__table th {
        padding: 20px 30px
    }
}

@media print, screen and (min-width:961px) {
    .confirm-point__table td, .confirm-point__table th {
        padding-left: 50px;
        padding-right: 50px;
        font-size: 1.2em
    }
}

.confirm-point__table th {
    text-align: left
}

@media only screen and (min-width:768px) {
    .confirm-point__table td {
        text-align: right
    }
}

.confirm-point__table small {
    font-size: .8em
}

.confirm-point__dl dt {
    color: #bbb;
    margin-bottom: 5px
}

.confirm-point__dl dd {
    color: #333
}

.confirm-point__dl .name {
    font-size: .85em;
    display: inline-block;
    margin-right: 5px
}

.confirm-buttonarea {
    margin-bottom: 20px;
    text-align: center
}

@media only screen and (min-width:768px) {
    .confirm-buttonarea {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

@media print, screen and (min-width:961px) {
    .confirm-buttonarea {
        margin-bottom: 100px
    }
}

.confirm-buttonarea>* {
    margin-top: 10px;
    margin-bottom: 10px
}

.confirm-footer__titlearea {
    margin-bottom: 20px
}

.confirm-footer__title {
    text-align: center;
    color: #cd5137;
    font-size: 1.2em
}

.confirm-footer__title small {
    display: block;
    color: #666;
    font-size: .85em
}

.confirm-linkarea {
    color: #919191;
    text-align: center;
    margin-bottom: 40px
}

@media only screen and (min-width:768px) {
    .confirm-linkarea {
        margin-top: -80px;
        margin-bottom: 80px
    }
}

.confirm-linkarea a {
    color: inherit;
    text-decoration: none;
    line-height: 2
}

.button-confirm__submit {
    width: 409px;
    height: 106px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(/img/point/button_confirm.png);
    background-color: transparent
}

@media only screen and (max-width:767px) {
    .button-confirm__submit {
        width: 292.1428571429px;
        height: 75.7142857143px
    }
}

.total-panel {
    background-color: #f4f4f4;
    border-radius: 4px;
    padding: 10px
}

@media only screen and (max-width:767px) {
    .total-panel {
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    .total-panel {
        padding: 20px 50px
    }
}

.total-panel__sum {
    font-size: 1.2em;
    margin-bottom: 15px
}

.total-panel__sum .price {
    color: #cd5137
}

.total-panel__detail {
    font-size: .9em
}

.total-panel__detail--title {
    border-bottom: 1px solid #ddd;
    padding-bottom: 8px;
    margin-bottom: 8px
}

.total-panel__dl {
    *zoom: 1
}

.total-panel__dl:after, .total-panel__dl:before {
    content: "";
    display: table
}

.total-panel__dl:after {
    clear: both
}

.total-panel__dl dt {
    float: left
}

.total-panel__dl dd {
    text-align: right
}

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

@media only screen and (max-width:767px) {
    .complete-title {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

.complete-photo {
    margin-bottom: 35px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .complete-photo {
        margin-bottom: 20px
    }
}

.complete-buttonarea {
    margin-top: 40px
}

.complete-block--total {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #f4f4f4;
    padding: 6px 20px;
    border-radius: 100px;
    color: #fff;
    background-color: #2893f3
}

.complete-block--total dt {
    font-size: 14px
}

.complete-block--total dd {
    font-size: 16px
}

.complete-block--total dd .unit {
    font-size: 14px
}

@media only screen and (max-width:767px) {
    .main-single__mypage--top {
        background-color: transparent
    }
}

@media only screen and (min-width:768px) {
    .main-single__mypage--top {
        padding-left: 70px;
        padding-right: 70px
    }
}

.mypage-controls {
    margin-bottom: 30px
}

.mypage-controls__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 20px
}

@media only screen and (min-width:768px) {
    .mypage-controls__list {
        font-size: 26px
    }
}

.mypage-controls__list a {
    color: inherit;
    font-size: 30px
}

@media only screen and (max-width:767px) {
    .mypage-controls__list a {
        font-size: 16px
    }
}

.mypage-controls__list a.button {
    color: #fff
}

.mypage-controls__list li {
    margin-left: 10px;
    margin-right: 10px
}

.button-campaign {
    background-color: #626262;
    color: #fff;
    height: 90px;
    width: 260px
}

@media only screen and (min-width:768px) {
    .button-campaign {
        width: 460px;
        height: 120px
    }
}

.mypage-top__panels.point-panel {
    position: relative;
}
.mypage-top__panels.point-panel .point-purchase-link {
    position: absolute;
    bottom: 20px;
    right: 9%;
    text-decoration: none;
}
@media only screen and (max-width:767px) {
    .mypage-top__panels.point-panel .point-purchase-link {
        right: 0;
        left: 0;
        margin: auto;
        width: 45%;
        text-align: center;
    }
}

.mypage-top__panel {
    border: 1px solid #e5e5e5;
    display: block;
    margin-top: 10px;
    margin-bottom: 20px;
    color: inherit;
    text-decoration: none;
    padding: 10px;
    position: relative;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width:767px) {
    .mypage-top__panel {
        background-color: #fff
    }
}

@media only screen and (min-width:768px) {
    .mypage-top__panel {
        padding: 30px 50px
    }
}

.mypage-top__panel:before {
    content: "";
    border-color: transparent #107523 #107523 transparent;
    border-style: solid;
    border-width: 8px;
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: block
}

.mypage-top__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width:767px) {
    .mypage-top__row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media only screen and (min-width:768px) {
    .mypage-top__row .mypage-top__content {
        margin-left: auto
    }
}

.mypage-top__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media only screen and (max-width:767px) {
    .mypage-top__header {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-top: 15px;
        padding-bottom: 15px
    }
}

.mypage-top__line {
    border-bottom: 1px dotted #e5e5e5;
    margin-top: 20px;
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .mypage-top__content {
        padding-bottom: 20px
    }
}

.mypage-top__schedule li {
    border-left: 5px solid #2993f3;
    padding-left: 12px;
    margin-top: 5px;
    margin-bottom: 5px
}

.mypage-top__point {
    background-color: #f4f4f4;
    padding: 6px 20px;
    border-radius: 100px;
    -webkit-box-shadow: 2px 2px 2px inset rgba(0, 0, 0, .15);
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .15);
    margin-bottom: 30px;
}

@media only screen and (max-width:767px) {
    .mypage-top__point {
        margin-top: 10px
    }
}

.mypage-top__point dt {
    font-size: 14px;
    display: inline-block
}

.mypage-top__point dd {
    font-size: 16px;
    display: inline-block
}

.mypage-top__point dd .unit {
    font-size: 14px
}

.mypage-top__footer {
    text-align: right;
    margin-top: 20px;
    margin-bottom: 80px
}

@media only screen and (max-width:767px) {
    .mypage-top__footer {
        margin-bottom: 20px
    }
}

.title-mypage__medium {
    color: #107523;
    margin-bottom: 10px
}

.icon-svg {
    display: inline-block
}

.icon-svg__mypage {
    opacity: .4;
    margin-right: 20px
}

@media only screen and (max-width:767px) {
    .icon-svg__mypage {
        margin-right: 10px;
        width: 30px
    }
}

.button-mypage__logout {
    border-radius: 100px;
    border: 1px solid #dcdcdc
}
.button-mypage__open_keys {
    border-radius: 100px;
    border: 1px solid #dcdcdc;
    margin-right: 10px;
}

@media only screen and (max-width:767px) {
    .button-mypage__logout {
        width: 120px;
        background-color: #fff
    }
    .button-mypage__open_keys {
        width: 120px;
        background-color: #fff;
        margin-right: 2px;
    }
}

.account-table {
    width: 100%
}

.account-table td, .account-table th {
    border: 1px solid #d4d4d4;
    padding: 10px;
    vertical-align: middle
}

.account-table td.account-photo, .account-table th.account-photo {
    width: 230px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .account-table td.account-photo, .account-table td.account-photo img, .account-table th.account-photo, .account-table th.account-photo img {
        width: 120px
    }
}

.account-table__top {
    margin-bottom: -1px
}

.account-title {
    color: #111;
    text-align: center;
    font-size: 20px;
    padding: 10px;
    background-color: #d4d4d4;
    margin-top: 15px
}

.account-footer {
    margin-top: 40px;
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media only screen and (min-width:768px) {
    .account-footer {
        margin-top: 60px
    }
}

@media only screen and (max-width:767px) {
    .account-footer__buttonarea .link-taikai {
        margin-top: 2em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media only screen and (min-width:768px) {
    .account-footer__buttonarea .link-taikai {
        margin-left: 1em
    }
}

.account-footer__dl {
    margin-bottom: 50px
}

.account-footer__dl dt {
    margin-bottom: 8px
}

.account-footer__dl dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.account-footer__dl dd span {
    display: inline-block;
    margin-right: 15px
}

.switchArea {
    position: relative;
    margin: auto;
    width: 37px;
    background: #fff
}

.switchArea input[type=checkbox] {
    display: none
}

.switchArea label {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 17px;
    padding: 0;
    background-color: #c5c5c5;
    border-radius: 11px
}

.switchArea input[type=checkbox]:checked+label {
    border-color: #66f
}

.switchArea #swImg {
    position: absolute;
    width: 24px;
    height: 24px;
    background: #f1f1f1;
    top: -4px;
    left: -4px;
    -webkit-transition: .2s;
    transition: .2s;
    border-radius: 100px;
    -webkit-box-shadow: 0 2px rgba(0, 0, 0, .15);
    box-shadow: 0 2px rgba(0, 0, 0, .15)
}

.switchArea input[type=checkbox]:checked~#swImg {
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
    background: #66f
}

.friend-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (min-width:768px) {
    .friend-main {
        margin-left: -20px;
        margin-right: -20px
    }
}

.friend-main .card-mypage {
    padding: 10px;
    width: 100%
}

@media only screen and (min-width:768px) {
    .friend-main .card-mypage {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(50% - 40px);
        padding: 20px
    }
}

.card-mypage {
    *zoom: 1;
    border-bottom: 1px solid #f0f0f0;
    position: relative
}

.card-mypage:after, .card-mypage:before {
    content: "";
    display: table
}

.card-mypage:after {
    clear: both
}

.card-mypage__photo {
    width: 70px;
    float: left
}

.card-mypage__content {
    padding-left: 90px;
    padding-top: 10px
}

.card-menu__toggle {
    position: absolute;
    right: 0;
    top: 40px;
    color: #ababab;
    width: 40px;
    height: 40px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer
}

@media only screen and (max-width:767px) {
    .card-menu__toggle {
        top: 25px
    }
}

.card-menu__content {
    position: absolute;
    right: 20px;
    z-index: 100;
    font-size: 14px;
    border: 2px solid #9b9b9b;
    display: none
}

.card-menu__content a {
    color: inherit;
    text-decoration: none;
    display: block;
    padding: 10px;
    background-color: #fff
}

.card-menu__list li:not(:last-child) {
    border-bottom: 1px solid #9b9b9b
}

.mypage-dl__name dt {
    font-size: 16px
}

.mypage-dl__name dd {
    color: #959595;
    font-size: 14px
}

.friend-footer {
    margin-top: 80px;
    margin-bottom: 80px
}

@media only screen and (max-width:767px) {
    .friend-footer {
        margin-top: 40px
    }
}

.list-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (min-width:768px) {
    .list-buttons {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media only screen and (max-width:767px) {
    .list-buttons {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.list-buttons li {
    margin-top: 10px;
    margin-bottom: 10px
}

@media only screen and (min-width:768px) {
    .list-buttons li {
        padding-left: 10px;
        padding-right: 10px
    }
}

.mypoint-main {
    margin-bottom: 40px
}

@media only screen and (min-width:768px) {
    .mypoint-main {
        margin-bottom: 60px
    }
}

.mypoint-dl {
    max-width: 780px;
    border-bottom: 1px dotted #6e6e6e;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-left: auto;
    margin-right: auto
}

.mypoint-dl dt {
    padding: 10px
}

@media only screen and (min-width:768px) {
    .mypoint-dl dt {
        padding: 25px 25px 25px 80px
    }
}

.mypoint-dl dd {
    padding: 10px;
    font-size: 18px;
    margin-left: auto
}

@media only screen and (min-width:768px) {
    .mypoint-dl dd {
        padding: 25px 80px 25px 25px;
        font-size: 28px
    }
}

.mypoint-dl dd .unit {
    font-size: .8em
}

.mypoint-caution {
    margin-bottom: 40px
}

@media only screen and (min-width:768px) {
    .mypoint-caution {
        margin-bottom: 60px
    }
}

.mypoint-caution__panel {
    max-width: 444px;
    padding: 10px;
    background-color: #ffe0de;
    text-align: center;
    color: red;
    border: 4px dashed red;
    margin-left: auto;
    margin-right: auto
}

.mypoint-footer {
    text-align: center;
    margin-bottom: 80px
}

@media only screen and (max-width:767px) {
    .mypoint-footer {
        margin-bottom: 40px
    }
}

.mypoint-footer__button1 {
    margin-bottom: 20px
}

@media print, screen and (min-width:961px) {
    .mypoint-footer__button1 {
        margin-bottom: 40px
    }
}

.schedule-header {
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .schedule-header {
        margin-bottom: 10px
    }
}

@media only screen and (min-width:768px) {
    .schedule-header {
        font-size: 22px
    }
}

.schedule-header a {
    color: inherit;
    text-decoration: none
}

.schedule-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.schedule-controls .svg-inline--fa {
    padding-left: 10px;
    padding-right: 10px
}

.schedule-title {
    text-align: center
}

.schedule-main {
    margin-bottom: 80px
}

@media only screen and (max-width:767px) {
    .schedule-main {
        margin-bottom: 40px
    }
}

.schedule-table {
    width: 100%;
    border: 2px solid #535353
}

.schedule-table td, .schedule-table th {
    padding: 10px;
    border: 1px solid #535353
}

@media only screen and (min-width:768px) {
    .schedule-table td, .schedule-table th {
        padding: 15px 10px
    }
}

.schedule-table th {
    background-color: #eee;
    border-right: 2px solid #535353
}

@media only screen and (min-width:768px) {
    .schedule-table th {
        width: 4em
    }
}

.schedule-label {
    display: inline-block;
    margin-right: 10px;
    background-color: #eee;
    font-size: 16px;
    margin-top: 3px;
    margin-bottom: 3px;
    padding: 2px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media only screen and (min-width:768px) {
    .schedule-label {
        width: 300px
    }
}

@media only screen and (max-width:767px) {
    .schedule-label {
        font-size: 12px;
        width: 100%
    }
}

.schedule-label.shop {
    background-color: #dae8fc
}

.schedule-label.friend {
    background-color: #ffe7c3
}

@media only screen and (min-width:768px) {
    .shop-main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.shop-card {
    *zoom: 1;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    padding: 10px;
    width: 100%
}

.shop-card:after, .shop-card:before {
    content: "";
    display: table
}

.shop-card:after {
    clear: both
}

@media only screen and (min-width:768px) {
    .shop-card {
        margin-left: 20px;
        margin-right: 20px;
        margin-bottom: 20px;
        width: calc(50% - 40px);
        padding: 20px
    }
}

.shop-card__photo {
    width: 140px;
    float: left
}

@media only screen and (max-width:767px) {
    .shop-card__photo {
        width: 90px
    }
}

.shop-card__content {
    padding-left: 150px;
    padding-top: 10px
}

@media only screen and (max-width:767px) {
    .shop-card__content {
        padding-left: 100px
    }
}

.shop-card__layer {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 90;
    display: none
}

.shop-card__menu {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100
}

.shop-card__toggle {
    position: absolute;
    right: 0;
    top: 0;
    color: #ababab;
    width: 40px;
    height: 40px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer
}

@media only screen and (max-width:767px) {
    .shop-card__toggle {
        top: 25px
    }
}

.shop-card__menu--content {
    position: absolute;
    right: 20px;
    z-index: 10;
    font-size: 14px;
    border: 2px solid #9b9b9b;
    display: none;
    width: 200px
}

.shop-card__menu--content a {
    color: inherit;
    text-decoration: none;
    display: block;
    padding: 10px;
    background-color: #fff
}

.shop-card__list li:not(:last-child) {
    border-bottom: 1px solid #9b9b9b
}

.mypage-dl__cond {
    margin-top: 1.2em;
    font-size: 14px;
    display: table;
    width: 100%
}

@media only screen and (max-width:767px) {
    .mypage-dl__cond {
        font-size: 12px
    }
}

.mypage-dl__cond dd, .mypage-dl__cond dt {
    padding: 3px 10px;
    display: table-cell;
    border: 1px solid #e5e5e5;
    vertical-align: middle
}

@media only screen and (max-width:767px) {
    .mypage-dl__cond dd, .mypage-dl__cond dt {
        padding: 0
    }
}

.mypage-dl__cond dt {
    background-color: #eee;
    text-align: center;
    width: 12em
}

.mypage-dl__cond dd {
    font-size: 20px;
    font-weight: 700;
    text-align: center
}

.mypage-dl__cond dd img {
    width: 30px;
    margin-bottom: 2px;
}

.condition {
    font-weight: 900
}

.condition.color0 {
    color: #ccc
}

.condition.color1 {
    color: #f8b551
}

.condition.color2 {
    color: #9ed085
}

.shop-footer {
    text-align: right;
    margin-top: 20px;
    margin-bottom: 40px
}

@media only screen and (min-width:768px) {
    .shop-footer {
        margin-top: 20px;
        margin-bottom: 80px
    }
}
@media only screen and (max-width:767px) {
    .shop-footer {
        font-size: 95%;
    }
}

.shop-footer a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.shop-footer .fa-plus {
    background-color: #bfbfbf;
    color: #fff;
    padding: 5px;
    font-size: 14px;
    border-radius: 30px;
    margin-left: 7px;
    position: relative;
    top: -2px
}

.shop-caption {
    margin-top: 1em
}

.withdraw-main {
    margin-top: 20px
}

@media only screen and (max-width:767px) {
    .withdraw-main {
        margin-top: 20px
    }
}

.withdraw-header {
    text-align: center;
    margin-bottom: 60px
}

@media only screen and (max-width:767px) {
    .withdraw-header {
        margin-bottom: 20px
    }
}

@media only screen and (min-width:768px) {
    .withdraw-content {
        text-align: center;
        margin-bottom: -30px
    }
}

.history-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .table-wrap {
        overflow: auto
    }
}

.table-history {
    border: 2px solid #909090
}

@media only screen and (max-width:767px) {
    .table-history {
        width: 800px
    }
}

.table-history td, .table-history th {
    border: 1px solid #909090;
    vertical-align: middle
}

.table-history th {
    text-align: center;
    background-color: #eee
}

.table-history dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.table-history dl dt {
    color: #959595;
    font-size: 13px;
    margin-right: 5px
}

@media only screen and (min-width:768px) {
    .history-title {
        font-size: 20px
    }
}

.point-selectarea {
    margin-bottom: 40px
}

@media only screen and (min-width:768px) {
    .point-selectarea {
        margin-bottom: 100px
    }
}

.panel-point {
    border: 2px solid #ccc;
    border-radius: 4px;
    margin-top: 15px;
    margin-bottom: 15px
}

.panel-point__header {
    font-size: 20px;
    padding: 8px;
    text-align: center;
    background-color: #ccc
}

.panel-point__header--primary {
    background-color: #107523;
    color: #fff
}

.panel-point__header--secondary {
    background-color: #a0a0a0;
    color: #fff
}

.panel-point__content {
    padding: 10px
}

@media only screen and (min-width:768px) {
    .panel-point__content {
        padding: 30px
    }
}

.panel-point--primary {
    border-color: #107523
}

.panel-point--secondary {
    border-color: #a0a0a0
}

.pack-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

@media only screen and (max-width:767px) {
    .pack-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.pack-wrap--center, .pack-wrap__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.pack-wrap__block {
    padding-left: 5px;
    padding-right: 5px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media only screen and (max-width:767px) {
    .pack-wrap__block {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

@media only screen and (max-width:767px) {
    .pack-wrap__photo {
        padding-bottom: 15px;
        padding-left: 5px
    }
}

@media only screen and (min-width:768px) {
    .pack-wrap__photo {
        margin-bottom: 10px
    }
}

.pack-wrap input[type=checkbox], .pack-wrap input[type=radio] {
    -webkit-transform: scale(1.5);
    transform: scale(1.5)
}

.pack-caption {
    text-align: right
}

.pack-caption p {
    margin-bottom: 0
}

.pack-caption small {
    font-size: .85em;
    text-align: right
}

.dl-pack__point dt {
    display: inline-block;
    font-size: 28px;
    vertical-align: middle
}

@media only screen and (max-width:767px) {
    .dl-pack__point dt {
        font-size: 20px
    }
}

.dl-pack__point dd {
    display: inline-block;
    font-size: 14px;
    vertical-align: middle
}

@media only screen and (max-width:767px) {
    .dl-pack__point dd {
        font-size: 12px
    }
}

.dl-pack__point input {
    margin-right: 10px;
    font-size: inherit;
    width: 8em;
    line-height: 1.2
}

@media only screen and (max-width:767px) {
    .dl-pack__point input {
        width: 8em
    }
}

.color-error {
    color: #e60012
}
.color-error .underline {
    text-decoration: underline;
    line-height: 2;
    text-underline-offset: 3px;
}

.point-payment__header {
    font-size: 22px;
    margin-bottom: 30px
}

@media only screen and (max-width:767px) {
    .point-payment__header {
        margin-bottom: 15px
    }
}

.point-payment__panel {
    color: inherit;
    text-decoration: none;
    position: relative;
    display: block;
    border: 2px solid #cd5137;
    border-radius: 4px;
    margin-top: 25px;
    margin-bottom: 25px;
    padding: 30px
}

@media only screen and (min-width:768px) {
    .point-payment__panel {
        font-size: 16px
    }
}

@media only screen and (max-width:767px) {
    .point-payment__panel {
        padding: 10px;
        margin-top: 10px;
        margin-bottom: 10px
    }
}

.point-payment__panel p {
    margin-bottom: 0
}

.point-payment__panel p small {
    font-size: .85em;
    color: #999
}

.point-payment__heading {
    font-size: 1.1em;
    cursor: pointer;
    padding: 10px;
    margin: -10px
}

@media only screen and (min-width:768px) {
    .point-payment__heading {
        margin: -30px;
        padding: 30px
    }
}

.point-payment__content {
    padding-top: 30px
}

@media only screen and (max-width:767px) {
    .point-payment__content {
        padding-top: 15px
    }
}

.point-payment__content--single {
    text-align: center
}

@media only screen and (min-width:768px) {
    .point-payment__row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.point-payment__row--vertical {
    margin-bottom: 20px
}

@media only screen and (min-width:768px) {
    .point-payment__row--vertical {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 30px
    }
}

.point-payment__block {
    margin-bottom: 20px
}

@media only screen and (min-width:768px) {
    .point-payment__block {
        margin-right: 3em
    }
}

.point-payment__block input {
    width: 100%
}

.point-payment__block select {
    padding: 11px;
    width: 6em
}

.point-payment__block--number {
    width: 19em
}

.point-payment__block--due .unit {
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px
}

.point-payment__block--name {
    width: 19em
}

.point-payment__block--sc input {
    width: 6em
}

@media only screen and (min-width:768px) {
    .point-payment__block--tel {
        width: 16em
    }
}

.point-payment__block--tel input {
    width: 100%
}

.point-payment__footer {
    text-align: center
}

.point-payment--right {
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -.8em;
    color: #cd5137
}

.point-payment--angle {
    position: absolute;
    right: 15px;
    top: 15px;
    color: #cd5137
}

@media only screen and (min-width:768px) {
    .point-payment--angle {
        top: 33px
    }
}

.point-payment--angle.is-active {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.payment-header__title {
    text-align: center
}

@media only screen and (min-width:768px) {
    .payment-header__title {
        margin-bottom: 40px
    }
}

.payment-title {
    font-weight: 700;
    color: #cd5137
}

@media only screen and (min-width:768px) {
    .card-list {
        padding-left: 30px;
        margin-bottom: 8px
    }
}

.grey {
    color: #999
}

.button-payment__submit {
    background-color: #cd5137;
    color: #fff;
    border-radius: 100px;
    -webkit-box-shadow: 2px 2px rgba(0, 0, 0, .15);
    box-shadow: 2px 2px rgba(0, 0, 0, .15)
}

.label-cs {
    display: inline-block;
    margin-right: 1.5em;
    margin-top: 5px;
    margin-bottom: 5px
}

.label-cs img {
    margin-right: 5px;
    margin-left: 8px
}

.form-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px
}

@media only screen and (min-width:768px) {
    .form-name {
        padding-left: 2em
    }
}

.form-name dt {
    width: 2em;
    margin-right: 10px
}

.payment-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .payment-flex {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.js-accordion+* {
    display: none
}

.policy-block section {
    margin-bottom: 2em
}

.policy-block h2 {
    font-weight: 700;
    font-size: 1.2em;
    margin-bottom: 10px;
    color: #333
}

.policy-block ul {
    padding-left: 1em;
    margin-top: 1.5em;
    margin-bottom: 1.5em
}

.policy-block ul li:before {
    content: "・";
    margin-left: -1em
}

.policy-block ol {
    list-style-type: decimal;
    padding-left: 2.5em;
    margin-bottom: 1.5em
}

@media only screen and (max-width:767px) {
    .policy-block ol {
        padding-left: 1.5em
    }
}

#cancel-policy {
    padding-top: 10%;
}
@media only screen and (max-width:767px) {
    #cancel-policy {
        padding-top: 20%;
    }
}

.policy-block__aside {
    background-color: #e5f1fd;
    padding: 10px
}

@media only screen and (min-width:768px) {
    .policy-block__aside {
        padding: 25px
    }
}

.policy-block__aside h2 {
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
    margin-bottom: 15px;
    text-align: center;
    font-size: 1.2em
}

@media only screen and (min-width:768px) {
    .policy-block__aside h2 {
        padding-bottom: 10px;
        margin-bottom: 20px
    }
}

@media only screen and (min-width:768px) {
    .policy-block__aside p {
        text-align: center
    }
}

.policy-block__aside p:last-child {
    margin-bottom: 0
}

.policy-block .tokusho-dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.policy-block .tokusho-dl dt {
    margin-right: 1em;
    white-space: nowrap
}

.register-panel {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 30px 50px;
    margin-bottom: 30px;
    margin-top: 20px
}

@media only screen and (min-width:768px) {
    .register-panel {
        font-size: 16px;
        margin-bottom: 20px
    }
}

@media only screen and (max-width:767px) {
    .register-panel {
        padding: 10px
    }
}

.register-panel__dl {
    margin-top: 30px;
    margin-bottom: 30px
}

@media only screen and (max-width:767px) {
    .register-panel__dl {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

.register-panel__dl dt {
    color: #111;
    margin-bottom: 10px
}

@media print, screen and (min-width:961px) {
    .register-panel__dl dd {
        padding-left: 1em
    }
}

.register-panel__dl .text-normal {
    font-weight: 400;
    color: #666;
    display: inline-block
}

.register-panel__dl small {
    font-size: .86em;
    display: inline-block;
    margin-left: 1em;
    color: #666
}

@media only screen and (max-width:767px) {
    .register-panel__table td, .register-panel__table th {
        display: block
    }
}

@media only screen and (max-width:767px) {
    .register-panel__table th {
        background-color: #eee
    }
}

@media only screen and (min-width:768px) {
    .register-panel__table th {
        width: 15em
    }
}

.register-panel input[type=email], .register-panel input[type=number], .register-panel input[type=password], .register-panel input[type=tel], .register-panel input[type=text], .register-panel select, .register-panel textarea {
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 8px;
    font-family: inherit;
    font-size: 16px;
    border-radius: 5px
}

.register-panel input[type=email]:focus, .register-panel input[type=number]:focus, .register-panel input[type=password]:focus, .register-panel input[type=tel]:focus, .register-panel input[type=text]:focus, .register-panel select:focus, .register-panel textarea:focus {
    -webkit-box-shadow: 0 0 3px rgba(115, 185, 255, .8);
    box-shadow: 0 0 3px rgba(115, 185, 255, .8)
}

.register-panel .unit {
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px
}

.register-panel .input-medium {
    width: 100%
}

@media only screen and (min-width:768px) {
    .register-panel .input-medium {
        width: 15em
    }
}

.register-panel .input-long {
    width: 100%
}

@media only screen and (min-width:768px) {
    .register-panel .input-long {
        width: 22em
    }
}

@media print, screen and (min-width:961px) {
    .register-panel .input-long {
        width: 40em
    }
}

.register-panel .input-address {
    width: 10em
}

@media only screen and (max-width:767px) {
    .register-panel .input-address {
        width: 6em
    }
}

.register-form__title {
    margin-top: 20px;
    color: #111
}

@media only screen and (min-width:768px) {
    .register-intro {
        font-size: 18px
    }
    .register-intro p {
        margin-bottom: 10px
    }
}

.register-bg--file {
    background-color: #f5f5f5;
    padding: 3px;
    display: inline-block
}

@media only screen and (min-width:768px) {
    .register-bg--file {
        padding: 8px
    }
}

.ragister-footer {
    margin-top: 30px;
    padding: 10px
}

.ragister-footer__panel {
    background-color: #f5f5f5;
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .ragister-footer__panel {
        padding: 10px
    }
}

@media only screen and (min-width:768px) {
    .ragister-footer__panel {
        width: 540px;
        padding: 20px;
        margin-bottom: 40px
    }
}

.ragister-footer__panel--wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (min-width:768px) {
    .ragister-footer__panel--wrap ul {
        margin-left: 4em
    }
}

@media only screen and (max-width:767px) {
    .ragister-footer__panel--wrap label {
        font-size: 11px;
        white-space: nowrap
    }
}

@media only screen and (min-width:768px) {
    .ragister-footer__panel--wrap label {
        margin-left: 3em
    }
}

.ragister-footer__panel--wrap label input {
    margin-right: 1em
}

@media only screen and (max-width:767px) {
    .ragister-footer__panel--wrap label input {
        margin-right: 5px;
        position: relative;
        top: 2px
    }
}

.account-footer__return {
    margin-top: 30px
}

.link-register-return {
    color: #a0a0a0;
    text-decoration: none;
    font-size: 22px
}

.link-register-return:hover {
    text-decoration: underline
}

@media only screen and (max-width:767px) {
    .label-acceptance {
        font-size: 10px
    }
}

.contact-header {
    margin-top: 30px;
    margin-bottom: 60px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .contact-header {
        margin-bottom: 30px
    }
}

@media only screen and (min-width:768px) {
    .contact-intro {
        margin-bottom: 40px
    }
}

.contact-main {
    padding-top: 30px
}

.contact-dl {
    margin-bottom: 20px
}

@media only screen and (min-width:768px) {
    .contact-dl {
        display: table;
        width: 100%;
        margin-top: 20px;
        margin-bottom: 20px
    }
}

@media only screen and (min-width:768px) {
    .contact-dl dt {
        width: 200px
    }
}

@media only screen and (min-width:768px) {
    .contact-dl dd, .contact-dl dt {
        display: table-cell;
        vertical-align: top
    }
}

.contact-dl .input-long {
    width: 100%
}

@media only screen and (min-width:768px) {
    .contact-dl .input-long {
        width: 20em
    }
}

@media print, screen and (min-width:961px) {
    .contact-dl .input-long {
        width: 25em
    }
}

.contact-dl .input-full {
    width: 100%
}

.contact-dl input[type=email], .contact-dl input[type=number], .contact-dl input[type=password], .contact-dl input[type=tel], .contact-dl input[type=text], .contact-dl select, .contact-dl textarea {
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 8px;
    font-family: inherit;
    font-size: 16px;
    border-radius: 5px
}

.contact-dl input[type=email]:focus, .contact-dl input[type=number]:focus, .contact-dl input[type=password]:focus, .contact-dl input[type=tel]:focus, .contact-dl input[type=text]:focus, .contact-dl select:focus, .contact-dl textarea:focus {
    -webkit-box-shadow: 0 0 3px rgba(115, 185, 255, .8);
    box-shadow: 0 0 3px rgba(115, 185, 255, .8)
}

.contact-footer {
    text-align: center;
    padding-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (max-width:767px) {
    .contact-footer {
        padding-top: 20px
    }
}

.pagelink-gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width:767px) {
    .pagelink-gallery>* {
        width: calc(50% - 10px);
        margin-left: 5px;
        margin-right: 5px
    }
}

@media only screen and (min-width:768px) {
    .pagelink-gallery>* {
        width: calc(33.333% - 20px);
        margin-left: 10px;
        margin-right: 10px
    }
}

.howto-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #d1d1d1
}

@media only screen and (min-width:768px) {
    .howto-block {
        font-size: 16px;
        padding-bottom: 60px;
        margin-bottom: 60px
    }
}

@media only screen and (max-width:767px) {
    .howto-block {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.howto-block__photo {
    width: 100%
}

@media only screen and (min-width:768px) {
    .howto-block__photo {
        padding-left: 15px;
        padding-right: 15px
    }
}

.howto-block__content {
    width: 100%
}

@media only screen and (min-width:768px) {
    .howto-block__content {
        padding-top: 25px;
        padding-left: 15px;
        padding-right: 15px
    }
}

.howto-footer {
    text-align: center;
    padding-top: 20px
}

.howto-title {
    color: #111;
    font-size: 1.2em;
    margin-bottom: 15px
}

@media only screen and (min-width:768px) {
    .howto-title {
        margin-bottom: 25px
    }
}

.gyms-gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width:767px) {
    .gyms-gallery>* {
        width: calc(50% - 10px);
        margin-left: 5px;
        margin-right: 5px
    }
}

@media only screen and (min-width:768px) {
    .gyms-gallery>* {
        width: calc(25% - 20px);
        margin-left: 7px;
        margin-right: 7px
    }
}

.gyms-map__map {
    margin-bottom: 30px
}

@media only screen and (max-width:767px) {
    .gyms-map__map {
        margin-bottom: 20px
    }
}

.gyms-map__map iframe {
    height: 500px
}

@media only screen and (max-width:767px) {
    .gyms-map__map iframe {
        height: 450px
    }
}

.gyms-map-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px dotted #d1d1d1;
    margin-bottom: 15px;
    padding-bottom: 15px
}

@media only screen and (min-width:768px) {
    .gyms-map-block {
        padding-left: 15px;
        padding-right: 15px
    }
}

.gyms-map-block__photo img {
    max-width: none
}

@media only screen and (max-width:767px) {
    .gyms-map-block__photo img {
        width: 60px
    }
}

.gyms-map-block__content {
    padding-left: 15px
}

@media only screen and (min-width:768px) {
    .gyms-map-block__content {
        padding-left: 30px
    }
}

.gyms-map-block__buttons {
    margin-left: auto
}

.gyms-map-block__title {
    margin-bottom: 10px;
    line-height: 1.3;
    font-size: 18px
}

@media only screen and (max-width:767px) {
    .gyms-map-block__title {
        font-size: 13px
    }
}

.gyms-map-block__address {
    display: block;
    font-size: 11px;
    line-height: 1.3
}

@media only screen and (min-width:768px) {
    .gyms-map-block__address {
        font-size: 16px
    }
}

.button-gyms__more {
    background-color: #707070;
    color: #fff;
    width: 155px;
    height: 40px;
    border-radius: 100px
}

@media only screen and (max-width:767px) {
    .button-gyms__more {
        width: 80px;
        font-size: 11px;
        height: 33px
    }
}

@media only screen and (min-width:768px) {
    .gyms-map-footer {
        margin-top: 40px
    }
}

.gyms-register {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-bottom: 20px
}

.gyms-register, .gyms-register__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.gyms-register__label {
    color: #107523;
    display: inline-block;
    margin-right: 20px
}

.gyms-slider {
    margin-bottom: 40px
}

@media only screen and (min-width:768px) {
    .gyms-slider {
        margin-bottom: 80px
    }
}

.gyms-slider li {
    margin-left: 10px;
    margin-right: 10px
}

.gyms-slider li img {
    width: 580px
}

@media only screen and (max-width:767px) {
    .gyms-slider li {
        margin-left: 10px;
        margin-right: 10px
    }
}

.gyms-slider .slick-arrow {
    background: transparent;
    background-repeat: no-repeat;
    background-position: 50%
}

.gyms-slider .slick-arrow.slick-prev {
    left: 20px;
    background-image: url(img/gyms/slider_left.png)
}

@media only screen and (max-width:767px) {
    .gyms-slider .slick-arrow.slick-prev {
        left: -5px
    }
}

.gyms-slider .slick-arrow.slick-next {
    right: 20px;
    background-image: url(img/gyms/slider_right.png)
}

@media only screen and (max-width:767px) {
    .gyms-slider .slick-arrow.slick-next {
        right: -5px
    }
}

.gyms-slider .slick-slide {
    opacity: .4
}

@media only screen and (max-width:767px) {
    .gyms-slider .slick-slide {
        width: 280px;
        margin-left: 5px;
        margin-right: 5px
    }
}

.gyms-slider .slick-slide.slick-current {
    opacity: 1
}

.gyms-tenpo__content {
    margin-bottom: 40px
}

@media print, screen and (min-width:961px) {
    .gyms-tenpo__content {
        margin-bottom: 60px
    }
}

.gyms-tenpo__list li {
    margin-bottom: 1.5em
}

.gyms-table {
    margin-bottom: 40px
}

.gyms-table__tenpo tr {
    border-bottom: 1px dotted #b9b9b9
}

.gyms-table__tenpo th {
    border-left: 4px solid #107523;
    background-color: #f5f5f5;
    width: 5em
}

@media only screen and (min-width:768px) {
    .gyms-table__tenpo th {
        text-align: center;
        white-space: nowrap
    }
}

.gyms-tenpo__map {
    margin-bottom: 40px
}

@media only screen and (min-width:768px) {
    .gyms-tenpo__map {
        margin-bottom: 80px
    }
}

.gyms-tenpo__map iframe {
    width: 100%
}

@media only screen and (max-width:767px) {
    .gyms-tenpo__map iframe {
        height: 200px
    }
}

.gyms-tenpo-gallery__intro {
    text-align: center
}

.gyms-tenpo-gallery__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 40px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width:767px) {
    .gyms-tenpo-gallery__list {
        margin-left: -5px;
        margin-right: -5px
    }
}

@media only screen and (min-width:768px) {
    .gyms-tenpo-gallery__list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 60px
    }
}

@media only screen and (min-width:768px) {
    .gyms-tenpo-gallery__list.justify-start {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.gyms-tenpo-gallery__list li {
    margin-left: 10px;
    margin-right: 10px
}

@media only screen and (min-width:768px) {
    .gyms-tenpo-gallery__list li {
        width: calc(25% - 20px);
        margin-bottom: 20px
    }
}

@media only screen and (max-width:767px) {
    .gyms-tenpo-gallery__list li {
        width: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-left: 5px;
        padding-right: 5px;
        margin: 0 0 10px
    }
}

.smartlock-block {
    border: 2px solid #d2d2d2;
    margin-top: 20px;
    margin-bottom: 20px
}

@media only screen and (min-width:768px) {
    .smartlock-block {
        margin-top: 60px;
        margin-bottom: 60px
    }
}

.smartlock-block__footer {
    text-align: center;
    padding: 10px
}

@media only screen and (min-width:768px) {
    .smartlock-block__footer {
        padding: 20px
    }
}

.smartlock-table {
    margin-bottom: 0
}

.smartlock-table tr {
    border-bottom: 1px dotted #b9b9b9
}

.smartlock-table th {
    background-color: #f5f5f5
}

@media only screen and (min-width:768px) {
    .smartlock-table th {
        width: 10em;
        text-align: center
    }
}

.smartlock-button {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
    position: relative;
    color: #00c9c1;
    background-color: #fff;
    border: 3px solid #00c9c1;
    width: 280px;
    height: 50px;
    font-size: 18px
}

@media print, screen and (min-width:961px) {
    .smartlock-button {
        width: 410px;
        height: 60px;
        font-size: 20px
    }
}

.smartlock-button .fa-key {
    margin-right: 10px
}

@media only screen and (min-width:768px) {
    .smartlock-button .fa-key {
        font-size: 25px;
        vertical-align: middle;
        margin-right: 15px
    }
}

.error-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 20px;
    margin-top: 20px
}

@media only screen and (min-width:768px) {
    .error-header {
        margin-top: 60px;
        margin-bottom: 60px
    }
}

.dl-error {
    background-image: url(img/common/icon_error.svg);
    background-repeat: no-repeat;
    background-size: 72px;
    padding-left: 90px
}

@media only screen and (max-width:767px) {
    .dl-error {
        background-size: 40px;
        padding-left: 50px;
        background-position: 0 5px
    }
}

.dl-error dt {
    font-size: 24px;
    color: #ec1c2b
}

@media only screen and (max-width:767px) {
    .dl-error dt {
        font-size: 20px
    }
}

.panel-error {
    background-color: #ffe8ec;
    max-width: 900px;
    padding: 10px;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:768px) {
    .panel-error {
        padding: 30px;
        line-height: 3
    }
}

@media print, screen and (min-width:961px) {
    .panel-error {
        padding: 40px
    }
}

.panel-error p:last-child {
    margin-bottom: 0
}

.error-footer {
    text-align: center;
    margin-top: 40px
}

@media only screen and (min-width:768px) {
    .error-footer {
        margin-top: 70px
    }
}

.tac {
    text-align: center
}

.tar {
    text-align: right
}

.ta {
    text-align: left!important
}

@media print, screen and (min-width:961px) {
    .tac-lg {
        text-align: center
    }
    .tar-lg {
        text-align: right
    }
    .ta-lg {
        text-align: left!important
    }
}

@media only screen and (max-width:767px) {
    .tac-sm {
        text-align: center
    }
    .tar-sm {
        text-align: right
    }
    .ta-sm {
        text-align: left!important
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .tac-md {
        text-align: center
    }
    .tar-md {
        text-align: right
    }
    .ta-md {
        text-align: left!important
    }
}

.font-go {
    font-family: 游ゴシック, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif
}

.font-min {
    font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, HG明朝B, ＭＳ Ｐ明朝, MS PMincho, MS 明朝, serif
}

.strong {
    font-weight: 700
}

.normal {
    font-weight: 400
}

.text-required {
    color: #d90000
}

.hide-all {
    display: none
}

@media print, screen and (min-width:961px) {
    .hide-lg {
        display: none
    }
}

@media only screen and (max-width:767px) {
    .hide-sm {
        display: none !important;
    }
}

@media only screen and (min-width:768px)and (max-width:960px) {
    .hide-md {
        display: none
    }
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}


/*!
 * jQuery UI CSS Framework 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */

.ui-helper-hidden {
    display: none
}

.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.ui-helper-reset {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    line-height: 1.3;
    text-decoration: none;
    font-size: 100%;
    list-style: none
}

.ui-helper-clearfix:after, .ui-helper-clearfix:before {
    content: "";
    display: table;
    border-collapse: collapse
}

.ui-helper-clearfix:after {
    clear: both
}

.ui-helper-zfix {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    filter: Alpha(Opacity=0)
}

.ui-front {
    z-index: 100
}

.ui-state-disabled {
    cursor: default!important;
    pointer-events: none
}

.ui-icon {
    display: inline-block;
    vertical-align: middle;
    margin-top: -.25em;
    position: relative;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat
}

.ui-widget-icon-block {
    left: 50%;
    margin-left: -8px;
    display: block
}

.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}


/*!
 * jQuery UI Datepicker 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/datepicker/#theming
 */

.ui-datepicker {
    width: 17em;
    padding: .2em .2em 0;
    display: none
}

.ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: .2em 0
}

.ui-datepicker .ui-datepicker-next, .ui-datepicker .ui-datepicker-prev {
    position: absolute;
    top: 2px;
    width: 1.8em;
    height: 1.8em
}

.ui-datepicker .ui-datepicker-next-hover, .ui-datepicker .ui-datepicker-prev-hover {
    top: 1px
}

.ui-datepicker .ui-datepicker-prev {
    left: 2px
}

.ui-datepicker .ui-datepicker-next {
    right: 2px
}

.ui-datepicker .ui-datepicker-prev-hover {
    left: 1px
}

.ui-datepicker .ui-datepicker-next-hover {
    right: 1px
}

.ui-datepicker .ui-datepicker-next span, .ui-datepicker .ui-datepicker-prev span {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -8px;
    top: 50%;
    margin-top: -8px
}

.ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center
}

.ui-datepicker .ui-datepicker-title select {
    font-size: 1em;
    margin: 1px 0
}

.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
    width: 45%
}

.ui-datepicker table {
    width: 100%;
    font-size: .9em;
    border-collapse: collapse;
    margin: 0 0 .4em
}

.ui-datepicker th {
    padding: .7em .3em;
    text-align: center;
    font-weight: 700;
    border: 0
}

.ui-datepicker td {
    border: 0;
    padding: 1px
}

.ui-datepicker td a, .ui-datepicker td span {
    display: block;
    padding: .2em;
    text-align: right;
    text-decoration: none
}

.ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: .7em 0 0;
    padding: 0 .2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0
}

.ui-datepicker .ui-datepicker-buttonpane button {
    float: right;
    margin: .5em .2em .4em;
    cursor: pointer;
    padding: .2em .6em .3em;
    width: auto;
    overflow: visible
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left
}

.ui-datepicker.ui-datepicker-multi {
    width: auto
}

.ui-datepicker-multi .ui-datepicker-group {
    float: left
}

.ui-datepicker-multi .ui-datepicker-group table {
    width: 95%;
    margin: 0 auto .4em
}

.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 50%
}

.ui-datepicker-multi-3 .ui-datepicker-group {
    width: 33.3%
}

.ui-datepicker-multi-4 .ui-datepicker-group {
    width: 25%
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
    border-left-width: 0
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
    clear: left
}

.ui-datepicker-row-break {
    clear: both;
    width: 100%;
    font-size: 0
}

.ui-datepicker-rtl {
    direction: rtl
}

.ui-datepicker-rtl .ui-datepicker-prev {
    right: 2px;
    left: auto
}

.ui-datepicker-rtl .ui-datepicker-next {
    left: 2px;
    right: auto
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
    right: 1px;
    left: auto
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
    left: 1px;
    right: auto
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
    clear: right
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
    float: left
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, .ui-datepicker-rtl .ui-datepicker-group {
    float: right
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
    border-right-width: 0;
    border-left-width: 1px
}

.ui-datepicker .ui-icon {
    display: block;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat;
    left: .5em;
    top: .3em
}