@charset "UTF-8";

/* ==========================================================================
   Reset
   ========================================================================== */


/* Initialize
   ========================================================================== */

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


/* Display
   ========================================================================== */

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

.win,
.mac {
    overflow-y: scroll;
}


/* Fonts
   ========================================================================== */

html {
    font-size: .625em;
}

body {
    -webkit-text-size-adjust: 100%;
    line-height: 1.5;
    color: #000000;
    background-color: #ffffff;
}

h1,
h2,
h3,
h4,
h5,
h6,
dt,
dd,
li,
caption,
col,
th,
td,
p,
address,
figcaption {
    font-size: 2em;
}

@media (max-width: 768px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    dt,
    dd,
    li,
    caption,
    col,
    th,
    td,
    p,
    address,
    figcaption {
        font-size: 1.4em;
    }
}

dd dt,
dd dd,
dd li,
dd p,
dd caption,
dd col,
dd th,
dd td,
dd figcaption,
li dt,
li dd,
li li,
li p,
li caption,
li col,
li th,
li td,
li figcaption,
th dt,
th dd,
th li,
th p,
th caption,
th col,
th th,
th td,
th figcaption,
td dt,
td dd,
td li,
td p,
td caption,
td col,
td th,
td td,
td figcaption {
    font-size: 1em;
}

sup,
sub {
    font-size: 10px;
}

body,
input,
textarea,
select {
    font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}


/* Link
   ========================================================================== */

a:link,
a:visited,
a:hover,
a:active {
    color: #08107a;
}

a:hover,
a:active {
    text-decoration: none;
}


/* Style
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
}

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

caption {
    text-align: left;
}

th {
    font-weight: bold;
}

th,
td {
    vertical-align: top;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

address {
    font-style: normal;
    font-weight: normal;
}

img {
    vertical-align: top;
    -ms-interpolation-mode: bicubic;
}

object,
embed,
iframe {
    vertical-align: top;
    outline: none;
    max-width: 100%;
}

em,
strong {
    font-style: normal;
    font-weight: bold;
}

mark {
    color: inherit;
    background-color: inherit;
    font-weight: bold;
}

sup,
sub {
    position: relative;
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
}

sup {
    bottom: 1ex;
}

sub {
    top: .5ex;
}


/* Form parts reset
   ========================================================================== */

input,
textarea,
select,
button {
    margin: 0;
    padding: 0;
    font-size: 1.5em;
    color: #000000;
    line-height: 1.5;
    outline: none;
    border-radius: 0;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media (max-width: 768px) {
    input,
    textarea,
    select,
    button {
        font-size: 1.4em;
    }
}

input[type="button"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="text"],
input[type="search"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="date"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="color"],
input[type="range"],
input[type="checkbox"],
input[type="radio"],
input[type="button"],
input[type="image"],
input[type="submit"],
input[type="reset"],
select,
button {
    cursor: pointer;
}

input[disabled] {
    cursor: not-allowed;
}

input[type="hidden"] {
    display: none;
}

textarea {
    resize: vertical;
}


/* ==========================================================================
   Layout - General
   ========================================================================== */


/* Clearfix
   ========================================================================== */

header,
footer,
main,
section,
article,
aside,
nav,
.layout-container,
.layout-header,
.layout-footer,
.content,
.main-content,
.sub-content,
.article,
.section,
.row {
    zoom: 1;
}

header:before,
footer:before,
main:before,
section:before,
article:before,
aside:before,
nav:before,
.layout-container:before,
.layout-header:before,
.layout-footer:before,
.content:before,
.main-content:before,
.sub-content:before,
.article:before,
.section:before,
.row:before,
header:after,
footer:after,
main:after,
section:after,
article:after,
aside:after,
nav:after,
.layout-container:after,
.layout-header:after,
.layout-footer:after,
.content:after,
.main-content:after,
.sub-content:after,
.article:after,
.section:after,
.row:after {
    content: '';
    display: table;
}

header:after,
footer:after,
main:after,
section:after,
article:after,
aside:after,
nav:after,
.layout-container:after,
.layout-header:after,
.layout-footer:after,
.content:after,
.main-content:after,
.sub-content:after,
.article:after,
.section:after,
.row:after {
    clear: both;
}


/* Root
   ========================================================================== */

body {
    width: 100%;
}


/* Container
  ========================================================================== */

.layout-container {
    min-width: 1400px;
    padding-top: 125px;
}

@media (max-width: 768px) {
    .layout-container {
        min-width: 100%;
        padding-top: 56px;
    }
}


/* Section
   ========================================================================== */

.section {
    margin-top: 100px;
    padding: 0 20px;
}

.section:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .section {
        margin-top: 40px;
    }
}

.section .section {
    margin-top: 50px;
    width: 100%;
    min-width: 100%;
    padding: 0;
}

.section .section:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .section .section {
        margin-top: 25px;
    }
}

.section_inner {
    max-width: 1400px;
    margin: 0 auto 90px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .section_inner {
        width: inherit;
        margin-bottom: 35px;
    }
}

.section_near-box {
    width: 1400px;
    margin-right: auto;
    margin-bottom: 90px;
    margin-left: auto;
    padding: 0 100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .section_near-box {
        width: inherit;
        margin-bottom: 35px;
        padding: 0;
    }
}


/* Paragraph
   ========================================================================== */

p {
    margin-top: 20px;
}

p:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    p {
        margin-top: 20px;
    }
}


/* ==========================================================================
   Layout - Header
   ========================================================================== */


/* Page header
   ========================================================================== */

.layout-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 2;
    background: #fff;
    -webkit-box-shadow: 0 0 15px 0 rgba(4, 0, 0, 0.2);
    box-shadow: 0 0 15px 0 rgba(4, 0, 0, 0.2);
}

.facility-detail_text {
    height: auto !important;
}

@media (min-width: 769px) {
    .layout-header {
        min-width: 1200px;
    }
}

@media (max-width: 768px) {
    .layout-header {
        width: 100%;
        z-index: 3;
    }
}

.layout-header a {
    text-decoration: none;
}

.layout-header_inner {
    overflow: hidden;
    position: relative;
    top: -100%;
    left: 0;
    width: 100%;
    padding: 20px 0 15px;
    border-bottom: 1px solid #d9d9d9;
    background: #fff;
    -webkit-transition: .3s ease;
    transition: .3s ease;
    font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;

}

@media (max-width: 768px) {
    .layout-header_inner {
        width: 100%;
        padding: 15px 0 13px;
        background-size: 100% auto;
        font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;

    }
}

.layout-header_logo {
    float: left;
    line-height: 1;
    vertical-align: middle;
}

.layout-header_logo a:hover {
    text-decoration: none;
    opacity: 0.8;
    -ms-filter: "alpha(opacity=80)";
}

.layout-header_logo img {
    width: 160px;
    padding: 2px 0 2px 20px;
    vertical-align: middle;
}

@media (max-width: 768px) {
    .layout-header_logo img {
        display: inline-block;
        width: 120px;
    }
}

.layout-header_logo span {
    margin-left: 30px;
    color: #111;
    font-size: 1.4rem;
    font-weight: normal;
    vertical-align: middle;
    font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

@media (max-width: 768px) {
    .layout-header_logo span {
        margin-left: 15px;
        font-size: 1rem;
        font-weight: normal;
    }
}


/* Global nav
   ========================================================================== */

.global-nav {
    clear: both;
    width: 100%;
}

@media (min-width: 769px) {
    .global-nav {
        display: block !important;
    }
}

@media (max-width: 768px) {
    .global-nav {
        display: none;
        overflow: scroll;
        position: relative;
        z-index: 1;
        height: -webkit-calc(100vh - 56px);
        height: calc(100vh - 56px);
    }
}

.global-nav>ul {
    display: table;
    width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .global-nav>ul {
        display: block;
        width: 100%;
        padding: 17px 20px 0;
    }
}

.global-nav>ul>li {
    position: relative;
    display: table-cell;
    min-width: 60px;
    padding: 0 15px;
    font-size: 1.9em;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .global-nav>ul>li {
        display: block;
        padding: 0;
        text-align: left;
    }
}

.global-nav>ul>li>a,
.global-nav>ul>li>span {
    display: block;
    padding: 18px 0;
    color: #000;
}

.global-nav>ul>li>a>span.small {
    font-size: 0.89em;
    font-weight: normal;
}

@media (min-width: 769px) {
    .global-nav>ul>li>a,
    .global-nav>ul>li>span {
        position: relative;
    }
    .global-nav>ul>li>a:hover,
    .global-nav>ul>li>span:hover {
        text-decoration: none;
    }
}

@media (max-width: 768px) {
    .global-nav>ul>li>a,
    .global-nav>ul>li>span {
        padding: 15px 2px;
    }
}

@media (min-width: 769px) {
    .global-nav>ul>li a:after {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 4px;
        background: #e9b125;
        content: "";
        -webkit-transition: .2s ease;
        transition: .2s ease;
    }
    .global-nav>ul>li .is-current a:after,
    .global-nav>ul>li a:hover:after {
        width: 100%;
    }
}

.global-nav_lang {
    display: table;
    position: absolute;
    z-index: 2;
    height: 70px;
    margin: 0;
    font-size: 1.2em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    .global-nav_lang {
        top: 0;
        right: 0;
        border-left: 1px solid #d9d9d9;
    }
}

@media (max-width: 768px) {
    .global-nav_lang {
        position: fixed;
        bottom: 0;
        right: 0;
        width: 100%;
        border-top: 1px solid #d9d9d9;
        background: #fff;
    }
}

.global-nav_lang>a {
    display: table-cell;
    overflow: hidden;
    position: relative;
    width: 65px;
    max-width: 65px;
    height: 70px;
    padding: 0;
    border-right: 1px solid #d9d9d9;
    background: url(../img/layout/header_global-nav_bg01.svg) no-repeat center center;
    background-size: 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #525255;
    text-indent: 200%;
    vertical-align: middle;
    white-space: nowrap;
    font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.global-nav_lang .global-nav_lang_menu {
    display: table-cell;
    position: relative;
    z-index: 2;
    vertical-align: middle;
    font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.global-nav_lang .global-nav_lang_menu>button {
    display: block;
    min-width: 150px;
    padding: 20px;
    border: none;
    background: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #525255;
    font-size: 1.2rem;
    text-align: left;
    font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    vertical-align: middle;
}

@media (max-width: 768px) {
    .global-nav_lang .global-nav_lang_menu:after {
        position: absolute;
        top: 50%;
        right: 20px;
        width: 10px;
        height: 10px;
        margin-top: -5px;
        border-top: 2px solid #9e9e9e;
        border-right: 2px solid #9e9e9e;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transition: all .2s;
        transition: all .2s;
        content: "";
        font-family: Noto Sans, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    }
}

.global-nav_lang .global-nav_lang_menu.is-active {
    background-color: #ededed;
}

@media (max-width: 768px) {
    .global-nav_lang .global-nav_lang_menu.is-active:after {
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
    }
}

@media (min-width: 769px) {
    .global-nav_lang>a:hover,
    .global-nav_lang .global-nav_lang_menu:hover {
        background-color: #ededed;
    }
    .global-nav_lang>a:hover button,
    .global-nav_lang .global-nav_lang_menu:hover button {
        color: #08107a;
    }
}

.global-nav_modal {
    overflow: hidden;
    width: 100vw;
    height: 0;
    opacity: 0;
    -webkit-transition: all .5s;
    transition: all .5s;
}

@media (min-width: 769px) {
    .global-nav_modal {
        position: absolute;
        right: 0;
        top: 100%;
        background: #eee;
        -webkit-transform: translateY(-10%);
        -ms-transform: translateY(-10%);
        transform: translateY(-10%);
    }
}

@media (max-width: 768px) {
    .global-nav_modal {
        position: fixed;
        right: 0;
        bottom: 67px;
        z-index: -1;
        background: #fff;
        -webkit-transform: translateY(10%);
        -ms-transform: translateY(10%);
        transform: translateY(10%);
    }
}

.is-active+.global-nav_modal {
    display: block;
    opacity: 1;
    height: initial;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

.global-nav_modal_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1540px;
    margin: 0 auto;
    padding: 60px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .global-nav_modal_row {
        display: none;
    }
}

.global-nav_modal_col {
    width: 33.3%;
    padding: 0 70px;
    border-left: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.global-nav_modal_col:first-child {
    border-left: none;
}

.global-nav_modal_col>p {
    font-size: 1.8rem;
}

.global-nav_modal_col>ul {
    margin-top: 20px;
}

.global-nav_modal_col>ul:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .global-nav_modal_col>ul {
        margin-top: 20px;
    }
}

.global-nav_modal_col>ul>li {
    margin-top: 10px;
    position: relative;
    padding-left: 1em;
    font-size: 1.8rem;
}

.global-nav_modal_col>ul>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .global-nav_modal_col>ul>li {
        margin-top: 10px;
    }
}

.global-nav_modal_col>ul>li:before {
    position: absolute;
    left: 0;
    width: 1em;
    content: "-";
}

.global-nav_modal_col>ul>li a:hover {
    text-decoration: underline;
}

.global-nav_modal_sp {
    bottom: 0;
    padding: 50px 20px;
    background: #ededed;
}


/* Drawer handle
   ========================================================================== */

.drawer-handle {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    max-width: 66px;
    padding: 19px 15px;
    border-left: 1px solid #d9d9d9;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1;
}

@media (min-width: 769px) {
    .drawer-handle {
        display: none;
    }
}

.drawer-handle button:after,
.drawer-handle button:before,
.drawer-handle:before {
    background-color: #333;
    border-radius: 1px;
    content: "";
    height: 2px;
    margin-left: -11px;
    width: 20px;
    position: absolute;
    left: 50%;
    -webkit-transition: .3s ease;
    transition: .3s ease;
}

.drawer-handle:before {
    top: 25px;
}

.drawer-handle button {
    overflow: hidden;
    position: relative;
    border: none;
    background: none;
    font-size: 1.2rem;
    line-height: 18px;
    text-indent: 200%;
}

.drawer-handle button:before {
    top: 0;
}

.drawer-handle button:after {
    top: 12px;
}

.drawer-handle.is-active:before {
    content: none;
}

.drawer-handle.is-active button:before {
    top: 8px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.drawer-handle.is-active button:after {
    top: 8px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}


/* ==========================================================================
   Layout - Breadcrumbs
   ========================================================================== */


/* Breadcrumbs
   ========================================================================== */

.breadcrumbs>ol {
    width: 100%;
    margin: 0 auto;
}

.breadcrumbs>ol>li {
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: middle;
    font-size: 10px;
}

.breadcrumbs>ol>li:after {
    content: ">";
}

.breadcrumbs>ol>li:last-child:after {
    content: "";
}

.breadcrumbs>ol .arrow:last-child {
    display: none;
}

.breadcrumbs>ol .current {
    color: #000000;
}


/* ==========================================================================
   Layout - Content
   ========================================================================== */


/* Content
   ========================================================================== */

.layout-content {
    overflow: hidden;
    position: relative;
    z-index: 1;
    margin-bottom: 20px;
}


/* Main content
   ========================================================================== */

.layout-main-content {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.layout-main-content:first-child {
    margin-top: 80px;
}

@media (max-width: 768px) {
    .layout-main-content:first-child {
        margin-top: 30px;
    }
}


/* ==========================================================================
   Layout - Footer
   ========================================================================== */


/* Page footer
   ========================================================================== */

.layout-footer {
    position: relative;
    width: 100%;
    padding: 26px 0;
    background: #f3f3f4;
    color: #525255;
}

@media (min-width: 769px) {
    .layout-footer {
        min-width: 1200px;
    }
}

@media (max-width: 768px) {
    .layout-footer {
        padding: 75px 0 20px;
    }
}

.layout-footer_inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}

.layout-footer_nav {
    padding: 4px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    .layout-footer_nav {
        float: left;
    }
}

.layout-footer_nav a {
    color: #000;
    text-decoration: none;
}

@media (min-width: 769px) {
    .layout-footer_nav a:hover {
        text-decoration: underline;
    }
}

.layout-footer_nav>ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .layout-footer_nav>ul {
        width: 280px;
        margin: 0 auto;
        text-align: center;
    }
}

.layout-footer_nav>ul>li {
    margin-right: 20px;
    font-size: 1.4em;
}

@media (max-width: 768px) {
    .layout-footer_nav>ul>li {
        margin: 0 10px;
        font-size: 1.2em;
        text-align: center;
    }
}

@media (min-width: 769px) {
    .layout-footer_sns {
        float: left;
        margin-left: 100px;
    }
}

@media (max-width: 768px) {
    .layout-footer_sns {
        position: absolute;
        top: 25px;
        right: 0;
        left: 0;
        margin: 0 auto;
    }
}

.layout-footer_sns>ul {
    display: table;
}

@media (max-width: 768px) {
    .layout-footer_sns>ul {
        margin: 0 auto;
    }
}

.layout-footer_sns>ul>li {
    display: table-cell;
    padding: 0 16px;
    vertical-align: middle;
}

@media (min-width: 769px) {
    .layout-footer_sns>ul>li a {
        -webkit-transition: all .5s;
        transition: all .5s;
    }
    .layout-footer_sns>ul>li a:hover {
        opacity: 0.8;
        -ms-filter: "alpha(opacity=80)";
    }
}

.layout-footer_copyright {
    margin: 0;
    padding: 4px 0;
    font-size: 1.4em;
}

@media (min-width: 769px) {
    .layout-footer_copyright {
        float: right;
    }
}

@media (max-width: 768px) {
    .layout-footer_copyright {
        font-size: 1.2em;
        text-align: center;
    }
}


/* ==========================================================================
   Parts module
   ========================================================================== */


/* Paragraph
   ========================================================================== */

p {
    margin-top: 20px;
}

p:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    p {
        margin-top: 20px;
    }
}


/* Image
   ========================================================================== */

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


/* Anchor
   ========================================================================== */

a {
    text-decoration: underline;
}

@media (min-width: 769px) {
    a:hover {
        text-decoration: none;
    }
}


/* Main visual
   ========================================================================== */

.main-visual {
    position: relative;
    z-index: 1;
    text-align: center;
}

@media (max-width: 768px) {
    .main-visual img {
        width: 100%;
    }
}

.main-visual:after {
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 2;
    width: 100%;
    height: -webkit-calc(113/1400*100vw);
    height: calc(113/1400*100vw);
    min-height: 113px;
    background: url(../img/parts/main-visual_bg01.png) no-repeat center bottom;
    background-size: 100% auto;
    content: "";
}


/* Heading
   ========================================================================== */

.page-title {
    position: relative;
    margin-top: 10px;
}

.page-title h1,
.page-title h2,
.page-title h3,
.page-title h4,
.page-title h5,
.page-title h6 {
    position: relative;
    width: 100%;
    margin: 0 auto;
    color: #000;
    font-size: 4em;
    text-align: center;
    line-height: 1.2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .page-title h1,
    .page-title h2,
    .page-title h3,
    .page-title h4,
    .page-title h5,
    .page-title h6 {
        width: 100%;
        font-size: 2rem;
    }
}

.page-title h1>span,
.page-title h2>span,
.page-title h3>span,
.page-title h4>span,
.page-title h5>span,
.page-title h6>span {
    display: block;
    position: relative;
    padding-bottom: 12px;
    color: #707070;
    font-size: 1.4rem;
    font-weight: normal;
}

.page-title .page-title_text {
    margin: 0 0 10px;
    color: #777;
    font-size: 1.4rem;
}

.section-title {
    position: relative;
}

.section-title h1,
.section-title h2,
.section-title h3,
.section-title h4,
.section-title h5,
.section-title h6 {
    color: #000;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .section-title h1,
    .section-title h2,
    .section-title h3,
    .section-title h4,
    .section-title h5,
    .section-title h6 {
        font-size: 2.4rem;
    }
}

.content-title {
    margin-top: 30px;
}

.content-title:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .content-title {
        margin-top: 25px;
    }
}

.content-title h1,
.content-title h2,
.content-title h3,
.content-title h4,
.content-title h5,
.content-title h6,
.content-title p {
    position: relative;
    color: #000;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.3;
}

@media (max-width: 768px) {
    .content-title h1,
    .content-title h2,
    .content-title h3,
    .content-title h4,
    .content-title h5,
    .content-title h6,
    .content-title p {
        font-size: 1.6rem;
    }
}

.local-title {
    position: relative;
}

.local-title h1,
.local-title h2,
.local-title h3,
.local-title h4,
.local-title h5,
.local-title h6 {
    position: relative;
    padding-left: 35px;
    color: #000;
    font-size: 2.2em;
    font-weight: 900;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .local-title h1,
    .local-title h2,
    .local-title h3,
    .local-title h4,
    .local-title h5,
    .local-title h6 {
        padding-left: 18px;
        font-size: 1.4em;
    }
}

.local-title h1:before,
.local-title h2:before,
.local-title h3:before,
.local-title h4:before,
.local-title h5:before,
.local-title h6:before {
    position: absolute;
    top: 1.1rem;
    left: 0;
    width: 15px;
    height: 15px;
    background: #00088b;
    border-radius: 50%;
    content: "";
}

@media (max-width: 768px) {
    .local-title h1:before,
    .local-title h2:before,
    .local-title h3:before,
    .local-title h4:before,
    .local-title h5:before,
    .local-title h6:before {
        top: .7rem;
        width: 7px;
        height: 7px;
    }
}

.subhead h1,
.subhead h2,
.subhead h3,
.subhead h4,
.subhead h5,
.subhead h6 {
    position: relative;
    color: #000;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .subhead h1,
    .subhead h2,
    .subhead h3,
    .subhead h4,
    .subhead h5,
    .subhead h6 {
        font-size: 1.3rem;
    }
}


/* Lead text
   ========================================================================== */

.lead-text {
    color: #c02;
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1.65;
}

@media (max-width: 768px) {
    .lead-text {
        font-size: 1.8rem;
    }
}


/* Link
   ========================================================================== */

.m-link {
    position: relative;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .m-link {
        font-size: 1.2rem;
    }
}

.m-link>a {
    color: #08107a;
    text-decoration: none;
}

@media (min-width: 769px) {
    .m-link>a:hover {
        text-decoration: underline;
    }
}

.m-link.opt-center {
    text-align: center;
}


/* Link list */

.m-link-list>li,
.m-link-list-horizontal>li {
    font-size: 1.6rem;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .m-link-list>li,
    .m-link-list-horizontal>li {
        font-size: 1.2rem;
    }
}

.m-link-list>li>a,
.m-link-list-horizontal>li>a {
    color: #c02;
    text-decoration: underline;
}

@media (min-width: 769px) {
    .m-link-list>li>a:hover,
    .m-link-list-horizontal>li>a:hover {
        text-decoration: none;
    }
}


/* Vertical list */

.m-link-list {
    margin-top: 20px;
}

.m-link-list:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-link-list {
        margin-top: 20px;
    }
}

.m-link-list>li {
    margin-top: 8px;
}

.m-link-list>li:first-child {
    margin-top: 0;
}


/* Horizontal list */

.m-link-list-horizontal {
    zoom: 1;
}

.m-link-list-horizontal:before,
.m-link-list-horizontal:after {
    content: '';
    display: table;
}

.m-link-list-horizontal:after {
    clear: both;
}

@media (min-width: 769px) {
    .m-link-list-horizontal {
        margin: 20px -25px 0 0;
    }
    .m-link-list-horizontal>li {
        float: left;
        margin: 10px 25px 0 0;
    }
}

@media (max-width: 768px) {
    .m-link-list-horizontal {
        margin-top: 20px;
    }
    .m-link-list-horizontal:first-child {
        margin-top: 0;
    }
    .m-link-list-horizontal>li {
        margin-top: 5px;
    }
    .m-link-list-horizontal>li:first-child {
        margin-top: 0;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .m-link-list-horizontal {
        margin-top: 20px;
    }
}


/* Button & Button list
   ========================================================================== */

.m-button,
.m-button-list,
.m-button>li,
.m-button-list>li {
    margin-top: 20px;
    font-size: 1.8rem;
}

.m-button:first-child,
.m-button-list:first-child,
.m-button>li:first-child,
.m-button-list>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-button,
    .m-button-list,
    .m-button>li,
    .m-button-list>li {
        margin-top: 20px;
    }
}

@media (max-width: 768px) {
    .m-button,
    .m-button-list,
    .m-button>li,
    .m-button-list>li {
        font-size: 1.6rem;
    }
}

.m-button>a,
.m-button-list>a,
.m-button>li>a,
.m-button-list>li>a,
.m-button>button,
.m-button-list>button,
.m-button>li>button,
.m-button-list>li>button {
    overflow: hidden;
    display: block;
    position: relative;
    width: 335px;
    max-width: 100%;
    margin: 0 auto;
    padding: 16px 20px;
    border: none;
    border-radius: 50px;
    background: #ccc;
    color: #fff;
    font-size: 1em;
    text-align: center;
    text-decoration: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: .3s ease;
    transition: .3s ease;
}

@media (max-width: 768px) {
    .m-button>a,
    .m-button-list>a,
    .m-button>li>a,
    .m-button-list>li>a,
    .m-button>button,
    .m-button-list>button,
    .m-button>li>button,
    .m-button-list>li>button {
        padding: 7px 15px;
    }
}

.m-button>a span,
.m-button-list>a span,
.m-button>li>a span,
.m-button-list>li>a span,
.m-button>button span,
.m-button-list>button span,
.m-button>li>button span,
.m-button-list>li>button span {
    position: relative;
    padding: 0 20px;
}

.m-button>a span:after,
.m-button-list>a span:after,
.m-button>li>a span:after,
.m-button-list>li>a span:after,
.m-button>button span:after,
.m-button-list>button span:after,
.m-button>li>button span:after,
.m-button-list>li>button span:after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    margin-top: -4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: .3s ease;
    transition: .3s ease;
    content: "";
}

@media (min-width: 769px) {
    .m-button>a:hover,
    .m-button-list>a:hover,
    .m-button>li>a:hover,
    .m-button-list>li>a:hover,
    .m-button>button:hover,
    .m-button-list>button:hover,
    .m-button>li>button:hover,
    .m-button-list>li>button:hover {
        background: #fff;
        color: #08107a;
    }
    .m-button>a:hover:before,
    .m-button-list>a:hover:before,
    .m-button>li>a:hover:before,
    .m-button-list>li>a:hover:before,
    .m-button>button:hover:before,
    .m-button-list>button:hover:before,
    .m-button>li>button:hover:before,
    .m-button-list>li>button:hover:before {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        border: 3px solid #08107a;
        border-radius: 50px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        content: "";
    }
    .m-button>a:hover span:after,
    .m-button-list>a:hover span:after,
    .m-button>li>a:hover span:after,
    .m-button-list>li>a:hover span:after,
    .m-button>button:hover span:after,
    .m-button-list>button:hover span:after,
    .m-button>li>button:hover span:after,
    .m-button-list>li>button:hover span:after {
        border-color: #08107a;
    }
}

.m-button.is-submit>a,
.m-button-list.is-submit>a,
.m-button>li.is-submit>a,
.m-button-list>li.is-submit>a,
.m-button.is-submit>button,
.m-button-list.is-submit>button,
.m-button>li.is-submit>button,
.m-button-list>li.is-submit>button,
.m-button.opt-yellow>a,
.m-button-list.opt-yellow>a,
.m-button>li.opt-yellow>a,
.m-button-list>li.opt-yellow>a,
.m-button.opt-yellow>button,
.m-button-list.opt-yellow>button,
.m-button>li.opt-yellow>button,
.m-button-list>li.opt-yellow>button {
    background: #e9b226;
}

@media (min-width: 769px) {
    .m-button.is-submit>a:hover,
    .m-button-list.is-submit>a:hover,
    .m-button>li.is-submit>a:hover,
    .m-button-list>li.is-submit>a:hover,
    .m-button.is-submit>button:hover,
    .m-button-list.is-submit>button:hover,
    .m-button>li.is-submit>button:hover,
    .m-button-list>li.is-submit>button:hover,
    .m-button.opt-yellow>a:hover,
    .m-button-list.opt-yellow>a:hover,
    .m-button>li.opt-yellow>a:hover,
    .m-button-list>li.opt-yellow>a:hover,
    .m-button.opt-yellow>button:hover,
    .m-button-list.opt-yellow>button:hover,
    .m-button>li.opt-yellow>button:hover,
    .m-button-list>li.opt-yellow>button:hover {
        color: #e9b226;
        background: #fff;
    }
    .m-button.is-submit>a:hover:before,
    .m-button-list.is-submit>a:hover:before,
    .m-button>li.is-submit>a:hover:before,
    .m-button-list>li.is-submit>a:hover:before,
    .m-button.is-submit>button:hover:before,
    .m-button-list.is-submit>button:hover:before,
    .m-button>li.is-submit>button:hover:before,
    .m-button-list>li.is-submit>button:hover:before,
    .m-button.opt-yellow>a:hover:before,
    .m-button-list.opt-yellow>a:hover:before,
    .m-button>li.opt-yellow>a:hover:before,
    .m-button-list>li.opt-yellow>a:hover:before,
    .m-button.opt-yellow>button:hover:before,
    .m-button-list.opt-yellow>button:hover:before,
    .m-button>li.opt-yellow>button:hover:before,
    .m-button-list>li.opt-yellow>button:hover:before {
        border: 3px solid #e9b226;
    }
    .m-button.is-submit>a:after,
    .m-button-list.is-submit>a:after,
    .m-button>li.is-submit>a:after,
    .m-button-list>li.is-submit>a:after,
    .m-button.is-submit>button:after,
    .m-button-list.is-submit>button:after,
    .m-button>li.is-submit>button:after,
    .m-button-list>li.is-submit>button:after,
    .m-button.opt-yellow>a:after,
    .m-button-list.opt-yellow>a:after,
    .m-button>li.opt-yellow>a:after,
    .m-button-list>li.opt-yellow>a:after,
    .m-button.opt-yellow>button:after,
    .m-button-list.opt-yellow>button:after,
    .m-button>li.opt-yellow>button:after,
    .m-button-list>li.opt-yellow>button:after {
        -webkit-transition: all .2s;
        transition: all .2s;
    }
    .m-button.is-submit>a:hover:after,
    .m-button-list.is-submit>a:hover:after,
    .m-button>li.is-submit>a:hover:after,
    .m-button-list>li.is-submit>a:hover:after,
    .m-button.is-submit>button:hover:after,
    .m-button-list.is-submit>button:hover:after,
    .m-button>li.is-submit>button:hover:after,
    .m-button-list>li.is-submit>button:hover:after,
    .m-button.opt-yellow>a:hover:after,
    .m-button-list.opt-yellow>a:hover:after,
    .m-button>li.opt-yellow>a:hover:after,
    .m-button-list>li.opt-yellow>a:hover:after,
    .m-button.opt-yellow>button:hover:after,
    .m-button-list.opt-yellow>button:hover:after,
    .m-button>li.opt-yellow>button:hover:after,
    .m-button-list>li.opt-yellow>button:hover:after {
        border-color: #e9b226;
    }
}

.m-button.is-submit>a[disabled],
.m-button-list.is-submit>a[disabled],
.m-button>li.is-submit>a[disabled],
.m-button-list>li.is-submit>a[disabled],
.m-button.is-submit>button[disabled],
.m-button-list.is-submit>button[disabled],
.m-button>li.is-submit>button[disabled],
.m-button-list>li.is-submit>button[disabled],
.m-button.opt-yellow>a[disabled],
.m-button-list.opt-yellow>a[disabled],
.m-button>li.opt-yellow>a[disabled],
.m-button-list>li.opt-yellow>a[disabled],
.m-button.opt-yellow>button[disabled],
.m-button-list.opt-yellow>button[disabled],
.m-button>li.opt-yellow>button[disabled],
.m-button-list>li.opt-yellow>button[disabled] {
    opacity: .3;
}

.m-button.is-submit>a[disabled]:hover,
.m-button-list.is-submit>a[disabled]:hover,
.m-button>li.is-submit>a[disabled]:hover,
.m-button-list>li.is-submit>a[disabled]:hover,
.m-button.is-submit>button[disabled]:hover,
.m-button-list.is-submit>button[disabled]:hover,
.m-button>li.is-submit>button[disabled]:hover,
.m-button-list>li.is-submit>button[disabled]:hover,
.m-button.opt-yellow>a[disabled]:hover,
.m-button-list.opt-yellow>a[disabled]:hover,
.m-button>li.opt-yellow>a[disabled]:hover,
.m-button-list>li.opt-yellow>a[disabled]:hover,
.m-button.opt-yellow>button[disabled]:hover,
.m-button-list.opt-yellow>button[disabled]:hover,
.m-button>li.opt-yellow>button[disabled]:hover,
.m-button-list>li.opt-yellow>button[disabled]:hover {
    color: #fff;
    background: #e9b226;
    cursor: auto;
}

.m-button.is-submit>a[disabled]:hover:before,
.m-button-list.is-submit>a[disabled]:hover:before,
.m-button>li.is-submit>a[disabled]:hover:before,
.m-button-list>li.is-submit>a[disabled]:hover:before,
.m-button.is-submit>button[disabled]:hover:before,
.m-button-list.is-submit>button[disabled]:hover:before,
.m-button>li.is-submit>button[disabled]:hover:before,
.m-button-list>li.is-submit>button[disabled]:hover:before,
.m-button.opt-yellow>a[disabled]:hover:before,
.m-button-list.opt-yellow>a[disabled]:hover:before,
.m-button>li.opt-yellow>a[disabled]:hover:before,
.m-button-list>li.opt-yellow>a[disabled]:hover:before,
.m-button.opt-yellow>button[disabled]:hover:before,
.m-button-list.opt-yellow>button[disabled]:hover:before,
.m-button>li.opt-yellow>button[disabled]:hover:before,
.m-button-list>li.opt-yellow>button[disabled]:hover:before {
    content: none;
}

.m-button.opt-window>a,
.m-button-list.opt-window>a,
.m-button>li.opt-window>a,
.m-button-list>li.opt-window>a,
.m-button.opt-window>button,
.m-button-list.opt-window>button,
.m-button>li.opt-window>button,
.m-button-list>li.opt-window>button {
    position: relative;
    padding-right: 33px;
}

.m-button.opt-window>a:after,
.m-button-list.opt-window>a:after,
.m-button>li.opt-window>a:after,
.m-button-list>li.opt-window>a:after,
.m-button.opt-window>button:after,
.m-button-list.opt-window>button:after,
.m-button>li.opt-window>button:after,
.m-button-list>li.opt-window>button:after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 16px;
    height: 12px;
    margin-top: -6px;
    background: url(../img/parts/icon-window_bg_white.png) no-repeat;
    background-size: 16px auto;
    content: "";
}

.m-button.opt-window>a:hover:after,
.m-button-list.opt-window>a:hover:after,
.m-button>li.opt-window>a:hover:after,
.m-button-list>li.opt-window>a:hover:after,
.m-button.opt-window>button:hover:after,
.m-button-list.opt-window>button:hover:after,
.m-button>li.opt-window>button:hover:after,
.m-button-list>li.opt-window>button:hover:after {
    background: url(../img/parts/icon-window_bg_yellow.png) no-repeat;
    background-size: 16px auto;
}

.m-button.opt-slim,
.m-button-list.opt-slim,
.m-button.opt-slim>li,
.m-button-list.opt-slim>li {
    margin-top: 10px;
}

.m-button.opt-slim:first-child,
.m-button-list.opt-slim:first-child,
.m-button.opt-slim>li:first-child,
.m-button-list.opt-slim>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-button.opt-slim,
    .m-button-list.opt-slim,
    .m-button.opt-slim>li,
    .m-button-list.opt-slim>li {
        margin-top: 10px;
    }
}

.m-button.opt-slim>a,
.m-button-list.opt-slim>a,
.m-button.opt-slim>li>a,
.m-button-list.opt-slim>li>a,
.m-button.opt-slim>button,
.m-button-list.opt-slim>button,
.m-button.opt-slim>li>button,
.m-button-list.opt-slim>li>button {
    display: table;
    width: inherit;
    padding: 10px 20px 10px 35px;
}

.m-button.opt-slim>a:after,
.m-button-list.opt-slim>a:after,
.m-button.opt-slim>li>a:after,
.m-button-list.opt-slim>li>a:after,
.m-button.opt-slim>button:after,
.m-button-list.opt-slim>button:after,
.m-button.opt-slim>li>button:after,
.m-button-list.opt-slim>li>button:after {
    position: absolute;
    top: 50%;
    left: 18px;
    width: 4px;
    height: 4px;
    margin-top: -3px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
}

.m-button.opt-left>a,
.m-button-list.opt-left>a,
.m-button.opt-left>button,
.m-button-list.opt-left>button {
    margin-left: 0;
}


/* Button list
   ========================================================================== */

.m-button-list {
    margin-top: 20px;
    overflow: hidden;
    zoom: 1;
    max-width: 100%;
    margin: 50px auto 0;
}

.m-button-list:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-button-list {
        margin-top: 20px;
    }
}

@media (min-width: 769px) {
    .m-button-list {
        width: 640px;
    }
}

.m-button-list>li {
    float: left;
    width: 300px;
    margin: 20px 0 0;
}

@media (max-width: 768px) {
    .m-button-list>li {
        margin: 14px 0 0;
        float: none;
        width: inherit;
    }
    .m-button-list>li:first-child {
        margin-top: 0;
    }
}

@media (min-width: 769px) {
    .m-button-list>li:nth-child(-n+2) {
        margin-top: 0;
    }
    .m-button-list>li:nth-child(odd) {
        clear: left;
        padding-right: 20px;
    }
    .m-button-list>li:nth-child(even) {
        padding-left: 20px;
    }
}


/* PDF link
   ========================================================================== */

.m-pdf-link {
    margin-top: 30px;
    position: relative;
    width: 580px;
    max-width: 100%;
}

.m-pdf-link:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-pdf-link {
        margin-top: 25px;
    }
}

.m-pdf-link>a {
    display: block;
    padding: 20px 20px 20px 70px;
    border: 1px solid #ff2116;
    border-radius: 5px;
    color: #111;
    text-decoration: none;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.m-pdf-link>a:before {
    position: absolute;
    top: 50%;
    left: 30px;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    background: url(/common/img/parts/pdf-link_bg01.png) no-repeat 0 0;
    background-size: 24px auto;
    content: "";
}

.m-pdf-link>a:hover {
    border: 3px solid #ff2116;
    padding: 18px 18px 18px 68px;
}


/* Icon
   ========================================================================== */

.m-icon-pdf {
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: -3px;
    width: 15px;
    height: 19px;
    margin: 0 5px;
    background: url(/common/img/parts/icon-pdf_bg01.png) no-repeat 0 0;
    background-size: 15px auto;
}

@media (max-width: 768px) {
    .m-icon-pdf {
        width: 9px;
        height: 12px;
        background-size: 9px;
    }
}

.m-icon-window {
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: -3px;
    width: 16px;
    height: 14px;
    margin: 0 5px;
    background: url(../img/parts/icon-window_bg_blue.png) no-repeat 0 0;
    background-size: 16px auto;
}

@media (max-width: 768px) {
    .m-icon-window {
        width: 11px;
        height: 9px;
        background-size: 11px;
    }
}

.layout-footer .m-icon-window {
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: -1px;
    width: 11px;
    height: 9px;
    background: url(../img/parts/icon-window_bg_black.png) no-repeat 0 0;
    background-size: 11px auto;
}


/* Unordered/Ordered list
   ========================================================================== */

.m-ul {
    margin-top: 20px;
}

.m-ul:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-ul {
        margin-top: 20px;
    }
}

.m-ul>li {
    position: relative;
    margin-top: 5px;
    padding-left: .8em;
    font-size: 1.8rem;
}

@media (max-width: 768px) {
    .m-ul>li {
        padding-left: .8em;
        font-size: 1.5rem;
        line-height: 1.5;
    }
}

.m-ul>li:first-child {
    margin-top: 0;
}

.m-ul>li:before {
    position: absolute;
    top: 1.2rem;
    left: 0;
    width: 3px;
    height: 3px;
    background: #000;
    content: "";
}

@media (max-width: 768px) {
    .m-ul>li:before {
        top: 1rem;
        width: 2px;
        height: 2px;
    }
}

.m-ul.opt-item-space-near>li {
    margin-top: 10px;
}

.m-ul.opt-item-space-near>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-ul.opt-item-space-near>li {
        margin-top: 10px;
    }
}

.m-ul.opt-margintop-none>li {
    margin-top: 0;
}

.m-ul.opt-style-none>li {
    padding-left: 0;
}

.m-ul.opt-style-none>li:before {
    content: none;
}

.m-ol {
    margin-top: 20px;
}

.m-ol:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-ol {
        margin-top: 20px;
    }
}

.m-ol>li {
    margin-left: 1.6em;
    list-style-type: decimal;
}

.m-ol.opt-item-space-near>li {
    margin-top: 10px;
}

.m-ol.opt-item-space-near>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-ol.opt-item-space-near>li {
        margin-top: 10px;
    }
}

.m-ol.opt-margintop-none>li {
    margin-top: 0;
}


/* Index */

.m-ol-index {
    margin-top: 20px;
}

.m-ol-index:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-ol-index {
        margin-top: 20px;
    }
}

.m-ol-index>li {
    position: relative;
    padding-left: 2em;
    zoom: 1;
}

.m-ol-index>li>span:first-child {
    position: absolute;
    top: 0;
    left: 0;
}

.m-ol-index.opt-item-space-near>li {
    margin-top: 10px;
}

.m-ol-index.opt-item-space-near>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-ol-index.opt-item-space-near>li {
        margin-top: 10px;
    }
}

.m-ol-index.opt-margintop-none>li {
    margin-top: 0;
}


/* Definition list
   ========================================================================== */

.m-dl {
    margin-top: 20px;
}

.m-dl:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-dl {
        margin-top: 20px;
    }
}

.m-dl>dt {
    font-weight: 700;
}


/* Horizontal */

.m-dl-horizontal {
    overflow: hidden;
    zoom: 1;
    margin-top: 20px;
}

.m-dl-horizontal:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-dl-horizontal {
        margin-top: 20px;
    }
}

.m-dl-horizontal>dt {
    float: left;
    clear: left;
    font-weight: 700;
}

.m-dl-horizontal>dd {
    overflow: hidden;
    zoom: 1;
}


/* Notes
   ========================================================================== */

.m-notes {
    margin-top: 10px;
}

.m-notes:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-notes {
        margin-top: 10px;
    }
}

.m-notes>li {
    margin-top: 5px;
}

.m-notes>li:first-child {
    margin-top: 0;
}

p.m-notes,
.m-notes>li {
    position: relative;
    padding-left: 1.3em;
    color: #333333;
    font-size: 1.4rem;
    line-height: 1.5;
}

@media (max-width: 768px) {
    p.m-notes,
    .m-notes>li {
        font-size: 1.3rem;
    }
}

p.m-notes:before,
.m-notes>li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "※";
}

ol.m-notes {
    counter-reset: olNumber 0;
}

ol.m-notes>li {
    padding-left: 2em;
}

ol.m-notes>li:before {
    counter-increment: olNumber 1;
    content: "※" counter(olNumber);
}

p.m-notes.theme-strong,
.m-notes.theme-strong>li {
    color: #c02;
}

.m-notes.opt-item-space-none>li {
    margin-top: 0;
}


/* Separator
   ========================================================================== */

.m-hr {
    height: 0;
    margin: 30px 0;
    padding: 0;
    border: none;
    border-top: 3px solid #c3c3c3;
}

@media (max-width: 768px) {
    .m-hr {
        margin: 25px 0;
    }
}

@media (max-width: 768px) {
    .m-hr {
        border-top: 2px solid #c3c3c3;
    }
}

.m-hr-dotted {
    height: 0;
    margin: 30px 0;
    padding: 0;
    border: none;
    border-top: 3px dotted #c3c3c3;
}

@media (max-width: 768px) {
    .m-hr-dotted {
        margin: 25px 0;
    }
}

@media (max-width: 768px) {
    .m-hr-dotted {
        border-top: 2px dotted #c3c3c3;
    }
}


/* Table
   ========================================================================== */

.m-table {
    margin-top: 20px;
    width: 100%;
    table-layout: fixed;
}

.m-table:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-table {
        margin-top: 20px;
    }
}

.m-table caption {
    padding: 0 20px 10px 0;
    font-weight: 900;
}

.m-table th,
.m-table td {
    padding: 15px 20px;
    border: #dbdce2 1px solid;
    vertical-align: middle;
    word-break: break-word;
}

.m-table thead th {
    background: #f1f2f6;
}

.m-table tbody {
    text-align: left;
}

.m-table tbody th {
    background: #f9fafb;
    vertical-align: top;
}


/* Media
   ========================================================================== */

.m-media {
    overflow: hidden;
    zoom: 1;
    margin-top: 60px;
}

@media (max-width: 768px) {
    .m-media {
        margin-top: 35px;
    }
}

.m-media:first-child {
    margin-top: 0;
}

.m-media_object {
    overflow: hidden;
    display: block;
    margin: 0 auto;
    text-align: center;
}

@media (min-width: 769px) {
    .m-media_object {
        width: -webkit-calc(50% - 20px);
        width: calc(50% - 20px);
    }
    .opt-variable .m-media_object {
        width: inherit;
    }
}

@media (max-width: 768px) {
    .m-media_object {
        display: block;
        margin-top: 20px;
    }
    .m-media_object:first-child {
        margin-top: 0;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .m-media_object {
        margin-top: 20px;
    }
}

.m-media_object img {
    margin: 0 auto;
}

.m-media_caption {
    display: block;
    text-align: left;
    color: #333333;
}

@media (min-width: 769px) {
    .m-media_body {
        display: table;
        width: -webkit-calc(50% - 20px);
        width: calc(50% - 20px);
    }
    .opt-variable .m-media_body {
        float: none;
        overflow: hidden;
        width: inherit;
    }
}

@media (max-width: 768px) {
    .m-media_body {
        margin-top: 20px;
    }
    .m-media_body:first-child {
        margin-top: 0;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .m-media_body {
        margin-top: 20px;
    }
}

.m-media_body p {
    margin-top: 10px;
}

.m-media_body p:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-media_body p {
        margin-top: 10px;
    }
}

.m-media_body .m-media_body_subhead {
    color: #707070;
    font-size: 1.4rem;
}

@media (max-width: 768px) {
    .m-media_body .m-media_body_subhead {
        font-size: 1.2rem;
    }
}

.m-media_body .m-media_body_valign-box {
    display: table-cell;
    width: 100%;
    vertical-align: middle;
}

.m-media_title {
    font-size: 2.8rem;
    font-weight: bold;
}

@media (max-width: 768px) {
    .m-media_title {
        font-size: 2.4rem;
    }
}

.m-media_title span {
    font-weight: normal;
}

@media (max-width: 768px) {
    .m-media_title span {
        display: block;
    }
}

.m-media_title+p {
    margin-top: 0;
}

@media (min-width: 769px) {
    .m-media.opt-media-left .m-media_object {
        float: left;
    }
    .m-media.opt-media-left .m-media_body {
        float: right;
    }
    .m-media.opt-media-right .m-media_object {
        float: right;
    }
    .m-media.opt-media-right .m-media_body {
        float: left;
    }
    .m-media.opt-variable .m-media_body {
        float: none;
    }
    .m-media.opt-variable.opt-media-left .m-media_object {
        padding-right: 30px;
    }
    .m-media.opt-variable.opt-media-right .m-media_object {
        padding-left: 30px;
    }
}

.m-media.opt-media-center .m-media_object,
.m-media.opt-media-center .m-media_body {
    margin-top: 20px;
    width: inherit;
}

.m-media.opt-media-center .m-media_object:first-child,
.m-media.opt-media-center .m-media_body:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-media.opt-media-center .m-media_object,
    .m-media.opt-media-center .m-media_body {
        margin-top: 20px;
    }
}

.m-media.opt-media-center .m-media_object:first-child,
.m-media.opt-media-center .m-media_body:first-child {
    margin-top: 0;
}

.m-media.opt-media-col2 {
    zoom: 1;
}

.m-media.opt-media-col2:before,
.m-media.opt-media-col2:after {
    content: '';
    display: table;
}

.m-media.opt-media-col2:after {
    clear: both;
}

.m-media.opt-media-col2 .m-media_object {
    margin-top: 20px;
}

.m-media.opt-media-col2 .m-media_object:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-media.opt-media-col2 .m-media_object {
        margin-top: 20px;
    }
}

@media (min-width: 769px) {
    .m-media.opt-media-col2 .m-media_object {
        width: -webkit-calc(50% - 20px);
        width: calc(50% - 20px);
    }
    .m-media.opt-media-col2 .m-media_object:nth-child(odd) {
        float: left;
    }
    .m-media.opt-media-col2 .m-media_object:nth-child(even) {
        float: right;
    }
    .m-media.opt-media-col2 .m-media_object:nth-child(-n+2) {
        margin-top: 0;
    }
}


/* Alpha rollover
   ========================================================================== */

.m-alpha-rollover {
    opacity: 1;
    background: url(/common/img/parts/px.png) no-repeat;
}

@media (min-width: 769px) {
    .m-alpha-rollover:hover {
        opacity: 0.8;
        -ms-filter: "alpha(opacity=80)";
    }
}

.m-alpha-rollover-holder {
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: top;
}

.m-alpha-rollover-holder:hover {
    background-color: #fff;
}

.m-alpha-rollover-holder.opt-holder-round {
    border-radius: 4px;
}


/* Device display
   ========================================================================== */

@media (min-width: 769px) {
    .only-pc {
        display: inherit;
    }
    .only-sp {
        display: none;
    }
}

@media (max-width: 768px) {
    .only-pc {
        display: none;
    }
    .only-sp {
        display: inherit;
    }
}


/* Block list
   ========================================================================== */

@media (min-width: 769px) {
    .m-block-list>ul {
        overflow: hidden;
        margin-top: 20px;
    }
    .m-block-list>ul>li {
        float: left;
        position: relative;
        overflow: hidden;
        width: -webkit-calc(50% - 10px);
        width: calc(50% - 10px);
        margin: 20px 0 0 20px;
    }
    .m-block-list>ul>li a {
        display: block;
        color: #fff;
        text-decoration: none;
    }
    .m-block-list>ul>li a img {
        -webkit-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
    }
    .m-block-list>ul>li a:after {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        margin-top: 0;
        background: #000;
        opacity: 0;
        content: "";
        -webkit-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
    }
    .m-block-list>ul>li a .m-block-list_body {
        z-index: 2;
    }
    .m-block-list>ul>li a:hover img {
        -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
        transform: scale(1.05);
    }
    .m-block-list>ul>li a:hover:after {
        opacity: .3;
    }
    .m-block-list>ul>li a:hover .m-block-list_body {
        bottom: 0;
    }
    .m-block-list>ul>li a:hover .m-block-list_body:after {
        opacity: 1;
    }
    .m-block-list>ul>li a .m-media_body {
        color: #000;
    }
    .m-block-list>ul>li:nth-child(odd) {
        clear: left;
        margin-left: 0;
    }
    .m-block-list>ul>li:nth-child(-n+2) {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .m-block-list {
        margin-top: 20px;
    }
    .m-block-list>ul>li {
        margin-top: 20px;
    }
    .m-block-list>ul>li>a {
        display: block;
    }
}

@media (min-width: 769px) {
    .m-block-list.opt-col3>ul>li,
    .m-block-list.opt-col4>ul>li {
        margin-top: 20px;
    }
    .m-block-list.opt-col3>ul>li:nth-child(odd),
    .m-block-list.opt-col4>ul>li:nth-child(odd) {
        clear: none;
        margin-left: 20px;
    }
}

@media (max-width: 768px) {
    .m-block-list.opt-col3>ul>li>a,
    .m-block-list.opt-col4>ul>li>a {
        display: block;
    }
}

@media (min-width: 769px) {
    .m-block-list.opt-col3>ul>li {
        width: -webkit-calc(33.33% - 14px);
        width: calc(33.33% - 14px);
    }
    .m-block-list.opt-col3>ul>li:nth-child(3n+1) {
        clear: left;
        margin-left: 0;
    }
    .m-block-list.opt-col3>ul>li:nth-child(-n+3) {
        margin-top: 0;
    }
}

@media (min-width: 769px) {
    .m-block-list.opt-col4>ul>li {
        width: -webkit-calc(25% - 15px);
        width: calc(25% - 15px);
        margin: 20px 0 0 20px;
    }
    .m-block-list.opt-col4>ul>li:nth-child(odd) {
        margin-left: 20px;
    }
    .m-block-list.opt-col4>ul>li:nth-child(4n+1) {
        clear: left;
        margin-left: 0;
    }
    .m-block-list.opt-col4>ul>li:nth-child(-n+4) {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .m-block-list.opt-sp-col2>ul {
        overflow: hidden;
    }
    .m-block-list.opt-sp-col2>ul>li {
        float: left;
        width: -webkit-calc(50% - 10px);
        width: calc(50% - 10px);
    }
    .m-block-list.opt-sp-col2>ul>li:nth-child(odd) {
        clear: left;
        margin-left: 0;
    }
    .m-block-list.opt-sp-col2>ul>li:nth-child(even) {
        clear: right;
        float: right;
    }
    .m-block-list.opt-sp-col2>ul>li:nth-child(-n+2) {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .m-block-list.theme-index>ul>li,
    .m-block-list.theme-related>ul>li {
        line-height: 1.3;
    }
    .m-block-list.theme-index>ul>li>a,
    .m-block-list.theme-related>ul>li>a {
        padding: 19px 10px;
        background: #08107a;
        color: #fff;
        font-weight: bold;
        text-align: center;
        text-decoration: none;
    }
}

@media (min-width: 769px) {
    .m-block-list.theme-index>ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        overflow: hidden;
    }
    .m-block-list.theme-index>ul>li {
        float: none;
        margin: initial;
        margin-top: 20px;
        line-height: 1.3;
    }
    .m-block-list.theme-index>ul>li.is-wmax {
        width: 100%;
    }
}

@media (min-width: 769px) {
    .m-block-list.theme-related>ul>li {
        position: relative;
        height: 210px;
        margin-left: 20px;
    }
    .m-block-list.theme-related>ul>li:nth-child(odd) {
        margin-left: 0;
    }
    .m-block-list.theme-related>ul>li>a:after {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        margin-top: 0;
        background: #000;
        opacity: 0;
        content: '';
        -webkit-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
    }
    .m-block-list.theme-related>ul>li>a:hover:after {
        opacity: .5;
    }
    .m-block-list.theme-related>ul>li>a .m-block-list_body {
        z-index: 2;
    }
    .m-block-list.theme-related>ul>li>a .m-block-list_img img {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
    .m-block-list.theme-related.opt-col3>ul>li {
        margin-left: 20px;
    }
    .m-block-list.theme-related.opt-col3>ul>li:nth-child(3n+1) {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .m-block-list.theme-related>ul>li {
        margin-top: 10px;
        line-height: 1.3;
    }
    .m-block-list.theme-related>ul>li>a {
        padding: 5px 10px;
        background: none;
        color: #08107a;
    }
}

.m-block-list_body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    .m-block-list_body {
        position: absolute;
        padding: 30px;
        bottom: -35px;
        left: 0;
        max-width: 670px;
        -webkit-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
    }
    .m-block-list_body>p:not([class]) {
        font-size: 2.2rem;
    }
    .theme-related .m-block-list_body {
        text-align: center;
        vertical-align: middle;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        max-width: 100%;
    }
    .theme-related .m-block-list_body:after {
        content: none;
    }
    .m-block-list_body:after {
        opacity: 0;
        display: block;
        margin-top: 10px;
        color: #fff;
        font-weight: bold;
        -webkit-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
        content: "Learn More";
    }
    html[lang="hr"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Prijavite se ovdje";
    }
    html[lang="cs"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Zaregistrujte se zde";
    }
    html[lang="nl"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Registreer hier";
    }
    html[lang="fi"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Liity tästä";
    }
    html[lang="pl"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Zarejestruj się tutaj";
    }
    html[lang="sr"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Prijavite se ovde";
    }
    html[lang="si"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Prijavite se tukaj";
    }
    html[lang="it"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Iscriviti qui";
    }
    html[lang="de"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Registrieren Sie sich hier";
    }
    html[lang="es"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Regístrese aquí";
    }
    html[lang="ru"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Подпишите здесь";
    }
    html[lang="fr"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Inscrivez-vous ici";
    }
    html[lang="vi"] .home .theme-index li:first-child .m-block-list_body:after {
        content: "Đăng ký ở đây";
    }
    html[lang="hr"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="hr"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Saznajte više";
    }
    html[lang="cs"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="cs"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Další informace";
    }
    html[lang="nl"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="nl"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Meer informatie";
    }
    html[lang="fi"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="fi"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Lisätietoja";
    }
    html[lang="pl"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="pl"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Dowiedz się więcej";
    }
    html[lang="sr"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="sr"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Saznajte više";
    }
    html[lang="si"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="si"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Izvejte več";
    }
    html[lang="it"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="it"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Per saperne di più";
    }
    html[lang="de"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="de"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Erfahren Sie mehr";
    }
    html[lang="es"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="es"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Más información";
    }
    html[lang="ru"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="ru"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Узнать больше";
    }
    html[lang="fr"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="fr"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "En apprendre plus";
    }
    html[lang="vi"] .post-type-archive-resources .theme-index li .m-block-list_body:after,
    html[lang="vi"] .home .theme-index li:last-child .m-block-list_body:after {
        content: "Tìm hiểu thêm";
    }
}

@media (max-width: 768px) {
    .m-block-list_body>p:not([class]) {
        display: none;
    }
}

@media (max-width: 768px) {
    .theme-index .m-block-list_img,
    .theme-related .m-block-list_img {
        display: none;
    }
}

@media (min-width: 769px) {
    .theme-related .m-block-list_img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
}

.m-block-list_title {
    position: relative;
    font-weight: bold;
}

@media (min-width: 769px) {
    .m-block-list_title {
        display: table;
        font-size: 4rem;
    }
    .theme-related .m-block-list_title {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        font-size: 2.9rem;
        text-align: center;
        white-space: nowrap;
    }
}

@media (max-width: 768px) {
    .m-block-list_title {
        display: table;
        margin: 0 auto;
        padding: 0 30px;
        font-size: 2.2rem;
    }
    .m-block-list_title:before {
        position: absolute;
        top: 50%;
        right: 0;
        width: 15px;
        height: 2px;
        margin-top: -1px;
        background: #fff;
        content: "";
    }
    .theme-related .m-block-list_title:before {
        content: none;
    }
    .m-block-list_title:after {
        position: absolute;
        top: 50%;
        right: 1px;
        width: 10px;
        height: 12px;
        margin-top: -6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }
    .theme-related .m-block-list_title:after {
        content: none;
    }
}

@media (min-width: 769px) {
    .m-block-list_title:before {
        position: absolute;
        top: 50%;
        right: -50px;
        width: 30px;
        height: 3px;
        margin-top: -1px;
        background: #fff;
        content: "";
    }
    .theme-related .m-block-list_title:before {
        right: -40px;
        width: 20px;
        height: 2px;
    }
    .m-block-list_title:after {
        position: absolute;
        top: 50%;
        right: -48px;
        width: 20px;
        height: 20px;
        margin-top: -11px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
    }
    .theme-related .m-block-list_title:after {
        right: -39px;
        width: 15px;
        height: 15px;
        margin-top: -8px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }
}


/* Block list
   ========================================================================== */

@media (min-width: 769px) {
    .m-column {
        overflow: hidden;
        margin-top: 20px;
    }
    .m-column>.m-column_block {
        float: left;
        position: relative;
        overflow: hidden;
        width: -webkit-calc(50% - 10px);
        width: calc(50% - 10px);
        margin: 20px 0 0 20px;
    }
    .m-column>.m-column_block:nth-child(odd) {
        clear: left;
        margin-left: 0;
    }
    .m-column>.m-column_block:nth-child(-n+2) {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .m-column {
        margin-top: 20px;
    }
    .m-column>.m-column_block {
        margin-top: 20px;
    }
    .m-column>.m-column_block>a {
        display: block;
    }
}


/* Narrow down
   ========================================================================== */

@media (min-width: 769px) {
    .m-narrow-down>.m-narrow-down_items {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow: hidden;
        margin-top: 20px;
        margin-left: -20px;
    }
    .m-narrow-down>.m-narrow-down_items>li {
        position: relative;
        overflow: hidden;
        width: -webkit-calc(33.33%);
        width: calc(33.33%);
        padding: 20px 0 0 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .m-narrow-down>.m-narrow-down_items>li a {
        display: block;
        color: #fff;
        text-decoration: none;
    }
    .m-narrow-down>.m-narrow-down_items>li a img {
        -webkit-transition: all 1s ease-in-out;
        transition: all 1s ease-in-out;
    }
    .m-narrow-down>.m-narrow-down_items>li a:hover p:not([class]) {
        color: #08107b;
        text-decoration: underline;
    }
    .m-narrow-down>.m-narrow-down_items>li a:hover img {
        -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
        transform: scale(1.05);
    }
    .m-narrow-down>.m-narrow-down_items>li a .m-media_body {
        color: #000;
    }
}

@media (max-width: 768px) {
    .m-narrow-down {
        margin-top: 20px;
    }
    .m-narrow-down>.m-narrow-down_items>li {
        margin-top: 20px;
    }
    .m-narrow-down>.m-narrow-down_items>li>a {
        display: block;
    }
}

@media (min-width: 769px) {
    .m-narrow-down_list_title {
        display: inline-block;
        margin-right: 10px;
        padding: 5px 10px;
        background: #08107b;
        color: #fff;
        font-size: 1.8rem;
        font-weight: bold;
    }
}

@media (max-width: 768px) {
    .m-narrow-down_list_title {
        display: block;
        margin-bottom: 8px;
        font-size: 1.4rem;
    }
}

.m-narrow-down_list {
    margin-top: 90px;
}

.m-narrow-down_list>ul {
    display: inline-block;
}

@media (max-width: 768px) {
    .m-narrow-down_list>ul {
        display: none;
    }
}

.m-narrow-down_list>ul>li {
    display: inline-block;
    margin: 0 10px;
    font-size: 1.8rem;
}

@media (max-width: 768px) {
    .m-narrow-down_list>ul>li {
        margin: 0 5px;
        font-size: 1.2rem;
    }
}

.m-narrow-down_list>ul>li button {
    padding: 0;
    border: none;
    background: none;
    color: #08107b;
    font-size: 1em;
}

.m-narrow-down_list>ul>li button:hover {
    text-decoration: underline;
}

.m-narrow-down_list .m-narrow-down_select {
    position: relative;
}

.m-narrow-down_list .m-narrow-down_select:after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    content: "";
}

@media (min-width: 769px) {
    .m-narrow-down_list .m-narrow-down_select {
        display: none;
    }
}

.m-narrow-down_list .m-narrow-down_select>select {
    width: 100%;
    padding: 10px 40px 10px 10px;
    font-size: 1.6rem;
    border: 1px solid #ccc;
    border-radius: 3px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


/* Agreement modal
   ========================================================================== */

.agreement-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100vw;
    height: 100vh;
}

.agreement-modal:before {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100vw;
    height: 100vh;
    background: #000;
    opacity: .5;
    content: "";
}

.agreement-modal .agreement-modal_inner {
    overflow-y: scroll;
    z-index: 100;
    width: 1000px;
    max-width: 100%;
    padding: 100px 50px;
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    .agreement-modal .agreement-modal_inner {
        position: absolute;
        top: 50%;
        left: 50%;
        max-height: 95vh;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
}

@media (max-width: 768px) {
    .agreement-modal .agreement-modal_inner {
        position: relative;
        height: 100%;
        padding: 50px 20px 20vh;
    }
}

.js-window-fixed .agreement-modal {
    display: block;
}


/* Agreement form
   ========================================================================== */

.agreement-form>ul {
    margin-top: 20px;
}

@media (min-width: 769px) {
    .agreement-form>ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media (min-width: 769px) {
    .agreement-form>ul>li {
        width: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .agreement-form>ul>li:nth-child(odd) {
        padding-right: 20px;
    }
    .agreement-form>ul>li:nth-child(even) {
        padding-left: 20px;
    }
}

@media (max-width: 768px) {
    .agreement-form>ul>li {
        margin-top: 20px;
        width: 100%;
    }
    .agreement-form>ul>li:first-child {
        margin-top: 0;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .agreement-form>ul>li {
        margin-top: 20px;
    }
}

.agreement-form_radio-list {
    margin-top: 20px;
}

.agreement-form_radio-list:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .agreement-form_radio-list {
        margin-top: 20px;
    }
}

.agreement-form_radio-list>li {
    margin-top: 10px;
}

.agreement-form_radio-list>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .agreement-form_radio-list>li {
        margin-top: 10px;
    }
}

.agreement-form_radio-list>li input[type=radio] {
    margin-right: 5px;
    border-radius: 50%;
    -webkit-appearance: radio;
    -moz-appearance: auto;
    appearance: auto;
}

.agreement-form_select {
    width: 100%;
    margin-top: 6px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    background: #fff;
}

.agreement-form_country {
    position: relative;
}

@media (max-width: 768px) {
    .agreement-form_country {
        padding-top: 30px;
    }
}

.agreement-form_country:before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 20px;
    height: 20px;
    border-top: 3px solid #9e9e9e;
    border-right: 3px solid #9e9e9e;
    -webkit-transform: rotate(135deg) translate(0, 100%) skew(-webkit-calc(20deg), -webkit-calc(20deg));
    -ms-transform: rotate(135deg) translate(0, 100%) skew(calc(20deg), calc(20deg));
    transform: rotate(135deg) translate(0, 100%) skew(calc(20deg), calc(20deg));
    -webkit-transition: all .2s;
    transition: all .2s;
    content: "";
}

@media (min-width: 769px) {
    .agreement-form_country:before {
        top: 50%;
        left: 0;
        width: 30px;
        height: 30px;
        -webkit-transform: rotate(45deg) translate(-125%, 25%) skew(10deg, 10deg);
        -ms-transform: rotate(45deg) translate(-125%, 25%) skew(10deg, 10deg);
        transform: rotate(45deg) translate(-125%, 25%) skew(10deg, 10deg);
    }
}

.js-first-agreement_country,
.js-country-emea,
.js-country-apac,
.js-country-ncsa {
    display: none;
    -webkit-transition: all .3s;
    transition: all .3s;
}

body.js-window-fixed {
    height: 100vh;
    overflow: hidden;
}


/* Modal slider
   ========================================================================== */

.js-modal-slider_window {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.js-modal-slider_window li {
    border: none;
}

.js-modal-slider_window li img {
    display: block;
    margin: 0 auto;
    border: none;
}

.js-modal-slider_wrapper {
    position: absolute;
    top: 55%;
    left: 50%;
    z-index: 2;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 0;
}

@media (min-width: 769px) {
    .js-modal-slider_wrapper {
        max-width: 1000px;
    }
}

@media (max-width: 768px) {
    .js-modal-slider_wrapper {
        top: 50%;
        max-width: 100%;
    }
}

.js-modal-slider_close {
    overflow: hidden;
    position: absolute;
    right: 0;
    z-index: 3;
    width: 20px;
    height: 20px;
    color: #fff;
    text-indent: 200%;
}

@media (min-width: 769px) {
    .js-modal-slider_close:hover {
        cursor: pointer;
    }
}

@media (max-width: 768px) {
    .js-modal-slider_close {
        right: 15px;
    }
}

.js-modal-slider_close:before,
.js-modal-slider_close:after {
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
    height: 2px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
}

.js-modal-slider_close:after {
    left: auto;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}


/* Overlay block
   ========================================================================== */

.overlay-block {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100vw;
    height: 100vh;
    background: #000;
    opacity: .75;
}


/* Carousel
   ========================================================================== */

.m-carousel {
    position: relative;
}

.js-modal-slider .m-carousel {
    padding-top: 30px;
}

@media (max-width: 768px) {
    .js-modal-slider .m-carousel {
        max-width: -webkit-calc(100% - 20px);
        max-width: calc(100% - 20px);
        margin: 0 auto;
    }
}

.m-carousel button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.slide-dots {
    margin-top: 10px;
    text-align: center;
}

.slide-dots li {
    display: inline-block;
    overflow: hidden;
    height: 10px;
    width: 10px;
    margin: 0 8px;
}

.slide-dots li button {
    position: relative;
    text-indent: 200%;
    line-height: 1;
    vertical-align: top;
    font-size: 10px;
    width: 10px;
    height: 10px;
}

.slide-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    background: #b3b3b3;
    text-indent: 200%;
    content: '';
}

.slide-dots li.slick-active button:before {
    background: #e9b125;
}

.prev-arrow,
.next-arrow {
    position: absolute;
    left: -25px;
    top: 50%;
    z-index: 3;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 13px;
    height: 26px;
}

@media (min-width: 769px) {
    .prev-arrow:hover,
    .next-arrow:hover {
        cursor: pointer;
    }
}

@media (max-width: 768px) {
    .prev-arrow,
    .next-arrow {
        left: 6px;
    }
}

.next-arrow {
    left: inherit;
    right: -25px;
}

@media (max-width: 768px) {
    .next-arrow {
        right: 6px;
    }
}


/* ==========================================================================
   Block module
   ========================================================================== */


/* Box
   ========================================================================== */

.m-box {
    margin-top: 100px;
    overflow: hidden;
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
    padding: 50px;
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.m-box:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-box {
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    .m-box {
        padding: 25px 19px;
    }
}

.m-box section,
.m-box .section {
    margin-top: 40px;
}

@media (max-width: 768px) {
    .m-box section,
    .m-box .section {
        margin-top: 20px;
    }
}

.m-box section:first-child,
.m-box .section:first-child {
    margin-top: 0;
}

.m-box.opt-radius-gray {
    padding: 30px 30px 35px;
    background: #eaeaea;
    border-radius: 8px;
}

@media (max-width: 768px) {
    .m-box.opt-radius-gray {
        border-radius: 4px;
    }
}

.m-box.opt-radius-gray .m-box_title,
.m-box.opt-radius-gray .m-box_sub-title {
    font-size: 2.2rem;
}

@media (max-width: 768px) {
    .m-box.opt-radius-gray .m-box_title,
    .m-box.opt-radius-gray .m-box_sub-title {
        font-size: 1.5rem;
    }
}

.m-box.opt-radius-gray .m-box_title:before,
.m-box.opt-radius-gray .m-box_sub-title:before {
    content: none;
}

.m-box .m-box {
    margin-top: 20px;
}

.m-box .m-box:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-box .m-box {
        margin-top: 20px;
    }
}

.m-box .m-media {
    margin-top: 10px;
}

.m-box .m-media:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-box .m-media {
        margin-top: 10px;
    }
}

h1.m-box_title,
h2.m-box_title,
h3.m-box_title,
h4.m-box_title,
h5.m-box_title,
h6.m-box_title {
    position: relative;
    color: #000;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    vertical-align: middle;
}

@media (max-width: 768px) {
    h1.m-box_title,
    h2.m-box_title,
    h3.m-box_title,
    h4.m-box_title,
    h5.m-box_title,
    h6.m-box_title {
        font-size: 1.6rem;
    }
}

h1.m-box_title:before,
h2.m-box_title:before,
h3.m-box_title:before,
h4.m-box_title:before,
h5.m-box_title:before,
h6.m-box_title:before {
    position: absolute;
    top: .7rem;
    left: -62px;
    width: 24px;
    height: 24px;
    background: #c02;
    border-radius: 50%;
    content: "";
}

@media (max-width: 768px) {
    h1.m-box_title:before,
    h2.m-box_title:before,
    h3.m-box_title:before,
    h4.m-box_title:before,
    h5.m-box_title:before,
    h6.m-box_title:before {
        top: .6rem;
        left: -25px;
        width: 12px;
        height: 12px;
    }
}

h1.m-box_sub-title,
h2.m-box_sub-title,
h3.m-box_sub-title,
h4.m-box_sub-title,
h5.m-box_sub-title,
h6.m-box_sub-title {
    color: #000;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.5;
    vertical-align: middle;
}

@media (max-width: 768px) {
    h1.m-box_sub-title,
    h2.m-box_sub-title,
    h3.m-box_sub-title,
    h4.m-box_sub-title,
    h5.m-box_sub-title,
    h6.m-box_sub-title {
        font-size: 1.3rem;
    }
}

h1.m-box_time-title,
h2.m-box_time-title,
h3.m-box_time-title,
h4.m-box_time-title,
h5.m-box_time-title,
h6.m-box_time-title {
    position: relative;
    padding-bottom: 12px;
    border-bottom: 4px solid #e3e3e3;
    color: #000;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.5;
    vertical-align: middle;
}

@media (max-width: 768px) {
    h1.m-box_time-title,
    h2.m-box_time-title,
    h3.m-box_time-title,
    h4.m-box_time-title,
    h5.m-box_time-title,
    h6.m-box_time-title {
        padding-bottom: 10px;
        border-bottom: 2px solid #e3e3e3;
        font-size: 1.3rem;
    }
}

h1.m-box_time-title:before,
h2.m-box_time-title:before,
h3.m-box_time-title:before,
h4.m-box_time-title:before,
h5.m-box_time-title:before,
h6.m-box_time-title:before {
    position: absolute;
    bottom: -4px;
    left: 0;
    display: block;
    width: 20px;
    height: 4px;
    background: #c02;
    content: "";
}

@media (max-width: 768px) {
    h1.m-box_time-title:before,
    h2.m-box_time-title:before,
    h3.m-box_time-title:before,
    h4.m-box_time-title:before,
    h5.m-box_time-title:before,
    h6.m-box_time-title:before {
        bottom: -2px;
        width: 10px;
        height: 2px;
    }
}

h1.m-box_time-title>em,
h2.m-box_time-title>em,
h3.m-box_time-title>em,
h4.m-box_time-title>em,
h5.m-box_time-title>em,
h6.m-box_time-title>em {
    position: relative;
    padding-left: 55px;
    color: #c02;
    margin-right: 15px;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.3;
    vertical-align: middle;
}

@media (max-width: 768px) {
    h1.m-box_time-title>em,
    h2.m-box_time-title>em,
    h3.m-box_time-title>em,
    h4.m-box_time-title>em,
    h5.m-box_time-title>em,
    h6.m-box_time-title>em {
        margin-right: 8px;
        padding-left: 30px;
        font-size: 1.7rem;
    }
}

h1.m-box_time-title>em:before,
h2.m-box_time-title>em:before,
h3.m-box_time-title>em:before,
h4.m-box_time-title>em:before,
h5.m-box_time-title>em:before,
h6.m-box_time-title>em:before {
    display: block;
    position: absolute;
    left: 0;
    width: 39px;
    height: 39px;
    background: url(/common/img/parts/box_bg_time.png) no-repeat 0 center;
    background-size: 39px auto;
    content: "";
}

@media (max-width: 768px) {
    h1.m-box_time-title>em:before,
    h2.m-box_time-title>em:before,
    h3.m-box_time-title>em:before,
    h4.m-box_time-title>em:before,
    h5.m-box_time-title>em:before,
    h6.m-box_time-title>em:before {
        width: 23px;
        height: 23px;
        background-size: 23px auto;
    }
}

.m-box_form-icon {
    display: inline-block;
    position: relative;
    margin: 0 0 .5rem 10px;
    padding: 2px 9px;
    border-radius: 20px;
    background: #b7b7b7;
    color: #000;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1;
    vertical-align: middle;
}

@media (max-width: 768px) {
    .m-box_form-icon {
        margin: 0 0 .4rem 5px;
        padding: 1px 5px;
        font-size: 1rem;
    }
}

.m-box_form-icon.is-required {
    background: #c02;
    color: #fff;
}


/* m-carousel
  ========================================================================== */

.m-carousel.theme-default-sp,
.m-carousel.theme-default {
    overflow: visible;
    padding-bottom: 70px;
    padding-top: 30px;
}

.m-carousel.theme-default-sp .m-carousel_button-next,
.m-carousel.theme-default .m-carousel_button-next,
.m-carousel.theme-default-sp .m-carousel_button-prev,
.m-carousel.theme-default .m-carousel_button-prev {
    background: url(/common/img/parts/button_bg_arrow-red_on.png) no-repeat 0 0;
    background-size: 100%;
    height: 28px;
    width: 37px;
    bottom: 0;
    top: auto;
}

.m-carousel.theme-default-sp .swiper-button-next.swiper-button-disabled,
.m-carousel.theme-default .swiper-button-next.swiper-button-disabled,
.m-carousel.theme-default-sp .swiper-button-prev.swiper-button-disabled,
.m-carousel.theme-default .swiper-button-prev.swiper-button-disabled {
    background-image: url(/common/img/parts/button_bg_arrow_on.png);
    opacity: 0.2;
}

.m-carousel.theme-default-sp .m-carousel_button-prev,
.m-carousel.theme-default .m-carousel_button-prev {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

@media (max-width: 768px) {
    .m-carousel.theme-default-sp,
    .m-carousel.theme-default {
        margin-left: -20px;
        margin-right: -20px;
        padding-bottom: 32px;
        padding-top: 14px;
    }
    .m-carousel.theme-default-sp .swiper-slide:not(.swiper-slide-active),
    .m-carousel.theme-default .swiper-slide:not(.swiper-slide-active) {
        opacity: 0.5;
    }
    .m-carousel.theme-default-sp .swiper-slide:not(.swiper-slide-active) a,
    .m-carousel.theme-default .swiper-slide:not(.swiper-slide-active) a {
        -webkit-box-shadow: none;
        box-shadow: none;
    }
    .m-carousel.theme-default-sp .m-carousel_button-next,
    .m-carousel.theme-default .m-carousel_button-next,
    .m-carousel.theme-default-sp .m-carousel_button-prev,
    .m-carousel.theme-default .m-carousel_button-prev {
        height: 14px;
        width: 18px;
    }
}

@media (min-width: 769px) {
    .m-carousel.theme-default-sp {
        margin-right: -25px;
    }
    .m-carousel.theme-default-sp>.swiper-wrapper {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .m-carousel.theme-default-sp>.swiper-wrapper>.m-carousel_box {
        margin-top: 20px;
    }
    .m-carousel.theme-default-sp>.swiper-wrapper>.m-carousel_box:nth-child(-n+3) {
        margin-top: 0;
    }
}

.swiper-container-horizontal>.swiper-pagination-bullets {
    bottom: 7px;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    background: #c02;
    height: 12px;
    margin: 2px 4px;
    opacity: 1;
    width: 12px;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fff;
    -webkit-box-shadow: 0 0 0 2px #c02, 0 0 0 1px #c02 inset;
    box-shadow: 0 0 0 2px #c02, 0 0 0 1px #c02 inset;
}

@media (max-width: 768px) {
    .swiper-container-horizontal>.swiper-pagination-bullets {
        height: 14px;
        bottom: 3px;
    }
    .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        height: 8px;
        width: 8px;
    }
}


/* Job offer
  ========================================================================== */

.m-job-offer {
    margin-top: 50px;
}

@media (max-width: 768px) {
    .m-job-offer {
        margin-top: 20px;
    }
}

.m-job-offer>ul {
    zoom: 1;
    width: 1160px;
}

.m-job-offer>ul:before,
.m-job-offer>ul:after {
    content: '';
    display: table;
}

.m-job-offer>ul:after {
    clear: both;
}

.m-job-offer>ul>li {
    float: left;
    width: 364px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-job-offer>ul>li {
        width: 240px;
    }
}

.m-job-offer>ul>li>a {
    position: relative;
    display: block;
    overflow: hidden;
    background: #fff;
    border-radius: 6px;
    text-decoration: none;
    -webkit-box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
    box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
}

.m-job-offer>ul>li>a:before {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    border: 0 solid #c02;
    border-radius: 6px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

@media (min-width: 769px) {
    .m-job-offer>ul>li>a:hover {
        -webkit-box-shadow: none;
        box-shadow: none;
    }
    .m-job-offer>ul>li>a:hover:before {
        border: 4px solid #c02;
    }
}

.m-job-offer>ul .is-new {
    position: relative;
    z-index: 1;
}

.m-job-offer>ul .is-new:before {
    position: absolute;
    top: -30px;
    left: 20px;
    z-index: 2;
    width: 60px;
    height: 60px;
    background: url(/common/img/parts/job-offer_img_new.png) no-repeat 0 0;
    background-size: 100%;
    content: "";
}

@media (max-width: 768px) {
    .m-job-offer>ul .is-new:before {
        top: -14px;
        left: 15px;
        width: 35px;
        height: 35px;
    }
}

.m-job-offer.theme-columns>ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 100%;
}

.m-job-offer.theme-columns>ul>li {
    float: none;
    width: -webkit-calc(25% - 15px);
    width: calc(25% - 15px);
    margin: 15px 0 0 15px;
}

@media (max-width: 768px) {
    .m-job-offer.theme-columns>ul>li {
        width: -webkit-calc(50% - 10px);
        width: calc(50% - 10px);
        margin: 10px 0 0 10px;
    }
}

@media (min-width: 769px) {
    .m-job-offer.theme-columns>ul>li:nth-child(-n+4) {
        margin-top: 0;
    }
    .m-job-offer.theme-columns>ul>li:nth-child(4n+1) {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .m-job-offer.theme-columns>ul>li:nth-child(-n+2) {
        margin-top: 0;
    }
    .m-job-offer.theme-columns>ul>li:nth-child(odd) {
        margin-left: 0;
    }
}

.m-job-offer_img {
    text-align: center;
}

.m-job-offer_img img {
    max-width: 100%;
}

.m-job-offer_info {
    padding: 25px 40px 22px;
    color: #000;
}

@media (max-width: 768px) {
    .m-job-offer_info {
        padding: 17px 20px 10px;
    }
}

.m-job-offer_info .m-job-label+p {
    margin-top: 10px;
}

@media (max-width: 768px) {
    .m-job-offer_info .m-job-label+p {
        margin-top: 5px;
    }
}

.theme-columns .m-job-offer_info {
    position: relative;
    padding: 20px 18px 20px 20px;
    font-weight: 900;
}

@media (max-width: 768px) {
    .theme-columns .m-job-offer_info {
        padding: 15px 10px 15px 15px;
    }
}

.theme-columns .m-job-offer_info:before {
    position: absolute;
    top: 2.5rem;
    left: -9px;
    width: 18px;
    height: 18px;
    background: #c02;
    border-radius: 50%;
    content: "";
}

@media (max-width: 768px) {
    .theme-columns .m-job-offer_info:before {
        top: 2rem;
        left: -6px;
        width: 12px;
        height: 12px;
    }
}

.m-job-offer_place {
    position: relative;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 4px solid #e3e3e3;
    font-size: 1.4rem;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .m-job-offer_place {
        margin-top: 15px;
        padding-top: 10px;
        border-top: 2px solid #e3e3e3;
    }
}

.m-job-offer_place:before {
    position: absolute;
    top: -4px;
    left: 0;
    width: 20px;
    height: 4px;
    background: #c02;
    content: "";
}

@media (max-width: 768px) {
    .m-job-offer_place:before {
        top: -2px;
        width: 10px;
        height: 2px;
    }
}


/* Job list
  ========================================================================== */

.m-job-list {
    margin-top: 50px;
}

@media (max-width: 768px) {
    .m-job-list {
        margin-top: 20px;
    }
}

.m-job-list>ul {
    zoom: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 100%;
}

.m-job-list>ul:before,
.m-job-list>ul:after {
    content: '';
    display: table;
}

.m-job-list>ul:after {
    clear: both;
}

.m-job-list>ul>li {
    width: -webkit-calc(25% - 15px);
    width: calc(25% - 15px);
    margin: 15px 0 0 15px;
}

@media (max-width: 768px) {
    .m-job-list>ul>li {
        width: -webkit-calc(50% - 10px);
        width: calc(50% - 10px);
        margin: 10px 0 0 10px;
    }
}

@media (min-width: 769px) {
    .m-job-list>ul>li:nth-child(-n+4) {
        margin-top: 0;
    }
    .m-job-list>ul>li:nth-child(4n+1) {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .m-job-list>ul>li:nth-child(-n+2) {
        margin-top: 0;
    }
    .m-job-list>ul>li:nth-child(odd) {
        margin-left: 0;
    }
}

.m-job-list>ul>li>a {
    position: relative;
    display: block;
    overflow: hidden;
    background: #fff;
    border-radius: 4px;
    text-decoration: none;
    -webkit-box-shadow: 0 0 30px 0 rgba(14, 11, 11, 0.15);
    box-shadow: 0 0 30px 0 rgba(14, 11, 11, 0.15);
}

.m-job-list>ul>li>a:before {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    border: 0 solid #c02;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

@media (min-width: 769px) {
    .m-job-list>ul>li>a:hover {
        -webkit-box-shadow: none;
        box-shadow: none;
    }
    .m-job-list>ul>li>a:hover:before {
        border: 4px solid #c02;
    }
}

.m-job-list_img {
    padding: 15px 10px 5px;
    text-align: center;
}

.m-job-list_img img {
    max-width: 100%;
}

.m-job-list_info {
    position: relative;
    padding: 10px;
    color: #000;
    font-size: .8em;
    font-weight: 900;
    line-height: 1.5;
}

.m-job-list_info:before {
    position: absolute;
    top: 1.6rem;
    left: -5px;
    width: 10px;
    height: 10px;
    background: #c02;
    border-radius: 50%;
    content: "";
}


/* Search list
  ========================================================================== */

.m-search-list {
    margin-top: 30px;
}

.m-search-list.m-carousel>ul>li {
    margin-right: 0;
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-search-list.m-carousel>ul>li {
        width: 240px;
        margin-top: 0;
    }
}

@media (min-width: 769px) {
    .m-search-list.m-carousel.theme-default-sp>ul>li {
        margin-right: 23px;
        width: 364px !important;
    }
}

@media (max-width: 768px) {
    .m-search-list.m-carousel.theme-default-sp>ul>li {
        width: 240px !important;
    }
}

@media (max-width: 768px) {
    .m-search-list {
        margin-top: 20px;
    }
}

.m-search-list:first-child {
    margin-top: 0;
}

.m-search-list>ul {
    zoom: 1;
}

.m-search-list>ul:before,
.m-search-list>ul:after {
    content: '';
    display: table;
}

.m-search-list>ul:after {
    clear: both;
}

@media (min-width: 769px) {
    .m-search-list>ul {
        margin-right: -22px;
    }
}

.m-search-list>ul>li {
    float: left;
    width: 364px;
    margin-right: 22px;
    margin-top: 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    .m-search-list>ul>li:nth-child(-n+3) {
        margin-top: 0;
    }
    .m-search-list>ul>li:nth-child(3n+1) {
        clear: left;
    }
}

@media (max-width: 768px) {
    .m-search-list>ul>li {
        width: 100%;
        margin-top: 15px;
        margin-right: 0;
    }
    .m-search-list>ul>li:first-child {
        margin-top: 0;
    }
}

.m-search-list>ul .is-new {
    position: relative;
    z-index: 1;
}

.m-search-list>ul .is-new:before {
    position: absolute;
    top: -30px;
    left: 20px;
    z-index: 2;
    width: 60px;
    height: 60px;
    background: url(/common/img/parts/job-offer_img_new.png) no-repeat 0 0;
    background-size: 100%;
    content: "";
}

@media (max-width: 768px) {
    .m-search-list>ul .is-new:before {
        top: -14px;
        left: 15px;
        width: 35px;
        height: 35px;
    }
}

.m-search-list .m-search-list_btn {
    background: url(/common/img/parts/button_bg_arrow-red_on.png) no-repeat 100% 50%;
    background-size: 22px;
    color: #000;
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 30px;
    padding: 2px 35px 2px 0;
    text-align: right;
    text-decoration: none;
}

@media (max-width: 768px) {
    .m-search-list .m-search-list_btn {
        background-size: 16px;
        font-size: 1.3rem;
        padding-right: 24px;
    }
}

.m-search-list.theme-link-list>ul {
    display: table;
    margin: 0 auto;
}

.m-search-list.theme-link-list>ul>li:last-child {
    margin-right: 0;
}

.m-search-list_item {
    position: relative;
    display: block;
    overflow: hidden;
    background: #fff;
    border-radius: 9px;
    text-decoration: none;
    -webkit-box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
    box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
}

.m-search-list_item>a {
    color: #000;
    display: block;
    text-decoration: none;
    position: relative;
}

.m-search-list_item>a:before {
    border: 0 solid #c02;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

@media (min-width: 769px) {
    .m-search-list_item>a:hover:before {
        border: 4px solid #c02;
        border-radius: 9px;
    }
}

.m-search-list_item .is-coming-soon {
    display: block;
    opacity: .9;
}

.m-search-list_img {
    margin-top: 0;
}

.m-search-list_place {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 182px;
    padding: 4px 13px;
    border-radius: 0 0 9px 0;
    background: #fff;
    font-size: 1.4rem;
    line-height: 1.2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-search-list_place {
        padding: 4px 10px;
        font-size: 1.2rem;
    }
}

.m-search-list_info {
    padding: 25px 30px;
}

@media (max-width: 768px) {
    .m-search-list_info {
        padding: 20px;
    }
}

.m-search-list_title {
    position: relative;
    color: #000;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .m-search-list_title {
        font-size: 1.6rem;
        line-height: 1.4;
    }
}

.m-search-list_title>span {
    display: block;
    font-size: 1.6rem;
}

@media (max-width: 768px) {
    .m-search-list_title>span {
        font-size: 1.2rem;
    }
}

.m-job-label+.m-search-list_title {
    margin-top: 15px;
}

.m-search-list_example {
    margin: 10px 0 0 50px;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
}

@media (max-width: 768px) {
    .m-search-list_example {
        font-size: 1.2rem;
    }
}

.m-search-list_example>a {
    display: block;
    padding: 5px 10px;
    background: #e3e3e3;
    border-radius: 5px;
    text-decoration: none;
}

.m-search-list_example>a>span {
    padding-left: 25px;
    background: url(/common/img/parts/search-list_bg01.png) no-repeat 0 center;
    background-size: 18px auto;
}

@media (max-width: 768px) {
    .m-search-list_example>a>span {
        padding-left: 20px;
        background-size: 15px auto;
    }
}

@media (min-width: 769px) {
    .m-search-list_example>a:hover {
        opacity: 0.8;
        -ms-filter: "alpha(opacity=80)";
    }
}

.m-search-list_salary {
    margin-top: 15px;
    padding: 10px 0 10px 15px;
    border-top: 4px solid #e4e4e4;
    border-bottom: 4px solid #e4e4e4;
}

@media (max-width: 768px) {
    .m-search-list_salary {
        padding: 8px 0 8px 5px;
        border-top: 2px solid #e4e4e4;
        border-bottom: 2px solid #e4e4e4;
    }
}

.m-search-list_salary>dl>dt {
    float: left;
    color: #c02;
    font-size: 1.56rem;
    font-weight: 900;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .m-search-list_salary>dl>dt {
        font-size: 1.2rem;
    }
}

.m-search-list_salary>dl>dt+dd {
    margin-top: 0;
}

.m-search-list_salary>dl>dd {
    margin-top: 5px;
    padding-left: 50px;
    font-size: 1.56rem;
    line-height: 1.3;
}

@media (max-width: 768px) {
    .m-search-list_salary>dl>dd {
        padding-left: 40px;
        font-size: 1.2rem;
    }
}

.m-search-list_salary>dl>dd em {
    font-weight: 900;
}

.m-search-list_tag {
    margin-top: 20px;
}

@media (max-width: 768px) {
    .m-search-list_tag {
        margin-top: 15px;
    }
}

.m-search-list_tag>ul {
    zoom: 1;
    margin: -6px -10px 0 0;
}

.m-search-list_tag>ul:before,
.m-search-list_tag>ul:after {
    content: '';
    display: table;
}

.m-search-list_tag>ul:after {
    clear: both;
}

@media (max-width: 768px) {
    .m-search-list_tag>ul {
        margin: -5px -7px 0 0;
    }
}

.m-search-list_tag>ul>li {
    float: left;
    margin: 6px 10px 0 0;
    padding: 3px 10px;
    border: 3px solid #c02;
    border-radius: 20px;
    color: #c02;
    font-size: 1.2rem;
    line-height: 1;
}

@media (max-width: 768px) {
    .m-search-list_tag>ul>li {
        margin: 5px 7px 0 0;
        padding: 1px 6px;
        border: 2px solid #c02;
        font-size: 1.1rem;
    }
}


/* Area list
  ========================================================================== */

.m-area-list {
    margin-top: 20px;
}

.m-area-list:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-area-list {
        margin-top: 20px;
    }
}

.m-area-list>ul {
    overflow: hidden;
    margin-right: -20px;
}

.m-area-list>ul>li {
    float: left;
    width: 25%;
    margin-top: 20px;
    padding-right: 20px;
    text-align: center;
    line-height: 1.3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-area-list>ul>li {
        width: 50%;
        margin-top: 10px;
    }
    .m-area-list>ul>li:nth-child(odd) {
        clear: left;
    }
}

@media (min-width: 769px) {
    .m-area-list>ul>li:nth-child(4n+1) {
        clear: left;
    }
}

.m-area-list>ul>li>a {
    overflow: hidden;
    display: block;
    position: relative;
    padding: 12px 20px 11px;
    border-radius: 50px;
    background: #333;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 768px) {
    .m-area-list>ul>li>a {
        padding: 7px 15px;
    }
}

@media (min-width: 769px) {
    .m-area-list>ul>li>a:hover {
        background: #fff;
        color: #333;
    }
    .m-area-list>ul>li>a:hover:before {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        border: 4px solid #333;
        border-radius: 50px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        content: "";
    }
}


/* Search condition
  ========================================================================== */

.m-search-condition {
    margin-top: 50px;
    border-radius: 6px;
    background: #fff;
    -webkit-box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
    box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
}

.m-search-condition:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-search-condition {
        margin-top: 25px;
    }
}

.m-search-condition_inner {
    overflow: hidden;
    border-radius: 6px;
}

.m-search-condition_info {
    padding: 35px 50px;
}

.m-search-condition_accordion_handle {
    text-align: center;
    line-height: 1.3;
}

@media (max-width: 768px) {
    .m-search-condition_accordion_handle {
        font-size: 1.4rem;
    }
}

.m-search-condition_accordion_handle a {
    position: relative;
    display: block;
    padding: 15px 15px 14px;
    border: 4px solid #333;
    border-radius: 0 0 6px 6px;
    background: #333;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 768px) {
    .m-search-condition_accordion_handle a {
        padding: 10px;
        border: none;
    }
}

.is-expanded .m-search-condition_accordion_handle a {
    border-radius: 0;
}

.m-search-condition_accordion_handle a:after {
    position: absolute;
    top: 50%;
    right: 23px;
    width: 11px;
    height: 11px;
    margin-top: -5px;
    background: url(/common/img/parts/search-condition_bg_plus.png) no-repeat 0 center;
    background-size: 11px auto;
    content: "";
}

@media (max-width: 768px) {
    .m-search-condition_accordion_handle a:after {
        right: 20px;
    }
}

.is-expanded .m-search-condition_accordion_handle a:after {
    background: url(/common/img/parts/search-condition_bg_minus.png) no-repeat 0 center;
    background-size: 11px auto;
}

@media (min-width: 769px) {
    .m-search-condition_accordion_handle a:hover {
        background: #fff;
        color: #333;
    }
    .m-search-condition_accordion_handle a:hover:after {
        background: url(/common/img/parts/search-condition_bg_plus_on.png) no-repeat 0 center;
        background-size: 11px auto;
    }
    .is-expanded .m-search-condition_accordion_handle a:hover:after {
        background: url(/common/img/parts/search-condition_bg_minus_on.png) no-repeat 0 center;
        background-size: 11px auto;
    }
}

.m-search-condition_accordion_content {
    display: none;
}


/* m-pagination
   ========================================================================== */

.m-pagination {
    margin-top: 60px;
    position: relative;
}

@media (max-width: 768px) {
    .m-pagination {
        margin-top: 30px;
    }
}

.m-pagination>ul {
    display: table;
    margin: 0 auto;
    padding: 0 55px;
    text-align: center;
    position: relative;
}

@media (max-width: 768px) {
    .m-pagination>ul {
        padding: 0 25px;
    }
}

.m-pagination>ul>li {
    display: inline-block;
    margin-right: 10px;
}

.m-pagination>ul>li:last-child {
    margin-right: 0;
}

.m-pagination>ul>li>a,
.m-pagination>ul>li>span {
    overflow: hidden;
    display: block;
    width: 48px;
    height: 48px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 3px;
    background: #ccc;
    color: #fff;
    line-height: 48px;
    text-align: center;
    text-decoration: none;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

@media (max-width: 768px) {
    .m-pagination>ul>li>a,
    .m-pagination>ul>li>span {
        width: 30px;
        height: 30px;
        line-height: 30px;
    }
}

@media (min-width: 769px) {
    .m-pagination>ul>li>a:hover,
    .m-pagination>ul>li>span:hover {
        -webkit-box-shadow: 0 0 0 3px #333 inset;
        box-shadow: 0 0 0 3px #333 inset;
    }
}

.m-pagination>ul .is-current a,
.m-pagination>ul .is-current span {
    background-color: #333;
}

.m-pagination>ul .m-pagination_last {
    position: relative;
    padding-left: 1.5em;
}

.m-pagination>ul .m-pagination_last:before {
    position: absolute;
    top: 0;
    left: 0;
    line-height: 48px;
    display: inline;
    vertical-align: middle;
    content: "…";
}

@media (max-width: 768px) {
    .m-pagination>ul .m-pagination_last:before {
        line-height: 30px;
    }
}

.m-pagination_prev,
.m-pagination_next {
    position: absolute;
    top: 0;
    margin: 0;
}

.m-pagination_prev>a,
.m-pagination_next>a,
.m-pagination_prev>span,
.m-pagination_next>span {
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    width: 37px;
    height: 48px;
    border: 0;
    background: url(/common/img/parts/pagination_bg_arrow.png) no-repeat 0 center;
    text-align: left;
}

@media (max-width: 768px) {
    .m-pagination_prev>a,
    .m-pagination_next>a,
    .m-pagination_prev>span,
    .m-pagination_next>span {
        width: 19px;
        height: 28px;
        background-size: 19px auto;
    }
}

@media (min-width: 769px) {
    .m-pagination_prev>a:hover,
    .m-pagination_next>a:hover,
    .m-pagination_prev>span:hover,
    .m-pagination_next>span:hover {
        opacity: 0.4;
        -ms-filter: "alpha(opacity=80)";
    }
}

.m-pagination_prev.is-disabled>a,
.m-pagination_next.is-disabled>a,
.m-pagination_prev.is-disabled>span,
.m-pagination_next.is-disabled>span {
    background: url(/common/img/parts/pagination_bg_arrow-disabled.png) no-repeat 0 center;
}

@media (max-width: 768px) {
    .m-pagination_prev.is-disabled>a,
    .m-pagination_next.is-disabled>a,
    .m-pagination_prev.is-disabled>span,
    .m-pagination_next.is-disabled>span {
        background-size: 14px auto;
    }
}

.m-pagination_prev.is-disabled>a:hover,
.m-pagination_next.is-disabled>a:hover,
.m-pagination_prev.is-disabled>span:hover,
.m-pagination_next.is-disabled>span:hover {
    opacity: 1;
}

.m-pagination_prev {
    left: 0;
}

.m-pagination_prev>a,
.m-pagination_prev>span {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.m-pagination_next {
    right: 0;
}


/* Job label
   ========================================================================== */

.m-job-label {
    margin-top: 20px;
    display: table;
    padding-right: 10px;
    background: #ccc;
    font-size: 1.4rem;
    line-height: 1.3;
}

.m-job-label:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-job-label {
        margin-top: 20px;
    }
}

@media (max-width: 768px) {
    .m-job-label {
        font-size: 1.1rem;
    }
}

.m-job-label>span {
    display: inline-block;
    margin-right: 10px;
    padding: 3px 10px;
    color: #fff;
}

.m-job-label.opt-red>span {
    background: #c02;
}

.m-job-label.opt-green>span {
    background: #44ad5c;
}

.m-job-label.opt-light-green>span {
    background: #7fbe26;
}

.m-job-label.opt-light-blue>span {
    background: #00afbb;
}


/* Job infomation
   ========================================================================== */

.m-job-infomation {
    margin-top: 20px;
}

.m-job-infomation:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-job-infomation {
        margin-top: 20px;
    }
}

.m-job-infomatio_title {
    margin-top: 10px;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.3;
}

@media (max-width: 768px) {
    .m-job-infomatio_title {
        font-size: 2rem;
    }
}

.m-job-infomatio_title>span {
    display: block;
    font-size: 2.2rem;
}

@media (max-width: 768px) {
    .m-job-infomatio_title>span {
        font-size: 1.5rem;
    }
}

.m-job-infomatio_title:first-chil {
    margin-top: 0;
}

.m-job-infomatio_tag {
    margin-top: 20px;
}

@media (max-width: 768px) {
    .m-job-infomatio_tag {
        margin-top: 15px;
    }
}

.m-job-infomatio_tag>ul {
    zoom: 1;
    margin: -6px -10px 0 0;
}

.m-job-infomatio_tag>ul:before,
.m-job-infomatio_tag>ul:after {
    content: '';
    display: table;
}

.m-job-infomatio_tag>ul:after {
    clear: both;
}

@media (max-width: 768px) {
    .m-job-infomatio_tag>ul {
        margin: -5px -7px 0 0;
    }
}

.m-job-infomatio_tag>ul>li {
    float: left;
    margin: 6px 10px 0 0;
    padding: 3px 10px;
    border: 3px solid #c02;
    border-radius: 20px;
    background: #fff;
    color: #c02;
    font-size: 1.2rem;
    line-height: 1.1;
}

@media (max-width: 768px) {
    .m-job-infomatio_tag>ul>li {
        margin: 5px 7px 0 0;
        padding: 1px 6px;
        border: 2px solid #c02;
        font-size: 1.1rem;
    }
}


/* Job condition
   ========================================================================== */

.m-job-condition {
    margin-top: 20px;
}

.m-job-condition:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-job-condition {
        margin-top: 20px;
    }
}

.m-job-condition>ul>li {
    display: table;
    width: 100%;
    padding: 20px 0;
    border-bottom: 4px solid #c3c3c3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-job-condition>ul>li {
        border-bottom: 2px solid #c3c3c3;
    }
}

.m-job-condition p,
.m-job-condition ul,
.m-job-condition dl {
    margin-top: 10px;
}

@media (max-width: 768px) {
    .m-job-condition p,
    .m-job-condition ul,
    .m-job-condition dl {
        margin-top: 5px;
    }
}

.m-job-condition p:first-child,
.m-job-condition ul:first-child,
.m-job-condition dl:first-child {
    margin-top: 0;
}

.m-job-condition_title {
    display: table-cell;
    text-align: center;
    width: 130px;
    color: #c02;
    font-size: 1.4rem;
    font-weight: bold;
    vertical-align: middle;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .m-job-condition_title {
        width: 70px;
        font-size: 1.1rem;
    }
}

.m-job-condition_title>img {
    display: block;
    max-width: 59px;
    height: auto;
    max-height: 59px;
    margin: 0 auto 6px;
}

@media (max-width: 768px) {
    .m-job-condition_title>img {
        max-width: 34px;
        max-height: 34px;
    }
}

.m-job-condition_body {
    display: table-cell;
    vertical-align: middle;
}


/* m-list-table
   ========================================================================== */

.m-list-table>ul>li {
    display: table;
    width: 100%;
    padding: 18px 0 23px;
    border-bottom: 4px solid #c3c3c3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.m-list-table>ul>li:after {
    background: #c02;
    content: "";
    height: 4px;
    width: 29px;
    position: absolute;
    bottom: -4px;
    left: 0;
}

@media (max-width: 768px) {
    .m-list-table>ul>li {
        border-bottom: 2px solid #c3c3c3;
        padding: 14px 0 20px;
    }
    .m-list-table>ul>li:after {
        height: 2px;
        bottom: -2px;
    }
}

.m-list-table p,
.m-list-table ul,
.m-list-table dl {
    margin-top: 10px;
}

.m-list-table p:first-child,
.m-list-table ul:first-child,
.m-list-table dl:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-list-table p,
    .m-list-table ul,
    .m-list-table dl {
        margin-top: 10px;
    }
}

.m-list-table_title {
    display: table-cell;
    font-weight: bold;
    vertical-align: top;
    padding: 0 15px;
    width: 200px;
}

@media (max-width: 768px) {
    .m-list-table_title {
        font-size: 1.4rem;
        padding: 0;
        width: 80px;
    }
}

.m-list-table_title>span {
    display: block;
    margin-top: 5px;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.3;
}

.m-list-table_body {
    display: table-cell;
    vertical-align: middle;
}

.m-list-table_rank {
    background: url(/common/img/parts/table-rank_bg.png) no-repeat 9px 50% #c6922d;
    background-size: 16px;
    border-radius: 30px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.2;
    padding: 3px 12px 4px 28px;
}

@media (max-width: 768px) {
    .m-list-table_rank {
        background-position: 5px 50%;
        background-size: 10px;
        font-size: 1rem;
        padding: 3px 6px 4px 17px;
    }
}


/* m-list-table
   ========================================================================== */

.m-list-table.theme-type03 {
    background: #fff;
    margin-top: 50px;
    padding: 30px 50px 40px;
    position: relative;
}

.m-list-table.theme-type03 .m-list-table_rank {
    position: absolute;
    right: 50px;
    top: 50px;
}

@media (max-width: 768px) {
    .m-list-table.theme-type03 .m-list-table_rank {
        right: 20px;
        top: 13px;
    }
}

@media (max-width: 768px) {
    .m-list-table.theme-type03 {
        margin-top: 30px;
        padding: 15px 20px 25px;
    }
}

.m-list-table.theme-type03>ul>li {
    font-size: 1.6rem;
    padding: 13px 0;
}

.m-list-table.theme-type03>ul>li:after {
    content: none;
}

@media (max-width: 768px) {
    .m-list-table.theme-type03>ul>li {
        font-size: 1.4rem;
        padding: 5px 0;
    }
}

.m-list-table.theme-type03 .m-list-table_title {
    color: #c02;
    padding: 0 15px 0 3px;
    width: 132px;
}

@media (max-width: 768px) {
    .m-list-table.theme-type03 .m-list-table_title {
        padding: 0 10px 0 5px;
        width: 120px;
    }
}

.m-list-table.theme-type03_body {
    display: table-cell;
    vertical-align: middle;
}


/* Maps
   ========================================================================== */

.m-maps {
    margin-top: 20px;
    background: #fff;
}

.m-maps:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-maps {
        margin-top: 20px;
    }
}

.m-maps_google-maps {
    padding: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.m-maps_google-maps iframe {
    max-width: 100%;
}

@media (max-width: 768px) {
    .m-maps_google-maps iframe {
        max-height: 90vh;
    }
}

.m-maps_google-link {
    margin-top: 0;
    padding: 15px;
    text-align: right;
    background: #fff;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .m-maps_google-link {
        padding: 13px 8px;
    }
}

.m-maps_google-link>a {
    display: block;
    position: relative;
    padding-right: 30px;
    color: #000;
    font-size: 1.6rem;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 768px) {
    .m-maps_google-link>a {
        padding-right: 20px;
    }
}

.m-maps_google-link>a:after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 17px;
    margin-top: -10px;
    background: url(/common/img/parts/maps_bg_window.png) no-repeat 0 0;
    background-size: 20px auto;
    content: "";
}

@media (max-width: 768px) {
    .m-maps_google-link>a:after {
        width: 16px;
        height: 14px;
        margin-top: -7px;
        background-size: 16px auto;
    }
}

@media (min-width: 769px) {
    .m-maps_google-link>a:hover {
        text-decoration: underline;
    }
}


/* Related list
   ========================================================================== */

.m-related-list {
    margin-top: 50px;
}

@media (max-width: 768px) {
    .m-related-list {
        margin-top: 23px;
    }
}

.m-related-list:first-child {
    margin-top: 0;
}

.m-related-list>ul {
    zoom: 1;
}

.m-related-list>ul:before,
.m-related-list>ul:after {
    content: '';
    display: table;
}

.m-related-list>ul:after {
    clear: both;
}

.m-related-list>ul>li {
    float: left;
    width: 33.3%;
    margin-top: 25px;
    padding-right: 22px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-related-list>ul>li {
        width: 100%;
        margin-top: 15px;
        padding-right: 0;
    }
    .m-related-list>ul>li:first-child {
        margin-top: 0;
    }
}

@media (min-width: 769px) {
    .m-related-list>ul>li:nth-child(-n+3) {
        margin-top: 0;
    }
    .m-related-list>ul>li:nth-child(3n+1) {
        clear: left;
    }
}

.m-related-list>ul>li>a {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 30px;
    background: #fff;
    border-radius: 6px;
    color: #000;
    text-decoration: none;
    -webkit-box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
    box-shadow: 0 0 38px 0 rgba(14, 11, 11, 0.15);
}

@media (max-width: 768px) {
    .m-related-list>ul>li>a {
        padding: 5px 20px 20px;
    }
}

@media (min-width: 769px) {
    .m-related-list>ul>li>a:before {
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0 solid #c02;
        border-radius: 6px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        content: "";
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease;
    }
    .m-related-list>ul>li>a:hover {
        -webkit-box-shadow: none;
        box-shadow: none;
    }
    .m-related-list>ul>li>a:hover:before {
        border: 4px solid #c02;
    }
}

.m-related-list_title {
    position: relative;
    margin-top: 20px;
    color: #000;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .m-related-list_title {
        margin-top: 15px;
        font-size: 1.5rem;
        line-height: 1.4;
    }
}

.m-related-list_title:before {
    position: absolute;
    top: .7rem;
    left: -39px;
    width: 18px;
    height: 18px;
    background: #c02;
    border-radius: 50%;
    content: "";
}

@media (max-width: 768px) {
    .m-related-list_title:before {
        top: .4rem;
        left: -26px;
        width: 12px;
        height: 12px;
    }
}

.m-related-list_title>span {
    display: block;
    font-size: 1.5rem;
}

@media (max-width: 768px) {
    .m-related-list_title>span {
        font-size: 1.3rem;
    }
}

.m-related-list_place {
    position: relative;
    padding-bottom: 5px;
    border-bottom: 4px solid #e3e3e3;
}

@media (max-width: 768px) {
    .m-related-list_place {
        border-bottom: 2px solid #e3e3e3;
    }
}

.m-related-list_place:before {
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 20px;
    height: 4px;
    background: #c02;
    content: "";
}

@media (max-width: 768px) {
    .m-related-list_place:before {
        bottom: -2px;
        width: 10px;
        height: 2px;
    }
}

.m-related-list_condition {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 4px solid #e3e3e3;
}

@media (max-width: 768px) {
    .m-related-list_condition {
        margin-top: 15px;
        padding-top: 15px;
        border-top: 2px solid #e3e3e3;
    }
}

.m-related-list_condition>dt,
.m-related-list_condition>dd {
    margin-top: 4px;
    font-size: 1.8rem;
    line-height: 1.3;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-related-list_condition>dt,
    .m-related-list_condition>dd {
        font-size: 1.5rem;
    }
}

.m-related-list_condition>dt:first-child,
.m-related-list_condition>dd:first-child {
    margin-top: 0;
}

.m-related-list_condition>dt:first-child+dd,
.m-related-list_condition>dd:first-child+dd {
    margin-top: 0;
}

.m-related-list_condition>dt {
    width: 60px;
    color: #c02;
    font-weight: 900;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-related-list_condition>dt {
        width: 50px;
    }
}

.m-related-list_condition>dd {
    width: -webkit-calc(100% - 60px);
    width: calc(100% - 60px);
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    overflow: hidden;
}

@media (max-width: 768px) {
    .m-related-list_condition>dd {
        width: -webkit-calc(100% - 50px);
        width: calc(100% - 50px);
    }
}

.m-related-list_condition>.m-related-list_condition_note {
    font-size: 1.4rem;
}

@media (max-width: 768px) {
    .m-related-list_condition>.m-related-list_condition_note {
        font-size: 1.3rem;
    }
}


/* Special list
   ========================================================================== */

.m-special-list>ul {
    display: table;
    margin: 0 auto;
    margin-top: 20px;
}

.m-special-list>ul:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-special-list>ul {
        margin-top: 20px;
    }
}

.m-special-list>ul>li {
    margin-top: 10px;
}

.m-special-list>ul>li:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-special-list>ul>li {
        margin-top: 10px;
    }
}


/* Schedule
   ========================================================================== */

.m-schedule {
    margin-top: 10px;
    overflow: hidden;
    zoom: 1;
}

.m-schedule:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-schedule {
        margin-top: 10px;
    }
}

@media (min-width: 769px) {
    .m-schedule .m-schedule_col {
        float: left;
        width: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .m-schedule .m-schedule_col:nth-child(odd) {
        padding-right: 20px;
    }
    .m-schedule .m-schedule_col:nth-child(even) {
        padding-left: 20px;
    }
}

@media (max-width: 768px) {
    .m-schedule .m-schedule_col {
        margin-top: 10px;
    }
}

.m-schedule_week {
    padding: 17px 0;
    border-top: 4px solid #e3e3e3;
    border-bottom: 4px solid #e3e3e3;
}

@media (max-width: 768px) {
    .m-schedule_week {
        padding: 10px 0;
        border-top: 2px solid #e3e3e3;
        border-bottom: 2px solid #e3e3e3;
    }
}

.m-schedule_week>ul {
    display: table;
    width: 100%;
}

.m-schedule_week>ul>li {
    display: table-cell;
    padding: 0 8px;
    text-align: center;
}

@media (max-width: 768px) {
    .m-schedule_week>ul>li {
        padding: 0 4px;
        font-size: 1.3rem;
    }
}

.m-schedule_week>ul>li:first-child {
    padding-left: 0;
}

.m-schedule_week>ul>li:last-child {
    padding-right: 0;
}

.m-schedule_week>ul>li em {
    display: block;
}

.m-schedule_time>dt {
    float: left;
    padding-right: 15px;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .m-schedule_time>dt {
        padding-right: 10px;
        font-size: 1.3rem;
    }
}

.m-schedule_time>dd {
    overflow: hidden;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .m-schedule_time>dd {
        font-size: 1.3rem;
    }
}


/* welfare
   ========================================================================== */

.m-welfare {
    margin-top: 50px;
}

@media (max-width: 768px) {
    .m-welfare {
        margin-top: 23px;
    }
}

.m-welfare:first-child {
    margin-top: 0;
}

.m-welfare>ul {
    zoom: 1;
}

.m-welfare>ul:before,
.m-welfare>ul:after {
    content: '';
    display: table;
}

.m-welfare>ul:after {
    clear: both;
}

.m-welfare>ul>li {
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    margin-right: 2%;
    margin-top: 2%;
    padding: 30px;
    width: 32%;
}

@media (max-width: 768px) {
    .m-welfare>ul>li {
        width: 100%;
        margin-top: 15px;
        margin-right: 0;
        padding: 15px 20px;
    }
    .m-welfare>ul>li:first-child {
        margin-top: 0;
    }
}

@media (min-width: 769px) {
    .m-welfare>ul>li:nth-child(-n+3) {
        margin-top: 0;
    }
    .m-welfare>ul>li:nth-child(3n) {
        margin-right: 0;
    }
    .m-welfare>ul>li:nth-child(3n+1) {
        clear: left;
    }
}

.m-welfare_title {
    border-bottom: 4px solid #e3e3e3;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
    padding: 0 0 17px 60px;
    position: relative;
}

@media (max-width: 768px) {
    .m-welfare_title {
        border-bottom: 2px solid #e3e3e3;
        font-size: 1.4rem;
        padding: 4px 0 13px 43px;
    }
}

.m-welfare_title:before {
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 20px;
    height: 4px;
    background: #c02;
    content: "";
}

@media (max-width: 768px) {
    .m-welfare_title:before {
        bottom: -2px;
        width: 10px;
        height: 2px;
    }
}

.m-welfare_title.opt-leisure {
    background: url(/common/img/parts/welfare_bg_leisure.png) no-repeat 3px 0;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-leisure {
        background-position: 0 0;
        background-size: 34px;
    }
}

.m-welfare_title.opt-travel {
    background: url(/common/img/parts/welfare_bg_travel.png) no-repeat 7px 0;
    padding-top: 2px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-travel {
        background-position: 3px 0;
        background-size: 28px;
    }
}

.m-welfare_title.opt-gourmet {
    background: url(/common/img/parts/welfare_bg_gourmet.png) no-repeat 12px 0;
    padding-top: 5px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-gourmet {
        background-position: 7px 0;
        background-size: 20px;
    }
}

.m-welfare_title.opt-lifestyle {
    background: url(/common/img/parts/welfare_bg_lifestyle.png) no-repeat 6px 0;
    padding-top: 6px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-lifestyle {
        background-position: 2px 0;
        background-size: 30px;
    }
}

.m-welfare_title.opt-learn {
    background: url(/common/img/parts/welfare_bg_learn.png) no-repeat 6px 0;
    padding-top: 6px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-learn {
        background-position: 2px 0;
        background-size: auto 30px;
    }
}

.m-welfare_title.opt-heart {
    background: url(/common/img/parts/welfare_bg_heart.png) no-repeat 6px 0;
    padding-top: 6px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-heart {
        background-position: 2px 0;
        background-size: auto 30px;
    }
}

.m-welfare_title.opt-parenting {
    background: url(/common/img/parts/welfare_bg_parenting.png) no-repeat 10px 0;
    padding-top: 6px;
    padding-left: 50px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-parenting {
        background-position: 2px 0;
        background-size: auto 30px;
    }
}

.m-welfare_title.opt-learning {
    background: url(/common/img/parts/welfare_bg_learning.png) no-repeat 6px 0;
    padding-top: 6px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-learning {
        background-position: 2px 0;
        background-size: auto 30px;
    }
}

.m-welfare_title.opt-other {
    background: url(/common/img/parts/welfare_bg_other.png) no-repeat 6px 0;
    padding-top: 6px;
}

@media (max-width: 768px) {
    .m-welfare_title.opt-other {
        background-position: 2px 0;
        background-size: 30px;
    }
}


/* step
   ========================================================================== */

.m-step {
    background: #fff;
    margin-top: 50px;
    padding: 10px 50px 50px;
}

@media (max-width: 768px) {
    .m-step {
        margin-top: 20px;
        padding: 1px 20px 20px;
    }
}

.m-step>ul>li {
    counter-increment: step;
    margin-top: 40px;
}

.m-step>ul>li .m-step_box {
    overflow: hidden;
}

@media (min-width: 769px) {
    .m-step>ul>li .m-step_box {
        margin-top: 20px;
    }
    .m-step>ul>li .m-step_box .m-step_text {
        float: left;
        font-size: 1.6rem;
        width: 45%;
    }
    .m-step>ul>li .m-step_box figure {
        float: right;
    }
}

@media (max-width: 768px) {
    .m-step>ul>li {
        margin-top: 20px;
    }
    .m-step>ul>li .m-step_box {
        margin-top: 5px;
    }
    .m-step>ul>li .m-step_box .m-step_text {
        font-size: 1.2rem;
    }
    .m-step>ul>li .m-step_box figure {
        margin-top: 10px;
    }
}

.m-step_title {
    border-bottom: 4px solid #e3e3e3;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.2;
    padding: 0 0 15px 2px;
    position: relative;
}

@media (max-width: 768px) {
    .m-step_title {
        border-bottom: 2px solid #e3e3e3;
        font-size: 1.4rem;
        padding: 0 0 8px;
    }
}

.m-step_title:before {
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 20px;
    height: 4px;
    background: #c02;
    content: "";
}

@media (max-width: 768px) {
    .m-step_title:before {
        bottom: -2px;
        width: 10px;
        height: 2px;
    }
}

.m-step_title>span {
    display: inline-block;
    max-width: -webkit-calc(100% - 3em);
    max-width: calc(100% - 3em);
    vertical-align: middle;
}

.m-step_title .m-step_count {
    color: #c02;
    font-size: 1.4rem;
    line-height: 1;
    margin-right: 17px;
}

.m-step_title .m-step_count:after {
    content: "0" counter(step);
    display: block;
    font-size: 2.7rem;
    text-align: center;
}

@media (max-width: 768px) {
    .m-step_title .m-step_count {
        font-size: 0.9rem;
        margin-right: 11px;
    }
    .m-step_title .m-step_count:after {
        font-size: 1.7rem;
    }
}


/* News list
   ========================================================================== */

.m-news-list>ul>li {
    margin-top: 5px;
    font-size: 1.6rem;
}

@media (max-width: 768px) {
    .m-news-list>ul>li {
        font-size: 1.3rem;
    }
}

.m-news-list>ul>li:first-child {
    margin-top: 0;
}

.m-news-list>ul>li>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    padding: 22px 60px 22px 33px;
    background: #fff;
    color: #000;
    text-decoration: none;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-news-list>ul>li>a {
        padding: 18px 40px 18px 20px;
    }
}

@media (min-width: 769px) {
    .m-news-list>ul>li>a:before {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        -webkit-transition: .3s ease;
        transition: .3s ease;
        content: "";
    }
    .m-news-list>ul>li>a:hover:before {
        border: 4px solid #c02;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
}

.m-news-list>ul>li>a:after {
    position: absolute;
    top: 50%;
    right: 32px;
    width: 17px;
    height: 13px;
    margin-top: -7px;
    background: url(/common/img/parts/news-list_bg_arrow.png) no-repeat 0 center;
    background-size: 17px auto;
    content: "";
}

@media (max-width: 768px) {
    .m-news-list>ul>li>a:after {
        right: 15px;
        width: 15px;
        height: 11px;
        margin-top: -5px;
        background-size: 15px auto;
    }
}

.m-news-list>ul>li>a[target]:after {
    right: 30px;
    width: 20px;
    height: 17px;
    margin-top: -8px;
    background: url(/common/img/parts/news-list_bg_window.png) no-repeat 0 center;
    background-size: 20px auto;
}

@media (max-width: 768px) {
    .m-news-list>ul>li>a[target]:after {
        right: 14px;
        width: 16px;
        height: 14px;
        margin-top: -7px;
        background-size: 16px auto;
    }
}

.m-news-list>ul>li>a>em {
    padding-right: 15px;
    color: #c02;
    font-size: 1.4rem;
    font-weight: 900;
    vertical-align: baseline;
}

@media (max-width: 768px) {
    .m-news-list>ul>li>a>em {
        padding-right: 10px;
        font-size: 1rem;
    }
}

.m-news-list>ul>li>a>em+span {
    display: block;
    width: 100%;
    margin-top: 10px;
}

@media (max-width: 768px) {
    .m-news-list>ul>li>a>em+span {
        margin-top: 5px;
    }
}

.m-news-list>ul>li>a>em.m-news-list_label {
    min-width: inherit;
    padding: 2px 7px;
    border: 2px solid #032d72;
    color: #032d72;
    font-weight: normal;
    text-align: center;
    line-height: 1.2;
}

.m-news-list>ul>li>a>em.m-news-list_label+.m-news-list_label {
    margin-left: 5px;
}

.m-news-list>ul>li>.m-news-list_no-item {
    position: relative;
    padding: 22px 33px;
    background: #fff;
    color: #000;
    text-align: center;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .m-news-list>ul>li>.m-news-list_no-item {
        padding: 18px 20px;
    }
}

.m-news-list.opt-item-space-far>ul>li {
    margin-top: 5px;
}

.m-news-list.opt-item-space-far>ul>li:first-child {
    margin-top: 0;
}

.m-news-list .has-icon-new>a>em:not([class]):after {
    display: inline-block;
    margin-left: 5px;
    padding: 2px 4px;
    background: #c02;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1;
    content: "NEW";
}

@media (max-width: 768px) {
    .m-news-list .has-icon-new>a>em:not([class]):after {
        padding: 2px 3px;
        font-size: 1rem;
    }
}


/* Accordion
   ========================================================================== */

.m-accordion {
    margin-top: 20px;
}

.m-accordion:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .m-accordion {
        margin-top: 20px;
    }
}

.m-accordion+.m-accordion {
    margin-top: 2px;
}

.m-accordion.is-expanded .m-button>a,
.m-accordion.is-expanded .m-button>span,
.m-accordion.is-expanded .m-button>a:before,
.m-accordion.is-expanded .m-button>span:before {
    border-radius: 6px 6px 0 0;
}

.m-accordion_content {
    overflow: hidden;
}


/* Area search(from toppage)
   ========================================================================== */

.area-search_map {
    position: relative;
    padding: 40px 35px;
    height: 600px;
    background: #ffffff url(/img/area-search_bg_map.png) no-repeat center 68px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.area-search_map .is-none-floationg {
    clear: left;
}

.area-search_map_title {
    color: #c02;
    font-weight: 900;
    line-height: 1.2;
}

.area-search_map_title.is-disabled {
    color: #f0b2bc;
}

.area-search_map_title+ul {
    overflow: hidden;
    margin-top: 10px;
}

.area-search_map_title+ul>li {
    float: left;
    margin: 10px 10px 0 0;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.2;
}

.area-search_map_title+ul>li.is-small {
    font-size: 1.2rem;
}

.area-search_map_title+ul>li.is-small>a,
.area-search_map_title+ul>li.is-small>span {
    padding: 7px 0;
}

.area-search_map_title+ul>li.is-small>a:hover {
    padding: 6px 0;
}

.area-search_map_title+ul>li>a,
.area-search_map_title+ul>li>span {
    display: block;
    width: 70px;
    height: 34px;
    padding: 5px 0;
    color: #000;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-weight: 900;
    text-decoration: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.area-search_map_title+ul>li>a:hover {
    padding: 4px 0;
    border: 2px solid #c71233;
    color: #c71233;
}

.area-search_map_title+ul>li>span {
    color: #bbb;
    border-color: #eee;
    background: #eee;
    font-weight: normal;
}

.area-search_map_hokkaido-tohoku,
.area-search_map_hokuriku-koshinetsu,
.area-search_map_kanto,
.area-search_map_kansai,
.area-search_map_chubu,
.area-search_map_chugoku,
.area-search_map_shikoku,
.area-search_map_kyusyu {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 320px;
}

.area-search_map_hokkaido-tohoku {
    top: 74px;
    left: 616px;
}

.area-search_map_hokkaido-tohoku .area-search_map_title {
    color: #118de3;
}

.area-search_map_hokuriku-koshinetsu {
    top: 40px;
    left: 35px;
}

.area-search_map_hokuriku-koshinetsu .area-search_map_title {
    color: #fc72af;
}

.area-search_map_kanto {
    top: 255px;
    left: 616px;
}

.area-search_map_kanto .area-search_map_title {
    color: #ee8608;
}

.area-search_map_kansai {
    top: 176px;
    left: 35px;
}

.area-search_map_kansai .area-search_map_title {
    color: #9922db;
}

.area-search_map_chubu {
    top: 381px;
    left: 564px;
}

.area-search_map_chubu .area-search_map_title {
    color: #3c52a3;
}

.area-search_map_chugoku {
    top: 311px;
    left: 35px;
}

.area-search_map_chugoku .area-search_map_title {
    color: #1a9d23;
}

.area-search_map_shikoku {
    top: 448px;
    left: 461px;
}

.area-search_map_shikoku .area-search_map_title {
    color: #a3cd50;
}

.area-search_map_kyusyu {
    top: 446px;
    left: 35px;
}

.area-search_map_kyusyu .area-search_map_title {
    color: #fed106;
}

.is-collapsed+.area-search_accordion {
    margin-top: 2px;
}

.area-search_accordion_handle {
    text-align: center;
}

.area-search_accordion_handle>a {
    position: relative;
    display: block;
    padding: 10px 35px;
    background: #333;
    color: #fff;
    text-decoration: none;
}

.area-search_accordion_handle>a:after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 11px;
    height: 11px;
    margin-top: -6px;
    background: url(/img/area-search_bg_plus.png) no-repeat 0 center;
    background-size: 11px auto;
    content: "";
}

.is-expanded .area-search_accordion_handle>a:after {
    background: url(/img/area-search_bg_minus.png) no-repeat 0 center;
    background-size: 11px auto;
}

.area-search_accordion_content {
    overflow: hidden;
}

.area-search_accordion_link {
    zoom: 1;
    margin-bottom: -2px;
    background: #fff;
}

.area-search_accordion_link:before,
.area-search_accordion_link:after {
    content: '';
    display: table;
}

.area-search_accordion_link:after {
    clear: both;
}

.area-search_accordion_link>li {
    float: left;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 2px solid #e4e4e4;
    border-right: 2px solid #e4e4e4;
}

.area-search_accordion_link>li:nth-child(odd) {
    clear: left;
    width: -webkit-calc(50% - 1px);
    width: calc(50% - 1px);
}

.area-search_accordion_link>li:nth-child(even) {
    width: -webkit-calc(50% + 1px);
    width: calc(50% + 1px);
    border-right: none;
}

.area-search_accordion_link>li:nth-child(-n+2) {
    border-top: none;
}

.area-search_accordion_link>li>a,
.area-search_accordion_link>li>span {
    position: relative;
    display: block;
    padding: 10px 15px;
    color: #000;
    text-decoration: none;
}

.area-search_accordion_link>li>a:after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 12px;
    margin-top: -6px;
    background: url(/img/area-search_bg_arrow.png) no-repeat 0 center;
    background-size: 15px auto;
    content: "";
}

.area-search_accordion_link>li>span {
    color: #a8a8a8;
}


/* Search box(from toppage)
   ========================================================================== */

.search-box {
    overflow: hidden;
    width: 960px;
    margin: 40px auto 0;
}

@media (max-width: 768px) {
    .search-box {
        max-width: 100%;
        margin-top: 35px;
    }
}

.search-box .m-box {
    padding: 40px 50px;
}

@media (max-width: 768px) {
    .search-box .m-box {
        padding: 20px;
    }
}

@media (min-width: 769px) {
    .search-box_item {
        float: left;
        width: 50%;
        margin-top: 30px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .search-box_item:nth-child(odd) {
        padding-right: 20px;
    }
    .search-box_item:nth-child(even) {
        padding-left: 20px;
    }
    .search-box_item:nth-child(-n+2) {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .search-box_item {
        margin-top: 15px;
    }
    .search-box_item:first-child {
        margin-top: 0;
    }
}


/* ==========================================================================
   Helper classes
   ========================================================================== */


/* Space
   ========================================================================== */

.space-section-near {
    margin-top: 50px;
}

.space-section-near:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .space-section-near {
        margin-top: 25px;
    }
}

.space-section-normal {
    margin-top: 100px;
}

.space-section-normal:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .space-section-normal {
        margin-top: 40px;
    }
}

.space-section-far {
    margin-top: 120px;
}

.space-section-far:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .space-section-far {
        margin-top: 50px;
    }
}

.section .space-section-near {
    margin-top: 50px;
}

.section .space-section-near:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .section .space-section-near {
        margin-top: 25px;
    }
}

.section .space-section-normal {
    margin-top: 100px;
}

.section .space-section-normal:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .section .space-section-normal {
        margin-top: 40px;
    }
}

.section .space-section-far {
    margin-top: 120px;
}

.section .space-section-far:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .section .space-section-far {
        margin-top: 50px;
    }
}

.space-near {
    margin-top: 10px;
}

.space-near:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .space-near {
        margin-top: 10px;
    }
}

.space-normal {
    margin-top: 20px;
}

.space-normal:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .space-normal {
        margin-top: 20px;
    }
}

.space-far {
    margin-top: 30px;
}

.space-far:first-child {
    margin-top: 0;
}

@media (max-width: 768px) {
    .space-far {
        margin-top: 25px;
    }
}

.space-none {
    margin-top: 0 !important;
}


/* Font size
   ========================================================================== */

@media (min-width: 769px) {
    .size-xsmall {
        font-size: 70% !important;
    }
    h1.size-xsmall,
    h2.size-xsmall,
    h3.size-xsmall,
    h4.size-xsmall,
    h5.size-xsmall,
    h6.size-xsmall,
    dt.size-xsmall,
    dd.size-xsmall,
    li.size-xsmall,
    caption.size-xsmall,
    col.size-xsmall,
    th.size-xsmall,
    td.size-xsmall,
    p.size-xsmall,
    address.size-xsmall,
    figcaption.size-xsmall {
        font-size: 1.4em !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xsmall .size-xsmall {
        font-size: 100% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xsmall .size-xsmall {
        font-size: 127.27% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-small .size-xsmall {
        font-size: 87.5% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-small .size-xsmall {
        font-size: 116.67% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-large .size-xsmall {
        font-size: 63.64% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-large .size-xsmall {
        font-size: 93.33% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xlarge .size-xsmall {
        font-size: 53.85% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xlarge .size-xsmall {
        font-size: 87.5% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xxlarge .size-xsmall {
        font-size: 58.33% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xxlarge .size-xsmall {
        font-size: 77.78% !important;
    }
}

@media (max-width: 768px) {
    .size-xsmall {
        font-size: 55% !important;
    }
    h1.size-xsmall,
    h2.size-xsmall,
    h3.size-xsmall,
    h4.size-xsmall,
    h5.size-xsmall,
    h6.size-xsmall,
    dt.size-xsmall,
    dd.size-xsmall,
    li.size-xsmall,
    caption.size-xsmall,
    col.size-xsmall,
    th.size-xsmall,
    td.size-xsmall,
    p.size-xsmall,
    address.size-xsmall,
    figcaption.size-xsmall {
        font-size: 1.1em !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xsmall .size-xsmall {
        font-size: 78.57% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xsmall .size-xsmall {
        font-size: 100% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-small .size-xsmall {
        font-size: 68.75% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-small .size-xsmall {
        font-size: 91.67% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-large .size-xsmall {
        font-size: 50% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-large .size-xsmall {
        font-size: 73.33% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xlarge .size-xsmall {
        font-size: 42.31% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xlarge .size-xsmall {
        font-size: 68.75% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xxlarge .size-xsmall {
        font-size: 45.83% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xxlarge .size-xsmall {
        font-size: 61.11% !important;
    }
}

@media (min-width: 769px) {
    .size-small {
        font-size: 80% !important;
    }
    h1.size-small,
    h2.size-small,
    h3.size-small,
    h4.size-small,
    h5.size-small,
    h6.size-small,
    dt.size-small,
    dd.size-small,
    li.size-small,
    caption.size-small,
    col.size-small,
    th.size-small,
    td.size-small,
    p.size-small,
    address.size-small,
    figcaption.size-small {
        font-size: 1.6em !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xsmall .size-small {
        font-size: 114.29% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xsmall .size-small {
        font-size: 145.45% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-small .size-small {
        font-size: 100% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-small .size-small {
        font-size: 133.33% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-large .size-small {
        font-size: 72.73% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-large .size-small {
        font-size: 106.67% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xlarge .size-small {
        font-size: 61.54% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xlarge .size-small {
        font-size: 100% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xxlarge .size-small {
        font-size: 66.67% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xxlarge .size-small {
        font-size: 88.89% !important;
    }
}

@media (max-width: 768px) {
    .size-small {
        font-size: 60% !important;
    }
    h1.size-small,
    h2.size-small,
    h3.size-small,
    h4.size-small,
    h5.size-small,
    h6.size-small,
    dt.size-small,
    dd.size-small,
    li.size-small,
    caption.size-small,
    col.size-small,
    th.size-small,
    td.size-small,
    p.size-small,
    address.size-small,
    figcaption.size-small {
        font-size: 1.2em !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xsmall .size-small {
        font-size: 85.71% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xsmall .size-small {
        font-size: 109.09% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-small .size-small {
        font-size: 75% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-small .size-small {
        font-size: 100% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-large .size-small {
        font-size: 54.55% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-large .size-small {
        font-size: 80% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xlarge .size-small {
        font-size: 46.15% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xlarge .size-small {
        font-size: 75% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xxlarge .size-small {
        font-size: 50% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xxlarge .size-small {
        font-size: 66.67% !important;
    }
}

@media (min-width: 769px) {
    .size-medium {
        font-size: 100% !important;
    }
    h1.size-medium,
    h2.size-medium,
    h3.size-medium,
    h4.size-medium,
    h5.size-medium,
    h6.size-medium,
    dt.size-medium,
    dd.size-medium,
    li.size-medium,
    caption.size-medium,
    col.size-medium,
    th.size-medium,
    td.size-medium,
    p.size-medium,
    address.size-medium,
    figcaption.size-medium {
        font-size: 2em !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xsmall .size-medium {
        font-size: 142.86% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xsmall .size-medium {
        font-size: 181.82% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-small .size-medium {
        font-size: 125% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-small .size-medium {
        font-size: 166.67% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-large .size-medium {
        font-size: 90.91% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-large .size-medium {
        font-size: 133.33% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xlarge .size-medium {
        font-size: 76.92% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xlarge .size-medium {
        font-size: 125% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xxlarge .size-medium {
        font-size: 83.33% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xxlarge .size-medium {
        font-size: 111.11% !important;
    }
}

@media (max-width: 768px) {
    .size-medium {
        font-size: 70% !important;
    }
    h1.size-medium,
    h2.size-medium,
    h3.size-medium,
    h4.size-medium,
    h5.size-medium,
    h6.size-medium,
    dt.size-medium,
    dd.size-medium,
    li.size-medium,
    caption.size-medium,
    col.size-medium,
    th.size-medium,
    td.size-medium,
    p.size-medium,
    address.size-medium,
    figcaption.size-medium {
        font-size: 1.4em !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xsmall .size-medium {
        font-size: 100% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xsmall .size-medium {
        font-size: 127.27% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-small .size-medium {
        font-size: 87.5% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-small .size-medium {
        font-size: 116.67% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-large .size-medium {
        font-size: 63.64% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-large .size-medium {
        font-size: 93.33% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xlarge .size-medium {
        font-size: 53.85% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xlarge .size-medium {
        font-size: 87.5% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xxlarge .size-medium {
        font-size: 58.33% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xxlarge .size-medium {
        font-size: 77.78% !important;
    }
}

@media (min-width: 769px) {
    .size-large {
        font-size: 110% !important;
    }
    h1.size-large,
    h2.size-large,
    h3.size-large,
    h4.size-large,
    h5.size-large,
    h6.size-large,
    dt.size-large,
    dd.size-large,
    li.size-large,
    caption.size-large,
    col.size-large,
    th.size-large,
    td.size-large,
    p.size-large,
    address.size-large,
    figcaption.size-large {
        font-size: 2.2em !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xsmall .size-large {
        font-size: 157.14% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xsmall .size-large {
        font-size: 200% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-small .size-large {
        font-size: 137.5% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-small .size-large {
        font-size: 183.33% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-large .size-large {
        font-size: 100% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-large .size-large {
        font-size: 146.67% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xlarge .size-large {
        font-size: 84.62% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xlarge .size-large {
        font-size: 137.5% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xxlarge .size-large {
        font-size: 91.67% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xxlarge .size-large {
        font-size: 122.22% !important;
    }
}

@media (max-width: 768px) {
    .size-large {
        font-size: 75% !important;
    }
    h1.size-large,
    h2.size-large,
    h3.size-large,
    h4.size-large,
    h5.size-large,
    h6.size-large,
    dt.size-large,
    dd.size-large,
    li.size-large,
    caption.size-large,
    col.size-large,
    th.size-large,
    td.size-large,
    p.size-large,
    address.size-large,
    figcaption.size-large {
        font-size: 1.5em !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xsmall .size-large {
        font-size: 107.14% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xsmall .size-large {
        font-size: 136.36% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-small .size-large {
        font-size: 93.75% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-small .size-large {
        font-size: 125% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-large .size-large {
        font-size: 68.18% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-large .size-large {
        font-size: 100% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xlarge .size-large {
        font-size: 57.69% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xlarge .size-large {
        font-size: 93.75% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xxlarge .size-large {
        font-size: 62.5% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xxlarge .size-large {
        font-size: 83.33% !important;
    }
}

@media (min-width: 769px) {
    .size-xlarge {
        font-size: 130% !important;
    }
    h1.size-xlarge,
    h2.size-xlarge,
    h3.size-xlarge,
    h4.size-xlarge,
    h5.size-xlarge,
    h6.size-xlarge,
    dt.size-xlarge,
    dd.size-xlarge,
    li.size-xlarge,
    caption.size-xlarge,
    col.size-xlarge,
    th.size-xlarge,
    td.size-xlarge,
    p.size-xlarge,
    address.size-xlarge,
    figcaption.size-xlarge {
        font-size: 2.6em !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xsmall .size-xlarge {
        font-size: 185.71% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xsmall .size-xlarge {
        font-size: 236.36% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-small .size-xlarge {
        font-size: 162.5% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-small .size-xlarge {
        font-size: 216.67% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-large .size-xlarge {
        font-size: 118.18% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-large .size-xlarge {
        font-size: 173.33% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xlarge .size-xlarge {
        font-size: 100% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xlarge .size-xlarge {
        font-size: 162.5% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xxlarge .size-xlarge {
        font-size: 108.33% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xxlarge .size-xlarge {
        font-size: 144.44% !important;
    }
}

@media (max-width: 768px) {
    .size-xlarge {
        font-size: 80% !important;
    }
    h1.size-xlarge,
    h2.size-xlarge,
    h3.size-xlarge,
    h4.size-xlarge,
    h5.size-xlarge,
    h6.size-xlarge,
    dt.size-xlarge,
    dd.size-xlarge,
    li.size-xlarge,
    caption.size-xlarge,
    col.size-xlarge,
    th.size-xlarge,
    td.size-xlarge,
    p.size-xlarge,
    address.size-xlarge,
    figcaption.size-xlarge {
        font-size: 1.6em !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xsmall .size-xlarge {
        font-size: 114.29% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xsmall .size-xlarge {
        font-size: 145.45% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-small .size-xlarge {
        font-size: 100% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-small .size-xlarge {
        font-size: 133.33% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-large .size-xlarge {
        font-size: 72.73% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-large .size-xlarge {
        font-size: 106.67% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xlarge .size-xlarge {
        font-size: 61.54% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xlarge .size-xlarge {
        font-size: 100% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xxlarge .size-xlarge {
        font-size: 66.67% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xxlarge .size-xlarge {
        font-size: 88.89% !important;
    }
}

@media (min-width: 769px) {
    .size-xxlarge {
        font-size: 120% !important;
    }
    h1.size-xxlarge,
    h2.size-xxlarge,
    h3.size-xxlarge,
    h4.size-xxlarge,
    h5.size-xxlarge,
    h6.size-xxlarge,
    dt.size-xxlarge,
    dd.size-xxlarge,
    li.size-xxlarge,
    caption.size-xxlarge,
    col.size-xxlarge,
    th.size-xxlarge,
    td.size-xxlarge,
    p.size-xxlarge,
    address.size-xxlarge,
    figcaption.size-xxlarge {
        font-size: 2.4em !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xsmall .size-xxlarge {
        font-size: 171.43% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xsmall .size-xxlarge {
        font-size: 218.18% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-small .size-xxlarge {
        font-size: 150% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-small .size-xxlarge {
        font-size: 200% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-large .size-xxlarge {
        font-size: 109.09% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-large .size-xxlarge {
        font-size: 160% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xlarge .size-xxlarge {
        font-size: 92.31% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xlarge .size-xxlarge {
        font-size: 150% !important;
    }
}

@media (min-width: 769px) and (min-width: 769px) {
    .size-xxlarge .size-xxlarge {
        font-size: 100% !important;
    }
}

@media (min-width: 769px) and (max-width: 768px) {
    .size-xxlarge .size-xxlarge {
        font-size: 133.33% !important;
    }
}

@media (max-width: 768px) {
    .size-xxlarge {
        font-size: 90% !important;
    }
    h1.size-xxlarge,
    h2.size-xxlarge,
    h3.size-xxlarge,
    h4.size-xxlarge,
    h5.size-xxlarge,
    h6.size-xxlarge,
    dt.size-xxlarge,
    dd.size-xxlarge,
    li.size-xxlarge,
    caption.size-xxlarge,
    col.size-xxlarge,
    th.size-xxlarge,
    td.size-xxlarge,
    p.size-xxlarge,
    address.size-xxlarge,
    figcaption.size-xxlarge {
        font-size: 1.8em !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xsmall .size-xxlarge {
        font-size: 128.57% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xsmall .size-xxlarge {
        font-size: 163.64% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-small .size-xxlarge {
        font-size: 112.5% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-small .size-xxlarge {
        font-size: 150% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-large .size-xxlarge {
        font-size: 81.82% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-large .size-xxlarge {
        font-size: 120% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xlarge .size-xxlarge {
        font-size: 69.23% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xlarge .size-xxlarge {
        font-size: 112.5% !important;
    }
}

@media (max-width: 768px) and (min-width: 769px) {
    .size-xxlarge .size-xxlarge {
        font-size: 75% !important;
    }
}

@media (max-width: 768px) and (max-width: 768px) {
    .size-xxlarge .size-xxlarge {
        font-size: 100% !important;
    }
}


/* Font style
   ========================================================================== */

.weight-normal {
    font-weight: normal !important;
}

.weight-bold {
    font-weight: bold !important;
}

.style-lined {
    text-decoration: underline !important;
}


/* Font color
   ========================================================================== */

.color-normal {
    color: #000000 !important;
}

.color-strong {
    color: #cc0022 !important;
}

.color-thin {
    color: #333333 !important;
}


/* Float
   ========================================================================== */

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

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

.float-none {
    float: none !important;
}

.clear-both {
    clear: both !important;
}

.clear-left {
    clear: left !important;
}

.clear-right {
    clear: right !important;
}

.clearwrap {
    overflow: hidden;
    zoom: 1;
}


/* Align
   ========================================================================== */


/* Horizontal */

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

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

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


/* Vertical */

.align-top {
    vertical-align: top !important;
}

.align-middle {
    vertical-align: middle !important;
}

.align-bottom {
    vertical-align: bottom !important;
}

.align-baseline {
    vertical-align: baseline !important;
}


/* Content inner
   ========================================================================== */

.layout-width {
    width: 100%;
    margin: 0 auto;
}


/* Margin
   ========================================================================== */

.mt-40 {
    margin-top: -40px !important;
}

.mt-30 {
    margin-top: -30px !important;
}

.mt-20 {
    margin-top: -20px !important;
}

.mt-15 {
    margin-top: -15px !important;
}

.mt-10 {
    margin-top: -10px !important;
}

.mt-5 {
    margin-top: -5px !important;
}

.mt-1 {
    margin-top: -1px !important;
}

.mt0 {
    margin-top: 0 !important;
}

.mt1 {
    margin-top: 1px !important;
}

.mt2 {
    margin-top: 2px !important;
}

.mt3 {
    margin-top: 3px !important;
}

.mt4 {
    margin-top: 4px !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mt6 {
    margin-top: 6px !important;
}

.mt7 {
    margin-top: 7px !important;
}

.mt8 {
    margin-top: 8px !important;
}

.mt9 {
    margin-top: 9px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt55 {
    margin-top: 55px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mr-40 {
    margin-right: -40px !important;
}

.mr-30 {
    margin-right: -30px !important;
}

.mr-20 {
    margin-right: -20px !important;
}

.mr-15 {
    margin-right: -15px !important;
}

.mr-10 {
    margin-right: -10px !important;
}

.mr-5 {
    margin-right: -5px !important;
}

.mr-1 {
    margin-right: -1px !important;
}

.mr0 {
    margin-right: 0 !important;
}

.mr1 {
    margin-right: 1px !important;
}

.mr2 {
    margin-right: 2px !important;
}

.mr3 {
    margin-right: 3px !important;
}

.mr4 {
    margin-right: 4px !important;
}

.mr5 {
    margin-right: 5px !important;
}

.mr6 {
    margin-right: 6px !important;
}

.mr7 {
    margin-right: 7px !important;
}

.mr8 {
    margin-right: 8px !important;
}

.mr9 {
    margin-right: 9px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr15 {
    margin-right: 15px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr25 {
    margin-right: 25px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mr35 {
    margin-right: 35px !important;
}

.mr40 {
    margin-right: 40px !important;
}

.mr45 {
    margin-right: 45px !important;
}

.mr50 {
    margin-right: 50px !important;
}

.mr55 {
    margin-right: 55px !important;
}

.mr60 {
    margin-right: 60px !important;
}

.mb-40 {
    margin-bottom: -40px !important;
}

.mb-30 {
    margin-bottom: -30px !important;
}

.mb-20 {
    margin-bottom: -20px !important;
}

.mb-15 {
    margin-bottom: -15px !important;
}

.mb-10 {
    margin-bottom: -10px !important;
}

.mb-5 {
    margin-bottom: -5px !important;
}

.mb-1 {
    margin-bottom: -1px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb1 {
    margin-bottom: 1px !important;
}

.mb2 {
    margin-bottom: 2px !important;
}

.mb3 {
    margin-bottom: 3px !important;
}

.mb4 {
    margin-bottom: 4px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb6 {
    margin-bottom: 6px !important;
}

.mb7 {
    margin-bottom: 7px !important;
}

.mb8 {
    margin-bottom: 8px !important;
}

.mb9 {
    margin-bottom: 9px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb55 {
    margin-bottom: 55px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.ml-40 {
    margin-left: -40px !important;
}

.ml-30 {
    margin-left: -30px !important;
}

.ml-20 {
    margin-left: -20px !important;
}

.ml-15 {
    margin-left: -15px !important;
}

.ml-10 {
    margin-left: -10px !important;
}

.ml-5 {
    margin-left: -5px !important;
}

.ml-1 {
    margin-left: -1px !important;
}

.ml0 {
    margin-left: 0 !important;
}

.ml1 {
    margin-left: 1px !important;
}

.ml2 {
    margin-left: 2px !important;
}

.ml3 {
    margin-left: 3px !important;
}

.ml4 {
    margin-left: 4px !important;
}

.ml5 {
    margin-left: 5px !important;
}

.ml6 {
    margin-left: 6px !important;
}

.ml7 {
    margin-left: 7px !important;
}

.ml8 {
    margin-left: 8px !important;
}

.ml9 {
    margin-left: 9px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml15 {
    margin-left: 15px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml25 {
    margin-left: 25px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.ml35 {
    margin-left: 35px !important;
}

.ml40 {
    margin-left: 40px !important;
}

.ml45 {
    margin-left: 45px !important;
}

.ml50 {
    margin-left: 50px !important;
}

.ml55 {
    margin-left: 55px !important;
}

.ml60 {
    margin-left: 60px !important;
}


/* Padding
   ========================================================================== */

.pt0 {
    padding-top: 0 !important;
}

.pt1 {
    padding-top: 1px !important;
}

.pt2 {
    padding-top: 2px !important;
}

.pt3 {
    padding-top: 3px !important;
}

.pt4 {
    padding-top: 4px !important;
}

.pt5 {
    padding-top: 5px !important;
}

.pt6 {
    padding-top: 6px !important;
}

.pt7 {
    padding-top: 7px !important;
}

.pt8 {
    padding-top: 8px !important;
}

.pt9 {
    padding-top: 9px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt15 {
    padding-top: 15px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt25 {
    padding-top: 25px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt35 {
    padding-top: 35px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pt45 {
    padding-top: 45px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pt55 {
    padding-top: 55px !important;
}

.pt60 {
    padding-top: 60px !important;
}

.pr0 {
    padding-right: 0 !important;
}

.pr1 {
    padding-right: 1px !important;
}

.pr2 {
    padding-right: 2px !important;
}

.pr3 {
    padding-right: 3px !important;
}

.pr4 {
    padding-right: 4px !important;
}

.pr5 {
    padding-right: 5px !important;
}

.pr6 {
    padding-right: 6px !important;
}

.pr7 {
    padding-right: 7px !important;
}

.pr8 {
    padding-right: 8px !important;
}

.pr9 {
    padding-right: 9px !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pr15 {
    padding-right: 15px !important;
}

.pr20 {
    padding-right: 20px !important;
}

.pr25 {
    padding-right: 25px !important;
}

.pr30 {
    padding-right: 30px !important;
}

.pr35 {
    padding-right: 35px !important;
}

.pr40 {
    padding-right: 40px !important;
}

.pr45 {
    padding-right: 45px !important;
}

.pr50 {
    padding-right: 50px !important;
}

.pr55 {
    padding-right: 55px !important;
}

.pr60 {
    padding-right: 60px !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.pb1 {
    padding-bottom: 1px !important;
}

.pb2 {
    padding-bottom: 2px !important;
}

.pb3 {
    padding-bottom: 3px !important;
}

.pb4 {
    padding-bottom: 4px !important;
}

.pb5 {
    padding-bottom: 5px !important;
}

.pb6 {
    padding-bottom: 6px !important;
}

.pb7 {
    padding-bottom: 7px !important;
}

.pb8 {
    padding-bottom: 8px !important;
}

.pb9 {
    padding-bottom: 9px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb15 {
    padding-bottom: 15px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pb25 {
    padding-bottom: 25px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb35 {
    padding-bottom: 35px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb45 {
    padding-bottom: 45px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.pb55 {
    padding-bottom: 55px !important;
}

.pb60 {
    padding-bottom: 60px !important;
}

.pl0 {
    padding-left: 0 !important;
}

.pl1 {
    padding-left: 1px !important;
}

.pl2 {
    padding-left: 2px !important;
}

.pl3 {
    padding-left: 3px !important;
}

.pl4 {
    padding-left: 4px !important;
}

.pl5 {
    padding-left: 5px !important;
}

.pl6 {
    padding-left: 6px !important;
}

.pl7 {
    padding-left: 7px !important;
}

.pl8 {
    padding-left: 8px !important;
}

.pl9 {
    padding-left: 9px !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl15 {
    padding-left: 15px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.pl25 {
    padding-left: 25px !important;
}

.pl30 {
    padding-left: 30px !important;
}

.pl35 {
    padding-left: 35px !important;
}

.pl40 {
    padding-left: 40px !important;
}

.pl45 {
    padding-left: 45px !important;
}

.pl50 {
    padding-left: 50px !important;
}

.pl55 {
    padding-left: 55px !important;
}

.pl60 {
    padding-left: 60px !important;
}


/* Table cell's collective settings.
   ========================================================================== */


/* Font weight */

.th-weight-normal th,
.td-weight-normal td {
    font-weight: normal;
}

.th-weight-bold th,
.td-weight-bold td {
    font-weight: bold;
}


/* Align */

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

.th-align-center th,
.td-align-center td {
    text-align: center;
}

.th-align-right th,
.td-align-right td {
    text-align: right;
}

.th-align-top th,
.td-align-top td {
    vertical-align: top;
}

.th-align-middle th,
.td-align-middle td {
    vertical-align: middle;
}

.th-align-bottom th,
.td-align-bottom td {
    vertical-align: bottom;
}

.th-align-baseline th,
.td-align-baseline td {
    vertical-align: bottom;
}


/* Custom */

.m-block-list.custom>ul>li:first-child .m-block-list_body:after {
    content: 'Sign up here';
}

.map {
    width: 100%;
}

.map img {
    width: 100%;
}

@media (min-width: 769px) and (max-width: 1200px) {
    .home .section {
        padding: 0 2vw;
    }
    .home .page-title h1 {
        font-size: calc(100vw / 1200 * 64 / 100 * 63);
    }
    .home p.size-xlarge,
    .home p.size-large {
        font-size: calc(100vw / 1200 * 41.6 / 100 * 63) !important;
    }
    .home .m-block-list_title {
        font-size: calc(100vw / 1200 * 64 / 100 * 63);
    }
    .home .m-block-list_body {
        padding: 3vw;
    }
    .home .m-block-list.theme-index>ul>li {
        width: calc(50% - 1vw);
    }
    .m-block-list.theme-index>ul>li.is-wmax {
        width: 100%;
    }
    .m-block-list_title:before {
        right: calc(100vw / 1200 * -50);
        width: calc(100vw / 1200 * 30);
        height: calc(100vw / 1200 * 3);
        margin-top: calc(100vw / 1200 * -1);
    }
    .m-block-list_title:after {
        right: calc(100vw / 1200 * -48);
        width: calc(100vw / 1200 * 20);
        height: calc(100vw / 1200 * 20);
        margin-top: calc(100vw / 1200 * -11);
        border-top: calc(100vw / 1200 * 3) solid #fff;
        border-right: calc(100vw / 1200 * 3) solid #fff;
    }
    .m-block-list_body>p:not([class]) {
        font-size: calc(100vw / 1200 * 35.2 / 100 * 63);
        margin-top: calc(100vw / 1200 * 20);
    }
    .m-block-list_body:after {
        margin-top: calc(100vw / 1200 * 10);
        font-size: 2.1vw;
    }
    /* COMMON */
    .layout-main-content:first-child {
        margin-top: 6.66vw;
    }
    .section {
        padding: 0 1.66vw;
    }
    .section .section {
        margin-top: 4.16vw;
    }
    .section_near-box {
        padding: 0 calc(100vw / 1200 * 100);
        margin-bottom: 7.5vw;
    }
    .section_inner {
        margin-bottom: 7.5vw;
    }
    .section-title h2 {
        font-size: 2.5vw;
    }
    .page-title {
        margin-top: 0.83vw;
    }
    .page-title h1 {
        font-size: calc(100vw / 1200 * 64 / 100 * 63);
        margin-top: 0.83vw;
    }
    .page-title h1 img {
        width: calc(100vw / 1200 * 712);
        height: calc(100vw / 1200 * 51);
    }
    p {
        font-size: calc(100vw / 1200 * 31 / 100 * 63);
        margin-top: 1.66vw;
    }
    li p {
        font-size: calc(100vw / 1200 * 16 / 100 * 125);
    }
    li p {
        position: relative;
    }
    .m-media_body p {
        margin-top: 00.83vw;
    }
    .m-media_title+p {
        margin-top: 0;
    }
    .m-table {
        margin-top: 1.66vw;
    }
    th,
    td,
    dd,
    dt {
        font-size: 1.66vw;
    }
    .m-media_title {
        font-size: 2.3vw;
    }
    p.size-xlarge {
        font-size: calc(100vw / 1200 * 41.6 / 100 * 63) !important;
    }
    .m-block-list>ul {
        margin-top: 1.66vw;
    }
    .m-block-list>ul>li {
        width: calc(50% - 0.8vw);
    }
    .m-block-list.theme-index>ul>li {
        margin-top: 1.66vw;
    }
    .m-block-list.theme-related>ul>li {
        margin-left: 1.6vw;
    }
    .m-block-list_title {
        font-size: calc(100vw / 1200 * 64 / 100 * 63);
    }
    .m-block-list_title:before {
        right: calc(100vw / 1200 * -50);
        width: calc(100vw / 1200 * 30);
        height: calc(100vw / 1200 * 3);
        margin-top: calc(100vw / 1200 * -1);
    }
    .m-block-list_title:after {
        right: calc(100vw / 1200 * -48);
        width: calc(100vw / 1200 * 20);
        height: calc(100vw / 1200 * 20);
        margin-top: calc(100vw / 1200 * -11);
        border-top: calc(100vw / 1200 * 3) solid #fff;
        border-right: calc(100vw / 1200 * 3) solid #fff;
    }
    .m-block-list_body {
        padding: 3vw;
    }
    .m-block-list_body>p:not([class]) {
        font-size: calc(100vw / 1200 * 35.2 / 100 * 63);
        margin-top: calc(100vw / 1200 * 20);
    }
    .m-block-list_body:after {
        margin-top: calc(100vw / 1200 * 10);
        font-size: 1.7vw;
    }
    .theme-related .m-block-list_title {
        font-size: calc(100vw / 1200 * 46.4 / 100 * 63);
    }
    .m-block-list.theme-related>ul>li {
        height: 14.4vw;
    }
    .section .space-section-near {
        margin-top: calc(100vw / 1200 * 50);
    }
    .m-button.opt-yellow>a {
        width: calc(100vw / 1200 * 335);
        padding: 1.33vw 1.66vw;
        font-size: 1.5vw;
    }
    .m-ul {
        margin-top: 1.66vw;
    }
    .m-ul>li {
        font-size: 1.5vw;
        margin-top: calc(100vw / 1200 * 5);
    }
    .m-ul>li a {
        font-size: 1.5vw;
    }
    .m-ul>li:before {
        top: 50%;
        transform: translateY(-50%);
        width: calc(100vw / 1200 * 3);
        height: calc(100vw / 1200 * 3);
    }
    .page-title h1>span {
        font-size: 1.15vw !important;
        padding-bottom: calc(100vw / 1200 * 12) !important;
    }
    .facility-detail_text {
        padding: calc(100vw / 1200 * 25) calc(100vw / 1200 * 30) calc(100vw / 1200 * 25) 0 !important;
        width: calc(100% - (100vw / 1200 * 380)) !important;
        height: auto !important;
    }
    .facility-detail_text p {
        font-size: 1.33vw !important;
    }
    .facility-detail_information {
        padding: calc(100vw / 1200 * 10) 0 calc(100vw / 1200 * 10) calc(100vw / 1200 * 30) !important;
        width: calc(100vw / 1200 * 380) !important;
        height: auto !important;
    }
    .facility-detail_information>ul>li {
        padding-left: calc(100vw / 1200 * 45) !important;
        font-size: 1.33vw !important;
    }
    .m-button.opt-slim>a {
        width: calc(100vw / 1200 * 154) !important;
        padding: calc(100vw / 1200 * 10) calc(100vw / 1200 * 20) calc(100vw / 1200 * 10) calc(100vw / 1200 * 35) !important;
        font-size: 1.5vw !important;
    }
    .m-button.opt-slim>a:after {
        left: calc(100vw / 1200 * 18) !important;
        width: calc(100vw / 1200 * 4) !important;
        height: calc(100vw / 1200 * 4) !important;
    }
    .m-button.opt-slim .mt10 {
        margin-top: calc(100vw / 1200 * 10) !important;
    }
    .facility-detail_information>ul>li {
        margin-top: 1.66vw !important;
    }
    .facility-detail_information>ul>li:before {
        width: calc(100vw / 1200 * 12) !important;
        height: calc(100vw / 1200 * 16) !important;
    }
    /* About */
    .about-img .m-media .m-media_body_valign-box {
        padding: 3.32vw 1.66vw;
        width: calc(100vw / 1200 * 276 + 11.66vw);
    }
    .m-media_body {
        width: calc(50% - 1.66vw);
    }
    .m-media.opt-variable.opt-media-left .m-media_object {
        padding-right: 2.5vw;
    }
    .m-media.opt-variable.opt-media-left .m-media_object img {
        width: calc(100vw / 1200 * 276);
        height: calc(100vw / 1200 * 276);
    }
    /* Contact */
    .m-column {
        margin-top: 1.66vw;
    }
    .content-title {
        margin-top: 2.5vw;
    }
    .content-title p {
        font-size: 2vw;
    }
    /* Cookies */
    .m-table th {
        padding: 1.25vw 1.66vw;
    }
    /* Traning center */
    .m-narrow-down_list {
        margin-top: 7.5vw;
    }
    .m-narrow-down>.m-narrow-down_items {
        margin-top: 1.66vw;
        margin-left: -1.66vw;
    }
    .m-narrow-down>.m-narrow-down_items>li {
        padding: 1.66vw 0 0 1.66vw;
    }
    .m-media_body .m-media_body_subhead {
        font-size: calc(100vw / 1200 * 22.4 / 100 * 63);
    }
    .m-narrow-down_list_title {
        font-size: 1.5vw;
        padding: 0.415vw 0.83vw;
        margin-right: 0.83vw;
    }
    .m-narrow-down_list>ul>li {
        margin: 0 0.83vw;
    }
    .m-narrow-down_list>ul>li button {
        font-size: 1.5vw;
    }
    li p {
        font-size: calc(100vw / 1200 * 16 / 100 * 125);
    }
    li p {
        position: relative;
    }
    .m-media_body p {
        margin-top: calc(100vw / 1200 * 10);
    }
    .m-media.opt-media-center .m-media_body {
        margin-top: 1.66vw;
    }
    /* Agreement Modal */
    .agreement-modal p {
        font-size: calc(100vw / 1200 * 31 / 100 * 63);
        margin-top: 1.66vw;
    }
    .agreement-modal .agreement-modal_inner {
        padding: calc(100vw / 1200 * 100) calc(100vw / 1200 * 50);
        width: calc(100vw / 1200 * 1000);
    }
    .agreement-form_radio-list label {
        font-size: 1.7vw;
    }
    .agreement-form_radio-list>li input[type="radio"] {
        margin-right: calc(100vw / 1200 * 5);
        height: calc(100vw / 1200 * 13);
        width: calc(100vw / 1200 * 13);
    }
    p.size-xxlarge {
        font-size: 2vw !important;
    }
    .agreement-form .m-button-list>li>a,
    .m-button-list>li>button {
        font-size: calc(100vw / 1200 * 29 / 100 * 63);
        padding: calc(100vw / 1200 * 16) calc(100vw / 1200 * 20);
        width: calc(100vw / 1200 * 335);
    }
    .agreement-form>ul>li:nth-child(even) {
        padding-left: calc(100vw / 1200 * 20);
    }
    .agreement-form>ul>li:nth-child(odd) {
        padding-right: calc(100vw / 1200 * 20);
    }
    .agreement-form_select {
        font-size: calc(100vw / 1200 * 16);
        padding: calc(100vw / 1200 * 10);
    }
    .agreement-form_country:before {
        width: calc(100vw / 1200 * 30);
        height: calc(100vw / 1200 * 30);
        border-top: calc(100vw / 1200 * 3) solid #9e9e9e;
        border-right: calc(100vw / 1200 * 3) solid #9e9e9e;
    }
    /* Nav modal */
    .global-nav_modal_row {
        padding: calc(100vw / 1200 * 60) calc(100vw / 1200 * 20);
    }
    .global-nav_modal_col {
        padding: 0 calc(100vw / 1200 * 70);
    }
    .global-nav_modal_col>p {
        font-size: 1.5vw;
    }
    .global-nav_modal_col>ul {
        margin-top: calc(100vw / 1200 * 20);
    }
    .global-nav_modal_col>ul>li {
        font-size: 1.5vw;
        padding-left: 1.5vw;
        margin-top: calc(100vw / 1200 * 10);
    }
}

@media (min-width: 769px) and (max-width: 1366px) {
    .theme-related .m-block-list_title {
        font-size: 1.95vw;
    }
    .theme-related .m-block-list_title:before {
        right: calc(100vw / 1400 * -40);
        width: calc(100vw / 1400 * 20);
    }
    .theme-related .m-block-list_title:after {
        right: calc(100vw / 1400 * -39);
        width: calc(100vw / 1400 * 15);
        height: calc(100vw / 1400 * 15);
        margin-top: calc(100vw / 1200 * -8);
    }
}

.global-nav_modal_col:first-child>ul>li {
    margin-left: 1em;
}

@media (min-width: 768px) and (max-width: 1366px) {
    .global-nav_modal_col>ul {
        margin-top: 12px;
    }
    .global-nav_modal_col>ul>li {
        margin-top: 5px;
        font-size: 1.25vw;
    }
    .global-nav_modal_row {
        padding: 36px 20px;
    }
}

@media (max-width: 1200px) {
    .layout-footer_sns {
        margin-left: 50px;
    }
}

.layout-footer_nav {
    width: 62%;
}

@media (max-width: 767px) {
    .layout-footer_nav {
        width: 100%;
    }
    .layout-footer_nav ul {
        justify-content: center;
    }
    .layout-footer_sns {
        margin-left: 0;
    }

  div.m-block-list.theme-related ul li a {
    background: #08107a !important;
    color: #fff !important;
    padding: 19px 10px;
    text-align: center;
    font-weight: bold;
    margin-top: 20px;
    line-height: 1.3;    
    
  }

  div.m-block-list.theme-related .m-block-list_img {
    display: none !important;
  }

  div.m-block-list.theme-related .m-block-list_body {
    padding: 0 !important;
  }

  .m-block-list_title::before,
  .m-block-list_title::after {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
  }
  
}



