@charset "utf-8";

/* 
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */


/* ==========================================================================
	 Base styles: opinionated defaults
	 ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}


/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::selection {
    background: #b3d4fc;
    text-shadow: none;
}


/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #D9D9D6;
    margin: 1em 0;
    padding: 0;
}


/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}


/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}


/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}


/* ==========================================================================
	 Author's custom styles
	 ========================================================================== */

@-ms-viewport {
    width: device-width;
}

html {
    box-sizing: border-box;
    -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

@keyframes place-bg {
  0% {
        opacity: 0;
  	}
  40% {
        opacity: 0;
  	}
  50% {
        opacity: 1;
  	}
  90% {
        opacity: 1;
    }
  100% {
        opacity: 0;
    }
}

@keyframes place-bg2 {
  0% {
        opacity: 1;
  	}
  40% {
        opacity: 1;
  	}
  50% {
        opacity: 0;
  	}
  90% {
        opacity: 0;
    }
  100% {
        
        opacity: 1;
    }
}
/*
@keyframes place-bg {
  0% {
        left: 0%;
  	}
  50% {
        left: 0%;
  	}
  100% {
        
        left: 100%;
    }
}

@keyframes place-bg-img {
  0% {
        margin-left: -100%;
  	}
  50% {
        margin-left: -100%;
  	}
  100% {
        margin-left: 0%;
    }
}

@keyframes place-bg2 {
  0% {
        left: 0%;
  	}
  50% {
        left: 100%;
  	}
  100% {
        
        left: 100%;
    }
}

@keyframes place-bg-img2 {
  0% {
        margin-left: -100%;
  	}
  50% {
        margin-left: 0%;
  	}
  100% {
        margin-left: 0%;
    }
}

*/

@keyframes place-bg3 {
    0% {
        left: 0%;
    }
    100% {
        left: 100%;
    }
}

@keyframes place-bg-img3 {
    0% {
        margin-left: -100%;
    }
    100% {
        margin-left: 0%;
    }
}

body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 90%;
    font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    color: #333;
}

a:focus,
a:hover {
    text-decoration: underline;
}

em {
    font-style: normal;
    font-weight: normal;
    color: #FF0244;
}

#wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
    background-color: #fff;
}

.container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-right: 20px;
    padding-left: 20px;
    width: 100%;
}

.container-fluid {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.row>div>*:first-child {
    margin-top: 0;
}

.row-1 {
    margin-right: -1px;
    margin-left: -1px;
}

.row-1>.col,
.row-1>[class*="col-"] {
    padding-right: 1px;
    padding-left: 1px;
}

.row-5 {
    margin-right: -5px;
    margin-left: -5px;
}

.row-5>.col,
.row-5>[class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
}

.row-10 {
    margin-right: -10px;
    margin-left: -10px;
}

.row-10>.col,
.row-10>[class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

.row-20 {
    margin-right: -20px;
    margin-left: -20px;
}

.row-20>.col,
.row-20>[class*="col-"] {
    padding-right: 20px;
    padding-left: 20px;
}

.row-30 {
    margin-right: -30px;
    margin-left: -30px;
}

.row-30>.col,
.row-30>[class*="col-"] {
    padding-right: 30px;
    padding-left: 30px;
}

.row-40 {
    margin-right: -40px;
    margin-left: -40px;
}

.row-40>.col,
.row-40>[class*="col-"] {
    padding-right: 40px;
    padding-left: 40px;
}

.row-50 {
    margin-right: -50px;
    margin-left: -50px;
}

.row-50>.col,
.row-50>[class*="col-"] {
    padding-right: 50px;
    padding-left: 50px;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters>.col,
.no-gutters>[class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.col-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.col-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
}

.col-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}

.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
}

.col-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}

.col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}

.col-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
}

.col-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.order-first {
    -ms-flex-order: -1;
    order: -1;
}

.order-last {
    -ms-flex-order: 15;
    order: 15;
}

.order-0 {
    -ms-flex-order: 0;
    order: 0;
}

.order-1 {
    -ms-flex-order: 1;
    order: 1;
}

.order-2 {
    -ms-flex-order: 2;
    order: 2;
}

.order-4 {
    -ms-flex-order: 4;
    order: 4;
}

.order-5 {
    -ms-flex-order: 5;
    order: 5;
}

.order-6 {
    -ms-flex-order: 6;
    order: 6;
}

.order-7 {
    -ms-flex-order: 7;
    order: 7;
}

.order-8 {
    -ms-flex-order: 8;
    order: 8;
}

.order-9 {
    -ms-flex-order: 9;
    order: 9;
}

.order-10 {
    -ms-flex-order: 10;
    order: 10;
}

.order-12 {
    -ms-flex-order: 12;
    order: 12;
}

.order-13 {
    -ms-flex-order: 13;
    order: 13;
}

.order-14 {
    -ms-flex-order: 14;
    order: 14;
}

.offset-1 {
    margin-left: 8.333333%;
}

.offset-2 {
    margin-left: 16.666667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.333333%;
}

.offset-5 {
    margin-left: 41.666667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.333333%;
}

.offset-8 {
    margin-left: 66.666667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.333333%;
}

.offset-11 {
    margin-left: 91.666667%;
}

@media (min-width: 576px) {
    .col-sm {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-sm-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-sm-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-sm-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-sm-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-sm-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-sm-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-sm-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-sm-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-sm-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-sm-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-sm-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-sm-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-sm-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-sm-last {
        -ms-flex-order: 15;
        order: 15;
    }
    .order-sm-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-sm-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-sm-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-sm-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-sm-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-sm-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-sm-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-sm-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-sm-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-sm-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-sm-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .order-sm-13 {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-sm-14 {
        -ms-flex-order: 14;
        order: 14;
    }
    .offset-sm-0 {
        margin-left: 0;
    }
    .offset-sm-1 {
        margin-left: 8.333333%;
    }
    .offset-sm-2 {
        margin-left: 16.666667%;
    }
    .offset-sm-3 {
        margin-left: 25%;
    }
    .offset-sm-4 {
        margin-left: 33.333333%;
    }
    .offset-sm-5 {
        margin-left: 41.666667%;
    }
    .offset-sm-6 {
        margin-left: 50%;
    }
    .offset-sm-7 {
        margin-left: 58.333333%;
    }
    .offset-sm-8 {
        margin-left: 66.666667%;
    }
    .offset-sm-9 {
        margin-left: 75%;
    }
    .offset-sm-10 {
        margin-left: 83.333333%;
    }
    .offset-sm-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 768px) {
    .col-md {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-md-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-md-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-md-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-md-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-md-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-md-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-md-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-md-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-md-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-md-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-md-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-md-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-md-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-md-last {
        -ms-flex-order: 15;
        order: 15;
    }
    .order-md-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-md-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-md-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-md-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-md-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-md-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-md-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-md-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-md-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-md-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-md-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .order-md-13 {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-md-14 {
        -ms-flex-order: 14;
        order: 14;
    }
    .offset-md-0 {
        margin-left: 0;
    }
    .offset-md-1 {
        margin-left: 8.333333%;
    }
    .offset-md-2 {
        margin-left: 16.666667%;
    }
    .offset-md-3 {
        margin-left: 25%;
    }
    .offset-md-4 {
        margin-left: 33.333333%;
    }
    .offset-md-5 {
        margin-left: 41.666667%;
    }
    .offset-md-6 {
        margin-left: 50%;
    }
    .offset-md-7 {
        margin-left: 58.333333%;
    }
    .offset-md-8 {
        margin-left: 66.666667%;
    }
    .offset-md-9 {
        margin-left: 75%;
    }
    .offset-md-10 {
        margin-left: 83.333333%;
    }
    .offset-md-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 992px) {
    .col-lg {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-lg-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-lg-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-lg-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-lg-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-lg-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-lg-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-lg-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-lg-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-lg-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-lg-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-lg-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-lg-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-lg-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-lg-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-lg-last {
        -ms-flex-order: 15;
        order: 15;
    }
    .order-lg-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-lg-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-lg-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-lg-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-lg-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-lg-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-lg-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-lg-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-lg-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-lg-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-lg-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .order-lg-13 {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-lg-14 {
        -ms-flex-order: 14;
        order: 14;
    }
    .offset-lg-0 {
        margin-left: 0;
    }
    .offset-lg-1 {
        margin-left: 8.333333%;
    }
    .offset-lg-2 {
        margin-left: 16.666667%;
    }
    .offset-lg-3 {
        margin-left: 25%;
    }
    .offset-lg-4 {
        margin-left: 33.333333%;
    }
    .offset-lg-5 {
        margin-left: 41.666667%;
    }
    .offset-lg-6 {
        margin-left: 50%;
    }
    .offset-lg-7 {
        margin-left: 58.333333%;
    }
    .offset-lg-8 {
        margin-left: 66.666667%;
    }
    .offset-lg-9 {
        margin-left: 75%;
    }
    .offset-lg-10 {
        margin-left: 83.333333%;
    }
    .offset-lg-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-xl-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }
    .col-xl-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-xl-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-xl-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-xl-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-xl-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-xl-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-xl-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-xl-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-xl-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-xl-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-xl-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-xl-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-xl-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-xl-last {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-xl-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-xl-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-xl-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-xl-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .order-xl-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-xl-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-xl-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-xl-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-xl-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-xl-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-xl-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-xl-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .order-xl-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .offset-xl-0 {
        margin-left: 0;
    }
    .offset-xl-1 {
        margin-left: 8.333333%;
    }
    .offset-xl-2 {
        margin-left: 16.666667%;
    }
    .offset-xl-3 {
        margin-left: 25%;
    }
    .offset-xl-4 {
        margin-left: 33.333333%;
    }
    .offset-xl-5 {
        margin-left: 41.666667%;
    }
    .offset-xl-6 {
        margin-left: 50%;
    }
    .offset-xl-7 {
        margin-left: 58.333333%;
    }
    .offset-xl-8 {
        margin-left: 66.666667%;
    }
    .offset-xl-9 {
        margin-left: 75%;
    }
    .offset-xl-10 {
        margin-left: 83.333333%;
    }
    .offset-xl-11 {
        margin-left: 91.666667%;
    }
}

.col-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths,
.col-80per,
.col-sm-80per,
.col-md-80per,
.col-lg-80per {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-5ths {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}

.order-3 {
    -ms-flex-order: 3;
    order: 3;
}

.offset-5ths {
    margin-left: 20%;
}

.col-80per {
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
}

.order-11 {
    -ms-flex-order: 11;
    order: 11;
}

.offset-80per {
    margin-left: 80%;
}

@media (min-width: 576px) {
    .col-sm-5ths {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .order-sm-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .offset-sm-5ths {
        margin-left: 20%;
    }
    .col-sm-80per {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }
    .order-sm-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .offset-sm-80per {
        margin-left: 80%;
    }
}

@media (min-width: 768px) {
    .col-md-5ths {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .order-md-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .offset-md-5ths {
        margin-left: 20%;
    }
    .col-md-80per {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }
    .order-md-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .offset-md-80per {
        margin-left: 80%;
    }
}

@media (min-width: 992px) {
    .col-lg-5ths {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .order-lg-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .offset-lg-5ths {
        margin-left: 20%;
    }
    .col-lg-80per {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }
    .order-lg-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .offset-lg-80per {
        margin-left: 80%;
    }
}

@media (min-width: 1200px) {
    .col-xl-5ths {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .order-xl-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .offset-xl-5ths {
        margin-left: 20%;
    }
    .col-xl-80per {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }
    .order-xl-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .offset-xl-80per {
        margin-left: 80%;
    }
}

#menuLightBox {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff;
    opacity: 1;
    z-index: 9999;
}

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

a[href] {
    transition: all 0.15s ease;
}

a[href^="tel:"] {
    text-decoration: inherit;
    color: inherit;
}

.text-link {
    text-decoration: underline;
}

.text-link:hover,
.text-link:focus {
    text-decoration: none;
}

.ext-link {
    display: inline-block;
}

.req {
    color: #D9D9D6;
}

.hoverf:hover,
.hoverf:focus {
    text-decoration: none;
}

.thumbnail {
    display: block;
    margin-bottom: 24px;
    font-size: 16px;
}

.embed-responsive {
    position: relative;
    display: block;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.embed-responsive .embed-responsive-item,
.embed-responsive embed,
.embed-responsive iframe,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.embed-responsive-facebook {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 670px;
}

.embed-responsive-16by9 {
    padding-bottom: 56.25%;
}

.embed-responsive-43-100 {
    padding-bottom: 43.75%;
}

.img-responsive,
.thumbnail a>img,
.thumbnail>img {
    display: block;
    max-width: 100%;
    height: auto;
}

.image-box {
    margin: 0 0 20px;
}

.image-box2 {
    margin: 0;
}

.image-box3 {
    margin: 0;
}

.image-box a {
    display: inline-block;
    color: inherit;
}

.image-box img {
    margin: 0 auto;
}

.image-box2 img {
    margin: 10px auto;
}

.image-box3 img {
    margin: 10px auto;
}

.col-md-4 .image-box2 .img-responsive {
    max-width: 300px;
}

.col-md-4 .image-box3 .img-responsive {
    max-width: 340px;
}

.image-box-pic {
    margin: 0 0 30px;
}

.image-box-pic img {
    width: 100%;
}

.caption {
    margin-top: 10px;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.6;
}

.main .caption .title04 {
    margin-bottom: 0;
}

section .image-box .caption {
    margin-bottom: 30px;
}

.caption [class*='icon-ext-link'] {
    margin-left: 5px;
}

.profile-pic .caption {
    font-size: 16px;
}

.videos-box p {
    font-size: inherit;
}

.text-left {
    text-align: left!important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right!important;
}

.icon {
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 0 0;
}

.icon-s {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: 0 0;
}

.icon-ext-link {
    min-width: 12px;
    height: 12px;
    background-image: url(../images/ico-ext-link.svg);
}

.icon-pdf {
    margin-left: 5px;
    min-width: 17px;
    height: 17px;
    background-image: url(../images/ico-pdf.svg);
}

.icon-angle-l {
    min-width: 5px;
    height: 9px;
    background-image: url(../images/ico-angle-l.svg);
}

.icon-angle-r {
    min-width: 5px;
    height: 9px;
    background-image: url(../images/ico-angle-r.svg);
}

.icon-angle-r2 {
    min-width: 9px;
    height: 20px;
    background-image: url(../images/ico-angle-r2.svg);
}

.icon-angle-r3 {
    min-width: 6px;
    height: 13px;
    background-image: url(../images/ico-angle-r2.svg);
}

.icon-angle-d {
    min-width: 16px;
    height: 7px;
    background-image: url(../images/ico-angle-d.svg);
}

.icon-calendar {
    min-width: 24px;
    height: 20px;
    background-image: url(../images/ico-calendar.svg);
}

.icon-cloud {
    min-width: 97px;
    height: 97px;
    background-image: url(../images/ico-cloud@2x.png);
}

.icon-cloud2 {
    min-width: 97px;
    height: 97px;
    background-image: url(../images/ico-cloud2@2x.png);
}

.icon-cloud3 {
    min-width: 97px;
    height: 97px;
    background-image: url(../images/ico-cloud3@2x.png);
}

.icon-cloud4 {
    min-width: 97px;
    height: 97px;
    background-image: url(../images/ico-cloud4@2x.png);
}

.icon-cloud5 {
    min-width: 97px;
    height: 97px;
    background-image: url(../images/ico-cloud5@2x.png);
}

.icon-email {
    min-width: 21px;
    height: 17px;
    background-image: url(../images/ico-email.svg);
}

.icon-flag {
    min-width: 23px;
    height: 19px;
    background-image: url(../images/ico-flag.svg);
}

.icon-flyer {
    min-width: 21px;
    height: 21px;
    background-image: url(../images/ico-flyer.svg);
}

.icon-flyer2 {
    min-width: 21px;
    height: 21px;
    background-image: url(../images/ico-flyer2.svg);
}

.icon-guide {
    min-width: 67px;
    height: 161px;
    background-image: url(../images/ico-guide@2x.png);
}

.icon-mailbox {
    min-width: 76px;
    height: 120px;
    background-image: url(../images/ico-mailbox@2x.png);
}

.icon-mailbox2 {
    min-width: 263px;
    height: 99px;
    background-image: url(../images/ico-mailbox2-pc@2x.png);
}

.icon-request-shapes {
    min-width: 311px;
    height: 193px;
    background-image: url(../images/ico-request-shapes-sp@2x.png);
}

.icon-phone {
    min-width: 14px;
    height: 22px;
    background-image: url(../images/ico-phone.svg);
}

.icon-suitcase {
    min-width: 23px;
    height: 18px;
    background-image: url(../images/ico-suitcase.svg);
}

.icon-tower {
    min-width: 26px;
    height: 22px;
    background-image: url(../images/ico-tower.svg);
}

.icon-time {
    min-width: 30px;
    height: 30px;
    background-image: url(../images/ico-time.svg);
}

.icon-bus-stop {
    min-width: 12px;
    height: 30px;
    background-image: url(../images/ico-bus-stop.svg);
}

.icon-bus-stop2 {
    min-width: 33px;
    height: 50px;
    background-image: url(../images/ico-bus-stop2.svg);
}

.icon-parking {
    min-width: 38px;
    height: 22px;
    background-image: url(../images/ico-parking.svg);
}

.icon-purse {
    min-width: 32px;
    height: 30px;
    background-image: url(../images/ico-purse.svg);
}

.icon-clover {
    min-width: 30px;
    height: 30px;
    background-image: url(../images/ico-clover.svg);
}

.icon-phone2 {
    min-width: 34px;
    height: 34px;
    background-image: url(../images/ico-phone2.svg);
}

.icon-chord {
    min-width: 40px;
    height: 26px;
    background-image: url(../images/ico-chord.svg);
}

.arrow-link a,
.arrow-link2 a {
    padding-top: 5px;
    padding-left: 15px;
    padding-bottom: 5px;
}

.arrow-link2 a {
    padding-left: 30px;
}

.arrow-link [class*='icon-ext-link'],
.arrow-link2 [class*='icon-ext-link'] {
    position: relative;
    top: -1px;
}

.arrow-link2 [class*='icon-arrow'] {
    position: absolute;
    top: 12px;
    left: 0;
}

.arrow-link a,
.arrow-link p,
.arrow-link div,
.arrow-link2 a,
.arrow-link2 p,
.arrow-link2 div {
    position: relative;
    display: block;
    color: inherit;
}

.arrow-link a,
.arrow-link2 a {
    color: inherit;
}

.arrow-link a [class*='icon-angle-r'],
.arrow-link p [class*='icon-angle-r'],
.arrow-link div [class*='icon-angle-r'],
.arrow-link2 a [class*='icon-angle-r'],
.arrow-link2 p [class*='icon-angle-r'],
.arrow-link2 div [class*='icon-angle-r'] {
    position: absolute;
    top: 14px;
    left: 0;
}

[class*='icon-ext-link'],
.icon-pdf {
    margin-left: 5px;
    color: inherit;
}

section .btn-container {
    margin-top: 20px;
}

[class*='more-link'] {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin-bottom: 20px;
    border: 1px solid #F8EFD7;
    border-radius: 20px;
    padding: 11px 15px;
    background-color: #F8EFD7;
    max-width: 340px;
    width: 100%;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
}

[class*='more-link']:hover,
[class*='more-link']:focus {
    text-decoration: none;
}

[class*='more-link']>span {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
}

.more-link-whole {
    max-width: 9999px;
    text-align: left;
}

.space-block {
    display: block;
    margin-bottom: 1rem;
}

.space-block [class*='icon-angle'] {
    position: relative;
    top: 2px;
    margin-right: 5px;
}

.main .anchor-link-menu-box {
    margin-bottom: 30px;
}

.main .anchor-link-menu {
    display: block;
    padding: 0;
    list-style: none;
}

.anchor-link-menu li {
    display: block;
    margin-bottom: 10px;
    border-left: none;
}

.anchor-link-menu li:first-child {
    border-left: none;
}

.anchor-link-menu li:last-child {
    border-right: none;
}

.anchor-link-menu a {
    position: relative;
    display: block;
    color: inherit;
}

.anchor-link-menu a [class*='icon-angle-d'] {
    position: relative;
    top: -3px;
    margin-right: 10px;
    transition: all 0.3s ease;
}

.anchor-link-menu a:hover,
.anchor-link-menu a:focus {
    text-decoration: none;
    opacity: 0.8;
}


/* bxslider */

body .bx-wrapper {
    margin-bottom: 0;
    border: none;
    box-shadow: none;
    z-index: 0;
}

.front .bx-wrapper {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
}

.front .bx-wrapper .bx-viewport {
    left: 0;
}

body .bx-wrapper .bxslider .bx-caption {
    top: 50%;
    bottom: auto;
    background: none;
}

body [class*='bxslider'] {
    margin: 0;
    padding: 0;
}

body .bx-wrapper a {
    display: block;
}

body .bx-wrapper img {
    display: inline-block;
    width: 100%;
}

.front .bx-wrapper img {
    display: block;
}

.front .bx-wrapper .top-slogan-title img {
    min-width: 220px;
}

li time {
    margin-right: 10px;
}

.news-links-title {
    margin-bottom: 20px;
    text-align: center;
}

.news-link {
    margin-left: 0;
    margin-right: 0;
}

.label {
    display: inline-block;
    border: 1px solid #F5E0B0;
    margin: 0;
    border-radius: 13px;
    padding: 5px 20px;
    background-color: #F5E0B0;
    text-decoration: none;
    font-size: 12px;
    text-align: center;
    line-height: 1;
}

.label-important {
    border: 1px solid #FF0244;
    background-color: #FF0244;
    color: #fff;
}

.label-black {
    border: 1px solid #000;
    background-color: #000;
    color: #fff;
}

.label-brown {
    border: 1px solid #9F7E2B;
    background-color: #9F7E2B;
    color: #fff;
}

a.label:hover,
a.label:focus,
.main ul a.label:hover,
.main ul a.label:focus  {
    background-color: #fff;
    color: #901717;
    text-decoration: none;
}

time {
    display: inline-block;
    margin-right: 0;
}

.list-group {
    vertical-align: top;
    display: block;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}

.main .list-group {
    padding-left: 0;
    list-style: none;
}

.list-group li {
    display: block;
    border-bottom: 3px solid transparent;
    border-width: 2px;
    /*border-width: 2px 0 0 0;*/
    border-image: url(../images/border3@2x.png) 4 repeat;
    padding: 11px 0;
    text-decoration: none;
    line-height: 1.6;
}

.list-group li:first-child {
    display: block;
    border-top: 3px solid transparent;
    border-width: 2px;
    /*border-width: 2px 0 0 0;*/
    border-image: url(../images/border3@2x.png) 4 repeat;
}
.list-group li:last-child {
	border-width: 2px;
	/*border-width: 2px 0 2px 0;*/
}
.list-group li .news-link:hover,
.list-group li .news-link:focus {
    text-decoration: none;
}

.list-group li .news-link {
    display: block;
    margin-top: 15px;
    width: auto;
}

.list-group li p {
    margin: 0 0 5px;
}

.list-news li:first-child {
    border-top: 1px solid #E7E7E7;
}

.list-news time {
    max-width: 120px;
    text-align: center;
    color: #666;
}

.news-entry {
    margin-bottom: 20px;
}

.news-entry li {
    border-bottom: none;
    padding-top: 20px;
    padding-bottom: 20px;
}

.news-entry li:first-of-type {
    border: none;
}

.news-entry li p:first-of-type,
.news-entry li .label {
    margin-bottom: 0;
}

.news-entry li .label {
    padding-top: 2px;
    max-width: 9999px;
    width: auto;
}

.news-entry li time {
    color: #666;
}

.news-entry-row {
    padding-right: 5px;
    padding-left: 5px;
}

.news-entry-row .image-box {
    margin-bottom: 20px;
    padding-right: 10px;
    padding-left: 10px;
}

.main .news-entry-title {
    margin-bottom: 0;
    font-size: 21px;
    font-weight: normal;
}


/* Topicpath */

.topicpath {
    display: none;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    padding: 33px 20px 49px;
    line-height: 1.5;
}

.topicpath ul {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    max-width: 1286px;
    list-style: none;
    font-size: 85%;
}

.topicpath li {
    display: inline-block;
    color: #707070;
}

.topicpath li:nth-child(even) {
    padding: 0 10px;
}

.topicpath li a:hover,
.topicpath li a:focus {
    text-decoration: underline;
}

.header_menu_sub {
    display: block;
    border-bottom: 1px solid #EDEDED;
    padding: 25px 15px 0;
}

.header_menu_sub>div {
    -ms-justify-content: space-between;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    max-width: 960px;
    text-align: center;
}

.header_menu_sub>div>div {
    margin-left: 5px;
    margin-right: 5px;
}

.header_menu_sub div a {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    margin: 0;
    text-decoration: none;
    border: none;
    font-size: 12px;
    text-align: center;
    z-index: 1;
}

.header_menu_sub div a>div {
    position: relative;
    padding-bottom: 25px;
}

.header_menu_sub div a>div:after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    content: "";
    width: 0%;
    transition: all .3s ease;
    height: 1px;
    background-color: #EFEBDC;
}

.header_menu_sub div a:hover>div:after,
.header_menu_sub div a:focus>div:after,
.page--top div .nav--top a>div:after {
    width: 100%;
}


/* Paging */

.paging-container {
    margin-top: 40px;
}

.main .paging {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-justify-content: center;
    justify-content: center;
    margin: 0 auto 50px;
    padding: 0;
    list-style: none;
    text-align: center;
    position: relative;
}

.paging .link_page a,
.paging .current_page span {
    display: inline-block;
    padding: 10px;
}

.paging .current_page span {
    font-weight: bold;
}

.paging a {
    text-decoration: underline;
}

.paging a:hover,
.paging a:focus {
    text-decoration: none;
}

.paging [class*='icon-angle'] {
    position: relative;
    top: 2px;
}

.paging .link_prev,
.paging .link_next {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.paging .link_prev {
    text-align: left;
}

.paging .link_prev a {
    padding-left: 0;
}

.paging .link_next {
    text-align: right;
}

.paging .link_next a {
    padding-right: 0;
}

.paging .link_prev [class*='icon-arrow'] {
    margin-right: 10px;
}

.paging .link_next [class*='icon-arrow'] {
    margin-left: 10px;
}

.entry-paging-container .paging {
    -ms-justify-content: space-between;
    justify-content: space-between;
}


/* Return Top */

.pageTop {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    z-index: 999;
}

.pageTop a {
    position: absolute;
    display: none;
    border-radius: 24px;
    bottom: 25px;
    right: 25px;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 5px;
    background: url(../images/ico-top.svg) no-repeat 50% 50% #FF3466;
    background-size: 15px 7px;
    text-decoration: none;
    font-size: 24px;
    text-align: center;
    line-height: 0;
}

.imglink-inner-row {
    margin-bottom: 10px;
    background-color: #fff;
}

.imglink-inner-content p {
    margin-bottom: 0;
}

.imglink-inner-row .imglink-inner-content {
    display: -ms-flexbox;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    padding: 10px;
    line-height: 1.6;
}

.form-terms a {
    color: inherit;
    text-decoration: underline;
}

.form-terms a:hover,
.form-terms a:focus {
    text-decoration: none;
}

.form-table .form-width-11percent {
    width: 11%;
}

.form-table .form-width-15percent {
    width: 15%;
}

.form-table .form-width-22percent {
    width: 25%;
}

.form-table .form-width-1quarter {
    width: 100%;
}

.form-table .form-width-40percent {
    width: 100%;
}

.form-table .form-width-half {
    width: 100%;
}

.form-table .form-width-55percent {
    width: 100%;
}

.form-table .form-width-2-3 {
    width: 100%;
}

.form-table .form-width-3quarters {
    width: 100%;
}

.form-table .form-width-full {
    width: 100%;
}

.form-table .form-width-mini {
    max-width: 200px;
    width: 100%;
}

.form-table .form-width-medium {
    max-width: 230px;
    width: 100%;
}

form small {
    display: inline-block;
    line-height: 1.5;
}

form em {
    font-style: normal;
    font-weight: normal;
}

form label {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 0;
}

.required {
    padding: 3px 5px;
    background-color: #EFEBDC;
    font-size: 90%;
    color: #fff;
}

.error,
.main .form-table td .error {
    color: #EFEBDC;
}

.form-space {
    display: inline-block;
    padding: 0;
}

.form-space:first-child {
    padding-left: 0;
    min-width: 27px;
}

.form-space:last-child {
    padding-right: 0;
}

.form-space span {
    display: inline-block;
}

.main input[type=text],
.main input[type=email],
.main textarea {
    border: 1px solid #BEBEBE;
    padding: 2px;
    line-height: normal;
}

.main input[type=text]::placeholder,
.main input[type=email]::placeholder,
.main select::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #ccc;
    opacity: 1;
    /* Firefox */
}

.main input[type=text]:-ms-input-placeholder,
.main input[type=email]:-ms-input-placeholder,
.main select:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #ccc;
}

.main table td textarea:last-child {
    margin-bottom: 0;
}

.formBtnBox .more-link {
    border: none;
}

.main select {
    margin-bottom: 10px;
    -webkit-appearance: none;
    border-radius: 0;
    border-color: #BEBEBE;
    background-color: #fff;
    width: 100%;
    color: #222222;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .main select {
        padding: 0 30px 0 10px;
        min-height: 38px;
        background-image: url(../images/ico-angle-form.svg);
        background-position: 96% 50%;
        background-repeat: no-repeat;
        background-size: 20px 9px;
    }
}

.main select option:first-child,
.main input[type=text]:-ms-input-placeholder,
.main select:-ms-input-placeholder {
    /* Microsoft Edge */
    color: #ccc;
}

.main .form-table td>select[name=check_job] {
    margin-bottom: 10px;
}

.news-cat-arch-box {
    margin-top: 20px;
}

.news-cat-arch-box .title05 {
    margin-bottom: 13px;
    font-weight: normal;
    font-size: 18px;
}

.news-cat-arch-box .title01 {
    margin-bottom: 0;
}

.mailStep {
    margin-top: 30px;
    margin-bottom: 20px;
    text-align: center;
}

.mailStep img {
    display: inline-block;
}

.formBtnBox button {
    display: block;
    margin: 20px auto;
    border-radius: 34px;
    padding: 15px;
    max-width: 530px;
    width: 100%;
    transition: all 0.15s ease;
    cursor: pointer;
}

.main table td button *:last-child {
    margin-bottom: 0;
}

.formBtnBox button .icon {
    position: relative;
    top: 1px;
    margin-left: 5px;
}

.formprivacybox {
    padding: 10px;
    background-color: #eee;
}

.formprivacybox label {
    display: block;
    margin: 20px auto 0;
}

.formBtnBox .call-action-btn {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin-top: 40px;
    border: 1px solid #F5E0B0;
    padding: 19px 20px;
    background-color: #F5E0B0;
    text-align: center;
}

.formBtnBox .form-reset {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    border: 1px solid #707070;
    padding: 19px;
    background-color: #707070;
    max-width: 380px;
    color: #fff;
}

.upper_header {
    padding: 0;
    font-size: 11px;
    text-align: right;
}

.top-header {
    line-height: 1;
}

.header_inner {
    position: relative;
    z-index: 9999;
}

.header-contact-box {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
}

.header-contact-box a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin: 0 4px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #FF3466;
    text-decoration: none;
    font-weight: bold;
}

.header_contents {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    z-index: 99;
}

nav>ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: absolute;
    top: 16px;
    left: -20px;
    right: -20px;
    display: none;
    margin: 0;
    padding: 0 0 20px;
    background-color: #fff;
    list-style: none;
    z-index: 99999;
}

nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
}

nav li {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0;
    border-bottom: 1px solid #FF3466;
    padding: 0;
    font-size: 16px;
}

nav li:first-child {
    border-top: 1px solid #FF3466;
}

nav .nav-sp-link {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

nav .nav-sp-link:nth-child(even) {
    border-right: 1px solid #ccc;
}

.nav-dropdown-box {
    display: none;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
}

.nav-dropdown-box ul {
    display: block;
    padding: 15px;
    background-color: #2484E3;
}

.nav-dropdown-box ul li a {
    padding: 15px;
    font-weight: normal;
}

.nav-dropdown-box ul li a .icon {
    display: none;
}

.nav-dropdown-box ul li a:hover,
.nav-dropdown-box ul li a:focus {
    background-color: #CBCBCB;
}

nav li a,
.nav-sp-open {
    cursor: pointer;
    display: block;
    position: relative;
    padding: 20px;
}

.nav-sp-open.open {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

nav li a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: center;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

nav li a:hover,
nav li a:focus,
.page-special nav li .nav-special,
.page-search nav li .nav-search,
.page-calendar nav li .nav-calendar,
.page-area nav li .nav-area,
.page-flag nav li .nav-flag,
.page-decision nav li .nav-decision,
.page-guide .upper_header .nav-guide,
.page-platform .upper_header .nav-platform,
.page-pointcard .upper_header .nav-card,
.page-safety .upper_header .nav-safety,
.page-booking .upper_header .nav-booking,
.page-contact .upper_header .nav-contact {
    background-color: #FF3466;
    color: #fff;
    text-decoration: none;
}

nav .ul-angle-link {
    margin-top: 25px;
    font-size: 12px;
    width: 100%;
}

nav .ul-angle-link a,
nav .ul-angle-link a:hover,
nav .ul-angle-link a:focus {
    background-color: transparent;
    padding: 11px 0;
    font-weight: normal;
}

nav .ul-angle-link a:hover,
nav .ul-angle-link a:focus {
    padding: 11px 0;
    text-decoration: underline;
    font-weight: normal;
}

nav li a [class*='icon-angle-menu'] {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 5px;
    height: 10px;
    background-image: url(../images/ico-menu.svg);
    background-size: 5px 20px;
    background-position: 0 0;
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

nav li a:hover [class*='icon-angle-menu'],
nav li a:focus [class*='icon-angle-menu'],
.page- nav li .nav- [class*='icon-angle-menu'] {
    background-position: 0 100%;
}

.search {
    min-width: 156px;
}

.search form {
    position: relative;
    margin: 20px auto 35px;
    width: 156px;
}

.search input[type=text] {
    width: 100%;
    max-width: 185px;
    border: 1px solid #D9D9D6;
    border-radius: 10px;
    padding: 5px 35px 5px 5px;
    height: 31px;
}

.search button {
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 0;
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    border: none;
    padding-top: 5px;
    background-color: transparent;
    width: 30px;
    height: 29px;
    color: #fff;
}

.logo {
    padding-left: 0;
    padding-right: 6px;
    line-height: 1.2;
}

.header {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: center;
    padding: 15px 25px;
}

.header .title01 {
    display: inline-block;
    margin: 0;
    padding-top: 0;
    line-height: 0;
}

.header .title01 img {
    min-width: 130px;
    max-width: 130px;
    height: 42px;
}

.header p {
    display: none;
}

.block-center {
    display: block!important;
    margin-left: auto!important;
    margin-right: auto!important;
}

.nofloat {
    float: none!important;
}

.ja-left {
    float: left!important;
}

.ja-right {
    float: right!important;
}

.nav-btn-container {
    position: relative;
    margin-left: 5px;
}

.nav-btn-container.nbc-open:before {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    border-radius: 6px;
    background-color: #fff;
    z-index: 5;
    opacity: 0.5;
}

.nav-open-container {
    display: -ms-flexbox;
    display: flex;
    -ms-align-items: center;
    align-items: center;
}

.nav-open-btn {
    position: relative;
    display: block;
    width: 75px;
    height: 50px;
    border-radius: 6px;
    padding: 7px 5px 5px;
    background-color: #FFBCCC;
    font-size: 10px;
    cursor: pointer;
    text-align: center;
}

.nav-open-btn:before {
    position: relative;
    content: '';
    display: block;
    margin: 2px auto 8px;
    width: 15px;
    height: 13px;
    background-size: 15px 26px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-image: url(../images/menu-r.svg);
}

.nav-open-btn.open:before {
    margin-top: 3px;
    width: 12px;
    height: 12px;
    background-position: -1px -14px;
}

.nav-open-btn:hover,
.nav-open-btn:focus {
    text-decoration: none;
}

.nav-sp-close {
    border-bottom: none;
    padding: 20px;
    text-align: center;
}

.nav-close-btn {
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin: 0 auto;
    border: 1px solid #CCC;
    width: 160px;
    height: 40px;
}

.nav-close-btn .icon-close {
    margin-left: 10px;
}

.main-title-box {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-align-items: flex-start;
    align-items: flex-start;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../images/template/banner@2x.jpg);
    height: 500px;
    padding: 80px 24px 15px 24px;
    overflow: hidden;
    line-height: 1.7;
}

.main-title-box .title01 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-align-items: flex-start;
    align-items: flex-start;
    margin: 0 auto;
    max-width: 1366px;
    padding: 0;
    font-size: 24px;
    font-weight: normal;
    line-height: 1.9;
}

.main-title-box .title01>* {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 1px 10px;
}

.main-title-box .title01>small,
.main-title-box .title01>span {
    display: inline-block;
    margin-bottom: 8px;
    background-color: #FFF;
}

.main-title-box .title01>small {
    padding: 3px 14px;
    background-color: #F6DFA7;
    font-size: 14px;
}

.main-title-box .title01>span {
    margin-bottom: 10px;
}

.main-title-box .title01>span:last-child {
    margin-bottom: 0;
    font-size: 18px;
}

.main-title-box .title01>span:last-child small {
    position: relative;
    top: -4px;
    margin-right: 12px;
    font-size: 11px;
}

.main-wrapper {
    padding: 50px 0 80px;
}

.main-wrapper2 {
    padding: 0 0 80px;
}

.main {
    min-height: 63px;
    line-height: 1.9;
}

.banner-main {
    margin-bottom: 127px;
}

.main .main-content {
    padding-bottom: 0;
}

.row.main .main-content {
    padding-bottom: 60px;
}

.main .main-content section:last-child {
    margin-bottom: 0;
}

.main .title01,
.main .title02,
.main .title03,
.main .title04,
.main .title05,
.main .title06 {
    margin-top: 0;
    margin-bottom: 20px;
    line-height: 1.4;
}

.title01 {
    font-size: 22px;
}

.title02 {
    font-size: 18px;
}

.title04 {
    font-size: 18px;
}

.title05 {
    font-size: 16px;
}

.title06 {
    font-size: 14px;
}

.main .title02 {
    position: relative;
    padding-left: 11px;
    font-weight: normal;
    line-height: 1.5;
}

.main .title02 .title-text-inner {
    display: block;
}

.main .title02:before {
    display: block;
    position: absolute;
    content: '';
    top: calc(50% - 29px);
    left: -10px;
    width: 57px;
    height: 57px;
    background: url(../images/ico-cloud@2x.png) no-repeat 50% 50%;
    background-size: cover;
}

.main .title02 span {
    position: relative;
}

.main .title03 {
    border: 24px solid #fff;
    border-width: 16px 21px;
    border-image: url(../images/border1-sp@2x.png) 44 round;
    border-radius: 24px;
    background-color: #fff;
    font-size: 18px;
    font-weight: normal;
}

.main .title04 {
    position: relative;
    margin-bottom: 26px;
    padding-left: 1px;
    padding-right: 1px;
    font-size: 16px;
    font-weight: normal;
}

.main .title04:after {
    position: absolute;
    content: '';
    display: block;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 18px;
    border-radius: 9px;
    background-color: #FBFF96;
}

.main .title04>span {
    position: relative;
    z-index: 1;
}

body .main .mb-0 {
    margin-bottom: 0;
}

body .main .mb-10 {
    margin-bottom: 10px;
}

body .main .mb-20 {
    margin-bottom: 20px;
}

body .main .mb-30 {
    margin-bottom: 30px;
}

body .main .mb-40 {
    margin-bottom: 40px;
}

body .main .mb-50 {
    margin-bottom: 50px;
}

body .main .mb-60 {
    margin-bottom: 60px;
}

body .main .mb-70 {
    margin-bottom: 70px;
}

body .main .mb-80 {
    margin-bottom: 80px;
}

body .main .mb-100 {
    margin-bottom: 100px;
}

body .main .anchor-link {
    margin-top: -20px;
    padding-top: 20px;
}

.intro-datetime {
    margin-top: 0;
}

.main .intro-section {
    margin-bottom: 80px;
}

.main .intro-section .title01 {
    margin-top: 0;
    padding: 50px 0 0;
    font-size: 24px;
    font-weight: normal;
    text-align: center;
    line-height: 1.6;
}

.main section {
    margin-bottom: 72px;
}

.main>*:last-child,
.main section>*:last-child {
    margin-bottom: 0;
}

.main aside section {
    margin-bottom: 20px;
}

.main table td p {
    margin: 20px 0 0;
}

.main table .ordered-l li,
.main table .unordered-l li {
    margin-bottom: 0;
    padding-bottom: 0;
}

.main table td *:first-child {
    margin-top: 0;
}

.main table td *:last-child {
    margin-bottom: 10px;
}

.main table td [class*='more-link'] [class*='icon-caret'] {
    position: relative;
    top: -2px;
}

article table tr,
article table th,
article table td {
    /* display: block; */
}

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

.main table {
    table-layout: fixed;
    border-collapse: collapse;
    margin: 10px 0 40px;
    width: 100%;
}

table .w_20 {
    width: 30%;
}

table .w_15 {
    width: 25%;
}

table .w_10 {
    width: 20%;
}

.main .gsc-table-result th,
.main .gsc-table-result td {
    display: block;
    padding: 0;
}

.main .gsc-search-box table,
.main .gsc-search-box table th,
.main .gsc-search-box table td,
.main .gsc-above-wrapper-area-container,
.main .gsc-above-wrapper-area-container th,
.main .gsc-above-wrapper-area-container td {
    box-sizing: content-box;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.main .gsc-search-box table {
    display: table;
    table-layout: auto;
}

.main .gsc-search-box table tr {
    display: table-row;
}

.main .gsc-search-box table th,
.main .gsc-search-box table td {
    display: table-cell;
}

.main .gsc-search-box table .gsib_a {
    padding: 4px 6px 0;
}

.cse .gsc-search-button input.gsc-search-button-v2,
input.gsc-search-button-v2 {
    box-sizing: content-box;
}

.gsc-search-box-tools .gsc-search-box .gsc-input {
    line-height: 1.4;
}

.gsc-results .gcsc-branding {
    line-height: 1;
}

.main .gsc-search-box table .gsst_a {
    padding-top: 7px;
    line-height: 1;
}

.table-box {
    overflow: auto;
}

.table-box+p {
    margin-top: 0;
}

.main section>.table-box {
    margin-bottom: 20px;
}

.table-box table {
    table-layout: auto;
    margin-bottom: 0;
    width: 900px;
}

.table-box::-webkit-scrollbar {
    height: 10px;
}

.table-box::-webkit-scrollbar-track {
    background: #F0F0F0;
}

.table-box::-webkit-scrollbar-thumb {
    background: #EFEBDC;
}

.main table ol {
    margin: 0;
    padding: 0 0 0 20px;
}

.main table [class*='more-link'] {
    margin-left: 10px;
    margin-bottom: 0;
    padding: 5px 9px 4px;
    max-width: 120px;
    width: auto;
    font-size: 12px;
}

body .main table .no_border_bottom {
    border-bottom: none;
    padding-bottom: 0;
}

.main .table01 {
    display: table;
}

.main .table01 tr {
    display: table-row;
}

.main .table01 th,
.main .table01 td {
    display: table-cell;
    border-top: 1px solid #BEBEBE;
    border-bottom: 1px solid #BEBEBE;
    padding: 10px;
    text-align: left;
}

.main .table01 th {
    width: 88px;
}

.main .table02 {
    display: table;
    margin-top: 0;
    margin-bottom: 20px;
    border-top: 1px solid #BEBEBE;
}

.main .table02 tr {
    display: table-row;
}

.main .table02 th,
.main .table02 td {
    display: table-cell;
    border-bottom: 1px solid #BEBEBE;
    padding: 10px;
    text-align: left;
    font-size: 14px;
}

.main .table02 th {
    width: 72px;
    padding-left: 0;
    font-weight: normal;
}

.main .table02 tr .table-dotted-top {
    font-size: 73%;
    border-top: none;
}

.main .table03 {
    display: table;
    margin-top: 0;
    margin-bottom: 20px;
    border-top: 3px solid transparent;
    border-width: 2px;
    border-image: url(../images/border3@2x.png) 4 repeat;
    border-collapse: separate;
}

.main .table03 tr {
    display: table-row;
}

.main .table03 th,
.main .table03 td {
    display: table-cell;
    border-bottom: 3px solid transparent;
    border-width: 2px;
    border-image: url(../images/border3@2x.png) 4 repeat;
    padding: 10px;
    text-align: left;
    font-size: 14px;
}

.main .table03 tr:nth-child(odd) th,
.main .table03 tr:nth-child(odd) td {
    background-color: #fff;
}

.main .table03 th {
    width: 78%;
    font-weight: normal;
}

.comparison-status-yes {
    margin-bottom: 0;
    font-size: 36px;
    color: #E64919;
}

.main .form-table {
    display: block;
    table-layout: auto;
    text-align: left;
    color: #040000;
    line-height: 1.6;
}

.main .form-table thead,
.main .form-table tbody,
.main .form-table tr,
.main .form-table th,
.main .form-table td {
    display: block;
}

.main .form-table th,
.main .form-table td {
    padding: 10px 0;
}

.main .form-table th {
    border-width: 2px 2px 0px 2px
}

.main .form-table td {
    border-width: 0px 2px 2px 2px;
}

.main .form-table td>span {
    color: #999;
}

.main .form-table td>input[type=text] {
    margin-bottom: 10px;
}

.main .form-table td select {
    max-width: 280px;
}

.main .form-table .formBtnBox {
    margin-top: 5px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
}

article .form-table .formbottom {
    border: none;
    padding-left: 0;
    padding-right: 0;
    font-size: 18px;
    line-height: 1.9;
}

.main .form-table small {
    margin-top: 15px;
    font-size: 88%;
    text-align: left;
}

article .form-table .formbottom blockquote {
    margin: 30px auto 10px;
    padding: 20px;
    text-align: left;
}

article .form-table .formbottom blockquote .arrow-link a {
    position: relative;
    display: block;
    margin-top: 10px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding-top: 10px;
    padding-left: 15px;
    padding-bottom: 10px;
}

article .form-table .formbottom blockquote .arrow-link [class*='icon-arrow-right'] {
    position: absolute;
    top: 16px;
    left: 0;
}

.main .form-table th,
.main .form-table td {
    text-align: left;
}

.main .form-table th {
    padding-bottom: 0;
    font-weight: normal;
    width: 100%;
    font-weight: bold;
}

.main .form-table th span {
    margin-left: 25px;
}

.main .form-table .formbottom {
    padding-top: 30px;
    background-color: transparent;
}

.main .form-table .formbottom .arrow-link {
    margin-bottom: 15px;
}

.main .form-table .formbottom .title03 {
    margin-top: 34px;
    margin-bottom: 34px;
}

.main .form-table .formbottom a {
    text-decoration: underline;
}

.main .form-table .formbottom a:hover,
.main .form-table .formbottom a:focus {
    text-decoration: none;
}

.main .form-table .formbottom.first {
    padding-top: 20px;
}

.main .form-table .title03 {
    margin-bottom: 0;
}

.main .form-table .formprivacyheader {
    border-top: 1px solid #E7E7E7;
    padding-top: 25px;
}

.main .form-table .form-title {
    border-left: none;
    border-right: none;
    padding-left: 0;
    padding-right: 0;
}

.main .form-title .title04 {
    margin-top: 20px;
    margin-bottom: 0;
}

.main .form-title .title05 {
    margin-top: 50px;
    margin-bottom: 0;
    font-size: 18px;
    font-weight: normal;
}

.main .form-title .title05 .ul-angle-link {
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 85%;
}

.main ol,
.main ul,
.unordered-l-black {
    margin-top: 0;
    list-style: none;
    padding-left: 15px;
}

.unordered-l li {
    position: relative;
    padding-bottom: 11px;
}

.unordered-l li:before {
    position: absolute;
    top: 11px;
    left: -15px;
    content: '';
    display: inline-block;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    background-color: #222;
}

.main .ordered-l {
    counter-reset: section;
    padding-left: 0;
    padding-bottom: 20px;
}

.ordered-l li {
    position: relative;
    padding-left: 1.5em;
}

.ordered-l>li:before {
    position: absolute;
    left: 0;
    display: inline-block;
    counter-increment: section;
    content: counter(section)".";
}

.ordered-l li ol li {
    padding-left: 0;
}

.unordered-l-horizontal {
    margin-right: -30px;
}

.unordered-l-horizontal li {
    position: relative;
    display: inline-block;
    margin-right: 30px;
}

.unordered-l-horizontal li:before {
    position: absolute;
    left: -15px;
    content: "ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢";
    line-height: 1;
    font-size: 24px;
}

.ordered-l2 li {
    padding-bottom: 20px;
}

.ordered-l2>li {
    list-style-type: lower-roman;
}

.main .ul-angle-link {
    list-style: none;
    padding-left: 0;
}

.main .ul-angle-link li {
    position: relative;
    padding-left: 15px;
    text-indent: -15px;
}

.main .ul-angle-link li a {
    display: block;
    color: inherit;
}

.main .ul-angle-link li a>span:first-child,
.main .ul-angle-link li>span:first-child {
    margin-right: 5px;
}

.main .ul-angle-link li a .icon-ext-link {
    position: relative;
    top: -2px;
}

.unordered-l {
    list-style-type: disc;
}

.main .ul-checklist {
    margin-top: 0;
    list-style: none;
    padding-left: 0;
    line-height: 1.4;
}

.ul-checklist li {
    margin-bottom: 10px;
    padding-left: 25px;
    background: url(../images/ico-check.svg) no-repeat 0 3px;
    background-size: 15px 11px;
}

.ul-notesl {
    padding-left: 25px;
}

.ul-notesl li {
    position: relative;
    list-style-type: none;
    font-size: 14px;
}

.ul-notesl>li:before {
    position: absolute;
    left: -25px;
    content: "ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â»";
}

.dl-horizontal {
    display: table;
    border-collapse: collapse;
    margin: 0 0 5px;
    width: 100%;
}

.dl-horizontal dt,
.dl-horizontal dd {
    display: table-cell;
    padding: 0;
    word-break: break-all;
}

.dl-horizontal dt {
    min-width: 95px;
    width: 95px;
    font-weight: bold;
}

.main blockquote {
    margin: 20px 0 30px;
    border: 17px solid #fff;
    border-width: 18px 23px;
    border-image: url(../images/border1-sp@2x.png)44 round;
    border-radius: 17px;
    background-color: #fff;
    font-size: 18px;
}

.main blockquote>* {
    margin-top: 0;
}

.main blockquote>*:last-child {
    margin-bottom: 0;
}

.main blockquote .title03 {
    margin-left: 0;
    margin-bottom: 20px;
    padding: 0;
    font-size: 16px;
}

.footer-outer {
    position: relative;
    margin-top: 0;
    padding: 0;
    background-color: #EFEBDC;
}

.call-to-action {
    padding: 40px 20px;
    background: url(../images/front/bg-blueberries-sp@2x.jpg) no-repeat 50%;
    background-size: cover;
    text-align: center;
    font-weight: bold;
    color: #fff;
    overflow: hidden;
}

.call-to-action .title02 {
    margin-top: 0;
    margin-bottom: 20px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 28px;
}

.call-to-action .title02 small {
    display: block;
    margin-bottom: 7px;
    font-size: 57%;
    font-family: 'Oswald', sans-serif;
    font-weight: normal;
}

.call-to-action .title03 {
    margin-bottom: 0;
    font-family: 'Oswald', sans-serif;
    font-size: 33px;
}

.call-to-action .title03 small {
    margin-right: 16px;
    font-size: 90%;
}

.call-to-action p {
    margin-top: 0;
    margin-bottom: 28px;
    font-weight: normal;
}

.call-to-action p:last-child {
    margin-bottom: 0;
}

.call-to-action [class*='more-link'] {
    margin: 0;
    border: 1px solid #901717;
    padding-top: 25px;
    padding-bottom: 25px;
    background-color: #901717;
    max-width: 9999px;
    font-size: 19px;
    color: #fff;
}

.call-to-action [class*='more-link']>span:first-child {
    display: none;
}

.call-to-action2 {
    padding: 0;
}

.call-to-action-box {
    margin: 0 auto;
    max-width: 1130px;
    width: 100%;
}

.call-to-action-box p,
.call-to-action .unordered-l {
    list-style: none;
    text-align: left;
}

.call-to-action-row .cta-points {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(211, 211, 211, 0.2);
    font-size: 14px;
    line-height: 1.6;
}

.call-to-action-row .cta-points .title02 {
    margin-bottom: 0;
}

.call-to-action-row .cta-points .unordered-l {
    padding-left: 10px;
}

.call-to-action-row .cta-points .unordered-l li:before {
    left: -10px;
}

.call-to-action-row .cta-points-btn-block p {
    margin-bottom: 10px;
    text-align: center;
}

.call-to-action .call-to-action-row .cta-points-btn-block .title03 {
    margin-top: 0;
    margin-bottom: 27px;
}

.call-to-action .call-to-action-row [class*='more-link'] {
    padding: 20px 15px;
    font-size: 16px;
    text-align: left;
}

.call-to-action .call-to-action-row [class*='more-link']>span:first-child {
    display: inline;
}

.call-to-action-row {
    margin: 0;
    padding: 70px 20px;
}

.footer-body {
    margin: 0 auto;
    padding: 18px 0 44px;
}

.footer-body>div {
    margin: 0 auto;
    padding: 0;
}

.footer-body>.footer-logo-box {
    margin-top: 68px;
    padding-left: 20px;
    padding-right: 20px;
}

.footer-logo-box address {
    margin: 0;
    padding: 0;
    font-style: normal;
    line-height: 1.7;
}

.footer-links-box {
    padding: 0 20px;
}

.footer-links {
    display: block;
    margin: 0;
    padding: 0;
}

.footer-links li {
    display: block;
}

.footer-links li a {
    display: block;
    border-bottom: 3px solid transparent;
    border-width: 2px;
    border-image: url(../images/border3@2x.png) 4 repeat;
    padding: 20px 0;
    text-decoration: none;
}

.lower-footer {
    position: relative;
    margin: 0 auto;
    max-width: 1118px;
    padding-top: 35px;
}

.f-logo {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.4;
}

.f-logo small {
    display: block;
    margin-bottom: 2px;
    font-size: 13px;
    font-weight: normal;
    letter-spacing: 1px;
}

.footer-logo-box .title04 {
    display: block;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.7;
}

.footer-contact-box {
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
}

.footer-contact-box a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin: 0 5px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #FF3466;
    text-decoration: none;
    font-weight: bold;
    color: #fff;
}

.fcb-phone .icon {
    margin-bottom: 5px;
}

.fcb-email .icon {
    margin-bottom: 5px;
}

.footer-copyright-box {
    padding: 10px;
    background-color: #093764;
    font-family: Arial, Helvetica, sans-serif;
}

.footer-copyright-box>div,
.footer-copyright-box a {
    color: rgba(255, 255, 255, 0.3);
    font-size: 11px;
    max-width: 1230px;
}

.footer-copyright-box p {
    margin: 0;
    padding: 10px;
    text-align: center;
}

.copyright {
    margin: 27px 0 0;
    padding: 0 20px;
    font-size: 12px;
    color: #587083;
}


/* ---------------
   TOP
   --------------- */

front {
    font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.front .main .title02 {
    position: relative;
    margin-bottom: 47px;
    padding-left: 0;
    font-family: tbchibirgothicplusk-pro, sans-serif;
    font-size: 25px;
    font-weight: 400;
    font-style: normal;
    text-align: center;
}

.front .main .title02 .icon {
    position: absolute;
    top: -52px;
    left: 0;
}

.front .main .top-tour-features-pic .title02 .icon {
    top: -48px;
    left: calc(50% - 20px);
    min-width: 41px;
    height: 34px;
}

.front .main .tour-features-row .title02 .icon {
    left: calc(50% - 13px);
    min-width: 50px;
    height: 42px;
}

.front .top-search-main .title02 .icon {
    top: -40px;
    left: calc(50% - 14px);
    min-width: 40px;
    height: 30px;
}

.front .main .title02:before {
    top: calc(50% - 50px);
    left: calc(50% - 50px);
    width: 100px;
    height: 100px;
}

.top-title-image {
    position: relative;
    margin-bottom: 31px;
}

.top-features-row {
    position: relative;
    z-index: 1;
}

.top-features-main:after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 82px;
    display: block;
    content: '';
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 20px);
    height: 221px;
    background: url(../images/front/bg-top-features-sp@2x.png) no-repeat 50% 50%;
    background-size: contain;
    z-index: 0;
}

.tour-features-row .image-box a {
    display: block;
    border-radius: 16px;
    overflow: hidden;
}

.top-tour-features-pic {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-tour-features-pic .title02 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.top-tour-features-pic p {
    padding-right: 10px;
    -ms-flex: 0 0 57.22%;
    flex: 0 0 57.22%;
    max-width: 57.22%;
}

.top-tour-features-pic .image-box {
    margin-top: 1em;
    padding-left: 10px;
    -ms-flex: 0 0 42.78%;
    flex: 0 0 42.78%;
    max-width: 42.78%;
}

.top-title-box {
    position: relative;
    padding: 418px 20px 39px;
    /* background: url(../images/front/banner-sp@2x.png) no-repeat calc(50% + 24px) 100%; */
    /* background-size: 531px 381px; */
}

.top-title-box>* {
    position: relative;
}

.top-banner-animation {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: 0;
    margin-right: 0;
}

.tba-tokyo {
    position: absolute;
    left: 85%;
    top: 55px;
    width: 317px;
    animation: place-bg 14s infinite;
    animation-timing-function: linear;
}

.tba-tokyo img {
    margin-left: -85%;
    max-width: 100%;
    height: auto;
}

.tba-place {
    position: absolute;
    left: 85%;
    top: 55px;
    width: 320px;
    animation: place-bg2 14s infinite;
    animation-timing-function: linear;
}

.tba-place img {
    margin-left: -85%;
    max-width: 100%;
    height: auto;
}

.tba-tress {
    position: absolute;
    left: 100%;
    top: 170px;
    width: 4424px;
    animation: place-bg3 80s infinite;
    animation-timing-function: linear;
    animation-delay: -8s;
}

.tba-tress img {
    margin-left: -100%;
    max-width: 100%;
    height: auto;
    animation: place-bg-img3 80s infinite;
    animation-timing-function: linear;
    animation-delay: -8s;
}

.top-title-box .top-bubble-rice-balls {
    position: absolute;
    top: 160px;
    left: calc(50% + 0px);
    margin-left: 0;
    width: 150px;
}

.top-tour-bus-pic {
    position: absolute;
    top: 308px;
    left: calc(50% + 31px);
    margin-left: -55px;
    width: 168px;
}

.top-title-box .title01 {
    margin-top: 0;
    font-weight: normal;
    font-size: 20px;
}

.top-title-box p {
    line-height: 1.6;
    font-weight: bold;
}

.top-title-box [class*='more-link'] {
    margin-top: 13px;
    margin-bottom: 0;
    border-radius: 30px;
    border-color: #FFBCCC;
    padding: 19px 10px;
    max-width: 260px;
    background-color: #FFBCCC;
    font-size: 16px;
}

.top-news-box {
    position: relative;
    padding-bottom: 20px;
}

.top-news-box>div:last-child:before,
.top-news-box>div:last-child:after {
    position: absolute;
    top: 0;
    display: block;
    content: '';
}

.top-news-box>div:last-child:before {
    top: -15px;
    left: 0;
    right: 148px;
    width: 179px;
    height: 92px;
    background: url(../images/front/path-rice-ball@2x.png) no-repeat;
    background-size: contain;
}

.top-news-box>div:last-child:after {
    top: -85px;
    right: 8px;
    width: 67px;
    height: 161px;
    background: url(../images/front/call@2x.png) no-repeat;
    background-size: contain;
}

.top-tour-features-content {
    margin-left: -20px;
    margin-right: -20px;
    padding: 10px 20px 224px;
}

.tour-top-box {
    padding: 20px 20px 14px;
}

.top-news-box>div:first-child {
    margin: 0 auto;
    border: 20px solid #fff;
    border-width: 17px 20px;
    border-image: url(../images/front/word-bubble-sp@2x.png) 44 round;
    border-radius: 23px;
    max-width: 333px;
    font-weight: normal;
}

.top-news-box>div:last-child {
    position: relative;
    margin: 0 auto;
    padding-bottom: 86px;
    max-width: 333px;
    background: url(../images/front/banner-sp@2x.png) no-repeat;
}

.top-news-box .list-group {
    margin: 0;
    padding: 0 0 16px;
    background-color: #fff;
}

.top-news-box .list-group li {
    margin-right: 70px;
    border: none;
    padding: 0;
    background-color: #fff;
}

.top-news-box .list-group li .label-important {
    display: block;
    margin-top: 0;
    margin-bottom: 7px;
}

.top-news-box .list-group li .news-link {
    margin: 0;
    text-decoration: none;
    font-size: 10px;
}

.top-news-box .list-group li .news-link:hover,
.top-news-box .list-group li .news-link:focus {
    opacity: 0.8;
}

.tour-features-row img,
.tour-features-thumbs-row img {
    width: 100%;
}

.top-tour-features-content>div {
    position: relative;
    border: 24px solid #fff;
    border-width: 18px 23px;
    border-image: url(../images/border4-sp@2x.png) 44 round;
    padding: 0;
    z-index: 1;
}

.top-tour-features-content>div+p {
    margin-top: 20px;
    margin-bottom: 0;
}

.top-tour-features-content>div+p [class*='more-link'] {
    border-radius: 30px;
    border-color: #EAF6AD;
    padding-top: 18px;
    padding-bottom: 19px;
    background-color: #EAF6AD;
    font-size: 18px;
}

.top-tour-features-content>div>div {
    background-color: #fff;
}

.main .top-tour-features-content .title02 {
    margin-bottom: 16px;
    padding-top: 10px;
}

.tour-top-features .label {
    margin-right: 8px;
    margin-bottom: 8px;
    border-radius: 8px;
}

.tour-entry-code {
    display: block;
    margin-bottom: 1px;
    font-size: 18px;
}

.main .top-tour-features-content .title02:before {
    display: none;
}

.tour-entry-highlight {
    padding-bottom: 11px;
    box-shadow: inset 0 -10px 0 rgba(255, 251, 100, 0.77);
}

.tour-entry-pic .image-box {
    margin-bottom: 14px;
    border-radius: 16px;
}

.tour-entry-pic .image-box img {
    width: 100%;
}

.tour-entry-content [class*='more-link'] {
    box-sizing: border-box;
    margin: 20px auto 0;
    max-width: 200px;
    border-color: #EAF6AD;
    background-color: #EAF6AD;
}

.front .swiper-container {
    margin-left: -40px;
    margin-right: -40px;
    padding-left: 20px;
    padding-right: 20px;
}

.swiper-button-next,
.swiper-button-prev {
    margin-top: -107px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #EAF6AD;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 6px 13px;
}

.swiper-button-next {
    right: 0px;
    background-image: url(../images/ico-angle-r.svg);
}

.swiper-button-prev {
    left: 0;
    background-image: url(../images/ico-angle-l.svg);
}

.swiper-button-next:after,
.swiper-button-prev:after {
    display: none;
}

.tour-search-pic {
    margin: 0 auto 16px;
    width: 173px;
    height: 100px;
}

.main .tour-features-row .title02:before {
    background-image: url(../images/ico-cloud2@2x.png);
}

.tour-features-thumbs-row {
    margin-left: -8px;
    margin-right: -8px;
}

.tour-features-thumbs-row+p {
    margin-top: 4px;
}

.tour-features-thumbs-row+p [class*='more-link'] {
    border-radius: 30px;
    border-color: #F7BBC4;
    background-color: #F7BBC4;
    padding-top: 18px;
    padding-bottom: 19px;
    font-size: 18px;
}

.tour-features-thumbs-row>div {
    padding-left: 8px;
    padding-right: 8px;
}

.tour-features-thumbs-row a {
    position: relative;
    display: block;
    border-radius: 16px;
    overflow: hidden;
}

.tour-features-thumbs-row .image-box {
    position: relative;
    margin-bottom: 16px;
}

section .tour-features-row .image-box .caption,
section .tour-features-thumbs-row .image-box .caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    margin: 0;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    color: #fff;
    z-index: 1;
}

section .tour-features-row .image-box .caption {
    font-size: 25px;
    bottom: 23px;
}

.top-tour-content-block-sp .image-box {
    position: relative;
    top: 9px;
    margin-right: -4px;
    margin-bottom: 0;
    padding-top: 12px;
}

.top-tour-features-main {
    margin-bottom: 93px;
    padding-bottom: 129px;
    background: url(../images/front/search-upper-sp@2x.png) no-repeat 50% 100%;
    background-size: 381px 129px;
}

.top-search-main .title02:before {
    background-image: url(../images/ico-cloud3@2x.png);
}

.japan-search-box {
    padding-left: 20px;
    padding-right: 20px;
}

.japan-search-map {
    position: relative;
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: 110px;
    padding-bottom: 0;
    height: 451px;
    background: url(../images/front/bg-map-sp@2x.png) no-repeat 50% 0px;
    background-size: contain;
    font-size: 14px;
    text-align: center;
}

.japan-search-map a {
    display: inline-block;
    margin-bottom: 10px;
    border-radius: 20px;
    padding: 4px;
    background-color: #C9F9EE;
    width: 120px;
    font-weight: bold;
    text-decoration: none;
    font-size: 12px;
}

.japan-search-map .search-places {
    position: absolute;
    top: 0;
    left: calc(50% - 100px);
    display: inline-block;
}

.japan-search-map .search-places a {
    margin: 0;
    padding: 4px;
}

.japan-search-map .japan-search-hokkaido {
    top: 74px;
    margin-left: 110px;
}

.japan-search-map .japan-search-tohoku {
    top: 142px;
    margin-left: 110px;
}

.japan-search-map .japan-search-koshinetsu {
    top: 256px;
    margin-left: 30px;
}

.japan-search-map .japan-search-kanto {
    top: 207px;
    margin-left: 105px;
}

.japan-search-map .japan-search-kinki {
    top: 307px;
    margin-left: 31px;
}

.japan-search-map .japan-search-china-shikoku-kyushu {
    top: 210px;
    margin-left: -57px;
    font-size: 13px;
}

.japan-search-map .japan-search-china-shikoku-kyushu a {
    width: 160px;
}

.japan-search-map .japan-search-okinawa {
    top: 380px;
    margin-left: -42px;
}

.japan-search-map .search-overseas {
    top: 161px;
    margin-left: -48px;
}

.search-overseas a {
    margin-top: 30px;
    margin-bottom: 0;
}

.top-search-contents a:hover,
.top-search-contents a:focus {
    opacity: 0.8;
}

.calendar-flyer-main {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 131px;
}

.calendar-flyer-main:after {
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 124px;
    background: url(../images/front/bg-featured-tour-sp@2x.png) no-repeat 50% 100%;
    background-size: contain;
}

.calendar-flyer-row {
    position: relative;
    z-index: 2;
}

.search-date .title02:before {
    background-image: url(../images/ico-cloud4@2x.png);
}

.top-flyers .title02:before {
    background-image: url(../images/ico-cloud5@2x.png);
}

.search-date {
    margin-bottom: 88px;
}

.front .main .search-date .title02 .icon {
    top: -43px;
    left: calc(50% - 22px);
    margin: 0 auto;
    min-width: 44px;
    max-width: 44px;
    height: 37px;
}

.search-date>div {
    position: relative;
    border: 17px solid #fff;
    border-width: 18px 23px;
    border-image: url(../images/border1-sp@2x.png) 44 round;
    border-radius: 17px;
    background-color: #fff;
}

.front .main .top-flyers .title02 .icon {
    top: -48px;
    left: calc(50% - 11px);
    margin: 0 auto;
    min-width: 38px;
    max-width: 38px;
    height: 38px;
}

.search-map-box .ex {
    margin-bottom: 10px;
}

.search-date .cal {
    position: relative;
    z-index: 1;
}

.search-date .cal .table_title {
    display: -ms-flexbox;
    display: flex;
    line-height: 1.5;
}

.cal2 .table_title {
    background-color: #666666;
}

.cal .table_title .calendar_angle,
.cal2 .table_title .calendar_angle {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    text-align: center;
    -ms-flex: 0 0 29px;
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    max-width: none;
    background-color: #FFDC28;
    border-radius: 50%;
    line-height: 0;
}

.cal .table_title #calendar_prev:hover,
.cal .table_title #calendar_prev:focus,
.cal .table_title #calendar_next:hover,
.cal .table_title #calendar_next:focus,
.cal2 .table_title #calendar_prev:hover,
.cal2 .table_title #calendar_prev:focus,
.cal2 .table_title #calendar_next:hover,
.cal2 .table_title #calendar_next:focus {
    cursor: pointer;
}

.cal .table_title .calendar_header,
.cal2 .table_title .calendar_header {
    text-align: center;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
}

.cal table,
.cal2 table {
    width: 100%;
    margin-bottom: 10px;
}

.cal2 table {
    font-size: 11px;
}

.main .cal2 table {
    display: table;
    margin-top: 0;
}

.cal2 table a {
    text-decoration: underline;
}

.cal2 table a:hover,
.cal2 table a:focus {
    text-decoration: none;
}

.cal-confirm {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    line-height: normal;
}

.cal-confirm .cal-day {
    margin-right: 2px;
}

.main .cal2 table tr {
    display: table-row;
}

.main .cal2 table th,
.main .cal2 table td {
    display: table-cell;
    padding: 4px;
}

.main .cal2 table th {
    background-color: #f2f2f2;
}

.main .cal2 table td {
    text-align: left;
}

.search-date .cal table th,
.cal2 table th,
.search-date .cal table td,
.cal2 table td {
    border: 1px solid #EFEBDC;
    background-color: #fff;
    text-align: center;
    padding: 6px 0px;
}

.search-date .cal table th a,
.cal2 table th a,
.search-date .cal table td a,
.cal2 table td a {
    position: relative;
    display: inline-block;
    text-align: center;
    line-height: 1.1;
    z-index: 1;
}

.search-date .cal table th a:before,
.cal2 table th a:before,
.search-date .cal table td a:before,
.cal2 table td a:before {
    position: absolute;
    left: calc(50% - 11px);
    content: '';
    top: -4px;
    border-radius: 50%;
    background-color: #FFDC28;
    width: 22px;
    height: 22px;
    z-index: -1;
}

.search-date .cal table th,
.cal2 table th {
    font-weight: bold;
}

.cal2 table .label {
    margin: 0;
    padding: 0 2px;
    font-size: 11px;
    text-decoration: none;
}

.calendar-flyer-column-row {
    position: relative;
    margin: 0 0 20px;
    border-radius: 16px;
    background-color: #DCC7F8;
}

.calendar-flyer-column-row:hover,
.calendar-flyer-column-row:focus {
    text-decoration: none;
}

.calendar-flyer-inner-img {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
}

.calendar-flyer-inner-img .image-box {
    margin-bottom: 0;
}

.calendar-flyer-inner-img .image-box img {
    margin-right: 0;
    max-width: 100%;
}

.calendar-flyer-row [class*='more-link'] {
    margin-bottom: 10px;
    border-color: #DCC7F8;
    background-color: #DCC7F8;
    max-width: 9999px;
}

.calendar-flyer-inner-content {
    display: -ms-flexbox;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    -ms-justify-content: center;
    justify-content: center;
}

.calendar-flyer-inner-content .title05 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
}

.calendar-flyer-inner-content .title05 strong {
    margin-bottom: 6px;
    font-size: 16px;
}

.calendar-flyer-inner-content .title05 .icon-flyer2 {
    margin-bottom: 18px;
}

.top-banner-link-main .more-link-whole {
    display: block;
    margin-bottom: 20px;
    border: 2px solid #00B900;
    padding: 20px;
    background-color: #F0F8E3;
    overflow: visible;
}

.top-banner-link-main {
    margin-bottom: 35px;
}

.top-banner-link-main .more-link-whole .top-banner-link-header {
    margin-bottom: 20px;
}

.top-banner-link-main .more-link-whole .top-banner-link-text {
    position: relative;
    border-radius: 10px;
    padding: 18px 20px;
    background-color: #FF685F;
    color: #fff;
    line-height: 1.4;
}

.top-banner-link-main .more-link-whole .top-banner-link-text img {
    position: absolute;
    top: calc(-22px + 100%);
    left: calc(-63px + 100%);
}

.top-tour-links-row a {
    margin: 0 auto 10px;
    border-radius: 40px;
    padding: 10px 38px;
    max-width: inherit;
    height: 80px;
    font-size: 16px;
}

.top-tour-links-row a {
    -ms-justify-content: space-between;
    justify-content: space-between;
}

.top-tour-links-row a div {
    display: -ms-flexbox;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    -ms-justify-content: space-between;
    justify-content: space-between;
    text-align: left;
}

.top-tour-links-row a>div:first-child>div:first-child {
    -ms-flex: 0 0 40px;
    flex: 0 0 40px;
    width: 40px;
    max-width: 40px;
}

.top-requests-main {
    padding-bottom: 155px;
    text-align: center;
}

.front .top-requests-main blockquote {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding: 18px 23px 25px;
    max-width: 535px;
}

.front .top-requests-main blockquote a:hover {
	text-decoration: none;
}

.top-requests-main .title04 {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: bold;
}

.top-requests-main .title04:after {
    display: none;
}

.top-requests-main blockquote p {
    margin-bottom: 0;
}

.top-requests-main .icon-request-shapes {
    position: absolute;
    left: calc(50% - 155px);
    right: 0;
    top: calc(100% - 11px);
    margin: 0 auto;
}

.top-other-bus-trips-main {
    margin-bottom: 40px;
    padding-bottom: 143px;
    background: url(../images/front/flowers-line@2x.png) no-repeat calc(50% - 19px) 100%;
    background-size: 361px 124px;
}

.top-other-bus-trips-main .title02 {
    padding-top: 80px;
    text-align: center;
}

.front .top-other-bus-trips-main .title02:before {
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 365px;
    width: 100%;
    height: 365px;
    background-size: contain;
}

.top-other-bus-trips-main .title03 {
    border: none;
    border-image: none;
    border-radius: 0;
    background-color: transparent;
    font-size: 26px;
    font-weight: bold;
}

.top-other-bus-trips-main .title03 span {
    border-bottom: 1px solid #000;
    padding-left: 7px;
    padding-right: 7px;
    padding-bottom: 7px;
}

.front .top-other-bus-trips-main .title02 .icon {
    position: relative;
    top: auto;
    left: auto;
}

.top-obt-content-row {
    position: relative;
    border-radius: 16px;
    background-color: #F5E0B0;
    overflow: hidden;
}

.top-obt-content-row>div:first-child {
    padding: 26px 20px 0;
    text-align: center;
}

.top-obt-content-row img {
    width: 100%;
}

.top-reasons-box {
    margin-top: 60px;
}

.front .main .top-news-social-row .title02 {
    text-align: center;
}

.top-news-social-news .title02,
.top-news-social-facebook .title02 {
    text-align: center;
}

.front .main .top-news-social-news .title02:before,
.front .main .top-news-social-facebook .title02:before {
    margin: 0 auto;
    left: 0;
    right: 0;
}

.top-news-social-news {
    margin-bottom: 41px;
}

.top-news-social-news .list-group {
    margin-bottom: 20px;
}

.top-news-social-news .more-link {
    border-radius: 30px;
    padding-top: 19px;
    padding-bottom: 20px;
    font-size: 16px;
}

.social-media-box {
    margin-left: auto;
    margin-right: auto;
    border: 20px solid #fff;
    border-width: 20px;
    border-image: url(../images/border2@2x.png) 32 round;
    border-radius: 10px;
    max-width: 540px;
    background-color: #fff;
    text-align: center;
}

.social-media-box blockquote {
    margin: 0;
    border: none;
    border-radius: 0;
    background-color: #fff;
}


/* ---------------
   TOUR
   --------------- */

.page-search .main-title-box {
    background-image: url(../images/tour/entry/banner@2x.jpg);
}

.tour-top-features {
    margin-bottom: 30px;
    border: 24px solid #fff;
    border-width: 18px 23px;
    border-image: url(../images/border1-sp@2x.png) 44 round;
    background-color: #fff;
}

.tour-top-features>div {
    padding: 0;
}

.tour-top-features>.tour-features-slideshow {
    padding-bottom: 20px;
}

.tour-top-features>.tour-features-slideshow li img {
    width: auto;
    height: 196px;
}

.tour-top-features .btn-box {
    margin-top: 20px;
    margin-bottom: 0;
}

.main .tour-entry-title {
    margin-bottom: 25px;
    padding: 0;
    font-size: 26px;
    font-weight: bold;
}

.main .tour-entry-title:before {
    display: none;
}

.tour-top-features .words {
    font-size: 12px;
    margin-bottom: 14px;
}

.tour-top-features .words ul {
    padding-left: 0;
    list-style: none;
    display: inline-block;
    margin: 0;
    line-height: 1;
}

.tour-top-features .words li {
    display: inline-block;
    list-style: none;
}

.tour-top-features .words li:nth-child(even) {
    margin-right: 5px;
}

.tour-top-features .words li:last-of-type {
    margin-right: 0;
}

.tour-top-features .words li a {
    font-size: 14px;
    color: #333;
    text-decoration: underline;
    line-height: 1;
}

.tour-top-features .image-box {
    margin-bottom: 10px;
}

.tour-top-features .image-box img {
    width: 100%;
}

.tour-top-features [class*='more-link'] {
    margin-bottom: 22px;
    border-radius: 29px;
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 18px;
}

.tour-top-features [class*='more-link']>span {
    padding-left: 30px;
    -ms-justify-content: space-between;
    justify-content: space-between;
}

.main .tour-points-container {
    margin-bottom: 5px;
}

.main .tour-points-row .image-box {
    margin-bottom: 49px;
    width: 430px;
    height: auto;
}

.not-front .main .tour-points-row .image-box {
    width: auto;
}

.main .tour-points-box .title02,
.main .tour-schedule-box .title02,
.main .tour-schedule-box .title03,
.main .meal-schedule-box .title02,
.main .tour-report-entries-box .title02 {
    margin-bottom: 28px;
}

.main .tour-points-row .title03 {
    position: relative;
    padding-right: 57px;
}

.main .tour-points-row .title03 .icon-guide {
    position: absolute;
    bottom: calc(-100% + 27px);
    right: -8px;
    min-width: 40px;
    height: 70px;
}

.main .tour-points-row .image-box img {
    width: 100%;
    border-radius: 20px;
}

.main .tour-schedule-container {
    margin-bottom: 5px;
}

.tour-schedule-row {
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    border-bottom: 3px solid transparent;
    border-width: 2px;
    border-image: url(../images/border3@2x.png) 4 repeat;
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.tour-schedule-row>div:first-child {
    line-height: 1.4;
}

.tour-schedule-row:last-of-type {
    border-bottom: none;
}

.tour-schedule-row>.col,
.tour-schedule-row>[class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

.highlight {
    position: relative;
    margin-bottom: 26px;
    padding-left: 1px;
    padding-right: 1px;
    font-size: 16px;
}

.highlight:after {
    position: absolute;
    content: '';
    display: block;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 18px;
    border-radius: 9px;
    background-color: #FBFF96;
}

.highlight span {
    position: relative;
    z-index: 1;
}

.main .tsr-inner-content>*:last-child {
    margin-bottom: 0;
}

.main .tour-schedule-box>div {
    margin-bottom: 83px;
}

.main .tour-schedule-box .title03 {
    margin-bottom: 34px;
}

.main .tour-schedule-box .title05 {
    margin-bottom: 11px;
}

.main .tour-schedule-box p {
    margin-top: 0;
}

.tour-schedule-row>div .tsr-inner-image>*:first-child {
    margin-top: 13px;
}

.tsr-inner-image .image-box {
    margin-bottom: 0;
}

.main .meal-trip-title {
    position: relative;
    margin-bottom: 30px;
    border: none;
    background-color: #EFEBDC;
    border-radius: 34px;
    padding: 9px 54px;
    text-align: center;
}

.main .meal-trip-title:before,
.main .meal-trip-title:after {
    position: absolute;
    top: 17px;
    content: '';
    display: block;
    width: 43px;
    height: 33px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
}

.main .meal-trip-title:before {
    left: 8px;
    background-image: url(../images/tour/entry/rice-balls1@2x.png);
}

.main .meal-trip-title:after {
    right: 8px;
    background-image: url(../images/tour/entry/rice-balls2@2x.png);
}

.main .meal-schedule-container {
    margin-bottom: 0;
}

.meal-schedule-row {
    margin-bottom: 38px;
}

.meal-schedule-row .image-box {
    margin-bottom: 13px;
}

.main .tour-report-entries-container {
    margin-bottom: 56px;
}

.tour-report-entries-row {
    margin-left: -8px;
    margin-right: -8px;
}

.tour-report-entries-row>div {
    padding-left: 8px;
    padding-right: 8px;
}

.tour-report-entries-row a {
    display: block;
    position: relative;
    margin-bottom: 20px;
    width: 100%;
    -webkit-box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.16);
    border-radius: 10px;
    text-decoration: none;
    overflow: hidden;
}

.tour-report-entries-row .image-box {
    margin-bottom: 0;
}

.tour-report-entries-row .image-box img {
    width: 100%;
}

.tour-report-entries-row .content-box {
    position: relative;
    padding: 19px 28px;
    background-color: #fff;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.tour-report-entries-row .content-box p {
    margin-top: 0;
    margin-bottom: 0;
}

.main .tour-testimonial-container {
    margin-bottom: 75px;
}

.main .tour-testimonial-container .title02 {
    position: relative;
    margin-bottom: 28px;
    padding-right: 34px;
}

.main .tour-testimonial-container .title02 .icon-mailbox {
    position: absolute;
    top: -9px;
    right: 0;
    min-width: 24px;
    height: 38px;
}

.main .tour-testimonial-container blockquote {
    padding: 0 7px;
    font-size: 14px;
}

.testimonial-row {
    margin-left: -10px;
    margin-right: -10px;
}

.testimonial-row>div {
    padding-left: 10px;
    padding-right: 10px;
}

.testimonial-row .image-box img {
    width: 56px;
    height: 47px;
}

.main .testimonial-row>div:last-child p {
    margin-bottom: 0;
    text-align: right;
    color: #707070;
}

.boarding-bus-banner {
    margin: 0 auto 11px;
}

.boarding-bus-container .title02 {
    margin-bottom: 6px;
}

.boarding-bus-row .image-box {
    margin-bottom: 10px;
}

.boarding-bus-row {
    margin-left: -8px;
    margin-right: -8px;
}

.boarding-bus-row>div {
    padding-left: 8px;
    padding-right: 8px;
}

.boarding-bus-row>div:last-child p {
    margin-top: 3px;
}

.main .quality-declaration-section {
    margin-bottom: 0;
    padding-top: 29px;
    padding-bottom: 31px;
    background: url(../images/tour/entry/bg-gradiant.png) no-repeat 50% 50% #F5E0B0;
}

.main .quality-declaration-title {
    margin-left: 15px;
    margin-right: 15px;
    padding-left: 75px;
    padding-right: 75px;
    width: auto;
    text-align: center;
}

.main .quality-declaration-title span {
    display: inline-block;
    padding-bottom: 6px;
    border-bottom: 3px dotted #9F7E2B;
}

.main .quality-declaration-title:before,
.main .quality-declaration-title:after {
    position: absolute;
    top: 0;
    content: '';
    display: block;
    width: 43px;
    height: 33px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
}

.main .quality-declaration-title:before {
    width: 65px;
    height: 41px;
    background-image: url(../images/tour/entry/flowers2@2x.png);
}

.main .quality-declaration-title:after {
    right: 0;
    width: 57px;
    height: 34px;
    background-image: url(../images/tour/entry/hearts@2x.png);
}

.quality-declaration-box {
    border-radius: 20px;
    padding: 7px 20px;
    background-color: #fff;
}

.main .quality-declaration-list {
    padding-left: 0;
    counter-reset: item;
    line-height: 1.7;
}

.main .quality-declaration-list li {
    position: relative;
    border-bottom: 3px dotted #ccc;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 46px;
}

.main .quality-declaration-list li:last-child {
    position: relative;
    border-bottom: none;
    padding-bottom: 0;
}

.main .quality-declaration-list>li:before {
    position: absolute;
    left: 5px;
    content: counter(item, decimal)".";
    counter-increment: item;
    font-size: 19px;
    color: #9F7E2B;
}

.qds-row>div .image-box {
    margin-top: 20px;
    margin-bottom: 11px;
}

.main .please-confirm-section {
    margin-bottom: 72px;
    padding: 35px 15px;
    background-color: #FF0244;
    text-align: center;
    font-size: 24px;
    color: #fff;
    line-height: 1.5;
}

.main .about-payment-container .title02,
.main .cancellation-fee-container .title02,
.main .bus-stop-container .title02 {
    margin-bottom: 28px;
}

.main .about-payment-container .title02 .icon-purse,
.main .cancellation-fee-container .title02 .icon-purse,
.main .bus-stop-container .title02 .icon-bus-stop {
    position: absolute;
    top: -15px;
    left: -5px;
    max-width: 22px;
    height: 20px;
}

.faqlist {
    margin-bottom: 5px;
}

.about-payment-link {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin-left: -20px;
    margin-right: -20px;
    padding: 15px 30px 15px 15px;
    background-color: #F5E0B0;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.15s ease;
}

.about-payment-link > div {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: center;
}

.about-payment-link:hover,
.about-payment-link:focus {
    text-decoration: none;
    background-color: #F4B75F;
}
.about-payment-link .icon {
    margin-left: 10px;
}
.faqlist > div:last-child {
	position: relative;
	padding: 20px;
	border: 1px solid #F5E0B0;
}

.faqlist > div:last-child {
	display: none;
}

.faqlist .icon-angle-d {
    transition: all 0.15s ease;
}

.faqlist .active .icon-angle-d {
	transform: rotate(180deg);
    transition: all 0.15s ease;
}

.cancellation-fee-note {
    margin-top: 25px;
    margin-bottom: 40px;
    border-radius: 20px;
    padding: 13px;
    text-align: center;
    background-color: #222;
    font-weight: bold;
    color: #fff;
    line-height: 1.7;
}

.cancellation-fee-table-row .table03 {
    margin-bottom: 40px;
}

.cancellation-fee-table-row>div:last-child .table03 {
    margin-bottom: 21px;
}

.main .cancellation-fee-container .unordered-l {
    margin-bottom: 0;
}

.main .cancellation-fee-container .unordered-l li:last-child {
    padding-bottom: 2px;
}

.main .bus-stop-container {
    margin-bottom: 33px;
}

.information-flow-row {
    margin-left: -4px;
    margin-right: -4px;
}

.information-flow-row>* {
    padding-left: 4px;
    padding-right: 4px;
    padding-bottom: 15px;
}

.information-flow-row>*>* {
    position: relative;
    display: block;
    padding-bottom: 100%;
    width: 100%;
    background-color: #E0DCCD;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 79%;
}

.information-flow-row>*:nth-child(1)>* {
    background-image: url(../images/tour/entry/one.svg);
}

.information-flow-row>*:nth-child(2)>* {
    background-image: url(../images/tour/entry/two.svg);
}

.information-flow-row>*:nth-child(3)>* {
    background-image: url(../images/tour/entry/three.svg);
}

.information-flow-row>*:nth-child(4)>* {
    background-image: url(../images/tour/entry/four.svg);
}

.information-flow-row>*:nth-child(5)>* {
    background-image: url(../images/tour/entry/five.svg);
}

.information-flow-row>*:nth-child(6)>* {
    background-image: url(../images/tour/entry/six.svg);
}

.information-flow-row>*:nth-child(7)>* {
    background-image: url(../images/tour/entry/seven.svg);
}

.information-flow-row>*:nth-child(8)>* {
    background-image: url(../images/tour/entry/eight.svg);
}

.information-flow-row>*:nth-child(9)>* {
    background-image: url(../images/tour/entry/nine.svg);
}

.information-flow-row>*:nth-child(10)>* {
    background-image: url(../images/tour/entry/ten.svg);
}

.information-flow-row>*:nth-child(11)>a {
    background-image: url(../images/tour/entry/eleven.svg);
}

.information-flow-row>*:nth-child(12)>a {
    background-image: url(../images/tour/entry/twelve.svg);
}

.information-flow-row>*:last-child {
    display: -ms-flexbox;
    display: flex;
    -ms-align-items: flex-end;
    align-items: flex-end;
}

.information-flow-row>*>*>* {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    padding: 10px;
    text-align: center;
    font-weight: bold;
    transform: translate(0, -50%);
}

.information-flow-row>*:last-child>*>* {
    position: static;
    transform: translate(0, 0);
}

.information-flow-row>*>.information-flow-image {
    padding-bottom: 0;
    background-color: transparent;
}

.information-flow-row>*>.information-flow-image img {
    margin-left: auto;
    margin-right: auto;
}

.bus-stop-modal-box {
    display: none;
    width: 100%;
    max-width: 610px;
    border-radius: 10px;
    padding: 17px 15px 91px;
    background: url(../images/tour/entry/bus3-sp@2x.png) no-repeat 50% calc(100% - 20px) #FDFBEF;
    background-size: 190px 79px;
    overflow: visible;
}

.busStop .fancybox-button svg {
    display: none;
}

.busStop .fancybox-slide--html {
    padding: 40px;
}

.tour-area-keyword-row {
    margin-bottom: 20px;
}

.bus-stop-modal-box .title03 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-align-items: center;
    align-items: center;
    margin-top: 0;
    margin-bottom: 26px;
    border-bottom: 3px solid transparent;
    border-width: 2px;
    border-image: url(../images/border3@2x.png) 4 repeat;
    padding-bottom: 13px;
    text-align: center;
    font-size: 20px;
    font-weight: normal;
}

.bus-stop-modal-box .title03 .icon-bus-stop {
    margin-bottom: 4px;
    min-width: 8px;
    height: 20px;
}

.fancybox-container.busStop .fancybox-button {
    top: -20px;
    right: -20px;
    width: 40px;
    height: 40px;
    background: url(../images/modal-close.svg);
    opacity: 1;
}

.bus-stop-info-row .image-box {
    margin-bottom: 9px;
}

.bus-stop-info-row img {
    margin-left: auto;
    margin-right: auto;
}

.bus-stop-ext-link {
    margin: 0 auto;
    max-width: 301px;
    text-align: right;
}

.other-tours-slideshow-box {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 216px;
    font-size: 13px;
}

.other-tours-slideshow-box .swiper-slide {
    background-color: #fff;
}

.other-tours-slideshow-box .image-box {
    margin-bottom: 0;
    border: 20px solid #fff;
    border-width: 19px 17px;
    border-image: url(../images/border1-sp@2x.png) 44 round;
}

.other-tours-slideshow-box .image-box>a {
    overflow: hidden;
}

.other-tours-slideshow-box .image-box>a:hover img,
.other-tours-slideshow-box .image-box>a:focus img {
    transform: scale(1.1);
}

.other-tours-slideshow-box .swiper-button-next,
.other-tours-slideshow-box .swiper-button-prev {
    top: 164px;
    margin-top: -20px;
    width: 30px;
    height: 30px;
}

.other-tours-slideshow-box .swiper-button-prev {
    left: -15px;
}

.other-tours-slideshow-box .swiper-button-next {
    right: -15px;
}

.main .other-tours-slideshow-box .title05 {
    margin-top: 13px;
    margin-bottom: 8px;
    font-size: 14px;
}

.row .tour-features-dl-table{
    font-size: 80%;
}

.tour-features-dl-table>*:last-child {
    margin-bottom: 0;
}

.main div.tour-features-dl-table2 {
    margin-bottom: 0;
    padding-bottom: 40px;
	border-width: 2px;
	border-radius: 0;
    border-image: none;
}

.main div.tour-features-dl-table2:last-of-type {
    border-bottom: 2px dashed #989898;
}


/* ---------------
   QUALITY
   --------------- */

.quality-statement-section {
    margin-top: 60px;
}

.main .interview-row .title04 {
    font-size: 18px;
    color: #9F7E2B;
    font-weight: bold;
    line-height: 1.9;
}

.main .interview-row .title04:before {
    display: inline-block;
    content: '➖　';
}

.main .interview-row .title04:after {
    display: none;
}

.tour-points-box {
    margin-bottom: 30px;
}

.main .interview-row .caption {
    text-align: center;
}

.reasons-to-smile-row>div {
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-bottom: 20px;
    width: 100%;
    border-radius: 10px;
    text-decoration: none;
}

.smile-title-box {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 14px;
}

.smile-title-box>div {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.smile-title-box .smile-number {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-justify-content: center;
    justify-content: center;
    padding-top: 13px;
    width: 100px;
    max-width: 100px;
    height: 100px;
    background: url(../images/ico-cloud2@2x.png) no-repeat -4px 50%;
    background-size: cover;
    font-size: 41px;
    line-height: 1.2;
    text-align: center;
}

.smile-title-box .smile-number small {
    font-size: 16px;
}

.smile-title-box .smile-picture {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-align-items: center;
    align-items: center;
}

.smile-reason-drawing {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
}

.smile-reason-drawing .smd-box *:first-child {
    margin-top: 20px;
}

.main .reasons-to-smile-row .title05 {
    margin-bottom: 11px;
    border-bottom: 3px solid transparent;
    border-width: 2px;
    border-image: url(../images/border3@2x.png) 4 repeat;
    padding-bottom: 20px;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
}

.reasons-to-smile-row .content-box {
    position: relative;
    -webkit-box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.16);
    padding: 19px 28px;
    background-color: #fff;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.reasons-to-smile-row .content-box p {
    margin-top: 0;
    margin-bottom: 0;
}

/* ---------------
    CONTACT
    --------------- */
.main .bq-phone-fax-contact {
    padding: 0;
    line-height: 1.8;
}
.main .bq-phone-fax-contact:last-child {
    margin-bottom: 104px;
}
.phone-fax-contact-row {
    font-size: 18px;
}
.phone-fax-contact-row > div {
    display: -ms-flexbox;
    display: flex;
    -ms-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin-bottom: 10px;
}
.phone-fax-contact-row .icon {
    margin-right: 15px;
}
.phone-fax-contact-row + p {
    text-align: center;
    font-size: 14px;
}

/* ---------------
    PLATFORM
    --------------- */
.main .selection-container {
    margin-bottom: 100px;
}
.platform-block-row {
    margin-top: 33px;
    margin-left: -8px;
    margin-right: -8px;
}
.platform-block-row > div {
    padding-left: 8px;
    padding-right: 8px;
}
.platform-block-row .image-box a {
    display: block;
    text-decoration: underline;
}
section .platform-block-row .image-box,
section .platform-block-row > div:last-child .caption {
    margin-bottom: 15px;
}
.platform-block-row .image-box a [class*='icon-angle-r'] {
    margin-right: 10px;
}
.platform-block-row .image-box img {
    width: 100%;
}

/* ---------------
    404
    --------------- */
.four-zero-four-image {
    margin-bottom: 40px;
}
.main .four-zero-four-content {
    font-size: 18px;
}
.four-zero-four-btn [class*='more-link'] {
    margin-left: auto;
    margin-right: auto;
    border-radius: 30px;
    padding-top: 21px;
    padding-bottom: 21px;
    width: 260px;
}

@media (min-width: 375px) {
    .header {
        padding-left: 35px;
        padding-right: 35px;
    }
    .header-contact-box a {
        margin: 0 4px;
        width: 43px;
        height: 43px;
    }
    .header_menu_sub>div>div {
        margin-left: 10px;
        margin-right: 10px;
    }
    .header_menu_sub div a {
        font-size: 14px;
    }
    /* ---------------
		TOP
	--------------- */
    .tba-tokyo {
        left: 30%;
    }
    .tba-tokyo img {
        margin-left: -30%;
    }
    .tba-place {
        left: 30%;
    }
    .tba-place img {
        margin-left: -30%;
    }
    .top-news-box>div:last-child:before {
        left: auto;
    }
    .calendar-flyer-inner-img {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .japan-search-map .japan-search-china-shikoku-kyushu {
        margin-left: -70px;
    }
    .top-news-box .list-group li .news-link {
        font-size: 14px;
    }
    .japan-search-map .japan-search-hokkaido {
        top: 74px;
        margin-left: 150px;
    }
    .japan-search-map .japan-search-tohoku {
        top: 142px;
        margin-left: 150px;
    }
    .japan-search-map .japan-search-koshinetsu {
        top: 256px;
        margin-left: 30px;
    }
    .japan-search-map .japan-search-kanto {
        top: 207px;
        margin-left: 150px;
    }
    .japan-search-map .japan-search-kinki {
        top: 307px;
        margin-left: 31px;
    }
    .japan-search-map .japan-search-okinawa {
        top: 380px;
        margin-left: -92px;
    }
    .japan-search-map .search-overseas {
        top: 161px;
        margin-left: -93px;
    }
    
    /* ---------------
        CONTACT
        --------------- */
    .phone-fax-contact-row + p {
        font-size: 16px;
    }
}

@media (min-width: 400px) {
    .nav-open-btn {
        width: 100px;
        font-size: 12px;
    }
    
    /* ---------------
        CONTACT
        --------------- */
    .phone-fax-contact-row {
        font-size: 28px;
    }
    .phone-fax-contact-row > div {
        margin-bottom: 0;
    }
}

@media (min-width: 576px) {
    .icon-form {
        min-width: 44px;
        height: 39px;
    }
    .thumbnail .caption {
        margin-bottom: 0;
    }
    .image-box-pic img {
        width: 255px;
    }
    .news-cat-arch-box select {
        font-size: 18px;
    }
    .list-group li .label,
    .list-group li .news-link,
    li time {
        margin-right: 30px;
    }
    .label {
        margin-left: 0;
    }
    .list-group li p a:first-child,
    .list-group li p time:first-child {
        margin-right: 15px;
    }
    .news-cat-arch-row .news-cat-arch-box:first-of-type {
        margin-bottom: 0;
    }
    .paging-container {
        margin-top: 60px;
    }
    .main .paging {
        font-size: 20px;
    }
    .call-to-action .call-to-action-row .cta-points-btn-block .title03 {
        font-size: 41px;
    }
    .call-to-action .call-to-action-row .cta-points-btn-block .title03 small {
        font-size: 93%;
    }
    .main table [class*='more-link'] {
        width: 100%;
    }
    .call-to-action [class*='more-link'] {
        font-size: 22px;
    }
    .call-to-action .call-to-action-row [class*='more-link'] {
        padding: 30px 20px 30px 30px;
        font-size: 18px;
    }
    .call-to-action [class*='more-link']>span:first-child,
    .call-to-action .call-to-action-row [class*='more-link']>span:first-child {
        display: inline;
    }
    [class*='more-link']>span:nth-child(2) {
        position: relative;
        left: 10px;
    }
    .call-to-action2 [class*='more-link']>span:nth-child(2) {
        left: 0;
    }

    /* ---------------
		TOP
	--------------- */
    .top-title-box .top-bubble-rice-balls {
        top: 119px;
        margin-left: -21px;
        width: 190px;
    }
    .japan-search-map .search-places a {
        margin: 0;
        padding: 5px;
    }
    .japan-search-map a {
        display: inline-block;
        margin-bottom: 10px;
        border-radius: 20px;
        padding: 5px;
        background-color: #C9F9EE;
        width: 140px;
        font-weight: bold;
        text-decoration: none;
        font-size: inherit;
    }

    /* ---------------
		TOUR
	--------------- */
    .busStop .fancybox-slide--html {
        padding: 40px;
    }
    .bus-stop-modal-box .title03 {
        font-size: 26px;
    }
    .bus-stop-modal-box .title03 .icon-bus-stop {
        min-width: 10px;
        height: 32px;
    }
    .bus-stop-modal-box {
        padding-left: 30px;
        padding-right: 30px;
        background: url(../images/tour/entry/bus3-pc@2x.png) no-repeat 84px calc(100% - 26px) #FDFBEF;
        background-size: 335px 102px;
    }
    .other-tours-slideshow-box {
        width: 448px;
    }
    /* ---------------
		QUALITY
	--------------- */
    .main .reasons-to-smile-row .title05 {
        font-size: 26px;
    }
}

@media screen and (min-width: 768px) {
    body {
        font-size: 100%;
    }
    .hoverf {
        display: inline-block;
        transition: all .3s ease;
        opacity: 1;
    }
    .hoverf:hover,
    .hoverf:focus {
        box-shadow: 0 2px 4px rgba(51, 51, 51, 0.8);
    }
    .image-box {
        overflow: hidden;
    }
    .image-box,
    .image-box img {
        position: relative;
        transition: all .3s ease;
    }
    .caption {
        text-align: left;
    }
    a:hover .image-box,
    a:focus .image-box {
        box-shadow: 0 2px 4px rgba(51, 51, 51, 0.8);
    }
    a:hover .image-box img,
    a:focus .image-box img {
        transform: scale(1.1);
    }
    a:hover [class*='more-link'],
    a:focus [class*='more-link'] {
        text-decoration: none;
    }
    .title01 {
        font-size: 20px;
    }
    .title01 span{
        font-size: 40px;
    }
    .title02 {
        font-size: 32px;
    }
    .title03 {
        font-size: 22px;
    }
    .title04 {
        font-size: 20px;
    }
    .main .title02 {
        margin-bottom: 40px;
    }
    .main .title02:before {
        top: -28px;
        left: -39px;
        width: 97px;
        height: 97px;
    }
    .main-title-box .title01 {
        font-size: 40px;
        line-height: 1.6;
    }
    .main-title-box .title01>* {
        padding-left: 20px;
        padding-right: 20px;
    }
    .main-title-box .title01>small {
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: 16px;
    }
    .main-title-box .title01>span:last-child {
        font-size: 30px;
    }
    .main-title-box .title01>span:last-child small {
        top: -6px;
        margin-right: 14px;
        font-size: 20px;
    }
    .main .title03 {
        border-width: 16px 23px;
        font-size: 26px;
    }
    .main-wrapper {
        padding: 80px 0 100px;
        -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    }
    .container {
        padding-right: 15px;
        padding-left: 15px;
        max-width: 1118px;
    }
    .intro-section .title01 {
        margin-bottom: 20px;
        font-size: 40px;
    }
    .header_menu_sub>div {
        -ms-justify-content: center;
        justify-content: center;
    }
    .header_menu_sub>div>div {
        margin-left: 25px;
        margin-right: 25px;
    }
    .header_menu_sub div a {
        font-size: 16px;
    }
    .main .anchor-link-menu {
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: space-between;
        justify-content: space-between;
        margin-bottom: 0;
    }
    .anchor-link-menu {
        text-align: center;
    }
    .anchor-link-menu li {
        display: inline-block;
        margin-bottom: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    .anchor-link-menu li:first-child {
        padding-left: 0;
    }
    .anchor-link-menu li:last-child {
        padding-right: 0;
    }
    .main {
        position: relative;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
    .not-front .main {
        font-size: 112%;
    }
    .mailStep {
        margin-bottom: 54px;
        text-align: center;
    }
    .news-cat-arch-box {
        margin-bottom: 13px;
        padding-left: 20px;
        text-align: right;
    }
    .news-cat-arch-box .title05 {
        text-align: left;
    }
    .news-cat-arch-box select {
        display: inline-block;
        margin-left: 0;
    }
    .main .ul-angle-link li a>span:first-child,
    .main .ul-angle-link li>span:first-child {
        top: 9px;
    }
    .main .news-cat-arch-box .ul-angle-link li {
        border-bottom: 1px solid #f1f1f1;
        padding-left: 0;
    }
    .news-cat-arch-box .ul-angle-link li:first-child {
        border-top: 1px solid #f1f1f1;
    }
    .news-cat-arch-box .ul-angle-link li a {
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 15px;
    }
    .main .news-cat-arch-box .ul-angle-link li a [class*='icon-angle-right'] {
        top: 27px;
    }
    .list-group .list-group-item .list-group-img {
        margin-top: 0;
    }
    .form-space span {
        display: inline;
        margin-top: 0;
    }
    .main .form-table td>input[type=text]:last-of-type {
        margin-bottom: 0;
    }
    .unordered-l li:before {
        top: 15px;
    }
    .ul-checklist li {
        background-position: 0 5px;
    }
    [class*='more-link'] {
        position: relative;
        padding-left: 30px;
        padding-right: 30px;
        z-index: 1;
        overflow: hidden;
    }
    [class*='more-link'] span {
        position: relative;
        z-index: 2;
    }
    [class*='more-link'] [class*='icon-arrow'] {
        margin-left: 5px;
    }
    [class*='more-link'],
    [class*='more-link']:hover,
    [class*='more-link']:focus {
        text-decoration: none;
    }
    [class*='more-link']:hover,
    [class*='more-link']:focus {
        opacity: 0.8;
    }
    [class*='more-link']:hover [class*='icon-caret-r'],
    [class*='more-link']:focus [class*='icon-caret-r'] {
        background-image: url(../images/ico-caret-r.svg);
    }
    [class*='more-link']:hover .icon-arrow-r,
    [class*='more-link']:focus .icon-arrow-r {
        background-image: url(../images/ico-arrow-r3.svg);
    }
    .arrow-link2 [class*='icon-arrow'] {
        top: 17px;
    }
    .space-block {
        display: inline;
        margin-bottom: 0;
        margin-left: 20px;
    }
    .main .form-table .formBtnBox {
        display: table-cell;
        border-bottom: none;
    }
    .top-news .list-group {
        margin-bottom: 11px;
    }
    .list-group li {
        display: -ms-flexbox;
        display: flex;
        align-items: -ms-baseline;
        align-items: baseline;
    }
    .list-group li>a:hover,
    .list-group li>a:focus {
        opacity: 0.8;
    }
    .label {
        font-size: 14px;
    }
    form label {
        margin-right: 20px;
    }
    .list-group li .label,
    .list-group li .news-link,
    li time {
        -ms-flex: 0 0 1;
        flex: 0 0 1;
    }
    .list-group li .news-link {
        margin-right: 0;
        font-size: 18px;
    }
    .list-group li .arrow-link {
        text-align: left;
    }
    .list-group li .arrow-link a {
        display: block;
        border: none;
        margin: 10px 0 0;
        padding: 2px 0;
        background-color: transparent;
        text-align: left;
        color: inherit;
    }
    .list-group li .arrow-link a [class*='icon-angle-right'] {
        color: inherit;
    }
    .news-entry li p {
        display: block;
    }
    .list-news .label {
        margin-right: 20px;
    }
    .list-news time {
        max-width: 140px;
    }
    .list-news li p {
        display: block;
        margin-bottom: 0;
    }
    .horizontal-li-grid {
        margin-bottom: 0;
    }
    article table tr {
        display: table-row;
    }
    article table th,
    article table td {
        display: table-cell;
    }
    .main table [class*='more-link'] {
        padding: 5px 10px 3px;
        font-size: 13px;
    }
    .main .table01 th,
    .main .table01 td {
        padding: 20px 10px;
        line-height: 1.5;
    }
    .main .table01 th {
        width: 140px;
        text-align: left;
    }
    .main .table03 th,
    .main .table03 td {
        padding-top: 22px;
        padding-bottom: 22px;
        font-size: 18px;
    }
    .main .form-table thead,
    .main .form-table tbody,
    .main .form-table tr,
    .main .form-table th,
    .main .form-table td {
        display: block;
    }
    .main .form-table {
        display: table;
    }
    .main .form-table thead {
        display: table-header-group;
    }
    .main .form-table tbody {
        display: table-row-group;
    }
    .main .form-table tr {
        display: table-row;
    }
    .main .form-table th,
    .main .form-table td {
        display: table-cell;
    }
    .main .form-table th {
        border-bottom: 3px solid transparent;
        border-width: 2px;
        border-image: url(../images/border3@2x.png) 4 repeat;
        padding-right: 10px;
        width: 270px;
        vertical-align: top;
        font-size: 18px;
    }
    .main .form-table td {
        padding-left: 10px;
        padding-right: 0;
    }
    .imglink-row>div,
    .imglink-row>div:last-of-type {
        margin-bottom: 20px;
    }
    .imglink-row .image-box>div {
        width: 100%;
    }
    .imglink-img {
        margin-bottom: 30px;
        height: 94px;
    }
    .imglink-row .image-box .title05 {
        margin-top: 1rem;
        font-size: 19px;
    }
    .main blockquote {
        margin-bottom: 30px;
        padding: 40px;
    }
    .arrow-link a [class*='icon-angle-r'],
    .arrow-link p [class*='icon-angle-r'],
    .arrow-link div [class*='icon-angle-r'] {
        top: 15px;
    }
    .next-page-text a [class*='icon-angle-right'] {
        margin-left: 30px;
        margin-right: 20px;
    }
    .pageTop a {
        bottom: 30px;
        right: 30px;
    }
    .pageTop a:hover,
    .pageTop a:focus {
        opacity: 0.8;
    }
    .footer-logo-box address {
        margin: 0;
    }
    .lower-footer {
        padding-left: 15px;
        padding-right: 15px;
        text-align: left;
    }
    .imglink-row p {
        font-size: 13px;
    }
    .main .caption .title04 {
        margin-top: 20px;
    }
    .imglink-row .caption {
        font-size: 14px;
    }
    .form-table .form-width-22percent {
        width: 22%;
    }
    .form-table .form-width-1quarter {
        width: 25%;
    }
    .form-table .form-width-40percent {
        width: 40%;
    }
    .form-table .form-width-half {
        width: 50%;
    }
    .form-table .form-width-55percent {
        width: 55%;
    }
    .form-table .form-width-2-3 {
        width: 66%;
    }
    .form-table .form-width-3quarters {
        width: 75%;
    }
    .main .form-title .title05 .ul-angle-link {
        display: inline-block;
        margin-left: 30px;
        margin-bottom: 0;
        font-size: 85%;
    }
    .call-to-action-row {
        background-color: rgba(51, 51, 51, 0.89);
    }
    .call-to-action {
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: center;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        padding-top: 15px;
        padding-bottom: 15px;
        background-image: url(../images/front/bg-blueberries-pc@2x.jpg);
        height: 480px;
    }
    .call-to-action [class*='more-link'] {
        margin-left: auto;
        margin-right: auto;
        padding-top: 30px;
        padding-bottom: 30px;
        max-width: 610px;
        font-size: 24px;
    }
    .call-to-action.call-to-action2 {
        height: auto;
    }
    /* ---------------
		TOP
	--------------- */
    .front .container {
        max-width: 1130px;
    }
    .front .main-wrapper {
        padding-bottom: 39px;
    }
    .top-title-image {
        font-size: 90%;
    }
    .top-title-box .title01 {
        margin-bottom: 34px;
        font-size: 39px;
        line-height: 1.8;
    }
    .top-title-box p {
        margin-bottom: 0;
        max-width: 460px;
        line-height: 2;
    }
    .front .main .title02:before {
        top: calc(50% - 50px);
        left: -41px;
    }
    .front .main .title02 .icon,
    .front .main .tour-features-row .title02 .icon {
        top: -52px;
        left: 0;
    }
    .top-tour-features-pic .image-box {
        position: absolute;
        top: 66px;
        right: 67px;
    }
    .front .main .search-date .title02,
    .front .main .top-flyers .title02 {
        text-align: center;
    }
    .front .main .top-tour-features-pic .title02 .icon {
        top: -48px;
        left: 0;
    }
    .front .top-search-main .title02 .icon {
        top: -35px;
    }
    .front .top-other-bus-trips-main .title02 .icon {
        position: relative;
        top: auto;
        left: auto;
    }
    .front .top-other-bus-trips-main .title02:before {
        top: 0;
        left: 0;
    }
    .front .main .search-date .title02:before,
    .front .main .top-flyers .title02:before {
        top: -30px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .calendar-flyer-column-row:hover,
    .calendar-flyer-column-row:focus,
    .top-banner-link-main .more-link-whole:hover,
    .top-banner-link-main .more-link-whole:focus {
        text-decoration: none;
        opacity: 0.8;
    }
    .top-other-bus-trips-main .title03 {
        border: none;
        border-image: none;
        border-radius: 0;
        background-color: transparent;
        font-size: 22px;
        font-weight: bold;
    }
    .top-other-bus-trips-main p {
        font-size: 12px;
    }
    .top-news-box {
        margin-bottom: 48px;
    }
    .top-news-box>div:first-child {
        position: relative;
        border-image: url(../images/front/word-bubble-pc@2x.png) 28 46 44 46 round;
        border-width: 10px 20px 21px 20px;
        max-width: 9999px;
        z-index: 1;
    }
    .top-news-box .list-group li .news-link {
        width: 100%;
    }
    .top-news-box .list-group {
        padding: 19px 0 26px;
    }
    .top-news-box .list-group li .label-important {
        display: inline-block;
        margin-right: 20px;
        margin-bottom: 0;
    }
    .top-news-box>div:last-child {
        margin-right: 0;
        padding-bottom: 0;
    }
    .top-news-box>div:last-child:before {
        top: -173px;
        width: 245px;
        height: 247px;
        background-image: url(../images/front/path@2x.png);
    }
    .top-news-box>div:last-child:after {
        top: -82px;
        right: 10px;
        width: 97px;
        height: 199px;
        z-index: 2;
    }
    .front .main .title02 {
        margin-bottom: 37px;
        font-size: 30px;
        text-align: left;
    }
    .tour-features-row .image-box a:hover,
    .tour-features-row .image-box a:focus,
    .tour-features-thumbs-row .image-box a:hover,
    .tour-features-thumbs-row .image-box a:focus {
       opacity: 0.8;
    }
    .top-tour-features-content {
        padding-bottom: 147px;
    }
    .main .top-tour-features-content .title02 {
        margin-bottom: 16px;
    }
    .front .top-other-bus-trips-main .title02 {
        text-align: center;
    }
    .tour-entry-code {
        position: relative;
        top: 4px;
        margin-bottom: 0;
    }
    .front .swiper-container {
        padding-top: 10px;
    }
    .top-tour-features-pic {
        display: block;
    }
    .top-tour-features-pic .title02:after {
        position: absolute;
        bottom: -16px;
        left: 436px;
        display: block;
        content: '';
        background: url(../images/front/rice-balls@2x.png) no-repeat;
        background-size: contain;
        width: 95px;
        height: 93px;
    }
    .top-tour-features-pic .title02,
    .top-tour-features-pic .image-box,
    .top-tour-features-pic p {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        max-width: auto;
    }
    .main .tour-entry-highlight {
        font-size: 24px;
    }
    .swiper-button-next,
    .swiper-button-prev {
        margin-top: -50px;
    }
    .main .top-tour-features-pic .title02+p {
        margin-bottom: 26px;
    }
    .tour-entry-row .tour-entry-pic {
        box-sizing: border-box;
        padding-right: 10px;
    }
    .tour-entry-row .tour-entry-content {
        box-sizing: border-box;
        padding-left: 10px;
    }
    .tour-entry-content [class*='more-link'] {
        margin-left: 0;
    }
    .tour-entry-pic .image-box {
        margin-bottom: 0;
    }
    .top-search-main {
        margin-bottom: 160px;
    }
    .search-date {
        margin-bottom: 0;
    }
    .calendar-flyer-column-row:hover .image-box,
    .calendar-flyer-column-row:focus .image-box {
        box-shadow: none;
    }
    .calendar-flyer-column-row:hover .image-box img,
    .calendar-flyer-column-row:focus .image-box img {
        transform: scale(1);
    }
    .japan-search-map .search-places a:focus,
    .japan-search-map .search-places a:hover {
        opacity: 0.8;
    }
    .top-tour-links-main {
        margin-bottom: 35px;
    }
    .top-banner-link-main .more-link-whole {
        display: -ms-flexbox;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        margin-bottom: 40px;
        padding: 38px 89px 38px 38px;
    }
    .top-banner-link-main .more-link-whole .top-banner-link-header {
        margin-right: 32px;
        margin-bottom: 0;
    }
    .top-banner-link-main .more-link-whole .top-banner-link-text {
        margin-left: 32px;
        font-size: 16px;
    }
    .top-banner-link-main .more-link-whole .top-banner-link-text img {
        top: calc(0px + 100%);
        left: calc(0px + 100%);
    }
    .top-banner-link-main .more-link-whole:hover,
    .top-banner-link-main .more-link-whole:focus {
        background: #F0F8E3;
        border-color: #00B900;
    }
    .top-tour-links-row a {
        margin-bottom: 30px;
        max-width: 100%;
    }
    .top-requests-main blockquote {
        margin-top: -5px;
    }
    .top-news-social-news .more-link {
        font-size: 20px;
    }
    /* ---------------
		TOUR
	--------------- */
    .main .tour-entry-title {
        margin-bottom: 25px;
    }
    .main .tour-points-row .title03 .icon-guide {
        min-width: 47px;
        height: 105px;
        bottom: -12px;
    }
    .main .tour-points-row .image-box {
        margin-bottom: 40px;
    }
    .main .tour-points-box .title02,
    .main .tour-schedule-box .title02,
    .main .tour-schedule-box .title03,
    .main .meal-schedule-box .title02,
    .main .tour-report-entries-box .title02,
    .main .tour-testimonial-container .title02,
    .main .about-payment-container .title02,
    .main .cancellation-fee-container .title02 {
        margin-bottom: 47px;
    }
    .tour-schedule-row>div .tsr-inner-image>*:first-child {
        margin-top: 0;
    }
    .main .tour-points-container {
        margin-bottom: 96px;
    }
    .tour-schedule-row>div:first-child {
        -ms-flex: 0 0 110px;
        flex: 0 0 110px;
        width: 110px;
        max-width: 110px;
    }
    .highlight {
        font-size: 20px;
    }
    .main .tour-schedule-box .title05 {
        font-size: 20px;
    }
    .main .tour-schedule-container {
        margin-bottom: 80px;
    }
    .main .meal-schedule-container {
        margin-bottom: 96px;
    }
    .main .meal-schedule-box .title03 {
        margin-bottom: 40px;
    }
    .main .meal-trip-title {
        border-radius: 34px;
        padding: 16px;
        font-size: 20px;
    }
    .main .meal-trip-title:before,
    .main .meal-trip-title:after {
        top: 6px;
        width: 89px;
        height: 53px;
    }
    .main .meal-trip-title:before {
        left: 100px;
    }
    .main .meal-trip-title:after {
        right: 100px;
    }
    .meal-schedule-row {
        margin-bottom: 70px
    }
    .main .tour-report-entries-container {
        margin-bottom: 125px;
    }
    .main .tour-testimonial-container .title02 .icon-mailbox {
        top: -55px;
        right: 1px;
        min-width: 76px;
        height: 120px;
    }
    .testimonial-row .image-box img {
        width: 78px;
        height: 66px;
    }
    .main .tour-testimonial-container blockquote {
        padding: 14px 23px 4px;
        font-size: 18px;
    }
    .testimonial-row>div:first-child {
        padding-right: 47px;
    }
    .main .testimonial-row>div:last-child p {
        padding-right: 135px;
    }
    .main .tour-testimonial-container {
        margin-bottom: 106px;
    }
    .main .boarding-bus-container {
        margin-bottom: 92px;
    }
    .boarding-bus-container .title02 {
        margin-bottom: 3px;
    }
    .boarding-bus-banner {
        margin-bottom: 16px;
    }
    .boarding-bus-row>div:last-child {
        margin-top: 11px;
    }
    .main .quality-declaration-section {
        position: relative;
        padding-top: 88px;
        padding-bottom: 69px;
    }
    .main .quality-declaration-title {
        padding-left: 107px;
        padding-right: 107px;
    }
    .main .quality-declaration-title:before {
        left: 0;
    }
    .quality-declaration-box {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 45px;
        padding: 30px 30px 23px;
        max-width: 720px;
    }
    .main .quality-declaration-list {
        margin: 0;
    }
    .main .quality-declaration-list>li {
        padding-left: 46px;
        font-size: 20px;
    }
    .qds-row {
        margin-left: -20px;
        margin-right: -20px;
    }
    .qds-row>div {
        padding-left: 20px;
        padding-right: 20px;
    }
    .main .quality-declaration-list>li:before {
        top: 9px;
        font-size: 25px;
    }
    .main .please-confirm-section {
        padding-top: 32px;
        padding-bottom: 32px;
        font-size: 31px;
    }
    .main .about-payment-container .title02 .icon-purse,
    .main .cancellation-fee-container .title02 .icon-purse {
        left: -20px;
        max-width: 32px;
        height: 30px;
    }
    .main .bus-stop-container .title02 .icon-bus-stop {
        top: -14px;
        left: -15px;
        min-width: 12px;
        height: 30px;
    }
    .main .about-payment-container {
        margin-bottom: 110px;
    }
    .faqlist {
        margin-bottom: 10px;
    }
    .about-payment-link {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 10px;
        padding-top: 20px;
        padding-bottom: 20px;
        -ms-justify-content: center;
        justify-content: center;
        font-size: 18px;
    }
    .about-payment-link .icon {
        margin-left: 20px;
    }
    .main .cancellation-fee-container {
        margin-bottom: 107px;
    }
    .cancellation-fee-table-row .title04 {
        margin-bottom: 29px;
        font-size: 20px;
    }
    .cancellation-fee-table-row .table03 {
        margin-bottom: 30px;
    }
    .main .cancellation-fee-container .unordered-l {
        margin-bottom: 37px;
    }
    .main .cancellation-fee-container .title02 .icon-bus-stop {
        top: 10px;
    }
    .information-flow-row a:hover,
    .information-flow-row a:focus {
        background-color: #F4B75F;
    }
    .bus-stop-ext-link {
        max-width: 9999px;
    }
    .information-flow-row {
        margin-bottom: 27px;
    }
    .main .bus-stop-container {
        margin-bottom: 81px;
    }
    .main .bus-stop-container .title02 {
        margin-bottom: 58px;
    }
    .main .other-tours-container {
        margin-top: 108px;
    }
    /* ---------------
		QUALITY
	--------------- */
    .smile-reason-drawing {
        -ms-justify-content: flex-end;
        justify-content: flex-end;
        -ms-align-items: flex-end;
        align-items: flex-end;
    }

    /* ---------------
        CONTACT
        --------------- */
    .phone-fax-contact-row > div:first-child {
        -ms-justify-content: flex-end;
        justify-content: flex-end;
    }
    .phone-fax-contact-row > div:last-child {
        -ms-justify-content: flex-start;
        justify-content: flex-start;
    }

    /* ---------------
        PLATFORM
        --------------- */
    .platform-block-row .image-box a:hover,
    .platform-block-row .image-box a:focus {
        opacity: 0.8
    }
    .platform-block-row .image-box a:hover,
    .platform-block-row .image-box a:focus {
        text-decoration: none;
    }
    section .platform-block-row > div .caption {
        margin-bottom: 0;
    }
	.footer-links li.lastLink a {
		border-width: 2px 0 2px 0;	
	}
}

@media screen and (min-width: 992px) {
    .logo {
        margin-top: 20px;
    }
    .nav-open-container {
        display: none;
    }
    nav ul {
        position: static;
        top: 0;
        margin-left: auto;
        margin-right: auto;
        background-color: transparent;
    }
    .header {
        margin: 0 auto;
        padding: 0;
        max-width: 1326px;
    }
    .top-header {
        transition: 0.5s all ease;
    }
    .header .title01 {
        display: inline-block;
        min-width: 130px;
    }
    .header .title01 a {
        display: inline-block;
    }
    .header .title01 img {
        min-width: 210px;
        max-width: 210px;
        height: 67px;
    }
    .navigation_box {
        position: static;
        margin-top: 16px;
        padding: 0;
    }
    .header>ul {
        margin: 0 0 0 auto;
        padding: 0;
    }
    .header>ul li {
        margin-right: 40px;
    }
    .header>ul li:last-child {
        margin-right: 0;
    }
    .upper_header.logo {
        min-width: 314px;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .header li,
    nav li {
        position: relative;
        display: inline-block;
        margin-bottom: 0;
        padding: 0 0 0 5px;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .search form {
        margin: 0;
        padding: 10px 0;
    }
    .upper_header {
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: flex-end;
        justify-content: flex-end;
        -ms-align-items: center;
        align-items: center;
        font-size: 14px;
    }
    .upper_header ul {
        margin: 0;
        padding-left: 0;
        list-style: none;
    }
    .upper_header ul li {
        display: inline-block;
        margin-left: 20px;
        font-size: 12px;
        opacity: 0.8;
    }
    .upper_header ul li {
        letter-spacing: 1px;
    }
    .upper_header a [class*='icon-angle'] {
        margin-left: 10px;
    }
    nav {
        display: block;
        margin: 0 auto;
    }
    nav ul {
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: flex-end;
        justify-content: flex-end;
        -ms-align-items: center;
        align-items: center;
        margin: 0;
        padding: 0;
    }
    nav li,
    nav li:first-child {
        border: none;
        list-style: none;
        font-size: 14px;
    }
    nav li a {
        display: -ms-flexbox;
        display: flex;
        margin: 0;
        border-radius: 0;
        padding: 0;
        background-color: transparent;
        line-height: 1;
        color: inherit;
    }
    nav>ul>li>a {
        text-align: center;
    }
    nav>ul>li:first-child>a {
        margin-left: 0;
    }
    nav>ul>li:nth-child(7)>a {
        margin-right: 0;
    }
    nav li a .icon-angle-down {
        position: absolute;
        bottom: 15px;
        left: 50%;
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }
    nav li:last-child a {
        border-right: none;
    }
    nav li a>div {
        position: relative;
        display: block;
        padding: 8px 0;
    }
    nav li a>div>div {
        margin-top: 8px;
    }
    nav li a:hover,
    nav li a:focus {
        background-color: transparent;
        color: inherit;
    }
    nav ul li:last-child .ani-link div {
        margin-right: 0;
        width: 130px;
    }
    nav ul li .ani-link,
    nav ul .search {
        position: static;
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: center;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        border-radius: 14px;
        height: 80px;
        font-size: 16px;
    }
    nav li a:hover,
    nav li a:focus {
        color: inherit;
    }
    .ani-link {
        position: relative;
    }
    .ani-link:after {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        display: block;
        margin-left: auto;
        margin-right: auto;
        border-radius: 2px;
        content: "";
        height: 5px;
        width: 100%;
        background-color: #F8EFD7;
        opacity: 1;
        transition: 0.15s all ease;
        z-index: -1;
    }
    nav li a:hover,
    nav li a:focus,
    .page-search nav li .nav-search,
    .page-calendar nav li .nav-calendar,
    .page-area nav li .nav-area,
    .page-flag nav li .nav-flag,
    .page-decision nav li .nav-decision,
    .page-guide .upper_header .nav-guide,
    .page-platform .upper_header .nav-platform,
    .page-pointcard .upper_header .nav-card,
    .page-safety .upper_header .nav-safety,
    .page-booking .upper_header .nav-booking,
    .page-contact .upper_header .nav-contact {
        background-color: transparent;
        color: inherit;
    }
    .nav-search:after {
        background-color: #FF685F;
    }
    .page-search nav li .nav-search,
    .nav-search:hover,
    .nav-search:focus {
        color: #FF685F;
    }
    .nav-calendar:after {
        background-color: #FFDC28;
    }
    .page-calendar nav li .nav-calendar,
    .nav-calendar:hover,
    .nav-calendar:focus {
        color: #FFDC28;
    }
    .nav-area:after {
        background-color: #00E3FF;
    }
    .page-area nav li .nav-area,
    .nav-area:hover,
    .nav-area:focus {
        color: #00E3FF;
    }
    .nav-flag:after {
        background-color: #56E38D;
    }
    .page-flag nav li .nav-flag,
    .nav-flag:hover,
    .nav-flag:focus {
        color: #56E38D;
    }
    .nav-decision:after {
        background-color: #A2AAF1;
    }
    .page-decision nav li .nav-decision,
    .nav-decision:hover,
    .nav-decision:focus {
        color: #A2AAF1;
    }
    .upper_header a {
        display: block;
        border-radius: 14px;
        background-color: #F8EFD7;
        height: 100%;
        padding: 8px 10px;
        text-align: center;
        text-decoration: none;
        font-weight: bold;
    }
    .upper_header a:hover,
    .upper_header a:focus,
    .page-guide .upper_header .nav-guide,
    .page-platform .upper_header .nav-platform,
    .page-pointcard .upper_header .nav-card,
    .page-safety .upper_header .nav-safety,
    .page-booking .upper_header .nav-booking,
    .page-contact .upper_header .nav-contact {
        background-color: #F4B75F;
    }
    .ani-link:hover .dropdown-marker:after,
    .ani-link:focus .dropdown-marker:after {
        position: absolute;
        bottom: 0;
        left: calc(50% - 15px);
        display: block;
        content: '';
        width: 0;
        height: 0;
        border-left: 15px solid #fff;
        border-right: 15px solid #fff;
        border-bottom: 15px solid #F4B75F;
        opacity: 1;
    }
    .nav-dropdown-box ul {
        padding-top: 25px;
        padding-left: 0;
        padding-bottom: 25px;
    }
    .nav-dropdown-box ul li a {
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: space-between;
        justify-content: space-between;
        -ms-align-items: center;
        align-items: center;
        padding: 10px;
    }
    .nav-dropdown-box ul li a .icon {
        display: inline-block;
        margin-left: 5px;
    }
    .nav-dropdown-box {
        position: absolute;
        top: 100%;
        left: calc(50% - 100px);
        right: 0;
        border: 4px solid #F4B75F;
        padding: 10px;
        background-color: #fff;
        min-width: 200px;
    }
    .nav-dropdown-box>div {
        display: -ms-flexbox;
        display: flex;
        margin-left: auto;
        margin-right: auto;
        padding: 30px 0 30px 15px;
        max-width: 1230px;
    }
    .nav-dropdown-box ul,
    .nav-dropdown-box .title02 {
        margin: 0;
        padding: 0 15px;
        background-color: transparent;
        text-align: left;
    }
    .nav-dropdown-box ul {
        padding-left: 0;
        padding-right: 0;
    }
    .nav-dropdown-box ul li {
        display: block;
    }
    .nav-dropdown-box ul li a {
        border-bottom: 1px solid #CBCBCB;
        width: auto;
    }
    .topicpath {
        display: block;
        margin-bottom: 0;
        height: auto;
    }
    .header_contents,
    .topicpath ul {
        margin: 0 auto;
        padding-left: 15px;
        padding-right: 15px;
    }
    .topicpath ul {
        padding-left: 0;
        padding-right: 0;
    }
    .main-title-box {
        -ms-justify-content: center;
        justify-content: center;
        -ms-align-items: center;
        align-items: center;
        padding: 15px;
    }
    .main-title-box>div {
        max-width: 1366px;
        width: 100%;
    }
    .row.main .main-content {
        padding-right: 22px;
    }
    .table-box table {
        width: 100%;
    }
    .main .table02 th,
    .main .table02 td {
        font-size: inherit;
    }
    .main .table02 th {
        width: 95px;
    }
    .call-to-action-box {
        margin: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    .call-to-action-row>div {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-justify-content: center;
        justify-content: center;
    }
    .call-to-action-row .cta-points {
        margin-bottom: 0;
        border-right: 1px solid rgba(211, 211, 211, 0.2);
        border-bottom: none;
        padding-left: 0;
        padding-right: 70px;
        padding-bottom: 0;
    }
    .call-to-action .cta-points p:last-child {
        margin-bottom: 20px;
    }
    .call-to-action-row .cta-points-btn-block {
        padding-left: 70px;
        padding-right: 0;
    }
    .call-to-action-row {
        padding-left: 40px;
        padding-right: 40px;
    }
    .call-to-action .call-to-action-row [class*='more-link'] {
        font-size: 18px;
    }
    .call-to-action {
        height: 556px;
    }
    .footer-outer footer {
        margin: 0 auto;
        max-width: 1366px;
    }
    .footer-body {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .footer-body>div,
    .footer-body>.footer-logo-box {
        padding-left: 20px;
        padding-right: 20px;
    }
    .footer-body>div:last-child {
        padding-right: 0;
    }
    .footer-body>.footer-logo-box {
        padding-left: 20px;
        padding-right: 20px;
    }
    .footer-body .footer-links-box:last-child {
        margin-top: 10px;
    }
    .footer-copyright-box>div {
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: space-between;
        justify-content: space-between;
        margin: 0 auto;
    }
    .footer-links-box {
        margin: 0 auto;
        padding-top: 0;
        padding-bottom: 10px;
    }
    .footer-body>.footer-logo-box {
        margin-top: 0;
        margin-bottom: 0;
        text-align: left;
    }
    .footer-body>.footer-logo-box .footer-links-box {
        display: block;
    }
    .footer-links-box .title04 {
        text-align: left;
    }
    .f-logo {
        margin-top: 0;
        font-size: 22px;
    }
    .footer-links {
        display: block;
        margin: 0;
        padding: 0 0 15px;
        list-style: none;
        line-height: 2;
        text-align: center;
    }
    .footer-links li {
        display: inline-block;
    }
    .footer-links li a {
        position: relative;
        display: inline-block;
        padding: 0 10px;
        text-decoration: none;
    }
    .lower-footer {
        position: relative;
        margin: 0 auto;
        max-width: 1118px;
        padding-top: 35px;
    }
    .footer-links {
        display: -ms-flexbox;
        display: flex;
        -ms-justify-content: flex-end;
        justify-content: flex-end;
        border: none;
        padding: 0;
        list-style: none;
        line-height: 1.2;
    }
    .footer-links li {
        margin: 0 10px 8px;
        font-size: 15px;
    }
    .footer-links li:first-child {
        margin-left: 0;
    }
    .footer-links li:last-child {
        margin-right: 0;
    }
    .footer-links li a {
        padding: 0;
    }
    .footer-links li a:hover,
    .footer-links li a:focus {
        text-decoration: underline;
    }
    .footer-links li a,
    .footer-links-box:first-child .footer-links li:first-child a,
    .footer-links-box:last-child .footer-links li:first-child a {
        border: none;
    }
    .footer-links-box .title06 {
        margin: 0 0 12px;
    }
    .lower-footer .footer-body .footer-logo {
        margin-bottom: 0;
    }
    .footer-logo-box address {
        margin: 0;
        border: none;
        padding: 0;
    }
    .footer-body>.footer-privacy-policy {
        padding-left: 0;
    }
    .footer-body>.footer-copyright-policy {
        padding-right: 0;
    }
    .footer-contact-box {
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        text-align: left;
    }
    .copyright {
        margin-top: 20px;
        padding-left: 20px;
        padding-right: 20px;
        text-align: center;
    }
    /* ---------------
		TOP
	--------------- */
    .tba-tokyo {
        left: 85%;
        width: 440px;
    }
    .tba-tokyo img {
        margin-left: -85%;
    }
    .tba-place {
        left: 85%;
        width: 440px;
    }
    .tba-place img {
        margin-left: -85%;
        max-width: 100%;
        height: auto;
    }
    .top-title-image {
        margin-bottom: 52px;
        /* background: url(../images/front/banner-pc@2x.png) no-repeat calc(50% - -47px) 100%; */
        /* background-size: 1527px 480px; */
    }
    .top-title-box {
        margin-left: auto;
        margin-right: auto;
        padding: 109px 10px 79px;
        background: none;
        max-width: 1130px;
    }
    .tba-tress {
        top: auto;
        bottom: 19px;
    }
    .tba-place {
        top: auto;
        bottom: 141px;
    }
    .top-title-box .top-bubble-rice-balls {
        top: auto;
        left: calc(50% - 95px);
        bottom: 62px;
        margin-left: 170px;
    }
    .top-title-box .top-tour-bus-pic {
        top: auto;
        bottom: 3px;
        left: calc(50% - 107px);
        margin-left: 42px;
        width: 214px;
    }
    .top-tour-features-content {
        position: relative;
        padding-top: 38px;
        padding-left: 0;
        padding-right: 0;
    }
    .tour-top-box {
        padding-bottom: 20px;
        padding-left: 53px;
        padding-right: 53px;
    }
    .tour-entry-row .tour-entry-pic {
        padding-right: 20px;
    }
    .tour-entry-row .tour-entry-content {
        box-sizing: border-box;
        padding-left: 20px;
    }
    .top-features-main:after {
        right: -151px;
        bottom: 47px;
        width: 1221px;
        height: 305px;
        background: url(../images/front/bg-top-features-pc@2x.png);
        background-size: contain;
    }
    .main .top-tour-features-content .title02 {
        margin-bottom: 31px;
        padding-top: 0;
        padding-left: 0;
        padding-right: 30px;
    }
    .main .tour-features-row .title02 {
        margin-bottom: 30px;
        line-height: 1.2;
    }
    .main .tour-features-row p {
        margin-bottom: 7px;
    }
    .tour-search-pic {
        margin: 0 0 0 auto;
        width: 285px;
        height: 164px;
    }
    .tour-features-thumbs-row {
        margin-bottom: 20px;
    }
    .top-tour-features-main {
        margin-bottom: 59px;
        padding-bottom: 147px;
        background: none;
    }
    .top-tour-features-main:after {
        position: absolute;
        bottom: -21px;
        left: 0;
        right: 0;
        display: block;
        margin: 0 auto;
        padding-right: 70px;
        content: '';
        width: 972px;
        height: 212px;
        background: url(../images/front/search-upper-pc@2x.png) no-repeat 0 50%;
        background-size: 972px 212px;
    }
    .top-tour-features-pic .image-box {
        right: 136px;
    }
    .top-tour-features-content {
        margin-left: 0;
        margin-right: 0;
    }
    .top-search-contents {
        position: relative;
        margin-left: auto;
        margin-right: auto;
        max-width: 1100px;
    }
    .japan-search-map {
        padding-bottom: 0;
        background: url(../images/front/bg-map@2x.png) no-repeat 50% 50%;
        background-size: 1073px 656px;
        height: 656px;
        font-size: 16px;
    }
    .japan-search-box {
        position: absolute;
        top: 0;
        left: 0;
        width: 435px;
    }
    .japan-search-map .search-places {
        position: absolute;
        top: 0;
        left: calc(50% - 100px);
        display: inline-block;
    }
    .japan-search-map .search-places a {
        margin: 0;
        padding: 6px;
        width: 200px;
    }
    .japan-search-map .japan-search-hokkaido {
        top: 99px;
        margin-left: 336px;
    }
    .japan-search-map .japan-search-tohoku {
        top: 230px;
        margin-left: 266px;
    }
    .japan-search-map .japan-search-koshinetsu {
        top: 287px;
        margin-left: -24px;
    }
    .japan-search-map .japan-search-kanto {
        top: 361px;
        margin-left: 216px;
    }
    .japan-search-map .japan-search-kinki {
        top: 448px;
        margin-left: 46px;
    }
    .japan-search-map .japan-search-china-shikoku-kyushu {
        top: 401px;
        margin-left: -240px;
    }
    .japan-search-map .japan-search-okinawa {
        top: 587px;
        margin-left: -422px;
    }
    .japan-search-map .search-overseas {
        top: 302px;
        margin-left: -409px;
    }
    .front .main .search-date .title02 .icon,
    .front .main .top-flyers .title02 .icon {}
    .search-date {
        margin-bottom: 88px;
    }
    .search-date>div {
        padding: 13px 35px;
    }
    .calendar-flyer-main:after {
        left: auto;
        right: 15px;
        bottom: -37px;
        width: 1233px;
        height: 303px;
        background: url(../images/front/bg-calendar-flyer@2x.png) no-repeat 50% 50%;
        background-size: contain;
    }
    .calendar-flyer-main {
        margin-bottom: 71px;
    }
    .front .main .search-date .title02 {
        text-align: center;
    }
    .front .main .top-flyers {
        font-size: 20px;
    }
    .front .main .top-flyers .title02 {
        text-align: center;
    }
    .front .main .top-flyers [class*='more-link'] {
        margin-bottom: 10px;
        border-radius: 30px;
        padding-top: 17px;
        padding-bottom: 17px;
        max-width: 9999px;
        font-size: 20px;
    }
    .calendar-flyer-inner-content .title05 {
        font-size: 20px;
    }
    .calendar-flyer-inner-content .title05 .icon-flyer2 {
        margin-bottom: 18px;
        font-size: 28px;
    }
    .calendar-flyer-inner-content .title05 strong {
        margin-bottom: 0;
        font-size: 28px;
    }
    .icon-request-shapes {
        min-width: 855px;
        height: 281px;
        background-image: url(../images/ico-request-shapes-pc@2x.png);
    }
    .top-requests-main .icon-request-shapes {
        left: calc(50% - 453px);
        right: 0;
    }
    .top-other-bus-trips-main .title03 {
        font-size: 26px;
    }
    .top-other-bus-trips-main p {
        font-size: 14px;
    }
    .front .top-other-bus-trips-main {
        margin-bottom: 277px;
        padding-bottom: 0;
        background: none;
    }
    .top-other-bus-trips-main:after {
        position: absolute;
        top: calc(100% + 66px);
        right: 15px;
        display: block;
        content: '';
        width: 1277px;
        height: 454px;
        background: url(../images/front/bg-news-social-media-pc@2x.png) no-repeat 50% 50%;
        background-size: contain;
    }
    .top-obt-content-row {
        margin: 0 auto;
        max-width: 940px;
    }
    .social-media-box {
        padding: 20px 20px 47px;
    }
    /* ---------------
		TOUR
	--------------- */
    .tour-top-features {
        padding: 12px 67px;
    }
    .tour-entry-code {
        display: inline-block;
        margin-right: 25px;
        font-size: 22px;
    }
    .main .tour-entry-title {
        margin-bottom: 32px;
        font-size: 28px;
    }
    .tour-top-features .label {
        margin-right: 10px;
    }
    .tour-top-features .words {
        margin-top: 13px;
        font-size: 14px;
    }
    .tour-top-features [class*='more-link'] {
        border-radius: 40px;
        padding-top: 28px;
        padding-bottom: 28px;
        max-width: 320px;
        font-size: 20px;
        font-weight: normal;
    }
    .tour-top-features [class*='more-link']>span {
        padding-left: 30px;
    }
    .main .tour-points-row>div:last-child {
        -ms-flex: 0 0 480px;
        flex: 0 0 480px;
        max-width: 480px;
    }
    .main .quality-declaration-title {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 47px;
        padding-left: 150px;
        padding-right: 150px;
        max-width: 899px;
    }
    .main .quality-declaration-title:before {
        top: -42px;
        width: 156px;
        height: 97px;
    }
    .main .quality-declaration-title:after {
        top: -29px;
        width: 137px;
        height: 82px;
    }
    .other-tours-slideshow-box {
        width: 811px;
    }
    .information-flow-row>* {
        -ms-flex: 0 0 14.285714%;
        flex: 0 0 14.285714%;
        max-width: 14.285714%;
    }
    .information-flow-row>*:last-child {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .information-flow-row>*>.information-flow-image img {
        margin-left: auto;
        margin-right: 0;
    }
    /* ---------------
		QUALITY
	--------------- */
    .main .reasons-to-smile-row .title05 {
        font-size: 20px;
    }
}

@media screen and (min-width: 1150px) {
    .header .title01 img {
        min-width: 292px;
        max-width: 292px;
        height: 93px;
    }
    /* ---------------
		QUALITY
	--------------- */
    .smile-title-box .smile-picture {
        -ms-justify-content: center;
        justify-content: center;
        -ms-align-items: flex-end;
        align-items: flex-end;
    }
    .main .reasons-to-smile-row .title05 {
        font-size: 26px;
    }
}

@media screen and (min-width: 1200px) {
    .logo,
    .navigation_box {
        margin-top: 40px;
    }
    .header_contents,
    .topicpath {
        padding-left: 40px;
        padding-right: 40px;
    }
    .top-header.is-animation nav li {
        font-size: 90%;
    }
    nav li a>div {
        width: 160px;
    }
    .ani-link:after {
        width: 130px;
    }
    .call-to-action-row {
        padding-left: 80px;
        padding-right: 80px;
    }
    .call-to-action .call-to-action-row [class*='more-link'] {
        font-size: 18px;
    }
    .footer-body>div,
    .footer-body>.footer-logo-box {
        padding-left: 40px;
        padding-right: 40px;
    }
    .footer-links li {
        font-size: 16px;
    }
    .copyright {
        padding-left: 40px;
        padding-right: 40px;
    }
    /* ---------------
		TOUR
	--------------- */
    .main .meal-trip-title:before {
        left: 100px;
    }
    .main .meal-trip-title:after {
        right: 100px;
    }
    .other-tours-slideshow-box {
        width: 1087px;
    }
}

@media screen and (min-width: 1250px) {
    .header .title01 img {
        min-width: 372px;
        max-width: 372px;
        height: 119px;
    }
}


/* ==========================================================================
	 Helper classes
	 ========================================================================== */


/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}


/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *	causes content to wrap 1 word per line:
 *	https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */
}


/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}


/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}


/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *	`contenteditable` attribute is included anywhere else in the document.
 *	Otherwise it causes space to appear at the top and bottom of elements
 *	that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *	`:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}

.clearfix:after {
    clear: both;
}

.d-none {
    display: none !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: -ms-flexbox !important;
    display: flex !important;
}

.d-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
}
@media (min-width: 320px) {
	.d-ssm-none {
        display: none !important;
    }
}
@media (min-width: 576px) {
    .d-sm-none {
        display: none !important;
    }
    .d-sm-inline {
        display: inline !important;
    }
    .d-sm-inline-block {
        display: inline-block !important;
    }
    .d-sm-block {
        display: block !important;
    }
    .d-sm-table {
        display: table !important;
    }
    .d-sm-table-cell {
        display: table-cell !important;
    }
    .d-sm-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-sm-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }
    .d-md-inline {
        display: inline !important;
    }
    .d-md-inline-block {
        display: inline-block !important;
    }
    .d-md-block {
        display: block !important;
    }
    .d-md-table {
        display: table !important;
    }
    .d-md-table-cell {
        display: table-cell !important;
    }
    .d-md-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-md-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }
    .d-lg-inline {
        display: inline !important;
    }
    .d-lg-inline-block {
        display: inline-block !important;
    }
    .d-lg-block {
        display: block !important;
    }
    .d-lg-table {
        display: table !important;
    }
    .d-lg-table-cell {
        display: table-cell !important;
    }
    .d-lg-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-lg-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-none {
        display: none !important;
    }
    .d-xl-inline {
        display: inline !important;
    }
    .d-xl-inline-block {
        display: inline-block !important;
    }
    .d-xl-block {
        display: block !important;
    }
    .d-xl-table {
        display: table !important;
    }
    .d-xl-table-row {
        display: table-row !important;
    }
    .d-xl-table-cell {
        display: table-cell !important;
    }
    .d-xl-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-xl-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media print,
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}


/* ==========================================================================
	 Print styles.
	 Inlined to avoid the additional HTTP request:
	 http://www.phpied.com/delay-loading-your-print-css/
	 ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    p:first-letter,
    div:first-letter,
    blockquote:first-letter,
    li:first-letter,
    p:first-line,
    div:first-line,
    blockquote:first-line,
    li:first-line {
        background: transparent !important;
        color: #000 !important;
        /*
		 * Black prints faster:
		 * http://www.sanbeiji.com/archives/953
		 */
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    /*
		 * Don't show links that are fragment identifiers,
		 * or use the `javascript:` pseudo protocol
		 */
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }
    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    /*
		 * Printing Tables:
		 * http://css-discuss.incutio.com/wiki/Printing_Tables
		 */
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}

/* ポイントカード用 */

.pointcard-block-row {
    margin-top: 33px;
    margin-left: -8px;
    margin-right: -8px;
}
.pointcard-block-row > div {
    padding-left: 0px;
    padding-right: 0px;
}
.pointcard-block-row .image-box a {
    display: block;
    text-decoration: underline;
}
section .pointcard-block-row .image-box,
section .pointcard-block-row > div:last-child .caption {
    margin-bottom: 15px;
}
.pointcard-block-row .image-box a [class*='icon-angle-r'] {
    margin-right: 10px;
}
.pointcard-block-row .image-box img {
    width: 100%;
}
.pointcard-block-row .image-box a:hover,
    .pointcard-block-row .image-box a:focus {
        opacity: 0.8
    }
    .pointcard-block-row .image-box a:hover,
    .pointcard-block-row .image-box a:focus {
        text-decoration: none;
    }
    section .pointcard-block-row > div .caption {
        margin-bottom: 0;
    }
    @media (min-width: 768px) {
        .col2-md {
            -ms-flex-preferred-size: 0;
            flex-basis: 0;
            -ms-flex-positive: 1;
            flex-grow: 1;
            max-width: 100%;
        }
        .col2-md-auto {
            -ms-flex: 0 0 auto;
            flex: 0 0 auto;
            width: auto;
            max-width: none;
        }
        .col2-md-1 {
            -ms-flex: 0 0 8.333333%;
            flex: 0 0 8.333333%;
            max-width: 8.333333%;
        }
        .col2-md-2 {
            -ms-flex: 0 0 16.666667%;
            flex: 0 0 16.666667%;
            max-width: 16.666667%;
        }
        .col2-md-3 {
            -ms-flex: 0 0 25%;
            flex: 0 0 25%;
            max-width: 25%;
        }
        .col2-md-4 {
            -ms-flex: 0 0 33.333333%;
            flex: 0 0 33.333333%;
            max-width: 28.333333%;
        }
        .col2-md-5 {
            -ms-flex: 0 0 41.666667%;
            flex: 0 0 41.666667%;
            max-width: 41.666667%;
        }
        .col2-md-6 {
            -ms-flex: 0 0 50%;
            flex: 0 0 50%;
            max-width: 50%;
        }
        .col2-md-7 {
            -ms-flex: 0 0 58.333333%;
            flex: 0 0 58.333333%;
            max-width: 58.333333%;
        }
        .col2-md-8 {
            -ms-flex: 0 0 66.666667%;
            flex: 0 0 66.666667%;
            max-width: 66.666667%;
        }
        .col2-md-9 {
            -ms-flex: 0 0 75%;
            flex: 0 0 75%;
            max-width: 75%;
        }
        .col2-md-10 {
            -ms-flex: 0 0 83.333333%;
            flex: 0 0 83.333333%;
            max-width: 83.333333%;
        }
        .col2-md-11 {
            -ms-flex: 0 0 91.666667%;
            flex: 0 0 91.666667%;
            max-width: 91.666667%;
        }
        .col2-md-12 {
            -ms-flex: 0 0 100%;
            flex: 0 0 100%;
            max-width: 100%;
        }
    }