@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);
@font-face {
    font-family: "Pyidaungsu";
    src: url("/shared/font/Pyidaungsu-2.5.3_Regular.woff") format("woff"), url("/shared/font/Pyidaungsu-2.5.3_Regular.ttf") format("truetype");
}

@font-face {
    font-weight: bold;
    font-family: "Pyidaungsu";
    src: url("/shared/font/Pyidaungsu-2.5.3_Bold.woff") format("woff"), url("/shared/font/Pyidaungsu-2.5.3_Bold.ttf") format("truetype");
}

/* ==============================================================================================
 Sprite
================================================================================================= */
.nav-local .nav-local-inner > li > a::after, .nav-footer > li > a::before, .btn-top::after, .txt-icon-a .txt::before, .list-news-a .list-news-inner > li > a::before, .link-a::before, .link-b::before, .link-c::before, .link-list-a > li a::before, .link-list-b > .link-list-inner > li a::before, .link-list-c > li a::before, .link-list-e > li a::before, .link-pnl-a .item > .title > b::before, .link-pnl-c > li a > .img > .img-inner::before, .link-pnl-d > .link-pnl-inner > li a > .item p::before, .link-pager-a > .prev > a::before, .link-pager-a > .next > a::before, .link-confirm-a .link-confirm-inner > li .lable .txt::before, .btn-a .txt::before, .btn-b .txt::before, .btn-c .txt::before, .btn-a._format .txt::before, .btn-b._format .txt::before, .btn-c._format .txt::before, .btn-a._submit .txt::before, .btn-b._submit .txt::before, .btn-c._submit .txt::before, .box-c .hdg-b::before, .box-search-b > .hdg-a::before, .hdg-b-wrap .hdg-b > a::before, .hdg-c-wrap .hdg-c > a::before, .hdg-j > a::before {
    background-image: url(/shared/img/icon-sprite.png);
}

/* ==============================================================================================
 Normalize
================================================================================================= */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15;
}

body {
    margin: 0;
}

h1 {
    margin: .67em 0;
    font-size: 2em;
}

hr {
    overflow: visible;
    box-sizing: content-box;
    height: 0;
}

pre {
    font-size: 1em;
    font-family: monospace,monospace;
}

a {
    background-color: transparent;
}

abbr[title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    border-bottom: none;
}

b, strong {
    font-weight: bolder;
}

code, kbd, samp {
    font-size: 1em;
    font-family: monospace,monospace;
}

small {
    font-size: 80%;
}

sub, sup {
    position: relative;
    font-size: 75%;
    vertical-align: baseline;
    line-height: 0;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

img {
    border-style: none;
}

button, input, optgroup, select, textarea {
    margin: 0;
    font-size: 100%;
    font-family: inherit;
    line-height: 1.15;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: .35em .75em .625em;
}

legend {
    display: table;
    box-sizing: border-box;
    max-width: 100%;
    padding: 0;
    color: inherit;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}
/* ==============================================================================================
 Base
================================================================================================= */
:root {
    font-size: 10px;
}

body {
    overflow-wrap: break-word;
    min-width: 320px;
    font-size: 1.4rem;
    font-family: Roboto, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
    color: #000;
    line-height: 1.8;
    word-wrap: break-word;
}

@media only screen and (min-width: 769px) {
    body {
        font-size: 1.8rem;
    }
}

[lang="my"] body {
    font-family: Pyidaungsu, sans-serif;
}

[lang="zh-Hans"] body {
    font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
}

*, *::before, *::after {
    box-sizing: border-box;
}

ul, ol {
    list-style-type: none;
}

a {
    color: #1257b8;
    text-decoration: none;
    transition: color .2s;
}

a:hover, a:active, a:focus {
    color: #1257b8;
    text-decoration: underline;
}

a[href^="tel:"] {
    color: #000;
}

a[href^="tel:"]:hover, a[href^="tel:"]:active, a[href^="tel:"]:focus {
    text-decoration: none;
}

b {
    font-weight: bold;
}

em {
    font-weight: bold;
    font-style: normal;
}

strong {
    font-weight: normal;
    color: #df0523;
}

sup {
    font-size: 1.2rem;
}

i {
    font-style: italic;
}

img {
    max-width: 100%;
}

p, ul, ol, dl, dt, dd, table, h1, h2, h3, h4, h5, h6, blockquote, form {
    margin: 0;
    padding: 0;
}

dfn, cite {
    font-style: normal;
}

small {
    font-size: 100%;
}

table {
    border-collapse: collapse;
}

label {
    font-size: 1.4rem;
}

@media only screen and (min-width: 769px) {
    label {
        font-size: 1.8rem;
    }
}

input, select, button, textarea {
    font-size: 1.6rem;
    font-family: Roboto, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
    border-radius: 0;
}

@media only screen and (min-width: 769px) {
    input, select, button, textarea {
        font-size: 1.8rem;
    }
}

input[type="text"], select, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="reset"], input[type="image"], input[type="submit"], input[type="button"], button {
    cursor: pointer;
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: 0;
}

select::-ms-expand {
    display: none;
}

/* ==============================================================================================
 Stracture
================================================================================================= */
/*----------------------------------------
 Header
----------------------------------------*/
/*
 * header
** ------------------------------------------------------ */
#header {
    position: relative;
    box-shadow: 0 1px 10px -2px rgba(0, 0, 0, .3);
}

/*
 * site-logo
** ------------------------------------------------------ */
.site-logo .site-logo-inner {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 10px;
    font-size: 1.4rem;
}

.site-logo .site-logo-inner > a {
    display: inline-block;
    align-self: flex-start;
    margin-top: 9px;
}

.site-logo .site-logo-inner > a > img.logo {
    position: relative;
    top: -1px;
    display: inline-block;
    max-width: 117.5px;
    margin: 0 0 0 1px;
    vertical-align: middle;
}

.site-logo .site-logo-inner > a > img.name {
    display: inline-block;
    max-width: 169.5px;
    margin-left: 13px;
    vertical-align: middle;
}

.site-logo .site-logo-inner .statement {
    margin-top: 12px;
}

.site-logo .site-logo-inner .statement > img {
    display: block;
    max-width: 120px;
}

@media only screen and (min-width: 769px) {
    .site-logo {
        padding-top: 12px;
    }
    .site-logo .site-logo-inner {
        padding-right: 20px;
        padding-left: 20px;
        font-size: 1.8rem;
    }
    .site-logo .site-logo-inner > a {
        margin-top: 12px;
    }
    .site-logo .site-logo-inner > a > img.logo {
        top: 0;
        max-width: 160px;
    }
    .site-logo .site-logo-inner > a > img.name {
        position: relative;
        top: -1px;
        max-width: 290px;
        margin-left: 25px;
    }
    .site-logo .site-logo-inner > a > img.name:lang(en), .site-logo .site-logo-inner > a > img.name:lang(zh-Hans), .site-logo .site-logo-inner > a > img.name:lang(ko), .site-logo .site-logo-inner > a > img.name:lang(vi), .site-logo .site-logo-inner > a > img.name:lang(my) {
        max-width: 328px;
    }
    .site-logo .site-logo-inner .statement {
        margin-top: 0;
    }
    .site-logo .site-logo-inner .statement > img {
        max-width: 163px;
    }
}

@media only screen and (min-width: 1025px) {
    .site-logo .site-logo-inner {
        position: relative;
        display: block;
        max-width: 1400px;
        margin: 0 auto;
    }
    .site-logo .site-logo-inner > a {
        margin-top: 24px;
    }
    .site-logo .site-logo-inner .statement {
        position: absolute;
        top: 0;
        right: 20px;
    }
    .site-logo .site-logo-inner .statement > img {
        max-width: 213px;
    }
}

/*
 * nav-*
** ------------------------------------------------------ */
.nav-header {
    margin: 10px 0 0;
    border-top: solid 2px #df0523;
}

.nav-header .nav-header-inner {
    z-index: 10;
    width: 100%;
    padding: 0 20px 30px;
    background: #f2f2f2;
}

@media only screen and (min-width: 1025px) {
    .nav-header {
        margin-top: 45px;
        border-top: none;
    }
    .nav-header .nav-header-inner {
        position: relative;
        padding: 0;
        background: none;
    }
    .nav-header.has-local {
        padding: 0 0 48px;
        background: #e5374f;
    }
}

@media only screen and (min-width: 1330px) {
    .nav-header {
        margin-top: 32px;
    }
}

.nav-global .nav-global-inner > li {
    border-bottom: solid 1px #ccc;
}

.nav-global .nav-global-inner > li > a {
    position: relative;
    display: block;
    padding: 12px 20px 12px 0;
    font-size: 1.6rem;
    color: #000;
}

.nav-global .nav-global-inner > li > a:hover, .nav-global .nav-global-inner > li > a:active, .nav-global .nav-global-inner > li > a:focus {
    color: #df0523;
    text-decoration: none;
}

.nav-global .nav-global-inner > li > a .icon {
    position: absolute;
    top: 0;
    right: 3px;
    bottom: 0;
    width: 12px;
    height: 8px;
    margin: auto;
    transform: rotate(180deg);
}

.nav-global .nav-global-inner > li.top > a > img {
    display: none;
}

@media only screen and (min-width: 1025px) {
    .nav-global {
        position: relative;
        background: #f2f2f2;
    }
    .nav-global .nav-global-inner {
        display: flex;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .nav-global .nav-global-inner > li {
        border-bottom: none;
    }
    .nav-global .nav-global-inner > li:not(.top) {
        margin-left: 4.129%;
    }
    .nav-global .nav-global-inner > li > a {
        padding: 10px 0;
    }
    .nav-global .nav-global-inner > li > a .icon {
        display: none;
    }
    .nav-global .nav-global-inner > li.top > a {
        position: relative;
        display: block;
    }
    .nav-global .nav-global-inner > li.top > a::after {
        position: absolute;
        top: 14px;
        left: 0;
        z-index: 1;
        display: block;
        width: 16px;
        height: 18px;
        background: url(/shared/img/icon-home-03.png) no-repeat;
        background-size: 100%;
        content: "";
        opacity: 0;
        transition: opacity .2s;
    }
    .nav-global .nav-global-inner > li.top > a:hover::after, .nav-global .nav-global-inner > li.top > a:active::after, .nav-global .nav-global-inner > li.top > a:focus::after {
        opacity: 1;
    }
    .nav-global .nav-global-inner > li.top > a .txt {
        display: none;
    }
    .nav-global .nav-global-inner > li.top > a > img {
        position: relative;
        top: 4px;
        display: block;
        width: 16px;
        height: 18px;
    }
    .nav-global .nav-global-inner > li.is-current > a::before {
        position: absolute;
        display: block;
        width: 10px;
        border-width: 6px 5px 0;
        border-style: solid;
        border-color: #df0523 transparent transparent transparent;
        content: "";
    }
    .nav-global .nav-global-inner > li.is-current > a::before {
        top: 0;
        right: 0;
        left: 0;
        margin: 0 auto;
    }
}

.nav-local {
    padding: 15px 0;
    background: #666;
}

.nav-local .nav-local-inner > li > a {
    position: relative;
    display: block;
    padding: 9px 10px 10px 46px;
    font-size: 1.4rem;
    color: #fff;
    background: transparent;
    transition: background .2s;
}

.nav-local .nav-local-inner > li > a:hover, .nav-local .nav-local-inner > li > a:active, .nav-local .nav-local-inner > li > a:focus {
    text-decoration: none;
    background: #808080;
}

.nav-local .nav-local-inner > li > a::after {
    position: absolute;
    top: 17px;
    display: block;
    width: 5px;
    height: 8px;
    background-position: -137.5px -47px;
    background-size: 145px 117px;
    content: "";
}

.nav-local .nav-local-inner > li.sp-index > a {
    padding-left: 33px;
}

.nav-local .nav-local-inner > li.sp-index > a::after {
    left: 20px;
}

.nav-local .nav-local-inner > li:not(.sp-index) > a::after {
    left: 33px;
}

@media only screen and (min-width: 1025px) {
    .nav-local {
        position: absolute;
        top: 101%;
        left: 0;
        width: 100%;
        padding: 0;
        background: #e5374f;
    }
    .nav-local .nav-local-inner {
        display: flex;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .nav-local .nav-local-inner > li > a {
        padding: 12px 30px 11px;
    }
    .nav-local .nav-local-inner > li > a:hover, .nav-local .nav-local-inner > li > a:active, .nav-local .nav-local-inner > li > a:focus {
        background: #eb4b60;
    }
    .nav-local .nav-local-inner > li > a::after {
        content: none;
    }
    .nav-local .nav-local-inner > li > a:lang(en) {
        padding-right: 2.14634vw;
        padding-left: 2.14634vw;
    }
    .nav-local .nav-local-inner > li.sp-index {
        display: none;
    }
    .nav-local .nav-local-inner > li.is-current > a::before {
        position: absolute;
        display: block;
        width: 10px;
        border-width: 6px 5px 0;
        border-style: solid;
        border-color: #c90a25 transparent transparent transparent;
        content: "";
    }
    .nav-local .nav-local-inner > li.is-current > a::before {
        top: 100%;
        right: 0;
        left: 0;
        margin: 0 auto;
    }
}

@media only screen and (min-width: 1400px) {
    .nav-local .nav-local-inner > li > a:lang(en) {
        padding-right: 30px;
        padding-left: 30px;
    }
}

.nav-utility-wrap {
    margin: 30px 0 0;
}

.nav-utility-wrap .nav-utility .nav-utility-inner {
    display: flex;
    flex-wrap: wrap;
    margin: -13px 0 0 -13px;
}

.nav-utility-wrap .nav-utility .nav-utility-inner > li {
    padding: 13px 0 0 13px;
}

.nav-utility-wrap .nav-utility .nav-utility-inner > li:nth-child(odd) {
    width: 60%;
}

.nav-utility-wrap .nav-utility .nav-utility-inner > li:nth-child(even) {
    width: 40%;
}

.nav-utility-wrap .nav-utility .nav-utility-inner > li > a {
    font-size: 1.3rem;
    color: #000;
}

.nav-utility-wrap .nav-utility .nav-utility-inner > li > a:hover, .nav-utility-wrap .nav-utility .nav-utility-inner > li > a:active, .nav-utility-wrap .nav-utility .nav-utility-inner > li > a:focus {
    color: #df0523;
    text-decoration: none;
}

@media only screen and (min-width: 1025px) {
    .nav-utility-wrap {
        position: relative;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .nav-utility-wrap .nav-utility {
        position: absolute;
        top: -127px;
        right: 20px;
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-end;
    }
    .nav-utility-wrap .nav-utility:lang(en) {
        top: -133px;
        flex-direction: row;
    }
    .nav-utility-wrap .nav-utility .nav-utility-inner {
        margin-top: -7px;
    }
    .nav-utility-wrap .nav-utility .nav-utility-inner > li {
        padding-left: 30px;
    }
    .nav-utility-wrap .nav-utility .nav-utility-inner > li:nth-child(odd), .nav-utility-wrap .nav-utility .nav-utility-inner > li:nth-child(even) {
        width: auto;
    }
}

@media only screen and (min-width: 1330px) {
    .nav-utility-wrap .nav-utility {
        top: -120px;
        flex-direction: row;
    }
    .nav-utility-wrap .nav-utility:lang(en) {
        top: -120px;
    }
}

/*
 * JS有効時
** ------------------------------------------------------ */
html[data-script-enabled="true"] .nav-header {
    position: relative;
    margin-top: 44px;
}

html[data-script-enabled="true"] .nav-header .nav-header-btn {
    position: absolute;
    top: -44px;
    right: 0;
    display: block;
    min-width: 44px;
    height: 44px;
    padding: 0;
    padding-top: 22px;
    color: #fff;
    background-color: #df0523;
    content: "";
}

html[data-script-enabled="true"] .nav-header .nav-header-btn::before, html[data-script-enabled="true"] .nav-header .nav-header-btn::after {
    position: absolute;
    right: 0;
    left: 0;
    display: block;
    width: 18px;
    margin: auto;
    border-top: solid 2px #fff;
    content: "";
    transition: transform .2s, top .2s, width .2s;
}

html[data-script-enabled="true"] .nav-header .nav-header-btn::before {
    top: 7px;
}

html[data-script-enabled="true"] .nav-header .nav-header-btn::after {
    top: 21px;
}

html[data-script-enabled="true"] .nav-header .nav-header-btn .txt {
    font-size: 1.2rem;
}

html[data-script-enabled="true"] .nav-header .nav-header-btn .txt::before {
    position: absolute;
    top: 14px;
    right: 0;
    left: 0;
    display: block;
    width: 18px;
    margin: auto;
    border-top: solid 2px #fff;
    content: "";
    transition: border-top .2s;
}

html[data-script-enabled="true"] .nav-header .nav-header-inner {
    position: absolute;
    display: none;
}

html[data-script-enabled="true"] .nav-header.is-open .nav-header-btn::before, html[data-script-enabled="true"] .nav-header.is-open .nav-header-btn::after {
    top: 14px;
    width: 20px;
}

html[data-script-enabled="true"] .nav-header.is-open .nav-header-btn::before {
    transform: rotate(45deg);
}

html[data-script-enabled="true"] .nav-header.is-open .nav-header-btn::after {
    transform: rotate(-45deg);
}

html[data-script-enabled="true"] .nav-header.is-open .nav-header-btn .txt::before {
    border-top-color: transparent;
}

@media only screen and (min-width: 769px) {
    html[data-script-enabled="true"] .nav-header {
        margin-top: 35px;
    }
    html[data-script-enabled="true"] .nav-header .nav-header-btn .txt {
        line-height: 1.65;
    }
    html[data-script-enabled="true"] .nav-header .nav-header-btn .txt::after {
        top: 3px;
    }
    html[data-script-enabled="true"] .nav-header .nav-header-inner {
        display: none;
    }
}

@media only screen and (min-width: 1025px) {
    html[data-script-enabled="true"] .nav-header {
        margin-top: 45px;
    }
    html[data-script-enabled="true"] .nav-header .nav-header-btn {
        display: none;
    }
    html[data-script-enabled="true"] .nav-header .nav-header-inner {
        position: relative;
        display: block !important;
    }
}

@media only screen and (min-width: 1330px) {
    html[data-script-enabled="true"] .nav-header {
        margin-top: 32px;
    }
}

html[data-script-enabled="true"] .nav-global .nav-global-inner > li > a .icon {
    transform: rotate(0);
}

html[data-script-enabled="true"] .nav-global .nav-global-inner > li.is-current > a {
    color: #df0523;
}

html[data-script-enabled="true"] .nav-global .nav-global-inner > li.is-open > a .icon {
    transform: rotate(180deg);
}

html[data-script-enabled="true"] .nav-local {
    display: none;
}

html[data-script-enabled="true"] .nav-local .nav-local-inner > li.is-current > a {
    background: #404040;
}

@media only screen and (min-width: 1025px) {
    html[data-script-enabled="true"] .is-current .nav-local {
        display: block;
    }
    html[data-script-enabled="true"] .nav-local .nav-local-inner > li.is-current > a {
        background: #c90a25;
    }
}

/*
 * header
** ------------------------------------------------------ */
#header-sf {
    position: relative;
}

#header-sf .header-inner {
    position: relative;
    display: flex;
    flex-direction: column;
}

#header-sf .header-inner .site-logo-sf {
    display: flex;
    padding: 20px 12px 19px;
}

#header-sf .header-inner .site-logo-sf > div {
    position: relative;
    padding: 0 6px;
}

#header-sf .header-inner .site-logo-sf > div > a {
    display: block;
}

#header-sf .header-inner .site-logo-sf > div > a > img {
    display: block;
}

#header-sf .header-inner .site-logo-sf > div:first-child {
    padding-left: 0;
}

#header-sf .header-inner .site-logo-sf > div:not(:first-child)::before {
    position: absolute;
    left: 0;
    display: block;
    width: 1px;
    height: 100%;
    background: #000;
    content: "";
}

#header-sf .header-inner .site-logo-sf .logo-kccs a img {
    width: 70px;
    height: 29px;
}

#header-sf .header-inner .site-logo-sf .logo-sigfox a img {
    width: 57px;
    height: 29px;
}

#header-sf .header-inner .header-txt {
    display: flex;
    align-items: center;
    padding: 3px 16px 2px;
    font-size: 1.2rem;
    background: #ddd;
}

@media only screen and (min-width: 769px) {
    #header-sf .header-inner {
        padding-top: 17px;
    }
    #header-sf .header-inner .site-logo-sf {
        padding: 0 16px;
    }
    #header-sf .header-inner .site-logo-sf > div {
        padding: 0 12px;
    }
    #header-sf .header-inner .site-logo-sf .logo-kccs a img {
        width: 82px;
        height: 34px;
    }
    #header-sf .header-inner .site-logo-sf .logo-sigfox a img {
        width: 67px;
        height: 34px;
    }
    #header-sf .header-inner .header-txt {
        margin-top: 17px;
    }
}

@media only screen and (min-width: 1025px) {
    #header-sf .header-inner {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        max-width: 1400px;
        margin: 0 auto;
        padding: 21px 20px;
    }
    #header-sf .header-inner .site-logo-sf {
        height: auto;
        padding: 0;
    }
    #header-sf .header-inner .site-logo-sf .logo-kccs a img {
        width: 140px;
        height: 58px;
    }
    #header-sf .header-inner .site-logo-sf .logo-sigfox a img {
        width: 114px;
        height: 58px;
    }
    #header-sf .header-inner .header-txt {
        height: auto;
        margin: 0 280px 0 0;
        padding: 0;
        font-size: 1.3rem;
        background: none;
    }
}

/*
 * header
** ------------------------------------------------------ */
#header-kanade {
    position: relative;
}

#header-kanade .site-logo-kanade {
    padding: 36px 20px 19px;
}

#header-kanade .site-logo-kanade > img {
    display: block;
    width: 180px;
    height: 42.75px;
}

@media only screen and (min-width: 769px) {
    #header-kanade {
        padding-top: 12px;
    }
    #header-kanade .site-logo-kanade {
        padding-right: 20px;
        padding-left: 20px;
    }
    #header-kanade .site-logo-kanade > img {
        width: 240px;
        height: 57px;
    }
}

@media only screen and (min-width: 1025px) {
    #header-kanade .site-logo-kanade {
        position: relative;
        display: block;
        max-width: 1400px;
        margin: 0 auto;
    }
}

/*----------------------------------------
 Footer
----------------------------------------*/
/*
 * footer
** ------------------------------------------------------ */
#footer {
    position: relative;
    padding: 35px 0;
    background: #000;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, .2);
}

#footer .footer-inner {
    padding: 0 20px;
}

#footer .footer-inner p {
    font-size: 1.2rem;
    color: #fff;
}

#footer .footer-inner .copyright {
    margin-top: 15px;
}

#footer .footer-inner .footer-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#footer .footer-inner .footer-col:last-child {
    margin-top: 15px;
}

@media only screen and (min-width: 769px) {
    #footer {
        padding: 25px 0 20px;
    }
    #footer .footer-inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: nowrap;
        max-width: 1400px;
        margin: 0 auto;
    }
    #footer .footer-inner .copyright {
        white-space: nowrap;
    }
    #footer .footer-inner .footer-col:first-child {
        width: 100%;
    }
    #footer .footer-inner .footer-col:last-child {
        align-items: flex-end;
        margin-top: 0;
        margin-left: 70px;
    }
    #footer .footer-inner:lang(en) .copyright {
        margin-top: 0;
    }
    #footer .footer-inner:lang(en) .footer-col:last-child {
        justify-content: flex-end;
    }
}

/*
 * nav-*
** ------------------------------------------------------ */
.nav-footer > li:not(:first-child) {
    margin-top: 10px;
}

.nav-footer > li > a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 13px;
    font-size: 1.4rem;
    color: #fff;
}

.nav-footer > li > a::before {
    position: absolute;
    top: .6em;
    left: 0;
    display: block;
    width: 5px;
    height: 8px;
    background-position: -137.5px -47px;
    background-size: 145px 117px;
    content: "";
}

@media only screen and (min-width: 769px) {
    .nav-footer {
        display: flex;
        flex-wrap: wrap;
    }
    .nav-footer > li {
        margin-right: 30px;
    }
    .nav-footer > li:not(:first-child) {
        margin-top: 0;
    }
}

/*
 * btn-top
** ------------------------------------------------------ */
.btn-top {
    position: absolute;
    top: -59px;
    right: 0;
    overflow: hidden;
    color: #fff;
}

.btn-top::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 15.2px;
    height: 8.8px;
    margin: auto;
    background-position: -64px -74.8px;
    background-size: 116px 93.6px;
    content: "";
    pointer-events: none;
}

.btn-top a {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    font-size: 1.0rem;
    color: transparent;
    background: #767676;
    opacity: .8;
}

.btn-top a::before {
    position: absolute;
    right: 10px;
    bottom: 11px;
    display: block;
    width: 60px;
    height: 60px;
    background: #545454;
    content: "";
    opacity: .3;
    transform: rotate(45deg);
}

.btn-top a::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 40px;
    height: 40px;
    background: #fff;
    content: "";
    opacity: 0;
    transition: .2s;
}

.btn-top a:hover::after, .btn-top a:active::after, .btn-top a:focus::after {
    opacity: .3;
}

@media only screen and (min-width: 769px) {
    .btn-top {
        top: -63px;
        right: 20px;
    }
    .btn-top::after {
        width: 19px;
        height: 11px;
        background-position: -80px -93.5px;
        background-size: 145px 117px;
    }
    .btn-top a {
        width: 48px;
        height: 48px;
    }
    .btn-top a::before {
        right: 14px;
        bottom: 13px;
        width: 70px;
        height: 70px;
    }
    .btn-top a::after {
        width: 48px;
        height: 48px;
    }
}

[data-script-enabled="true"] .btn-top.js-fixed.is-fixed {
    position: fixed;
    top: auto;
    right: 0;
    bottom: 0;
    z-index: 10;
}

@media only screen and (min-width: 769px) {
    [data-script-enabled="true"] .btn-top.js-fixed.is-fixed {
        right: 20px;
        bottom: 12px;
    }
}

[data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact {
    top: -204px;
}

@media only screen and (min-width: 769px) {
    [data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact {
        top: -194px;
    }
}

@media only screen and (min-width: 791px) {
    [data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact {
        top: -166px;
    }
}

@media only screen and (min-width: 1160px) {
    [data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact {
        top: -123px;
    }
}

[data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact.is-fixed {
    top: auto;
    bottom: 0;
}

@media only screen and (min-width: 769px) {
    [data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact.is-fixed {
        right: 20px;
        bottom: 107px;
    }
}

@media only screen and (min-width: 791px) {
    [data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact.is-fixed {
        bottom: 80px;
    }
}

@media only screen and (min-width: 1160px) {
    [data-script-enabled="true"] .btn-top.js-fixed.has-fixed-contact.is-fixed {
        bottom: 36px;
    }
}

/*
 * footer-note
** ------------------------------------------------------ */
.footer-note {
    margin: 30px 0 0;
}

@media only screen and (min-width: 769px) {
    .footer-note {
        margin-top: 20px;
    }
}

/*
 * footer
** ------------------------------------------------------ */
.footer-sf {
    position: relative;
    padding: 35px 0;
    background: #000;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, .2);
}

.footer-sf .footer-inner {
    padding: 0 20px;
}

.footer-sf .footer-inner p {
    font-size: 1.2rem;
    color: #fff;
}

.footer-sf .footer-inner .copyright {
    margin-top: 15px;
}

.footer-sf .footer-inner .footer-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer-sf .footer-inner .footer-col:last-child {
    margin-top: 15px;
}

@media only screen and (min-width: 769px) {
    .footer-sf {
        padding: 35px 0 30px;
    }
    .footer-sf .footer-inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: nowrap;
        max-width: 1400px;
        margin: 0 auto;
    }
    .footer-sf .footer-inner .copyright {
        white-space: nowrap;
    }
    .footer-sf .footer-inner .footer-col:first-child {
        width: 100%;
    }
    .footer-sf .footer-inner .footer-col:last-child {
        justify-content: flex-end;
        align-items: flex-end;
        margin-top: 0;
        margin-left: 70px;
    }
}

/*
 * footer-logo
** ------------------------------------------------------ */
.footer-logo {
    margin-bottom: 20px;
    font-size: 1rem;
}

.footer-logo .logo {
    width: 100%;
    max-width: 335px;
}

/*----------------------------------------
 Section
----------------------------------------*/
/*
 * #main
** ------------------------------------------------------ */
#main #container > *:last-child.section {
    margin-bottom: 80px;
}

#main #container > *:last-child[class^="section-index-"] {
    padding-bottom: 28px;
}

#main #container > *:last-child.section-full._contact .box-contact-b {
    padding-bottom: 28px;
}

@media only screen and (min-width: 769px) {
    #main #container > *:last-child.section {
        margin-bottom: 120px;
    }
    #main #container > *:last-child.section-full._contact .box-contact-b {
        padding-bottom: 0;
    }
}

/*
 * section
** ------------------------------------------------------ */
.section {
    margin-top: 50px;
}

.section .section-inner {
    padding: 0 20px;
}

.section .section-inner > *:first-child {
    margin-top: 0;
}

.section._relate + .section-full._confirm {
    margin-top: 30px;
}

.section._language {
    margin-bottom: 0 !important;
    padding-bottom: 100px;
    background: url(/language/img/bg-index-01.png) no-repeat right bottom;
    background-size: 50%;
}

@media only screen and (min-width: 769px) {
    .section {
        margin-top: 120px;
    }
    .section .section-inner {
        max-width: 1400px;
        margin: 0 auto;
    }
    .section._relate + .section-full._confirm {
        margin-top: 60px;
    }
    .section._language {
        padding-bottom: 276px;
        background: url(/language/img/bg-index-01.png) no-repeat right bottom;
        background-size: inherit;
    }
}

/*
 * section-head
** ------------------------------------------------------ */
.section-head-wrap {
    display: flex;
    flex-direction: column;
}

.section-head-wrap .section-head {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 175px;
    background: url(/shared/img/bg-head-01.jpg) center top;
    background-size: 600px 180px;
}

.section-head-wrap .section-head .section-head-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 10px 20px 25px;

    flex-grow: 1;
}

#company .section-head-wrap .section-head {
    background: url(/company/img/bg-head-01.jpg) center top no-repeat;
    background-size: cover;
}

#com-engineering .section-head-wrap .section-head, #env-engineering .section-head-wrap .section-head, #ict .section-head-wrap .section-head, #consulting .section-head-wrap .section-head {
    position: relative;
    overflow: inherit;
    height: 208.5px;
    min-height: auto;
}

#com-engineering .section-head-wrap .section-head {
    background: url(/com-engineering/img/bg-head-01.jpg) center no-repeat;
    background-size: cover;
}

#env-engineering .section-head-wrap .section-head {
    background: url(/env-engineering/img/bg-head-01.jpg) center no-repeat;
    background-size: cover;
}

#ict .section-head-wrap .section-head {
    min-height: auto;
    background: url(/ict/img/bg-head-01.jpg) top center no-repeat;
    background-size: cover;
}

#consulting .section-head-wrap .section-head {
    min-height: auto;
    background: url(/consulting/img/bg-head-01.jpg) top center no-repeat;
    background-size: cover;
}

.section-head-wrap + *:not([class^="section-index-"]):not([class^="section-mv-a"]) {
    margin-top: 30px;
}

@media only screen and (min-width: 640px) {
    #com-engineering .section-head-wrap {
        margin-bottom: 8.5714vw;
    }
    #env-engineering .section-head-wrap {
        margin-bottom: 8.5714vw;
    }
}

@media only screen and (min-width: 769px) {
    .section-head-wrap .section-head {
        min-height: 260px;
        background-size: 867px 260px;
    }
    .section-head-wrap .section-head .section-head-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 20px;
        padding-bottom: 40px;
    }
    #com-engineering .section-head-wrap .section-head, #env-engineering .section-head-wrap .section-head, #ict .section-head-wrap .section-head, #consulting .section-head-wrap .section-head {
        height: auto;
    }
    #com-engineering .section-head-wrap .section-head {
        max-height: 540px;
    }
    #env-engineering .section-head-wrap .section-head {
        max-height: 540px;
    }
    #ict .section-head-wrap .section-head {
        max-height: 540px;
        padding-bottom: 14.261075vw;
    }
    #consulting .section-head-wrap .section-head {
        max-height: 540px;
        padding-bottom: 14.261075vw;
    }
    .section-head-wrap + *:not([class^="section-index-"]):not([class^="section-mv-a"]) {
        margin-top: 50px;
    }
}

@media only screen and (min-width: 1400px) {
    #com-engineering .section-head-wrap {
        margin-bottom: 120px;
    }
    #com-engineering .section-head-wrap .section-head {
        padding-bottom: 280px;
    }
    #env-engineering .section-head-wrap {
        margin-bottom: 120px;
    }
    #env-engineering .section-head-wrap .section-head {
        padding-bottom: 280px;
    }
    #ict .section-head-wrap .section-head {
        padding-bottom: 280px;
    }
    #consulting .section-head-wrap .section-head {
        padding-bottom: 280px;
    }
}

/*
 * section-full
** ------------------------------------------------------ */
.section-full {
    width: 100%;
    margin-top: 50px;
}

.section-full._contact + .section {
    margin-top: 30px;
}

.section-full._contact + .section-full._confirm {
    margin-top: 0;
}

.section-full._confirm + .section-contact-a {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .section-full {
        margin-top: 120px;
    }
    .section-full._contact + .section {
        margin-top: 60px;
    }
}

/*
 * section-indent（お問い合わせ用）
** ------------------------------------------------------ */
.section-indent + .section-indent {
    margin-top: 50px;
}

@media only screen and (min-width: 769px) {
    .section-indent + .section-indent {
        margin-top: 120px;
    }
}

/*
 * section-mv
** ------------------------------------------------------ */
@media only screen and (min-width: 769px) {
    .section-mv-a {
        margin-top: -14.261075vw;
        margin-bottom: -22.035287vw;
    }
    .section-mv-a + * {
        margin-top: 22.035287vw;
    }
    .section-mv-a + .section-index-f .section-index-inner {
        padding-top: 45px;
    }
}

@media only screen and (min-width: 1400px) {
    .section-mv-a {
        margin-top: -280px;
        margin-bottom: -230px;
    }
    .section-mv-a + * {
        margin-top: 230px;
    }
}

.section-mv-b {
    overflow: hidden;
}

.section-mv-b .section-mv-inner {
    display: flex;
    flex-direction: column;
    max-width: 1600px;
    margin: 0 auto;
}

.section-mv-b .section-mv-inner > * {
    width: 100%;
    margin: 0;
    padding: 0;
}

.section-mv-b + .section-index-j {
    border-top: solid 1px #ddd;
}

@media only screen and (min-width: 769px) {
    .section-mv-b .section-mv-inner {
        flex-direction: row;
        flex-wrap: nowrap;

        flex-shrink: 0;
    }
    .section-mv-b .section-mv-inner > * {
        width: 50%;
    }
    .section-mv-b + .section-index-j {
        border-top: none;
    }
}

/*
 * section-message
** ------------------------------------------------------ */
.section-message-a {
    background-color: #f7eded;
    box-shadow: 0 6px 24px -6px rgba(0, 0, 0, .2) inset;
}

.section-message-a .section-message-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px 20px;
}

.section-message-a .section-message-inner > p {
    text-align: center;
}

.section-message-a .section-message-inner > .list-desc-b {
    margin-top: 0;
    text-align: center;
}

/*
 * section-index
** ------------------------------------------------------ */
.section-index-a {
    position: relative;
    overflow: hidden;
}

.section-index-a::before {
    position: absolute;
    top: 0;
    left: -11px;
    z-index: -1;
    display: block;
    width: 810px;
    height: 981px;
    background: url(/shared/img/bg-section-01.png) top left no-repeat;
    background-size: 54vw;
    content: "";
}

.section-index-a > .section-index-inner {
    padding: 37px 20px 50px;
}

.section-index-a > .section-index-inner > *:first-child {
    margin-top: 0;
}

.section-index-a._top {
    border-top: solid 1px #ddd;
}

@media only screen and (min-width: 769px) {
    .section-index-a::before {
        left: 50%;
        margin-left: -580px;
        background-size: auto;
    }
    .section-index-a > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 75px;
        padding-bottom: 80px;
    }
    .section-index-a._sp-top {
        border-top: none;
    }
}

@media only screen and (min-width: 1160px) {
    .section-index-a::before {
        left: 0;
        margin-left: auto;
    }
}

.section-index-b {
    background: #eee;
}

.section-index-b > .section-index-inner {
    padding: 37px 20px 50px;
}

.section-index-b > .section-index-inner > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .section-index-b > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 75px;
        padding-bottom: 80px;
    }
}

.section-index-c {
    background: #eee;
}

.section-index-c > .section-index-inner {
    padding: 37px 20px 50px;
}

.section-index-c > .section-index-inner > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .section-index-c > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 75px;
        padding-bottom: 80px;
    }
}

.section-index-d + .section-index-d > .section-index-inner {
    padding-top: 0;
}

.section-index-h + .section-index-d {
    border-top: solid 1px #ddd;
}

.section-index-d > .section-index-inner {
    padding: 37px 20px 50px;
}

.section-index-d > .section-index-inner > *:first-child {
    margin-top: 0;
}

.section-index-d._top {
    background: #fff;
    border-top: solid 1px #ddd;
}

@media only screen and (min-width: 769px) {
    .section-index-h + .section-index-d {
        border-top: none;
    }
    .section-index-d > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 75px;
        padding-bottom: 80px;
    }
}

.section-index-e {
    box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .2);
}

.section-index-e > .section-index-inner > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .section-index-e > .section-index-inner {
        margin: 0 auto;
    }
}

.section-index-f {
    position: relative;
    border-top: solid 1px #ddd;
}

.section-index-f::before {
    position: absolute;
    top: 0;
    left: -11px;
    z-index: -1;
    display: block;
    width: 810px;
    max-width: 100%;
    height: 981px;
    background: url(/shared/img/bg-section-01.png) top left no-repeat;
    background-size: 54vw;
    content: "";

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.section-index-f > .section-index-inner {
    padding: 37px 20px 50px;
}

.section-index-f > .section-index-inner > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .section-index-f {
        overflow-y: inherit;
        border-top: none;
    }
    .section-index-f::before {
        top: 0;
        left: 0;
        width: 686px;
        max-width: 100%;
        height: 977px;
        margin-top: -22.11vw;
        background: url(/shared/img/bg-section-02.png) top left no-repeat;
        background-size: 44vw;
    }
    .section-index-f > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 75px;
        padding-bottom: 80px;
    }
}

@media only screen and (min-width: 1400px) {
    .section-index-f::before {
        margin-top: -230px;
        background-size: auto;
    }
}

.section-index-g {
    background: #eee;
}

.section-index-g > .section-index-inner {
    padding: 37px 0 50px;
}

.section-index-g > .section-index-inner > *:first-child {
    margin-top: 0;
}

.section-index-g > .section-index-inner > .section-index-item {
    padding: 0 20px;
}

@media only screen and (min-width: 769px) {
    .section-index-h + .section-index-g {
        margin-top: -80px;
    }
    .section-index-g > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding: 75px 0 80px;
    }
}

.section-index-h {
    background: #eee;
}

@media only screen and (min-width: 769px) {
    .section-index-h {
        margin-top: -14.261075vw;
        padding: 0 20px;
    }
    .section-index-h > .section-index-inner {
        max-width: 1360px;
        margin: 0 auto;
        padding-bottom: 80px;
    }
}

@media only screen and (min-width: 1400px) {
    .section-index-h {
        margin-top: -280px;
    }
}

.section-index-i {
    position: relative;
    background-color: rgba(237, 237, 237, .9);
}

.section-index-i > .section-index-inner {
    padding: 37px 20px 50px;
}

.section-index-i > .section-index-inner > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .section-index-i > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 75px;
        padding-bottom: 80px;
    }
}

.section-index-j {
    position: relative;
}

.section-index-j::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 80px;
    max-width: 100%;
    height: 114px;
    background: url(/shared/img/bg-section-04.png) top left no-repeat;
    content: "";

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.section-index-j > .section-index-inner {
    padding: 45px 20px 50px;
}

.section-index-j > .section-index-inner > *:first-child {
    margin-top: 0;
}

.section-index-j > .section-index-inner .img-brand > img {
    display: block;
    max-width: 175px;
    margin: 0 auto;
}

.section-index-j > .section-index-inner .img-brand + * {
    margin-top: 45px;
}

.section-index-j > .section-index-inner > p {
    text-align: center;
}

.section-index-j > .section-index-inner:lang(ja) {
    padding-top: 25px;
}

.section-index-j > .section-index-inner:lang(ja) .img-brand + * {
    margin-top: 6px;
}

.section-index-j:lang(en), .section-index-j:lang(zh-cn), .section-index-j:lang(ko), .section-index-j:lang(vi), .section-index-j:lang(my) {
    overflow: hidden;
}

@media only screen and (min-width: 769px) {
    .section-index-j::before {
        top: 0;
        left: 0;
        left: 50%;
        width: 400px;
        max-width: 100%;
        height: 568px;
        margin-left: -540px;
        background: url(/shared/img/bg-section-03.png) top left no-repeat;
    }
    .section-index-j > .section-index-inner {
        max-width: 1640px;
        margin: 0 auto;
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .section-index-j > .section-index-inner .img-brand > img {
        max-width: 100%;
    }
    .section-index-j > .section-index-inner .img-brand + * {
        margin-top: 35px;
    }
    .section-index-j > .section-index-inner:lang(ja) {
        padding-top: 80px;
    }
    .section-index-j > .section-index-inner:lang(ja) .img-brand + * {
        margin-top: 5px;
    }
}

@media only screen and (min-width: 1080px) {
    .section-index-j::before {
        left: 0;
        margin-left: auto;
    }
}

.section-index-k {
    background: #f7eded;
}

.section-index-k > .section-index-inner {
    padding: 37px 20px 50px;
}

.section-index-k > .section-index-inner .hdg-g + p {
    text-align: left;
}

.section-index-k > .section-index-inner > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .section-index-k > .section-index-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 75px;
        padding-bottom: 80px;
    }
    .section-index-k > .section-index-inner .hdg-g + p {
        text-align: center;
    }
}

/*
 * section
** ----------------------------------------------------- */
.section._sf {
    margin-top: 50px;
}

/*
 * section-head
** ----------------------------------------------------- */
#ideacontest2019 .section-head {
    width: 100%;
    height: 90vw;
    max-height: 600px;
    background: url("/contents/ideacontest2019/img/mv-sf-02.jpg") left top no-repeat;
    background-size: cover;
}

#ideacontest2019 .section-head .section-head-inner {
    display: flex;
    align-items: flex-end;
    max-width: 1400px;
    height: 100%;
    margin: 0 auto;
    padding: 24px 20px;
}

#ideacontest2019 .section-head .section-head-inner .item {
    width: 100%;
}

#ideacontest2019 .section-head .section-head-inner .item .hdg-k-wrap {
    color: #fff;
}

#ideacontest2019 .section-head .section-head-inner .item .hdg-k-wrap .hdg-k {
    font-size: 8vw;
    line-height: 1.2;
}

#ideacontest2019 .section-head .section-head-inner .item .hdg-k-wrap .hdg-k .sub {
    font-size: 4vw;
}

@media only screen and (min-width: 769px) {
    #ideacontest2019 .section-head {
        height: 38vw;
        max-height: 580px;
        background-image: url("/contents/ideacontest2019/img/mv-sf-01.jpg");
        background-position: right top;
    }
    #ideacontest2019 .section-head .section-head-inner {
        align-items: center;
        padding: 0 20px;
    }
    #ideacontest2019 .section-head .section-head-inner .item {
        width: auto;
    }
    #ideacontest2019 .section-head .section-head-inner .item .hdg-k-wrap .hdg-k {
        font-size: 5vw;
        line-height: 1.1;
    }
    #ideacontest2019 .section-head .section-head-inner .item .hdg-k-wrap .hdg-k .sub {
        font-size: 3vw;
    }
}

@media only screen and (min-width: 1025px) {
    #ideacontest2019 .section-head .section-head-inner .item .hdg-k-wrap .hdg-k {
        font-size: 6rem;
        line-height: 1.2;
    }
    #ideacontest2019 .section-head .section-head-inner .item .hdg-k-wrap .hdg-k .sub {
        font-size: 3.2rem;
    }
}

/*
 * section
** ----------------------------------------------------- */
#lp-kanade .section {
    margin-top: 32px;
}

/* ==============================================================================================
 Modules
================================================================================================= */
/*
 * p
** ------------------------------------------------------ */
* + p, .js-more > p:first-child {
    margin-top: 24px;
}

/*
 * txt-lead
** ------------------------------------------------------ */
.txt-lead-a {
    margin: 20px 0 0;
}

.txt-lead-a > b {
    line-height: 1.5;
    background: linear-gradient(to bottom, #fff 0%, #fff 60%, #f5d3c4 60%, #f5d3c4 95%, #fff 95%);
}

.txt-lead-a + * {
    margin-top: 24px;
}

@media only screen and (min-width: 769px) {
    .txt-lead-a {
        margin-top: 25px;
    }
    .txt-lead-a > b {
        font-size: 2.8rem;
    }
    .txt-lead-a + * {
        margin-top: 36px;
    }
}

.txt-lead-b {
    margin: 20px 0 0;
}

.txt-lead-b > b {
    line-height: 1.5;
    background: linear-gradient(to bottom, #fff 0%, #fff 60%, #f5d3c4 60%, #f5d3c4 95%, #fff 95%);
}

.txt-lead-b + * {
    margin-top: 24px;
}

@media only screen and (min-width: 769px) {
    .txt-lead-b {
        margin-top: 25px;
    }
    .txt-lead-b > b {
        font-size: 2.0rem;
    }
}

/*
 * txt-caption
** ------------------------------------------------------ */
.txt-caption-a {
    font-size: 1.2rem;
    text-align: right;
}

@media only screen and (min-width: 769px) {
    .txt-caption-a {
        font-size: 1.4rem;
    }
}

.txt-caption-b {
    font-size: 1.6rem;
    text-align: right;
}

@media only screen and (min-width: 769px) {
    .txt-caption-b {
        font-size: 2.0rem;
    }
}

.txt-caption-c {
    margin: 15px 0 0;
    font-size: 1.2rem;
    text-align: center;
}

@media only screen and (min-width: 769px) {
    .txt-caption-c {
        font-size: 1.4rem;
    }
}

/*
 * txt-icon
** ------------------------------------------------------ */
.txt-icon-a .txt {
    position: relative;
    display: block;
    padding: 0 0 0 34px;
}

.txt-icon-a .txt::before {
    position: absolute;
    left: 0;
    display: block;
    content: "";
}

.txt-icon-a._icon-dl .txt::before {
    top: -3px;
    bottom: 0;
    width: 22px;
    height: 18px;
    margin: auto 0;
    background-position: -55.5px -93.5px;
    background-size: 145px 117px;
}

/*
 * txt-count
** ------------------------------------------------------ */
.txt-count-a {
    margin: 20px 0 0;
}

.txt-count-a .num {
    font-weight: bold;
    font-size: 2.0rem;
}

.txt-count-a + *, .txt-count-a + .link-pnl-f {
    margin-top: 5px;
}

@media only screen and (min-width: 769px) {
    .txt-count-a {
        margin-top: 40px;
    }
    .txt-count-a .num {
        font-size: 2.4rem;
    }
    .txt-count-a + *, .txt-count-a + .link-pnl-f {
        margin-top: 10px;
    }
}

/*
 * txt-scroll
** ------------------------------------------------------ */
.txt-scroll-a {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    height: 250px;
    margin: 20px 0 0;
    padding: 10px 15px;
    border: solid 1px #ddd;
}

.txt-scroll-a > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .txt-scroll-a {
        height: 300px;
        margin-top: 40px;
        padding: 14px 20px;
    }
}

/*
 * txt-size
** ------------------------------------------------------ */
.txt-size-a {
    font-size: 1rem;
}

@media only screen and (min-width: 769px) {
    .txt-size-a {
        font-size: 1.2rem;
    }
}

.txt-size-b {
    font-size: 1.2rem;
}

@media only screen and (min-width: 769px) {
    .txt-size-b {
        font-size: 1.4rem;
    }
}

.txt-size-c {
    font-weight: bold;
    font-size: 1.4rem;
}

@media only screen and (min-width: 769px) {
    .txt-size-c {
        font-size: 2rem;
    }
}

.txt-size-d {
    font-weight: bold;
    font-size: 1.5rem;
}

@media only screen and (min-width: 769px) {
    .txt-size-d {
        font-size: 2.4rem;
    }
}

/*
 * icon
** ------------------------------------------------------ */
.icon-a {
    position: relative;
    margin: 0 5px;
}

.icon-a._icon-window {
    top: 1px;
    width: 13px;
}

.icon-a._icon-pdf {
    top: 2px;
    width: 14px;
}

/*
 * icon-tel
** ------------------------------------------------------ */
.icon-tel-a > img {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

/*
 * icon-required
** ------------------------------------------------------ */
.icon-required-a {
    position: relative;
    top: -2px;
    display: inline-block;
    margin: 0 5px 0 0;
    padding: 3px 10px 2px;
    font-size: 1.0rem;
    color: #fff;
    background: #e5374f;
    border-radius: 2px;
}

@media only screen and (min-width: 769px) {
    .icon-required-a {
        font-size: 1.2rem;
    }
}

/*
 * innerList_margin_adjust
** ------------------------------------------------------ */
[class^="list-bullet-"] > li [class^="list-bullet-"], [class^="list-bullet-"] > li [class^="list-order-"], [class^="list-bullet-"] > li [class^="list-note-"], [class^="list-order-"] > li [class^="list-bullet-"], [class^="list-order-"] > li [class^="list-order-"], [class^="list-order-"] > li [class^="list-note-"], [class^="list-note-"] > li [class^="list-bullet-"], [class^="list-note-"] > li [class^="list-order-"], [class^="list-note-"] > li [class^="list-note-"] {
    margin-top: 7px;
}

[class^="list-bullet-"] .box-a, [class^="list-order-"] .box-a, [class^="list-note-"] .box-a {
    margin-top: 15px;
    margin-bottom: 15px;
}

@media only screen and (min-width: 769px) {
    [class^="list-bullet-"] .box-a, [class^="list-order-"] .box-a, [class^="list-note-"] .box-a {
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

/*
 * list-bullet
** ------------------------------------------------------ */
.list-bullet-a {
    margin: 24px 0 0;
}

.list-bullet-a > li {
    position: relative;
    padding: 0 0 0 28px;
}

.list-bullet-a > li::before {
    position: absolute;
    top: 9px;
    left: 10px;
    display: block;
    width: 0;
    height: 0;
    border: solid 3px #999;
    border-radius: 3px;
    content: "";
}

.list-bullet-a > li .list-bullet-a > li {
    padding-left: 23px;
}

.list-bullet-a > li .list-bullet-a > li::before {
    left: 4px;
}

.list-bullet-a > li:not(:first-child) {
    padding-top: 7px;
}

.list-bullet-a > li:not(:first-child)::before {
    top: 16px;
}

@media only screen and (min-width: 769px) {
    .list-bullet-a > li::before {
        top: 12px;
    }
    .list-bullet-a > li:not(:first-child)::before {
        top: 19px;
    }
}

/*
 * list-order
** ------------------------------------------------------ */
.list-order-a {
    margin: 24px 0 0;
    counter-reset: num;
}

.list-order-a > li {
    display: table;
    width: 100%;
    counter-increment: num;
}

.list-order-a > li::before {
    display: table-cell;
    min-width: 20px;
    vertical-align: top;
    text-align: right;
    line-height: 1.67;
    white-space: nowrap;
    content: counter(num) ".";
}

.list-order-a > li > .item {
    display: table-cell;
    width: 100%;
    padding: 0 0 0 8px;
}

.list-order-a > li:not(:first-child) {
    padding-top: 7px;
}

@media only screen and (min-width: 769px) {
    .list-order-a > li {
        min-width: 25px;
    }
}

.list-order-b {
    margin: 24px 0 0;
}

.list-order-b > li {
    display: table;
    margin-left: -8px;
}

.list-order-b > li > * {
    display: table-cell;
    vertical-align: top;
}

.list-order-b > li > .mark {
    position: relative;
    padding: 0 13px;
    white-space: nowrap;
}

.list-order-b > li > .mark::before, .list-order-b > li > .mark::after {
    position: absolute;
    top: 0;
    display: block;
}

.list-order-b > li > .mark::before {
    left: -2px;
    content: "（";
}

.list-order-b > li > .mark::after {
    right: -2px;
    content: "）";
}

.list-order-b > li > .mark:lang(en)::before {
    left: 6px;
    content: "(";
}

.list-order-b > li > .mark:lang(en)::after {
    right: 6px;
    content: ")";
}

.list-order-b > li:not(:first-child) {
    padding-top: 7px;
}

@media only screen and (min-width: 769px) {
    .list-order-b > li > .mark::before {
        left: -6px;
    }
    .list-order-b > li > .mark::after {
        right: -6px;
    }
}

.list-order-c {
    margin: 24px 0 0;
}

.list-order-c > li {
    display: table;
}

.list-order-c > li > * {
    display: table-cell;
    vertical-align: top;
}

.list-order-c > li > .mark {
    white-space: nowrap;
}

.list-order-c > li > .item {
    padding: 0 0 0 9px;
}

.list-order-c > li:not(:first-child) {
    padding-top: 7px;
}

/*
 * list-note
** ------------------------------------------------------ */
.list-note-a {
    margin: 24px 0 0;
}

.list-note-a > li {
    display: table;
    font-size: 1.2rem;
}

.list-note-a > li > * {
    display: table-cell;
    vertical-align: top;
}

.list-note-a > li > .mark {
    white-space: nowrap;
}

.list-note-a > li > .item {
    padding: 0 0 0 6px;
}

.list-note-a > li:not(:first-child) {
    padding-top: 7px;
}

@media only screen and (min-width: 769px) {
    .list-note-a > li {
        font-size: 1.6rem;
    }
}

/*
 * list-desc
** ------------------------------------------------------ */
.list-desc-a {
    width: 100%;
    margin: 14px 0 0;
}

.list-desc-a > div {
    padding: 10px 15px;
    background: #eee;
}

.list-desc-a > div dt {
    font-weight: bold;
}

.list-desc-a > div dd {
    margin: 6px 0 0;
}

.list-desc-a > div dd > *:first-child {
    margin-top: 0;
}

.list-desc-a > div + div {
    border-top: solid 1px #fff;
}

@media only screen and (min-width: 769px) {
    .list-desc-a {
        display: table;
        margin-top: 25px;
    }
    .list-desc-a > div {
        display: table-row;
        padding: 0;
    }
    .list-desc-a > div > * {
        display: table-cell;
    }
    .list-desc-a > div dt {
        padding: 20px 0 20px 24px;
        white-space: nowrap;
    }
    .list-desc-a > div dd {
        padding: 20px 24px 20px 50px;
    }
    .list-desc-a > div + div {
        border: none;
    }
    .list-desc-a > div + div > * {
        border-top: solid 1px #fff;
    }
}

.list-desc-b {
    margin: 24px 0 0;
}

.list-desc-b > div dt {
    font-weight: bold;
}

.list-desc-b > div + div {
    margin-top: 8px;
}

@media only screen and (min-width: 769px) {
    .list-desc-b > div + div {
        margin-top: 18px;
    }
}

#lp-kanade .list-desc-b {
    margin-top: 48px;
}

.list-desc-c {
    margin: 24px 0 0;
}

.list-desc-c > div {
    display: flex;
    width: 100%;
}

.list-desc-c > div dt {
    width: 60px;
    font-weight: bold;

    flex-shrink: 0;
}

.list-desc-c > div dd {
    margin-left: 20px;
}

@media only screen and (min-width: 769px) {
    .list-desc-c > div {
        font-size: 1.6rem;
    }
    .list-desc-c > div dt {
        width: 65px;
    }
    .list-desc-c > div dd {
        margin-left: 37px;
    }
}

/*
 * list-feature
** ------------------------------------------------------ */
.list-feature-a {
    margin: 40px 0 0;
}

.list-feature-a > li .lead {
    display: flex;
    flex-wrap: nowrap;
}

.list-feature-a > li .lead .num {
    display: block;
    min-width: 30px;
    height: 30px;
    margin: 0 10px 0 0;
    padding: 3px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background: linear-gradient(135deg, #df0523 0%, #df0523 50%, #e64607 50%, #e64607 100%);
}

.list-feature-a > li .lead > b {
    margin: 5px 0 0;
    color: #000;
    line-height: 1.5;
}

.list-feature-a > li .lead + * {
    margin-top: 10px;
}

.list-feature-a > li:not(:first-child) {
    margin: 27px 0 0;
}

.list-feature-a > li > [class^="lyt-"], .list-feature-a > li > [class^="tbl-"], .list-feature-a > li > [class^="box-"] {
    margin-top: 20px;
}

.list-feature-a + *:not(.section-indent):not(.hdg-b-wrap) {
    margin-top: 40px;
}

@media only screen and (min-width: 769px) {
    .list-feature-a {
        margin-top: 60px;
    }
    .list-feature-a > li .lead .num {
        min-width: 48px;
        height: 48px;
        margin-right: 22px;
        padding: 0;
        font-size: 2.8rem;
    }
    .list-feature-a > li .lead > b {
        margin-top: 7px;
        font-size: 2.4rem;
    }
    .list-feature-a > li .lead + * {
        margin-top: 20px;
    }
    .list-feature-a > li:not(:first-child) {
        margin-top: 32px;
    }
    .list-feature-a > li > [class^="lyt-"], .list-feature-a > li > [class^="tbl-"], .list-feature-a > li > [class^="box-"] {
        margin-top: 25px;
    }
    .list-feature-a + *:not(.section-indent):not(.hdg-b-wrap) {
        margin-top: 60px;
    }
}

/*
 * list-share
** ------------------------------------------------------ */
.list-share {
    display: flex;
    color: #c90a25;
}

.list-share > li:not(:first-child) {
    margin: 0 0 0 10px;
}

.list-share > li.facebook .fb-share-button > span {
    vertical-align: middle !important;
}

.list-share > li.twitter > iframe {
    display: inline-block;
    vertical-align: middle;
}

.list-share-sf {
    display: flex;
    justify-content: center;
}

.list-share-sf > li:not(:first-child) {
    margin-left: 20px;
}

.list-share-sf > li > a {
    display: block;
}

.list-share-sf > li > a .icon-sns {
    display: block;
    width: 52px;
    height: 52px;
}

@media only screen and (min-width: 769px) {
    .list-share-sf {
        margin-bottom: 10px;
    }
}

/*
 * list-news
** ------------------------------------------------------ */
.list-news-a {
    margin: 30px 0 0;
    border-bottom: dashed 1px #ccc;
}

.list-news-a .list-news-inner > li {
    border-top: dashed 1px #ccc;
}

.list-news-a .list-news-inner > li > a {
    position: relative;
    color: #000;
}

.list-news-a .list-news-inner > li > a:hover, .list-news-a .list-news-inner > li > a:active, .list-news-a .list-news-inner > li > a:focus {
    text-decoration: none;
}

.list-news-a .list-news-inner > li > a:hover .date, .list-news-a .list-news-inner > li > a:active .date, .list-news-a .list-news-inner > li > a:focus .date {
    color: #000;
}

.list-news-a .list-news-inner > li > a:hover .item, .list-news-a .list-news-inner > li > a:active .item, .list-news-a .list-news-inner > li > a:focus .item {
    color: #1257b8;
    text-decoration: underline;
}

.list-news-a .list-news-inner > li > a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: block;
    width: 8px;
    height: 12px;
    margin: auto;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

.list-news-a .list-news-inner > li > a, .list-news-a .list-news-inner > li > div {
    display: block;
    padding: 18px 20px 13px 0;
}

.list-news-a .list-news-inner > li > a .label > span, .list-news-a .list-news-inner > li > div .label > span {
    position: relative;
    display: inline-block;
    min-width: 112px;
    min-height: 24px;
    margin: 0 12px 0 0;
    padding: 4px 8px 4px 8px;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.4;
    background: #ccc;
}

.list-news-a .list-news-inner > li > a .label > span::before, .list-news-a .list-news-inner > li > a .label > span::after, .list-news-a .list-news-inner > li > div .label > span::before, .list-news-a .list-news-inner > li > div .label > span::after {
    position: absolute;
    left: 100%;
    display: block;
    width: 12px;
    height: 50%;
    content: "";
}

.list-news-a .list-news-inner > li > a .label > span::before, .list-news-a .list-news-inner > li > div .label > span::before {
    top: 0;
    background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #ccc 50.5%) no-repeat top left/100% 100%;
}

.list-news-a .list-news-inner > li > a .label > span::after, .list-news-a .list-news-inner > li > div .label > span::after {
    bottom: 0;
    background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #ccc 50.5%) no-repeat bottom right/100% 100%;
}

.list-news-a .list-news-inner > li > a .label > span > br, .list-news-a .list-news-inner > li > div .label > span > br {
    display: none;
}

.list-news-a .list-news-inner > li > a .label + .date, .list-news-a .list-news-inner > li > div .label + .date {
    margin-top: 10px;
}

.list-news-a .list-news-inner > li > a .item, .list-news-a .list-news-inner > li > div .item {
    margin: 3px 0 0;
}

.list-news-a .list-news-inner > li > a .item-wrap, .list-news-a .list-news-inner > li > div .item-wrap {
    margin-top: 10px;
}

.list-news-a .list-news-inner > li > a .item-wrap .date, .list-news-a .list-news-inner > li > div .item-wrap .date {
    font-weight: bold;
}

.list-news-a .list-news-inner > li > a .update, .list-news-a .list-news-inner > li > div .update {
    margin-top: 4px;
}

@media only screen and (min-width: 769px) {
    .list-news-a {
        margin-top: 40px;
    }
    .list-news-a .list-news-inner > li > a, .list-news-a .list-news-inner > li > div {
        display: table;
        width: 100%;
        padding: 0;
    }
    .list-news-a .list-news-inner > li > a > *, .list-news-a .list-news-inner > li > div > * {
        display: table-cell;
        padding-top: 14px;
        padding-bottom: 14px;
        vertical-align: top;
    }
    .list-news-a .list-news-inner > li > a > *:first-child, .list-news-a .list-news-inner > li > div > *:first-child {
        padding-left: 1px;
    }
    .list-news-a .list-news-inner > li > a > *:last-child, .list-news-a .list-news-inner > li > div > *:last-child {
        padding-right: 30px;
        padding-left: 30px;
    }
    .list-news-a .list-news-inner > li > a .label > span, .list-news-a .list-news-inner > li > div .label > span {
        display: block;
        width: 145px;
        margin-top: 5px;
    }
    .list-news-a .list-news-inner > li > a .label > span > br, .list-news-a .list-news-inner > li > div .label > span > br {
        display: block;
    }
    .list-news-a .list-news-inner > li > a .label + *, .list-news-a .list-news-inner > li > div .label + * {
        margin: 0;
        padding-left: 18px;
    }
    .list-news-a .list-news-inner > li > a > .date, .list-news-a .list-news-inner > li > div > .date {
        max-width: 109px;
    }
    .list-news-a .list-news-inner > li > a > .date + *, .list-news-a .list-news-inner > li > div > .date + * {
        padding-left: 30px;
    }
    .list-news-a .list-news-inner > li > a .item, .list-news-a .list-news-inner > li > div .item {
        width: 100%;
        margin: 0;
    }
    .list-news-a .list-news-inner > li > a .item-wrap, .list-news-a .list-news-inner > li > div .item-wrap {
        width: 100%;
    }
    .list-news-a .list-news-inner > li > a .update, .list-news-a .list-news-inner > li > div .update {
        min-width: 190px;
        font-size: 1.4rem;
        vertical-align: middle;
    }
}

/*
 * list-dashed
** ------------------------------------------------------ */
.list-dashed-a {
    margin: 30px 0 0;
}

.list-dashed-a > li {
    margin: 25px 0 0;
    padding: 0 0 20px;
    border-bottom: dashed 1px #ccc;
}

.list-dashed-a > li > *:first-child {
    margin-top: 0;
}

.list-dashed-a > li:first-child {
    margin-top: 0;
}

.list-dashed-a > li:last-child {
    border-bottom: none;
}

.list-dashed-a._top {
    border-top: dashed 1px #ccc;
}

.list-dashed-a._top > li > *:first-child {
    margin-top: 25px;
}

.list-dashed-a._btm {
    border-bottom: dashed 1px #ccc;
}

.list-dashed-a._seminar > li {
    padding-bottom: 25px;
}

@media only screen and (min-width: 769px) {
    .list-dashed-a {
        margin-top: 45px;
    }
    .list-dashed-a > li {
        margin-top: 45px;
        padding-bottom: 40px;
    }
    .list-dashed-a._top > li > *:first-child {
        margin-top: 45px;
    }
    .list-dashed-a._seminar > li {
        margin-top: 40px;
        padding-bottom: 40px;
    }
    .list-dashed-a._seminar > li .btn-wrap-center {
        margin-top: 30px;
    }
}

/*
 * list-history
** ------------------------------------------------------ */
.list-history-a {
    margin: 30px 0 0;
}

.list-history-a .list-history-inner > li {
    padding: 10px 15px;
}

.list-history-a .list-history-inner > li .yaer, .list-history-a .list-history-inner > li .time {
    font-weight: bold;
    font-size: 1.6rem;
}

.list-history-a .list-history-inner > li .item-wrap {
    display: flex;
    margin-top: 4px;
}

.list-history-a .list-history-inner > li .item-wrap .month {
    min-width: 35px;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: right;
    white-space: nowrap;

    flex-shrink: 0;
}

.list-history-a .list-history-inner > li .item-wrap .month + .item {
    margin: 0 0 0 16px;
}

.list-history-a .list-history-inner > li .item-wrap + .item-wrap {
    margin-top: 8px;
}

.list-history-a .list-history-inner > li:nth-child(even) {
    background: #eee;
}

@media only screen and (min-width: 769px) {
    .list-history-a {
        margin-top: 45px;
    }
    .list-history-a .list-history-inner > li {
        display: flex;
        justify-content: flex-end;
        flex-wrap: wrap;
        padding: 25px 35px;
    }
    .list-history-a .list-history-inner > li .yaer, .list-history-a .list-history-inner > li .time {
        font-size: 2.0rem;
    }
    .list-history-a .list-history-inner > li .item-wrap {
        width: calc(100% - 85px);
        margin-top: 0;
    }
    .list-history-a .list-history-inner > li .item-wrap .month {
        min-width: 39px;
        margin-left: 50px;
        font-size: 1.8rem;
    }
    .list-history-a .list-history-inner > li .item-wrap .item {
        width: 100%;
        margin-left: 40px;
    }
}

/*
 * list-tel
** ------------------------------------------------------ */
.list-tel-a {
    display: flex;
    flex-wrap: wrap;
    margin: -10px 0 0 -30px;
}

.list-tel-a > div {
    display: flex;
    flex-direction: column;
    padding: 10px 0 0 30px;
}

.list-tel-a > div dt {
    font-weight: bold;
    font-size: 1.2rem;
}

.list-tel-a > div dd {
    display: flex;
    align-items: center;

    flex-grow: 1;
}

.list-tel-a > div dd .item .num {
    font-weight: 500;
    font-size: 2.65rem;
    line-height: 1.3;
}

.list-tel-a > div dd .item .sub {
    font-size: 1.2rem;
}

@media only screen and (min-width: 769px) {
    .list-tel-a > div {
        flex-direction: row;
        align-items: center;
    }
    .list-tel-a > div dt {
        padding-right: 10px;
        font-size: 1.4rem;
    }
    .list-tel-a > div dd {
        position: relative;
        padding-left: 11px;
    }
    .list-tel-a > div dd::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        display: block;
        width: 1px;
        height: 100%;
        max-height: 14px;
        margin: auto;
        background: url(/shared/img/list-line-01.png) top repeat-y;
        content: "";
    }
    .list-tel-a > div dd .item {
        display: flex;
    }
    .list-tel-a > div dd .item .num {
        font-size: 3.6rem;
    }
    .list-tel-a > div dd .item .time {
        font-weight: bold;
        font-size: 2.0rem;
        line-height: 1.1;
    }
    .list-tel-a > div dd .item .sub {
        font-size: 1.4rem;
    }
}

.list-tel-b {
    margin: 10px 0 0;
    text-align: center;
}

.list-tel-b > div {
    display: flex;
    justify-content: center;
    align-items: center;
}

.list-tel-b > div dt {
    padding: 0 7px 0 0;
    font-weight: bold;
    font-size: 1.2rem;
}

.list-tel-b > div dd {
    position: relative;
    padding: 0 0 0 6px;
    font-size: 1.6rem;
}

.list-tel-b > div dd::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 100%;
    max-height: 14px;
    margin: auto;
    background: url(/shared/img/list-line-01.png) top center repeat-y;
    content: "";
}

.list-tel-b > div dd .item .num {
    display: block;
    font-weight: 500;
    line-height: 1.2;
}

.list-tel-b > div dd .item .sub {
    display: inline-block;
    font-size: 1.2rem;
    vertical-align: middle;
}

@media only screen and (min-width: 769px) {
    .list-tel-b {
        text-align: left;
    }
    .list-tel-b > div {
        justify-content: flex-start;
    }
    .list-tel-b > div dt {
        font-size: 1.4rem;
    }
    .list-tel-b > div dd .item .num {
        font-size: 2.0rem;
    }
    .list-tel-b > div dd .item .sub {
        font-size: 1.4rem;
    }
}

/*
 * list-flow
** ------------------------------------------------------ */
.list-flow-a {
    margin: 30px 0 0;
}

.list-flow-a > .list-flow-inner {
    counter-reset: flowNum;
}

.list-flow-a > .list-flow-inner > li > .item {
    position: relative;
    padding: 0 0 0 40px;
    counter-increment: flowNum;
}

.list-flow-a > .list-flow-inner > li > .item::before {
    position: absolute;
    top: 30px;
    left: 0;
    display: block;
    width: 30px;
    border-width: 12px 15px 0;
    border-style: solid;
    border-color: #df0523 transparent transparent transparent;
    content: "";
}

.list-flow-a > .list-flow-inner > li > .item::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    min-width: 30px;
    height: 30px;
    padding: 3px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background: linear-gradient(135deg, #df0523 0%, #df0523 50%, #e64607 50%, #e64607 100%);
    content: counter(flowNum);
}

.list-flow-a > .list-flow-inner > li > .item > p:not(.hdg-a) {
    margin-top: 8px;
}

.list-flow-a > .list-flow-inner > li > .item > *:only-child {
    padding-bottom: 35px;
}

.list-flow-a > .list-flow-inner > li:not(:last-child) {
    position: relative;
}

.list-flow-a > .list-flow-inner > li:not(:last-child)::before {
    position: absolute;
    top: 53px;
    left: 11px;
    display: block;
    width: 8px;
    height: calc(100% - 63px);
    background: url(/shared/img/list-line-02.png) top center repeat-y;
    background-size: 100%;
    content: "";
}

.list-flow-a > .list-flow-inner > li:not(:last-child) > .item {
    padding-bottom: 25px;
}

@media only screen and (min-width: 769px) {
    .list-flow-a {
        margin-top: 50px;
    }
    .list-flow-a > .list-flow-inner > li > .item {
        padding-left: 73px;
    }
    .list-flow-a > .list-flow-inner > li > .item::before {
        top: 48px;
        width: 48px;
        border-width: 23px 24px 0;
    }
    .list-flow-a > .list-flow-inner > li > .item::after {
        min-width: 48px;
        height: 48px;
        padding: 0;
        font-size: 2.8rem;
    }
    .list-flow-a > .list-flow-inner > li > .item > .hdg-a > b {
        font-size: 2.4rem;
        line-height: 1.5;
    }
    .list-flow-a > .list-flow-inner > li:not(:last-child)::before {
        top: 82px;
        left: 20px;
        height: calc(100% - 92px);
    }
    .list-flow-a > .list-flow-inner > li:not(:last-child) > .item {
        padding-bottom: 43px;
    }
}

/*
 * list-word
** ------------------------------------------------------ */
.list-word-a {
    display: flex;
    flex-wrap: wrap;
    margin: -4px 0 0 -11px;
}

.list-word-a > li {
    padding: 10px 0 0 11px;
}

.list-word-a > li button {
    width: 100%;
    height: 100%;
    padding: 7px 10px;
    font-size: 1.2rem;
    text-align: left;
    background: #fff;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    transition: box-shadow .2s;
}

.list-word-a > li button:hover, .list-word-a > li button:active, .list-word-a > li button:focus {
    color: #1257b8;
    box-shadow: none;
}

.list-word-a > li.is-active button {
    font-weight: bold;
    color: #df0523;
    background: #f6ded0;
    box-shadow: none;
}

@media only screen and (min-width: 769px) {
    .list-word-a {
        margin-top: 4px;
    }
    .list-word-a > li button {
        min-width: 40px;
        min-height: 39px;
        padding: 6px 12px 5px;
        font-size: 1.6rem;
    }
}

/*
 * list-label
** ------------------------------------------------------ */
.list-label-a {
    display: block;
    margin: -4px 0 0 -11px;
    font-size: 0;
}

.list-label-a > * {
    position: relative;
    display: inline-block;
    margin: 4px 0 0 11px;
    padding: 0 11px 0 0;
    font-weight: normal;
    vertical-align: middle;
}

.list-label-a > *:not(:last-child) {
    border-right: solid 1px #ccc;
}

.list-label-a > [class^="state-"] .txt {
    position: relative;
    display: block;
    min-width: 80px;
    margin-right: 12px;
    padding: 2px 20px 1px;
    font-size: 1.2rem;
    text-align: center;
}

.list-label-a > [class^="state-"] .txt::before {
    position: absolute;
    top: 0;
    left: 100%;
    display: block;
    border-width: 12px 0 12px 12px;
    border-style: solid;
    content: "";
}

.list-label-a > .state-a .txt {
    color: #fff;
    background: #df0523;
}

.list-label-a > .state-a .txt::before {
    border-color: transparent transparent transparent #df0523;
}

.list-label-a > .state-b .txt {
    color: #000;
    background: #ccc;
}

.list-label-a > .state-b .txt::before {
    border-color: transparent transparent transparent #ccc;
}

.list-label-a > .state-c {
    z-index: 0;
    overflow: hidden;
}

.list-label-a > .state-c .txt {
    z-index: auto;
    padding-top: 1px;
    padding-bottom: 0;
    color: #df0523;
    background: #fff;
    border: solid 1px #df0523;
    border-right: none;
}

.list-label-a > .state-c .txt::before {
    top: 50%;
    right: -8.5px;
    left: auto;
    z-index: -1;
    width: 19.5px;
    height: 19.5px;
    background: #fff;
    border-width: 1px 1px 0 0;
    border-color: #df0523 #df0523 transparent transparent;
    transform: translateY(-50%) rotate(45deg);
}

.list-label-a > .state-d .txt {
    color: #000;
    background: #f5d3c4;
}

.list-label-a > .state-d .txt::before {
    border-color: transparent transparent transparent #f5d3c4;
}

.list-label-a .place .txt {
    font-size: 1.4rem;
}

.list-label-a .pickup .txt {
    font-size: 1.4rem;
    color: #df0523;
}

@media only screen and (min-width: 769px) {
    .list-label-a {
        margin-left: -20px;
    }
    .list-label-a > * {
        margin-left: 20px;
        padding-right: 20px;
        line-height: 1.4;
    }
    .list-label-a > [class^="state-"] .txt {
        padding-top: 5px;
        padding-bottom: 3px;
    }
    .list-label-a > .state-c .txt {
        padding-top: 3px;
        padding-bottom: 3px;
    }
    .list-label-a .place .txt {
        font-size: 1.6rem;
    }
    .list-label-a .pickup .txt {
        font-size: 1.6rem;
    }
}

.list-label-b, .list-label-c {
    display: flex;
    flex-wrap: wrap;
    margin: -8px 0 0 -8px;
}

.list-label-b > li, .list-label-c > li {
    padding: 8px 0 0 8px;
}

.list-label-b > li .txt, .list-label-c > li .txt {
    position: relative;
    display: block;
    margin-right: 12px;
    padding: 2px 20px 1px;
    font-weight: normal;
    font-size: 1.2rem;
}

.list-label-b > li .txt::before, .list-label-b > li .txt::after, .list-label-c > li .txt::before, .list-label-c > li .txt::after {
    position: absolute;
    left: 100%;
    display: block;
    width: 12px;
    height: 50%;
    content: "";
}

.list-label-b + .lyt-img-b, .list-label-c + .lyt-img-b {
    margin-top: 17px;
}

.list-label-b._type-a > li .txt, .list-label-c._type-a > li .txt {
    margin-right: 0;
}

.list-label-b._type-a > li .txt::before, .list-label-b._type-a > li .txt::after, .list-label-c._type-a > li .txt::before, .list-label-c._type-a > li .txt::after {
    display: none;
}

@media only screen and (min-width: 769px) {
    .list-label-b + .lyt-img-b, .list-label-c + .lyt-img-b {
        margin-top: 20px;
    }
}

.list-label-b > li .txt {
    color: #fff;
    background: #df0523;
}

.list-label-b > li .txt::before {
    top: 0;
    background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #df0523 50.5%) no-repeat top left/100% 100%;
}

.list-label-b > li .txt::after {
    bottom: 0;
    background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #df0523 50.5%) no-repeat bottom right/100% 100%;
}

.list-label-c > li .txt {
    color: #000;
    background: #ccc;
}

.list-label-c > li .txt::before {
    top: 0;
    background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #ccc 50.5%) no-repeat top left/100% 100%;
}

.list-label-c > li .txt::after {
    bottom: 0;
    background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #ccc 50.5%) no-repeat bottom right/100% 100%;
}

.list-label-d {
    display: flex;
    justify-content: space-between;
    margin: 0;
    font-size: 0;
}

.list-label-d > * {
    position: relative;
    display: inline-block;
    margin: 0;
    font-weight: normal;
    vertical-align: middle;
}

.list-label-d > [class^="state-"] .txt {
    position: relative;
    display: block;
    min-width: 80px;
    margin-right: 12px;
    padding: 2px 10px 1px;
    font-size: 1.2rem;
    text-align: center;
}

.list-label-d > [class^="state-"] .txt::before {
    position: absolute;
    top: 0;
    left: 100%;
    display: block;
    border-width: 12px 0 12px 12px;
    border-style: solid;
    content: "";
}

.list-label-d > .state-a .txt {
    color: #fff;
    background: #df0523;
}

.list-label-d > .state-a .txt::before {
    border-color: transparent transparent transparent #df0523;
}

.list-label-d > .state-b .txt {
    color: #000;
    background: #ccc;
}

.list-label-d > .state-b .txt::before {
    border-color: transparent transparent transparent #ccc;
}

.list-label-d > .state-c {
    z-index: 0;
    overflow: hidden;
}

.list-label-d > .state-c .txt {
    z-index: auto;
    padding-top: 1px;
    padding-bottom: 0;
    color: #df0523;
    background: #fff;
    border: solid 1px #df0523;
    border-right: none;
}

.list-label-d > .state-c .txt::before {
    top: 50%;
    right: -8.5px;
    left: auto;
    z-index: -1;
    width: 19.5px;
    height: 19.5px;
    background: #fff;
    border-width: 1px 1px 0 0;
    border-color: #df0523 #df0523 transparent transparent;
    transform: translateY(-50%) rotate(45deg);
}

.list-label-d > .state-d .txt {
    color: #000;
    background: #f5d3c4;
}

.list-label-d > .state-d .txt::before {
    border-color: transparent transparent transparent #f5d3c4;
}

.list-label-d .category {
    margin: 0 10px;
    padding: 3px 17px 0;
    border: 1px solid #ddd;
}

.list-label-d .category .txt {
    font-size: 1.2rem;
    color: #000;
    line-height: 1.4;
}

@media only screen and (min-width: 769px) {
    .list-label-d {
        margin-left: -20px;
    }
    .list-label-d > * {
        margin-left: 20px;
        line-height: 1.4;
    }
    .list-label-d > [class^="state-"] .txt {
        padding-top: 5px;
        padding-bottom: 3px;
    }
    .list-label-d > .state-c .txt {
        padding-top: 3px;
        padding-bottom: 3px;
    }
}

/*
 * list-result
** ------------------------------------------------------ */
.list-result-a {
    margin: 15px 0 0;
}

.list-result-a > div {
    display: flex;
}

.list-result-a > div dt {
    white-space: nowrap;
}

.list-result-a > div dd > .list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 -5px;
}

.list-result-a > div dd > .list > li {
    position: relative;
    margin: 0 0 0 5px;
    padding: 0 20px 0 15px;
}

.list-result-a > div dd > .list > li::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: block;
    width: 1px;
    height: 15px;
    margin: auto;
    border-right: solid 1px #cfcfcf;
    content: "";
}

.list-result-a > div dd > .list > li:last-child::before {
    content: none;
}

.list-result-a > div dd > .list > li a:not(href)[aria-current="page"] {
    font-weight: bold;
    color: #000;
}

.list-result-a > div dd > .list > li a:hover:not(href)[aria-current="page"], .list-result-a > div dd > .list > li a:active:not(href)[aria-current="page"], .list-result-a > div dd > .list > li a:focus:not(href)[aria-current="page"] {
    text-decoration: none;
}

.list-result-a + .list-dashed-a {
    margin-top: 18px;
}

@media only screen and (min-width: 769px) {
    .list-result-a {
        margin-top: 27px;
    }
    .list-result-a > div dd > .list > li::before {
        height: 20px;
    }
    .list-result-a + .list-dashed-a {
        margin-top: 35px;
    }
}

/*
 * list-faq
** ------------------------------------------------------ */
.list-faq-a {
    margin: 30px 0 0;
}

.list-faq-a > div > * {
    display: flex;
    padding: 11px 14px 9px;
}

.list-faq-a > div > * > .mark {
    position: relative;
    top: 3px;
    display: block;
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: 0 10px 0 0;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}

.list-faq-a > div > dt {
    background: #c1cee0;
    border-radius: 2px;
}

.list-faq-a > div > dt > .mark {
    color: #fff;
    background: #6c7b8f;
}

.list-faq-a > div > dt > .item {
    font-weight: bold;
}

.list-faq-a > div > dd {
    padding-bottom: 15px;
}

.list-faq-a > div > dd > .mark {
    color: #df0523;
    background: #f7eded;
}

.list-faq-a > div > dd > .item > * {
    margin-top: 10px;
}

@media only screen and (min-width: 769px) {
    .list-faq-a {
        margin-top: 54px;
    }
    .list-faq-a > div > * {
        padding: 17px;
    }
    .list-faq-a > div > * > .mark {
        top: 0;
        width: 32px;
        min-width: 32px;
        height: 32px;
        margin-right: 15px;
        line-height: 1.8;
    }
    .list-faq-a > div > dd {
        padding-bottom: 30px;
    }
}

/*
 * list-accordion
** ------------------------------------------------------ */
.list-accordion-a {
    margin: 30px 0 0;
}

.list-accordion-a .list-accordion-inner {
    position: relative;
    margin: -10px 0 0 -16px;
}

.list-accordion-a .list-accordion-inner > .item {
    padding: 10px 0 0 16px;
}

.list-accordion-a .list-accordion-inner > .item dt > *:first-child {
    background: #eee;
}

.list-accordion-a .list-accordion-inner > .item dt .txt {
    display: block;
    width: 100%;
    padding: 13px 15px;
    line-height: 1.4;
}

.list-accordion-a .list-accordion-inner > .item dd {
    position: relative;
    margin: 15px 0 5px;
    padding: 10px 15px;
    background: #fff;
    border: solid 2px #ddd;
    border-radius: 2px;
}

.list-accordion-a .list-accordion-inner > .item dd::before {
    position: absolute;
    top: -10px;
    left: 50%;
    display: block;
    width: 20px;
    height: 20px;
    background: linear-gradient(225deg, #fff 0%, #fff 60%, rgba(225, 255, 255, 0) 60%);
    border-width: 2px;
    border-style: solid;
    border-color: #ddd #ddd transparent transparent;
    content: "";
    transform: translateX(-50%) rotate(-45deg) skew(-3deg, -3deg);
}

.list-accordion-a .list-accordion-inner > .item dd > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .list-accordion-a {
        margin-top: 50px;
    }
    .list-accordion-a .list-accordion-inner {
        margin-top: -16px;
    }
    .list-accordion-a .list-accordion-inner > .item {
        padding-top: 16px;
    }
    .list-accordion-a .list-accordion-inner > .item dt .txt {
        padding: 20px 25px;
    }
    .list-accordion-a .list-accordion-inner > .item dd {
        padding: 25px 35px;
    }
}

/*
 * list-toggle-a
** ------------------------------------------------------ */
.list-toggle-a {
    margin: 30px 0 0;
}

.list-toggle-a > .item {
    margin-top: 27px;
}

.list-toggle-a > .item > dt {
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.5;
}

.list-toggle-a > .item > dd {
    margin-top: 10px;
}

.list-toggle-a > .item > dd > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .list-toggle-a {
        margin-top: 50px;
    }
    .list-toggle-a > .item {
        margin-top: 35px;
    }
    .list-toggle-a > .item > dt {
        font-size: 1.8rem;
    }
    .list-toggle-a > .item > dd {
        margin-top: 20px;
    }
    table .list-toggle-a {
        margin-top: -27px;
    }
    table .list-toggle-a > .item {
        margin-top: 27px;
    }
    table .list-toggle-a > .item > dd {
        margin-top: 10px;
    }
}

/*
 * list-schedule
** ------------------------------------------------------ */
.list-schedule-a {
    padding: 20px 0 30px;
    text-align: center;
}

.list-schedule-a ol {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.list-schedule-a ol > li {
    position: relative;
    width: 100%;
    padding: 0 20px 40px 64px;
}

.list-schedule-a ol > li:not(:last-child)::before {
    position: absolute;
    top: 15px;
    left: 30px;
    display: block;
    width: 4px;
    height: 100%;
    background: #df0523;
    content: "";
}

.list-schedule-a ol > li .txt::after {
    position: absolute;
    top: 3px;
    left: 20px;
    display: block;
    width: 24px;
    height: 24px;
    background: #df0523;
    border-radius: 100%;
    content: "";
}

.list-schedule-a ol > li .txt .date {
    display: flex;
    justify-content: center;
    min-height: 30px;
}

.list-schedule-a ol > li .txt .date > p {
    width: 100%;
    height: 100%;
    padding: 0 20px;
    color: #df0523;
    border: 1px solid #df0523;
    border-radius: 16px;
}

.list-schedule-a ol > li .txt > p {
    margin: 14px 0 0;
}

.list-schedule-a ol > li .period {
    margin-top: 24px;
}

.list-schedule-a ol > li .period > p {
    color: #df0523;
}

.list-schedule-a ol > li .period > p br {
    display: none;
}

@media only screen and (min-width: 769px) {
    .list-schedule-a ol {
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: nowrap;
    }
    .list-schedule-a ol > li {
        padding: 70px 20px 0;
    }
    .list-schedule-a ol > li:not(:last-child)::before {
        top: 0;
        left: 50%;
        width: 100%;
        height: 4px;
        margin-top: 30px;
    }
    .list-schedule-a ol > li .txt::after {
        top: 16px;
        right: 0;
        left: 0;
        width: 30px;
        height: 30px;
        margin: 0 auto;
    }
    .list-schedule-a ol > li .txt .date {
        min-height: 32px;
    }
    .list-schedule-a ol > li .txt .date > p {
        width: auto;
        font-size: 1.6rem;
    }
    .list-schedule-a ol > li .txt > p {
        margin: 14px 0 0;
    }
    .list-schedule-a ol > li .period {
        position: absolute;
        top: 5px;
        left: 50%;
        z-index: 1;
        display: flex;
        justify-content: center;
        width: 100%;
        height: 60px;
        margin: 0;
    }
    .list-schedule-a ol > li .period > p {
        display: flex;
        align-items: center;
        font-size: 1.6rem;
        line-height: 1.4;
        background: #fff;
    }
    .list-schedule-a ol > li .period > p br {
        display: inline;
    }
}

@media only screen and (min-width: 1025px) {
    .list-schedule-a ol > li .txt .date > p {
        padding-right: 32px;
        padding-left: 32px;
    }
    .list-schedule-a ol > li .period p {
        padding: 0 14px;
    }
}

/*
 * list-term
** ------------------------------------------------------ */
.list-term-a {
    display: flex;
    height: 40px;
    margin-top: 12px;
    background: #fff;
}

.list-term-a .label {
    position: relative;
    min-width: 66px;
    height: 100%;
    padding: 0 2px 0 6px;
    background: #df0523;
}

.list-term-a .label::after {
    position: absolute;
    top: 0;
    right: -22px;
    bottom: 0;
    display: block;
    width: 22px;
    height: 100%;
    border-width: 20px 11px;
    border-style: solid;
    border-color: transparent transparent transparent #df0523;
    content: "";
}

.list-term-a .label > p {
    display: flex;
    align-items: center;
    height: 100%;
    font-size: 1.3rem;
    color: #fff;
}

.list-term-a .list-inner {
    height: 100%;
    background: #fff;
}

.list-term-a .list-inner > p {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 2px 0 20px;
    font-size: 1.3rem;
    line-height: 1.2;
}

@media only screen and (min-width: 769px) {
    .list-term-a {
        margin-top: 24px;
        background: transparent;
    }
    .list-term-a .label {
        min-width: auto;
        padding: 0 14px 0 20px;
    }
    .list-term-a .label > p {
        font-size: 2vw;
    }
    .list-term-a .list-inner > p {
        padding: 0 15px 0 30px;
        font-size: 2vw;
    }
}

@media only screen and (min-width: 1025px) {
    .list-term-a {
        height: 48px;
    }
    .list-term-a .label {
        padding: 0 14px 0 24px;
    }
    .list-term-a .label::after {
        border-width: 24px 11px;
    }
    .list-term-a .label > p {
        font-size: 2rem;
    }
    .list-term-a .list-inner > p {
        padding: 0 30px;
        font-size: 2rem;
    }
}

/*
 * list-process
** ------------------------------------------------------ */
.list-process {
    max-width: 1032px;
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
}

.list-process-title {
    font-size: 1.8rem;
    text-align: center;
}

.list-process-title + .list-process-child-inner {
    margin-top: 24px;
}

@media only screen and (min-width: 769px) {
    .list-process-title + .list-process-child-inner {
        margin-top: 30px;
    }
}

@media only screen and (min-width: 769px) {
    .list-process-title {
        font-size: 3.2rem;
    }
}

.list-process-inner > *:last-child {
    padding-bottom: 0;
}

.list-process-inner > *:last-child:after {
    display: none;
}

.list-process-inner > *:last-child .list-process-child-inner .list-process-child-item {
    padding-bottom: 0;
}

.list-process-inner > *:last-child .list-process-child-inner .list-process-child-item:after {
    display: none;
}

.list-process-inner .list-process-child-item:after {
    display: none;
}

@media only screen and (min-width: 769px) {
    .list-process-inner .list-process-child-item:after {
        left: 30px;
        display: block;
    }
}

.list-process-inner .list-process-child-item:last-child:after {
    display: block;
}

.list-process-item, .list-process-child-item {
    position: relative;
}

.list-process-item > *:first-child, .list-process-child-item > *:first-child {
    margin-top: 0;
}

.list-process-item:after, .list-process-child-item:after {
    position: absolute;
    right: 0;
    bottom: 40px;
    left: 0;
    display: block;
    width: 40px;
    height: 40px;
    margin: 0 auto;
    background-image: url("/shared/img/icon-arrow-02.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 100px;
    content: "";
}

@media only screen and (min-width: 769px) {
    .list-process-item:after, .list-process-child-item:after {
        bottom: 55px;
        width: 60px;
        height: 60px;
    }
}

.list-process-item {
    width: 100%;
    padding-bottom: 120px;
}

@media only screen and (min-width: 769px) {
    .list-process-item {
        padding-bottom: 150px;
    }
}

.list-process-child-inner {
    display: block;
    margin-left: 0;
}

@media only screen and (min-width: 769px) {
    .list-process-child-inner {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-left: -30px;
    }
}

.list-process-child-item {
    width: 100%;
    padding-top: 40px;
    padding-bottom: 0;
    padding-left: 0;
}

@media only screen and (min-width: 769px) {
    .list-process-child-item {
        width: auto;
        max-width: 50%;
        padding-top: 0;
        padding-bottom: 150px;
        padding-left: 30px;
    }
}

.list-process-child-item:first-child {
    padding-top: 0;
}

.list-process-child-item:last-child {
    padding-bottom: 120px;
}

@media only screen and (min-width: 769px) {
    .list-process-child-item:last-child {
        padding-bottom: 150px;
    }
}

/*
 * link
** ------------------------------------------------------ */
.link-a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
}

.link-a::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

@media only screen and (min-width: 769px) {
    .link-a::before {
        top: 9px;
    }
}

.link-b {
    position: relative;
    display: inline-block;
    margin: 6px 0 0;
    padding: 0 0 0 20px;
}

.link-b::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -76px;
    background-size: 145px 117px;
    content: "";
}

@media only screen and (min-width: 769px) {
    .link-b {
        margin-top: 26px;
    }
    .link-b::before {
        top: 9px;
    }
}

.link-c {
    position: relative;
    display: inline-block;
    padding-left: 24px;
}

.link-c::before {
    position: relative;
    left: -16px;
    display: inline-block;
    width: 8px;
    height: 12px;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

.link-c strong {
    color: #000;
}

.link-c:hover strong, .link-c:active strong, .link-c:focus strong {
    color: #1257b8;
}

/*
 * link-list
** ------------------------------------------------------ */
.link-list-a {
    margin: 15px 0 0;
}

.link-list-a > li a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
}

.link-list-a > li a::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

.link-list-a > li:not(:first-child) {
    margin-top: 7px;
}

@media only screen and (min-width: 769px) {
    .link-list-a {
        margin-top: 25px;
    }
    .link-list-a > li a::before {
        top: 9px;
    }
    .link-list-a._inline {
        display: flex;
        flex-wrap: wrap;
    }
    .link-list-a._inline > li {
        margin-right: 44px;
    }
    .link-list-a._inline > li:not(:first-child) {
        margin-top: 0;
    }
}

.link-list-b {
    margin: 15px 0 0;
}

.link-list-b > .link-list-inner {
    margin: -7px 0 0 -32px;
}

.link-list-b > .link-list-inner > li {
    padding: 7px 0 0 32px;
}

.link-list-b > .link-list-inner > li a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
}

.link-list-b > .link-list-inner > li a::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

.link-list-b > .link-list-inner > li a .my {
    font-family: Pyidaungsu, sans-serif;
}

@media only screen and (min-width: 769px) {
    .link-list-b {
        margin-top: 25px;
    }
    .link-list-b > .link-list-inner {
        display: flex;
        flex-wrap: wrap;
    }
    .link-list-b > .link-list-inner > li a::before {
        top: 9px;
    }
    .link-list-b._col2 > .link-list-inner > li {
        width: 50%;
    }
    .link-list-b._col3 > .link-list-inner > li {
        width: 33.333333%;
    }
    .link-list-b._col4 > .link-list-inner > li {
        width: 25%;
    }
}

.link-list-c {
    margin: 15px 0 0;
}

.link-list-c > li a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 22px;
}

.link-list-c > li a::before {
    position: absolute;
    top: 9px;
    left: 2px;
    display: block;
    width: 12px;
    height: 8px;
    background-position: -127px -90.5px;
    background-size: 145px 117px;
    content: "";
}

.link-list-c > li:not(:first-child) {
    margin-top: 7px;
}

@media only screen and (min-width: 769px) {
    .link-list-c {
        margin-top: 42px;
    }
    .link-list-c > li a::before {
        top: 12px;
    }
    .link-list-c._inline {
        display: flex;
        flex-wrap: wrap;
    }
    .link-list-c._inline > li {
        margin-right: 44px;
    }
    .link-list-c._inline > li:not(:first-child) {
        margin-top: 0;
    }
}

.link-list-d {
    margin: 30px 0 0;
}

.link-list-d .link-list-inner {
    display: flex;
    flex-wrap: wrap;
    margin: -8px 0 0 -8px;
}

.link-list-d .link-list-inner > li {
    display: flex;
    width: 100%;
    padding: 8px 0 0 8px;
}

.link-list-d .link-list-inner > li .item {
    width: 100%;
    padding: 10px 15px 10px;
    border: solid 2px #ddd;
    border-radius: 2px;
}

.link-list-d .link-list-inner > li .item * + * {
    margin-top: 7px;
}

.link-list-d .link-list-inner > li .item .link-a, .link-list-d .link-list-inner > li .item .title > b {
    font-weight: bold;
}

.link-list-d + .link-list-d {
    margin-top: 8px;
}

@media only screen and (min-width: 769px) {
    .link-list-d {
        margin-top: 50px;
    }
    .link-list-d .link-list-inner {
        margin: -32px 0 0 -32px;
    }
    .link-list-d .link-list-inner > li {
        padding: 32px 0 0 32px;
    }
    .link-list-d .link-list-inner > li .item {
        padding: 28px 35px 28px;
    }
    .link-list-d._col2 .link-list-inner > li, .link-list-d._col3 .link-list-inner > li {
        width: 50%;
    }
    .link-list-d + .link-list-d {
        margin-top: 32px;
    }
    .link-list-d._column .link-list-inner > li .item {
        display: flex;
        flex-direction: column;
    }
    .link-list-d._column .link-list-inner > li .item > *:first-child {
        flex-grow: 1;
    }
}

@media only screen and (min-width: 1025px) {
    .link-list-d._col3 .link-list-inner > li {
        width: 33.33333333%;
    }
}

.link-list-e {
    margin: 30px 0 0;
}

.link-list-e > li a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
}

.link-list-e > li a::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -76px;
    background-size: 145px 117px;
    content: "";
}

.link-list-e > li:not(:first-child) {
    margin-top: 7px;
}

@media only screen and (min-width: 769px) {
    .link-list-e {
        display: flex;
        flex-wrap: wrap;
        margin-top: 50px;
    }
    .link-list-e > li {
        margin-right: 44px;
    }
    .link-list-e > li:not(:first-child) {
        margin-top: 0;
    }
    .link-list-e > li a::before {
        top: 9px;
    }
}

.link-list-f {
    margin: 14px auto 0;
}

.link-list-f > li {
    border: solid 1px #fff;
}

.link-list-f > li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 15px 25px 14px;
    font-weight: bold;
    color: #000;
    text-align: center;
    line-height: 1.4;
    background: #efefef;
    transition: background .2s;

    flex-grow: 1;
}

.link-list-f > li a:hover, .link-list-f > li a:active, .link-list-f > li a:focus {
    text-decoration: none;
    background: #dbdbdb;
}

.link-list-f:lang(ja) {
    margin-top: 34px;
}

@media only screen and (min-width: 769px) {
    .link-list-f {
        display: flex;
        max-width: 1020px;
        margin-top: 32px;
    }
    .link-list-f > li {
        display: flex;
        width: 33.333333%;
    }
    .link-list-f > li a {
        padding-top: 11px;
        padding-bottom: 11px;
    }
    .link-list-f:lang(ja) {
        margin-top: 32px;
    }
}

/*
 * link-pnl
** ------------------------------------------------------ */
.link-pnl-a {
    display: block;
}

.link-pnl-a .img {
    position: relative;
    margin: 0 0 10px;
}

.link-pnl-a .img::before {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-pnl-a .img img {
    display: block;
    margin: 0 auto;
}

.link-pnl-a .item > .title > b {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    font-weight: bold;
    color: #1257b8;
}

.link-pnl-a .item > .title > b::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

.link-pnl-a .item > .title + * {
    margin-top: 6px;
}

.link-pnl-a .item p {
    color: #000;
}

.link-pnl-a:hover, .link-pnl-a:active, .link-pnl-a:focus {
    text-decoration: none;
}

.link-pnl-a:hover .item > .title > b, .link-pnl-a:active .item > .title > b, .link-pnl-a:focus .item > .title > b {
    text-decoration: underline;
}

.link-pnl-a:hover .img::before, .link-pnl-a:active .img::before, .link-pnl-a:focus .img::before {
    opacity: .3;
}

@media only screen and (min-width: 769px) {
    .link-pnl-a .img {
        margin-bottom: 12px;
    }
    .link-pnl-a .item > .title > b::before {
        top: 9px;
    }
}

.link-pnl-b {
    margin: 30px 0 0;
}

.link-pnl-b > .link-pnl-inner {
    margin: -16px 0 0 -16px;
}

.link-pnl-b > .link-pnl-inner > li {
    display: flex;
    padding: 16px 0 0 16px;
}

.link-pnl-b > .link-pnl-inner > li a {
    display: flex;
    flex-direction: column;
    width: 100%;
    line-height: 1.5;
    background: #fff;
    border: solid 1px #ddd;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    transition: opacity .2s, box-shadow .2s;
}

.link-pnl-b > .link-pnl-inner > li a:hover, .link-pnl-b > .link-pnl-inner > li a:active, .link-pnl-b > .link-pnl-inner > li a:focus {
    text-decoration: none;
    box-shadow: none;
    opacity: .7;
}

.link-pnl-b > .link-pnl-inner > li a .name {
    display: flex;
    padding: 13px 20px 12px;

    flex-grow: 1;
}

.link-pnl-b > .link-pnl-inner > li a .name .txt {
    display: flex;
    align-items: center;
    width: 100%;
    font-weight: bold;
    color: #000;
}

.link-pnl-b > .link-pnl-inner > li a .item {
    padding: 6px 10px 4px;
    background: #eee;
}

@media only screen and (min-width: 640px) {
    .link-pnl-b > .link-pnl-inner {
        display: flex;
        flex-wrap: wrap;
    }
    .link-pnl-b > .link-pnl-inner > li {
        width: 50%;
    }
}

@media only screen and (min-width: 1025px) {
    .link-pnl-b {
        margin-top: 50px;
    }
    .link-pnl-b > .link-pnl-inner > li {
        width: 25%;
    }
    .link-pnl-b > .link-pnl-inner > li a .name {
        padding-top: 19px;
        padding-bottom: 18px;
    }
    .link-pnl-b > .link-pnl-inner > li a .item {
        padding-top: 12px;
        padding-bottom: 9px;
    }
    .link-pnl-b > .link-pnl-inner > li a .item .txt > span {
        display: block;
    }
}

@media only screen and (min-width: 1260px) {
    .link-pnl-b > .link-pnl-inner > li a .item .txt > span {
        display: inline;
    }
}

.link-pnl-c {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1359px;
    margin: 0 auto;

    flex-shrink: 0;
}

.link-pnl-c > li {
    width: 50%;
}

.link-pnl-c > li a {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
}

.link-pnl-c > li a::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-pnl-c > li a > .item {
    padding: 18px 20px;
}

.link-pnl-c > li a > .item > .hdg-a {
    line-height: 1.4;
}

.link-pnl-c > li a > .item > .hdg-a > b {
    font-size: 1.5rem;
    color: #1257b8;
}

.link-pnl-c > li a > .item p:not(.hdg-a) {
    font-size: 1.2rem;
    color: #000;
}

.link-pnl-c > li a > .item * + p {
    margin-top: 10px;
}

.link-pnl-c > li a > .img {
    position: relative;
    min-height: calc(0%);
}

.link-pnl-c > li a > .img::after {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: block;
    border-width: 12px;
    border-style: solid;
    border-color: transparent #df0523 #df0523 transparent;
    content: "";
    opacity: .7;
}

.link-pnl-c > li a > .img > .img-inner {
    position: relative;
}

.link-pnl-c > li a > .img > .img-inner::before {
    position: absolute;
    right: 4px;
    bottom: 5px;
    z-index: 2;
    display: block;
    width: 4px;
    height: 6px;
    background-position: -63.5px -30.75px;
    background-size: 72.5px 58.5px;
    content: "";
}

.link-pnl-c > li a > .img > .img-inner img {
    display: block;
}

.link-pnl-c > li a:hover, .link-pnl-c > li a:active, .link-pnl-c > li a:focus {
    text-decoration: none;
}

.link-pnl-c > li a:hover::after, .link-pnl-c > li a:active::after, .link-pnl-c > li a:focus::after {
    opacity: .3;
}

.link-pnl-c._col2 {
    max-width: 1360px;
}

@media only screen and (min-width: 640px) {
    .link-pnl-c._col3 > li {
        width: 33.333333333%;
    }
}

@media only screen and (min-width: 769px) {
    .link-pnl-c {
        box-shadow: 0 0 24px 0 rgba(0, 0, 0, .2);
    }
    .link-pnl-c > li a {
        display: block;
    }
    .link-pnl-c > li a > .item {
        position: absolute;
        bottom: 0;
        z-index: 5;
        width: 100%;
    }
    .link-pnl-c > li a > .item > .hdg-a > b {
        font-size: 1.95058vw;
        color: #fff;
        text-shadow: 0 0 6px rgba(0, 0, 0, .6);
    }
    .link-pnl-c > li a > .item p:not(.hdg-a) {
        font-size: 1.56046vw;
        color: #fff;
        text-shadow: 0 0 6px rgba(0, 0, 0, .6);
    }
    .link-pnl-c > li a > .img::before {
        position: absolute;
        bottom: 0;
        z-index: 1;
        display: block;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgba(3, 0, 0, .7) 0%, rgba(3, 0, 0, 0) 50%, rgba(3, 0, 0, 0) 100%);
        content: "";
    }
    .link-pnl-c > li a > .img::after {
        border-width: 24px;
    }
    .link-pnl-c > li a > .img > .img-inner::before {
        right: 9px;
        bottom: 11px;
        width: 8px;
        height: 12px;
        background-position: -127px -61.5px;
        background-size: 145px 117px;
    }
    .link-pnl-c._col2 > li a .item {
        padding: 25px 35px;
    }
    .link-pnl-c._col2 > li a .item * + p {
        margin-top: 7px;
    }
    .link-pnl-c._top > li a > .item {
        padding: 1.56046vw 2.5vw;
    }
    .link-pnl-c._top > li a > .item .hdg-a > b {
        font-size: 1.95312vw;
    }
    .link-pnl-c._top > li a > .item p:not(.hdg-a) {
        font-size: 1.4rem;
        line-height: 1.6;
    }
}

@media only screen and (min-width: 1025px) {
    .link-pnl-c._top > li a > .item {
        padding: 35px;
    }
    .link-pnl-c._top > li a > .item .hdg-a > b {
        font-size: 2.0rem;
    }
}

@media only screen and (min-width: 1400px) {
    .link-pnl-c {
        margin-top: -280px;
    }
    .link-pnl-c > li a > .item .hdg-a > b {
        font-size: 3.0rem;
    }
    .link-pnl-c > li a > .item p:not(.hdg-a) {
        font-size: 1.8rem;
    }
}

.link-pnl-d {
    margin-top: 37px;
}

.link-pnl-d > .link-pnl-inner {
    margin: -32px 0 0 -32px;
}

.link-pnl-d > .link-pnl-inner > li {
    padding: 10px 0 0 32px;
}

.link-pnl-d > .link-pnl-inner > li a {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
}

.link-pnl-d > .link-pnl-inner > li a::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-pnl-d > .link-pnl-inner > li a > .item {
    padding: 8px 10px;
    background: #666;
}

.link-pnl-d > .link-pnl-inner > li a > .item p {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
    font-weight: bold;
    color: #fff;
}

.link-pnl-d > .link-pnl-inner > li a > .item p::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -61.5px;
    background-size: 145px 117px;
    content: "";
}

.link-pnl-d > .link-pnl-inner > li a > .img {
    overflow: hidden;
}

.link-pnl-d > .link-pnl-inner > li a > .img img {
    display: block;
    width: 100%;
}

.link-pnl-d > .link-pnl-inner > li a:hover, .link-pnl-d > .link-pnl-inner > li a:active, .link-pnl-d > .link-pnl-inner > li a:focus {
    text-decoration: none;
}

.link-pnl-d > .link-pnl-inner > li a:hover::after, .link-pnl-d > .link-pnl-inner > li a:active::after, .link-pnl-d > .link-pnl-inner > li a:focus::after {
    opacity: .3;
}

@media only screen and (min-width: 769px) {
    .link-pnl-d {
        margin-top: 32px;
    }
    .link-pnl-d > .link-pnl-inner {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .link-pnl-d > .link-pnl-inner > li {
        display: flex;
        width: 33.33%;
        padding: 32px 0 0 32px;
    }
    .link-pnl-d > .link-pnl-inner > li a {
        width: 100%;
    }
    .link-pnl-d > .link-pnl-inner > li a > .item {
        width: 100%;
        padding: 14px 20px;

        flex-grow: 1;
    }
    .link-pnl-d > .link-pnl-inner > li a > .item p {
        padding-left: 28px;
    }
    .link-pnl-d > .link-pnl-inner > li a > .item p::before {
        top: 9px;
    }
    .link-pnl-d > .link-pnl-inner > li a > .img {
        width: 100%;
    }
}

.link-pnl-e {
    width: 100%;
    max-width: 1400px;
    margin: 25px auto 0;
}

.link-pnl-e > .link-pnl-inner {
    margin: -10px 0 0 -32px;
}

.link-pnl-e > .link-pnl-inner > li {
    width: 100%;
    padding: 10px 0 0 32px;
}

.link-pnl-e > .link-pnl-inner > li a {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, .1);
}

.link-pnl-e > .link-pnl-inner > li a::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-pnl-e > .link-pnl-inner > li a > * {
    width: 50%;
}

.link-pnl-e > .link-pnl-inner > li a > .item {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    background: #fff;
}

.link-pnl-e > .link-pnl-inner > li a > .item .link-a {
    font-weight: bold;
}

.link-pnl-e > .link-pnl-inner > li a > .img {
    position: relative;
    overflow: hidden;
    min-height: 22.70611vw;
}

.link-pnl-e > .link-pnl-inner > li a > .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    max-width: none;
    height: 100%;
    transform: translate(-50%, -50%);

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.link-pnl-e > .link-pnl-inner > li a:hover, .link-pnl-e > .link-pnl-inner > li a:active, .link-pnl-e > .link-pnl-inner > li a:focus {
    text-decoration: none;
    box-shadow: none;
}

.link-pnl-e > .link-pnl-inner > li a:hover::after, .link-pnl-e > .link-pnl-inner > li a:active::after, .link-pnl-e > .link-pnl-inner > li a:focus::after {
    opacity: .3;
}

@media only screen and (min-width: 769px) {
    .link-pnl-e {
        margin-top: 45px;
    }
    .link-pnl-e > .link-pnl-inner {
        display: flex;
        flex-wrap: wrap;
    }
    .link-pnl-e > .link-pnl-inner > li a > .item {
        justify-content: inherit;
        padding: 10px 35px;
    }
    .link-pnl-e > .link-pnl-inner > li a > .img {
        width: 50%;
        min-height: auto;
    }
    .link-pnl-e > .link-pnl-inner > li a > .img > img {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        transform: inherit;
    }
}

@media only screen and (min-width: 1025px) {
    .link-pnl-e > .link-pnl-inner {
        flex-wrap: nowrap;
    }
    .link-pnl-e > .link-pnl-inner > li {
        width: 50%;
    }
}

.link-pnl-f {
    margin: 25px 0 0;
}

.link-pnl-f > .link-pnl-inner {
    margin: -20px 0 0 -32px;
}

.link-pnl-f > .link-pnl-inner > li {
    display: flex;
    padding: 20px 0 0 32px;
}

.link-pnl-f > .link-pnl-inner > li > *:first-child {
    margin-top: 0;
}

.link-pnl-f > .link-pnl-inner > li a {
    position: relative;
    display: block;
    width: 100%;
    background: #fff;
    border: solid 1px #ddd;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    transition: box-shadow .2s;
}

.link-pnl-f > .link-pnl-inner > li a::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-pnl-f > .link-pnl-inner > li a > .label .txt {
    position: relative;
    display: inline-block;
    min-width: 102px;
    margin: 0 20px 0 0;
    padding: 4px 15px 3px;
    font-size: 1.2rem;
    color: #fff;
    vertical-align: top;
    text-align: center;
    background: #df0523;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .1);
}

.link-pnl-f > .link-pnl-inner > li a > .label .txt::before, .link-pnl-f > .link-pnl-inner > li a > .label .txt::after {
    position: absolute;
    left: 100%;
    display: block;
    width: 14px;
    height: 50%;
    content: "";
}

.link-pnl-f > .link-pnl-inner > li a > .label .txt::before {
    position: absolute;
    top: 0;
    display: block;
    background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #df0523 50.5%) no-repeat top left/100% 100%;
    content: "";
}

.link-pnl-f > .link-pnl-inner > li a > .label .txt::after {
    bottom: 0;
    background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #df0523 50.5%) no-repeat bottom right/100% 100%;
}

.link-pnl-f > .link-pnl-inner > li a > .item {
    display: flex;
    flex-direction: column-reverse;
}

.link-pnl-f > .link-pnl-inner > li a > .item .item-inner {
    padding: 15px 25px;
}

.link-pnl-f > .link-pnl-inner > li a > .item .item-inner > *:first-child {
    margin-top: 0;
}

.link-pnl-f > .link-pnl-inner > li a > .item .item-inner .name {
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.5;
}

.link-pnl-f > .link-pnl-inner > li a > .item .item-inner .name .product {
    display: block;
    margin: 10px 0 0;
    font-size: 1.4rem;
    color: #000;
}

.link-pnl-f > .link-pnl-inner > li a > .item .item-inner > p:not([class^="name"]):not([class^="link-a"]) {
    font-size: 1.2rem;
    color: #000;
}

.link-pnl-f > .link-pnl-inner > li a > .item .item-inner > p {
    margin-top: 10px;
}

.link-pnl-f > .link-pnl-inner > li a > .item .img {
    display: flex;
    justify-content: center;
    padding: 19px 25px 0;
}

.link-pnl-f > .link-pnl-inner > li a > .item .img .img-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 117px;
}

.link-pnl-f > .link-pnl-inner > li a > .item .img .img-inner > img {
    display: block;
    max-width: 55.625vw;
    max-height: 117px;
}

.link-pnl-f > .link-pnl-inner > li a:hover, .link-pnl-f > .link-pnl-inner > li a:active, .link-pnl-f > .link-pnl-inner > li a:focus {
    text-decoration: none;
    box-shadow: none;
}

.link-pnl-f > .link-pnl-inner > li a:hover::after, .link-pnl-f > .link-pnl-inner > li a:active::after, .link-pnl-f > .link-pnl-inner > li a:focus::after {
    opacity: .3;
}

@media only screen and (min-width: 769px) {
    .link-pnl-f {
        margin-top: 45px;
    }
    .link-pnl-f > .link-pnl-inner {
        display: flex;
        flex-wrap: wrap;
        margin-top: -30px;
    }
    .link-pnl-f > .link-pnl-inner > li {
        padding-top: 30px;
    }
    .link-pnl-f > .link-pnl-inner > li a > .label .txt {
        min-width: auto;
        margin-right: 48px;
        padding: 8px 35px;
        font-size: 1.8rem;
        text-align: left;
    }
    .link-pnl-f > .link-pnl-inner > li a > .label .txt::before, .link-pnl-f > .link-pnl-inner > li a > .label .txt::after {
        width: 24px;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .item-inner {
        padding: 22px 35px;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .item-inner .name {
        font-size: 2.4rem;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .item-inner .name .product {
        margin-top: 14px;
        font-size: 1.6rem;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .item-inner > p:not([class^="name"]):not([class^="link-a"]) {
        font-size: 1.4rem;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .item-inner > p {
        margin-top: 14px;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .img {
        padding: 20px 35px 0;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .img .img-inner {
        height: 9.9999967vw;
        min-height: 117px;
    }
    .link-pnl-f > .link-pnl-inner > li a > .item .img .img-inner > img {
        max-width: 27.878757vw;
        max-height: 100%;
    }
    .link-pnl-f._col2 > .link-pnl-inner > li, .link-pnl-f._col3 > .link-pnl-inner > li, .link-pnl-f._col4 > .link-pnl-inner > li {
        width: 50%;
    }
    .link-pnl-f._col4 > .link-pnl-inner > li a > .item .item-inner .name {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 1025px) {
    .link-pnl-f > .link-pnl-inner > li a .item .img .img-inner > img {
        max-width: 20vw;
        max-height: 10vw;
    }
    .link-pnl-f._col3 > .link-pnl-inner > li {
        width: 33.333333%;
    }
    .link-pnl-f._col4 > .link-pnl-inner > li {
        width: 25%;
    }
    .link-pnl-f._col4 > .link-pnl-inner > li a > .item .img .img-inner > img {
        max-width: 16vw;
    }
}

@media only screen and (min-width: 1400px) {
    .link-pnl-f > .link-pnl-inner > li a .item .img .img-inner {
        height: 140px;
    }
    .link-pnl-f > .link-pnl-inner > li a .item .img .img-inner > img {
        max-width: 280px;
        max-height: 140px;
    }
    .link-pnl-f._col4 > .link-pnl-inner > li {
        width: 25%;
    }
    .link-pnl-f._col4 > .link-pnl-inner > li a > .item .img .img-inner {
        height: 120px;
    }
    .link-pnl-f._col4 > .link-pnl-inner > li a > .item .img .img-inner > img {
        max-width: 244px;
        max-height: 120px;
    }
}

.link-pnl-g {
    margin: 25px 0 0;
}

.link-pnl-g .link-pnl-inner {
    display: flex;
    flex-direction: column;
    margin: -10px 0 0 -20px;
}

.link-pnl-g .link-pnl-inner > li {
    width: 100%;
    padding: 10px 0 0 20px;
}

.link-pnl-g .link-pnl-inner > li a {
    display: inline-block;
    max-width: 100%;
}

.link-pnl-g .link-pnl-inner > li a > .inner > .img {
    position: relative;
}

.link-pnl-g .link-pnl-inner > li a > .inner > .img::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-pnl-g .link-pnl-inner > li a > .inner > .img > img {
    display: block;
}

.link-pnl-g .link-pnl-inner > li a > .inner > .item {
    margin-top: 4px;
}

.link-pnl-g .link-pnl-inner > li a > .inner > .item .link-a {
    font-weight: bold;
}

.link-pnl-g .link-pnl-inner > li a:hover, .link-pnl-g .link-pnl-inner > li a:active, .link-pnl-g .link-pnl-inner > li a:focus {
    text-decoration: none;
}

.link-pnl-g .link-pnl-inner > li a:hover > .inner > .img::before, .link-pnl-g .link-pnl-inner > li a:active > .inner > .img::before, .link-pnl-g .link-pnl-inner > li a:focus > .inner > .img::before {
    opacity: .3;
}

.link-pnl-g .link-pnl-inner > li a:hover > .inner > .item .link-a, .link-pnl-g .link-pnl-inner > li a:active > .inner > .item .link-a, .link-pnl-g .link-pnl-inner > li a:focus > .inner > .item .link-a {
    text-decoration: underline;
}

@media only screen and (min-width: 769px) {
    .link-pnl-g {
        margin-top: 45px;
    }
    .link-pnl-g .link-pnl-inner > li a > .inner {
        display: flex;
        align-items: center;
    }
    .link-pnl-g .link-pnl-inner > li a > .inner > .img img {
        max-width: none;
    }
    .link-pnl-g .link-pnl-inner > li a > .inner > .item {
        margin: 0 0 0 20px;
    }
}

.link-pnl-h {
    margin: 25px 0 0;
}

.link-pnl-h > .link-pnl-inner {
    margin: -20px 0 0 -32px;
}

.link-pnl-h > .link-pnl-inner > li {
    display: flex;
    padding: 20px 0 0 32px;
}

.link-pnl-h > .link-pnl-inner > li > *:first-child {
    margin-top: 0;
}

.link-pnl-h > .link-pnl-inner > li a {
    position: relative;
    display: block;
    width: 100%;
    background: #fff;
    border: solid 1px #ddd;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    transition: box-shadow .2s;
}

.link-pnl-h > .link-pnl-inner > li a::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-pnl-h > .link-pnl-inner > li a > .item {
    display: flex;
    flex-direction: column-reverse;
}

.link-pnl-h > .link-pnl-inner > li a > .item .item-inner {
    padding: 15px 0;
}

.link-pnl-h > .link-pnl-inner > li a > .item .item-inner > *:not(.list-label-b) {
    margin-right: 25px;
    margin-left: 25px;
}

.link-pnl-h > .link-pnl-inner > li a > .item .item-inner > *:first-child:not(.list-label-b) {
    margin-top: 0;
}

.link-pnl-h > .link-pnl-inner > li a > .item .item-inner .name {
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.5;
}

.link-pnl-h > .link-pnl-inner > li a > .item .item-inner .name .product {
    display: block;
    margin: 10px 0 0;
    font-size: 1.4rem;
    color: #000;
}

.link-pnl-h > .link-pnl-inner > li a > .item .item-inner > p:not([class="name"]):not([class^="link-a"]) {
    font-size: 1.2rem;
    color: #000;
}

.link-pnl-h > .link-pnl-inner > li a > .item .item-inner > p {
    margin-top: 10px;
}

.link-pnl-h > .link-pnl-inner > li a > .item .img {
    display: flex;
    justify-content: center;
    padding: 19px 25px 0;
}

.link-pnl-h > .link-pnl-inner > li a > .item .img .img-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 117px;
}

.link-pnl-h > .link-pnl-inner > li a > .item .img .img-inner > img {
    display: block;
    max-width: 55.625vw;
    max-height: 117px;
}

.link-pnl-h > .link-pnl-inner > li a:hover, .link-pnl-h > .link-pnl-inner > li a:active, .link-pnl-h > .link-pnl-inner > li a:focus {
    text-decoration: none;
    box-shadow: none;
}

.link-pnl-h > .link-pnl-inner > li a:hover::after, .link-pnl-h > .link-pnl-inner > li a:active::after, .link-pnl-h > .link-pnl-inner > li a:focus::after {
    opacity: .3;
}

@media only screen and (min-width: 769px) {
    .link-pnl-h {
        margin-top: 45px;
    }
    .link-pnl-h > .link-pnl-inner {
        display: flex;
        flex-wrap: wrap;
        margin-top: -30px;
    }
    .link-pnl-h > .link-pnl-inner > li {
        padding-top: 30px;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .item-inner {
        padding-top: 22px;
        padding-bottom: 22px;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .item-inner > *:not(.list-label-b) {
        margin-right: 35px;
        margin-left: 35px;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .item-inner .name {
        font-size: 2.4rem;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .item-inner .name .product {
        margin-top: 14px;
        font-size: 1.6rem;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .item-inner > p:not([class="name"]):not([class^="link-a"]) {
        font-size: 1.4rem;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .item-inner > p {
        margin-top: 14px;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .img {
        padding: 20px 35px 0;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .img .img-inner {
        height: 9.9999967vw;
        min-height: 117px;
    }
    .link-pnl-h > .link-pnl-inner > li a > .item .img .img-inner > img {
        max-width: 27.878757vw;
        max-height: 100%;
    }
    .link-pnl-h._col2 > .link-pnl-inner > li {
        width: 50%;
    }
    .link-pnl-h._col3 > .link-pnl-inner > li {
        width: 50%;
    }
}

@media only screen and (min-width: 1025px) {
    .link-pnl-h > .link-pnl-inner > li a .item .img .img-inner > img {
        max-width: 20vw;
        max-height: 10vw;
    }
    .link-pnl-h._col3 > .link-pnl-inner > li {
        width: 33.333333%;
    }
}

@media only screen and (min-width: 1400px) {
    .link-pnl-h > .link-pnl-inner > li a .item .img .img-inner {
        height: 140px;
    }
    .link-pnl-h > .link-pnl-inner > li a .item .img .img-inner > img {
        max-width: 280px;
        max-height: 140px;
    }
}

.link-pnl-i {
    margin: 25px 0 0;
}

.link-pnl-i > .link-pnl-inner {
    margin: -20px 0 0 -32px;
}

.link-pnl-i > .link-pnl-inner > li {
    display: flex;
    padding: 20px 0 0 32px;
}

.link-pnl-i > .link-pnl-inner > li > *:first-child {
    margin-top: 0;
}

.link-pnl-i > .link-pnl-inner > li > .item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff;
    border: solid 1px #ddd;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    transition: box-shadow .2s;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner {
    padding: 10px 0 20px;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner > *:not(.list-label-d) {
    margin-right: 25px;
    margin-left: 25px;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner > *:first-child:not(.list-label-d) {
    margin-top: 0;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner .name {
    margin-top: 16px;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.5;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner .name .sub {
    display: block;
    margin-top: 10px;
    font-size: 1.4rem;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner > p:not([class="name"]):not([class^="link-a"]) {
    font-size: 1.2rem;
    color: #000;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner > p {
    margin-top: 8px;
}

.link-pnl-i > .link-pnl-inner > li > .item .item-inner > .list-desc-c {
    margin-top: 10px;
    color: #000;
}

@media only screen and (min-width: 769px) {
    .link-pnl-i {
        margin-top: 45px;
    }
    .link-pnl-i > .link-pnl-inner {
        display: flex;
        flex-wrap: wrap;
        margin-top: -30px;
    }
    .link-pnl-i > .link-pnl-inner > li {
        padding-top: 30px;
    }
    .link-pnl-i > .link-pnl-inner > li > .item .item-inner {
        padding: 10px 0 32px;
    }
    .link-pnl-i > .link-pnl-inner > li > .item .item-inner > *:not(.list-label-d) {
        margin-right: 35px;
        margin-left: 35px;
    }
    .link-pnl-i > .link-pnl-inner > li > .item .item-inner .name {
        font-size: 2.4rem;
    }
    .link-pnl-i > .link-pnl-inner > li > .item .item-inner .name .sub {
        margin-top: 14px;
        font-size: 1.6rem;
    }
    .link-pnl-i > .link-pnl-inner > li > .item .item-inner > p:not([class="name"]):not([class^="link-a"]) {
        font-size: 1.4rem;
    }
    .link-pnl-i > .link-pnl-inner > li > .item .item-inner > p {
        margin-top: 14px;
    }
    .link-pnl-i > .link-pnl-inner > li > .item .item-inner > .list-desc-c {
        margin-top: 23px;
    }
    .link-pnl-i._col2 > .link-pnl-inner > li {
        width: 50%;
    }
    .link-pnl-i._col3 > .link-pnl-inner > li {
        width: 50%;
    }
}

@media only screen and (min-width: 1025px) {
    .link-pnl-i._col3 > .link-pnl-inner > li {
        width: 33.333333%;
    }
}

/*
 * link-pager
** ------------------------------------------------------ */
.link-pager-a {
    display: flex;
    justify-content: center;
    margin: 30px 0 0;
}

.link-pager-a a {
    width: 38px;
    height: 38px;
}

.link-pager-a > .prev, .link-pager-a > .next {
    font-size: 10px;
}

.link-pager-a > .prev > a, .link-pager-a > .next > a {
    position: relative;
    display: block;
    color: transparent;
    background: #666;
    transition: background .2s;
}

.link-pager-a > .prev > a::before, .link-pager-a > .next > a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    margin: auto;
    background-position: -127px -61.5px;
    background-size: 145px 117px;
    content: "";
}

.link-pager-a > .prev > a:hover, .link-pager-a > .prev > a:active, .link-pager-a > .prev > a:focus, .link-pager-a > .next > a:hover, .link-pager-a > .next > a:active, .link-pager-a > .next > a:focus {
    background: #808080;
}

.link-pager-a > .prev {
    margin-right: 2px;
}

.link-pager-a > .prev > a {
    transform: rotate(180deg);
}

.link-pager-a > .next {
    margin-top: 0;
    margin-left: 2px;
}

.link-pager-a > .list {
    display: flex;
    align-items: center;
}

.link-pager-a > .list > li {
    display: table;
}

.link-pager-a > .list > li:not(:first-child) {
    padding: 0 0 0 2px;
}

.link-pager-a > .list > li > a {
    display: table-cell;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    background: #666;
    transition: background .2s;
}

.link-pager-a > .list > li > a:hover, .link-pager-a > .list > li > a:active, .link-pager-a > .list > li > a:focus {
    text-decoration: none;
    background: #808080;
}

.link-pager-a > .list > li > a[aria-current="page"] {
    font-weight: bold;
    background: #df0523;
}

.link-pager-a > *:first-child.prev > a {
    border-radius: 0 2px 2px 0;
}

.link-pager-a > *:first-child.list > li:first-child > a {
    border-radius: 2px 0 0 2px;
}

.link-pager-a > *:last-child.next > a {
    border-radius: 0 2px 2px 0;
}

.link-pager-a > *:last-child.list > li:last-child > a {
    border-radius: 0 2px 2px 0;
}

@media only screen and (min-width: 769px) {
    .link-pager-a {
        margin-top: 50px;
    }
    .link-pager-a a {
        width: 44px;
        height: 44px;
    }
}

/*
 * link-confirm
** ------------------------------------------------------ */
.link-confirm-a {
    margin: 16px 0 0;
}

.link-confirm-a .link-confirm-inner {
    margin: -10px 0 0 -20px;
}

.link-confirm-a .link-confirm-inner > li {
    position: relative;
    padding: 10px 0 0 20px;
}

.link-confirm-a .link-confirm-inner > li .lable {
    position: absolute;
    top: 10px;
    left: 20px;
    margin: 0 14px 0 0;
    background: #df0523;
}

.link-confirm-a .link-confirm-inner > li .lable::before {
    position: absolute;
    top: 0;
    left: 100%;
    display: block;
    border-width: 14px 0 14px 14px;
    border-style: solid;
    border-color: transparent transparent transparent #df0523;
    content: "";
}

.link-confirm-a .link-confirm-inner > li .lable::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-width: 14px;
    border-style: solid;
    border-color: transparent #e64607 #e64607 transparent;
    content: "";
}

.link-confirm-a .link-confirm-inner > li .lable .txt {
    position: relative;
    display: block;
    padding: 4px 9px 3px 38px;
    font-size: 1.2rem;
    color: #fff;
}

.link-confirm-a .link-confirm-inner > li .lable .txt::before {
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
}

.link-confirm-a .link-confirm-inner > li .lable._catalog .txt::before {
    top: 8px;
    left: 6px;
    width: 15px;
    height: 12.25px;
    background-position: -34.5px 0;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .lable._news .txt::before {
    top: 7px;
    left: 8px;
    width: 11.5px;
    height: 13px;
    background-position: -50.75px 0;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .lable._service .txt::before {
    top: 8px;
    left: 8px;
    width: 12.75px;
    height: 12.5px;
    background-position: -13px -31.75px;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .lable._case .txt::before {
    top: 8px;
    left: 9px;
    width: 10.25px;
    height: 13px;
    background-position: -50.75px -14.25px;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .lable._topics .txt::before {
    top: 7px;
    left: 7px;
    width: 15px;
    height: 13.5px;
    background-position: 0 -17px;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .lable._seminar .txt::before {
    top: 7px;
    left: 6px;
    width: 16px;
    height: 15px;
    background-position: -17.25px 0;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .lable._education .txt::before {
    top: 8px;
    left: 6px;
    width: 16px;
    height: 12px;
    background-position: -16.25px -17px;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .lable._column .txt::before {
    top: 6px;
    left: 6px;
    width: 16px;
    height: 15.75px;
    background-position: 0 0;
    background-size: 72.5px 58.5px;
}

.link-confirm-a .link-confirm-inner > li .item {
    display: block;
    margin-top: 14px;
    padding: 25px 15px 10px;
    background: #fff;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, .1);
    transition: box-shadow .2s;
}

.link-confirm-a .link-confirm-inner > li .item > *:first-child {
    margin-top: 0;
}

.link-confirm-a .link-confirm-inner > li .item:hover, .link-confirm-a .link-confirm-inner > li .item:active, .link-confirm-a .link-confirm-inner > li .item:focus {
    box-shadow: none;
}

.link-confirm-a .link-confirm-inner > li .item:hover .link-a, .link-confirm-a .link-confirm-inner > li .item:active .link-a, .link-confirm-a .link-confirm-inner > li .item:focus .link-a {
    text-decoration: underline;
}

@media only screen and (min-width: 769px) {
    .link-confirm-a {
        margin-top: 33px;
    }
    .link-confirm-a .link-confirm-inner {
        display: flex;
        flex-wrap: wrap;
        margin-top: -24px;
    }
    .link-confirm-a .link-confirm-inner > li {
        display: flex;
        width: 50%;
        padding-top: 24px;
    }
    .link-confirm-a .link-confirm-inner > li .lable {
        top: 24px;
    }
    .link-confirm-a .link-confirm-inner > li .lable::before {
        border-width: 24px 0 24px 24px;
    }
    .link-confirm-a .link-confirm-inner > li .lable::after {
        border-width: 24px;
    }
    .link-confirm-a .link-confirm-inner > li .lable .txt {
        padding: 8px 17px 8px 68px;
        font-size: 1.8rem;
    }
    .link-confirm-a .link-confirm-inner > li .lable._catalog .txt::before {
        top: 12px;
        left: 9px;
        width: 30px;
        height: 24.5px;
        background-position: -69px 0;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .lable._news .txt::before {
        top: 11px;
        left: 13px;
        width: 23px;
        height: 26px;
        background-position: -101.5px 0;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .lable._service .txt::before {
        top: 12px;
        left: 12px;
        width: 25.5px;
        height: 25px;
        background-position: -26px -63.5px;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .lable._case .txt::before {
        top: 11px;
        left: 14px;
        width: 20.5px;
        height: 26px;
        background-position: -101.5px -28.5px;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .lable._topics .txt::before {
        top: 11px;
        left: 8px;
        width: 30px;
        height: 27px;
        background-position: 0 -34px;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .lable._seminar .txt::before {
        top: 10px;
        left: 8px;
        width: 32px;
        height: 30px;
        background-position: -34.5px 0;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .lable._education .txt::before {
        top: 12px;
        left: 9px;
        width: 32px;
        height: 24px;
        background-position: -32.5px -34px;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .lable._column .txt::before {
        top: 8px;
        left: 9px;
        width: 32px;
        height: 31.5px;
        background-position: 0 0;
        background-size: 145px 117px;
    }
    .link-confirm-a .link-confirm-inner > li .item {
        width: 100%;
        margin-top: 24px;
        padding: 52px 35px 28px;
    }
}

@media only screen and (min-width: 1025px) {
    .link-confirm-a .link-confirm-inner > li {
        width: 33.333333%;
    }
}

/*
 * link-bnr
** ------------------------------------------------------ */
.link-bnr-a {
    margin: 20px 0 0;
}

.link-bnr-a .link-bnr-inner {
    display: flex;
    flex-wrap: wrap;
    margin: -20px 0 0 -20px;
}

.link-bnr-a .link-bnr-inner > li {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    padding: 20px 0 0 20px;
}

.link-bnr-a .link-bnr-inner > li a {
    display: block;
}

.link-bnr-a .link-bnr-inner > li a .bnr {
    position: relative;
}

.link-bnr-a .link-bnr-inner > li a .bnr::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.link-bnr-a .link-bnr-inner > li a .bnr img {
    display: block;
    width: 100%;
}

.link-bnr-a .link-bnr-inner > li a .bnr + * {
    margin-top: 4px;
}

.link-bnr-a .link-bnr-inner > li a:hover .bnr::before, .link-bnr-a .link-bnr-inner > li a:active .bnr::before, .link-bnr-a .link-bnr-inner > li a:focus .bnr::before {
    opacity: .3;
}

.link-bnr-a._col3 .link-bnr-inner > li a {
    max-width: 440px;
}

.link-bnr-a._col4 .link-bnr-inner > li a {
    max-width: 325px;
}

@media only screen and (min-width: 640px) {
    .link-bnr-a._col3 .link-bnr-inner > li, .link-bnr-a._col4 .link-bnr-inner > li {
        width: 50%;
    }
}

@media only screen and (min-width: 769px) {
    .link-bnr-a {
        margin-top: 40px;
    }
}

@media only screen and (min-width: 1025px) {
    .link-bnr-a._col3 .link-bnr-inner > li {
        width: 33.333333%;
    }
    .link-bnr-a._col4 .link-bnr-inner > li {
        width: 25%;
    }
}

/*
 * nav-breadcrumb
** ------------------------------------------------------ */
.nav-breadcrumb .nav-breadcrumb-inner {
    display: flex;
    flex-wrap: wrap;
}

.nav-breadcrumb .nav-breadcrumb-inner > li {
    margin: 0 12px 0 0;
}

.nav-breadcrumb .nav-breadcrumb-inner > li a, .nav-breadcrumb .nav-breadcrumb-inner > li span {
    position: relative;
    display: block;
    font-size: 1.1rem;
    color: #000;
    line-height: 1.5;
}

.nav-breadcrumb .nav-breadcrumb-inner > li a:not([href])[aria-current="page"] {
    font-weight: bold;
    color: #333;
}

.nav-breadcrumb .nav-breadcrumb-inner > li a:not([href])[aria-current="page"]:hover, .nav-breadcrumb .nav-breadcrumb-inner > li a:not([href])[aria-current="page"]:active, .nav-breadcrumb .nav-breadcrumb-inner > li a:not([href])[aria-current="page"]:focus {
    text-decoration: none;
}

.nav-breadcrumb .nav-breadcrumb-inner > li:first-child {
    padding-left: 3px;
}

.nav-breadcrumb .nav-breadcrumb-inner > li:first-child a::before {
    position: absolute;
    display: block;
    content: "";
}

.nav-breadcrumb .nav-breadcrumb-inner > li:first-child a > img {
    position: relative;
    top: 1px;
    width: 10px;
}

.nav-breadcrumb .nav-breadcrumb-inner > li:first-child a:hover::before, .nav-breadcrumb .nav-breadcrumb-inner > li:first-child a:active::before, .nav-breadcrumb .nav-breadcrumb-inner > li:first-child a:focus::before {
    bottom: 2px;
    left: 0;
    width: 100%;
    border-bottom: solid 1px #000;
}

.nav-breadcrumb .nav-breadcrumb-inner > li:not(:first-child) {
    position: relative;
    padding: 0 0 0 18px;
}

.nav-breadcrumb .nav-breadcrumb-inner > li:not(:first-child)::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 6px;
    height: 6px;
    border-width: 1px;
    border-style: solid;
    border-color: #757575 #757575 transparent transparent;
    content: "";
    transform: translateY(-50%) rotate(45deg) skew(-15deg, -15deg);
}

.nav-breadcrumb._color-a .nav-breadcrumb-inner > li a, .nav-breadcrumb._color-a .nav-breadcrumb-inner > li span {
    color: #fff;
}

.nav-breadcrumb._color-a .nav-breadcrumb-inner > li a:not([href])[aria-current="page"] {
    color: #fff;
}

.nav-breadcrumb._color-a .nav-breadcrumb-inner > li:first-child {
    padding-left: 3px;
}

.nav-breadcrumb._color-a .nav-breadcrumb-inner > li:first-child a:hover::before, .nav-breadcrumb._color-a .nav-breadcrumb-inner > li:first-child a:active::before, .nav-breadcrumb._color-a .nav-breadcrumb-inner > li:first-child a:focus::before {
    border-bottom: solid 1px #fff;
}

@media only screen and (min-width: 769px) {
    .nav-breadcrumb .nav-breadcrumb-inner > li a, .nav-breadcrumb .nav-breadcrumb-inner > li span {
        font-size: 1.2rem;
    }
}

/*
 * btn-wrap
** ------------------------------------------------------ */
[class^="btn-wrap-"] {
    margin: 20px 0 0;
}

@media only screen and (min-width: 769px) {
    [class^="btn-wrap-"] {
        margin-top: 40px;
    }
}

.btn-wrap-left {
    text-align: left;
}

.btn-wrap-center {
    text-align: center;
}

.btn-wrap-right {
    text-align: right;
}

/*
 * btn
** ------------------------------------------------------ */
.btn-a, .btn-b, .btn-c {
    display: inline-block;
    width: 100%;
    text-align: center;
    border-radius: 2px;
    transition: opacity .2s;
}

.btn-a:hover, .btn-a:active, .btn-a:focus, .btn-b:hover, .btn-b:active, .btn-b:focus, .btn-c:hover, .btn-c:active, .btn-c:focus {
    text-decoration: none;
}

.btn-a .txt, .btn-b .txt, .btn-c .txt {
    position: relative;
    display: inline-block;
    font-size: 1.6rem;
    color: #fff;
}

.btn-a .txt::before, .btn-b .txt::before, .btn-c .txt::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -61.5px;
    background-size: 145px 117px;
    content: "";
}

.btn-a._format .txt, .btn-b._format .txt, .btn-c._format .txt {
    padding-left: 12px;
}

.btn-a._format .txt::before, .btn-b._format .txt::before, .btn-c._format .txt::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 9px;
    height: 12px;
    background-position: -63.5px 0;
    background-size: 72.5px 58.5px;
    content: "";
}

.btn-a._submit .txt, .btn-b._submit .txt, .btn-c._submit .txt {
    padding-left: 30px;
}

.btn-a._submit .txt::before, .btn-b._submit .txt::before, .btn-c._submit .txt::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 20.8px;
    height: 14.4px;
    background-position: -21.6px -74.8px;
    background-size: 116px 93.6px;
    content: "";
}

.btn-a._more .txt::before, .btn-b._more .txt::before, .btn-c._more .txt::before {
    transform: rotate(90deg);
}

@media only screen and (min-width: 769px) {
    .btn-a._submit .txt, .btn-b._submit .txt, .btn-c._submit .txt {
        padding-left: 46px;
    }
    .btn-a._submit .txt::before, .btn-b._submit .txt::before, .btn-c._submit .txt::before {
        width: 26px;
        height: 18px;
        background-position: -27px -93.5px;
        background-size: 145px 117px;
    }
}

@media only screen and (min-width: 1025px) {
    .btn-a._format .txt, .btn-b._format .txt, .btn-c._format .txt {
        padding-left: 26px;
    }
    .btn-a._format .txt::before, .btn-b._format .txt::before, .btn-c._format .txt::before {
        top: 3px;
        width: 18px;
        height: 24px;
        background-position: -127px 0;
        background-size: 145px 117px;
    }
}

.btn-a, .btn-b {
    padding: 11px 30px 10px;
}

.btn-a .txt, .btn-b .txt {
    padding: 0 0 0 20px;
    line-height: 1.8;
}

@media only screen and (min-width: 769px) {
    .btn-a, .btn-b {
        width: auto;
        min-width: 320px;
        padding: 14px 40px;
    }
    .btn-a .txt, .btn-b .txt {
        padding: 0 0 0 27px;
        font-size: 1.8rem;
    }
    .btn-a .txt::before, .btn-b .txt::before {
        top: 9px;
    }
}

.btn-a {
    background: #666;
}

.btn-a:hover, .btn-a:active, .btn-a:focus {
    opacity: .67;
}

.btn-b, .btn-c {
    background: linear-gradient(90deg, #df0523 0%, #e3122e 50%, #e5374f 100%);
}

.btn-b:hover, .btn-b:active, .btn-b:focus, .btn-c:hover, .btn-c:active, .btn-c:focus {
    opacity: .6;
}

.btn-c {
    min-width: 136px;
    padding: 7px 10px;
}

.btn-c .txt {
    padding: 0 0 0 10px;
    font-size: 1.3rem;
}

.btn-c .txt::before {
    top: 5px;
}

@media only screen and (min-width: 769px) {
    .btn-c {
        min-width: 160px;
        padding: 6px 14px;
    }
    .btn-c .txt {
        padding-left: 12px;
        font-size: 1.4rem;
    }
    .btn-c .txt::before {
        top: 6px;
    }
}

@media only screen and (min-width: 1025px) {
    .btn-c {
        min-width: 250px;
        padding: 8px 40px;
    }
    .btn-c .txt {
        font-size: 1.8rem;
    }
    .btn-c .txt::before {
        top: 9px;
    }
}

/*
 * btn-list
** ------------------------------------------------------ */
.btn-list-a {
    margin: 35px 0 0;
}

.btn-list-a > .btn-list-inner {
    display: flex;
    flex-direction: column;
}

.btn-list-a > .btn-list-inner > li:not(:first-child) {
    margin-top: 8px;
}

.btn-list-a._col-reverse > .btn-list-inner {
    flex-direction: column-reverse;
}

.btn-list-a._col-reverse > .btn-list-inner > li:not(:first-child) {
    margin-top: 0;
}

.btn-list-a._col-reverse > .btn-list-inner > li:not(:last-child) {
    margin-top: 8px;
}

@media only screen and (min-width: 769px) {
    .btn-list-a {
        margin-top: 50px;
    }
    .btn-list-a > .btn-list-inner {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        margin: -32px 0 0 -32px;
    }
    .btn-list-a > .btn-list-inner > li {
        padding: 32px 0 0 32px;
    }
    .btn-list-a > .btn-list-inner > li:not(:first-child) {
        margin-top: 0;
    }
    .btn-list-a._col-reverse > .btn-list-inner {
        flex-direction: row;
    }
    .btn-list-a._col-reverse > .btn-list-inner > li:not(:last-child) {
        margin-top: 0;
    }
}

/*
 * header-btn
** ------------------------------------------------------ */
.header-btn {
    position: absolute;
    top: 16px;
    right: 12px;
}

@media only screen and (min-width: 769px) {
    .header-btn {
        right: 16px;
    }
}

@media only screen and (min-width: 1025px) {
    .header-btn {
        top: 26px;
        right: 20px;
    }
}

/*
 * box
** ------------------------------------------------------ */
.box-a {
    overflow: hidden;
    margin: 30px 0 0;
    border-radius: 2px;
}

.box-a > * {
    padding: 10px 15px;
}

.box-a > .hdg-a {
    font-size: 1.4rem;
    background: #c1cee0;
}

.box-a .item {
    background: #eee;
}

.box-a .item > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .box-a {
        margin-top: 40px;
    }
    .box-a > * {
        padding: 27px 35px;
    }
    .box-a > .hdg-a {
        font-size: 1.8rem;
    }
}

.box-b {
    overflow: hidden;
    margin: 30px 0 0;
    padding: 3px;
    background: #ddd;
    border-radius: 2px;
}

.box-b > * {
    padding: 10px 15px;
}

.box-b > .hdg-a {
    font-size: 1.4rem;
    background: #ddd;
}

.box-b .item {
    background: #fff;
}

.box-b .item > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .box-b {
        margin-top: 60px;
    }
    .box-b > * {
        padding: 26px 35px;
    }
    .box-b > .hdg-a {
        font-size: 1.8rem;
    }
}

.box-c {
    margin: 30px 0 0;
    padding: 15px 20px;
    background: #ededed;
}

.box-c > .hdg-a {
    margin: 10px 0 0;
    font-size: 1.6rem;
    color: #df0523;
}

.box-c .hdg-b {
    position: relative;
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 1.6rem;
    color: #df0523;
}

.box-c .hdg-b::before {
    position: absolute;
    top: 3px;
    left: 3px;
    display: block;
    content: "";
}

.box-c .hdg-b._category::before {
    width: 20px;
    height: 20.8px;
    background-position: -55.2px -21.6px;
    background-size: 116px 93.6px;
}

.box-c .hdg-b._keyword::before {
    width: 18.8px;
    height: 22px;
    background-position: 0 -50.8px;
    background-size: 116px 93.6px;
}

.box-c > *:first-child {
    margin-top: 0;
}

#ict .box-c {
    margin-top: 25px;
}

@media only screen and (min-width: 769px) {
    .box-c {
        margin-top: 50px;
        padding: 16px 24px 24px;
    }
    .box-c > .hdg-a {
        margin-top: 16px;
        font-size: 2.0rem;
    }
    .box-c .hdg-b {
        margin-top: 16px;
        padding-left: 40px;
        font-size: 2.0rem;
    }
    .box-c .hdg-b::before {
        top: 5px;
        left: 5px;
    }
    .box-c .hdg-b._category::before {
        width: 25px;
        height: 26px;
        background-position: -69px -27px;
        background-size: 145px 117px;
    }
    .box-c .hdg-b._keyword::before {
        width: 23.5px;
        height: 27.5px;
        background-position: 0 -63.5px;
        background-size: 145px 117px;
    }
    .box-c > *:first-child {
        margin-top: 0;
    }
    #ict .box-c {
        margin-top: 40px;
    }
}

.box-d {
    margin: 20px 0 0;
    padding: 10px 15px;
    border: solid 1px #ddd;
}

.box-d .hdg-a {
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.5;
}

.box-d .hdg-a + * {
    margin-top: 5px;
    line-height: 1.5;
}

.box-d :not(.hdg-a):not(b) {
    font-size: 1.2rem;
}

.box-d._none-border {
    padding: 0;
    border: none;
}

.box-d._bg-gray {
    background: #eee;
    border: none;
}

@media only screen and (min-width: 769px) {
    .box-d {
        padding: 17px 23px;
    }
    .box-d .hdg-a {
        font-size: 1.6rem;
    }
}

.box-e {
    margin: 20px 0 0;
    padding: 10px 15px;
    border: solid 1px #999;
}

.box-e._type-a {
    border: solid 1px #df0523;
}

@media only screen and (min-width: 769px) {
    .box-e {
        padding: 17px 23px;
    }
}

/*
 * box-contact
** ------------------------------------------------------ */
.box-contact-a {
    display: flex;
    margin: 30px 0 0;
    padding: 20px 15px;
    background: #f3dfc6;
}

.box-contact-a > .box-contact-inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.box-contact-a > .box-contact-inner > .hdg-a {
    font-weight: bold;
    font-size: 1.4rem;
}

.box-contact-a > .box-contact-inner .list {
    width: 100%;
}

.box-contact-a > .box-contact-inner .list > li:not(:first-child) {
    padding-top: 13px;
}

.box-contact-a > .box-contact-inner .link-tel {
    font-weight: 500;
    font-size: 2.65rem;
    color: #000;
    line-height: 1.3;
}

.box-contact-a > .box-contact-inner .link-tel:hover, .box-contact-a > .box-contact-inner .link-tel:active, .box-contact-a > .box-contact-inner .link-tel:focus {
    text-decoration: none;
}

.box-contact-a > .box-contact-inner .link-tel > img {
    position: relative;
    top: -2px;
    width: 29px;
    margin: 0 10px 0 0;
    vertical-align: middle;
}

@media only screen and (min-width: 769px) {
    .box-contact-a {
        margin-top: 40px;
        padding-right: 25px;
        padding-left: 25px;
    }
    .box-contact-a > .box-contact-inner > .hdg-a {
        font-size: 1.8rem;
        text-align: left;
    }
    .box-contact-a > .box-contact-inner .list {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        width: auto;
        margin: 1px 0 0 -30px;
    }
    .box-contact-a > .box-contact-inner .list > li {
        margin: 0 0 0 30px;
    }
    .box-contact-a > .box-contact-inner .list > li:not(:first-child) {
        padding-top: 0;

        flex-grow: 1;
    }
    .box-contact-a > .box-contact-inner .link-tel {
        font-size: 3.6rem;
    }
    .box-contact-a > .box-contact-inner .link-tel > img {
        top: -3px;
        width: 39px;
        margin-right: 15px;
    }
}

@media only screen and (min-width: 1025px) {
    .box-contact-a > .box-contact-inner .list {
        flex-direction: inherit;
        align-items: center;
    }
}

.box-contact-b {
    background: #f3dfc6;
}

.box-contact-b > .box-contact-inner {
    padding: 45px 20px 50px;
}

.box-contact-b > .box-contact-inner > .hdg-a {
    font-size: 1.8rem;
    color: #df0523;
    text-align: center;
}

.box-contact-b > .box-contact-inner > .hdg-a + .hdg-b {
    margin-top: 10px;
}

.box-contact-b > .box-contact-inner > .hdg-a + .item-wrap {
    margin-top: 14px;
}

.box-contact-b > .box-contact-inner > .hdg-b {
    margin-top: 20px;
    font-size: 1.6rem;
    color: #000;
    text-align: center;
}

.box-contact-b > .box-contact-inner .hdg-c {
    text-align: center;
}

.box-contact-b > .box-contact-inner .hdg-c > b {
    font-weight: bold;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item {
    margin-top: 10px;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item > *:first-child {
    margin-top: 0;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item .link-tel {
    display: block;
    margin-top: 10px;
    font-weight: 500;
    font-size: 2.65rem;
    color: #000;
    text-align: center;
    line-height: 1.3;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item .link-tel:hover, .box-contact-b > .box-contact-inner > .item-wrap > .item .link-tel:active, .box-contact-b > .box-contact-inner > .item-wrap > .item .link-tel:focus {
    text-decoration: none;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item .link-tel > img {
    position: relative;
    top: -2px;
    width: 29px;
    margin: 0 10px 0 0;
    vertical-align: middle;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item .hdg-c + .link-tel {
    margin-top: 0;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item .btn-wrap-contact {
    display: flex;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item .btn-wrap-contact .btn-b {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 77px;
}

.box-contact-b > .box-contact-inner > .item-wrap > .item .btn-wrap-contact .btn-b .txt {
    font-size: 1.6rem;
}

@media only screen and (min-width: 769px) {
    .box-contact-b {
        position: relative;
        z-index: 0;
        overflow: hidden;
    }
    .box-contact-b::before {
        position: absolute;
        top: 0;
        right: 50%;
        z-index: -1;
        display: block;
        width: 477px;
        height: 180px;
        margin-right: -799px;
        background: url(/shared/img/bg-box-01.png) top right no-repeat;
        content: "";
    }
    .box-contact-b > .box-contact-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 70px;
        padding-bottom: 80px;
    }
    .box-contact-b > .box-contact-inner > .hdg-a {
        font-size: 2.8rem;
    }
    .box-contact-b > .box-contact-inner > .hdg-b {
        font-size: 2.0rem;
    }
    .box-contact-b > .box-contact-inner .hdg-c {
        text-align: left;
    }
    .box-contact-b > .box-contact-inner > .item-wrap {
        display: flex;
        justify-content: center;
        margin: 10px 0 0 -35px;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item {
        display: flex;
        flex-direction: column;
        width: 50%;
        margin-top: 0;
        padding: 0 0 0 35px;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item:first-child {
        align-items: flex-end;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item:last-child {
        align-items: flex-start;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item:only-child {
        align-items: center;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item:only-child .btn-wrap-contact {
        justify-content: center;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item:only-child .btn-wrap-contact .btn-b {
        min-width: 500px;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item:not(:only-child) .btn-wrap-contact {
        justify-content: flex-end;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item .link-tel {
        font-size: 3.6rem;
        text-align: left;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item .link-tel > img {
        top: -3px;
        width: 39px;
        margin-right: 15px;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item .btn-wrap-contact {
        width: 100%;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item .btn-wrap-contact .btn-b {
        max-width: 500px;
        min-height: 84px;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item .btn-wrap-contact .btn-b .txt {
        font-size: 2.4rem;
        line-height: 1.5;
    }
    .box-contact-b > .box-contact-inner > .item-wrap > .item .btn-wrap-contact .btn-b .txt::before {
        top: 9px;
    }
}

@media only screen and (min-width: 1600px) {
    .box-contact-b::before {
        right: 0;
        margin-right: 0;
    }
}

.box-contact-c {
    margin: 30px 0 0;
    padding: 10px 15px;
    background: #f3dfc6;
}

.box-contact-c > p {
    text-align: center;
}

.box-contact-c * + [class^="btn-"] {
    margin-top: 10px;
}

@media only screen and (min-width: 769px) {
    .box-contact-c {
        margin-top: 40px;
        padding: 27px 35px;
    }
    .box-contact-c * + [class^="btn-"] {
        margin-top: 25px;
    }
}

.box-contact-d {
    width: 100%;
    background: #f3dfc6;
}

.box-contact-d .fixed-item {
    display: none;
}

.box-contact-d > .box-contact-inner {
    width: 100%;
    padding: 12px 10px;
}

.box-contact-d > .box-contact-inner .item + .item {
    margin: 8px 0 0;
}

.box-contact-d > .box-contact-inner .item > .btn .btn-a {
    padding-top: 6px;
    padding-bottom: 6px;
}

.box-contact-d > .box-contact-inner .item > .list {
    display: flex;
    flex-direction: column;
}

.box-contact-d > .box-contact-inner .item > .list > li {
    margin: 2px 0 0;
}

.box-contact-d > .box-contact-inner .item > .list > li .desc {
    display: table;
    width: 100%;
}

.box-contact-d > .box-contact-inner .item > .list > li .desc > div {
    display: table-row;
}

.box-contact-d > .box-contact-inner .item > .list > li .desc > div > * {
    display: table-cell;
    vertical-align: middle;
}

.box-contact-d > .box-contact-inner .item > .list > li .desc > div > dt {
    width: 80px;
    font-weight: bold;
    font-size: 1.2rem;
    white-space: nowrap;
}

.box-contact-d > .box-contact-inner .item > .list > li .desc > div > dd {
    position: relative;
    padding: 0 0 0 9px;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.4;
}

.box-contact-d > .box-contact-inner .item > .list > li .desc > div > dd::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 100%;
    max-height: 14px;
    margin: auto;
    background: url(/shared/img/list-line-01.png) top repeat-y;
    content: "";
}

.box-contact-d > .box-contact-inner .item > .list > li .desc > div > dd .sub {
    display: inline-block;
    font-size: 1.2rem;
}

.box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dt .pc-show {
    display: none;
}

.box-contact-d > .box-contact-inner .item > .list > li._phone {
    order: -1;
}

.box-contact-d > .box-contact-inner .item > .list > li._phone .desc > div > dd {
    font-size: 1.8rem;
}

@media only screen and (min-width: 769px) {
    .box-contact-d {
        background: #f9e8e5;
    }
    .box-contact-d > .box-contact-inner {
        margin: 0 auto;
        padding: 10px;
    }
    .box-contact-d > .box-contact-inner .item > .btn .btn-a {
        padding-top: 4px;
        padding-bottom: 4px;
    }
    .box-contact-d > .box-contact-inner .item > .list {
        flex-direction: row;
        flex-wrap: wrap;
        margin: 0 0 0 -20px;
    }
    .box-contact-d > .box-contact-inner .item > .list > li {
        display: flex;
        align-items: center;
        padding: 0 0 0 20px;
    }
    .box-contact-d > .box-contact-inner .item > .list > li .desc > div > dt {
        width: auto;
        padding: 0 10px 0 0;
    }
    .box-contact-d > .box-contact-inner .item > .list > li .desc > div > dd {
        font-size: 1.8rem;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free {
        width: 100%;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dt {
        width: 50px;
        padding-right: 0;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dt img {
        width: 39px;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dt .pc-show {
        display: block;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dt .sp-show {
        display: none;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dd {
        font-size: 2.4rem;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dd::before {
        content: none;
    }
    .box-contact-d > .box-contact-inner .item > .list > li._phone {
        order: inherit;
    }
}

@media only screen and (min-width: 791px) {
    .box-contact-d > .box-contact-inner .item > .list > li._free {
        width: auto;
    }
}

@media only screen and (min-width: 1160px) {
    .box-contact-d > .box-contact-inner {
        display: flex;
        align-items: center;
        width: 100%;
        max-width: 1160px;
    }
    .box-contact-d > .box-contact-inner .item + .item {
        margin-top: 0;
    }
    .box-contact-d > .box-contact-inner .item:first-child {
        padding-right: 30px;
    }
    .box-contact-d > .box-contact-inner .item:last-child {
        position: relative;
        padding-left: 30px;
    }
    .box-contact-d > .box-contact-inner .item:last-child::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        display: block;
        width: 1px;
        height: 40px;
        margin: auto;
        border-left: solid 1px #d9bdb8;
        content: "";
    }
    .box-contact-d > .box-contact-inner .item > .list > li._free .desc > div > dt {
        width: auto;
    }
}

/*
 * box-strong
** ------------------------------------------------------ */
.box-strong-a {
    margin: 30px 0 0;
    padding: 12px 20px;
    background: #f7eded;
}

.box-strong-a p > strong {
    font-size: 1.2rem;
    color: #000;
}

@media only screen and (min-width: 769px) {
    .box-strong-a {
        margin-top: 50px;
        padding: 28px 40px;
    }
    .box-strong-a p > strong {
        font-size: 1.6rem;
    }
}

.box-strong-b {
    margin: 30px 0 0;
    padding: 11px 20px 10px;
    text-align: center;
    background: #fff;
    border: solid 2px #df0523;
}

.box-strong-b + * {
    margin-top: 30px;
}

@media only screen and (min-width: 769px) {
    .box-strong-b {
        margin-top: 50px;
        padding-top: 17px;
        padding-bottom: 16px;
    }
    .box-strong-b + * {
        margin-top: 50px;
    }
}

/*
 * box-confirm
** ------------------------------------------------------ */
.box-confirm-a {
    background: #eee;
}

.box-confirm-a > .box-confirm-inner {
    padding: 45px 20px 80px;
}

.box-confirm-a > .box-confirm-inner > .hdg-a {
    margin: 30px 0 0;
    font-size: 1.8rem;
}

.box-confirm-a > .box-confirm-inner > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .box-confirm-a > .box-confirm-inner {
        max-width: 1400px;
        margin: 0 auto;
        padding-top: 70px;
        padding-bottom: 80px;
    }
    .box-confirm-a > .box-confirm-inner > .hdg-a {
        margin-top: 55px;
        font-size: 2.8rem;
    }
    .box-confirm-a > .box-confirm-inner > *:first-child {
        margin-top: 0;
    }
}

/*
 * box-case
** ------------------------------------------------------ */
.box-case-a {
    margin: 15px 0 0;
}

.box-case-a .box-case-inner {
    display: flex;
    flex-direction: column-reverse;
    border: solid 1px #ddd;
}

.box-case-a .box-case-inner .item {
    background: #fff;
}

.box-case-a .box-case-inner .item .label {
    position: relative;
    display: inline-block;
    margin: 0 24px 0 0;
    padding: 4px 15px 3px;
    font-size: 1.2rem;
    color: #fff;
    vertical-align: top;
    background: #df0523;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .1);
}

.box-case-a .box-case-inner .item .label::before, .box-case-a .box-case-inner .item .label::after {
    position: absolute;
    left: 100%;
    display: block;
    width: 14px;
    height: 50%;
    content: "";
}

.box-case-a .box-case-inner .item .label::before {
    top: 0;
    background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #df0523 50.5%) no-repeat top left/100% 100%;
}

.box-case-a .box-case-inner .item .label::after {
    position: absolute;
    bottom: 0;
    display: block;
    background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #df0523 50.5%) no-repeat bottom right/100% 100%;
    content: "";
}

.box-case-a .box-case-inner .item > .item-inner {
    padding: 10px 15px;
}

.box-case-a .box-case-inner .item > .item-inner .hdg-a > b {
    font-weight: bold;
    font-size: 1.5rem;
}

.box-case-a .box-case-inner .item > .item-inner .hdg-a + p {
    margin-top: 0;
}

.box-case-a .box-case-inner .img {
    min-height: 0;
    min-height: calc(0%);
}

.box-case-a .box-case-inner .img > img {
    display: block;
    width: 100%;
    margin: 0 auto;
}

.box-case-a + .box-case-a {
    margin-top: 10px;
}

@media only screen and (min-width: 769px) {
    .box-case-a {
        margin-top: 35px;
    }
    .box-case-a .box-case-inner {
        flex-direction: row-reverse;
    }
    .box-case-a .box-case-inner .item {
        width: 100%;
    }
    .box-case-a .box-case-inner .item .label {
        margin-right: 48px;
        padding: 8px 35px;
        font-size: 1.8rem;
    }
    .box-case-a .box-case-inner .item .label::before, .box-case-a .box-case-inner .item .label::after {
        width: 24px;
    }
    .box-case-a .box-case-inner .item > .item-inner {
        padding: 25px 35px;
    }
    .box-case-a .box-case-inner .item > .item-inner .hdg-a > b {
        font-size: 2.4rem;
    }
    .box-case-a .box-case-inner .img {
        position: relative;
        overflow: hidden;
        width: 100%;
        min-height: 278px;
    }
    .box-case-a .box-case-inner .img > img {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: auto;
        max-width: none;
        height: 100%;
        transform: translate(-50%, -50%);

        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .box-case-a + .box-case-a {
        margin-top: 20px;
    }
}

/*
 * box-seminar
** ------------------------------------------------------ */
.box-seminar-a .title {
    margin: 16px 0 0;
}

.box-seminar-a .title > b {
    font-weight: bold;
    font-size: 1.5rem;
}

.box-seminar-a .title + * {
    margin-top: 10px;
}

.box-seminar-a + [class^="tbl-"] {
    margin-top: 15px;
}

@media only screen and (min-width: 769px) {
    .box-seminar-a .title > b {
        font-size: 2.4rem;
    }
    .box-seminar-a .title + * {
        margin-top: 14px;
    }
    .box-seminar-a + [class^="tbl-"] {
        margin-top: 25px;
    }
}

.box-seminar-wrap {
    margin: 30px 0 0;
    padding: 25px 18px;
    background: #f7eded;
}

.box-seminar-wrap + .box-seminar-wrap {
    margin-top: 10px;
}

@media only screen and (min-width: 769px) {
    .box-seminar-wrap {
        margin-top: 45px;
        padding: 36px;
    }
    .box-seminar-wrap .btn-wrap-center {
        margin-top: 30px;
    }
    .box-seminar-wrap + .box-seminar-wrap {
        margin-top: 20px;
    }
}

/*
 * box-search
** ------------------------------------------------------ */
.box-search-a {
    padding: 12px;
    background: #ededed;
}

.box-search-a > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .box-search-a {
        padding: 24px;
    }
    .box-search-a > *:first-child {
        margin-top: 0;
    }
}

.box-search-b {
    margin: 30px 0 0;
    padding: 12px 12px 8px;
    background: #f7eded;
}

.box-search-b > .hdg-a {
    position: relative;
    padding: 0 0 0 33px;
    font-weight: bold;
    font-size: 1.4rem;
    color: #df0523;
}

.box-search-b > .hdg-a::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 22.5px;
    height: 22px;
    background-position: -101.5px -57px;
    background-size: 145px 117px;
    content: "";
}

.box-search-b > .hdg-a + * {
    margin-top: 6px;
}

@media only screen and (min-width: 769px) {
    .box-search-b {
        margin-top: 60px;
        padding: 21px 24px 18px;
    }
    .box-search-b > .hdg-a {
        font-size: 1.8rem;
    }
    .box-search-b > .hdg-a::before {
        top: 4px;
    }
    .box-search-b > .hdg-a + * {
        margin-top: 10px;
    }
}

/*
 * box-lead
** ------------------------------------------------------ */
.box-lead-a {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    border: solid 1px #ddd;
}

.box-lead-a > .item {
    width: 100%;
    padding: 10px 15px;
}

.box-lead-a > .item .lead > b {
    font-weight: bold;
    font-size: 1.4rem;
}

.box-lead-a > .item .lead + * {
    margin-top: 14px;
}

.box-lead-a > .img {
    display: flex;
    align-items: center;
    width: 100%;
    height: 170px;
    padding: 20px 20px 0;
}

.box-lead-a > .img .img-inner {
    width: 100%;
}

.box-lead-a > .img .img-inner > img {
    display: block;
    max-height: 150px;
    margin: 0 auto;
}

@media only screen and (min-width: 769px) {
    .box-lead-a {
        flex-direction: row;
    }
    .box-lead-a > .item {
        align-self: flex-start;
        padding: 25px 35px 30px 35px;
    }
    .box-lead-a > .item .lead > b {
        font-size: 2.8rem;
    }
    .box-lead-a > .img {
        width: 300px;
        min-width: 300px;
        height: 200px;
        padding: 20px 35px 20px 0;
    }
    .box-lead-a > .img .img-inner > img {
        max-height: 160px;
        margin-right: 0;
    }
}

.box-lead-b {
    position: relative;
    padding: 25px 20px 40px;
    background: #fff;
}

.box-lead-b > .hdg-a {
    margin-top: 25px;
    text-align: center;
}

.box-lead-b > .hdg-a > b {
    font-weight: bold;
    font-size: 1.8rem;
}

.box-lead-b > .hdg-a + p {
    margin-top: 15px;
}

.box-lead-b > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .box-lead-b {
        padding: 5.37109vw 7.03125vw 5.85937vw;
    }
    .box-lead-b > .hdg-a {
        margin-top: 60px;
    }
    .box-lead-b > .hdg-a > b {
        font-size: 2.8rem;
    }
    .box-lead-b > .hdg-a + p {
        margin-top: 45px;
    }
    .box-lead-b p {
        text-align: center;
    }
    .box-lead-b > *:first-child {
        margin-top: 0;
    }
}

@media only screen and (min-width: 1025px) {
    .box-lead-b {
        padding: 55px 72px 60px;
    }
}

/*
 * box-apply
** ------------------------------------------------------ */
.box-apply-a {
    display: flex;
    margin: 25px 0 0;
    padding: 15px 20px;
    background: #f7eded;
}

.box-apply-a .box-apply-inner {
    margin: 0 auto;
}

.box-apply-a .box-apply-inner > .hdg-a {
    font-size: 1.8rem;
    color: #df0523;
    text-align: center;
}

.box-apply-a .box-apply-inner > .hdg-a + * {
    margin-top: 7px;
}

@media only screen and (min-width: 769px) {
    .box-apply-a {
        margin-top: 55px;
        padding: 25px 35px 30px;
    }
    .box-apply-a .box-apply-inner > .hdg-a {
        font-size: 2.4rem;
    }
    .box-apply-a .box-apply-inner .btn-wrap-center {
        margin-top: 20px;
    }
}

/*
 * box-prize
** ------------------------------------------------------ */
.box-prize-a .box-prize-inner {
    display: flex;
    flex-wrap: wrap;
    margin: -16px 0 0 -16px;
}

.box-prize-a .box-prize-inner .col {
    width: 100%;
    padding: 16px 0 0 16px;
}

.box-prize-a .box-prize-inner .col .box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 30px 20px 20px;
    border: 2px solid #ddd;
}

.box-prize-a .box-prize-inner .col .box > .img {
    margin-bottom: 0;
    text-align: center;
}

.box-prize-a .box-prize-inner .col .box > .txt {
    margin-top: 0;
    font-size: 1.4rem;
    text-align: center;
}

.box-prize-a .box-prize-inner .col .box > .txt em {
    font-size: 2rem;
}

@media only screen and (min-width: 769px) {
    .box-prize-a .box-prize-inner .col {
        width: 50%;
    }
    .box-prize-a .box-prize-inner .col .box > .img {
        margin-bottom: 10px;
    }
    .box-prize-a .box-prize-inner .col .box > .txt {
        font-size: 1.8rem;
    }
    .box-prize-a .box-prize-inner .col .box > .txt em {
        font-size: 2.4rem;
    }
}

/*
 * box-movie
** ------------------------------------------------------ */
.box-movie {
    display: flex;
    justify-content: flex-end;
    padding: 16px;
    background: #e5f1f6;

    flex-flow: column-reverse;
}

.box-movie > .item-contents {
    width: 100%;
    margin-left: 0;
}

.box-movie > .item-contents > .title {
    width: 100%;
    max-width: 180px;
    margin-bottom: 7px;
}

.box-movie > .item-contents > p {
    margin-top: 0;
}

.box-movie > .item-movie {
    margin: 0 auto;
}

.box-movie > .item-movie > a {
    display: block;
    width: 100%;
    max-width: 300px;
}

.box-movie > .item-movie > a img {
    width: 100%;
}

@media only screen and (min-width: 768px) {
    .box-movie {
        padding: 40px;

        flex-flow: row-reverse;
    }
    .box-movie > .item-contents {
        margin-left: 40px;
    }
    .box-movie > .item-contents > .title {
        max-width: 218px;
    }
    .box-movie > .item-movie {
        margin: 0;
    }
    .box-movie > .item-movie > a {
        width: 300px;
    }
    .box-movie > .item-movie > a img:hover, .box-movie > .item-movie > a img:focus, .box-movie > .item-movie > a img:active {
        opacity: .7;
    }
}

/*
 * box-list
** ------------------------------------------------------ */
.box-list-a {
    display: block;
}

.box-list-a > li {
    margin-bottom: 10px;
    padding: 15px;
    background: #cce4ed;
}

.box-list-a > li > .contents > .title {
    display: flex;
    align-items: center;
    padding-bottom: 11px;
    font-weight: bold;
    font-size: 1.6rem;
    color: #0078a7;
    border-bottom: solid 1px #0078a7;
}

.box-list-a > li > .contents > .title > .icon {
    width: 25px;
    margin-right: 8px;
}

.box-list-a > li > .contents > .list-bullet-a {
    margin-top: 12px;
}

.box-list-a > li.item-d {
    display: block;
    color: #fff;
    background: #0078a7;
}

.box-list-a > li.item-d > .contents > .title {
    color: #fff;
}

.box-list-a > li.item-d > .contents > .list-bullet-a {
    margin-top: 0;
}

.box-list-a > li.item-d > .contents > .list-bullet-a > li::before {
    border: solid 3px #fff;
}

.box-list-a > li:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
    .box-list-a {
        display: -ms-grid;
        display: grid;
        width: 100%;

        grid-template-rows: 1fr;
        -ms-grid-rows: 1fr;
        grid-template-columns: 1fr 1fr 1fr;
        -ms-grid-columns: 1fr 1fr 1fr;
    }
    .box-list-a > li {
        margin-bottom: 0;
        margin-left: 2px;
        padding: 30px 30px 50px 30px;
    }
    .box-list-a > li > .contents > .title {
        align-items: flex-start;
        padding-bottom: 20px;
        font-weight: bold;
        font-size: 2.4rem;
    }
    .box-list-a > li > .contents > .title > .icon {
        width: auto;
        margin-right: 16px;
    }
    .box-list-a > li > .contents > .list-bullet-a {
        margin-top: 24px;
    }
    .box-list-a > li:first-child {
        margin-left: 0;
    }
    .box-list-a > li.item-a, .box-list-a > li.item-b, .box-list-a > li.item-c {
        grid-row: 1 / 2;
        -ms-grid-rows: 1;
    }
    .box-list-a > li.item-a {
        grid-column: 1 / 2;
        -ms-grid-column: 1;
    }
    .box-list-a > li.item-b {
        grid-column: 2 / 3;
        -ms-grid-column: 2;
    }
    .box-list-a > li.item-c {
        grid-column: 3 / 4;
        -ms-grid-column: 3;
    }
    .box-list-a > li.item-d {
        padding: 30px;

        grid-column: 1 / 4;
        grid-row: 2 / 3;
        -ms-grid-column: 1;
        -ms-grid-column-span: 3;
        -ms-grid-row: 2;
    }
    .box-list-a > li.item-d > .contents {
        display: flex;
        align-items: center;
    }
    .box-list-a > li.item-d > .contents > .title {
        padding-bottom: 0;
        border-bottom: none;

        flex-shrink: 0;
    }
    .box-list-a > li.item-d > .contents > .title > .list-bullet-a {
        margin-top: -5px;
    }
    .box-list-a > li.item-d > .contents > *:not(.title) {
        margin-left: 19px;
    }
    .box-list-a > li.item-d > .contents > *.list-bullet-a > li {
        display: inline-block;
        margin-left: 13px;
    }
    .box-list-a > li:last-child {
        margin-top: 10px;
        margin-left: 0;
    }
}

/*
 * lyt-img
** ------------------------------------------------------ */
.lyt-img-a, .list-process-img {
    margin: 25px 0 0;
    text-align: center;
}

.lyt-img-a img, .list-process-img img {
    display: block;
    margin: 0 auto;
}

.lyt-img-a .title, .list-process-img .title {
    margin-bottom: 8px;
    text-align: center;
}

.lyt-img-a .caption, .list-process-img .caption {
    display: block;
    margin-top: 8px;
    font-size: 1.2rem;
    text-align: center;
}

.lyt-img-a a, .list-process-img a {
    display: inline-block;
    max-width: 100%;
    transition: opacity .2s;
}

.lyt-img-a a:hover, .list-process-img a:hover, .lyt-img-a a:active, .list-process-img a:active, .lyt-img-a a:focus, .list-process-img a:focus {
    opacity: .7;
}

.lyt-img-a._left, ._left.list-process-img {
    text-align: left;
}

.lyt-img-a._left > img, ._left.list-process-img > img {
    margin: 0 auto 0 0;
}

.lyt-img-a._left .title, ._left.list-process-img .title, .lyt-img-a._left .caption, ._left.list-process-img .caption {
    text-align: left;
}

.lyt-img-a._right, ._right.list-process-img {
    text-align: right;
}

.lyt-img-a._right > img, ._right.list-process-img > img {
    margin: 0 0 0 auto;
}

.lyt-img-a._right .title, ._right.list-process-img .title, .lyt-img-a._right .caption, ._right.list-process-img .caption {
    text-align: right;
}

.lyt-img-a + *, .list-process-img + * {
    margin-top: 25px;
}

.lyt-img-a + .lyt-col-a, .list-process-img + .lyt-col-a {
    margin-top: 20px;
}

.lyt-img-a._clickable > .pc-show, ._clickable.list-process-img > .pc-show {
    display: block;
    margin: 0 auto;
}

.lyt-img-a._clickable > .sp-show, ._clickable.list-process-img > .sp-show {
    display: none;
}

@media only screen and (max-width: 1080px) {
    .lyt-img-a._clickable > .pc-show, ._clickable.list-process-img > .pc-show {
        display: none;
    }
    .lyt-img-a._clickable > .sp-show, ._clickable.list-process-img > .sp-show {
        display: block;
    }
}

@media only screen and (min-width: 769px) {
    .lyt-img-a, .list-process-img {
        margin-top: 45px;
    }
    .lyt-img-a .title, .list-process-img .title {
        margin-bottom: 20px;
    }
    .lyt-img-a .caption, .list-process-img .caption {
        font-size: 1.4rem;
    }
    .lyt-img-a + *, .list-process-img + * {
        margin-top: 45px;
    }
    .lyt-img-a + .lyt-col-a, .list-process-img + .lyt-col-a {
        margin-top: 30px;
    }
}

.lyt-img-b {
    display: flex;
    flex-direction: column-reverse;
    margin: 25px 0 0;
}

.lyt-img-b .item {
    margin-top: 12px;
}

.lyt-img-b .item > *:first-child {
    margin-top: 0;
}

.lyt-img-b .item > .hdg-a > b {
    font-weight: bold;
    font-size: 1.5rem;
}

.lyt-img-b .item > .hdg-a > .sub {
    display: block;
}

.lyt-img-b .item > .hdg-a + * {
    margin-top: 5px;
}

.lyt-img-b .img {
    text-align: center;
}

.lyt-img-b .img .img-inner > img {
    display: block;
    margin: 0 auto;
}

.lyt-img-b .img._logo .img-inner {
    display: table;
    width: 100%;
    height: 170px;
    padding: 10px;
    border: solid 1px #ddd;
    table-layout: fixed;
}

.lyt-img-b .img._logo .img-inner > .logo {
    display: table-cell;
    vertical-align: middle;
}

.lyt-img-b .img._logo .img-inner > .logo > img {
    display: block;
    max-height: 150px;
    margin: 0 auto;
}

.lyt-img-b .img .caption {
    display: block;
    margin-top: 8px;
    font-size: 1.2rem;
}

.lyt-img-b._col-reverse {
    flex-direction: column;
}

.lyt-img-b._col-reverse .item {
    margin-top: 0;
}

.lyt-img-b._col-reverse .img {
    margin-top: 10px;
}

.lyt-img-b._search .item {
    margin-top: 0;
}

.lyt-img-b._search .item > .hdg-link-a > a {
    font-weight: bold;
    font-size: 1.8rem;
}

.lyt-img-b._search .item > p:not(.hdg-link-a) {
    margin-top: 7px;
}

.lyt-img-b._search .img {
    display: none;
}

@media only screen and (min-width: 769px) {
    .lyt-img-b {
        flex-direction: row;
        justify-content: space-between;
        margin-top: 45px;
    }
    .lyt-img-b .item {
        width: 100%;
        min-width: 1px;
        margin-top: 0;
    }
    .lyt-img-b .item > .hdg-a > b {
        font-size: 2.4rem;
    }
    .lyt-img-b .item > .hdg-a + * {
        margin-top: 16px;
    }
    .lyt-img-b .img {
        margin-left: 40px;
    }
    .lyt-img-b .img .img-inner > img {
        max-width: none;
    }
    .lyt-img-b .img .caption {
        font-size: 1.4rem;
        text-align: left;
    }
    .lyt-img-b .img._size-a .img-inner {
        width: 300px;
    }
    .lyt-img-b .img._size-a .img-inner img {
        max-width: 100%;
    }
    .lyt-img-b .img._logo {
        min-width: 300px;
    }
    .lyt-img-b .img._logo .img-inner {
        width: 300px;
        height: 200px;
    }
    .lyt-img-b .img._logo .img-inner > .logo img {
        max-width: 100%;
        max-height: 180px;
    }
    .lyt-img-b._col-reverse {
        flex-direction: row;
    }
    .lyt-img-b._col-reverse .img {
        margin-top: 0;
    }
    .lyt-img-b._row-reverse {
        flex-direction: row-reverse;
    }
    .lyt-img-b._row-reverse .img {
        margin-right: 40px;
        margin-left: 0;
    }
    .lyt-img-b._search .item {
        width: calc(100% - 340px);
    }
    .lyt-img-b._search .item > .hdg-link-a > a {
        font-size: 2.4rem;
    }
    .lyt-img-b._search .item > p:not(.hdg-link-a) {
        margin-top: 20px;
    }
    .lyt-img-b._search .img {
        display: block;
        min-width: 300px;
    }
    .lyt-img-b._search .img .img-inner {
        display: table;
        width: 300px;
        height: 225px;
        table-layout: fixed;
    }
    .lyt-img-b._search .img .img-inner > .capture {
        display: table-cell;
        vertical-align: middle;
    }
    .lyt-img-b._search .img .img-inner > .capture a {
        display: block;
        border: solid 1px #ddd;
    }
    .lyt-img-b._search .img .img-inner > .capture a img {
        display: block;
        max-width: 100%;
        max-height: 225px;
        margin: 0 auto;
        transition: opacity .2s;
    }
    .lyt-img-b._search .img .img-inner > .capture a:hover img, .lyt-img-b._search .img .img-inner > .capture a:active img, .lyt-img-b._search .img .img-inner > .capture a:focus img {
        opacity: .7;
    }
}

.lyt-img-c {
    margin: 25px 0 0;
}

.lyt-img-c .lyt-img-inner {
    display: flex;
    flex-direction: column-reverse;
    margin: 0;
}

.lyt-img-c .lyt-img-inner .img {
    min-height: calc(0%);
}

.lyt-img-c .lyt-img-inner .img > img {
    display: block;
    margin: 0 auto;
}

.lyt-img-c .lyt-img-inner .caption .txt {
    margin-top: 8px;
    font-size: 1.2rem;
}

@media only screen and (min-width: 769px) {
    .lyt-img-c {
        margin-top: 45px;
    }
    .lyt-img-c .lyt-img-inner {
        flex-direction: row-reverse;
        flex-wrap: nowrap;
    }
    .lyt-img-c .lyt-img-inner .img {
        max-width: 420px;
        margin-right: 20px;

        flex-shrink: 0;
    }
    .lyt-img-c .lyt-img-inner .caption {
        width: 100%;
    }
    .lyt-img-c .lyt-img-inner .caption .txt {
        margin-top: 0;
        font-size: 1.4rem;
    }
}

.lyt-img-d {
    display: flex;
    flex-direction: column-reverse;
}

.lyt-img-d .item .item-inner {
    padding: 18px 20px;
}

.lyt-img-d .item .item-inner > .hdg-a > b {
    font-size: 2.0rem;
}

.lyt-img-d .item .item-inner > .hdg-a + * {
    margin-top: 10px;
}

.lyt-img-d .item .item-inner p:not(.hdg-a) {
    margin-top: 10px;
}

.lyt-img-d .img {
    min-height: calc(0%);
}

.lyt-img-d .img > img {
    display: block;
    margin: 0 auto;
}

@media only screen and (min-width: 640px) {
    .lyt-img-d {
        flex-direction: row;
    }
    .lyt-img-d > * {
        width: 50%;
    }
    .lyt-img-d .item .item-inner {
        max-width: 680px;
        margin-right: 0;
        margin-left: auto;
    }
    .lyt-img-d .item .item-inner > .hdg-a > b {
        font-size: 2.0rem;
    }
    .lyt-img-d .img {
        position: relative;
        overflow: hidden;
        min-height: 26.04166vw;
    }
    .lyt-img-d .img > img {
        position: absolute;
        top: 50%;
        left: 0;
        width: auto;
        max-width: none;
        height: 100%;
        transform: translateY(-50%);

        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .lyt-img-d._row-reverse {
        flex-direction: row-reverse;
    }
    .lyt-img-d._row-reverse .item .item-inner {
        margin-right: auto;
        margin-left: 0;
    }
    .lyt-img-d._row-reverse .img > img {
        right: 0;
        left: auto;
    }
}

@media only screen and (min-width: 769px) {
    .lyt-img-d .item .item-inner {
        padding: 3.57142vw 35px;
    }
    .lyt-img-d .item .item-inner > .hdg-a > b {
        font-size: 2.57142vw;
    }
    .lyt-img-d .item .item-inner > .hdg-a + * {
        margin-top: 14px;
    }
    .lyt-img-d .item .item-inner p:not(.hdg-a) {
        margin-top: 20px;
    }
    .lyt-img-d .img {
        min-height: 28.57142vw;
    }
}

@media only screen and (min-width: 1400px) {
    .lyt-img-d .item .item-inner {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .lyt-img-d .item .item-inner > .hdg-a > b {
        font-size: 3.6rem;
    }
    .lyt-img-d .img {
        min-height: 400px;
    }
}

@media only screen and (min-width: 1600px) {
    .lyt-img-d .img > img {
        height: 25vw;
    }
}

.lyt-img-e {
    margin: 10px 0 0;
}

.lyt-img-e .lyt-img-inner {
    margin: -5px 0 0 -5px;
}

.lyt-img-e .lyt-img-inner > li {
    position: relative;
    margin: 5px 0 0 5px;
}

.lyt-img-e .lyt-img-inner > li > .item {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    padding: 10px 15px;
}

.lyt-img-e .lyt-img-inner > li > .item p {
    font-weight: bold;
    font-size: 1.6rem;
    color: #fff;
    text-align: center;
    line-height: 1.4;
}

.lyt-img-e .lyt-img-inner > li > .img {
    position: relative;
}

.lyt-img-e .lyt-img-inner > li > .img::before {
    position: absolute;
    bottom: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(3, 0, 0, .7) 0%, rgba(3, 0, 0, 0) 50%, rgba(3, 0, 0, 0) 100%);
    content: "";
}

.lyt-img-e .lyt-img-inner > li > .img img {
    display: block;
    width: 100%;
    margin: 0 auto;
}

@media only screen and (min-width: 640px) {
    .lyt-img-e .lyt-img-inner {
        display: flex;
    }
    .lyt-img-e .lyt-img-inner > li {
        width: 33.333333%;
    }
    .lyt-img-e .lyt-img-inner > li > .item {
        display: table;
        width: 100%;
        min-height: 8.88671vw;
        padding: 0;
        background: linear-gradient(0deg, rgba(3, 0, 0, .7) 0%, rgba(3, 0, 0, 0) 90%, rgba(3, 0, 0, 0) 100%);
    }
    .lyt-img-e .lyt-img-inner > li > .item > * {
        display: table-cell;
        vertical-align: middle;
    }
    .lyt-img-e .lyt-img-inner > li > .item p {
        font-size: 2.1875vw;
    }
    .lyt-img-e .lyt-img-inner > li > .img::before {
        content: none;
    }
}

@media only screen and (min-width: 769px) {
    .lyt-img-e {
        margin-top: 20px;
    }
    .lyt-img-e .lyt-img-inner > li > .item p {
        font-size: 1.95312vw;
    }
}

@media only screen and (min-width: 1025px) {
    .lyt-img-e .lyt-img-inner > li > .item {
        min-height: 91px;
    }
    .lyt-img-e .lyt-img-inner > li > .item p {
        font-size: 2.0rem;
    }
}

.lyt-img-f {
    padding: 30px 0;
    text-align: center;
}

/*
 * lyt-col
** ------------------------------------------------------ */
.lyt-col-a {
    margin: 25px 0 0;
}

.lyt-col-a > .lyt-col-inner {
    margin: -20px 0 0 -32px;
}

.lyt-col-a > .lyt-col-inner > .col {
    padding: 20px 0 0 32px;
}

.lyt-col-a > .lyt-col-inner > .col > *:first-child {
    margin-top: 0;
}

.lyt-col-a + .lyt-col-a, .lyt-col-a + .lyt-img-a, .lyt-col-a + .list-process-img {
    margin-top: 20px;
}

@media only screen and (min-width: 769px) {
    .lyt-col-a {
        margin-top: 45px;
    }
    .lyt-col-a > .lyt-col-inner {
        display: flex;
        flex-wrap: wrap;
        margin-top: -30px;
    }
    .lyt-col-a > .lyt-col-inner > .col {
        padding-top: 30px;
    }
    .lyt-col-a._col2 > .lyt-col-inner > .col {
        width: 50%;
    }
    .lyt-col-a._col2._center > .lyt-col-inner > .col:nth-child(odd) .lyt-img-a, .lyt-col-a._col2._center > .lyt-col-inner > .col:nth-child(odd) .list-process-img {
        margin: 0 0 0 auto;
    }
    .lyt-col-a._col2._center > .lyt-col-inner > .col:nth-child(even) .lyt-img-a, .lyt-col-a._col2._center > .lyt-col-inner > .col:nth-child(even) .list-process-img {
        margin: 0 auto 0 0;
    }
    .lyt-col-a._col2._center > .lyt-col-inner > .col .lyt-img-a, .lyt-col-a._col2._center > .lyt-col-inner > .col .list-process-img {
        display: table;
    }
    .lyt-col-a._col3 > .lyt-col-inner > .col {
        width: 33.333333%;
    }
    .lyt-col-a._col3-2 > .lyt-col-inner > .col {
        width: 50%;
    }
    .lyt-col-a._col4 > .lyt-col-inner > .col {
        width: 25%;
    }
    .lyt-col-a + .lyt-col-a, .lyt-col-a + .lyt-img-a, .lyt-col-a + .list-process-img {
        margin-top: 30px;
    }
}

@media only screen and (min-width: 1025px) {
    .lyt-col-a._col3-2 > .lyt-col-inner > .col {
        width: 33.333333%;
    }
}

.lyt-col-b {
    margin: 20px 0 0;
}

.lyt-col-b > .lyt-col-inner {
    margin: -50px 0 0 -32px;
}

.lyt-col-b > .lyt-col-inner > .col {
    padding: 50px 0 0 32px;
}

.lyt-col-b > .lyt-col-inner > .col > .hdg-b-wrap {
    margin-top: 0;
}

.lyt-col-b + .section-indent .hdg-b-wrap, .lyt-col-b + .hdg-b-wrap {
    margin-top: 50px;
}

@media only screen and (min-width: 769px) {
    .lyt-col-b {
        margin-top: 42px;
    }
    .lyt-col-b > .lyt-col-inner {
        display: flex;
        flex-wrap: wrap;
        margin-top: -120px;
    }
    .lyt-col-b > .lyt-col-inner > .col {
        width: 50%;
        padding-top: 120px;
    }
    .lyt-col-b > .lyt-col-inner > .col > .hdg-b-wrap {
        margin-top: 0;
    }
    .lyt-col-b > .lyt-col-inner > .col > .hdg-b-wrap::after {
        width: 32.771%;
    }
    .lyt-col-b._has-margin > .lyt-col-inner > .col > *:not(.hdg-b-wrap) {
        margin-right: 72px;
        margin-left: 72px;
    }
    .lyt-col-b + .section-indent .hdg-b-wrap, .lyt-col-b + .hdg-b-wrap {
        margin-top: 120px;
    }
}

@media only screen and (min-width: 1025px) {
    .lyt-col-b._has-margin > .lyt-col-inner > .col > *:not(.hdg-b-wrap) {
        margin-right: 17.48511%;
        margin-left: 17.48511%;
    }
}

@media only screen and (min-width: 1400px) {
    .lyt-col-b._has-margin > .lyt-col-inner > .col > *:not(.hdg-b-wrap) {
        margin-right: 116px;
        margin-left: 116px;
    }
}

/*
 * lyt-map
** ------------------------------------------------------ */
.lyt-map-a {
    margin: 30px 0 0;
}

.lyt-map-a > .map {
    display: block;
    width: 100%;
    height: 360px;
    border: none;
}

.lyt-map-a > .map + p {
    margin-top: 10px;
}

.lyt-map-a > .map .map-info {
    width: 100%;
    max-width: 200px;
}

.lyt-map-a > .map .map-info .name {
    font-weight: normal;
    font-size: 1.4rem;
}

@media only screen and (min-width: 769px) {
    .lyt-map-a {
        margin-top: 60px;
    }
    .lyt-map-a > .map {
        height: 420px;
    }
    .lyt-map-a > .map + p {
        margin-top: 16px;
    }
    .lyt-map-a > .map .map-info {
        max-width: 500px;
    }
    .lyt-map-a > .map .map-info .name {
        font-size: 1.6rem;
    }
}

/*
 * lyt-movie
** ------------------------------------------------------ */
.lyt-movie-a {
    margin: 30px 0 0;
}

.lyt-movie-a .lyt-movie-inner {
    max-width: 852px;
    max-height: 482px;
    margin: 0 auto;
}

.lyt-movie-a .lyt-movie-inner .movie {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.lyt-movie-a .lyt-movie-inner .movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: none;
}

@media only screen and (min-width: 769px) {
    .lyt-movie-a {
        margin-top: 60px;
    }
}

/*
 * tbl
** ------------------------------------------------------ */
.tbl-wrap-a {
    margin: 20px 0 0;
}

.tbl-wrap-a .tbl-a {
    width: 100%;
    border-width: 0 1px 1px 0;
    border-style: solid;
    border-color: transparent #ddd #ddd transparent;
    table-layout: fixed;
}

.tbl-wrap-a .tbl-a > thead > tr > th, .tbl-wrap-a .tbl-a > thead > tr > td {
    padding: 10px 15px;
    background: #eee;
    border-width: 1px 0 0 1px;
    border-style: solid;
    border-color: #ddd transparent transparent #ddd;
}

.tbl-wrap-a .tbl-a > thead > tr > th {
    font-weight: bold;
}

.tbl-wrap-a .tbl-a > tbody > tr > th, .tbl-wrap-a .tbl-a > tbody > tr > td {
    display: block;
    float: left;
    clear: both;
    width: 100%;
    padding: 10px 15px;
    border-width: 1px 0 0 1px;
    border-style: solid;
    border-color: #ddd transparent transparent #ddd;
}

.tbl-wrap-a .tbl-a > tbody > tr > th a, .tbl-wrap-a .tbl-a > tbody > tr > td a {
    word-break: break-all;
}

.tbl-wrap-a .tbl-a > tbody > tr > th {
    font-weight: bold;
    text-align: left;
    background: #eee;
}

.tbl-wrap-a .tbl-a > tbody > tr > td {
    background: #fff;
}

.tbl-wrap-a .tbl-a > tbody > tr > td > *:first-child:not(.list-toggle-a) {
    margin-top: 0;
}

.tbl-wrap-a .tbl-a > tbody > tr > td > * + * {
    margin-top: 10px;
}

.tbl-wrap-a.tbl-scroll {
    position: relative;
    -webkit-overflow-scrolling: touch;
}

.tbl-wrap-a.tbl-scroll .tbl-a > tbody > tr > th, .tbl-wrap-a.tbl-scroll .tbl-a > tbody > tr > td {
    display: table-cell;
    float: none;
    width: inherit;
}

.tbl-wrap-a.tbl-scroll .icon-swipe {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.tbl-wrap-a.tbl-scroll .icon-swipe img {
    width: 70px;
}

.tbl-wrap-a:not(.tbl-scroll) .tbl-a col {
    display: block;
}

.tbl-wrap-a + [class^="btn-list-"] {
    margin-top: 20px;
}

@media only screen and (min-width: 769px) {
    .tbl-wrap-a {
        margin-top: 30px;
    }
    .tbl-wrap-a .tbl-a > tbody > tr > th, .tbl-wrap-a .tbl-a > tbody > tr > td {
        display: table-cell;
        float: none;
        width: auto;
        padding: 17px 23px;
        vertical-align: top;
    }
    .tbl-wrap-a.tbl-scroll .icon-swipe {
        display: none;
    }
    .tbl-wrap-a:not(.tbl-scroll) .tbl-a col {
        display: table-column;
    }
    .tbl-wrap-a + [class^="btn-list-"] {
        margin-top: 40px;
    }
}

/*
 * tbl-scroll
** ------------------------------------------------------ */
.tbl-scroll {
    overflow-x: scroll;
}

.tbl-scroll [class^="tbl-"] {
    width: 768px;
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .tbl-scroll {
        overflow-x: auto;
    }
    .tbl-scroll [class^="tbl-"] {
        width: 100%;
    }
}

/*
 * placeholder style
** ------------------------------------------------------ */
:placeholder-shown {
    padding-top: 3px;
    font-size: 1.6rem;
    color: #999;
}

::-webkit-input-placeholder {
    padding-top: 3px;
    font-size: 1.6rem;
    color: #999;
    opacity: 1;
}

:-moz-placeholder {
    padding-top: 3px;
    font-size: 1.6rem;
    color: #999;
    opacity: 1;
}

::-moz-placeholder {
    padding-top: 3px;
    font-size: 1.6rem;
    color: #999;
    opacity: 1;
}

:-ms-input-placeholder {
    padding-top: 3px;
    font-size: 1.6rem;
    color: #999;
}

[data-browser="Edge"] ::-webkit-input-placeholder {
    color: #999;
    opacity: 1 !important;
}

@media only screen and (min-width: 769px) {
    :placeholder-shown {
        font-size: 1.8rem;
    }
    ::-webkit-input-placeholder {
        font-size: 1.8rem;
    }
    :-moz-placeholder {
        font-size: 1.8rem;
    }
    ::-moz-placeholder {
        font-size: 1.8rem;
    }
    :-ms-input-placeholder {
        font-size: 1.8rem;
    }
}

/*
 * form-search
** ------------------------------------------------------ */
.form-search-a {
    display: flex;
    width: 100%;
    margin: 23px 0 0;
}

.form-search-a .search-input {
    width: 100%;
    height: 42px;
    padding: 11px 7px;
    background: #f2f2f2;
    border: solid 1px #ccc;
    border-right: 0;
    border-radius: 2px 0 0 2px;
}

.form-search-a .search-btn {
    position: relative;
    width: 44px;
    padding: 0;
    border: solid 1px #ccc;
    border-left: 0;
    border-radius: 0 2px 2px 0;
}

.form-search-a .search-btn::before, .form-search-a .search-btn::after {
    position: absolute;
    display: block;
    content: "";
}

.form-search-a .search-btn::before {
    top: 12px;
    left: 7px;
    width: 14px;
    height: 14px;
    border: solid 2px #666;
    border-radius: 50%;
}

.form-search-a .search-btn::after {
    top: 25px;
    left: 16px;
    width: 8px;
    height: 2px;
    background: #666;
    border-radius: 2px;
    transform: rotate(45deg);
}

.form-search-a .search-btn > .txt {
    position: absolute;
    top: -999em;
    left: -999em;
    font-size: 1.0rem;
    color: transparent;
}

@media only screen and (min-width: 1025px) {
    .form-search-a {
        width: auto;
        margin-top: 0;
        margin-left: 40px;
    }
    .form-search-a .search-input {
        width: 181px;
        height: 32px;
        padding: 6px 7px;
        font-size: 1.6rem;
        background: #ebebeb;
        border: none;
    }
    .form-search-a .search-btn {
        width: 32px;
        background: #666;
        border: none;
        transition: background .2s;
    }
    .form-search-a .search-btn:hover, .form-search-a .search-btn:active, .form-search-a .search-btn:focus {
        background: #808080;
    }
    .form-search-a .search-btn::before {
        top: 8px;
        border: solid 2px #fff;
    }
    .form-search-a .search-btn::after {
        top: 21px;
        background: #fff;
    }
    .form-search-a .search-btn > img.pc-show {
        display: block;
        margin: 0 auto;
    }
    .form-search-a .search-btn > img.sp-show {
        display: none;
    }
}

.form-search-b {
    display: flex;
    width: 100%;
}

.form-search-b .search-input {
    width: calc(100% - 36px);
    height: 36px;
    padding: 6px 12px;
    background: #fff;
    border: none;
    border-radius: 2px 0 0 2px;
}

.form-search-b .search-btn {
    position: relative;
    width: 36px;
    min-width: 36px;
    height: 36px;
    padding: 0;
    background: #666;
    border-radius: 0 2px 2px 0;
    transition: background .2s;
}

.form-search-b .search-btn:hover, .form-search-b .search-btn:active, .form-search-b .search-btn:focus {
    background: #808080;
}

.form-search-b .search-btn::before, .form-search-b .search-btn::after {
    position: absolute;
    display: block;
    content: "";
}

.form-search-b .search-btn::before {
    top: 9px;
    left: 10px;
    width: 14px;
    height: 14px;
    border: solid 2px #fff;
    border-radius: 50%;
}

.form-search-b .search-btn::after {
    top: 22px;
    left: 19px;
    width: 8px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transform: rotate(45deg);
}

.form-search-b .search-btn > .txt {
    position: absolute;
    top: -999em;
    left: -999em;
    font-size: 1.0rem;
    color: transparent;
}

@media only screen and (min-width: 769px) {
    .form-search-b {
        width: 56vw;
        max-width: 782px;
        margin: 0 auto;
    }
    .form-search-b .search-input {
        height: 48px;
    }
    .form-search-b .search-btn {
        width: 48px;
        min-width: 48px;
        height: 48px;
    }
    .form-search-b .search-btn::before {
        top: 12px;
        left: 13px;
        width: 20px;
        height: 20px;
        border-width: 3px;
    }
    .form-search-b .search-btn::after {
        top: 30px;
        left: 26px;
        width: 11px;
        height: 3px;
        border-radius: 3px;
    }
}

.form-search-wrap {
    margin: 12px 0 0;
    padding: 12px;
    background: #ddd;
}

@media only screen and (min-width: 769px) {
    .form-search-wrap {
        margin-top: 24px;
        padding: 24px 0;
    }
}

/*
 * form-list
** ------------------------------------------------------ */
.form-list-a {
    display: flex;
    flex-wrap: wrap;
    margin: -10px 0 0 -30px;
}

.form-list-a > li {
    display: flex;
    width: 100%;
    padding: 10px 0 0 30px;
}

.form-list-a > li > input {
    position: absolute;
    left: -100%;
    z-index: -1;
}

.form-list-a > li > input + label {
    display: block;
    width: 100%;
    padding: 6px 12px;
    background: #fff;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    cursor: pointer;
    transition: background .2s, box-shadow .2s;
}

.form-list-a > li > input + label .txt {
    position: relative;
    display: block;
    padding: 0 0 0 37px;
    font-size: 1.4rem;
}

.form-list-a > li > input + label .txt::before, .form-list-a > li > input + label .txt::after {
    position: absolute;
    display: block;
    content: "";
}

.form-list-a > li > input + label .txt::before {
    top: 1px;
    left: 0;
    width: 24px;
    height: 24px;
    background: #c1cee0;
    border: solid 2px #627794;
    transition: background .2s, border-color .2s;
}

.form-list-a > li > input + label .txt::after {
    top: 8px;
    left: 7px;
    width: 11px;
    height: 7px;
    border-width: 0 0 2px 2px;
    border-style: solid;
    border-color: transparent transparent #df0523 #df0523;
    opacity: 0;
    transition: opacity .2s;
    transform: rotate(-45deg);
}

.form-list-a > li > input:hover + label, .form-list-a > li > input:active + label, .form-list-a > li > input:focus + label {
    box-shadow: none;
}

.form-list-a > li > input:hover + label .txt, .form-list-a > li > input:active + label .txt, .form-list-a > li > input:focus + label .txt {
    color: #1257b8;
}

.form-list-a > li > input:checked + label {
    background: #f6ded0;
    box-shadow: none;
}

.form-list-a > li > input:checked + label .txt {
    font-weight: bold;
    color: #df0523;
}

.form-list-a > li > input:checked + label .txt::before {
    background: #fff;
    border-color: #df0523;
}

.form-list-a > li > input:checked + label .txt::after {
    opacity: 1;
}

@media only screen and (min-width: 769px) {
    .form-list-a > li {
        width: 33.333333%;
    }
    .form-list-a > li > input + label {
        padding: 11px 27px 11px 15px;
    }
    .form-list-a > li > input + label .txt {
        font-size: 1.6rem;
    }
}

/*
 * form-flow
** ------------------------------------------------------ */
.form-flow-a {
    margin: 0 0 30px;
    padding: 0 0 36px;
}

.form-flow-a .form-flow-inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    counter-reset: num;
}

.form-flow-a .form-flow-inner li {
    position: relative;
    counter-increment: num;
}

.form-flow-a .form-flow-inner li:first-child {
    width: 28px;
}

.form-flow-a .form-flow-inner li:first-child:lang(en) {
    width: 38px;
}

.form-flow-a .form-flow-inner li:not(:first-child) {
    width: calc((100% - 28px) / 2);
    text-align: right;
}

.form-flow-a .form-flow-inner li:not(:first-child)::before {
    position: absolute;
    top: 41px;
    right: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 6px;
    border-top: solid 6px #c1cee0;
    content: "";
}

.form-flow-a .form-flow-inner li:not(:first-child):lang(en)::before {
    right: 25px;
}

.form-flow-a .form-flow-inner li .txt {
    position: relative;
    white-space: nowrap;
}

.form-flow-a .form-flow-inner li .txt::before {
    position: absolute;
    top: 28px;
    right: 0;
    left: 1px;
    z-index: 1;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    font-weight: bold;
    color: #fff;
    white-space: nowrap;
    content: counter(num);
}

.form-flow-a .form-flow-inner li .txt::after {
    position: absolute;
    top: 26px;
    right: 0;
    left: 0;
    display: block;
    width: 29px;
    height: 29px;
    margin: 0 auto;
    background: #c1cee0;
    border-radius: 50%;
    content: "";
}

.form-flow-a .form-flow-inner li._visited::before {
    border-top-color: #df0523;
}

.form-flow-a .form-flow-inner li._visited .txt::before {
    color: #df0523;
}

.form-flow-a .form-flow-inner li._visited .txt::after {
    background: #fff;
    border: solid 2px #df0523;
}

.form-flow-a .form-flow-inner li[aria-current="step"]::before {
    border-top-color: #df0523;
}

.form-flow-a .form-flow-inner li[aria-current="step"] .txt {
    font-weight: bold;
}

.form-flow-a .form-flow-inner li[aria-current="step"] .txt::after {
    background: #df0523;
}

@media only screen and (min-width: 769px) {
    .form-flow-a {
        margin-bottom: 50px;
    }
    .form-flow-a .form-flow-inner li:first-child {
        width: 37px;
    }
    .form-flow-a .form-flow-inner li:first-child:lang(en) {
        width: 44px;
    }
    .form-flow-a .form-flow-inner li:not(:first-child)::before {
        top: 48px;
        right: 5px;
        height: 8px;
        border-top-width: 8px;
    }
    .form-flow-a .form-flow-inner li .txt::before {
        top: 30px;
    }
    .form-flow-a .form-flow-inner li .txt::after {
        top: 30px;
        width: 32px;
        height: 32px;
    }
}

/*
 * a-form_style
** ------------------------------------------------------ */
.aform-content dl {
    border-right: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
}

.aform-content dl > * {
    padding: 10px 15px;
    border-left: solid 1px #ddd;
}

.aform-content dl > dt {
    background: #eee;
}

.aform-content dl > dt .aform-label {
    display: inline;
    padding: 0 13px 0 0;
    font-weight: bold;
}

.aform-content dl > dt .aform-label + .required {
    display: inline-block;
    vertical-align: middle;
}

.aform-content dl > dt .aform-label + .required .txt {
    display: block;
    padding: 3px 10px 2px;
    font-size: 1.2rem;
    color: #fff;
    background: #e5374f;
    border-radius: 2px;
}

.aform-content dl > dt .aform-label > a[target="_blank"] img {
    position: relative;
    top: 1px;
    width: 13px;
    height: 13px;
    margin: 0 5px;
}

.aform-content dl > dd {
    border-top: solid 1px #ddd;
}

.aform-content dl > dd p.aform-input-example {
    display: none;
}

.aform-content dl > dd input.aform-input:not(.aform-checkbox):not(.aform-radio), .aform-content dl > dd input.aform-field-option-text, .aform-content dl > dd textarea.aform-input {
    width: 100%;
    padding: 8px;
    border: solid 1px #ccc;
}

.aform-content dl > dd input.aform-input:not(.aform-checkbox):not(.aform-radio).error, .aform-content dl > dd input.aform-field-option-text.error, .aform-content dl > dd textarea.aform-input.error {
    background: #f6ebeb;
}

.aform-content dl > dd input.aform-input:not(.aform-checkbox):not(.aform-radio):focus, .aform-content dl > dd input.aform-field-option-text:focus, .aform-content dl > dd textarea.aform-input:focus {
    outline: solid 1px #627794;
}

.aform-content dl > dd textarea.aform-input {
    display: block;
}

.aform-content dl > dd select {
    background: #fff;
}

.aform-content dl > dd select.error {
    background: #f6ebeb;
}

.aform-content dl > dd select:focus {
    outline: solid 1px #627794;
}

.aform-content dl > dd .aform-twice-note {
    display: block;
    font-size: 1.4rem;
}

.aform-content dl > dd .aform-input + .aform-twice-note {
    margin: 7px 0 0 0;
}

.aform-content dl > dd .aform-input + .aform-twice-note + .aform-input {
    margin: 7px 0 0 0;
}

.aform-content dl > dd .aform-name-ul li, .aform-content dl > dd .aform-kana-ul li {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.aform-content dl > dd .aform-name-ul li:not(:first-child), .aform-content dl > dd .aform-kana-ul li:not(:first-child) {
    margin-top: 10px;
}

.aform-content dl > dd .aform-name-ul li label, .aform-content dl > dd .aform-kana-ul li label {
    margin: 0 10px 0 0;
    white-space: nowrap;
}

.aform-content dl > dd .aform-checkbox-ul, .aform-content dl > dd .aform-radio-ul {
    display: flex;
    flex-direction: column;
    margin: -10px 0 0 -30px;
}

.aform-content dl > dd .aform-checkbox-ul > li, .aform-content dl > dd .aform-radio-ul > li {
    display: flex;
    padding: 10px 0 0 30px;
}

.aform-content dl > dd .aform-checkbox-ul > li input.aform-input, .aform-content dl > dd .aform-radio-ul > li input.aform-input {
    position: absolute;
    left: -100%;
    z-index: -1;
}

.aform-content dl > dd .aform-checkbox-ul > li input.aform-input + label, .aform-content dl > dd .aform-radio-ul > li input.aform-input + label {
    position: relative;
    display: inline-block;
    padding-left: 37px;
    vertical-align: top;
}

.aform-content dl > dd .aform-checkbox-ul > li input.aform-input + label::after, .aform-content dl > dd .aform-radio-ul > li input.aform-input + label::after {
    position: absolute;
    top: 8px;
    left: 7px;
    display: block;
    width: 11px;
    height: 7px;
    border-width: 0 0 2px 2px;
    border-style: solid;
    border-color: transparent transparent #df0523 #df0523;
    content: "";
    opacity: 0;
    transition: opacity .2s;
    transform: rotate(-45deg);
}

.aform-content dl > dd .aform-checkbox-ul > li input.aform-input:checked + label::before, .aform-content dl > dd .aform-radio-ul > li input.aform-input:checked + label::before {
    background: #fff;
    border-color: #df0523;
}

.aform-content dl > dd .aform-checkbox-ul > li input.aform-input:checked + label::after, .aform-content dl > dd .aform-radio-ul > li input.aform-input:checked + label::after {
    opacity: 1;
}

.aform-content dl > dd .aform-checkbox-ul > li.add-option, .aform-content dl > dd .aform-radio-ul > li.add-option {
    flex-direction: column;
}

.aform-content dl > dd .aform-checkbox-ul > li.add-option input.aform-input + label, .aform-content dl > dd .aform-radio-ul > li.add-option input.aform-input + label {
    align-self: flex-start;
}

.aform-content dl > dd .aform-checkbox-ul > li.add-option input.aform-field-option-text, .aform-content dl > dd .aform-radio-ul > li.add-option input.aform-field-option-text {
    width: calc(100% - 37px);
    margin: 3px 0 0 37px;
}

.aform-content dl > dd .aform-checkbox-ul > li input.aform-input.aform-checkbox + label::before {
    position: absolute;
    top: 1px;
    left: 0;
    display: block;
    width: 24px;
    height: 24px;
    background: #c1cee0;
    border: solid 2px #627794;
    content: "";
    transition: background .2s, border-color .2s;
}

.aform-content dl > dd .aform-checkbox-ul > li input.aform-input.aform-checkbox:checked + label::before {
    background: #fff;
    border-color: #df0523;
}

.aform-content dl > dd .aform-radio-ul > li input.aform-input.aform-radio + label::before {
    position: absolute;
    top: 1px;
    left: 0;
    display: block;
    width: 24px;
    height: 24px;
    background: #c1cee0;
    border: solid 2px #627794;
    border-radius: 50%;
    content: "";
    transition: background .2s, border-color .2s;
}

.aform-content dl > dd .aform-radio-ul > li input.aform-input.aform-radio:checked + label::before {
    background: #fff;
    border-color: #df0523;
}

.aform-content dl > dd .aform-radio-ul > li input.aform-input.aform-radio:checked + label::after {
    opacity: 1;
}

.aform-content dl > dd .select {
    position: relative;
    display: inline-block;
    width: 100%;
}

.aform-content dl > dd .select::before {
    position: absolute;
    top: 12px;
    right: 12px;
    display: block;
    border-width: 10px 8px 0 8px;
    border-style: solid;
    border-color: #666 transparent transparent transparent;
    content: "";
    pointer-events: none;
}

.aform-content dl > dd .select.is-disabled::before {
    border-top-color: #a3a3a3;
}

.aform-content dl > dd .select select {
    min-height: 36px;
    padding: 8px 36px 8px 8px;
    border: solid 1px #ccc;
    cursor: pointer;
}

.aform-content dl > dd .select select.aform-input:not(.aform-calendar) {
    width: 100%;
}

.aform-content dl > dd .select select.aform-input:not(.aform-calendar)[disabled] {
    background: #f5f5f5;
    cursor: auto;
}

.aform-content dl > dd.calendar > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: -10px 0 0 -10px;
}

.aform-content dl > dd.calendar > div > * {
    margin: 10px 0 0 10px;
}

.aform-content dl > dd.calendar .select {
    width: auto;
}

.aform-content dl > dd.calendar .select + label {
    margin-left: 10px;
}

.aform-content dl > dd.calendar .select + label + span {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.aform-content dl > dd.calendar .select + label + span > .ui-datepicker-trigger {
    display: block;
    width: 26px;
    height: 26px;
}

.aform-content *:not(dl) + dl {
    margin-top: 30px;
    border-top: solid 1px #ddd;
}

.aform-content .submit {
    display: flex;
    flex-direction: column-reverse;
    margin: 35px 0 0 0;
}

.aform-content .submit > *:not(:last-child) {
    margin-top: 8px;
}

.aform-content .submit .backBtn, .aform-content .submit .submitBtn {
    width: 100%;
    padding: 16px 30px 15px;
    font-size: 1.6rem;
    color: #fff;
    border: none;
    border-radius: 2px;
    transition: opacity .2s;
}

.aform-content .submit .backBtn {
    background: #666;
}

.aform-content .submit .backBtn:hover, .aform-content .submit .backBtn:active, .aform-content .submit .backBtn:focus {
    opacity: .67;
}

.aform-content .submit .submitBtn {
    background: linear-gradient(90deg, #df0523 0%, #e3122e 50%, #e5374f 100%);
}

.aform-content .submit .submitBtn:hover, .aform-content .submit .submitBtn:active, .aform-content .submit .submitBtn:focus {
    opacity: .6;
}

.aform-content .aform-note {
    margin: 30px 0;
}

.aform-content p[id$="-error"] {
    margin-top: 0;
}

.aform-content .validation-advice {
    margin-top: 5px;
}

.aform-content .validation-advice .error {
    display: inline-block;
    font-size: 1.4rem;
    color: #df0523;
    vertical-align: middle;
}

.aform-content .validation-advice .error > img {
    position: relative;
    top: 3px;
    width: 20px;
    height: 18px;
    margin: 0 8px 0 0;
}

@media only screen and (min-width: 769px) {
    .aform-content dl {
        display: table;
        width: 100%;
        table-layout: fixed;
    }
    .aform-content dl > * {
        display: table-cell;
        padding: 17px 23px;
        vertical-align: top;
    }
    .aform-content dl > dt {
        width: 30%;
    }
    .aform-content dl > dd {
        width: 70%;
        border-top: none;
    }
    .aform-content dl > dd input.aform-input:not(.aform-checkbox):not(.aform-radio) {
        max-width: 500px;
    }
    .aform-content dl > dd input.aform-input:not(.aform-checkbox):not(.aform-radio), .aform-content dl > dd textarea.aform-input {
        padding: 13px 16px;
    }
    .aform-content dl > dd .aform-checkbox-ul, .aform-content dl > dd .aform-radio-ul {
        margin-top: -20px;
    }
    .aform-content dl > dd .aform-checkbox-ul > li, .aform-content dl > dd .aform-radio-ul > li {
        padding-top: 20px;
    }
    .aform-content dl > dd .aform-checkbox-ul > li input.aform-input + label, .aform-content dl > dd .aform-radio-ul > li input.aform-input + label {
        line-height: 1.5;
    }
    .aform-content dl > dd .aform-checkbox-ul > li.add-option input.aform-field-option-text, .aform-content dl > dd .aform-radio-ul > li.add-option input.aform-field-option-text {
        max-width: 463px;
    }
    .aform-content dl > dd .aform-checkbox-ul.parts-col, .aform-content dl > dd .aform-radio-ul.parts-col {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .aform-content dl > dd .aform-checkbox-ul.parts-col > li, .aform-content dl > dd .aform-radio-ul.parts-col > li {
        width: 50%;
    }
    .aform-content dl > dd .aform-checkbox-ul.parts-float, .aform-content dl > dd .aform-radio-ul.parts-float {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .aform-content dl > dd .select {
        max-width: 500px;
    }
    .aform-content dl > dd .select::before {
        top: 18px;
    }
    .aform-content dl > dd .select select {
        min-height: 46px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .aform-content dl > dd .select select.aform-input:not(.aform-calendar) {
        max-width: 500px;
        padding-right: 36px;
        padding-left: 16px;
    }
    .aform-content dl > dd .aform-twice-note {
        font-size: 1.8rem;
    }
    .aform-content .submit {
        flex-direction: row;
        justify-content: center;
        margin-top: 50px;
    }
    .aform-content .submit > *:not(:first-child) {
        margin-left: 32px;
    }
    .aform-content .submit > *:not(:last-child) {
        margin-top: 0;
    }
    .aform-content .submit .backBtn, .aform-content .submit .submitBtn {
        max-width: 320px;
        padding: 20px 40px;
        font-size: 1.8rem;
    }
    .aform-content .aform-note {
        margin-top: 50px;
        margin-bottom: 50px;
    }
    .aform-content .validation-advice .error {
        font-size: 1.8rem;
    }
    .aform-content .validation-advice .error > img {
        margin-right: 12px;
    }
}

/*
 * hdg
** ------------------------------------------------------ */
.hdg-a-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 25px 0 0;

    flex-grow: 1;
}

.hdg-a-wrap * + .hdg-a {
    margin-top: 10px;
}

.hdg-a-wrap .hdg-a {
    font-weight: bold;
}

.hdg-a-wrap .hdg-a > .sub {
    display: block;
    font-size: 1.2rem;
    color: #000;
}

.hdg-a-wrap .hdg-a > .sub + .txt {
    margin-top: 5px;
}

.hdg-a-wrap .hdg-a > .txt {
    display: block;
    font-size: 2.4rem;
    color: #000;
    line-height: 1.4;
}

.hdg-a-wrap .hdg-a > .txt + .sub {
    margin-top: 7px;
}

@media only screen and (min-width: 769px) {
    .hdg-a-wrap {
        margin-top: 40px;
    }
    .hdg-a-wrap * + .hdg-a {
        margin-top: 15px;
    }
    .hdg-a-wrap .hdg-a > .sub {
        font-size: 1.8rem;
    }
    .hdg-a-wrap .hdg-a > .sub + .txt {
        margin-top: 10px;
    }
    .hdg-a-wrap .hdg-a > .txt {
        font-size: 4.0rem;
    }
    .hdg-a-wrap .hdg-a > .txt + .sub {
        margin-top: 10px;
    }
    .hdg-a-wrap._size-a .hdg-a > .txt {
        font-size: 3.4rem;
    }
}

.hdg-b-wrap {
    position: relative;
    margin: 20px 0 0;
}

.hdg-b-wrap::before, .hdg-b-wrap::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
}

.hdg-b-wrap::before {
    width: 100%;
    border-top: solid 4px #b3b3b3;
}

.hdg-b-wrap::after {
    width: 16%;
    border-top: solid 4px #df0523;
}

.hdg-b-wrap .hdg-b {
    padding: 24px 0 0;
    font-weight: bold;
    font-size: 1.8rem;
    color: #df0523;
    line-height: 1.5;
}

.hdg-b-wrap .hdg-b > a {
    position: relative;
    display: inline-block;
    padding-left: 21px;
    color: #df0523;
}

.hdg-b-wrap .hdg-b > a::before {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    width: 9.6px;
    height: 14.4px;
    background-position: -101.6px -21.2px;
    background-size: 116px 93.6px;
    content: "";
}

.hdg-b-wrap ~ .hdg-b-wrap, .hdg-b-wrap ~ .lyt-col-b, .hdg-b-wrap ~ .js-more > .hdg-b-wrap, .hdg-b-wrap ~ .js-more > .lyt-col-b {
    margin-top: 50px;
}

.hdg-b-wrap + *, .hdg-b-wrap + .hdg-c-wrap {
    margin-top: 20px;
}

@media only screen and (min-width: 769px) {
    .hdg-b-wrap {
        margin-top: 42px;
    }
    .hdg-b-wrap .hdg-b {
        padding-top: 46px;
        font-size: 3.2rem;
    }
    .hdg-b-wrap .hdg-b > a {
        padding-left: 28px;
    }
    .hdg-b-wrap .hdg-b > a::before {
        top: 14px;
        width: 12px;
        height: 18px;
        background-position: -127px -26.5px;
        background-size: 145px 117px;
    }
    .hdg-b-wrap ~ .hdg-b-wrap, .hdg-b-wrap ~ .lyt-col-b, .hdg-b-wrap ~ .js-more > .hdg-b-wrap, .hdg-b-wrap ~ .js-more > .lyt-col-b {
        margin-top: 120px;
    }
    .hdg-b-wrap + *, .hdg-b-wrap + .hdg-c-wrap {
        margin-top: 42px;
    }
}

.hdg-c-wrap {
    margin: 32px 0 0;
    border-bottom: solid 1px #ccc;
}

.hdg-c-wrap .hdg-c {
    padding: 0 0 8px;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.5;
}

.hdg-c-wrap .hdg-c._type-bullet-a {
    position: relative;
    padding-left: 25px;
}

.hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-01::before, .hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-02::before, .hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-03::before, .hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-04::before {
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    width: 15px;
    height: 15px;
    content: "";
}

@media only screen and (min-width: 769px) {
    .hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-01::before, .hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-02::before, .hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-03::before, .hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-04::before {
        top: 6px;
        width: 20px;
        height: 20px;
    }
}

.hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-01::before {
    background: #587500;
}

.hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-02::before {
    background: #007273;
}

.hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-03::before {
    background: #986800;
}

.hdg-c-wrap .hdg-c._type-bullet-a._type-bullet-a-04::before {
    background: #be007d;
}

.hdg-c-wrap .hdg-c > a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
}

.hdg-c-wrap .hdg-c > a::before {
    position: absolute;
    top: 4px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

.hdg-c-wrap .hdg-c > .label-content {
    display: block;
    margin-top: 4px;
    margin-left: 0;
}

.hdg-c-wrap .hdg-c > .label-content > .label {
    display: inline-block;
    min-width: 40px;
    padding: 0 7px;
    font-weight: normal;
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
    border-radius: 6px;
}

.hdg-c-wrap .hdg-c > .label-content > .label._type-a {
    background: #587500;
}

.hdg-c-wrap .hdg-c > .label-content > .label._type-b {
    background: #007273;
}

.hdg-c-wrap .hdg-c > .label-content > .label._type-c {
    background: #986800;
}

.hdg-c-wrap .hdg-c > .label-content > .label._type-d {
    background: #be007d;
}

.hdg-c-wrap .hdg-c > .label-content > .label + .label {
    margin-left: 4px;
}

.hdg-c-wrap + *:not(.hdg-b-wrap) {
    margin-top: 14px;
}

.hdg-c-wrap + .hdg-d-wrap {
    margin-top: 16px;
}

.hdg-c-wrap + .hdg-j {
    margin-top: 16px;
}

.hdg-c-wrap + .list-news-a .list-news-inner > li:first-child {
    border-top: none;
}

@media only screen and (min-width: 769px) {
    .hdg-c-wrap {
        margin-top: 50px;
    }
    .hdg-c-wrap .hdg-c {
        padding-bottom: 4px;
        font-size: 2.4rem;
    }
    .hdg-c-wrap .hdg-c._type-bullet-a {
        padding-left: 30px;
    }
    .hdg-c-wrap .hdg-c > a::before {
        top: 11px;
    }
    .hdg-c-wrap .hdg-c > .label-content {
        display: inline-block;
        margin-top: 0;
        margin-left: 10px;
    }
    .hdg-c-wrap .hdg-c > .label-content > .label {
        transform: translateY(-5px);
    }
    .hdg-c-wrap + *:not(.hdg-b-wrap) {
        margin-top: 26px;
    }
    .hdg-c-wrap + .hdg-d-wrap {
        margin-top: 30px;
    }
    .hdg-c-wrap + .hdg-j {
        margin-top: 30px;
    }
}

.hdg-d-wrap {
    margin: 26px 0 0;
}

.hdg-d-wrap .hdg-d {
    position: relative;
    padding-left: 13px;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.5;
}

.hdg-d-wrap .hdg-d::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 3px;
    height: 100%;
    border-left: solid 3px #df0523;
    content: "";
}

.hdg-d-wrap .hdg-d > span[class^="label-"] {
    display: inline-block;
    width: 40px;
    height: 19px;
    margin-top: -2px;
    margin-left: 4px;
    padding-top: 2px;
    font-weight: normal;
    font-size: 11px;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    border-radius: 6px;
}

.hdg-d-wrap .hdg-d > span[class^="label-"].label-ict {
    background: #267a2c;
}

.hdg-d-wrap .hdg-d > span[class^="label-"].label-com {
    background: #254777;
}

.hdg-d-wrap .hdg-d > span[class^="label-"].label-env {
    background: #e75502;
}

.hdg-d-wrap .hdg-d > span[class^="label-"].label-mgmt {
    background: #662979;
}

@media only screen and (min-width: 769px) {
    .hdg-d-wrap .hdg-d > span[class^="label-"] {
        padding-top: 1px;
        font-size: 12px;
    }
}

.hdg-d-wrap + *:not(.hdg-b-wrap) {
    margin-top: 10px;
}

.hdg-d-wrap + .hdg-e {
    margin-top: 16px;
}

@media only screen and (min-width: 769px) {
    .hdg-d-wrap {
        margin-top: 40px;
    }
    .hdg-d-wrap .hdg-d {
        padding-left: 23px;
        font-size: 2.0rem;
    }
    .hdg-d-wrap .hdg-d::before {
        bottom: 0;
        height: calc(100% - 4px);
        margin: auto;
    }
    .hdg-d-wrap + *:not(.hdg-b-wrap) {
        margin-top: 15px;
    }
    .hdg-d-wrap + .hdg-e {
        margin-top: 30px;
    }
    .hdg-d-wrap + p:not(.txt-lead-a) {
        margin-top: 12px;
    }
}

.hdg-e {
    margin: 26px 0 0;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.5;
}

.hdg-e + * {
    margin-top: 10px;
}

@media only screen and (min-width: 769px) {
    .hdg-e {
        margin-top: 40px;
        font-size: 1.8rem;
    }
    .hdg-e + * {
        margin-top: 15px;
    }
    .hdg-e + p:not(.txt-lead-a) {
        margin-top: 12px;
    }
}

.hdg-f-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 25px 0 0;

    flex-grow: 1;
}

.hdg-f-wrap .hdg-f {
    text-align: center;
}

.hdg-f-wrap .hdg-f .txt {
    display: block;
    font-size: 2.8rem;
    line-height: 1.2;
}

.hdg-f-wrap .hdg-f .sub {
    display: block;
    margin: 10px 0 0;
    font-size: 1.6rem;
}

.hdg-f-wrap._color-a .hdg-f {
    color: #fff;
    text-shadow: 0 0 6px rgba(0, 0, 0, .6);
}

.hdg-f-wrap._color-b .hdg-f {
    color: #000;
}

@media only screen and (min-width: 769px) {
    .hdg-f-wrap {
        margin-top: 37px;
    }
    .hdg-f-wrap .hdg-f .txt {
        font-size: 5.85937vw;
    }
    .hdg-f-wrap .hdg-f .sub {
        margin-top: 14px;
        font-size: 2.73437vw;
    }
}

@media only screen and (min-width: 1025px) {
    .hdg-f-wrap .hdg-f .txt {
        font-size: 6.0rem;
    }
    .hdg-f-wrap .hdg-f .sub {
        font-size: 2.8rem;
    }
}

@media only screen and (min-width: 1400px) {
    .hdg-f-wrap .hdg-f .txt {
        font-size: 6.0rem;
    }
}

.hdg-g {
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.5;
}

.hdg-g._space {
    letter-spacing: .2em;
}

.hdg-g + p {
    text-align: center;
}

.hdg-g + :not(p) {
    margin-top: 25px;
}

#ict .hdg-g + p {
    margin-top: 14px;
}

#ict .hdg-g ~ .js-filter .box-c {
    margin-top: 15px;
}

@media only screen and (min-width: 769px) {
    .hdg-g {
        font-size: 3.2rem;
    }
    .hdg-g + :not(p) {
        margin-top: 45px;
    }
    #ict .hdg-g + p + .js-filter {
        margin-top: 30px;
    }
    #ict .hdg-g ~ .js-filter {
        margin-top: 40px;
    }
}

.hdg-h-wrap {
    margin: 32px 0 0;
    border-bottom: solid 1px #ccc;
}

.hdg-h-wrap .hdg-h {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin: -10px 0 0 -15px;
    padding: 0 0 8px;
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 1.5;
}

.hdg-h-wrap .hdg-h > * {
    padding: 10px 0 0 15px;
}

.hdg-h-wrap .hdg-h .txt .keyword {
    font-weight: bold;
}

.hdg-h-wrap .hdg-h .count {
    font-size: 1.5rem;
}

.hdg-h-wrap .hdg-h .count > *:not(:first-child) {
    margin-left: 15px;
}

.hdg-h-wrap .hdg-h .count .total .num {
    font-weight: bold;
}

@media only screen and (min-width: 769px) {
    .hdg-h-wrap {
        margin-top: 50px;
    }
    .hdg-h-wrap .hdg-h {
        padding-bottom: 10px;
        font-size: 2.4rem;
    }
    .hdg-h-wrap .hdg-h .count {
        font-size: 1.8rem;
    }
    .hdg-h-wrap .hdg-h .count > *:not(:first-child) {
        margin-left: 20px;
    }
}

.hdg-i {
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.5;
}

.hdg-i + * {
    margin-top: 20px;
}

@media only screen and (min-width: 769px) {
    .hdg-i {
        font-size: 2.4rem;
    }
    .hdg-i + * {
        margin-top: 30px;
    }
}

.hdg-j {
    margin: 26px 0 0;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.5;
}

.hdg-j > a {
    position: relative;
    display: inline-block;
    padding: 0 0 0 20px;
}

.hdg-j > a::before {
    position: absolute;
    top: 4px;
    left: 0;
    display: block;
    width: 8px;
    height: 12px;
    background-position: -127px -47px;
    background-size: 145px 117px;
    content: "";
}

.hdg-j + *:not([class^="hdg-"]) {
    margin-top: 10px;
    margin-left: 22px;
}

@media only screen and (min-width: 769px) {
    .hdg-j {
        margin-top: 40px;
        font-size: 2.0rem;
    }
    .hdg-j > a {
        padding-left: 23px;
    }
    .hdg-j > a::before {
        top: 8px;
    }
    .hdg-j + *:not([class^="hdg-"]) {
        margin-top: 15px;
        margin-left: 25px;
    }
}

/*
 * width
** ------------------------------------------------------ */
.w-2 {
    width: 2% !important;
}

.w-4 {
    width: 4% !important;
}

.w-6 {
    width: 6% !important;
}

.w-8 {
    width: 8% !important;
}

.w-10 {
    width: 10% !important;
}

.w-12 {
    width: 12% !important;
}

.w-14 {
    width: 14% !important;
}

.w-16 {
    width: 16% !important;
}

.w-18 {
    width: 18% !important;
}

.w-20 {
    width: 20% !important;
}

.w-22 {
    width: 22% !important;
}

.w-24 {
    width: 24% !important;
}

.w-26 {
    width: 26% !important;
}

.w-28 {
    width: 28% !important;
}

.w-30 {
    width: 30% !important;
}

.w-32 {
    width: 32% !important;
}

.w-34 {
    width: 34% !important;
}

.w-36 {
    width: 36% !important;
}

.w-38 {
    width: 38% !important;
}

.w-40 {
    width: 40% !important;
}

.w-42 {
    width: 42% !important;
}

.w-44 {
    width: 44% !important;
}

.w-46 {
    width: 46% !important;
}

.w-48 {
    width: 48% !important;
}

.w-50 {
    width: 50% !important;
}

.w-52 {
    width: 52% !important;
}

.w-54 {
    width: 54% !important;
}

.w-56 {
    width: 56% !important;
}

.w-58 {
    width: 58% !important;
}

.w-60 {
    width: 60% !important;
}

.w-62 {
    width: 62% !important;
}

.w-64 {
    width: 64% !important;
}

.w-66 {
    width: 66% !important;
}

.w-68 {
    width: 68% !important;
}

.w-70 {
    width: 70% !important;
}

.w-72 {
    width: 72% !important;
}

.w-74 {
    width: 74% !important;
}

.w-76 {
    width: 76% !important;
}

.w-78 {
    width: 78% !important;
}

.w-80 {
    width: 80% !important;
}

.w-82 {
    width: 82% !important;
}

.w-84 {
    width: 84% !important;
}

.w-86 {
    width: 86% !important;
}

.w-88 {
    width: 88% !important;
}

.w-90 {
    width: 90% !important;
}

.w-92 {
    width: 92% !important;
}

.w-94 {
    width: 94% !important;
}

.w-96 {
    width: 96% !important;
}

.w-98 {
    width: 98% !important;
}

.w-100 {
    width: 100% !important;
}

/*
 * align
** ------------------------------------------------------ */
.al-l {
    text-align: left !important;
}

.al-c {
    text-align: center !important;
}

.al-r {
    text-align: right !important;
}

/*
 * inline
** ------------------------------------------------------ */
.inline {
    display: inline-block;
}

/*
 * br
** ------------------------------------------------------ */
br.pc-show {
    display: none;
}

@media only screen and (min-width: 769px) {
    br.pc-show {
        display: block;
    }
}

br.sp-show {
    display: block;
}

@media only screen and (min-width: 769px) {
    br.sp-show {
        display: none;
    }
}

/*
 * tab
** ------------------------------------------------------ */
.tab-a {
    margin: 30px 0 0;
}

.tab-a > .hdg-a {
    font-weight: bold;
    font-size: 1.5rem;
    color: #df0523;
}

.tab-a > .hdg-a + .tab-list-a {
    margin-top: -4px;
}

.tab-a .tab-list-a {
    display: flex;
    flex-wrap: wrap;
    margin: -8px 0 0 -8px;
}

.tab-a .tab-list-a > li {
    width: 50%;
    padding: 8px 0 0 8px;
}

.tab-a .tab-list-a > li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 47px;
    padding: 7px 5px 8px;
    color: #000;
    text-align: center;
    line-height: 1.4;
    border: solid 1px #ddd;
    border-radius: 2px;
}

.tab-a .tab-list-a > li a:hover, .tab-a .tab-list-a > li a:active, .tab-a .tab-list-a > li a:focus {
    color: #df0523;
    text-decoration: none;
}

.tab-a .tab-list-a > li.is-current a {
    position: relative;
    color: #fff;
    background: #df0523;
    border-color: #df0523;
}

.tab-a .tab-list-a > li.is-current a::before {
    position: absolute;
    right: 0;
    bottom: 3px;
    left: 0;
    display: block;
    width: 9px;
    margin: 0 auto;
    border-width: 4px 4px 0;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    content: "";
}

.tab-a .tab-content-wrap {
    margin: 30px 0 0;
}

.tab-a .tab-content-wrap .tab-content > *:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 769px) {
    .tab-a {
        margin-top: 50px;
    }
    .tab-a > .hdg-a {
        font-size: 2.0rem;
    }
    .tab-a > .hdg-a + .tab-list-a {
        margin-top: 4px;
    }
    .tab-a .tab-list-a > li {
        width: auto;
    }
    .tab-a .tab-list-a > li a {
        min-height: 54px;
        padding: 5px;
        padding-right: 23px;
        padding-left: 23px;
    }
    .tab-a .tab-list-a > li.is-current a::before {
        bottom: 5px;
    }
    .tab-a .tab-content-wrap {
        margin-top: 40px;
    }
}

[data-script-enabled="true"] .tab-content {
    display: none;
    outline: none;
}

[data-script-enabled="true"] .tab-content.is-current {
    display: block;
}

/*
 * filter
** ------------------------------------------------------ */
[data-script-enabled="true"] .js-filter .js-filter-content > * {
    display: none;
}

[data-script-enabled="true"] .js-filter .js-filter-content > *.is-active {
    display: block;
}

[data-script-enabled="true"] .js-filter .js-filter-content.link-pnl-inner > li.is-active {
    display: flex;
}

.js-filter .btn-wrap-center {
    display: none;
}

.js-filter .btn-wrap-center.is-active {
    display: block;
}

/*
 * fixed-contact
** ------------------------------------------------------ */
.section-contact-a {
    margin: 75px 0 0;
}

@media only screen and (min-width: 769px) {
    .section-contact-a {
        margin-top: 120px;
    }
}

html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d {
    position: fixed;
    bottom: 0;
    z-index: 10;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, .3);
}

@media only screen and (max-width: 768px) {
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item {
        z-index: 0;
        display: block;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list {
        display: flex;
        width: 100%;
        height: 40px;
        background: #f9e8e5;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li {
        display: flex;
        width: calc((100% - 40px) / 2);
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li + li {
        border-left: solid 1px #ccc;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li a > img {
        display: block;
        width: 26px;
        height: 18px;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li button {
        width: 100%;
        padding: 0;
        text-align: center;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li button .txt {
        position: relative;
        display: block;
        width: 30px;
        height: 24px;
        margin: 0 auto;
        font-size: 1.0rem;
        color: transparent;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li button .txt::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        width: 24.5px;
        height: 23.5px;
        margin: auto;
        background-image: url(/shared/img/icon-sprite.png);
        background-position: 0 -93.5px;
        background-size: 145px 117px;
        content: "";
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li button.is-open {
        background: #df0523;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d .fixed-item > .list > li button.is-open .txt::after {
        width: 24.5px;
        height: 23.5px;
        background-position: -54px -63.5px;
        background-size: 145px 117px;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d > .box-contact-inner {
        position: absolute;
        bottom: -87px;
        z-index: -1;
        padding: 7px 10px;
        background: #f3dfc6;
        box-shadow: 0 0 12px 0 rgba(0, 0, 0, .3);
        transition: ease .5s;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d > .box-contact-inner .item:first-child {
        display: none;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d > .box-contact-inner .item + .item {
        margin-top: 0;
    }
    html[data-script-enabled="true"] .section-contact-a.is-fixed .box-contact-d > .box-contact-inner.is-open {
        bottom: 100%;
    }
}

/*
 * more
** ------------------------------------------------------ */
.js-more.is-hidden {
    display: none;
}

.js-more-hook {
    display: none;
}

html[data-script-enabled="true"] .js-more-hook {
    display: block;
}

html[data-script-enabled="true"] .js-more-hook.is-hidden {
    display: none;
}

.js-more-hook [class="js-more-btn"] {
    font-size: inherit;
    color: #1257b8;
}

.js-more-hook [class="js-more-btn"]:hover, .js-more-hook [class="js-more-btn"]:active, .js-more-hook [class="js-more-btn"]:focus {
    color: #1257b8;
    text-decoration: underline;
}

/*
 * accordion-filter
** ------------------------------------------------------ */
html[data-script-enabled="true"] .js-accordion-filter .toggle > *:first-child {
    margin-top: 0;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button {
    position: relative;
    width: 170px;
    height: 26px;
    padding: 0;
    font-weight: bold;
    color: #df0523;
    text-align: left;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button::before {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 20px;
    height: 20px;
    background: #666;
    content: "";
    transition: background .2s;
    transform: translateY(-50%);
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button > .txt {
    position: relative;
    display: block;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button > .txt::before, html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button > .txt::after {
    position: absolute;
    top: 50%;
    right: 4px;
    display: block;
    width: 12px;
    height: 2px;
    background: #fff;
    content: "";
    transition: transform .2s;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button > .txt::before {
    transform: translateY(-50%);
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button > .txt::after {
    transform: translateY(-50%) rotate(-90deg);
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button > .txt > span {
    position: absolute;
    top: -999em;
    left: -999em;
    font-size: 1.0rem;
    color: transparent;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button:hover::before, html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button:active::before, html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button:focus::before {
    background: #949494;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button:hover > .txt, html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button:active > .txt, html[data-script-enabled="true"] .js-accordion-filter .toggle .hdg-b > button:focus > .txt {
    text-decoration: underline;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle .toggle-content {
    display: none;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle.is-open .hdg-b > button > .txt::after {
    transform: translateY(-50%);
}

html[data-script-enabled="true"] .js-accordion-filter .toggle.is-open .toggle-content {
    display: block;
}

html[data-script-enabled="true"] .js-accordion-filter .toggle + .toggle {
    margin: 10px 0 0;
}

@media only screen and (min-width: 769px) {
    html[data-script-enabled="true"] .js-accordion-filter .toggle .toggle-content {
        display: block !important;
    }
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button {
    position: relative;
    width: 100%;
    padding: 0;
    font-size: 1.4rem;
    text-align: left;
    transition: opacity .2s;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button::before {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 20px;
    height: 20px;
    background: #666;
    content: "";
    transform: translateY(-50%);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt {
    position: relative;
    padding-right: 40px;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt::before, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt::after {
    position: absolute;
    top: 50%;
    right: 14px;
    display: block;
    width: 12px;
    height: 2px;
    background: #fff;
    content: "";
    transition: transform .2s;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt::before {
    transform: translateY(-50%);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt::after {
    transform: translateY(-50%) rotate(-90deg);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button span:not(.txt) {
    position: absolute;
    top: -999em;
    left: -999em;
    font-size: 1.0rem;
    color: transparent;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button:hover, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button:active, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button:focus {
    opacity: .7;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dd {
    display: none;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item.is-open dt > *:first-child {
    background: #f6ded0;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item.is-open dt button > .txt::after {
    transform: translateY(-50%);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item.is-open dd {
    display: block;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-01 dt button::after, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-02 dt button::after, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-03 dt button::after {
    position: absolute;
    top: 13px;
    left: 50%;
    display: block;
    height: 58px;
    background: none;
    content: "";
    transform: translateX(-50%);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-01 dt button .txt, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-02 dt button .txt, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-03 dt button .txt {
    padding-top: 82px;
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-01 dt button::after {
    width: 68px;
    content: url(/shared/img/icon-env-engineering-01.svg);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-02 dt button::after {
    width: 67px;
    content: url(/shared/img/icon-env-engineering-02.svg);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-03 dt button::after {
    width: 53px;
    content: url(/shared/img/icon-env-engineering-03.svg);
}

html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item .link-list-a {
    padding-bottom: 10px;
}

@media only screen and (max-width: 1024px) {
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item {
        padding-bottom: 0 !important;
    }
}

@media only screen and (min-width: 769px) {
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item {
        width: 100%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button {
        width: 100%;
        padding: 0;
        font-size: 1.8rem;
        text-align: left;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button::before {
        right: 16px;
        width: 26px;
        height: 26px;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt {
        padding-right: 58px;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt::before, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt button .txt::after {
        right: 21px;
        width: 16px;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item:nth-child(2n-1) dd::before {
        left: 25%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item:nth-child(2n) dd::before {
        left: 75%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item .box-a > .item .link-list-a {
        padding-bottom: 27px;
    }
}

@media only screen and (min-width: 1025px) {
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner {
        display: flex;
        flex-wrap: wrap;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item {
        width: 25%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dt {
        display: flex;
        height: 100%;

        flex-grow: 1;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item dd {
        position: absolute;
        right: 0;
        width: calc(100% - 16px);
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item:nth-child(4n-3) dd::before {
        left: 12.05882%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item:nth-child(4n-2) dd::before {
        left: 37.35294%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item:nth-child(4n-1) dd::before {
        left: 62.64705%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item:nth-child(4n) dd::before {
        left: 87.94117%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-01 dt button::after, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-02 dt button::after, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-03 dt button::after {
        top: 50%;
        transform: translateY(-50%);
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-01 dt button .txt, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-02 dt button .txt, html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-03 dt button .txt {
        padding-top: 20px;
        padding-left: 107px;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-01 dt button::after {
        left: 27px;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-02 dt button::after {
        left: 28px;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a .list-accordion-inner > .item._env-engineering-03 dt button::after {
        left: 35px;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a._col3 .list-accordion-inner > .item {
        width: 33.33%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a._col3 .list-accordion-inner > .item:nth-child(4n-3) dd::before {
        left: 16.2%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a._col3 .list-accordion-inner > .item:nth-child(4n-2) dd::before {
        left: 50.35294%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a._col3 .list-accordion-inner > .item:nth-child(4n-1) dd::before {
        left: 84.64705%;
    }
    html[data-script-enabled="true"] .js-accordion.list-accordion-a._col3 .list-accordion-inner .lyt-col-a._col2 .lyt-col-inner .col .item {
        text-align: center;
    }
}

@media only screen and (-webkit-min-device-pixel-ratio: 0) and (min-width: 1025px) {
    _::-webkit-full-page-media, _:future, :root .js-accordion.list-accordion-a .list-accordion-inner > .item dt button {
        min-height: 115px;
    }
}

/*
 * .list-toggle-a
** ------------------------------------------------------ */
html[data-script-enabled="true"] .list-toggle-a > .item > dt > button {
    position: relative;
    padding: 0 0 0 30px;
    font-weight: inherit;
    font-size: inherit;
    text-align: left;
    line-height: inherit;
    transition: opacity .2s;
}

html[data-script-enabled="true"] .list-toggle-a > .item > dt > button::before, html[data-script-enabled="true"] .list-toggle-a > .item > dt > button::after {
    position: absolute;
    top: 10px;
    left: 4px;
    z-index: 1;
    display: block;
    width: 12px;
    height: 2px;
    background: #fff;
    content: "";
    transition: transform .2s;
}

html[data-script-enabled="true"] .list-toggle-a > .item > dt > button::before {
    transform: translateY(-50%);
}

html[data-script-enabled="true"] .list-toggle-a > .item > dt > button::after {
    transform: translateY(-50%) rotate(-90deg);
}

html[data-script-enabled="true"] .list-toggle-a > .item > dt > button > .operation {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    overflow: hidden;
    width: 20px;
    height: 20px;
    color: transparent;
    background: #666;
}

html[data-script-enabled="true"] .list-toggle-a > .item > dt > button:hover, html[data-script-enabled="true"] .list-toggle-a > .item > dt > button:active, html[data-script-enabled="true"] .list-toggle-a > .item > dt > button:focus {
    opacity: .7;
}

html[data-script-enabled="true"] .list-toggle-a > .item > dd {
    display: none;
}

html[data-script-enabled="true"] .list-toggle-a > .item.is-open > dt > button::after {
    transform: translateY(-50%);
}

@media only screen and (min-width: 769px) {
    html[data-script-enabled="true"] .list-toggle-a > .item > dt > button {
        padding-left: 42px;
    }
    html[data-script-enabled="true"] .list-toggle-a > .item > dt > button::before, html[data-script-enabled="true"] .list-toggle-a > .item > dt > button::after {
        top: 13px;
        left: 5px;
        width: 16px;
    }
    html[data-script-enabled="true"] .list-toggle-a > .item > dt > button > .operation {
        width: 26px;
        height: 26px;
    }
}

/*
 * js-toggle
** ------------------------------------------------------ */
html[data-script-enabled="true"] .js-toggle .toggle-item .toggle-content {
    display: none;
}

html[data-script-enabled="true"] .js-toggle .toggle-item.is-open .toggle-content {
    display: block;
}

/*
 * carousel
** ------------------------------------------------------ */
.carousel-a .carousel-inner {
    background: #fff;
}

.carousel-a .carousel-inner .list-item a {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
}

.carousel-a .carousel-inner .list-item a::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    content: "";
    opacity: 0;
    transition: opacity .2s;
}

.carousel-a .carousel-inner .list-item a .item {
    z-index: 1;
    padding: 12px 20px 25px;
}

.carousel-a .carousel-inner .list-item a .item .label {
    overflow: hidden;
    margin: -26px 0 0 -20px;
}

.carousel-a .carousel-inner .list-item a .item .label .txt {
    position: relative;
    display: inline-block;
    padding: 4px 20px 3px;
    font-size: 1.2rem;
    color: #fff;
    vertical-align: top;
    background: #df0523;
}

.carousel-a .carousel-inner .list-item a .item .label .txt::before {
    position: absolute;
    top: 50%;
    right: -10px;
    z-index: -1;
    display: block;
    width: 20px;
    height: 20px;
    background: #df0523;
    content: "";
    transform: translateY(-50%) rotate(45deg);
}

.carousel-a .carousel-inner .list-item a .item > .hdg-a {
    margin: 20px 0 0;
}

.carousel-a .carousel-inner .list-item a .item > .hdg-a > b {
    font-size: 1.8rem;
    color: #1257b8;
    line-height: 1.5;
}

.carousel-a .carousel-inner .list-item a .item > .hdg-a .icon-a._icon-window {
    top: 0;
}

.carousel-a .carousel-inner .list-item a .item p:not(.hdg-a) {
    margin: 15px 0 0;
    color: #000;
}

.carousel-a .carousel-inner .list-item a .img {
    position: relative;
    z-index: 0;
    min-height: calc(0%);
}

.carousel-a .carousel-inner .list-item a .img > img {
    display: block;
}

.carousel-a .carousel-inner .list-item a .img.js-link-window .icon-a {
    position: absolute;
    top: 10px;
    right: 10px;
}

.carousel-a .carousel-inner .list-item a .img .wrap-pdf {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 1.2rem;
    color: #000;
}

.carousel-a .carousel-inner .list-item a:hover, .carousel-a .carousel-inner .list-item a:active, .carousel-a .carousel-inner .list-item a:focus {
    text-decoration: none;
}

.carousel-a .carousel-inner .list-item a:hover::after, .carousel-a .carousel-inner .list-item a:active::after, .carousel-a .carousel-inner .list-item a:focus::after {
    opacity: .3;
}

@media only screen and (min-width: 480px) {
    .carousel-a._top .carousel-inner {
        box-shadow: 0 0 24px 0 rgba(0, 0, 0, .2);
    }
    .carousel-a._top .carousel-inner .list-item a .item {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 24px 4.39453vw 25px;
    }
    .carousel-a._top .carousel-inner .list-item a .item .label {
        margin: -48px 0 0 -4.39453vw;
    }
    .carousel-a._top .carousel-inner .list-item a .item .label .txt {
        margin-right: 48px;
        padding: 8px 35px 8px 4.39453vw;
        font-size: 1.8rem;
    }
    .carousel-a._top .carousel-inner .list-item a .item .label .txt::before {
        width: 66px;
        height: 66px;
    }
    .carousel-a._top .carousel-inner .list-item a .img::before {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, rgba(255, 255, 255, .90196) 0%, rgba(255, 255, 255, .90196) 19%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 100%);
        content: "";
    }
}

@media only screen and (min-width: 769px) {
    .carousel-a {
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .carousel-a .carousel-inner {
        overflow: hidden;
        border-radius: 3px;
        box-shadow: 0 0 24px 0 rgba(0, 0, 0, .2);
    }
    .carousel-a .carousel-inner .list-item a .item {
        position: absolute;
        padding: 24px 35px 25px;
    }
    .carousel-a .carousel-inner .list-item a .item .label {
        margin: -48px 0 0 -35px;
    }
    .carousel-a .carousel-inner .list-item a .item .label .txt {
        margin-right: 48px;
        padding: 8px 35px;
        font-size: 1.8rem;
    }
    .carousel-a .carousel-inner .list-item a .item .label .txt::before {
        width: 66px;
        height: 66px;
    }
    .carousel-a .carousel-inner .list-item a .item > .hdg-a {
        margin-top: 2.2525vw;
    }
    .carousel-a .carousel-inner .list-item a .item > .hdg-a > b {
        font-size: 2.60078vw;
    }
    .carousel-a .carousel-inner .list-item a .item > .hdg-a .icon-a._icon-window {
        top: -.18em;
    }
    .carousel-a .carousel-inner .list-item a .item p:not(.hdg-a) {
        margin-top: 1.7vw;
        font-size: 1.82054vw;
    }
    .carousel-a .carousel-inner .list-item a .item._color-a, .carousel-a .carousel-inner .list-item a .item._color-b {
        top: 50%;
        width: 44.5vw;
        min-width: 430px;
        max-width: 456px;
        margin-top: 12px;
        transform: translateY(-50%);
    }
    .carousel-a .carousel-inner .list-item a .item._color-a {
        background-color: rgba(0, 0, 0, .6);
    }
    .carousel-a .carousel-inner .list-item a .item._color-a > .hdg-a {
        color: #fff;
    }
    .carousel-a .carousel-inner .list-item a .item._color-a > .hdg-a > b {
        color: #fff;
    }
    .carousel-a .carousel-inner .list-item a .item._color-a p:not(.hdg-a) {
        color: #fff;
    }
    .carousel-a .carousel-inner .list-item a .item._color-b {
        background-color: rgba(255, 255, 255, .6);
    }
    .carousel-a .carousel-inner .list-item a .item._color-b > .hdg-a {
        color: #000;
    }
    .carousel-a .carousel-inner .list-item a .item._color-b > .hdg-a > b {
        color: #000;
    }
    .carousel-a .carousel-inner .list-item a .item._color-b p:not(.hdg-a) {
        color: #000;
    }
    .carousel-a .carousel-inner .list-item a .item._right {
        right: 0;
    }
    .carousel-a .carousel-inner .list-item a .item._left {
        left: 0;
    }
    .carousel-a._top {
        position: relative;
    }
    .carousel-a._top .carousel-inner {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
    }
    .carousel-a._top .carousel-inner .list-item a .item > .hdg-a {
        margin-top: 2.2525vw;
    }
    .carousel-a._top .carousel-inner .list-item a .item > .hdg-a > b {
        font-size: 3.125vw;
    }
    .carousel-a._top .carousel-inner .list-item a .item p:not(.hdg-a) {
        margin-top: 8px;
        font-size: 1.82054vw;
    }
}

@media only screen and (min-width: 1025px) {
    .carousel-a .carousel-inner .list-item a .item {
        margin-top: 0;
    }
    .carousel-a .carousel-inner .list-item a .item > .hdg-a {
        margin-top: 25px;
    }
    .carousel-a .carousel-inner .list-item a .item > .hdg-a > b {
        font-size: 3.0rem;
    }
    .carousel-a .carousel-inner .list-item a .item p:not(.hdg-a) {
        margin-top: 25px;
        font-size: 1.8rem;
    }
    .carousel-a._top .carousel-inner .list-item a .item {
        padding-right: 45px;
        padding-left: 45px;
    }
    .carousel-a._top .carousel-inner .list-item a .item .label {
        margin-left: -45px;
    }
    .carousel-a._top .carousel-inner .list-item a .item .label .txt {
        padding-left: 45px;
    }
    .carousel-a._top .carousel-inner .list-item a .item > .hdg-a {
        margin-top: 25px;
    }
    .carousel-a._top .carousel-inner .list-item a .item > .hdg-a > b {
        font-size: 3.2rem;
    }
    .carousel-a._top .carousel-inner .list-item a .item > .hdg-a .icon-a {
        margin-left: 8px;
    }
    .carousel-a._top .carousel-inner .list-item a .item p:not(.hdg-a) {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 769px) {
    [data-script-enabled="true"] .carousel-a._top .carousel-inner {
        position: absolute;
    }
}

/*
 * js-modal
** ------------------------------------------------------ */
.js-modal-content {
    z-index: 1001;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin-top: 48px;
}

[data-script-enabled="true"] .js-modal-content {
    position: fixed;
    top: 0;
    left: 0;
    visibility: hidden;
    margin: 0;
    opacity: 0;
    transition: opacity .3s, visibility .3s;
}

[data-script-enabled="true"] .js-modal-content.is-active {
    visibility: visible;
    opacity: 1;
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap {
    position: relative;
    width: 100%;
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal {
    z-index: 1002;
    width: calc(100% - 10px);
    max-width: 830px;
    margin: 0 auto;
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content {
    position: relative;
    padding: 55px 30px;
    background: #fff;
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content > .movie {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content > .movie > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content > .close {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 18px;
    height: 18px;
    padding: 27px;
    font-size: 0;
    color: transparent;
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content > .close::before, [data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content > .close::after {
    position: absolute;
    top: 16px;
    right: 26px;
    width: 2px;
    height: 18px;
    background: #666;
    content: "";
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content > .close::before {
    transform: rotate(45deg);
}

[data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content > .close::after {
    transform: rotate(-45deg);
}

@media only screen and (min-width: 768px) {
    [data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content {
        padding: 70px;
    }
    [data-script-enabled="true"] .js-modal-content > .modal-wrap > .modal > .modal-content .modal-content {
        padding: 30px;
    }
}

.js-modal-content > .modal-wrap > .modal > .modal-content > .movie > iframe {
    border: none;
}

.js-modal-content > .modal-wrap > .modal > .modal-content > .close {
    display: none;
}

#js-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    visibility: hidden;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .3s, visibility .3s;
}

#js-modal-overlay.is-active {
    visibility: visible;
    background: rgba(0, 0, 0, .5);
    opacity: 1;
}

body.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

.is-disable {
    display: none;
}

/*
 * Slick
** ------------------------------------------------------ */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;

    -webkit-touch-callout: none;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
}

.slick-slider .slick-track, .slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.slick-track::before, .slick-track::after {
    display: table;
    content: "";
}

.slick-track::after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img:not(.icon-a) {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.carousel-a .carousel-inner .slick-slide.list-item a .item {
    padding-bottom: 50px;
}

@media only screen and (min-width: 769px) {
    .carousel-a .carousel-inner .slick-slide.list-item a .item {
        padding-bottom: 25px;
    }
    .carousel-a._top .carousel-inner .slick-slide.list-item a .item {
        padding-bottom: 50px;
    }
}

.btn-control, .slick-arrow {
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 32px;
    height: 32px;
    padding: 0;
    font-size: 1.0rem;
    color: transparent;
    transition: background .2s;
}

.btn-control {
    right: 32px;
    background: #7f7f7f;
}

.btn-control::before, .btn-control::after {
    position: absolute;
    top: 50%;
    display: block;
    height: 12px;
    border: solid 1px #fff;
    content: "";
}

.btn-control::before {
    left: 42%;
    transform: translate(-50%, -50%);
}

.btn-control::after {
    right: 34%;
    transform: translate(-50%, -50%);
}

.btn-control.is-stop::before {
    left: 50%;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #fff;
}

.btn-control.is-stop::after {
    content: none;
}

.btn-control:hover, .btn-control:active, .btn-control:focus {
    background: #b3b3b3;
}

.slick-arrow {
    background: #666;
}

.slick-arrow::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 8px;
    height: 12px;
    background-image: url(/shared/img/icon-sprite.png);
    background-position: -127px -61.5px;
    background-size: 145px 117px;
    content: "";
}

.slick-arrow.slick-prev {
    right: 64px;
}

.slick-arrow.slick-prev::before {
    transform: translate(-50%, -50%) rotate(180deg);
}

.slick-arrow.slick-next {
    right: 0;
}

.slick-arrow.slick-next::before {
    transform: translate(-50%, -50%);
}

.slick-arrow:hover, .slick-arrow:active, .slick-arrow:focus {
    background: #9a9a9a;
}

.slick-arrow.slick-hidden {
    display: none;
}
