@charset 'UTF-8';
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:wght@400;700&display=swap");
/*
$yellow:                      #FFEB3B !default;
	$yellow-light:                lighten( $yellow, 15% ) !default;
	$yellow-dark:                 darken ( $yellow, 15% ) !default;
$forest:                      #2E7D32 !default;
	$forest-light:                lighten( $forest, 15% ) !default;
	$forest-dark:                 darken ( $forest, 15% ) !default;
$green:                       #4CAF50 !default;
	$green-light:                 lighten( $green, 15% ) !default;
	$green-dark:                  darken ( $green, 15% ) !default;
$sky:                         #2196F3 !default;
	$sky-light:                   lighten( $sky, 15% ) !default;
	$sky-dark:                    darken ( $sky, 15% ) !default;
$blue:                        #3F51B5 !default;
	$blue-light:                  lighten( $blue, 15% ) !default;
	$blue-dark:                   darken ( $blue, 15% ) !default;
$purple:                      #9C27B0 !default;
	$purple-light:                lighten( $purple, 15% ) !default;
	$purple-dark:                 darken ( $purple, 15% ) !default;
$pink:                        #E91E63 !default;
	$pink-light:                  lighten( $pink, 15% ) !default;
	$pink-dark:                   darken ( $pink, 15% ) !default;
$red:                         #F44336 !default;
	$red-light:                   lighten( $red, 15% ) !default;
	$red-dark:                    darken ( $red, 15% ) !default;
$orange:                      #FF9800 !default;
	$orange-light:                lighten( $orange, 15% ) !default;
	$orange-dark:                 darken ( $orange, 15% ) !default;
$ocher:                       #000 !default;
	$ocher-light:                 lighten( $ocher, 15% ) !default;
	$ocher-dark:                  darken ( $ocher, 15% ) !default;
$brown:                       #795548 !default;
	$brown-light:                 lighten( $brown, 15% ) !default;
	$brown-dark:                  darken ( $brown, 15% ) !default;
$gray:                        #9E9E9E !default;
	$gray-light:                  lighten( $gray, 15% ) !default;
	$gray-dark:                   darken ( $gray, 15% ) !default;
$black:                       #000 !default;
$white:                       #fff !default;
*/
/*$sm-breakpoint:                 480px !default;
$md-breakpoint:                 768px !default;
$lg-breakpoint:                 970px !default;
$xl-breakpoint:                 1200px !default;*/
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
@media screen and (min-width: 1000px){

html
{
    line-height: 1.15;
    /* 1 */

        -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body
{
    margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section
{
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1
{
    font-size:1.6rem;
    margin: .67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main
{
    /* 1 */
    display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure
{
    margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr
{
    /* 1 */
    overflow: visible;

    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a
{
    background-color: transparent;
    /* 1 */

    -webkit-text-decoration-skip: objects;
    /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title]
{
    /* 1 */
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;

    border-bottom: none;
    /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong
{
    font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong
{
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp
{
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn
{
    font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark
{
    color: #000;
    background-color: #ff0;
}

/**
 * Add the correct font size in all browsers.
 */
small
{
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sub
{
    bottom: -.25em;
}

sup
{
    top: -.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video
{
    display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls])
{
    display: none;

    height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img
{
    border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root)
{
    overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea
{
    font-family: sans-serif;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */

    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input
{
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select
{
    /* 1 */
    text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type='button'],
[type='reset'],
[type='submit']
{
    -webkit-appearance: button;
    /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner
{
    padding: 0;

    border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring
{
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset
{
    padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend
{
    /* 2 */
    display: table;

    box-sizing: border-box;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */

    white-space: normal;
    /* 1 */

    color: inherit;
    /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress
{
    display: inline-block;
    /* 1 */

    vertical-align: baseline;
    /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea
{
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type='checkbox'],
[type='radio']
{
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search']
{
    /* 1 */
    outline-offset: -2px;

    -webkit-appearance: textfield;
    /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button
{
    /* 1 */
    font: inherit;

    -webkit-appearance: button;
    /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu
{
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary
{
    display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas
{
    display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template
{
    display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden]
{
    display: none;
}

@font-face
{
    font-family: 'jttweb';
    font-weight: normal !important;
    font-style: normal !important;

    src: url('https://travel.jr-central.co.jp/common/fonts/jttweb.ttf?cf3ll5') format('truetype'), url('https://img.travel.jr-central.co.jp/common/fonts/jttweb.woff?cf3ll5') format('woff'), url('https://img.travel.jr-central.co.jp/common/fonts/jttweb.svg?cf3ll5#jttweb') format('svg');
}

[class^='icon-'],
[class*=' icon-']
{
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'jttweb' !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;

    text-transform: none;

    speak: none;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-arrow2-r:before
{
    content: '\e914';
}

.icon-arrow3-r:before
{
    content: '\e915';
}

.icon-calender:before
{
    content: '\e910';
}

.icon-open-fill:before
{
    content: '\e911';
}

.icon-search:before
{
    content: '\e912';
}

.icon-world:before
{
    content: '\e913';
}

.icon-arrow-b:before
{
    content: '\e900';
}

.icon-arrow-l:before
{
    content: '\e901';
}

.icon-arrow-r:before
{
    content: '\e902';
}

.icon-arrow-t:before
{
    content: '\e903';
}

.icon-check:before
{
    content: '\e904';
}

.icon-cross:before
{
    content: '\e905';
}

.icon-crown1:before
{
    content: '\e906';
}

.icon-crown2:before
{
    content: '\e907';
}

.icon-crown3:before
{
    content: '\e908';
}

.icon-link:before
{
    content: '\e909';
}

.icon-marker:before
{
    content: '\e90a';
}

.icon-minus:before
{
    content: '\e90b';
}

.icon-open:before
{
    content: '\e90c';
}

.icon-pagetop:before
{
    content: '\e90d';
}

.icon-person:before
{
    content: '\e90e';
}

.icon-plus:before
{
    content: '\e90f';
}

*
{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root
{
    font: 62.5% / 1 sans-serif;
    overflow-y: scroll;
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

html
{
    background-color: #fff;
}

body
{
    font-family: 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.53846;
    color: #333;
    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
            font-smoothing: antialiased;
    text-rendering: auto;
}

a
{
    text-decoration: none;
    color: #003f6c;
}

figure
{
    margin: 0;
}

img,
svg
{
    max-width: 100%;
    height: auto;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    vertical-align: middle;
}

em
{
    font-style: normal;
    text-decoration: underline;
}

input,
textarea,
select
{
    font-family: 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    outline: none;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

textarea
{
    resize: vertical;
}

.clearfix::after
{
    display: table;
    clear: both;
    content: '';
}

.page-wrap
{
    /*width: 1040px;*/
    margin: 0 auto;
    padding: 0 20px;
}

#contents
{
    /*min-width: 1040px;*/
}

.kv-area-sp
{
    display: none !important;
}

.global-nav-sp
{
    display: none !important;
}

.ctrl-area-sp
{
    display: none !important;
}

.pc-link
{
    display: none !important;
}

.info-area
{
    padding: 0 0 16px;
}

.info-area .message
{
    font-size: 1.4rem;
    line-height: 1.13333;

    margin-top: -2px;
    padding: 13px 15px;

    border: 3px solid #e5e5e5;
}

input[type='text']
{
    line-height: 33px;

    height: 33px;
    padding: 0 10px;

    border: 0;
    border-radius: 4px;
    background-color: #f5f5f5;
}

select.placeholder
{
    color: #818181;
}

select:focus
{
    color: #333;
}

.select select:not([multiple])::-ms-expand
{
    display: none;
}

.select select:not([multiple])
{
    line-height: 33px;
    position: relative;
    height: 33px;
    padding: 0 10px 0 6px;
    cursor: pointer;
    border: 0;
    border-radius: 4px;
    background-color: #f5f5f5;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

input[type=radio],
input[type=checkbox]
{
    display: none;
}

input[type=radio] + span,
input[type=checkbox] + span
{
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    margin: 0 0;
    padding-left: 25px;
    cursor: pointer;
    vertical-align: middle;
    border-radius: 3px;
}

input[type=radio] + span::after,
input[type=checkbox] + span::after
{
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 15px;
    height: 15px;
    margin: auto;
    content: '';
    border: 1px solid #d6d6d6;
    background-color: #fff;
}

input[type=radio] + span::hover:after,
input[type=checkbox] + span::hover:after
{
    /*border-color: #ffffff;*/
}

input[type=radio] + span::after
{
    border-radius: 99px;
}

input[type=radio] + span::before
{
    position: absolute;
    z-index: 99;
    top: 0;
    bottom: 0;
    left: 5px;
    display: block;
    width: 5px;
    height: 5px;
    margin: auto;
    content: '';
    opacity: 0;
    border-radius: 50%;
    background-color: #fff;
}

input[type=radio]:checked + span::before
{
    opacity: 1;
}

input[type=radio]:checked + span::after
{
    transition: all .2s ease;
    border-color: #003f6c;
    background-color: #003f6c;
}

.theme-red input[type=radio]:checked + span::after
{
    border-color: #922930;
    background-color: #922930;
}

input[type=checkbox] + span::after
{
    border-radius: 5px;
}

input[type=checkbox] + span::before
{
    position: absolute;
    z-index: 99;
    top: -1px;
    bottom: 0;
    left: 6px;
    display: block;
    width: 4px;
    height: 7px;
    margin: auto;
    content: '';
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    opacity: 0;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-radius: 1px;
}

input[type=checkbox]:checked + span:before
{
    opacity: 1;
}

input[type=checkbox]:checked + span:after
{
    transition: all .2s ease;
    border-color: #003f6c;
    background-color: #003f6c;
}

.theme-red input[type=checkbox]:checked + span:after
{
    border-color: #922930;
    background-color: #922930;
}

.inputs dl
{
    font-size: 1.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.inputs dl dt
{
    width: 43%;
}

.inputs dl dt .s
{
    font-size: 1.3rem;
}

.inputs dl dd
{
    width: 100%;
}

.inputs dl dd .input
{
    position: relative;
}

.inputs dl dd .input::after
{
    font-family: 'jttweb' !important;
    font-size: 1.1rem;
    line-height: 33px;
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    content: '\e902';
    color: #003f6c;
}

.theme-red .inputs dl dd .input::after
{
    color: #922930;
}

.inputs dl dd .input input[type='text']
{
    width: 100%;
    padding-right: 35px;
}

.inputs dl dd .input-date
{
    position: relative;
}

.inputs dl dd .input-date::after
{
    font-family: 'jttweb' !important;
    font-size: 1.7rem;
    line-height: 33px;
    position: absolute;
    top: 0;
    right: 11px;
    bottom: 0;
    content: '\e910';
    color: #003f6c;
}

.theme-red .inputs dl dd .input-date::after
{
    color: #922930;
}

.inputs dl dd .input-date input[type='text']
{
    width: 100%;
    padding-right: 35px;
}

.inputs dl dd .input-kwd input[type='text']
{
    width: 100%;
}

.inputs dl dd .select
{
    position: relative;
    width: 100%;
}

.inputs dl dd .select::after
{
    font-family: 'jttweb' !important;
    font-size: 1.1rem;
    line-height: 33px;
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    content: '\e900';
    color: #003f6c;
}

.theme-red .inputs dl dd .select::after
{
    color: #922930;
}

.inputs dl dd .select select
{
    width: 100%;
}

.inputs * + dl
{
    margin-top: 10px;
}

.inputs .notes + dl
{
    margin-top: 13px;
}

.inputs * + .notes
{
    margin-top: 5px;
}

.inputs dl + .notes
{
    margin-top: 5px;
}

.kv-area
{
    height: 526px;
}

.kv-area .kv
{
    line-height: 526px;
    height: 526px;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.kv-area .kv img
{
    width: 100%;
    max-width: 1000px;
    height: auto;
    margin: 0 auto;
}

.kv-area.p4
{
    margin-bottom: 93px;
}

.kv-area.p5
{
    margin-bottom: 211px;
}

.kv-area.en1
{
    margin-bottom: 138px;
}

.section
{
    padding: 38px 0 50px;
    border-bottom: 5px solid #f0f0f0;
}

.section h2
{
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.23077;
    text-align: center;
}

.section h2 + .columns
{
    margin-top: 15px;
}

.section h2 + .columns.wide-gutter
{
    margin-top: 10px;
}

.section h2 + .news-list
{
    margin-top: 47px;
}

.section h3
{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.25;
}

.section .column a + h3
{
    margin-top: 22px;
}

.section .column img + h3
{
    margin-top: 22px;
}

.section .column h3 + p.price
{
    margin-top: 2px;
}

.section .column p.price + p:not(class)
{
    margin-top: 10px;
}

.section .column h3 + p:not(class)
{
    margin-top: 8px;
}

.section .column a + p:not(class)
{
    margin-top: 12px;
}

.section .columns + .tour-list
{
    margin-top: 23px;
}

.section .section-top
{
    margin-top: 15px;
    margin-bottom: 20px;
}

.section .section-bottom
{
    margin-top: 31px;

    text-align: center;
}

.icon.mcolor
{
    color: #003f6c;
}

.theme-red .icon.mcolor
{
    color: #922930;
}

.arrow-link
{
    display: inline-block;
}

.theme-red .arrow-link
{
    color: #922930;
}

.arrow-link::before
{
    font-family: 'jttweb' !important;
    margin-right: 5px;
    content: '\e909';
    color: #003f6c;
}

.theme-red .arrow-link::before
{
    color: #922930;
}

.tour-list
{
    font-size: 1.5rem;
    letter-spacing: -1em;
}

.tour-list li
{
    line-height: 1.43333;
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 5px;
    letter-spacing: normal;
}

.tour-list li a
{
    color: #333;
}

.tour-list li a::before
{
    font-family: 'jttweb' !important;
    font-size: 1.4rem;
    margin-right: 5px;
    content: '\e909';
    color: #003f6c;
}

.theme-red .tour-list li a::before
{
    color: #922930;
}

.tour-list li:not(:last-child)
{
    margin-right: 21px;
}

.price
{
    color: #ff9c00;
}

.price b
{
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
}

.card
{
    height: 100%;
    padding: 20px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background-color: #fff;
}

.card h3
{
    font-size: 1.8rem;
}

.card h4
{
    font-size: 1.4rem;
    font-weight: 500;
}

section .column .card a + h3
{
    margin-top: 17px;
}

section .column .card h3 + h4
{
    margin-top: 5px;
}

section .column .card .price + h4
{
    margin-top: 10px;
}

section .column .card .price + .btn-more
{
    margin-top: 14px;
}

.card .btn.btn-more
{
    font-size: 1.2rem;
    display: block;
    margin-right: 20px;
    margin-bottom: 3px;
    margin-left: 20px;
    padding: 5px;
}

.crown1,
.crown2,
.crown3
{
    position: relative;
}

.crown1::before,
.crown2::before,
.crown3::before
{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    content: '';
    border-width: 64px 64px 0 0;
    border-style: solid;
    border-color: #c3b261 transparent transparent transparent;
}

.crown1::after,
.crown2::after,
.crown3::after
{
    font-family: 'jttweb' !important;
    font-size: 2.0rem;
    position: absolute;
    top: 4px;
    left: 7px;
    content: '\e906';
    color: #fff;
}

.crown2::before
{
    border-color: #c1c1c1 transparent transparent transparent;
}

.crown2::after
{
    content: '\e907';
}

.crown3::before
{
    border-color: #b48853 transparent transparent transparent;
}

.crown3::after
{
    content: '\e908';
}

.weather
{
    text-align: center;
}

.weather h4
{
    font-size: 2.0rem;
    font-weight: bold;
    margin-bottom: 2px;
    margin-left: 24px;
}

.weather dl
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 5px;
    margin-bottom: 12px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.weather dl dt
{
    margin: auto 0;
}

.weather dl dd
{
    margin: auto 0 auto 13px;
    padding-top: 11px;
}

.weather .high
{
    margin-left: 22px;
    color: #e25c23;
}

.weather .low
{
    margin-left: 22px;
    color: #4063b6;
}

.summary
{
    padding: 54px 44px 78px;
}

.summary .section-bottom + h2
{
    margin-top: 50px;
}

.summary h2 + .columns.wide-gutter
{
    margin-top: 23px;
}

.summary .section-bottom
{
    margin-top: 23px;
}

.news-list
{
    font-size: 1.5rem;
    line-height: 1.46667;
}

.news-list dt
{
    float: left;
    width: 6.2em;
}

.news-list dd
{
    overflow: hidden;
    margin-bottom: 23px;
}

.price-table
{
    width: 100%;
    border: 1px solid #a8a8a8;
}

.price-table.ordinary
{
    background-color: #f4f8fc;
}

.price-table.busy
{
    background-color: #fcf9e9;
}

.price-table.busy thead th
{
    background-color: #ffae30;
}

.price-table.busy tbody th
{
    background-color: #f8f0e0;
}

.price-table thead th
{
    font-size: 1.6rem;
    padding: 9px 5px 8px;
    text-align: center;
    color: #fff;
    border-bottom: 1px solid #a8a8a8;
    border-left: 1px solid #a8a8a8;
    background-color: #003f6c;
}

.price-table tbody tr th
{
    font-size: 1.6rem;
    padding: 5px;
    text-align: center;
    border-bottom: 1px solid #a8a8a8;
    border-left: 1px solid #a8a8a8;
    background-color: #e0ecf8;
}

.price-table tbody tr th p
{
    text-align: left;
}

.price-table tbody tr td
{
    font-size: 1.6rem;
    padding: 5px;
    text-align: center;
    border-bottom: 1px solid #a8a8a8;
    border-left: 1px solid #a8a8a8;
}

.price-table tbody tr td p
{
    text-align: right;
}

.price-table tbody tr .dot-left
{
    border-left-style: dotted;
}

.price-table tbody tr .dot-bottom
{
    border-bottom-style: dotted;
}

.price-table tbody tr .txt-diff
{
    color: #0230c2;
}

.price-table tbody tr .txt-price
{
    font-weight: bold;
    color: #cc2f20;
}

.price-table tbody tr.th-width th
{
    width: 10%;
}

.time-table
{
    width: 100%;
    border: 4px solid #aaa;
}

.time-table thead tr th
{
    font-size: 1.6rem;
    font-weight: bold;
    width: 12%;
    padding: 2px;
    color: #fff;
    border: 1px solid #d0d0d0;
    background-color: #aaa;
}

.time-table thead tr td
{
    font-size: 1.7rem;
    padding: 2px;
    text-align: center;
    border: 1px solid #d0d0d0;
    background-color: #eee;
}

.time-table tbody tr
{
    font-size: 1.8rem;
    line-height: 1.27778;
}

.time-table tbody tr th
{
    font-weight: 500;
    padding: 5px;
    border: 1px solid #d0d0d0;
}

.time-table tbody tr td
{
    padding: 4px;
    text-align: center;
    border: 1px solid #d0d0d0;
}

.time-table tbody tr:nth-child(even)
{
    background-color: #f9f9f9;
}

.time-table.up
{
    border: 4px solid #ff7f00;
}

.time-table.up thead tr th
{
    background-color: #ff7f00;
}

.time-table.up thead tr td
{
    background-color: #f9f3dc;
}

.time-table.up tbody tr:nth-child(even)
{
    background-color: #fffcf0;
}

.time-table.down
{
    border: 4px solid #2a66c4;
}

.time-table.down thead tr th
{
    background-color: #2a66c4;
}

.time-table.down thead tr td
{
    background-color: #dcebf9;
}

.time-table.down tbody tr:nth-child(even)
{
    background-color: #f0f7ff;
}

.appli-list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: -1px;
    margin-left: -2px;
    list-style: none;
}

.appli-list li
{
    width: 100%;
    padding: 0 1px 0 2px;
}

.appli-list li a
{
    font-size: 2.2rem;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    padding: 10px 7px;
    color: #fff;
    border-radius: 4px;
    background-color: #003f6c;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.appli-list li a::before
{
    font-family: 'jttweb' !important;
    font-size: 1.5rem;
    display: block;
    margin-right: 10px;
    content: '\e909';
    color: #fff;
}

.appli-list li a.s
{
    font-size: 1.8rem;
    line-height: 1.33333;
}

.parameter::after
{
    display: table;
    clear: both;
    content: '';
}

.parameter p
{
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1.15789;
    float: left;
    margin-right: 18px;
    margin-left: 4em;
    text-indent: -4em;
    color: #eb3425;
}

.caution
{
    margin-left: 1em;
    text-indent: -1em;
}

.link
{
    text-decoration: underline;
}

.link:hover
{
    text-decoration: none;
}

.label
{
    font-size: 1.8rem;
    font-weight: bold;
    padding: 6px;
    text-align: center;
    color: #fff;
    background-color: #bbb;
}

.label.blue
{
    background-color: #3170bf;
}

.label.green
{
    background-color: #a2ca50;
}

.border-box
{
    padding: 15px;
    border: 1px solid #333;
}

.price-example
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.price-example i
{
    font-size: 1.8rem;
    font-weight: bold;
    font-style: normal;
    margin: 0 15px 0 0;
}

.price-example .places
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.price-example .places + .places
{
    margin-left: 50px;
}

.price-example .places .price
{
    margin-left: 14px;
}

.price-example .places.green .square
{
    width: 108px;
    padding: 4px 5px 4px;
    color: #a2ca50;
    border: 2px solid #a2ca50;
    border-radius: 4px;
    background-color: transparent;
}

.price-example .places.green .price
{
    margin-left: 14px;
    color: #a2ca50;
}

.price-example .places.green .price small
{
    font-weight: bold;
}

.price-example .places.green .icon-arrow2-r
{
    margin: 0 1px 0 3px;
}

.price-example .prices
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 13px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.price-example .prices > p:first-child .price
{
    color: #333;
}

.price-example .prices p
{
    text-align: center;
}

.price-example .prices span
{
    font-size: 1.0rem;
    display: block;
}

.price-example .prices .price
{
    margin-bottom: 2px;
}

.price-example .square
{
    font-size: 1.4rem;
    font-weight: bold;
    display: inline-block;
    min-width: 86px;
    padding: 3px 5px 2px;
    color: #fff;
    background-color: #003f6c;
}

.price-example .price
{
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #ffae30;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.price-example .price b
{
    font-size: 2.5rem;
    font-weight: bold;
}

.price-example .price small
{
    font-size: 1.5rem;
}

.price-example .icon-arrow2-r
{
    margin: 0 5px 0;
    color: #ffae30;
}

.price-example .icon-arrow3-r
{
    margin: 10px 10px 0;
    color: #ffae30;
}

.kv-area + .section-ranking .section-top
{
    margin-top: -20px;
}

.section-ranking .section-top
{
    text-align: right;
}

.kv-area + .section-tour
{
    padding-top: 64px;
}

.section-latest .section-bottom
{
    margin-top: 12px;
}

.section-spot
{
    padding: 46px 0 76px;
}

.section-spot h2 + .columns
{
    margin-top: 20px;
}

.section-otoku
{
    padding-top: 53px;
}

.section-otoku .section-bottom
{
    margin-top: 41px;
}

.section-pickup .section-bottom
{
    margin-top: 41px;
}

.section-weather
{
    padding: 49px 0 60px;
}

.section-weather h3
{
    font-size: 2.0rem;
    font-weight: bold;
    margin: 32px 0 15px 26px;
}

.section-enjoy
{
    padding: 51px 0 69px;
}

.section-news
{
    padding: 42px 0 47px;
}

.kv-area + .section-news
{
    margin-top: 54px;
}

.section-feature
{
    padding: 57px 0 43px;
}

.section-campaign
{
    padding-top: 55px;
}

.section-campaign .column h3
{
    font-size: 1.8rem;
}

.section-campaign .column p:not(class)
{
    font-size: 1.4rem;
    line-height: 1.42857;
}

.section-campaign .column h3 + p:not(class)
{
    margin-top: 5px;
}

.section-season
{
    padding: 46px 0 65px;
}

.section-season .card
{
    padding-bottom: 26px;
}

.section-hotel-inn
{
    padding: 48px 0 45px;
}

.section-hotel-inn h2 + .columns
{
    margin-top: 21px;
}

.section-hotel-inn .card
{
    padding-bottom: 30px;
}

.section-popular-hotel
{
    padding-top: 54px;
}

.section-popular-hotel .section-top
{
    position: relative;

    margin: 0;
}

.section-popular-hotel .section-top .departure
{
    position: absolute;
    top: 0;
    left: 0;
}

.section-popular-hotel .section-top .departure .icon
{
    font-size: 1.5rem;
}

.section-popular-hotel .section-top .departure .departure-select
{
    margin-left: 8px;
}

.section-popular-hotel .section-bottom
{
    margin-top: 23px;
}

.section-hotel
{
    padding: 48px 0 42px;
}

.section-hotel h3
{
    font-size: 1.8rem;
}

.section-hotel h2 + .columns.wide-gutter
{
    margin-top: 15px;
}

.section-hotel .column
{
    margin-bottom: 10px;
}

.section-hotel .section-bottom
{
    margin-top: 7px;
}

.section-attention
{
    padding: 48px 0 47px;
}

.section-attention h3
{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.16667;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 42px;
    margin-bottom: 10px;
    color: #003f6c;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.section-attention img
{
    margin-bottom: 10px;
}

.section-attention .column
{
    margin-bottom: 20px;
}

.section-attention .link
{
    font-size: 1.6rem;
    font-weight: bold;
}

.section-attention .section-bottom
{
    margin-top: 68px;
}

.section-attention .parameter
{
    padding: 20px 0 15px;
}

.section-term
{
    padding: 38px 0 70px;
}

.section-term h2
{
    margin-bottom: 30px;
}

.section-term .graph
{
    position: relative;
    margin: 16px 0 8px;
}

.section-term .graph ul
{
    font-size: 1.5rem;
    line-height: 2.73333;
    position: absolute;
    top: 54px;
    left: 17px;

    list-style: none;
}

.section-term .graph ul li a
{
    text-decoration: underline;
}

.section-term .graph ul li::before
{
    font-family: 'jttweb' !important;
    font-size: 1.4rem;
    margin-right: 6px;
    content: '\e909';
    color: #003f6c;
}

.section-term p
{
    font-size: 1.5rem;
}

.section-term .btn-primary
{
    width: 100%;
    max-width: 522px;
}

.section-price
{
    padding: 43px 0 76px;
}

.section-price .price-head.blue p
{
    font-size: 1.5rem;
    margin-bottom: 14px;
}

.section-price .price-head.green p
{
    font-size: 1.5rem;
    margin-bottom: 27px;
    text-align: center;
}

.section-price .price-head.green h3
{
    margin-bottom: 13px;
}

.section-price .price-head.green .price-example
{
    margin-bottom: 38px;
}

.section-price * + .price-head
{
    margin-top: 65px;
}

.section-price h2 + .price-head
{
    margin-top: 30px;
}

.section-price .price-table
{
    margin-bottom: 15px;
}

.section-price .caution
{
    font-size: 1.5rem;
    line-height: 1.4;
}

.section-price * + .tab
{
    margin-top: 14px;
}

.section-timetable
{
    padding: 68px 0 78px;
}

.section-timetable h2 + .tab
{
    margin-top: 37px;
}

.section-timetable .tab .tab-box .box > :not(section)
{
    padding-top: 31px;
}

.section-timetable .time-table
{
    margin-bottom: 15px;
}

.section-timetable .caution
{
    font-size: 1.5rem;
    line-height: 1.4;
}

.section-how-buy
{
    padding: 61px 0 64px;
}

.section-how-buy h2
{
    margin-bottom: 30px;
}

.section-how-buy p
{
    font-size: 1.7rem;
    line-height: 1.64706;
}

.section-how-buy .border-box
{
    font-size: 1.7rem;
    line-height: 1.64706;
    margin: 17px 0 0;
    padding: 17px 15px 9px;
}

.section-how-buy .border-box h3
{
    font-weight: bold;
    margin: 0;
}

.section-how-buy h3
{
    font-size: 1.7rem;
    margin-bottom: 12px;
}

.section-how-buy .appli-list
{
    margin-bottom: 30px;
}

.section-how-buy p a:not(class)
{
    color: #1a5484;
}

.section-attention p
{
    font-size: 1.5rem;
    line-height: 1.5;
}

.section-plan
{
    padding: 66px 0 70px;
}

.section-plan .summary
{
    margin-top: 20px;
}

.section-popular-plan
{
    padding: 48px 0 68px;
}

.section-popular-plan .section-bottom
{
    margin-top: 23px;
}

.section-popular-tour
{
    padding: 56px 0 60px;
}

.section-popular-tour .section-bottom
{
    margin-top: 9px;
}

.section-tour-ranking
{
    padding: 53px 0 63px;
}

.section-tour-ranking .section-bottom
{
    margin-top: 11px;
}

.section-pickup-feature
{
    padding: 61px 0 70px;
}

.section-pickup-feature h2 + .columns
{
    margin-top: 32px;
}

.global-nav
{
    border-bottom: 4px solid #003255;
    background-color: #003f6c;
}

.theme-red .global-nav
{
    border-bottom: 4px solid #661015;
    background-color: #922930;
}

.global-nav ul
{
    margin: 0 -4px;

    list-style: none;
}

.global-nav ul::after
{
    display: table;
    clear: both;
    content: '';
}

.global-nav ul li
{
    float: left;
    width: calc(100% / 7);
    padding-left: 4px;
    background-color: #fff;
}

.global-nav ul li a
{
    font-size: 1.1rem;
    line-height: 1;
    display: block;
    padding: 7px 9px 7px 9px;
    transition: all .2s ease;
    text-align: center;
    color: #fff;
    border: 1px solid #003f6c;
    border-bottom: 1px solid #003f6c;
    border-radius: 4px 4px 0 0;
    background-color: #003f6c;
}

.theme-red .global-nav ul li a
{
    border: 1px solid #922930;
    border-bottom: 1px solid #922930;
    background-color: #922930;
}

.global-nav ul li a:hover:not(.current)
{
    opacity: .8;
}

.global-nav ul li a b
{
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 35px;
    margin-bottom: 7px;
    padding-bottom: 4px;
    vertical-align: middle;
    border-bottom: 1px solid #336589;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.theme-red .global-nav ul li a b
{
    border-bottom: 1px solid #a85459;
}

.global-nav ul li a b.s
{
    font-size: 1.3rem;
}

.global-nav ul li a.current
{
    color: #003f6c;
    border: 1px solid #d9d9d9;
    border-bottom: 1px solid #fff;
    background-color: #fff;
}

.theme-red .global-nav ul li a.current
{
    color: #922930;
}

.global-nav ul li a.current b
{
    border-bottom: 1px solid #e5e5e5;
}

.global-nav ul li:last-child
{
    padding-right: 4px;
}

/*-----------------------------------
50+ヘッダー
---------------------------------------*/
.sub-nav .sub-nav-fplus
{
    position: relative;
    margin: 9px 6px 9px 18px;
    padding-left: 16px;
    text-align: center;
}

.sub-nav .sub-nav-fplus::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 1px;
    margin: 7px 0 9px;
    content: '';
    background-color: #d6d6d6;
}

.sub-nav .sub-nav-fplus img
{
    margin: 8px 0 8px;
}

.sub-nav .sub-nav-fplus dt a
{
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1;
    color: inherit;
}

.sub-nav .sub-nav-fplus dt a::after
{
    font-family: 'jttweb' !important;
    font-size: 1.4rem;
    font-weight: normal;
    margin-left: 8px;
    content: '\e911';
}

.sub-nav .sub-nav-fplus dd
{
    display: none;
}

.search-kwd
{
    position: relative;
}

.search-kwd::after
{
    font-family: 'jttweb' !important;
    font-weight: normal;
    line-height: 29px;
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    content: '\e912';
    color: #a7a7a7;
}

.search-kwd input[type='text']
{
    line-height: 29px;
    height: 29px;
    padding-right: 35px;
}

.departure
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.departure .icon
{
    color: #adadad;
}

.departure .departure-select
{
    position: relative;
    margin-left: 13px;
}

.departure .departure-select::after
{
    line-height: 28px;
    position: absolute;
    top: 0;
    right: 7px;
    bottom: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    content: '';
    border-width: 5px 4px 0 4px;
    border-style: solid;
    border-color: #acacac transparent transparent transparent;
}

.departure .departure-select select:not([multiple])::-ms-expand
{
    display: none;
}

.departure .departure-select select:not([multiple])
{
    line-height: 28px;
    height: 28px;
    padding: 0 23px 0 4px;
    cursor: pointer;
    border: 0;
    border: 1px solid #d6d6d6;
    border-radius: 4px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/*-----------------------------------
footer
---------------------------------------*/
#breadcrumbs_sp {
	display: none;
}
#footer {
	position: relative;
}
.pagetop {
    line-height: 55px;
    /*position: sticky;*/
    right: 20px;
	bottom: 20px;
    display: block;
    width: 55px;
    height: 55px;
    margin-bottom: 20px;
	margin-left: auto;
    padding-top: 5px;
    text-align: center;
    border-radius: 4px;
    background-color: rgba(0, 0, 0, .2);
}
.pagetop .icon
{
    font-size: 2.2rem;
    color: #fff;
}

.footer-top
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 57px 0 33px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.footer-top::after
{
    display: table;
    clear: both;
    content: '';
}

.footer-top p
{
    font-size: 1.2rem;
    line-height: 1.5;
}

.footer-top .prove
{
    margin-left: auto;
    padding-bottom: 1px;
    padding-left: 30px;
    letter-spacing: -1em;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
}

.footer-top .prove li
{
    display: inline-block;
    letter-spacing: normal;
	margin-right: 15px; /* JTTにて追加 */
}

.footer-top .prove li:last-child /* JTTにて追加 */
{
    margin-right: 0;
}

.columns
{
    margin-right: -7px;
    margin-left: -8px;
}

.columns::after
{
    display: table;
    clear: both;
    content: '';
}

.columns .column
{
    float: left;
    padding: 9px 8px 8px 7px;
    /*>*:first-child {	margin-top: 0;}
		>*:last-child {	margin-bottom: 0;}*/
}

.columns .column.col1
{
    width: 8.33333%;
}

.columns .column.col2
{
    width: 16.66667%;
}

.columns .column.col3
{
    width: 25%;
}

.columns .column.col4
{
    width: 33.33333%;
}

.columns .column.col5
{
    width: 41.66667%;
}

.columns .column.col6
{
    width: 50%;
}

.columns .column.col7
{
    width: 58.33333%;
}

.columns .column.col8
{
    width: 66.66667%;
}

.columns .column.col9
{
    width: 75%;
}

.columns .column.col10
{
    width: 83.33333%;
}

.columns .column.col11
{
    width: 91.66667%;
}

.columns .column.col12
{
    width: 100%;
}

.columns.grid16 .column.col1
{
    width: 6.25%;
}

.columns.grid16 .column.col2
{
    width: 12.5%;
}

.columns.grid16 .column.col3
{
    width: 18.75%;
}

.columns.grid16 .column.col4
{
    width: 25%;
}

.columns.grid16 .column.col5
{
    width: 31.25%;
}

.columns.grid16 .column.col6
{
    width: 37.5%;
}

.columns.grid16 .column.col7
{
    width: 43.75%;
}

.columns.grid16 .column.col8
{
    width: 50%;
}

.columns.grid16 .column.col9
{
    width: 56.25%;
}

.columns.grid16 .column.col10
{
    width: 62.5%;
}

.columns.grid16 .column.col11
{
    width: 68.75%;
}

.columns.grid16 .column.col12
{
    width: 75%;
}

.columns.grid16 .column.col13
{
    width: 81.25%;
}

.columns.grid16 .column.col14
{
    width: 87.5%;
}

.columns.grid16 .column.col15
{
    width: 93.75%;
}

.columns.grid16 .column.col16
{
    width: 100%;
}

.columns.grid20 .column.col1
{
    width: 5%;
}

.columns.grid20 .column.col2
{
    width: 10%;
}

.columns.grid20 .column.col3
{
    width: 15%;
}

.columns.grid20 .column.col4
{
    width: 20%;
}

.columns.grid20 .column.col5
{
    width: 25%;
}

.columns.grid20 .column.col6
{
    width: 30%;
}

.columns.grid20 .column.col7
{
    width: 35%;
}

.columns.grid20 .column.col8
{
    width: 40%;
}

.columns.grid20 .column.col9
{
    width: 45%;
}

.columns.grid20 .column.col10
{
    width: 50%;
}

.columns.grid20 .column.col11
{
    width: 55%;
}

.columns.grid20 .column.col12
{
    width: 60%;
}

.columns.grid20 .column.col13
{
    width: 65%;
}

.columns.grid20 .column.col14
{
    width: 70%;
}

.columns.grid20 .column.col15
{
    width: 75%;
}

.columns.grid20 .column.col16
{
    width: 80%;
}

.columns.grid20 .column.col17
{
    width: 85%;
}

.columns.grid20 .column.col18
{
    width: 90%;
}

.columns.grid20 .column.col19
{
    width: 95%;
}

.columns.grid20 .column.col20
{
    width: 100%;
}

.columns.grid24 .column.col1
{
    width: 4.16667%;
}

.columns.grid24 .column.col2
{
    width: 8.33333%;
}

.columns.grid24 .column.col3
{
    width: 12.5%;
}

.columns.grid24 .column.col4
{
    width: 16.66667%;
}

.columns.grid24 .column.col5
{
    width: 20.83333%;
}

.columns.grid24 .column.col6
{
    width: 25%;
}

.columns.grid24 .column.col7
{
    width: 29.16667%;
}

.columns.grid24 .column.col8
{
    width: 33.33333%;
}

.columns.grid24 .column.col9
{
    width: 37.5%;
}

.columns.grid24 .column.col10
{
    width: 41.66667%;
}

.columns.grid24 .column.col11
{
    width: 45.83333%;
}

.columns.grid24 .column.col12
{
    width: 50%;
}

.columns.grid24 .column.col13
{
    width: 54.16667%;
}

.columns.grid24 .column.col14
{
    width: 58.33333%;
}

.columns.grid24 .column.col15
{
    width: 62.5%;
}

.columns.grid24 .column.col16
{
    width: 66.66667%;
}

.columns.grid24 .column.col17
{
    width: 70.83333%;
}

.columns.grid24 .column.col18
{
    width: 75%;
}

.columns.grid24 .column.col19
{
    width: 79.16667%;
}

.columns.grid24 .column.col20
{
    width: 83.33333%;
}

.columns.grid24 .column.col21
{
    width: 87.5%;
}

.columns.grid24 .column.col22
{
    width: 91.66667%;
}

.columns.grid24 .column.col23
{
    width: 95.83333%;
}

.columns.grid24 .column.col24
{
    width: 100%;
}

.columns.grid32 .column.col1
{
    width: 3.125%;
}

.columns.grid32 .column.col2
{
    width: 6.25%;
}

.columns.grid32 .column.col3
{
    width: 9.375%;
}

.columns.grid32 .column.col4
{
    width: 12.5%;
}

.columns.grid32 .column.col5
{
    width: 15.625%;
}

.columns.grid32 .column.col6
{
    width: 18.75%;
}

.columns.grid32 .column.col7
{
    width: 21.875%;
}

.columns.grid32 .column.col8
{
    width: 25%;
}

.columns.grid32 .column.col9
{
    width: 28.125%;
}

.columns.grid32 .column.col10
{
    width: 31.25%;
}

.columns.grid32 .column.col11
{
    width: 34.375%;
}

.columns.grid32 .column.col12
{
    width: 37.5%;
}

.columns.grid32 .column.col13
{
    width: 40.625%;
}

.columns.grid32 .column.col14
{
    width: 43.75%;
}

.columns.grid32 .column.col15
{
    width: 46.875%;
}

.columns.grid32 .column.col16
{
    width: 50%;
}

.columns.grid32 .column.col17
{
    width: 53.125%;
}

.columns.grid32 .column.col18
{
    width: 56.25%;
}

.columns.grid32 .column.col19
{
    width: 59.375%;
}

.columns.grid32 .column.col20
{
    width: 62.5%;
}

.columns.grid32 .column.col21
{
    width: 65.625%;
}

.columns.grid32 .column.col22
{
    width: 68.75%;
}

.columns.grid32 .column.col23
{
    width: 71.875%;
}

.columns.grid32 .column.col24
{
    width: 75%;
}

.columns.grid32 .column.col25
{
    width: 78.125%;
}

.columns.grid32 .column.col26
{
    width: 81.25%;
}

.columns.grid32 .column.col27
{
    width: 84.375%;
}

.columns.grid32 .column.col28
{
    width: 87.5%;
}

.columns.grid32 .column.col29
{
    width: 90.625%;
}

.columns.grid32 .column.col30
{
    width: 93.75%;
}

.columns.grid32 .column.col31
{
    width: 96.875%;
}

.columns.grid32 .column.col32
{
    width: 100%;
}

.columns.narrow-gutter
{
    margin-right: -3px;
    margin-left: -2px;
}

.columns.narrow-gutter .column
{
    padding: 2px 3px 3px 2px;
}

.columns.wide-gutter
{
    margin-right: -15px;
    margin-left: -15px;
}

.columns.wide-gutter .column
{
    padding: 15px 15px 15px 15px;
}

.bg-gray
{
    background-color: #f0f0f0;
}

.txt-center
{
    text-align: center;
}

.txt-left
{
    text-align: left;
}

.txt-right
{
    text-align: right;
}

.nowrap
{
    white-space: nowrap;
}

.show-sp
{
    display: none;
}

.btn
{
    display: inline-block;
    padding: 5px 1em;
    transition: all .2s ease;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    color: #fff;
    border: 0;
    border-radius: 4px;
    background-color: #777;
}

.btn .icon
{
    margin-right: 7px;
}

.btn:hover
{
    transition: all .3s ease;
    opacity: .8;
}

.btn-primary
{
    font-size: 1.4rem;
    font-weight: bold;
    padding: 8px 1em;
    color: #003f6c;
    border: 1px solid #003f6c;
    background-color: #fff;
}

.btn-login
{
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1;
    padding: 6px 14px 5px;
    border-radius: 100px;
    background-color: #ffae30;
}

.btn-mypage
{
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    padding: 7px 20px 6px;
    color: #003f6c;
    border: 1px solid #003f6c;
    border-radius: 100px;
    background-color: #fff;
}

.btn-more
{
    font-size: 1.4rem;
    font-weight: bold;
    padding: 6px 2.8em;
    color: #003f6c;
    border: 1px solid #003f6c;
    border-radius: 100px;
    background-color: #fff;
}

.theme-red .btn-more
{
    color: #922930;
    border: 1px solid #922930;
}

.btn-normal,
.btn-spread-open,
.btn-high-open
{
    padding: 5px 0;
    color: inherit;
    border: 2px solid #e5e5e5;
    background-color: #fff;
}

.btn-decide
{
    font-size: 1.4rem;
    font-weight: bold;
    border: 2px solid #ffae30;
    background-color: #ffae30;
}

.ie .btn-decide
{
    padding-right: 5px;
    padding-left: 8px;
}

.btn-spread-close,
.btn-high-close
{
    width: 167px;
    padding: 8px 1em 7px;
    color: #fff;
    border-radius: 0 0 0 4px;
    background-color: #003f6c;
}

.theme-red .btn-spread-close,
.theme-red
.btn-high-close
{
    background-color: #922930;
}

.btn-theme
{
    font-weight: bold;
    padding: 9px 5px 7px;
    background-color: #003f6c;
}

.theme-red .btn-theme
{
    background-color: #922930;
}

.btn-sm
{
    font-size: 1.1rem;
    padding: 3px 1em;
}

.btn-lg
{
    font-size: 1.8rem;
    padding: 10px 3em;
}

.btn-long
{
    min-width: 300px;
}

h2 + .tab
{
    margin-top: 30px;
}

* + .tab
{
    margin-top: 46px;
}

.tab .tab-nav
{
    border-bottom: 4px solid #003f6c;
}

.theme-red .tab .tab-nav
{
    border-bottom: 4px solid #922930;
}

.tab .tab-nav ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: -4px;
    list-style: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.tab .tab-nav ul li
{
    width: 100%;
    padding: 0 2px;
    background-color: #fff;
}

.tab .tab-nav ul li:first-child
{
    padding: 0 2px 0 0;
}

.tab .tab-nav ul li:last-child
{
    padding: 0 0 0 2px;
}

.tab .tab-nav ul li a
{
    font-size: 1.6rem;
    display: block;
    padding: 10px 10px 7px;
    text-align: center;
    color: #fff;
    border-top: 1px solid #003f6c;
    border-right: 1px solid #003f6c;
    border-left: 1px solid #003f6c;
    border-radius: 4px 4px 0 0;
    background-color: #003f6c;
}

.theme-red .tab .tab-nav ul li a
{
    border-top: 1px solid #922930;
    border-right: 1px solid #922930;
    border-left: 1px solid #922930;
    background-color: #922930;
}

.tab .tab-nav ul li a.active
{
    font-weight: bold;
    color: #003f6c;
    border-top: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    border-left: 1px solid #d9d9d9;
    background-color: #fff;
}

.theme-red .tab .tab-nav ul li a.active
{
    color: #922930;
}

.tab .tab-box .box
{
    display: none;
}

.tab .tab-box .box > *:not(section)
{
    padding-top: 21px;
}

.tab-wrap
{
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

#ctrl-tab
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 21px 0 23px;
}

#ctrl-tab .tab-nav
{
    position: relative;
    z-index: 3;
}

#ctrl-tab .tab-nav li
{
    width: 85px;
    height: 96px;
    list-style: none;
    border-top: 1px solid #33658a;
    background-color: #003f6c;
}

.theme-red #ctrl-tab .tab-nav li
{
    border-top: 1px solid #a85459;
    background-color: #922930;
}

#ctrl-tab .tab-nav li:last-child
{
    height: 94px;
    border-radius: 0 0 0 4px;
}

#ctrl-tab .tab-nav li:first-child
{
    border: 0;
    border-radius: 4px 0 0 0;
}

#ctrl-tab .tab-nav li.active
{
    background-color: #fff;
}

#ctrl-tab .tab-nav li.active a
{
    color: #003f6c;
}

.theme-red #ctrl-tab .tab-nav li.active a
{
    color: #922930;
}

#ctrl-tab .tab-nav li a
{
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.33333;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    text-align: center;
    text-decoration: none;
    color: #fff;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#ctrl-tab .tab-box
{
    position: relative;
}

#ctrl-tab .tab-box .inner
{
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 0;
    height: 478px;
    border-radius: 0 4px 4px 0;
    background-color: #fff;
}

#ctrl-tab .tab-box .inner.h-over
{
    border-radius: 0 4px 4px 4px;
    box-shadow: 0 0 4px 3px rgba(0, 0, 0, .08);
}

#ctrl-tab .tab-box .inner.nav-over
{
    border-radius: 0 4px 4px 4px;
}

#ctrl-tab .tab-box .inner.no-nav
{
    border-radius: 4px;
}

#ctrl-tab .tab-box .inner .box .lead
{
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    position: relative;
    z-index: 1;
    color: #003f6c;
}

#ctrl-tab .tab-box .inner .box .lead + h2
{
    font-size: 2.4rem;
}

#ctrl-tab .tab-box .inner .box h2
{
    font-size: 1.7rem;
    line-height: 1.17647;
    position: relative;
    z-index: 1;
    margin-bottom: 16px;
    color: #003f6c;
}

.theme-red #ctrl-tab .tab-box .inner .box h2
{
    color: #922930;
}

#ctrl-tab .tab-box .inner .box h2 small
{
    font-size: 1.5rem;
}

#ctrl-tab .tab-box .inner .box .btns
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: -5px;
    margin-left: -4px;
    list-style: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#ctrl-tab .tab-box .inner .box .btns li
{
    width: 100%;
    padding-right: 5px;
    padding-left: 4px;
}

#ctrl-tab .tab-box .inner .box .btns .btn
{
    width: 100%;
}

#ctrl-tab .tab-box .inner .box * + .btns
{
    margin-top: 20px;
}

#ctrl-tab .tab-box .inner .box * + .arrow-link
{
    margin-top: 13px;
}

#ctrl-tab .tab-box .inner .box .inputs + .arrow-link
{
    margin-top: 10px;
}

#ctrl-tab .tab-box .inner .box .search-bar
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 18px;
}

#ctrl-tab .tab-box .inner .box .search-bar input
{
    width: 100%;
}

#ctrl-tab .tab-box .inner .box .search-bar .btn
{
    margin-left: 10px;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
}

#ctrl-tab .tab-box .inner .box .course-graph p
{
    margin-bottom: 6px;
}

#ctrl-tab .tab-box .inner .box .notes
{
    font-size: 1.2rem;
    line-height: 1.66667;
    color: #858585;
}

#ctrl-tab .tab-box .inner .box * + .txt
{
    margin-top: 14px;
}

#ctrl-tab .tab-box .inner .box * + .border-txt
{
    margin-top: 18px;
}

#ctrl-tab .tab-box .inner .box .border-txt
{
    padding: 7px 9px 5px;
    border: 2px solid #003f6c;
    border-radius: 4px;
}

#ctrl-tab .tab-box .inner .box * + .line
{
    margin-top: 17px;
}

#ctrl-tab .tab-box .inner .box .line
{
    font-size: 1.5rem;
    margin-bottom: 10px;
    padding: 2px 5px 0;
    text-align: center;
    color: #003f6c;
    border: 1px solid #003f6c;
}

#ctrl-tab .tab-box .inner .box .intro
{
    padding: 22px 22px 16px;
    border-radius: 4px;
    background-color: #e3eff7;
}

#ctrl-tab .tab-box .inner .box .intro h3
{
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 17px;
    text-align: center;
    letter-spacing: -.01em;
    color: #003f6c;
}

#ctrl-tab .tab-box .inner .box .intro ul
{
    margin-top: 15px;
    padding: 18px 18px 21px;
    list-style: none;
    border: 3px solid #003f6c;
    border-radius: 4px;
    background-color: #fff;
}

#ctrl-tab .tab-box .inner .box .intro ul li
{
    margin-left: 1.6em;
    text-indent: -1.6em;
}

#ctrl-tab .tab-box .inner .box .intro ul li::before
{
    font-family: 'jttweb' !important;
    margin-right: 8px;
    content: '\e904';
    color: #ffae30;
}

#ctrl-tab .tab-box .inner .box .intro ul li + li
{
    margin-top: 6px;
}

#ctrl-tab .tab-box .inner .box .intro * + .caution
{
    margin-top: 10px;
}

#ctrl-tab .tab-box .inner .box .intro .caution
{
    margin-left: 0;
    text-indent: 0;
    color: #e90000;
}

#ctrl-tab .tab-box .inner .box .intro .caution a
{
    text-decoration: underline;
    color: #e90000;
}

#ctrl-tab .tab-box .inner .box .intro * + .arrow-link
{
    margin-top: 3px;
}

#ctrl-tab .tab-box .inner .box .intro .arrow-link
{
    font-weight: bold;
}

#ctrl-tab .tab-box .inner .box .intro .intro-bottom
{
    margin-top: 20px;
    text-align: right;
}

#ctrl-tab .tab-box .inner .box#box-destination
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 915px;
}

#ctrl-tab .tab-box .inner .box#box-destination .fold
{
    width: 29.72678%;
    padding: 20px;
}

#ctrl-tab .tab-box .inner .box#box-destination .spread
{
    width: 70.27322%;
    padding: 20px 25px 20px 16px;
}

#ctrl-tab .tab-box .inner .box#box-map
{
    width: 915px;
    padding: 20px 35px 20px 20px;
}

#ctrl-tab .tab-box .inner .box#box-map::after
{
    display: table;
    clear: both;
    content: '';
}

#ctrl-tab .tab-box .inner .box#box-map .right
{
    float: right;
    width: 30%;
    padding-left: 30px;
}

#ctrl-tab .tab-box .inner .box#box-map .left
{
    float: left;
    width: 70%;
}

#ctrl-tab .tab-box .inner .box#box-hotel
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 915px;
}

#ctrl-tab .tab-box .inner .box#box-hotel .fold
{
    width: 29.72678%;
    padding: 20px;
}

#ctrl-tab .tab-box .inner .box#box-hotel .spread
{
    width: 70.27322%;
    padding: 20px 25px 20px 16px;
}

#ctrl-tab .tab-box .inner .box#box-plan
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 915px;
}

#ctrl-tab .tab-box .inner .box#box-plan .fold
{
    width: 29.72678%;
    padding: 20px;
}

#ctrl-tab .tab-box .inner .box#box-plan .spread
{
    width: 70.27322%;
    padding: 20px 25px 20px 16px;
}

#ctrl-tab .tab-box .inner .box#box-course
{
    width: 475px;
    padding: 20px 23px 20px 20px;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi,
#ctrl-tab .tab-box .inner .box#box-pack-kodama
{
    width: 915px;
    padding: 27px 20px 20px 20px;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi::after,
#ctrl-tab .tab-box .inner .box#box-pack-kodama::after
{
    display: table;
    clear: both;
    content: '';
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi .right,
#ctrl-tab .tab-box .inner .box#box-pack-kodama .right
{
    float: right;
    width: 73%;
    padding-left: 30px;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi .left,
#ctrl-tab .tab-box .inner .box#box-pack-kodama .left
{
    float: left;
    width: 27%;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi .high,
#ctrl-tab .tab-box .inner .box#box-pack-kodama .high
{
    left: calc(27% + 20px);
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi .high .high-inner,
#ctrl-tab .tab-box .inner .box#box-pack-kodama .high .high-inner
{
    padding-top: 90px;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi .high .btn-high-close,
#ctrl-tab .tab-box .inner .box#box-pack-kodama .high .btn-high-close
{
    right: -26px;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi h2,
#ctrl-tab .tab-box .inner .box#box-pack-kodama h2
{
    margin-bottom: 15px;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi * + .btns,
#ctrl-tab .tab-box .inner .box#box-pack-kodama * + .btns
{
    margin-top: 15px;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi .low h2,
#ctrl-tab .tab-box .inner .box#box-pack-nozomi .low .lead,
#ctrl-tab .tab-box .inner .box#box-pack-kodama .low h2,
#ctrl-tab .tab-box .inner .box#box-pack-kodama .low .lead
{
    position: relative;
    z-index: 2;
}

#ctrl-tab .tab-box .inner .box#box-pack-nozomi .intro
{
    padding-bottom: 42px;
}

#ctrl-tab .tab-box .inner .box#box-kodama
{
    width: 1000px;
    padding: 20px 20px 25px 25px;
}

#ctrl-tab .tab-box .inner .box#box-kodama::after
{
    display: table;
    clear: both;
    content: '';
}

#ctrl-tab .tab-box .inner .box#box-kodama .right
{
    float: right;
    width: 72.25%;
    padding-left: 30px;
}

#ctrl-tab .tab-box .inner .box#box-kodama .left
{
    float: left;
    width: 27.75%;
}

#ctrl-tab .tab-box .inner .box#box-kodama .inputs dl dt
{
    width: 56%;
}

#ctrl-tab .tab-box .inner .box#box-en-direct
{
    width: 1000px;
    padding: 27px 20px 20px 20px;
}

#ctrl-tab .tab-box .inner .box#box-en-direct::after
{
    display: table;
    clear: both;
    content: '';
}

#ctrl-tab .tab-box .inner .box#box-en-direct .right
{
    float: right;
    width: 70%;
    padding-left: 30px;
}

#ctrl-tab .tab-box .inner .box#box-en-direct .left
{
    float: left;
    width: 30%;
}

#ctrl-tab .tab-box .inner .box#box-en-direct .high
{
    left: calc(30% + 20px);
}

#ctrl-tab .tab-box .inner .box#box-en-direct .high .high-inner
{
    width: 660px;
    padding-top: 34px;
}

#ctrl-tab .tab-box .inner .box#box-en-direct .high .btn-high-close
{
    right: -26px;
}

#ctrl-tab .tab-box .inner .box#box-en-direct h2
{
    font-size: 2.4rem;
    margin-bottom: 15px;
}

#ctrl-tab .tab-box .inner .box#box-en-direct * + .btns
{
    margin-top: 15px;
}

#ctrl-tab .tab-box .inner .box#box-en-direct .inputs dl dt
{
    font-weight: bold;
    width: 77%;
}

#ctrl-tab .tab-box .inner .box#box-en-direct .ad
{
    margin-top: -40px;
    margin-bottom: 15px;
}

#ctrl-tab .tab-box .inner .box#box-en-direct h3.line
{
    line-height: 1.125;
    padding: 4px 5px 3px;
}

#ctrl-tab .tab-box .inner .box .spread,
#ctrl-tab .tab-box .inner .box .high
{
    height: 100%;
}

#ctrl-tab .tab-box .inner .box .spread section,
#ctrl-tab .tab-box .inner .box .high section
{
    padding: 10px 13px 4px;
    border: 2px solid #e5e5e5;
    border-radius: 6px;
}

#ctrl-tab .tab-box .inner .box .spread section + section,
#ctrl-tab .tab-box .inner .box .high section + section
{
    margin-top: 15px;
}

#ctrl-tab .tab-box .inner .box .spread h3,
#ctrl-tab .tab-box .inner .box .high h3
{
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 10px;
}

#ctrl-tab .tab-box .inner .box .spread h4,
#ctrl-tab .tab-box .inner .box .high h4
{
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 3px;
}

#ctrl-tab .tab-box .inner .box .spread ul,
#ctrl-tab .tab-box .inner .box .high ul
{
    font-size: 1.4rem;
    list-style: none;
    letter-spacing: -1em;
}

#ctrl-tab .tab-box .inner .box .spread ul li,
#ctrl-tab .tab-box .inner .box .high ul li
{
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 6px;
    letter-spacing: normal;
}

#ctrl-tab .tab-box .inner .box .spread
{
    position: relative;
}

#ctrl-tab .tab-box .inner .box .spread .btn-spread-close
{
    position: absolute;
    top: 0;
    right: 0;
}

#ctrl-tab .tab-box .inner .box .high
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: none;
    overflow: hidden;
    width: 0;
    background-color: #fff;
}

#ctrl-tab .tab-box .inner .box .high .high-inner
{
    position: relative;
    width: 622px;
    padding: 20px 0 0 20px;
}

#ctrl-tab .tab-box .inner .box .high .btn-high-close
{
    position: absolute;
    top: 0;
    right: 0;
}

/*-----------------------------------
slider
---------------------------------------*/
.kv-slider
{
    display: none !important;
}

.kv-slider.slick-initialized
{
    display: block !important;
}

.slick-arrow
{
    line-height: 50px;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    text-align: center;
    border: 1px solid #000;
    background-color: #aaa;
}

.slick-arrow.slick-prev
{
    left: 0;
}

.slick-arrow.slick-next
{
    right: 0;
}

.slick-dots
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
    letter-spacing: -1em;
}

.slick-dots li
{
    display: inline-block;
    cursor: pointer;
    letter-spacing: normal;
}

.slick-dots li button
{
    display: block;
    overflow: hidden;
    width: 33px;
    height: 6px;
    margin: 15px 4px 25px;
    cursor: pointer;
    text-indent: -9999px;
    border: 0;
    border-radius: 100px;
    background-color: #fff;
}

.slick-dots li.slick-active button
{
    background-color: #003f6c;
}

.theme-red .slick-dots li.slick-active button
{
    background-color: #ffae30;
}

/*-----------------------------------
カレンダー
---------------------------------------*/
.datepicker
{
    font-family: 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    border: 0;
    background-color: transparent;
}

.datepicker--nav-title
{
    font-size: 1.5rem;
    pointer-events: none;
    color: #fff;
}

.datepicker--nav-title i
{
    margin: 0;
    color: #fff;
}

.datepicker--nav
{
    margin-bottom: -3px;
    padding: 0;
    border: 0;
}

.datepicker--nav-action path
{
    stroke: #fff;
}

.datepicker--nav-action:hover path
{
    stroke: #333;
}

.datepicker--day-name
{
    font-size: 1.5rem;
    width: calc((100% - 42px) / 7);
    color: #fff;
}

.datepicker--day-name.-weekend-:first-child
{
    color: #dd2936;
}

.datepicker--content
{
    margin: 0 -2px;
    padding: 0;
}

.datepicker--cell-day
{
    font-size: 1.5rem;
    line-height: 1;
    width: calc((100% - 29px) / 7);
    height: 36px;
    margin: 2px 2px;
    background-color: #f2f2f2;
}

.datepicker--cell-day.-disabled-
{
    opacity: .4;
    color: #333 !important;
}

.datepicker--cell-day.-focus-
{
    background-color: #e5e5e5;
}

.datepicker--cell-day.-other-month-
{
    background-color: #fafafa;
}

.datepicker--cell-day.-disabled-
{
    color: #fff;
    background-color: #006fbf;
}

.theme-red .datepicker--cell-day.-disabled-
{
    background-color: #b6333c;
}

.datepicker--cell-day.-disabled-.-focus-
{
    color: #333;
}

.datepicker--cell-day.-range-from-
{
    border-radius: 4px;
    background-color: #ffae30 !important;
}

.datepicker--cell-day.-in-range-
{
    color: #fff !important;
    border-radius: 4px;
    background-color: #ffcf73 !important;
}

.datepicker--cell-day.-in-range-.-focus-
{
    background-color: #ffae30 !important;
}

.datepicker--cell-day.-range-to-
{
    border-radius: 4px;
    background-color: #ffcf73;
}

.datepicker--cell-day.-range-to-.-selected-
{
    background-color: #ffcf73;
}

.datepicker--cell-day.-selected-
{
    background-color: #ffae30 !important;
}

.datepicker--cell-day.-selected-.-focus-
{
    background-color: #ffae30 !important;
}

.datepicker--cell-day.-selected-.-current-
{
    background-color: #ffae30;
}

.datepicker--cell-day:nth-child(7n-6)
{
    color: #dd2936 !important;
}

.datepicker--nav-action svg
{
    pointer-events: none;
}

/*-----------------------------------
ポップアップヘッダー
---------------------------------------*/
.popup-wrap
{
    position: relative;
}

.popup
{
    position: absolute;
    z-index: 5000;
    top: 10px;
    display: none;
    width: 270px;
    padding: 20px;
    color: #fff;
    border-radius: 6px;
    background-color: #003f6c;
}

.popup.wide
{
    width: 322px;
}

.popup.wider
{
    width: 350px;
}

.theme-red .popup
{
    background-color: #922930;
}

.popup::before
{
    position: absolute;
    top: -8px;
    right: 0;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    content: '';
    border-width: 0 7px 8px 7px;
    border-style: solid;
    border-color: transparent transparent #003f6c transparent;
}

.theme-red .popup::before
{
    border-color: transparent transparent #922930 transparent;
}

.popup h3
{
    font-size: 1.5rem;
    font-weight: bold;
}

.popup h3 + .calender
{
    margin-top: 2px;
}

.popup h3 + .inputs
{
    margin-top: 12px;
}

.popup h3 + h4
{
    margin-top: 12px;
}

.popup h4 + .inputs
{
    margin-top: 8px;
}

.popup .btn
{
    width: 100%;
    margin-top: 10px;
}

.popup * + .btn
{
    margin-top: 20px;
}

.popup .calender + .btn
{
    margin-top: 10px;
}

.popup .calender
{
    width: 100%;
}

.popup .calender .datepicker
{
    width: 100%;
    border: 0;
}

.popup .calender .inputs
{
    margin-top: 15px;
}

.popup .inputs dl dt
{
    line-height: 1;
    width: 30%;
    margin: auto 0;
}

.popup .inputs dl dd
{
    width: 70%;
}

.popup .inputs * + dl
{
    margin-top: 10px;
}

.popup .inputs dl + dl.mark
{
    margin-top: 5px;
}

.popup .inputs dl.mark + dl
{
    margin-top: 3px;
}

.popup .inputs .mark p
{
    text-align: center;
}

.popup .inputs + .notes
{
    margin-top: 15px;
}

.popup .notes
{
    font-size: 1.1rem;
    margin-left: 1em;
    text-indent: -1em;
}

/*-----------------------------------
英語ヘッダー
---------------------------------------*/
.english
{
    font-family: 'Roboto', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    /*---プランのタブ3つ目---*/
    /*-------------------------*/
}

.english .modal .head
{
    margin-bottom: 10px;
    text-align: right;
}

.english .modal img
{
    display: inline-block;
}

.english .feature-kodama
{
    padding-top: 40px;
}

.english .feature-kodama h2
{
    margin-bottom: 20px;
    text-align: center;
}

.english .feature-kodama h3
{
    margin-bottom: 15px;
}

.english .feature-kodama .cnt
{
    margin-bottom: 40px;
}

.english .kodama-tab .tab-nav
{
    border: 0;
}

.english .kodama-tab .tab-nav ul
{
    margin: 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.english .kodama-tab .tab-nav ul li
{
    width: auto;
}

.english .kodama-tab .tab-nav ul li a
{
    padding: 0;
    border: 0;
}

.english .kodama-tab .tab-box .box > *
{
    padding-top: 0 !important;
}

.english .link
{
    margin-right: 40px;
    text-align: right;
}

.english .link a
{
    font-size: 1.8rem;
    color: #005e8e;
}

.english .link a img
{
    margin-right: 5px;
}

.english .special-savings
{
    position: relative;
    padding: 20px;
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #fff 0%, #f7f1e5 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.english .special-savings::after
{
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    content: '';
    border-width: 20px 20px 0 20px;
    border-style: solid;
    border-color: #f7f1e5 transparent transparent transparent;
}

.english .special-savings .cell
{
    text-align: center;
    border: 5px solid #ede8e7;
    border-radius: 8px;
    background-color: #fff;
}

.english .special-savings .cell img
{
    border-radius: 6px;
}

.english .sales-location
{
    padding: 20px;
    border: 5px solid #ede8e7;
    border-radius: 8px;
}

.english .sales-location .cell
{
    text-align: center;
}

.english .notes-purchases
{
    text-align: center;
}

.english .travel-cost
{
    margin: 20px 0 30px;
}

.english .travel-cost .tab li
{
    float: left;
    margin-right: 10px;
    cursor: pointer;
}

.english .travel-cost .tab li img
{
    vertical-align: top;
}

.english .travel-cost table
{
    font-size: 108%;
    width: 100%;
    color: #78493e;
}

.english .travel-cost table th,
.english .travel-cost table td
{
    line-height: 1.5;
    padding: 6px;
    word-break: break-all;
}

.english .travel-cost table td
{
    padding-right: 14px;
    padding-bottom: 3px;
    text-align: right;
}

.english .travel-cost table th
{
    font-size: 108%;
    font-weight: bold;
    line-height: 1.25;
}

.english .travel-cost table .th-width th
{
    text-align: center;
}

.english .travel-cost table .th-width th.left
{
    text-align: left;
}

.english .travel-cost table th p
{
    font-size: 86%;
    font-weight: normal;
}

.english .travel-cost table .tx-price
{
    font-size: 100%;
    font-weight: bold;
    color: #ef8526;
}

.english .travel-cost .notes
{
    line-height: 1.5;
    margin-top: 18px;
    color: #78493e;
}

.english .travel-cost .regular .lead
{
    font-size: 117%;
    font-weight: bold;
    padding: 14px;
    text-align: center;
    color: #fff;
    background: #90c029;
}

.english .travel-cost .regular table
{
    width: 100%;
    border-bottom: 1px solid #90c029;
    border-left: 1px solid #90c029;
}

.english .travel-cost .regular table th.color
{
    text-align: center;
    color: #90c029;
}

.english .travel-cost .regular th,
.english .travel-cost .regular td
{
    border-top: 1px solid #90c029;
    border-right: 1px solid #90c029;
}

.english .travel-cost .regular .children th,
.english .travel-cost .regular .children td
{
    padding: 3px 14px 6px 6px;
    border-top: 1px solid #f4f8d8;
}

.english .travel-cost .regular .bg th,
.english .travel-cost .regular .bg td
{
    background: #fcfcf5;
}

.english .travel-cost .busy .lead
{
    font-size: 117%;
    font-weight: bold;
    padding: 14px;
    text-align: center;
    color: #fff;
    background: #e66e81;
}

.english .travel-cost .busy table
{
    width: 100%;
    border-bottom: 1px solid #e66e81;
    border-left: 1px solid #e66e81;
}

.english .travel-cost .busy table th.color
{
    text-align: center;
    color: #e66e81;
}

.english .travel-cost .busy th,
.english .travel-cost .busy td
{
    border-top: 1px solid #e66e81;
    border-right: 1px solid #e66e81;
}

.english .travel-cost .busy .children th,
.english .travel-cost .busy .children td
{
    padding: 3px 14px 6px 6px;
    border-top: 1px solid #f5e3e5;
}

.english .travel-cost .busy .bg th,
.english .travel-cost .busy .bg td
{
    background: #fffdfd;
}

.english .travel-cost .regular02 .lead
{
    font-size: 117%;
    font-weight: bold;
    padding: 14px;
    text-align: center;
    color: #fff;
    background: #90c029;
}

.english .travel-cost .regular02 table
{
    width: 100%;
    border-bottom: 1px solid #90c029;
    border-left: 1px solid #90c029;
}

.english .travel-cost .regular02 table th.color
{
    text-align: center;
    color: #90c029;
}

.english .travel-cost .regular02 th,
.english .travel-cost .regular02 td
{
    border-top: 1px solid #90c029;
    border-right: 1px solid #90c029;
}

.english .travel-cost .regular02 .children th,
.english .travel-cost .regular02 .children td
{
    padding: 3px 14px 6px 6px;
    border-top: 1px solid #f4f8d8;
}

.english .travel-cost .regular02 .bg th,
.english .travel-cost .regular02 .bg td
{
    background: #fcfcf5;
}

.english .timetables
{
    margin: 20px 0 30px;
}

.english .timetables .tab li
{
    float: left;
    margin-right: 10px;
    cursor: pointer;
}

.english .timetables .tab li img
{
    vertical-align: top;
}

.english .timetables .notes
{
    line-height: 1.5;
    margin-top: 18px;
    color: #78493e;
}

.english .timetables table
{
    font-size: 117%;
    width: 100%;
    color: #78493e;
}

.english .timetables .before table
{
    border-top: 5px solid #37a9d3;
}

.english .timetables .after table
{
    border-top: 5px solid #e9536b;
}

.english .timetables table th,
.english .timetables table td
{
    line-height: 1.4;
    padding: 6px;
    text-align: center;
    vertical-align: middle;
    word-break: break-all;
    border: 1px solid #37a9d3;
}

.english .timetables .after table th,
.english .timetables .after table td
{
    border-color: #e9536b;
}

.english .timetables table .even th,
.english .timetables table .even td
{
    background: #f8fcfd;
}

.english .timetables table th
{
    font-weight: bold;
    line-height: 1.25;
    padding: 6px 12px;
    text-align: left;
}

.english .timetables table .th-down th,
.english .timetables table .th-up th
{
    padding: 6px;
    text-align: center;
}

.english .timetables table .th-down th.left,
.english .timetables table .th-up th.left
{
    text-align: left;
}

.english .ad
{
    margin-top: 60px;
    text-align: center;
}

.english .sub-nav
{
    height: 77px;
}

.english .sub-nav ul
{
    padding-top: 14px;
}

.english .sub-nav ul
{
    font-size: 1.6rem;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto 0 auto auto;
    list-style: none;
}

.english .sub-nav li:not(:last-child)
{
    margin-right: 22px;
}

.english .sub-nav a
{
    color: #333;
}

.english .global-nav ul li:nth-child(1)
{
    width: 66.75%;
}

.english .global-nav ul li:nth-child(2)
{
    width: 33.25%;
}

.english .global-nav ul li a
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;
    height: 53px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.english .global-nav ul li a b
{
    font-size: 1.8rem;
    display: block;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
}

.english .global-nav ul li a small
{
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 5px;
}

.english .footer-top h2
{
    font-size: 1.5rem;
}

.english .footer-middle
{
    padding: 30px 0 25px;
}

.english .footer-middle .inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.english .footer-nav ul
{
    font-size: 1.3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
}

.english .footer-nav ul li:not(:last-child)
{
    margin-right: 21px;
}

.english .footer-nav ul a
{
    color: #adadad;
}

.english .footer-bottom
{
    padding: 14px 0 15px;
}

}
/*-----------------------------------
footer_en
---------------------------------------*/
.english .footer-nav li:first-child {
	margin-right: 59px;
}
.english .footer-nav li + li {
	margin-right: 21px;
}
.english .footer-middle .footer-logo img {
	width: 232px;
	height: 20px;
}
.english .footer-middle .footer-nav li a {
	color: #adadad;
	font-size: 1.3rem;
}
.english .footer-bottom {
    padding: 8px 0;
}
.footer-middle {
    display: none;
}
.footer-bottom {
    padding: 8px 0;
    border-top: 1px solid #484848;
    background-color: #333;
}
.footer-bottom .copy {
    font-size: 1.2rem;
    color: #717171;
}
@media print, screen and (min-width: 940px) {
#footer .nav a {
    display: inline-block;
    margin-left: 1.5em;
    text-indent: -1.5em;
}
#footer .nav a::before {
    font-family: 'jttweb' !important;
    font-size: .8rem;
    margin-right: 8px;
    content: '\e902';
    color: #fff;
}
.footer-top {
    padding: 57px 0 33px;
}
.footer-top::after {
    display: table;
    clear: both;
    content: '';
}
.footer-top p {
    font-size: 1.2rem;
    line-height: 1.5;
}
.footer-top .prove {
    margin-left: auto;
    padding-bottom: 1px;
    padding-left: 30px;
    letter-spacing: -1em;
}
.footer-top .prove li {
    display: inline-block;
    letter-spacing: normal;
	margin-right: 15px;
}
.footer-top .prove li:last-child {
    margin-right: 0;
}
.footer-top .en_link {
	padding-top: 30px;
}
.footer-middle {
	display: block;
    padding: 66px 0 71px;
    background-color: #333;
}
.footer-middle .footer-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.footer-middle .footer-nav.en {
	display: block;
}
.footer-middle .footer-nav h2 {
    font-size: 1.8rem;
    font-weight: 500;
	text-align: left;
    margin: 0 0 20px;
    color: #fff;
}
.footer-middle .footer-nav h3 {
    font-size: 1.4rem;
    font-weight: 500;
    margin: 0 0 13px;
    color: #fff;
}
.footer-middle .footer-nav .nav-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.footer-middle .footer-nav .nav {
    font-size: 1.3rem;
    line-height: 1.38462;
}
.footer-middle .footer-nav .nav + .nav {
    margin-left: 40px;
}
.footer-middle .footer-nav .nav li {
    margin-bottom: 14px;
}
.footer-middle .footer-nav .nav a {
    color: #adadad;
}
.footer-middle .footer-nav .nav-box {
    width: calc(100%/3);
	margin-left: 38px;
}
.footer-middle .footer-nav .nav-box:first-of-type {
	margin-left: 0;
}
.footer-bottom {
    padding: 23px 0 26px;
}
.footer-bottom::after {
    display: table;
    clear: both;
    content: '';
}
.footer-bottom .copy {
    float: left;
    margin-top: 2px;
}
/*-----------------------------------
footer_en
---------------------------------------*/
.english .footer-top .prove {
    padding-left: 0;
}
.english .footer-bottom {
	padding: 14px 0 15px;
}

}
/*-----------------------------------
次期ヘッダー/フッター　共有データ
---------------------------------------*/
/*-----------------------------------
header
---------------------------------------*/
html.is-drawer-open {
  height: 100%;
  overflow: hidden;
}

header {
  font-family: "SF Pro Display", "Roboto", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
}

.l-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
  word-break: normal;
  position: relative;
  overflow-x: hidden;
}

.l-header {
  background-color: #FFF;
  width: 100%;
  height: 55px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
}
.l-header:after {
  content: "";
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 100%);
  width: 100%;
  height: 5px;
  position: absolute;
  left: 0;
  bottom: -5px;
}

.l-header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

.l-header_logo {
  padding-left: 10px;
}
.l-header_logo.l-header_logo--multiple {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header_logo_link {
  display: block;
  line-height: 1;
  text-decoration: none;
  width: 109px;
}
.l-header_logo_link > img {
  width: 100%;
}
.l-header_logo_link.l-header_logo_link--ex {
  width: 50px
}
.l-header_logo_link.l-header_logo_link--jtt {
  width: 35px
}
.l-header_logo_link.l-header_logo_link--landscapeJtt {
  width: 113px;
  margin-top: 4px;
}
.l-header_logo_link.l-header_logo_link--nta {
  width: 50px
}

.l-header_gnav {
  display: none;
}
.l-header_gnav_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.l-header_icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2px;
    align-items: center;
}
.l-header_icon_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: 0;
    border: 0;
    margin: 6px 5px 0 0;
    text-decoration: none
}
.l-header_icon_img {
    width: auto;
    height: 20px;
}

.l-header_icon_text {
    font-size: 7px;
    color: black;
    margin-top: 4px;
    word-break: keep-all;
}
.l-header_drawer {
  color: #FFF;
  background: rgba(28, 78, 156, 0.95);
  visibility: hidden;
  height: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1002;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.l-header_drawer_inner {
  width: 100%;
  height: 100%;
  padding: 16px 0 0 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.l-header_drawer_close {
  width: 46px;
  height: 46px;
  position: absolute;
  top: 0;
  right: 0;
}

.l-header_drawer_nav {
  margin-top: 70px;
}

.l-header_close {
  width: 100%;
  height: 100%;
  position: relative;
  border: 0;
  background-color: transparent;
}
.l-header_close:before {
  content: "";
  display: block;
  background: url("/common/images/icon_close.svg") no-repeat;
  background-size: 100%;
  width: 26px;
  height: 26px;
  margin: auto;
  position: absolute;
  top: 7px;
  left: 0;
  right: 7px;
  bottom: 0;
}

.l-header_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
    padding-left: 2px;
}

.l-header_login {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header_login_user {
  line-height: 1;
  font-size: 1rem;
  margin-right: 7px;
}

.l-header_nav {
  width: 48px;
  height: 40px;
  position: relative;
}
.l-header_nav_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border: 0;
  background-color: #fff;
  color: black;
}

.l-header_nav_bar {
  width: 22px;
  height: 20px;
  margin: 6px auto 2px;
  position: relative;
}
.l-header_nav_bar:before {
  content: "";
  display: block;
  background: url("/common/images/icon_hamburger.svg") no-repeat;
  background-size: 100%;
  width: 100%;
  height: 100%;
}

.l-header_nav_text {
  font-size: 1rem;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}

.l-header_origin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header_origin:before {
  content: "";
  display: block;
  background: url("/common/images/icon_location.svg") no-repeat;
  background-size: 100%;
  width: 11px;
  height: 16px;
  margin-right: 6px;
}
.l-header_origin_select {
  margin-left: 10px;
  position: relative;
}
.l-header_origin_select:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  border: 4.5px solid transparent;
  border-top: 6px solid #14171D;
  border-bottom: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  pointer-events: none;
}
.l-header_origin_select > select {
  background: #FFF;
  height: 26px;
  padding: 5px 30px 4px 10px;
  border: 1px solid #CCC;
  border-radius: 3px;
}
.l-header_lang_link {
  color: #14171D;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
}
.l-header_lang_link:before {
  content: "";
  display: block;
  background: url("/common/images/icon_global.svg") no-repeat;
  background-size: 100%;
  width: 14px;
  height: 14px;
  margin-right: 8px;
}

.is-drawer-open .l-header_menu_bar:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 50%;
}
.is-drawer-open .l-header_menu_bar:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 50%;
  bottom: inherit;
}
.is-drawer-open .l-header_menu_bar > span {
  opacity: 0;
}
.is-drawer-open .l-header_drawer {
  visibility: visible;
  width: 100%;
  height: 100%;
}

.l-gnav {
  font-size: 1.5rem;
  line-height: 1.2;
  list-style: none;
  padding-left: 0;
}
.l-gnav--top {
  font-size: 1.5rem;
  line-height: 1.2;
  list-style: none;
  padding-left: 0;
}
.l-gnav_item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.l-gnav_item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.l-gnav_link,
.l-gnav_action {
  color: #FFF;
  display: block;
  text-decoration: none;
  width: 100%;
  padding: 16px 0;
  position: relative;
}
.l-gnav_link:after,
.l-gnav_action:after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: auto 100%;
  width: 11px;
  height: 11px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
}

.l-gnav_link:after {
  background-image: url("/common/images/icon_chevron.svg");
}

.l-gnav_action:after {
  background-image: url("/common/images/icon_plus.svg");
}
.l-gnav_action.is-active:after {
  background-image: url("/common/images/icon_minus.svg");
  background-size: 100% auto;
}

.l-gnav_accordion {
  display: none;
}
.l-gnav_accordion.is-active {
  display: block;
}

.l-gnav-child {
  font-size: 1.3rem;
  background: rgba(255, 255, 255, 0.2);
  line-height: 1.2;
  list-style: none;
  padding: 10px 0 15px;
}
.l-gnav-child_link {
  color: #FFF;
  display: block;
  text-decoration: none;
  padding: 10px 0 11px 15px;
}

.ml-10 {
  margin-left: 10px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.wd-100 {
  width: 100% !important;
}
.site-nav-sp {
    position: fixed;
    top: 55px;
	left: 0;
    width: 100%;
    height: 0;
    background: #003f6c;
    visibility: hidden;
    overflow: hidden;
    transition: all .3s ease;
}
.is-drawer-open .site-nav-sp {
	visibility: visible;
	width: 100%;
	height: 100%;
}
.main-nav-active .site-nav-sp {
    height: 100vh;
}
.site-nav-sp a {
    display: inline-block;
    color: #fff;
}
.site-nav-sp .site-nav-1st {
    list-style: none;
}
.site-nav-sp .site-nav-1st > li {
    border-bottom: 1px solid #4d7998;
    font-size: 1.6rem;
}
.site-nav-sp .site-nav-1st > li > a {
    position: relative;
    width: 100%;
    padding: 13px 20px 11px 10px;
	font-weight: normal;
}
.site-nav-sp .site-nav-1st > li > a::after {
    font-family: 'jttweb' !important;
    font-size: 1.1rem;
    position: absolute;
    top: 18px;
    right: 11px;
    content: '\e902';
}
.site-nav-sp .site-nav-1st > li.has-child > a {
    position: relative;
}
.site-nav-sp .site-nav-1st > li.has-child > a::after {
    font-size: 1.2rem;
    top: 17px;
    right: 12px;
    content: '\e90f';
}
.site-nav-sp .site-nav-1st > li.has-child.active > a {
    position: relative;
}
.site-nav-sp .site-nav-1st > li.has-child.active > a::after {
    font-size: 1.2rem;
    top: 17px;
    right: 12px;
    content: '\e90b';
}
.site-nav-sp .site-nav-1st > li.has-child ul {
    font-size: 1.5rem;
    display: none;
    padding: 23px 11px 30px;
    border-top: 1px solid #4d7998;
    list-style: none;
    background-color: #003255;
}
.site-nav-sp .site-nav-1st > li.has-child ul li a {
    width: 100%;
	font-weight: normal;
}
.site-nav-sp .site-nav-1st > li.has-child ul li + li {
    margin-top: 18px;
}
.nav-handle-wrap {
	display: block;
    position: relative;
	padding: 7px 18px 0 0;
}
.nav-handle,
.nav-handle span {
    display: inline-block;
    box-sizing: border-box;
    transition: all .4s;
}
.nav-handle {
    position: relative;
    width: 16px;
    height: 16px;
}
.nav-handle span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #2e2e2e;
}
.nav-handle span:nth-of-type(1) {
    top: 0;
}
.nav-handle span:nth-of-type(2) {
    top: 7px;
}
.nav-handle span:nth-of-type(3) {
    bottom: 0;
}
.is-drawer-open .nav-handle span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
            transform: translateY(7px) rotate(-45deg);
}
.is-drawer-open .nav-handle span:nth-of-type(2) {
    opacity: 0;
}
.is-drawer-open .nav-handle span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
            transform: translateY(-7px) rotate(45deg);
}
.english .l-header_logo_link.l-header_logo_link--landscapeJtt {
    width: auto;
}
/*-----------------------------------
header_en
---------------------------------------*/
.english .l-header_logo_link > img {
	width: 275px;
	height: 23px;
    max-width: 100%;
}


.english .l-header_logo_link > img {
    width: auto;
	height: auto;
    max-width: 202px;
}
@media print, screen and (min-width: 940px) {
  .l-header {
    height: 76px;
  }

  .l-header_inner {
    max-width: 1200px;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }

  .l-header_logo {
    margin-right: 15px;
    padding-left: 0;
  }
  .l-header_logo_link {
    width: 16.2903225806vw;
  }
  .l-header_logo_link.l-header_logo_link--ex {
    width: 6.7258064516vw
  }
  .l-header_logo_link.l-header_logo_link--jtt {
    width: 4.506774vw
  }
  .l-header_logo_link.l-header_logo_link--landscapeJtt {
    width: 16.9903225806vw;
  }
  .l-header_logo_link.l-header_logo_link--nta {
    width: 7.096774vw
  }
  .l-header_gnav {
    display: block;
    margin-left: auto;
  }
  .l-header_gnav_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-header_gnav_nav {
    margin-top: 15px;
    text-align: center;
  }
  .l-header_gnav_info {
    display: none;
  }
  .l-header_drawer {
    display: none;
  }
  .l-header_drawer_inner {
    padding: 0;
    position: static;
  }
  .l-header_menu {
    padding-left: 20px;
  }
  .l-header_login {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .l-header_login_user {
    font-size: 1.0483870968vw;
    margin-right: 0;
  }
  .l-header_nav {
    display: none;
  }
  .l-header_origin {
    font-size: 1.0483870968vw;
  }
  .l-header_origin_select > select {
    font-size: 1.0483870968vw;
  }
  .l-header_lang {
    font-size: 1.0483870968vw;
    margin-left: 20px;
  }
  .l-gnav {
    font-size: 1.2096774194vw;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-gnav--top {
    font-size: 1.05vw;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-gnav_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: none;
  }
  .l-gnav_item:before {
    display: block;
    background: #CCC;
    width: 1px;
    height: 1em;
  }
  .l-gnav_item:not(:first-child) {
    margin-top: 0;
    margin-left: 15px;
  }
  .l-gnav_item:not(:first-child):before {
    content: "";
    margin-right: 15px;
  }
  .l-gnav_item.l-gnav_item--top:not(:first-child) {
    margin-top: 0;
    margin-left: 10px;
  }
  .l-gnav_item.l-gnav_item--top:not(:first-child):before {
    content: "";
    margin: auto 12px auto 0;
  }
  .l-gnav_item.l-gnav_item--sp {
    display: none;
  }
  .l-gnav_link,
  .l-gnav_action {
    color: #14171D;
    padding: 0;
  }
  .l-gnav_link:after,
  .l-gnav_action:after {
    content: none;
  }

/*-----------------------------------
header_en
---------------------------------------*/
.nav-handle-wrap {
    display: none;
}
.english .l-header_logo_link > img {
	width: 275px;
	height: 23px;
    max-width: 100%;
}
}

@media print, screen and (min-width: 1240px) {
  .l-header_logo_link {
    width: 202px;
  }
  .l-header_logo_link.l-header_logo_link--ex {
    width: 83px
  }
  .l-header_logo_link.l-header_logo_link--jtt {
    width: 56px
  }
  .l-header_logo_link.l-header_logo_link--landscapeJtt {
    width: 210px;
  }
  .l-header_logo_link.l-header_logo_link--nta {
    width: 90px
  }
  .l-header_menu {
    padding-left: 50px;
  }
  .l-header_login_user {
    font-size: 1.3rem;
  }
  .l-header_origin {
    font-size: 1.3rem;
  }
  .l-header_origin_select > select {
    font-size: 1.3rem;
  }
  .l-header_lang {
    font-size: 1.3rem;
    margin-left: 29px;
  }
  .l-gnav {
    font-size: 1.3rem;
  }
  .l-gnav--top {
    font-size: 1.3rem;
  }
}
@media print, screen and (min-width: 1240px) {
  .l-header_logo_link {
    width: 202px;
  }
  .l-header_logo_link.l-header_logo_link--ex {
    width: 83px
  }
  .l-header_logo_link.l-header_logo_link--jtt {
    width: 56px
  }
  .l-header_logo_link.l-header_logo_link--landscapeJtt {
    width: 210px;
  }
  .l-header_logo_link.l-header_logo_link--nta {
    width: 90px
  }
  .l-gnav {
    font-size: 1.3rem;
  }
  .l-gnav--top {
    font-size: 1.3rem;
  }
}
/*-----------------------------------
footer
---------------------------------------*/
#footer_corporate_load {
	margin-top: 20px;
}
.l-footer {
  color: #FFF;
  background: #1C4E9C;
  padding: 10px 0;
}

.l-footer_copyright {
  font-size: 1.2rem;
  line-height: calc(20 / 12);
  letter-spacing: calc((30 / 1000) * 1em);
  text-align: center;
}

@media print, screen and (min-width: 940px) {
  .l-footer {
    padding: 60px 20px 20px;
  }
  .l-footer.l-footer--simple {
    padding: 10px 0;
  }
  .l-footer_copyright {
    font-size: 1.2rem;
    margin-top: 90px;
  }
  .l-footer_copyright.l-footer_copyright--simple {
    margin-top: unset;
  }
}

/*------------------------------------------------------------------
　　　　　　　　　　　ラインナップ
------------------------------------------------------------------*/
#lineup .br599 {
    display: none;
}
#lineup {
	background:#ebebeb;
	padding: 2em 0 2em 0;
	margin-top:2.8em;
}
#lineup .lineup-category {
	padding-bottom:2em;
	display: flex;
}
#lineup input[type=checkbox] {
    display: none;
}
#lineup label {
	font-size: 1.1em;
    font-weight: bold;
    flex-basis: 445px;
    pointer-events: none;
}
#lineup .lineup-acd-open {
	flex-basis: 200%;
}
#lineup .lineup-acd-open li {
	position: relative;
	display: inline-block;
	padding: 0 14px 0 20px;
	line-height: 2;
}
#lineup .lineup-acd-open li:before {
	position: absolute;
	top: 6px;
	left: 0;
	display: block;
	overflow: hidden;
	width: 1px;
	height:1.1em;
	content: '';
	border-right: 1px solid #968c8c;
}
#lineup .sitemap_link a {
    text-decoration: underline;
}
#lineup .sitemap_link a:hover {
    text-decoration: none;
}
/*------------------------------------------------------------------
　　　　　　　　　　　ラインナップ(50+)
------------------------------------------------------------------*/
#lineup_50plus {
	background: #ebebeb;
	padding: 24px 0;
	margin-top: 28px;
}
#lineup_50plus ul {
	font-size: 1.8rem;
	width: 750px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-around;
}
#lineup_50plus ul li {
	width: 24%;
	position: relative;
	text-align: center;
}
#lineup_50plus .season_lineup {
	font-size: 2.2rem;
	width: 100%;
}
#lineup_50plus ul li a {
	position: relative;
	color: #333;
}
#lineup_50plus ul li a::before {
	font-family: 'jttweb' !important;
	font-size: 1.4rem;
	content: '\e909';
	color: #003f6c;
	position: absolute;
	right: -20px;
	top: 2px;
}
#lineup_50plus ul li a:hover, #lineup_50plus ul li a:active {
	opacity: 0.5;
	text-decoration: underline;
}
#lineup_50plus .banner {
	margin: 4px 0 22px 0;
}
#lineup_50plus .banner a::before {
	font-size: 1.8rem;
	top: 50%;
	right: 4px;
	color: #ffffff;
	display: inline-block;
	margin-top: -3px;
}
#lineup_50plus .banner img {
	width: 220px;
}
#lineup_50plus .banner a:hover, #lineup_50plus .banner a:active {
	text-decoration: none;
}

/*------------------------------------------------------------------
　　　　　　　　　　　タブレット用（730px）
------------------------------------------------------------------*/
@media screen and (max-width: 730px) {
#lineup_50plus ul {
	width: 90%;
}
#lineup_50plus ul li {
	font-size: 1.6rem;
	width: 40%;
	margin: 0 auto;
	text-align: left;
}
#lineup_50plus .season_lineup {
	text-align: center;
}
#lineup_50plus ul li a::before {
	top: 1px;
}
}

