@charset "UTF-8";
/* css  variable*/

:root {
    --color-primary: #0075c2;
    --color-primary-opacity: rgba(0, 117, 194, .6);
    --color-secondary: #0065A7;
    --color-gray: #707070;
    --color-light-gray: #F7F7F7;
    --color-dark-gray: #5B7A8E;
    --color-dark-gray-2: #516C7D;
    --color-category-tag: #E5E5E5;
    --color-disable: #ACBBC6;
    --color-caution: #D01E11;
    --color-table-border: #8ba8bb;
    --color-white: #ffffff;
    --color-white-opacity: rgba(255, 255, 255, .25);
    --color-black: #333333;
    --color-black-sea: #293337;
    --color-black-oak: #252323;
    --color-border: #DAD9DA;
    --color-border-2: #48555B;
    --color-lbl-yellow: #AF5800;
    --color-lbl-green: #19779A;
    --color-green: #487416;
    --color-footer-text: #DDDDDD;

}

/* -----------------------------------------------
Table of Contents (common css) [Thought of SMACSS + original]
--------------------------------------------------
0. Foundation
	 0-1. Reset (normalize.css + original)
	 0-2. Base
	 0-3. Config
1. Layout
	 1-1. #l-document
	 1-2. #l-header
	 1-3. #l-container
				1-3-1. #l-main
				1-3-2. #l-sub
				1-3-3. #l-local
	 1-4. #l-footer
	 1-5. #l-nav-global
2. Object
	 2-1. Component a.k.a Module [Thought of BEM + original]
				2-1-1.  Wrap     [wrp-***]
				2-1-2.  Box      [box-***]
				2-1-3.  Table    [tbl-***]
				2-1-4.  Headings [hdg-lv*]
				2-1-5.  Nav      [nav-***]
				2-1-6.  List     [lst-***]
				2-1-7.  Button   [btn-***]
				2-1-8.  Anchor   [acr-***]
				2-1-9.  Text     [txt-***]
				2-1-10. Icon     [icn-***]
				2-1-11. Label    [lbl-***]
				2-1-12. Form     [frm-***]
				2-1-13. Error    [err-***]
				2-1-14. Tag      [tag-***]
				2-1-15. Search   [search-***]
				2-1-16. Jin      [jin-***]
				2-1-17. UI
	 2-2. Utility
				2-2-1. clearfix
				2-2-2. margin,padding [mb10,pt20]
				2-2-3. Object-Oriented CSS
				2-2-4. Grid System [grid-***]
				2-2-5. WebFont [FontAwesome] http://fortawesome.github.io/Font-Awesome/icons/
	 2-3. State [is-***]
	 2-4. OverLayerConfig [z-index]
	 2-5. Project

	 -------------------------------------------------- */

/* -----------------------------------------------
 [0. Foundation]
 -------------------------------------------------- */

/* 0-1. Reset
-------------------------------------------------- */

html {
    font-family: sans-serif;
}

body {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
}

a {
    background: transparent;
}

a:focus {
    outline: thin dotted;
}

a:active, a:hover {
    outline: 0;
}

html, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, em, img, strong, dl, dt, dd, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

article, aside, footer, header, small, nav, section, figure, figcaption, main {
    margin: 0;
    padding: 0;
    display: block;
    vertical-align: baseline;
    list-style: none;
    background-color: transparent;
    outline: none;
}

audio, canvas, video {
    display: inline-block;
}

ul, ol {
    list-style-type: none;
}

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

img {
    line-height: 1;
    vertical-align: bottom;
    outline: none;
}

a img {
    border: none;
    outline: none;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

hr {
    box-sizing: content-box;
    height: 0;
}

dt, dd, li, th, td, input, textarea {
    text-align: left;
    vertical-align: top;
}

button {
    border: none;
}

input, textarea, button {
    margin: 0;
    padding: 0;
}

input {
    border: 1px solid var(--color-light-gray);
    padding: 2px 5px;
}

textarea {
    border: 1px solid var(--color-light-gray);
    resize: none;
}

button, label {
    background-color: transparent;
    cursor: pointer;
}

button, select {
    text-transform: none;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled], input[disabled] {
    cursor: default;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: content-box;
    padding: 0;
    vertical-align: middle;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    padding: 0;
    border: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

small {
    font-size: 0.8em;
    display: inline;
}

/* 0-2. Base
-------------------------------------------------- */

html {
    overflow-y: scroll;
    font-size: 62.5%;
}

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

table {
    width: 100%;
}

input, textarea, button, select {
    font-family: "Hiragino Kaku Gothic Pro", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "ãƒ¡ã‚¤ãƒªã‚ª", "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", sans-serif;
}

html[lang="en"] input, html[lang="en"] textarea, html[lang="en"] button, html[lang="en"] select {
    font-family: Arial, Helvetica, sans-serif;
}

strong, em {
    font-weight: bold;
}

/* 0-3. Config
-------------------------------------------------- */

body {
    font-size: 1.6rem;
    color: var(--color-black);
    background-color: var(--color-white);
    font-family: "Hiragino Kaku Gothic Pro", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "ãƒ¡ã‚¤ãƒªã‚ª", "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", sans-serif;
    letter-spacing: 0.05em;
    line-height: 1.75;
}

@media only screen and (max-width: 767px) {
    body {
        font-size: 1.3rem;
    }
}

input, textarea, button, select {
    font-family: "Hiragino Kaku Gothic Pro", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "ãƒ¡ã‚¤ãƒªã‚ª", "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", sans-serif;
    font-size: 1.6rem;
}

@media only screen and (max-width: 767px) {
    input, textarea, button, select {
        font-size: 1.6rem;
    }
}

a {
    color: var(--color-primary);
    /* ãƒ™ãƒ¼ã‚¹ã®ãƒªãƒ³ã‚¯æ–‡å­—ã®è‰²ã‚’æŒ‡å®š */
    text-decoration: none;
    /* ãƒ™ãƒ¼ã‚¹ã®ãƒªãƒ³ã‚¯æ–‡å­—ã®ä¸‹ç·šã®æœ‰ç„¡ã‚’æŒ‡å®š */
    transition: all .3s;
    word-wrap: break-word;
}

a:hover, a:active, a:focus {
    color: var(--color-primary);
    text-decoration: underline;
    /* ãƒ™ãƒ¼ã‚¹ã®ãƒªãƒ³ã‚¯æ–‡å­—ã®ä¸‹ç·šã®æœ‰ç„¡ã‚’æŒ‡å®š */
}

[role="button"]:focus,
button:focus,
a:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: -1px;
    transition: unset;
}

[data-whatinput="mouse"] :focus, [data-whatinput="touch"] :focus {
    outline: none;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
    letter-spacing: 0.06em;
}

/* p > a {
	text-decoration: underline;
} */

/* dt, dd, li, th, td, input, textarea, button {
	line-height: 1.75;
}  */

button {
    border-radius: 0;
}

sup {
    vertical-align: top;
    line-height: 1;
}

fieldset {
    border-width: 0;
}

caption {
    display: none;
}

figcaption {
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: left;
}

@media only screen and (max-width: 768px) {
    figcaption {
        font-size: 1.1rem;
        margin-bottom: 10px;
    }
}

input::placeholder {
    color: var(--color-gray);
}

/* 0-3. Configã€ENã€‘
-------------------------------------------------- */

[lang="en"] body {
    font-family: "Helvetica", "Arial", sans-serif;
    line-height: 1.6;
    letter-spacing: 0.005em;
}

@media only screen and (max-width: 767px) {
    [lang="en"] body {
        line-height: 1.5;
    }
}

[lang="en"] input, [lang="en"] textarea, [lang="en"] button, [lang="en"] select {
    font-family: "Helvetica", "Arial", sans-serif;
}

[lang="en"] h1, [lang="en"] h2, [lang="en"] h3, [lang="en"] h4, [lang="en"] h5, [lang="en"] h6 {
    line-height: 1.4 !important;
    letter-spacing: -0.005em !important;
}

/* 0-3. Configã€CNã€‘
-------------------------------------------------- */

[lang="zh-cmn-Hans"] body {
    font-family: SimHei, Hei, sans-serif;
    letter-spacing: 0.005em;
    line-height: 1.8;
}

[lang="zh-cmn-Hans"] input, [lang="zh-cmn-Hans"] textarea, [lang="zh-cmn-Hans"] button, [lang="zh-cmn-Hans"] select {
    font-family: SimHei, Hei, sans-serif;
    /*font-size: 100%;*/
}

@media only screen and (max-width: 767px) {
    [lang="zh-cmn-Hans"] h1, [lang="zh-cmn-Hans"] h2, [lang="zh-cmn-Hans"] h3, [lang="zh-cmn-Hans"] h4, [lang="zh-cmn-Hans"] h5, [lang="zh-cmn-Hans"] h6 {
        letter-spacing: 0;
    }
}

/*
print css
======================================= */

@media print {
    .l-header__right {
        display: none !important;
    }
    .l-header__sub {
        display: none !important;
    }
    .nav-breadcrumb {
        display: none !important;
    }
    .l-footer {
        margin-top: 50px;
    }
    .l-footer .btn-pagetop {
        display: none !important;
    }
    .l-footer .wrp-container {
        display: none !important;
    }
    .box-contact {
        display: none !important;
    }
    .box-download--01 {
        display: none !important;
    }
}

/* -----------------------------------------------
 [1. Layout]
 -------------------------------------------------- */

/* 1-1. #l-document
-------------------------------------------------- */

#l-document {
    overflow: hidden;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}

.l-document--search .l-footer {
    margin-top: 0;
}

/* 1-2. #l-header
-------------------------------------------------- */
.l-header {
    background: var(--color-white);
    z-index: 10;
    position: relative;
}

.l-header__inner {
    position: relative;
}

.l-header__upper {
    border-bottom: 1px solid var(--color-border);
}

.l-header__contain{
    display: flex;
    flex-wrap: wrap;
    padding-right: 210px;
    align-items: stretch;
    justify-content: space-between;
    min-height: 92px;
}

.pct-sitelogo {
    padding: 18px 0 0 50px;
    display: flex;
}
.pct-sitelogo img {
    height: 45px;
    max-width: none;
}

.l-header__right {
    display: flex;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
}
.nav-global-wrapper{
    display: flex;
    align-items: center;
}
.nav-global{
    display: flex;
    align-items: center;
    margin-left: 35px;
    margin-right: 20px;
    width: 100%;
}
.nav-global > li{
    height: 100%
}

.nav-global-sp__button{
    display: none;
}
.l-header__upper-link {
    display: flex;
    align-items: center;
    margin: 0 12px;
    font-size: 1.6rem;
    letter-spacing: 0.14em;
    color: var(--color-black);
    white-space: nowrap;
    position: relative;
    padding: 15px 0 15px;
    box-sizing: border-box;
    height: 100%;
}
.l-header__upper-link:focus{
    text-decoration: none;
}

.nav-global > li>a span, .nav-global >li>a.is-current span {
    position: relative;
    display: block;
}

.nav-global > li > a:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 3px;
    background: var(--color-primary);
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    transition: width .4s;
}
.nav-global > li:hover > a:before,
.nav-global > li > a.is-current:before,
.nav-global li.is-active > a:before {
    width: 100%;
}
.nav-global li.is-active,
.nav-global > li > a.is-current,
.nav-global > li>a:hover,
.nav-global > li>a:active {
    text-decoration: none;
    color: var(--color-primary);
}

.l-header.is-nav-opened .nav-global > li > a.is-current{
    color: var(--color-black);
}
.l-header.is-nav-opened .nav-global li.is-active > a{
    color: var(--color-primary);
}
.l-header__dropdown__inner ul > li.has-sub ul li.current-menu-item.is-active > a{
    opacity: 0.7;
    color:white;
}
.l-header__dropdown__inner ul > li.has-sub ul > li.is-active > a{
    color:white!important;
}

.l-header.is-nav-opened .nav-global > li > a.is-current:before{
    width: 0;
}
.l-header.is-nav-opened .nav-global li.is-active > a:before{
    width: 100%;
}
.nav-global li a:focus{
    text-decoration: none;
}
.l-header__btn {
    display: flex;
}
.l-header__btn .l-header__lst {
    font-size: 0;
    display: flex;
}
.l-header__btn .l-header__lst .l-header__lst-item {
    box-sizing: border-box;
    position: relative;
    padding-top: 24px;
}

.l-header__btn .l-header__lst .l-header__lst-item .icon:before {
    font-size: 1.7rem;
}
.l-header__btn .l-header__lst .l-header__lst-item .icon-gaishi02-earth:before {
    font-size: 1.9rem;
}
.l-header__btn .l-header__lst .l-header__lst-item .l-header__lst-icon {
    display: block;
    padding: 12px 26px;
    color: var(--color-primary);
    /* font-size: 1.8rem; */
    position: relative;
}
.l-header__btn .icon-language .l-header__lst-icon{
    padding: 12px 24px;
}
.l-header__btn .l-header__lst .l-header__lst-item .l-header__lst-icon:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: var(--color-border);
    opacity: 0.7;
}
.l-header__btn .l-header__lst .l-header__lst-item.is-active{
    background: var(--color-dark-gray);
    color: var(--color-white);
}
.l-header__btn .l-header__lst .l-header__lst-item.is-active a{
    color: var(--color-white);
}
.l-header__btn .l-header__lst .l-header__lst-item.is-active a::before{
    display: none;
}
.l-header__btn .l-header__lst .l-header__lst-item .l-header__lst-icon:hover {
    text-decoration: none;
}
.l-header__btn .l-header__lst .l-header__lst-item.menu {
    display: none;
}

.l-header-lower {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    background-color: var(--color-dark-gray);
    z-index: 10;
    display: none;
}
.nav-global__closebtn{
    position: absolute;
    right: 30px;
    top: 19px;
    width: 50px;
    height: 50px;
    cursor: pointer;
}
.nav-global__closebtn::before,
.nav-global__closebtn::after{
    content: '';
    position: absolute;
    left: 25px;
    top: 12px;
    height: 23px;
    width: 3px;
    background-color: var(--color-white);
}
.nav-global__closebtn::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.nav-global__closebtn::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.l-header__dropdown__inner {
    max-width: 1175px;
    padding: 0 20px 40px;
    margin: 53px auto 0;
}

.l-header__dropdown a {
    color: var(--color-white);
    display: block;
}

.l-header__dropdown__title__sp{
    display: none;
}

.l-header__dropdown__title a {
    font-size: 2.2rem;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--color-white-opacity);
    position: relative;
    padding-bottom: 20px;
    display: block;
    color: var(--color-white);
}

.l-header__dropdown__title a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.l-header__dropdown__title a:before {
    content: '\f105';
    font-family: 'gaishi';
    position: relative;
    display: inline-block;
    padding-right: 10px;
    line-height: 1;
    top: -5px;
    font-size: 1.2rem;
}
.l-header__dropdown__item {
    padding: 15px 0;
}

.l-header__dropdown__item + .l-header__dropdown__item{
    border-top: 1px solid var(--color-white-opacity);
}
.l-header__dropdown__sub{
    padding: 0 28px;
}

.l-header__dropdown__content>div>.grid-col--3:nth-of-type(4n+1) {
    clear: both;
}

.l-header__dropdown__content__detail li {
    padding: 7px 0 7px 15px;
}

.l-header__dropdown__content__detail li a {
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 20px;
    color: var(--color-white);
    padding-left: 0;
    box-sizing: border-box;
    text-indent: -15px;
}

.l-header__dropdown__content__detail li a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.l-header__dropdown__content__detail li.is-current a {
    color: var(--color-primary);
}

.l-header__dropdown__content .grid-col--3,
.l-header__dropdown__content .grid-col--6 {
    margin-bottom: 0;
}

.l-header--simple .icon {
    position: absolute;
    top: 25px;
    right: 50px;
    font-weight: bold;
    font-size: 2.0rem;
    color: var(--color-primary);
    cursor: pointer;
}



.js-menu-parent-sp {
    display: none;
}

#nav-global-language {
    background: var(--color-dark-gray);
    color: var(--color-white);
    position: absolute;
    top: 100%;
    left: calc(-100vw + 210px);
    right: 0;
    width: 100vw;
    z-index: 3;
    display: none;
}

.nav-global-language__inner {
    padding: 55px 0;
}
.nav-global-language__title{
    font-size: 2.2rem;
}
#nav-global-language ul {
    display: flex;
    margin-top: 25px;
}
#nav-global-language ul li{
    margin-right: 40px;
}
#nav-global-language ul li a{
    color: var(--color-white);
    display: block;
    position: relative;
    font-size: 1.6rem;
    letter-spacing: 0;
}
#nav-global-language ul li .acr-type01{
    padding: 0 0 0 12px;
}
#nav-global-language ul li .acr-type01:before {
    content: '\f105';
    font-family: 'gaishi';
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0;
    line-height: 1;
    font-size: 1.2rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#nav-global-language ul li a:hover{
    text-decoration: none;
    opacity: 0.7;
}
#nav-global-language ul li a[target="_blank"]:after {
    content: '\f08e';
    font-family: 'gaishi';
    display: inline-block;
    position: relative;
    line-height: 1;
    font-size: 1.6rem;
    margin-left: 5px;
}
#nav-global-language ul li.is-current a{
    cursor: default;
    pointer-events: none;
}
#nav-global-language ul li.is-current a:before{
    content: '';
    font-family: initial;
    width: 5px;
    height: 5px;
    background: var(--color-white);
    position: absolute;
    left: 3px;
    top: 50%;
}





#nav-global-search {
    display: none;
    background: var(--color-dark-gray);
    padding: 60px 0;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100vw;
    z-index: 3;
}
#nav-global-search .wrp-content {
    max-width: 900px;
}
#nav-global-search .frm-search__title {
    font-size: 2.2rem;
    color: var(--color-white);
    margin-bottom: 40px;
}
#nav-global-search .box-search-parts {
    max-width: 800px;
}

#nav-global-search {
    display: none;
    background: var(--color-dark-gray);
    padding: 60px 0;
    position: absolute;
    top: 100%;
    left: calc(-100vw + 210px - 71px);
    right: 0;
    width: 100vw;
    z-index: 3;
}
#nav-global-search .wrp-content {
    max-width: 900px;
}
#nav-global-search .frm-search__title {
    font-size: 2.2rem;
    color: var(--color-white);
    margin-bottom: 40px;
}
#nav-global-search .box-search-parts {
    max-width: 800px;
}


.l-header__left-logo-txt {
    display: inline-block;
    padding: 0 0 7px;
    letter-spacing: 0.06em;
}
[lang="en"] .l-header__left-logo-txt {
    padding: 0 0 4px;
    letter-spacing: 0.06em;
}
.l-header__left-logo-txt > span {
    font-size: 10px;
    font-weight: bold;
    border: 1px solid #000;
    border-radius: 2px;
    margin: 8px 0 0 15px;
    display: inline-block;
    padding: 2px 7px;
}

[lang="zh-cmn-Hans"] .l-header__left-logo-txt > span, [lang="en"] .l-header__left-logo-txt > span {
    font-size: 10px;
    font-weight: normal;
    border: 1px solid #000;
    border-radius: 2px;
    margin: 8px 0 0 15px;
    display: inline-block;
    padding: 2px 7px;
}
@media only screen and (max-width: 1025px) {
    .l-header__left-logo-txt > span, 	[lang="zh-cmn-Hans"] .l-header__left-logo-txt > span {
        margin: 4px 0 0 15px;
        display: inline-block;
        padding: 2px 4px;
    }
    [lang="en"] .l-header__left-logo-txt > span {
        margin: 2px 0 0 8px;
        /*iPhone5 ã§ãƒ­ã‚´ãŒå…¥ã‚‰ãªã„å¯¾ç­–*/
        -webkit-transform: scale(0.7);
        transform: scale(0.7);
        -webkit-transform-origin: left top;
        transform-origin: left top;
    }


}

@media only screen and (max-width: 320px) {
    .l-header__left-logo-txt > span, 	[lang="en"] .l-header__left-logo-txt > span  , [lang="zh-cmn-Hans"] .l-header__left-logo-txt > span {
        display: none;
        /* padding: 0 0 2px;
		-webkit-transform: scale(0.7);
		transform: scale(0.7);
		-webkit-transform-origin: left top;
		transform-origin: left top; */
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1160px) {
    .l-header__upper-link {
        font-size: 1.4rem;
        margin: 0 10px;
    }
}

@media only screen and (max-width: 1024px) {
    #l-header {
        position: fixed;
        width: 100%;
        left: 0;
        right: 0;
        top: 0;
        z-index: 100;
    }
    .l-header-lower{
        width: auto;
    }
    .l-header-lower>* {
        opacity: 1;
        visibility: visible;
    }
    .nav-global__closebtn{
        display: none;
    }
    .nav-global-wrapper{
        position: absolute;
        width: 100%;
        top: 100%;
        height: calc(100vh - 69px);
        height: calc(var(--vh, 1vh) * 100 - 69px);
        overflow-y: auto;
        z-index: 10;
        display: none;
        background: var(--color-dark-gray);
        flex-direction: column;
    }
    .l-header__upper{
        height: 70px;
    }
    .l-header__contain{
        min-height: 0;
        padding-right: 110px;
    }
    .nav-breadcrumb {
        display: none;
    }
    .pct-sitelogo {
        padding: 14px 0 13px 15px;
    }
    [lang="en"] .pct-sitelogo {
        padding: 20px 0 20px 15px;
    }
    .pct-sitelogo img {
        height: 42px;
    }
    [lang="en"] .pct-sitelogo img {
        height: 30px;
    }
    .l-header__btn .l-header__lst .l-header__lst-item{
        padding: 0;
        display: flex;
        align-items: center;
    }
    .l-header__btn .l-header__lst .l-header__lst-item .l-header__lst-icon {
        padding: 5px 13px;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.icon-language .l-header__lst-icon {
        padding: 5px 13px;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.icon-contact {
        display: none;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu {
        display: flex;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu .l-header__lst-icon {
        box-sizing: border-box;
        padding: 5px 13px;
        text-align: center;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu .menu__inner {
        position: relative;
        width: 18px;
        height: 14px;
        display: inline-block;
        text-align: center;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu .menu__inner span {
        position: absolute;
        left: 0;
        width: 17px;
        height: 2px;
        background: var(--color-primary);
        right: 0;
        margin: auto;
        transition: all .4s;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu.is-active .menu__inner span{
        background: var(--color-white);
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu .menu__inner span:nth-of-type(1) {
        top: 0;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu .menu__inner span:nth-of-type(2) {
        top: 6px;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu .menu__inner span:nth-of-type(3) {
        bottom: 0;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu.is-active .menu__inner span:nth-of-type(1) {
        -webkit-transform: translateY(6px) rotate(-45deg);
        transform: translateY(6px) rotate(-45deg);
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu.is-active .menu__inner span:nth-of-type(2) {
        opacity: 0;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.menu.is-active .menu__inner span:nth-of-type(3) {
        -webkit-transform: translateY(-6px) rotate(45deg);
        transform: translateY(-6px) rotate(45deg);
    }
    .l-header--simple .icon {
        top: 10px;
        right: 20px;
    }
    .l-header__sub__menu {
        width: 100%;
        border-bottom: 1px solid #eee;
    }
    .l-header__sub__trigger a {
        text-align: left;
        font-size: 1.4rem;
        padding: 9px 10px;
    }
    .l-header__sub__trigger .icon-menu {
        margin-right: 8px;
    }
    #l-header__sub__inner {
        max-width: 100%;
        top: 41px;
        width: 100%;
        display: none;
    }
    #nav-global-language {
        padding: 0;
        display: none;
        left: calc(-100vw + 132px);
    }
    .nav-global-language__inner{
        padding: 0;
    }

    .nav-global-language__title {
        padding: 13px 30px 13px 15px;
        font-size: 1.4rem;
        border-bottom: 1px solid var(--color-white-opacity);
    }
    #nav-global-language .grid-row{
        margin: 0;
    }
    #nav-global-language .grid-col--6{
        width: 100%;
        padding: 0;
        margin: 0;
    }
    #nav-global-language ul{
        display: block;
        margin: 0;
        background: var(--color-dark-gray-2);
    }
    #nav-global-language ul li{
        margin: 0;
        border-bottom: 1px solid var(--color-white-opacity);
    }
    #nav-global-language ul li .acr-type01,
    #nav-global-language ul li a{
        padding: 13px 30px 13px 15px;
        font-size: 1.4rem;
        display: block;
    }
    #nav-global-language ul li a:hover{
        color: var(--color-white);
    }
    #nav-global-language ul li .acr-type01:before,
    #nav-global-language ul li a:before{
        display: none;
    }
    #nav-global-language ul li.is-current a:before{
        content: '';
        font-family: initial;
        width: 7px;
        height: 7px;
        background: var(--color-white);
        position: relative;
        left: 3px;
        display: inline-block;
        margin-right: 7px;
    }
    #nav-global-language ul li a:after {
        content: '\f105';
        font-family: 'gaishi';
        display: inline-block;
        position: absolute;
        top: 50%;
        right: 20px;
        line-height: 1;
        -webkite-transform: translateY(-50%);
        transform: translateY(-50%);
        font-size: 1.2rem;
    }
    #nav-global-language ul li.is-current a:after{
        display: none;
    }
    #nav-global-language ul li a[target="_blank"]:after{
        right: 20px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-size: 1rem;
    }
    #nav-global-search {
        padding: 35px 0;
        display: none;
        left: calc(-100vw + 132px - 45px);
    }
    #nav-global-language .wrp-content{
        padding: 0;
    }

    #nav-global-search .wrp-content{
        padding: 0 15px;
    }
    .nav-global-search__inner{
        padding: 0;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.icon-language {
        text-align: center;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.icon-search {
        text-align: center;
    }
    .l-header__btn .l-header__lst .l-header__lst-item.icon-language.is-active .icon-gaishi-earth:before {
        content: '\e80d';
        font-family: 'gaishi';
    }
    .l-header__btn .l-header__lst .l-header__lst-item.icon-search.is-active .icon-gaishi-search:before {
        content: '\e80d';
        font-family: 'gaishi';
    }
    #nav-global-search .frm-search__title {
        font-size: 1.4rem;
        margin-bottom: 15px;
    }

    .nav-global{
        margin: 0;
        display: block;
        height: auto;
    }
    .nav-global-sp__button {
        text-align: center;
        padding: 60px 0 30px;
        display: block;
        height: auto;
    }
    .nav-global-sp__button a {
        display: inline-block;
        padding: 11px 10px;
        background: var(--color-white);
        color: var(--color-black);
        font-size: 1.2rem;
        letter-spacing: 0.05em;
        min-width: 260px;
    }
    .nav-global-sp__button a .icon{
        margin-right: 5px;
        font-size: 1rem;
    }
    .nav-global-sp__button a:hover{
        text-decoration: none;
    }
    .nav-global__sub{
        display: none;
        position: static;
        height: auto;
    }
    .nav-global > li{
        height: auto;
        border-bottom: 1px solid var(--color-white-opacity);
    }
    .l-header__upper-link{
        color: var(--color-white);
        margin: 0;
        height: auto;
    }

    .nav-global > li > a{
        padding: 14px 30px 14px 15px;
        display: block;
        font-size: 1.4rem;
    }
    .nav-global > li > a:focus,
    .nav-global > li > a:active{
        color: var(--color-white);
        text-decoration: none;
    }
    .nav-global > li a:hover{
        color: var(--color-white);
    }
    .l-header.is-nav-opened .nav-global > li > a.is-current,
    .l-header.is-nav-opened .nav-global li.is-active > a,
    .nav-global li.is-active,
    .nav-global > li > a.is-current,
    .nav-global li>a:hover, .nav-global li>a:active{
        color: var(--color-white);
    }
    .nav-global > li > a:before{
        display: none;
    }
    .l-header__dropdown__title__sp{
        display: inline;
    }
    .l-header__dropdown__title a:after,
    .nav-global > li > a:after,
    .l-header__dropdown__content__detail li a:after{
        content: '\f105';
        font-family: 'gaishi';
        display: inline-block;
        position: absolute;
        top: 50%;
        right: 20px;
        line-height: 1;
        -webkite-transform: translateY(-50%);
        transform: translateY(-50%);
        font-size: 1.2rem;
    }
    .l-header__dropdown__title a:after,
    .l-header__dropdown__content__detail li a:after{
        right: 24px;
    }
    .nav-global > li.has-sub > a:after{
        content: '\f107';
    }
    .nav-global > li.has-sub.is-active > a:after{
        content: '\f106';
    }
    .l-header__dropdown__content .grid-row{
        padding: 0;
        margin: 0;
    }
    .l-header__dropdown__content .grid-col--3, .l-header__dropdown__content .grid-col--6{
        width: 100%;
        padding: 0;
        margin: 0;
        box-sizing: border-box;
    }
    .l-header__dropdown__inner{
        margin: 0;
        padding: 0;
        background: var(--color-dark-gray-2);
    }
    .l-header__dropdown__title{
        border-top: 1px solid var(--color-white-opacity);
    }
    .l-header__dropdown__title a{
        font-size: 1.4rem;
        padding: 14px 30px 14px 30px;
        border: 0;
        display: block;
        position: relative;
    }
    .l-header__dropdown__content__detail a:before,
    .l-header__dropdown__title a:before{
        display: none;
    }
    .l-header__dropdown__content__detail li{
        border-top: 1px solid var(--color-white-opacity);
    }
    .l-header__dropdown__content__detail li a{
        font-size: 1.4rem;
        padding: 12px 30px 12px 30px;
        display: block;
        text-indent: 0;
        position: relative;
    }
    .l-header__dropdown__sub,
    .l-header__dropdown__item{
        padding: 0;
    }
    .l-header__dropdown__content__detail li{
        padding: 0;
    }
    .l-header__dropdown__sub .l-header__dropdown__content__detail li a{
        font-size: 1.2rem;
        padding: 10px 30px 10px 45px;
    }
    .l-header__dropdown__item + .l-header__dropdown__item{
        border-top: 0;
    }




    /* spãƒãƒ³ãƒãƒ¼ã‚¬ãƒ¼å†…ã®ã‚¢ã‚¤ã‚³ãƒ³ */

    .js-menu-parent-sp {
        position: relative;
        display: block;
    }

    .js-menu-parent-sp .l-header__btn {
        display: block;
    }
    .js-menu-parent-sp .l-header__btn .l-header__lst{
        justify-content: space-between;
        /* background-color: var(--color-white); */
    }
    .js-menu-parent-sp .l-header__btn .l-header__lst .l-header__lst-item{
        flex-basis: 33.33%;
        max-width: 33.33%;
        border-left: 1px solid var(--color-white-opacity);
        border-right: 1px solid var(--color-white-opacity);
        border-bottom: 1px solid var(--color-white-opacity);
    }
    .js-menu-parent-sp .l-header__btn .l-header__lst .l-header__lst-item:nth-of-type(n+2){
        border-left: none;
    }

    .js-menu-parent-sp .l-header__btn .l-header__lst .l-header__lst-item.is-active{
        background-color: var(--color-white);
    }
    .js-menu-parent-sp .l-header__btn .l-header__lst a{
        display: block;
        width: 100%;
        text-align: center;
        padding: 15px 13px;
    }
    .js-menu-parent-sp .l-header__btn .l-header__lst .l-header__lst-item .l-header__lst-icon:before {
        width: 0;
    }
    .js-menu-parent-sp .icon::before{
        color: var(--color-white);
    }
    .js-menu-parent-sp .l-header__btn .l-header__lst .l-header__lst-item.is-active .icon::before{
        color: var(--color-primary);
    }
    .js-menu-parent-sp .frm-search__title {
        color: var(--color-white);
    }
    /* language */
    #nav-global-language-sp {
        background: var(--color-dark-gray);
        color: var(--color-white);
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100vw;
        z-index: 3;
        display: none;
    }
    .nav-global-language__inner{
        padding: 0;
    }

    .nav-global-language__title {
        padding: 13px 30px 13px 15px;
        font-size: 1.4rem;
        border-bottom: 1px solid var(--color-white-opacity);
        text-align: left;
    }
    #nav-global-language-sp .grid-row{
        margin: 0;
    }
    #nav-global-language-sp .grid-col--6{
        width: 100%;
        padding: 0;
        margin: 0;
    }
    #nav-global-language-sp ul{
        display: block;
        margin: 0;
        background: var(--color-dark-gray-2);
    }
    #nav-global-language-sp ul li{
        margin: 0;
        border-bottom: 1px solid var(--color-white-opacity);
    }
    #nav-global-language-sp ul li .acr-type01,
    #nav-global-language-sp ul li a{
        padding: 14px 30px 14px 30px;
        font-size: 1.4rem;
        display: block;
        position: relative;
        letter-spacing: 0;
        color: var(--color-white);
    }
    #nav-global-language-sp ul li a:hover{
        color: var(--color-white);
    }
    #nav-global-language-sp ul li .acr-type01:before,
    #nav-global-language-sp ul li a:before{
        content: '';
    }

    #nav-global-language-sp ul li.is-current a{
        cursor: default;
        pointer-events: none;
    }
    #nav-global-language-sp ul li.is-current a:before{
        content: '';
        font-family: initial;
        width: 7px;
        height: 7px;
        background: var(--color-white);
        position: absolute;
        left: 10px;
        top: 50%;
        display: inline-block;
        margin-right: 7px;
        transform: translateY(-50%);
    }

    #nav-global-language-sp ul li a:after {
        content: '\f105';
        font-family: 'gaishi';
        display: inline-block;
        position: absolute;
        top: 50%;
        right: 20px;
        line-height: 1;
        -webkite-transform: translateY(-50%);
        transform: translateY(-50%);
        font-size: 1.2rem;
    }
    #nav-global-language-sp ul li.is-current a:after{
        display: none;
    }
    #nav-global-language-sp ul li a[target="_blank"]:after{
        content: '\f08e';
        font-family: 'gaishi';
        display: inline-block;
        right: 20px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-size: 1rem;
    }

    /* search */
    #nav-global-search {
        padding: 35px 0;
        display: none;
    }
    #nav-global-language-sp .wrp-content{
        padding: 0;
    }
    #nav-global-search-sp .nav-global-search__inner{
        padding: 35px 0;
    }

    /* contact */
    .js-menu-parent-sp .l-header__btn .l-header__lst .l-header__lst-item.icon-contact{
        display: flex;
    }
    .js-menu-parent-sp .l-header__btn .l-header__lst .l-header__lst-item.icon-search {
        text-align: center;
    }




}
@media only screen and (min-width: 1025px) {
    .nav-global{
        height: 100%;
        max-height: 92px;
    }
    #nav-global{
        display: flex!important;
        height: auto!important;
    }
}
@media only screen and (max-width: 1024px) {
    html.is-nav-opened{
        overflow: hidden;
    }
    .nav-global-wrapper.is-opened{
        display: block!important;
    }
    .nav-global-wrapper{
        box-sizing: border-box;
    }
}
/* 1-3. #l-container
-------------------------------------------------- */

#l-container {}

/* @media only screen and (max-width: 1024px) {
	#l-container {
		padding-top: 88px;
	}
} */

/* 1-3-1. #l-main
-------------------------------------------------- */

/* 1-3-2. #l-sub
-------------------------------------------------- */

/* 1-3-3. #l-local
-------------------------------------------------- */


/* 1-4. #l-footer
-------------------------------------------------- */

.l-footer {
    position: relative;
    background: var(--color-black-sea);
    margin-top: 260px;
}


.txt-copyright {
    color: var(--color-footer-text);
    font-size: 1.3rem;
    text-align: center;
    background: var(--color-black-oak);
    padding: 10px;
}

.nav-footer {
    padding-bottom: 75px;
}

.l-footer a {
    color: var(--color-footer-text);
}

.lst-footer__title {
    position: relative;
    display: block;
    box-sizing: border-box;
    padding-left: 15px;
    font-size: 1.5rem;
    font-weight: bold;
}

.lst-footer__title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -3px;
    width: 8px;
    height: 3px;
    background: var(--color-primary);
}

.lst-footer__inner {
    display: block;
}

.lst-footer__title a {
    display: block;
    padding: 14px 0;
}

.lst-footer__title a:hover, .lst-footer__inner li a:hover, .nav-footer-link li a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.lst-footer__title--nolink {
    display: block;
    padding: 14px 0;
    color: var(--color-footer-text);
}

.lst-footer__inner li a {
    font-size: 1.2rem;
    display: block;
    padding-bottom: 11px;
    padding-left: 8px;
    text-indent: -8px;
}

.lst-footer__inner li a span:before {
    margin-right: 2px;
    position: relative;
    top: -2px;
}
.lst-footer__inner li li{
    margin-left: 12px;
}
.lst-footer__inner li li a{
    font-size: 1.1rem;
}

/*-----------------------*/

.nav-footer-link {
    text-align: center;
    margin-bottom: 48px;
}

.nav-footer-link li {
    display: inline-block;
    padding: 0 17px;
    border-left: 1px solid var(--color-footer-text);
    line-height: 1;
}

.nav-footer-link li:first-child {
    border-left: 0;
}

.nav-footer-link li a {
    color: var(--color-footer-text);
    display: block;
    font-size: 1.2rem;
    letter-spacing: 0;
}

@media only screen and (max-width: 767px) and (min-width: 1px) {
    .l-footer {
        margin-top: 119px;
    }
    .nav-footer {
        margin: 0 -15px;
        padding-bottom: 0;
    }
    .nav-footer .grid-row {
        margin-left: 0;
        margin-right: 0;
    }
    .lst-footer.grid-col--2 {
        padding: 0;
        margin: 0;
    }
    .lst-footer__title {
        border-bottom: 1px solid var(--color-border-2);
        padding-left: 25px;
    }
    .lst-footer__title:before {
        left: 15px;
        width: 4px;
        height: 2px;
    }
    .lst-footer__inner li {
        border-bottom: 1px solid var(--color-border-2);
    }
    .lst-footer__inner li a {
        padding: 14px 35px;
        text-indent: -10px;
        font-size: 1.0rem;
    }
    .lst-footer__inner li a span:before {
        margin-right: 5px;
    }
    .nav-footer-link {
        display: block;
        margin: 0 -15px;
        overflow-x: hidden;
    }
    .nav-footer-link li {
        display: inline-block;
        width: 50%;
        text-align: center;
        border-left: 0;
        padding: 0;
        float: left;
        border-bottom: 1px solid var(--color-border-2);
        font-size: 0;
        box-sizing: border-box;
        position: relative;
    }
    .nav-footer-link li:nth-child(odd) {
        border-right: 1px solid var(--color-border-2);
    }
    .nav-footer-link li a {
        padding: 14px 0;
        font-size: 1.0rem;
        line-height: 1.5;
    }
    .nav-footer-link li:last-child:before {
        content: "";
        width: 110%;
        height: 1px;
        background: var(--color-border-2);
        bottom: -1px;
        right: 1px;
        position: absolute;
        transform: translateX(100%);
    }
    .has-menu .lst-footer__title a {
        position: relative;
    }
    .has-menu .lst-footer__title--nolink {
        position: relative;
    }
    .has-menu .lst-footer__title a:after {
        content: '\f107';
        font-family: 'gaishi' !important;
        position: absolute;
        color: var(--color-footer-text);
        right: 15px;
        top: 50%;
        margin-top: -7px;
    }
    .has-menu .lst-footer__title--nolink:after {
        content: '\f107';
        font-family: 'gaishi' !important;
        position: absolute;
        color: var(--color-footer-text);
        right: 15px;
        top: 50%;
        margin-top: -7px;
    }
    .has-menu.is-active .lst-footer__title a:after {
        content: '\f106';
    }
    .txt-copyright {
        font-size: 0.6rem;
    }
    .lst-footer__title a {
        font-size: 1.0rem;
    }
    .lst-footer__title--nolink {
        font-size: 1.0rem;
    }
    .lst-footer__inner li li {
        margin-left: 0;
        border-bottom: 0;
        border-top: 1px solid var(--color-border-2);
    }
    .lst-footer__inner li li a{
        margin-left: 12px;
    }
    .lst-footer__inner li .icon{
        display: none;
    }
}



/*-----------------------*/
.l-footer__logo{
    text-align: center;
    padding: 60px 0 40px;
}
.l-footer__logo img{
    height: 32px;
}
@media only screen and (max-width: 767px) {
    .l-footer__logo{
        padding: 30px 0;
    }
    .l-footer__logo img{
        height: 30px;
    }
    .l-footer__logo + .nav-footer-link{
        border-top: 1px solid var(--color-border-2);
    }
}

/*-----------------------*/
.l-footer--simple {
    margin-top: 120px;
    background: var(--color-black-oak);
}
.l-footer--simple{
    display: flex;
    justify-content: center;
    align-items: center;
}
.l-footer--simple .l-footer__logo{
    margin-left: 40px;
    flex: 1;
    padding: 18px 0;
    text-align: left;
}
.l-footer__contain{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: 30px;
}
.l-footer--simple .nav-footer-link {
    margin: 0 40px 0;
    line-height: 0;
}
.l-footer--simple .nav-footer-link li .icon{
    margin-right: 5px;
    font-size: 1.3rem;
}
@media only screen and (max-width: 1024px) {
    .l-footer--simple .nav-footer-link {
        margin: 0 10px 0;
    }
}
@media only screen and (max-width: 767px) {
    .l-footer--simple{
        display: block;
    }
    .l-footer--simple .l-footer__logo {
        margin: 0;
        text-align: center;
    }
    .l-footer--simple .l-footer__logo img{
        height: 30px;
    }
    .l-footer--simple .l-footer__logo {
        margin-left: 0;
        padding: 27px 0 30px;
    }
    .l-footer--simple .nav-footer-link{
        border-top: 1px solid var(--color-border-2);
    }
    .l-footer--simple .nav-footer-link li a{
        display: inline-flex;
        flex-direction: row-reverse;
        align-items: center;
    }
    .l-footer--simple .nav-footer-link li .icon{
        margin: 0 0 0 5px;
    }
    .l-footer__contain{
        display: block;
        margin-right: 0;
    }
    .l-footer--simple .nav-footer-link {
        margin: 0;
    }
}

/*-----------------------*/

.l-footer--transparent {
    background: transparent;
}
.l-footer--transparent .txt-copyright{
    background: transparent;
}

/*footer-pagetop
--------------------------------*/

a.btn-pagetop {
    color: var(--color-white);
}

.btn-pagetop {
    display: block;
    background: var(--color-secondary);
    color: var(--color-white);
    width: 600px;
    text-align: center;
    z-index: 9;
    margin: auto;
    position: relative;
    top: -50px;
    margin-bottom: 50px;
}

.btn-pagetop:hover {
    color: var(--color-white);
    text-decoration: none;
    opacity: 1;
}

.btn-pagetop:hover:before {
    -webkit-transform: translateZ(0) scaleY(1);
    transform: translateZ(0) scaleY(1);
}

.btn-pagetop:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: var(--color-primary);
    opacity: 0.7;
    -webkit-transform: translateZ(0) scaleY(0);
    transform: translateZ(0) scaleY(0);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
    transition: -webkit-transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1);
    transition: transform .4s cubic-bezier(.645, .045, .355, 1), -webkit-transform .4s cubic-bezier(.645, .045, .355, 1)
}

.btn-pagetop:after {
    top: 0;
    background: var(--color-white);
}

.btn-pagetop span {
    display: block;
    padding: 35px 0;
    font-style: italic;
    position: relative;
    z-index: 1;
}

.btn-pagetop:hover:after {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: translate3d(0, -3px, 0) scaleY(0);
    transform: translate3d(0, -3px, 0) scaleY(0)
}

.btn-pagetop:after {
    content: "";
    height: 65px;
    width: 1px;
    left: 0;
    right: 0;
    bottom: 90px;
    margin: auto;
    display: block;
    background: url("img/bg-line01.png") no-repeat center center;
    position: absolute;
    z-index: 1;
    -webkit-transform: translate3d(0, 0, 0) scaleY(1);
    transform: translate3d(0, 0, 0) scaleY(1);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
    transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (max-width: 767px) and (min-width: 1px) {
    .btn-pagetop {
        top: -25px;
        width: auto;
        display: block;
        margin: 0 15px;
        margin-bottom: 0;
    }
    .btn-pagetop:after {
        height: 32px;
        bottom: 40px;
    }
    .btn-pagetop span {
        padding: 17px 0 9px;
        font-size: 1.0rem;
    }
}

/* 1-5. #l-nav-global
-------------------------------------------------- */

/* -----------------------------------------------
 [2. Object]
 -------------------------------------------------- */

/* 2-1. Component a.k.a Module
-------------------------------------------------- */

/*2-1-1.  Wrap     [wrp-***]*/

.wrp-article {
    max-width: 1180px;
    padding: 0 20px;
    margin: 0 auto;
}

.wrp-container {
    max-width: 1180px;
    padding: 0 20px;
    margin: 0 auto;
}

.wrp-article>.wrp-container {
    max-width: 1180px;
    padding: 0 0;
    margin: 0 auto;
}

.box-heading-image-wrp + .wrp-container,
.box-heading+.wrp-container,
.box-main-image+.wrp-container {
    padding-top: 70px;
}

.box-heading+.wrp-container>*:first-child, .box-main-image+.wrp-container>*:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.box-tab .box-tab__content>.wrp-container>h2:first-child, .box-tab .box-tab__content>*:first-child {
    margin-top: 0 !important;
}

.box-heading+.wrp-container>div.box-link-02 {
    padding-top: 25px !important;
}

.wrp-tabs {
    margin: 0 auto;
}

.wrp-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.wrp-content--sm {
    max-width: 780px;
    margin: auto;
}
.wrp-container--sm {
    max-width: 780px;
    margin: auto;
}
.wrp-content--lg {
    max-width: 880px;
    margin: auto;
}

@media screen and (min-width: 1024px) {
    /* wrp-container--narrowã«ç½®ãæ›ãˆ */
    .irregular-narrow {
        width: 970px;
    }
    .wrp-container--narrow {
        max-width: 980px;
    }
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .wrp-container {
        padding: 0 15px;
    }
    .box-heading-image-wrp + .wrp-container ,
    .box-heading+.wrp-container,
    .box-main-image+.wrp-container {
        padding-top: 20px;
    }
}

/*2-1-2.  Box      [box-***]*/

/* FV */

.box-main-image {
    height: 370px;
    background: url("/resource/img/news/news-pct-main01.jpg") no-repeat center;
    background-size: cover;
}

.box-main-image__title {
    font-size: 4.0rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: var(--color-white);
    padding: 140px 0 15px;
}

.box-main-image__desc {
    font-size: 2.2rem;
    line-height: 30px;
    letter-spacing: 0.28em;
    color: var(--color-white);
}

.box-main-image__button {
    margin-top: 30px;
}

.box-main-image__button .btn {
    width: 240px;
    padding: 20px 40px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-main-image {
        height: 200px;
        background: url("/resource/img/news/news-pct-main01-sp.jpg") no-repeat center;
        background-size: cover;
    }
    .box-main-image__title {
        font-size: 2.5rem;
        padding: 52px 0 2px;
    }
    .box-main-image__desc {
        font-size: 1.3rem;
        line-height: 20px;
    }
    .box-main-image__button {
        margin-top: 20px;
    }
    .box-main-image__button .btn {
        font-size: 1.1rem;
        width: 158px;
        padding: 11px 13px;
    }
}

/*------------------------------------*/

.box-video {
    text-align: center;
    background: var(--color-light-gray);
    margin-bottom: 20px;
    /*cursor: pointer;*/
}

.box-video>a {
    color: #000;
}

.box-video>a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.box-video__thumb img {
    width: 100%;
}

.box-video__thumb__play {
    border: 1px solid #0075c4;
    font-size: 0;
}

.box-video__thumb__play video {
    width: 100%;
}

.box-video__title {
    font-size: 2.0rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 10px 10px 5px;
}

.box-video__des {
    padding: 0 10px;
}

.__is-videos .mfp-title {
    position: relative;
    z-index: 9;
;
    background: var(--color-white);
    color: #000;
    padding: 20px;
    font-weight: bold;
    font-size: 2.0rem;
}

.__is-videos .mfp-bg {
    background: var(--color-white);
    opacity: .7;
}

.__is-videos .mfp-iframe-scaler iframe {
    padding: 0 10px 10px;
    background: var(--color-white);
    box-sizing: border-box;
    box-shadow: none;
}

.__is-videos .mfp-iframe-holder .mfp-close, .__is-videos .mfp-inline-holder .mfp-close {
    color: var(--color-primary);
    width: 60px;
    height: 60px;
    top: 0;
    right: 0;
    padding-right: 0;
    text-align: center;
    font-size: 4.0rem;
    line-height: 1;
}

.__is-videos .mfp-iframe-holder .mfp-content, .__is-videos .mfp-inline-holder .mfp-content {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.box-video--main {
    /* padding: 0 30px; */
    background: none;
}

#box-flash {
    padding: 0 10px 10px;
    background: var(--color-white);
    box-sizing: border-box;
    box-shadow: none;
}

#box-flash .mfp-title {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

#box-flash {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 61.6%;
    position: relative;
}

#box-flash object {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 58px 10px 10px 10px;
    box-sizing: border-box;
}

#box-flash embed {
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-video__title {
        font-size: 1.4rem;
    }
    .box-video__des {
        font-size: 1.0rem;
    }
    .__is-videos .mfp-title {
        font-size: 1.4rem;
        padding: 10px;
    }
    .__is-videos .mfp-iframe-holder .mfp-close, .__is-videos .mfp-inline-holder .mfp-close {
        width: 30px;
        height: 30px;
        font-size: 3.0rem;
    }
    .box-video--main {
        padding: 0;
    }
}

/*-------------------------------------*/

.bnr-csr {
    padding: 60px;
    background-color: rgba(0, 0, 0, .5);
    background-blend-mode: overlay;
    background-image: url("/resource/img/bg-csr01.jpg");
    background-size: cover;
    color: var(--color-white);
    overflow: hidden;
    position: relative;
    margin-top: 35px;
}

/* .bnr-csr::after {
	content: "";
	position: absolute;
	background: rgba(0,0,0,0.5);
	background-size: cover;
	opacity: 0.5;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;

} */

.bnr-csr__content {
    padding-right: 350px;
}

.bnr-csr__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 60px;
    margin-top: 5px;
}

.bnr-csr__btn .btn {
    background: var(--color-white);
    color: var(--color-primary);
    width: 325px;
    padding: 20px;
    text-align: center;
}

.bnr-csr__btn .btn span {
    text-align: center;
    display: inline-block;
    padding-right: 25px;
}

.bnr-csr__title {
    font-size: 2.2rem;
    margin-bottom: 10px;
}

.bnr-csr--01 {
    background: #0074b8;
    padding: 0;
}

.bnr-csr--01 .bnr-csr__content {
    padding-right: 445px;
}

.bnr-separate {
    display: flex;
    flex-wrap: wrap;
}

.bnr-separate__img-wrp {
    width: 50%;
    position: relative;
    overflow: hidden;
}

.bnr-separate__img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.bnr-separate__content {
    width: 50%;
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 25px 60px;
    box-sizing: border-box;
}

.bnr-separate__title {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.bnr-separate__txt {
    margin-bottom: 26px;
}

.bnr-separate__btn {
    text-align: center;
}

.bnr-separate__btn .btn {
    width: 80%;
}

@media only screen and (max-width: 1024px) {
    .bnr-separate {
        display: block;
    }
    .bnr-separate__img-wrp {
        display: none;
    }
    .bnr-separate__content {
        width: 100%;
        padding: 30px 20px;
    }
    .bnr-separate__title {
        font-size: 1.8rem;
        margin-bottom: 10px;
    }
    .bnr-separate__txt {
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 767px) {
    .bnr-csr {
        padding: 30px;
        margin-top: 20px;
    }
    .bnr-csr__content {
        max-width: 100%;
        padding-right: 0;
    }
    .bnr-csr__title {
        line-height: 1.28;
    }
    [lang="en"] .bnr-csr__title {
        font-size: 2rem;
    }
    .bnr-csr__btn {
        position: relative;
        transform: translateY(0);
        top: auto;
        right: 0;
        margin-top: 20px;
    }
    .bnr-csr__btn .btn {
        width: 100%;
    }
    .bnr-csr--01 {
        padding: 0;
    }
    .bnr-csr--01 .bnr-csr__content {
        display: block;
        padding-right: 0;
    }
    .bnr-csr--01 .bnr-csr__btn {
        text-align: center;
        margin-bottom: 15px;
    }
    .bnr-csr--01 .bnr-csr__btn a {
        width: 190px;
        font-size: 1.1rem;
        padding: 11px 13px;
    }
}

/*---------------------------------------------*/

.box {
    border: 1px solid #ddd;
    margin-bottom: 20px;
}

.box__title {
    padding: 9px 10px;
    background: #424242;
    color: var(--color-white);
    font-size: 1.6rem;
}

.box__inner {
    padding: 10px;
    box-sizing: border-box;
}

.box-heading {
    background: var(--color-light-gray);
    padding: 60px 0 50px;
    text-align: center;
    position: relative;
}

.box-heading:before {
    content: "";
    height: 3px;
    width: 50px;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    position: absolute;
    background: var(--color-primary);
}

.box-heading__sub {
    color: var(--color-primary);
    font-size: 1.5rem;
    letter-spacing: 0.16em;
    margin-bottom: 20px;
}

.box-heading .hdg-lv1 {
    font-size: 3.5rem;
    letter-spacing: 0.06em;
    font-weight: normal;
    line-height: 1.28;
}

.box-heading--02 {
    padding: 60px 0 70px;
}

.box-heading--03 {
    padding: 60px 0 40px;
    margin-bottom: 70px;
}

.box-heading--03 .box-heading__sub {
    margin-bottom: 10px;
}

.box-heading--03 .box-heading__sub span {
    display: inline-block;
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    color: var(--color-black);
    padding: 4px 29px;
    box-sizing: border-box;
    background: var(--color-category-tag);
    border-radius: 3px;
    margin-right: 10px;
}

.box-heading--03 .box-heading__sub span:last-child {
    margin-right: 0;
}

.box-heading__date {
    font-size: 1.5rem;
    color: var(--color-gray);
    margin-top: 10px;
}

@media only screen and (min-width: 767px) and (max-width: 1024px) {
    .box-heading {
        padding: 80px 0 24px;
    }
}


@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-heading {
        padding: 80px 0 24px;
    }
    .box-heading__sub {
        font-size: 1.0rem;
        margin-bottom: 10px;
    }
    .box-heading .hdg-lv1 {
        font-size: 2.0rem;
    }
    .box-heading:before {
        width: 25px;
        height: 1px;
    }
    .box-heading--03 {
        margin-bottom: 25px;
    }
    .box-heading--03 .box-heading__sub span {
        font-size: 0.9rem;
        padding: 1px 9px;
    }
    .box-heading__date {
        font-size: 0.9rem;
    }
}
/* box-heading-image */
.box-heading-image-wrp{
    position: relative;
    width: 100%;
    padding: 0 0 100px;
}
.box-heading-image{
    width: 100%;
    height: 0;
    padding-top: 24%;
    /* background: var(--color-gray); */
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}
.box-heading-image-inner{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50%;
    padding: 3.8vw 4.1vw;
    background: var(--color-primary-opacity);
    box-sizing: border-box;
}
.box-heading-image-wrp .box-heading__sub{
    font-size: 2.8rem;
    color: var(--color-white);
}
.box-heading-image-wrp .hdg-lv1{
    padding: 0 0 0;
    font-size: 4.2rem;
    color: var(--color-white);
    text-shadow: 0px 0px 4px rgba(31,102,175,0.4), 0px 0px 2px rgba(31,102,175,0.7);
}
.box-heading-image-lead{
    margin: 45px 0 0;
    font-size: 2.4rem;
    color: var(--color-white);
    text-shadow: 0px 0px 4px rgba(31,102,175,0.4), 0px 0px 2px rgba(31,102,175,0.7);
}
@media only screen and (min-width: 1px) and (max-width: 1200px) {
    .box-heading-image-inner{
        width: 75%;
    }
}
@media only screen and (min-width: 1px) and (max-width: 1024px) {
    .box-heading-image-wrp{
        position: relative;
        width: 100%;
        padding: 45px 0 70px;
    }
    .box-heading-image{
        padding-top: 50.5%;
    }
    .box-heading-image-inner{
        width: calc(100% - 15px);
        padding: 35px 35px 30px 15px;
    }
    .box-heading-image-wrp .box-heading__sub{
        margin-bottom: 10px;
        font-size: 1.8rem;
    }
    .box-heading-image-wrp .hdg-lv1{
        font-size: 2.4rem;
    }
    .box-heading-image-lead{
        margin: 25px 0 0;
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-heading-image{
        padding-top: 87.5%;
    }
}


/*---------------------------*/

.box-article__thumb {
    text-align: center;
}

.box-article__des {
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: left;
}

.box-article--02 .box-article__des {
    font-size: 1.5rem;
    line-height: 24px;
    color: var(--color-black);
}

.box-article--02 .box-article__des span {
    font-size: 1.6rem;
    font-weight: bold;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {

    .box-article__des {
        font-size: 1.1rem;
        margin-bottom: 10px;
    }
    .box-article {
        padding-bottom: 10px;
    }
    .box-article--02 .box-article__des {
        font-size: 1.2rem;
        line-height: 18px;
    }
    .box-article--02 .box-article__des span {
        font-size: 1.4rem;
    }
}

/*-----------------------------*/

.box-link {
    background: var(--color-light-gray);
    padding: 25px 40px;
    margin: 40px 0;
}

.box-link__title {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: 10px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-link {
        padding: 12px 20px;
        margin: 20px 0;
    }
    .box-link p {
        font-size: 1.2rem;
    }
    .box-link p.box-link__title {
        font-size: 1.4rem;
        margin-bottom: 5px;
    }
}

.box-link-02 {
    padding: 25px 30px 30px;
    background: var(--color-dark-gray);
    margin-top: 30px;
}

.box-link-02__title {
    color: var(--color-white);
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.box-link-02__link a {
    color: var(--color-white);
    display: block;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-link-02 {
        padding: 20px 15px 15px;
    }
    .box-link-02__title {
        font-size: 1.4rem;
        line-height: 15px;
        margin-bottom: 15px;
    }
    .box-link-02__link p {
        border-bottom: 1px solid #acbcc6;
    }
    .box-link-02__link p:first-child {
        border-top: 1px solid #acbcc6;
    }
    .box-link-02__link a {
        padding: 9px 0;
        letter-spacing: 0.03em;
    }
    .box-link-02__link a span {
        font-size: 1.0rem;
    }
}

.box-link__cg p:first-child {
    text-indent: -80px;
    padding-left: 80px;
}

.box-link__cg p:last-child {
    text-indent: -71px;
    padding-left: 71px
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-link__cg p:first-child {
        text-indent: -6em;
        padding-left: 6em;
    }
    .box-link__cg p:last-child {
        text-indent: -5em;
        padding-left: 5em;
    }
}

/*--------------------------------*/

.box-pickup {
    margin: 25px 0 40px;
    background: var(--color-light-gray);
}

.box-pickup__title {
    padding: 54px 0 0 40px;
    font-size: 2.0rem;
    color: var(--color-primary);
    font-weight: bold;
    position: relative;
}

.box-pickup__title:before {
    content: "";
    height: 8px;
    width: 30px;
    position: absolute;
    left: 0;
    top: 75%;
    background: var(--color-primary);
}

.box-pickup__content {
    padding: 30px 40px;
    overflow: hidden;
}

.box-pickup__head {
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.box-pickup__head small {
    font-size: 1.6rem;
    display: block;
}

.box-pickup__des {
    font-size: 1.6rem;
}

.box-pickup__txt {
    float: left;
    width: 69.09%;
    box-sizing: border-box;
    padding-right: 40px;
}

.box-pickup__img {
    float: right;
    width: 30.91%;
    line-height: 0;
}

@media only screen and (min-width: 768px) {
    .box-pickup__content-imgvertical .box-pickup__txt {
        width: 80%;
    }
    .box-pickup__content-imgvertical .box-pickup__img {
        width: 20%;
    }
}

.box-pickup__img img {
    width: 100%;
}

.box-pickup__img span, .box-pickup__img figcaption {
    display: block;
    font-size: 1.2rem;
    color: var(--color-gray);
    margin-top: 10px;
    line-height: 1.6666;
}

.box-pickup--sm .box-pickup__txt {
    width: 81.82%;
}

.box-pickup--sm .box-pickup__img {
    width: 18.18%;
    padding-top: 0;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-pickup {
        margin: 25px 0;
    }
    .box-pickup__title {
        font-size: 1.6rem;
        padding: 15px 15px 0 25px;
    }
    .box-pickup__content {
        padding: 5px 15px 21px;
    }
    .box-pickup__head {
        font-size: 1.4rem;
        margin-bottom: 5px;
    }
    .box-pickup__txt, .box-pickup__img {
        float: none;
        display: block;
        width: 100%;
    }
    .box-pickup__img {
        text-align: center;
        padding-top: 10px;
    }
    .box-pickup__img span {
        text-align: left;
        font-size: 1.0rem;
        line-height: 1.5;
        letter-spacing: 0;
        margin-top: 5px;
    }
    .box-pickup__txt {
        margin-top: 8px;
        padding-right: 0;
    }
    .box-pickup__title:before {
        width: 15px;
        height: 4px;
        top: 62%;
    }
    .box-pickup__des {
        font-size: 1.3rem;
        line-height: 20px;
    }
    .box-pickup--sm .box-pickup__txt, .box-pickup--sm .box-pickup__img {
        width: 100%;
    }
}

/*---------------------------*/

.box-download {
    background: var(--color-dark-gray);
    padding: 70px 50px 80px;
    text-align: center;
}

.box-download__head {
    font-size: 3.0rem;
    color: var(--color-white);
    letter-spacing: 0.14em;
    margin-bottom: 30px;
}

.box-download__text {
    color: var(--color-white);
    letter-spacing: 0.14em;
    font-size: 1.6rem;
    margin-bottom: 35px;
}

.box-download--01 {
    padding: 70px 10px 65px;
}

.box-download--01 .box-download__head {
    margin-bottom: 15px;
}

.box-download__btn .btn--second span {
    display: inline;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-download {
        padding: 35px 20px;
    }
    .box-download__head {
        font-size: 2.0rem;
        letter-spacing: 0.08em;
        line-height: 1.125;
        margin-bottom: 22px;
    }
    .box-download__btn .btn {
        text-align: left;
        padding: 10px 40px 5px 15px;
        line-height: 1.45;
    }
    .box-download__btn .icon-gaishi-download {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
    }
    .box-download__text {
        font-size: 1.3rem;
        line-height: 15px;
        margin-bottom: 20px;
    }
    .box-download--01 {
        padding-left: 15px;
        padding-right: 15px;
    }
    .box-download--01 .btn {
        font-size: 1.2rem;
        text-align: center;
        padding: 11px 15px;
    }
    .box-download--02 {
        margin: 0 -20px;
    }
    .box-download--02 .box-download__btn a {
        padding: 12px 15px;
        text-align: center;
    }
}

/*---------------------------*/

.box-contact {
    background: var(--color-dark-gray);
    padding: 60px 0 60px;
    text-align: center;
    color: var(--color-white);
}

.box-contact__head {
    font-size: 3.0rem;
    color: var(--color-white);
    letter-spacing: 0.14em;
    margin-bottom: 30px;
    font-weight: normal;
}
[lang="en"] .box-contact__head {
    letter-spacing: 0.005em;

}
.box-contact__body {
    display: table;
    width: 100%;
}

.box-contact__tel {
    display: table-cell;
    box-sizing: border-box;
    width: 50%;
    padding: 0 20px 0 60px;
    color: var(--color-white);
    border-right: 1px solid #93aec0;
    vertical-align: middle;
    text-align: left;
}

.box-contact__tel h4 {
    margin-top: 5px;
    padding: 0 0 5px;
}

.box-contact__tel ul li {
    padding: 9px 0 0;
    line-height: 1;
    letter-spacing: -0.4em;
}

.box-contact__form {
    display: table-cell;
    box-sizing: border-box;
    width: 50%;
    padding: 0 50px;
    vertical-align: middle;
}

.box-contact__form p {
    display: flex;
    width: 100%;
    height: 100%;
    line-height: 0;
    justify-content: center;
}


.box-contact__tel .box-contact__office {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    letter-spacing: 1px;
    margin-bottom: 7px;
}

.box-contact__tel .box-contact__office span {
    display: inline-block;
    width: 105px;
    border: 1px solid var(--color-white);
    padding: 5px 15px 4px;
    font-size: 1.2rem;
    line-height: 1.25;
    text-align: center;
}

.box-contact__tel .box-contact__tel02 {
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 1px;
    margin-right: 5px;
}

.box-contact__tel a {
    display: inline-block;
    color: var(--color-white);
    cursor: default;
    font-weight: bold;
    font-size: 2.6rem;
    letter-spacing: 1px;
    margin-right: 5px;
    vertical-align: middle;
}

.box-contact__tel a:hover {
    text-decoration: none;
}

.box-contact__tel a .icon {
    margin-right: 3px;
}

.box-contact__tel .box-contact__fax {
    display: inline-block;
    font-size: 1.2rem;
    vertical-align: text-bottom;
    letter-spacing: 1px;
    line-height: 0.5;
}

.box-contact__form .btn {
    width: 100%;
    line-height: 1.666666;
}

.box-contact__form .btn--second {
    min-width: 1%;
    display: flex;
    justify-content: center;
}

.box-contact__tel02>span {
    display: inline-block;
    color: var(--color-white);
    cursor: default;
    font-weight: bold;
    font-size: 2.6rem;
}

.box-contact__txt {
    display: block;
    letter-spacing: 0em;
    line-height: 1.6;
    font-size: 1.3rem;
    margin-top: 15px;
}
.box-contact__txt02{
    padding: 0 60px;
    text-align: left;
}


@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .box-contact__form .btn--second {
        flex-flow: column;
    }
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-contact {
        margin: 0 -20px;
        padding: 30px 20px;
    }
    .box-contact__head {
        font-size: 2.0rem;
        letter-spacing: 0.08em;
        line-height: 23px;
        margin-bottom: 25px;
    }
    .box-contact__tel {
        display: block;
        width: 100%;
        padding: 0;
        border-right: 0;
    }
    .box-contact__form {
        padding: 0;
        display: block;
        width: 100%;
    }
    .box-contact__tel h4 {
        padding: 0;
    }
    .box-contact__tel a {
        font-size: 2.2rem;
    }

    .box-contact__tel .box-contact__office {
        margin-bottom: 0;
    }
    .box-contact__tel .box-contact__tel02 {
        margin-right: 0;
        display: block;
        text-align: left;
    }
    .box-contact__tel .box-contact__office {
        float: left;
        height: 40px;
    }
    .box-contact__tel .box-contact__office span {
        min-width: unset;
        width: auto;
        /* width: 90px; */
        padding: 5px 10px;
        line-height: 15px;
        box-sizing: border-box;

    }
    .box-contact__tel .box-contact__fax {
        display: block;
        padding-top: 5px;
        text-align: left;
        line-height: 1;
    }
    .box-contact__tel {
        border-bottom: 1px solid #93aec0;
        padding-bottom: 30px;
        margin-bottom: 25px;
    }
    .box-contact__tel ul,
    .box-contact__tel p {
        max-width: 500px;
        /* max-width: 300px; */
        margin: 0 auto;
    }
    .box-contact__fax a{
        font-size: 1.2rem
    }
    .box-contact__form .btn {
        font-size: 1.2rem;

        width: 100%;
        margin: 0 auto;
    }
    .box-contact__txt:before {
        content: "";
        display: block;
        clear: both;
    }
    .box-contact__txt02{
        padding: 0;
    }
}

/*-------------------------------*/

.box-contact--01 .box-contact__head {
    font-size: 2.8rem;
}

.box-contact--01 .box-contact__tel h4 {
    font-size: 1.5rem;
}

.box-contact--01 .box-contact__tel .box-contact__office span {
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    padding: 7px 5px;
    box-sizing: border-box;
}

.box-contact--01 .box-contact__tel02>span {
    font-size: 3.2rem;
}

.box-contact--01 .box-contact__tel h4 {
    padding: 0;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-contact--01 .box-contact__head {
        font-size: 2.0rem;
    }
    .box-contact--01 .box-contact__tel .box-contact__office span {
        font-size: 1.2rem;
        padding: 5px 10px;
    }
    .box-contact--01 .box-contact__tel .box-contact__fax {
        padding: 5px 0 0;
        font-size: 1.2rem;
    }
}

/*-------------------------------*/

.box-contact--02 {
    padding: 60px 0 40px;
}

.box-contact--02 .box-contact__tel {
    display: block;
    width: 100%;
    border-right: 0;
}

.box-contact--02 .box-contact__form {
    display: block;
    width: 100%;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-contact--02 {
        padding: 30px 20px;
    }
}

/*-------------------------------*/

.box-card {
    padding: 35px 0 95px;
    background: var(--color-light-gray);
    margin: 90px 0 60px;
}

.box-card .hdg-lv2 {
    margin-top: 0;
}



.box-card__inner {
    color: var(--color-black);
}

.box-card__inner:hover {
    text-decoration: none;
}


.noHover .ngk-image {
    transition: none !important;
}

.box-card__head {
    display: table;
    width: 100%;
}

.box-card__head__logo {
    display: table-cell;
    vertical-align: top;
    width: 45px;
}

.box-card__head__detail {
    display: table-cell;
    vertical-align: top;
    padding-left: 15px;
    line-height: 1.1;
    padding-top: 5px;
}

.box-card__head__detail span {
    font-size: 1.5rem;
    display: block;
}



.box-card--01 {
    margin: 210px 0 15px;
    padding-bottom: 65px;
}

.box-card--01>.wrp-container {
    margin-top: -150px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-card {
        margin: 40px 0 0;
        padding-bottom: 0;
    }
    .box-card--01 {
        margin-top: 95px;
        padding-bottom: 5px;
    }
    .box-card--01>.wrp-container {
        margin-top: -85px;
    }

    .box-card__head__logo {
        width: 23px;
    }
    .box-card__head__detail {
        padding-left: 8px;
        padding-top: 0;
        line-height: 15px;
        font-size: 1.3rem;
    }
    .box-card__head__detail span {
        font-size: 0.9rem;
        display: block;
        line-height: 1;
        margin-top: 5px;
    }

}

/*-------------------------*/
/*
.box-card-01 .grid-row {
	margin: 0 -1px;
}

.box-card-01 .grid-row>div {
	padding: 0 1px;
	margin-bottom: 35px;
}

.box-card-01__inner {
	display: block;
}

.box-card-01__inner:hover {
	text-decoration: none;
}

.box-card-01__content {
	display: block;
	text-align: center;
	position: relative;
}

.box-card-01__image {
	display: block;
	overflow: hidden;
}

.box-card-01__image>span {
	display: block!important;
	padding-bottom: 100%;
	-webkit-transition: all .6s;
	transition: all .6s;
}

.box-card-01__content__detail {
	display: block;
	position: absolute;
	color: var(--color-white);
	top: 45%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	padding: 20px 30px;
	box-sizing: border-box;
	-webkit-transition: all 0.5s ease-in;
	transition: all 0.5s ease-in;
	margin-top: 30px;
}

.box-card-01__title {
	display: block;
	font-size: 3.0rem;
	letter-spacing: 0.28em;
	font-weight: bold;
	margin-bottom: 40px;
}

.box-card-01__title small {
	display: block;
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	font-weight: normal;
}

.box-card-01__text {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	line-height: 32px;
}

.box-card-01__button {
	display: block;
	text-align: center;
	margin-top: -31px;
}

.box-card-01__button .btn {
	width: 305px;
	padding: 24px 80px;
	white-space: nowrap;
}

.box-card-01__icon img {
	width: 45px;
}

.box-card-01__des {
	display: block;
	text-align: left;
	font-size: 1.5rem;
	line-height: 20px;
	margin-top: 40px;
	opacity: 0;
	position: absolute;
	top: 10px;
	left: 0;
	right: 0;
	-webkit-transition: all 0s ease-in-out;
	transition: all 0s ease-in-out;
}

.box-card-01__des span {
	position: absolute;
}

.box-card-01__inner-02 .box-card-01__title {
	font-size: 2.0rem;
	letter-spacing: 0;
	font-weight: normal;
	margin: 25px 0 0;
}

.box-card-01__inner-02 .box-card-01__title small {
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	margin-top: 15px;
}

@media only screen and (min-width: 768px) {
	.box-card-01__image span {
		position: relative;
	}
	.box-card-01__image span:before {
		content: "";
		background: rgba(0, 0, 0, .7);
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		opacity: 0;
		transition: all 0.4s;
	}
	.box-card-01__inner:hover .box-card-01__image>span {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	.box-card-01__inner:hover .btn {
		color: var(--color-white);
		background: var(--color-primary);
	}
	.box-card-01__inner:hover .btn:after {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		visibility: visible;
	}
	.box-card-01__inner:hover .btn--link span:before {
		right: -10px;
	}
	.box-card-01__inner:hover .box-card-01__image span:before {
		opacity: 1;
	}
	.box-card-01__inner:hover .box-card-01__des {
		top: 0;
		opacity: 1;
		position: relative;
		-webkit-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
	}
	.box-card-01__inner:hover .box-card-01__content__detail {
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
		opacity: 1;
		margin-top: 0;
		top: 50%;
	}
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
	.box-card-01 .grid-row {
		margin: 0 -1px 0 0;
	}
	.box-card-01 .grid-row>div {
		margin-bottom: 1px;
		padding: 0 1px 0 0;
	}
	.box-card-01 {
		margin: 0 -15px 25px;
	}
	.box-card-01__title {
		font-size: 1.9rem;
		line-height: 20px;
		margin-bottom: 25px;
	}
	.box-card-01__title small {
		font-size: 1.0rem;
	}
	.box-card-01__text {
		font-size: 1.3rem;
		letter-spacing: 0.1em;
		line-height: 20px;
	}
	.box-card-01__button {
		display: none;
	}
	.box-card-01__inner-02 .box-card-01__title {
		font-size: 1.4rem;
		margin: 15px 0 0;
		line-height: 17px;
	}
	.box-card-01__inner-02 .box-card-01__title small {
		font-size: 1.0rem;
		margin-top: 0;
	}
	.box-card-01__content__detail {
		padding: 20px;
		margin-top: 0;
		top: 50%;
	}
}

.box-card-02 .box-card-01__title {
	font-size: 2.4rem;
	font-weight: normal;
	letter-spacing: 0.06em;
	margin-bottom: 20px;
}

.box-card-02 .box-card-01__text {
	font-size: 1.5rem;
	line-height: 25px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
	.box-card-02 .box-card-01__inner {
		margin-bottom: 12px;
	}
	.box-card-02 .box-card-01__title {
		font-size: 1.9rem;
		line-height: 25px;
	}
	.box-card-02 .box-card-01__text {
		text-align: center;
		font-size: 1.3rem;
		line-height: 20px;
	}
	.box-card-02 .box-card-01__button {
		display: block;
	}
	.box-card-02 .box-card-01__button {
		margin-top: -20px;
	}
	.box-card-02 .box-card-01__button .btn {
		width: 190px;
		padding: 11px 25px;
	}
} */

/*-------------------------*/

.box-col {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 80px;
}

.box-col__text, .box-col__image {
    vertical-align: top;
    box-sizing: border-box;
}

.box-col__image {
    width: 32%;
    /* font-size: 1.8rem; */
}

.box-col__text {
    width: 67.79%;
    padding-left: 40px;
    /* font-size: 1.8rem; */
}

[lang="en"] .box-col__text p {
    /* line-height: 25px; */
    text-align: justify;
}

.box-col__text .txt-note {
    margin-top: 30px;
    font-size: 1.5rem;
    color: var(--color-black);
}

.box-col--direction {
    direction: rtl;
}

.box-col--direction .box-col__image {
    direction: ltr;
}

.box-col--direction .box-col__text {
    direction: ltr;
    padding-right: 40px;
    padding-left: 0;
}

.box-col--direction .box-col__text h4:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 1px) and (max-width: 768px) {
    .box-col {
        margin-bottom: 30px;
    }
    .box-col__text, .box-col__image {
        display: block;
        float: none;
        width: 100%;
    }
    .box-col__text, .box-col--direction .box-col__text {
        padding: 10px 0;
    }
    .box-col__text .txt-note {
        margin-top: 10px;
        font-size: 1.2rem;
    }
    .box-col__image {
        text-align: center;
    }
    .box-col__text p {
        font-size: 1.3rem;
        line-height: 20px;
    }
    .box-col--02__content p {
        font-size: 1.3rem;
        line-height: 20px;
    }
}

/*-------------------------*/

/* box-col--halfã¨åŒã˜ */

.box-col--02 {
    margin: 0 -20px;
    overflow: hidden;
}

.box-col--02__content {
    padding: 0 20px;
    width: 50%;
    box-sizing: border-box;
    float: left;
}

.box-col--02__content p {
    text-align: justify;
    line-height: 25px;
}

.box-col--02__content p.box-col--02__link {
    text-align: left;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-col--02 {
        margin: 0;
    }
    .box-col--02__content {
        float: none;
        width: 100%;
        margin-top: 15px;
        padding: 0;
    }
}

/*------------------------*/

.box-float {
    margin-bottom: 30px;
}

.box-float__image {
    float: left;
    padding: 0 50px 30px 0;
    width: 49%;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .box-float__image {
        width: 100%;
        padding: 0;
        float: none;
        text-align: center;
    }
}

.box-float::after {
    content: "";
    display: block;
    clear: both;
}

.box-float--direction .box-float__image {
    float: right;
    padding: 0 0 30px 50px;
    width: 49%;
}

@media screen and (max-width: 768px) {
    .box-float--direction .box-float__image {
        width: 100%;
        padding: 0;
        float: none;
        text-align: center;
    }
}

.box-float--variable .box-float__image {
    float: right;
    padding: 0 0 30px 50px;
    width: auto;
}

@media screen and (max-width: 1024px) {
    .box-float--variable .box-float__image {
        float: none;
        padding: 0;
    }
}

/*------------------------*/

.lst-media {
    margin-bottom: 100px;
    padding-top: 50px;
}

.lst-media .grid-row>div {
    margin-bottom: 20px;
}

.lst-media__inner {
    display: block;
}

.lst-media__inner:hover {
    text-decoration: none;
}

.box-media {
    text-align: center;
    display: block;
}

.box-media__content {
    background: var(--color-light-gray);
    display: block;
    color: var(--color-black);
}

.box-media__content__ttl {
    font-size: 2.0rem;
    line-height: 1.3333;
    padding: 25px 20px 10px;
    font-weight: bold;
    display: block;
}

.box-media__content__text {
    font-size: 1.5rem;
    padding: 25px 20px 0;
    text-align: left;
    line-height: 20px;
}

.box-media__content__ttl+.box-media__content__text {
    padding-top: 0;
}

.box-media__content__des {
    font-size: 1.5rem;
    margin-bottom: 10px;
    padding: 0 20px;
    display: block;
}

.box-media__content__btn {
    position: relative;
    display: block;
    color: var(--color-primary);
    font-size: 1.5rem;
    padding: 20px;
    z-index: 1;
}

.box-media__content__btn a {
    display: block;
    padding: 5px 0;
}

/*.box-media__content__btn:before{
	content: "";
	left: 0;
	height: 2px;
	bottom: 0;
	right: 0;
	background: var(--color-primary);
	position: absolute;
	z-index: -1;
	-webkit-transition: all .5s;
	transition: all .5s;
}*/

.box-media__thumb {
    overflow: hidden;
    display: block;
}

.box-media__thumb img {
    -webkit-transition: all .6s;
    transition: all .6s;
    width: 100%;
}

.lst-media__inner:hover .box-media__content__btn a {
    text-decoration: none;
}

.lst-media__inner .box-media__content__btn .icon {
    -webkit-transition: all .5s;
    transition: all .5s;
    position: relative;
    right: 0;
}

.box-media--direction {
    direction: ltr;
}

@media only screen and (min-width: 768px) {
    .lst-media__inner:not(.noEffect):hover .box-media__content__btn .icon {
        right: -10px;
    }
    .lst-media__inner:hover .box-media__content__btn:before {
        height: 100%;
    }
    .lst-media__inner:hover .box-media__thumb img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-media {
        margin-bottom: 25px;
        padding-top: 20px;
    }
    .lst-media .grid-row>div {
        margin-bottom: 10px;
    }
    .box-media {
        margin-bottom: 0;
    }
    .box-media__content__ttl {
        font-size: 1.0rem;
        padding: 12px 12px 10px;
    }
    .box-media__content__des {
        font-size: 0.8rem;
        padding: 0 12px;
        margin-bottom: 5px;
        line-height: 10px;
    }
    .box-media__content__btn a {
        padding: 7px 10px;
        font-size: 1.0rem;
        text-align: left;
    }
    .box-media__thumb img {
        width: 100%;
        height: auto;
    }
    .box-media__content__btn:before {
        height: 1px;
    }
    .lst-media__special-01 {
        margin-top: 20px;
    }
    .box-media-01 .box-media__content__ttl {
        font-size: 1.3rem;
        text-align: left;
        font-weight: normal;
    }
    .box-media-01 .box-media__content__btn {
        padding: 0 0 15px;
    }
    .box-media-01 .box-media__content__btn a {
        font-size: 1.0rem;
        padding: 5px 10px;
    }
    .box-media__content__text {
        padding: 15px 10px 0;
    }
    /*-------------------------------------*/
    .lst-media-01 .box-media__content__des {
        line-height: 18px;
    }
}

.box-media--02 .box-media__thumb {
    padding: 0 50px;
    box-sizing: border-box;
}

.box-media--02 .box-media__content__ttl {
    color: var(--color-primary);
}

.box-gray {
    background-color: var(--color-light-gray);
    margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
    .box-gray {
        padding: 20px;
    }
}

.box-gray p {
    font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
    .box-gray p {
        font-size: 1.3rem;
    }
}

.box-banner {
    text-align: center;
}

.box-banner .box-banner__txt {
    display: block;
}
.box-banner__col a:hover {
    opacity: 0.7;
}

/*/info/dl/*/

.box-data {
    text-align: center;
}

.box-data__thumb>img {
    width: 100%;
}

.box-data__content {
    padding: 25px 20px 35px;
}

.box-data__title {
    font-size: 2.0rem;
    color: var(--color-primary);
    font-weight: bold;
    margin-bottom: 10px;
}

.box-data__link {
    margin-bottom: 30px;
}

.box-data__link a {
    display: block;
}

.box-data__button .btn {
    min-width: 160px;
    font-size: 1.2rem;
    display: inline-block;
    width: auto;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-data__content {
        padding: 10px 10px 15px;
    }
    .box-data__title {
        font-size: 1.6rem;
    }
    .box-data__link {
        margin-bottom: 15px;
    }
}

/* è¨˜äº‹ãƒªãƒ³ã‚¯(/sustainability/social/index.html, /sustainability/philanthropy/index.html) */

.box-activities {
    margin-bottom: 50px;
    overflow: hidden;
    padding-bottom: 140px;
}

.box-activities>.grid-row {
    margin: 0;
    overflow: visible;
}

.box-activities .box-activities__wrap {
    padding: 0 0 120px 0;
    position: relative;
    background: var(--color-light-gray);
    border-left: 1px solid var(--color-white);
}

.box-activities .box-activities__wrap:first-child {
    border-left: 0;
}

.box-activities__image span {
    display: block!important;
    padding-bottom: 43.65%;
}

.box-activities__inner {
    max-width: 580px;
    padding: 0 20px;
    margin: -31% auto 0;
}

.box-activities__title {
    font-size: 3.0rem;
    text-align: center;
    color: var(--color-white);
    letter-spacing: 0.14em;
    margin-bottom: 45px;
}

.box-activities__title span {
    font-size: 1.6rem;
    display: block;
    letter-spacing: 0.06em;
}

.box-activities__content {
    display: block;
}

.box-activities__content__image {
    display: block;
    overflow: hidden;
}

.box-activities__content__detail {
    display: block;
    padding: 25px 25px 60px;
    box-sizing: border-box;
    background: var(--color-white);
    position: relative;
}

.box-activities__content__date {
    display: block;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.12em;
    color: var(--color-black);
}

.box-activities__content__title {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    color: var(--color-black);
    margin-bottom: 10px;
}

.box-activities__content__text {
    display: block;
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    color: var(--color-gray);
    margin-bottom: 10px;
}

.btn.box-activities__content__link {
    display: block;
    margin-top: 10px;
    padding: 20px 25px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    color: var(--color-primary)!important;
}

.btn.box-activities__content__link span {
    display: inline-block;
    padding-right: 15px;
}

.box-activities__button {
    text-align: center;
    margin-top: 75px;
    position: absolute;
    bottom: -35px;
    left: 0;
    right: 0;
    margin: auto;
}

.box-activities__button .btn {
    padding: 24px 50px;
}

@media only screen and (min-width: 768px) {
    .box-activities__content a:hover {
        text-decoration: none;
    }
    .box-activities__content__image img {
        width: 100%;
        -webkit-transition: all .6s;
        transition: all .6s;
    }
    .box-activities__content a:hover .btn--link span:before {
        right: -10px;
    }
    .box-activities__content a:hover .box-activities__content__image img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .box-activities__title {
        font-size: 2.4rem;
    }
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-main-image--sustainability {
        background: url(/resource/img/sustainability/index-bg-main01-sp.jpg) no-repeat center;
        background-size: cover;
    }
    .box-activities {
        padding-bottom: 20px;
        margin-bottom: 15px;
    }
    .box-activities__title {
        font-size: 1.9rem;
        line-height: 23px;
        margin-bottom: 10px;
    }
    .box-activities__title span {
        font-size: 0.9rem;
    }
    .box-activities__image span {
        padding-bottom: 48%;
    }
    .box-activities__inner {
        margin-top: -37%;
    }
    .box-activities__content {
        max-width: 280px;
        margin: 0 auto;
        /* padding: 0 45px; */
    }
    .box-activities__content>.grid-row>div {
        margin-bottom: 20px;
    }
    .box-activities__content a {
        display: block;
    }
    .box-activities .box-activities__wrap {
        padding-bottom: 20px;
        border-left: 0;
    }
    .box-activities__content__detail {
        padding: 10px 15px 40px;
    }
    .box-activities__content__date {
        font-size: 1.0rem;
        margin-bottom: 5px;
    }
    .box-activities__content__title {
        font-size: 1.4rem;
    }
    .box-activities__content__text {
        font-size: 0.8rem;
    }
    .btn.box-activities__content__link {
        text-align: left;
        font-size: 1.2rem;
        padding: 10px 15px;
    }
    .box-activities__button {
        position: relative;
        bottom: 0;
        margin-top: 5px;
        padding: 0 20px;
    }
    .box-activities__button .btn {
        font-size: 1.2rem;
        padding: 10px 15px;
    }
}

.box-indent {
    margin-left: 1em;
}
.box-indent--2 {
    margin-left: 2em;
}
.box-indent--3 {
    margin-left: 3em;
}

.box-col--half .box-col__image {
    width: 49%;
}
@media screen and (max-width: 768px) {
    .box-col--half .box-col__image {
        width: 100%;
    }
}
.box-col--half .box-col__text {
    width: 51%;
    padding-left: 40px;
}
@media screen and (max-width: 768px) {
    .box-col--half .box-col__text {
        width: 100%;
        padding-left: 0;
    }
}
.box-col--half.box-col--direction .box-col__text {
    width: 51%;
    padding: 0 40px 0 0;
}
@media screen and (max-width: 768px) {

    .box-col--half.box-col--direction .box-col__text {
        width: 100%;
        padding: 0;
    }
}


/*2-1-3.  Table    [tbl-***]*/

.tbl-base {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--color-table-border);
    font-size: 1.6rem
}

.tbl-base thead th {
    color: var(--color-white);
    background: var(--color-dark-gray);
    padding: 14px;
    border-left: 1px solid var(--color-table-border);
    border-bottom: 1px solid var(--color-table-border);
    text-align: center;
    vertical-align: middle;
}

.tbl-base tbody tr {
    border-bottom: 1px solid var(--color-table-border);
}

.tbl-base tbody td {
    padding: 8px 15px;
    border-left: 1px solid var(--color-table-border);
    vertical-align: middle;
}

.tbl-base tbody th {
    background: var(--color-dark-gray);
    color: var(--color-white);
    writing-mode: lr-tb;
    width: 20px;
    padding: 15px;
    letter-spacing: -0.06em;
    line-height: 1.2;
    box-sizing: border-box;
    vertical-align: middle;
}
.tbl-base tbody th + th {
    border-left: 1px solid var(--color-table-border);
}

/* .tbl-base--02 tbody td:first-of-type {
	width: 36%;
	position: relative;
}

.tbl-base--02 tbody td:last-child {
	width: auto;
	padding: 30px 15px;
	line-height: 1.3333;
} */

.tbl-base sup {
    font-size: 55%;
    vertical-align: super;
}

.tbl-base .box-article__des {
    color: var(--color-white);
}


@media only screen and (min-width: 1px) and (max-width: 1024px) {
    .wrp-table {
        overflow-x: auto;
        padding-bottom: 5px;
    }
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .tbl-base {
        font-size: 1.3rem;
    }
    .tbl-base thead th {
        /* font-size: 1.3rem; */
        padding: 3px;
    }
    .tbl-base tbody td {
        padding: 7px 10px;
        /* font-size: 1.1rem; */
    }
    .tbl-base tbody th {
        width: 25px;
        padding: 5px;
        font-size: 1.2rem;
        /* text-align: center; */
    }
    /* .wrp-table .tbl-base--02 {
		min-width: 728px;
		overflow-x: scroll;
	} */
    .wrp-table .tbl-base--wide {
        min-width: 300%;
    }
    /* .tbl-base--02 tbody td:last-child {
		padding: 13px 10px;
		text-align: center;
	}
	.tbl-base--02 thead th {
		padding: 10px 5px;
		letter-spacing: 0.1em;
		position: relative;
	}
	.tbl-base--02 tbody td:first-of-type:before, .tbl-base--02 thead th:first-child:before {
		content: "";
		width: 1px;
		top: 0;
		bottom: 0;
		right: 2px;
		background: var(--color-table-border);
		position: absolute;
	} */
    .wrp-table::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: #f5f5f5;
    }
    .wrp-table::-webkit-scrollbar {
        height: 5px;
        background-color: #f5f5f5;
    }
    .wrp-table::-webkit-scrollbar-thumb {
        border-radius: 10px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
        background-color: #999;
    }
}

.tbl-base-02 {
    width: 100%;
    border-left: 1px solid var(--color-table-border);
    border-right: 1px solid var(--color-table-border);
    border-bottom: 1px solid var(--color-table-border);
}

.tbl-base-02 tr {
    border-top: 1px solid var(--color-table-border);
}

.tbl-base-02 th, .tbl-base-02 td {
    padding: 8px 15px;
    border-right: 1px solid var(--color-table-border);
}

.tbl-base-02 th {
    background: var(--color-dark-gray);
    color: var(--color-white);
    vertical-align: middle;
    text-align: center;
}

.tbl-base-02 tbody tr th {
    background: var(--color-dark-gray);
    color: var(--color-white);
    vertical-align: middle;
    text-align: left;
}

.tbl-base-02 .tbl-bg-01 {
    background: var(--color-light-gray);
}

.tbl-base-02 .tbl-bg-02 {
    background: #fdf5e3;
}

.tbl-base-02 .tbl-bg-03 {
    background: #f0fff0;
}

.tbl-base-02 .tbl-bg-04 {
    background: #e0effc;
}

.tbl-base-02 thead th.tbl-bg-01 {
    background: var(--color-light-gray);
    color: var(--color-black);
}

.tbl-base-02__special .icon {
    margin-right: 5px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .tbl-base-02 {
        font-size: 1.3rem;
    }
    .tbl-base-02 th{
        font-size: 12px;
        padding: 8px 10px;
    }
    .tbl-base-02 th,
    .tbl-base-02 td{
        padding: 6px 10px;
        font-size: 11px;
    }
    .tbl-base-02 .tbl-bg-01{
        font-size: 11px;
    }
}

.tbl-accessibility--result th {
    width: 30%;
}

.tbl-base .box-article__des {
    color: var(--color-white);
}

.tbl-base-02 .box-article__des {
    color: var(--color-white);
}

.thead-center tr th {
    text-align: center;
}

.thead-left tr th {
    text-align: left;
}

.thead-right tr th {
    text-align: right;
}

.tbody-center tr td {
    text-align: center;
}

.tbody-left tr td {
    text-align: left;
}

.tbody-right tr td {
    text-align: right;
}

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

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

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


@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .tbl-scroll {
        min-width: 1024px;
        overflow-x: scroll;
    }
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .tbl-scroll {
        min-width: 728px;
        overflow-x: scroll;
    }
}

/*2-1-4.  Headings [hdg_lv*]*/

.hdg-lv2 {
    font-size: 3rem;
    font-weight: normal;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 75px 0 35px;
    padding-left: 20px;
    border-left: 3px solid var(--color-primary);
}

@media all and (-ms-high-contrast:none) {
    .hdg-lv2 {
        line-height: normal;
    }
}

.hdg-lv2 small {
    font-size: 1.6rem;
}

/* å°ã•ã„æ–‡å­— */

.hdg-lv2 .txt-fanwood {
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    color: var(--color-gray);
    padding-left: 30px;
}

.hdg-lv2 + .hdg-lv3 {
    margin-top: 20px;
}

.hdg-lv3 {
    font-size: 2.2rem;
    color: var(--color-primary);
    margin: 55px 0 15px;
}

.hdg-lv3 small {
    font-size: 1.5rem;
}

.hdg-lv4 {
    font-size: 2rem;
    margin: 25px 0 15px;
}

.box-link>.hdg-lv4:first-child {
    margin-top: 0;
}

.hdg-lv5 {
    font-size: 1.8rem;
    margin: 25px 0 15px;
    font-weight: normal;
    border-bottom: 1px solid #b2b2b2;
    line-height: 1.666;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .hdg-lv1--02 {
        border-top: 0;
        padding: 42px 15px 15px;
        text-align: left;
        font-size: 2.0rem;
    }
    .hdg-lv2 {
        font-size: 1.9rem;
        margin: 50px 0 20px;
        border-left-width: 2px;
        padding-left: 10px;
    }
    .hdg-lv2 small {
        font-size: 1.2rem;
    }
    .hdg-lv2--01 {
        margin: 30px 0 20px;
    }
    .hdg-lv2 .txt-fanwood {
        display: none;
    }
    .hdg-lv3 {
        font-size: 1.6rem;
        margin: 15px 0 5px;
    }
    .hdg-lv4 {
        font-size: 1.4rem;
        margin: 17px 0 10px;
    }
    .hdg-lv5 {
        font-size: 1.3rem;
        margin: 20px 0 5px;
    }
}

/*2-1-5.  Nav      [nav-***]*/

.nav-link {
    overflow: auto;
}

.nav-link__inner {
    border-bottom: 1px solid #dfdfdf;
    overflow: auto;
    width: 1180px;
}

.nav-link__inner li {
    display: inline-block;
    float: left;
}

.nav-link__inner li a {
    display: block;
    padding: 10px 25px 0;
    color: var(--color-black);
}

.nav-link__inner li a span {
    padding: 0 5px 15px;
    -webkit-transition: border-color .2s ease-in-out;
    transition: border-color .2s ease-in-out;
    position: relative;
    display: block;
}

.nav-link__inner li.is-current a {
    color: var(--color-primary);
}

.nav-link__inner li.is-current a span:before {
    width: 100%;
}

.nav-link__inner li a:hover {
    text-decoration: none;
}

.nav-link__inner li.rsslink a {
    position: relative;
    padding: 10px 15px;
}

.nav-link__inner li.rsslink a span {
    padding-bottom: 0;
}

.nav-link__inner li.rsslink a:hover span {
    color: var(--color-primary);
}

.nav-link__inner li.rsslink a:before {
    content: "";
    position: absolute;
    top: 6px;
    right: 0;
    height: 25px;
    width: 1px;
    border-right: 1px dotted #c7c7c7;
}

.nav-link__inner li.rsslink a:hover {
    border-bottom: 0;
}

.nav-link__inner li.rsslink .icon-gaishi-rss {
    color: #acacac;
}

.nav-link__inner li a span:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 3px;
    background: var(--color-primary);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    transition: width .4s;
}

.nav-link__inner li.rsslink a span:before {
    content: '\f09e';
    font-family: "gaishi";
    display: inline-block;
    position: relative;
    bottom: 0;
    left: 0;
    transform: none;
    transition: none;
    width: 15px;
    height: 15px;
    background: var(--color-white);
}

.nav-link__inner li a:hover span:before {
    width: 100%;
}

.nav-link__inner li.rsslink a:hover span:before {
    width: 15px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .nav-link {
        padding-bottom: 5px;
    }
    .nav-link::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: #f5f5f5;
    }
    .nav-link::-webkit-scrollbar {
        height: 5px;
        background-color: #f5f5f5;
    }
    .nav-link::-webkit-scrollbar-thumb {
        border-radius: 10px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
        background-color: #999;
    }
    .nav-link__inner {
        width: 520px;
    }
    .nav-link__inner li a {
        letter-spacing: -0.04em;
        font-size: 1.1rem;
        padding: 7px 7px 0;
    }
    .nav-link__inner li a span {
        border-bottom-width: 2px;
        padding-bottom: 5px;
    }
    .nav-link__inner li.is-current a span, .nav-link__inner li a:hover span {
        border-bottom-width: 2px;
    }
    .nav-link__inner li.rsslink a {
        padding: 8px 10px 0 5px;
    }
    .nav-link__inner li.rsslink a:before {
        top: 3px;
        height: 20px;
    }
}


/* breadcrumb */

.nav-breadcrumb {
    padding: 15px 50px;
}

.nav-breadcrumb li {
    display: inline-block;
    padding: 0 12px;
    font-size: 1.2rem;
    position: relative;
}

.nav-breadcrumb li:first-child {
    padding-left: 0;
}

.nav-breadcrumb li a {
    color: var(--color-gray);
}

.nav-breadcrumb li:before {
    content: '\f105';
    font-family: 'gaishi' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    right: -6px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.nav-breadcrumb li:last-child:before {
    content: none;
}

@media only screen and (min-width: 1px) and (max-width: 1024px) {
    .nav-breadcrumb {
        display: none;
    }
}

/*2-1-6.  List     [lst-***]*/

.lst-pdf .box-col {
    background: var(--color-white);
    padding: 20px 25px;
    box-sizing: border-box;
    margin-bottom: 45px;
    table-layout: fixed;
}

.lst-pdf .box-col__image {
    font-size: 2.8rem;
    text-align: left;
}

.lst-pdf .box-col__text, .lst-pdf .box-col__image {
    vertical-align: middle;
}

.lst-pdf .box-col__text {
    text-align: center;
    padding-left: 10px;
}

.lst-pdf .box-col__text small {
    display: block;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .lst-pdf .box-col {
        padding: 10px 15px;
    }
    .lst-pdf .box-col__text {
        width: 80%;
        letter-spacing: 0;
    }
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-pdf .box-col {
        display: block;
        padding: 10px;
        text-align: center;
        margin-bottom: 10px;
        line-height: 1.25;
    }
    .lst-pdf .box-col__text, .lst-pdf .box-col__image {
        display: inline;
        width: auto;
    }
    .lst-pdf .box-col__image {
        font-size: 1.4rem;
    }
    .lst-pdf .box-col__text {
        font-size: 1.2rem;
        padding-left: 0;
        letter-spacing: 0;
        line-height: 1.25;
    }
    .lst-pdf .box-col__text small {
        text-align: center;
    }
    .bg-grey .lst-pdf+.hdg-lv2 {
        margin-top: 20px;
    }
}

/*------------------------------------------*/

.lst-link {
    padding-bottom: 20px;
}

.lst-link li {
    border-top: 1px solid #ddd;
    overflow: hidden;
}

.lst-link li:last-child {
    border-bottom: 1px solid #ddd;
}

.lst-link li>a {
    float: left;
    padding: 10px 7px 10px 3px;
    width: 33.3333%;
    box-sizing: border-box;
}

.lst-link li>p>a {
    padding: 10px 3px;
    display: block;
}

.lst-link li>p+p {
    border-top: 1px solid #ddd;
}

.lst-link--02 li>a {
    width: 25%;
    letter-spacing: 0;
    font-size: 1.5rem;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-link li>a, .lst-link li>p {
        display: block;
        width: 100%;
        border-top: 1px solid #ddd;
        padding: 12px 5px;
    }
    .lst-link li {
        border-top: 0;
    }
}

/*-------------------------------*/

.lst-text>li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 15px;
}

.lst-text>li:before {
    content: "";
    width: 11px;
    height: 3px;
    background: var(--color-primary);
    position: absolute;
    left: 0;
    top: 11px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-text>li {
        padding-left: 15px;
        margin-bottom: 5px;
    }
    .lst-text>li:before {
        height: 2px;
        width: 5px;
        top: 11px;
    }
}

/*-------------------------------*/

.lst-dot li {
    padding-left: 1em;
    text-indent: -1em;
}

.lst-dot li:before {
    content: "ãƒ»";
}

.lst-number {
    padding-left: 1.5em;
    counter-reset: section;
}

.lst-number>li {
    margin-bottom: 15px;
    text-indent: -1.3em;
}

.lst-number>li:before {
    counter-increment: section;
    content: counters(section, ".") ".";
    font-weight: bold;
    padding-right: 8px;
    font-size: 1.6rem;
}

.lst-number>li .lst-note01 {
    margin: 10px 0 30px;
}

.lst-number>li .lst-note01>li {
    text-indent: -1em;
    margin: 10px 0 10px 1em;
}

.lst-number>li .lst-text>li {
    padding-left: 25px;
    text-indent: 0;
}

.lst-number--02 {
    padding-left: 2.5em;
}

.lst-number--02>li {
    margin-bottom: 0;
}

.lst-number--02>li:last-child {
    margin-bottom: 15px;
}

.lst-number--s-bracket>li:before {
    content: counters(section, ")") ")";
    padding-right: 5px;
    font-weight: normal;
}

.lst-number--bracket>li:before {
    content: "(" counter(section) ")";
    padding-right: 5px;
    font-weight: normal;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-number {
        padding-left: 1.5em;
    }
    .lst-number>li {
        text-indent: -1.6em;
    }
    .lst-number>li:before {
        font-size: 1.3rem;
        padding-right: 3px;
    }
    .lst-number>li .lst-text>li {
        padding-left: 14px;
        margin-left: 6px;
        text-indent: 0;
    }
    .lst-number--02 {
        padding-left: 2.5em;
    }
}
/*----------------------------------------*/

.lst-note01 li {
    margin: 0 0 0 3.2em;
;
    text-indent: -3.2em;
}

.lst-note02 li {
    margin: 0 0 0 1em;
;
    text-indent: -1em;
}

/*----------------------------------------*/

.lst-article {
    margin-top: 40px;
}

.lst-article .grid-row>div {
    margin-bottom: 40px;
}

.lst-article--01 .grid-row>div {
    margin-bottom: 20px;
}

.lst-article--02 .grid-row>div {
    margin-bottom: 20px;
}

.lst-article--03 {
    margin-top: 0;
}

.lst-article--03 .lst-article__content {
    padding: 5px 25px 55px;
}

.lst-article--03 .lst-article__button .btn {
    padding: 30px 0;
}

.lst-article__inner {
    display: block;
}

.lst-article__image {
    display: block;
    overflow: hidden;
}

.lst-article__image img {
    width: 100%;
}

.lst-article__image--center {
    /* display: block;
	overflow: hidden; */
    position: relative;
    padding-top: 66.5%;
}
.lst-article__image--center span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}


.lst-article__content {
    display: block;
    color: var(--color-black);
    background: var(--color-white);
    padding: 30px 25px 55px;
    position: relative;
}

.lst-article__content--grey {
    background: var(--color-light-gray);
}

.lst-article__title {
    display: block;
    font-size: 2.0rem;
    letter-spacing: 0.06em;
    font-weight: bold;
    /* line-height: 24px; */
    line-height: 2.4rem;
    margin-bottom: 20px;
}


.lst-article--02 .lst-article__title {
    font-weight: normal;
}

.lst-article__title small {
    display: block;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    font-weight: normal;
}

.lst-article__text {
    display: block;
    font-size: 1.5rem;
    margin-bottom: 12px;
    text-align: left;
}

.lst-article__button {
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    line-height: 1;
}

.lst-article__button .btn {
    width: 100%;
    padding: 30px 25px;
    color: var(--color-primary);
}

.lst-article__button .btn:hover {
    color: var(--color-primary);
}

.lst-article__button .btn span {
    padding-right: 15px;
    display: inline-block;
}
.lst-article__button .btn.btn--link-ex span {
    padding-right: 23px;
}

.lst-article__button .icon-external:before {
    content: '\f08e';
    right: -5px;
}

.lst-article__inner--col1 .lst-article__content {
    padding: 30px 25px 60px;
    /* min-height: 385px; */
    /* width: 50%; */
    box-sizing: border-box;
    /* float: right; */
    flex-basis: 50%;
    max-width: 50%;
}

.lst-article__inner--col1 .lst-article__image {
    /* position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding-right: 50%; */
    box-sizing: border-box;
    overflow: hidden;
    flex-basis: 50%;
    max-width: 50%;
}

.lst-article__inner--col1 .lst-article__title small {
    margin-top: 20px;
}

.lst-article__inner--col1 .lst-article__image span {
    display: block!important;
    height: 100%;
}

.lst-article__inner:hover {
    text-decoration: none;
}

.lst-article--04 .lst-article__inner--col1 .lst-article__content {
    height: 126px;
    min-height: auto;
    padding: 0;
}

.lst-article--04 .lst-article__button {
    bottom: 50%;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    /*	height: 100%;*/
}

.lst-article--04 .lst-article__button .btn {
    display: table;
    height: 100%;
    color: var(--color-primary);
}

.lst-article--04 .lst-article__button .btn>span {
    display: table-cell;
    vertical-align: middle;
    line-height: 20px;
}

.lst-article__inner--01 .lst-article__content {
    min-height: 240px;
}

.lst-article__inner--col1.txt-large .lst-article__title {
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 0 0 40px;
    line-height:1.4;
}

/* .lst-article__inner--col1.txt-large .lst-article__image img{
	max-width: none;
	width: auto;
	height: 100%;
} */

.lst-article__inner--col1.txt-large .lst-article__text{
    font-size: 1.6rem;
}

@media only screen and (min-width: 768px) {
    .lst-article__image img {
        -webkit-transition: all .6s;
        transition: all .6s;
    }
    a.lst-article__inner:hover .lst-article__image img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
    .lst-article__inner:hover .lst-article__image img.no-animation {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    .lst-article__no-expand .lst-article__inner:hover .lst-article__image img {
        transform: none;
    }
    a.lst-article__inner:hover .btn:after {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        visibility: visible;
    }
    a.lst-article__inner:hover .btn--link span:before {
        right: -10px;
    }
    a.lst-article__inner:hover .btn--link .icon-external:before {
        right: -10px;
    }
    .lst-article__inner:hover .btn--noeffect {
        background: none;
        color: var(--color-primary);
    }
    .lst-article__inner--col1 {
        overflow: hidden;
        position: relative;
        display: flex;
    }
    .lst-article__inner--col1 .lst-article__image>span {
        -webkit-transition: all .6s;
        transition: all .6s;
    }
    .lst-article__inner--col1:not(.noHover):hover .lst-article__image>span {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
    a.lst-article__inner.noHover .lst-article__image img {
        transition: none;
    }
    a.lst-article__inner.noHover:hover .lst-article__image img {
        transform: none;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
    .lst-article__inner--col1.txt-large .lst-article__title {
        font-size: 2rem;
        margin: 0 0 20px;
        line-height: 2.4rem;
    }
    .lst-article__inner--col1.txt-large .lst-article__text{
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .lst-article__inner--col1 .lst-article__content {
        min-height: auto;
        padding: 30px 25px 50px;
    }

}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-article .grid-row>div {
        margin-bottom: 10px;
        padding: 0 5px;
    }
    .lst-article .grid-row .grid-col--12 {
        margin-bottom: 20px;
    }
    .lst-article--02 .grid-row>div {
        margin-bottom: 10px;
    }
    .lst-article--03 .grid-row>div {
        margin-bottom: 0;
    }
    .lst-article__title {
        font-size: 1.4rem;
        line-height: 15px;
        margin-bottom: 10px;
    }
    .lst-article__content {
        padding: 20px 15px 35px;
    }
    .lst-article__title small {
        font-size: 1.0rem;
    }
    .lst-article__text {
        font-size: 1.0rem;
        line-height: 15px;
        margin-bottom: 5px;
    }
    .lst-article__button {
        position: relative;
        line-height: initial;
    }
    .lst-article__button .btn {
        font-size: 1.0rem;
        text-align: left;
        padding: 10px 0 0;
    }
    .lst-article__button .btn span {
        padding-right: 10px;
    }
    .lst-article__button .btn.btn--link-ex span {
        padding-right: 16px;
    }
    .lst-article__inner--col1 .lst-article__image {
        position: relative;
        padding-right: 0;
        flex-basis: 100%;
        max-width: 100%;
    }
    .lst-article__inner--col1 .lst-article__image>span {
        background: none;
    }
    .lst-article__inner--col1 .lst-article__image>span img {
        display: block!important;
        max-width: 100%;
    }
    .lst-article__inner--col1 .lst-article__content {
        width: 100%;
        padding: 20px 15px 5px;
        min-height: auto;
        flex-basis: 100%;
        max-width: 100%;
    }
    .lst-article__inner--col1 .lst-article__title small {
        margin-top: 0;
    }
    .lst-article--03 .lst-article__content {
        padding: 0;
    }
    .lst-article--03 .lst-article__button .btn {
        padding: 5px 0 0;
        font-size: 1.1rem;
    }
    .lst-article--04 .lst-article__inner--col1 .lst-article__content {
        height: 70px;
    }
    .lst-article--04 .lst-article__button {
        bottom: 0;
        -webkit-transform: translateY(50%);
        transform: translateY(50%);
    }
    .lst-article--04 .lst-article__button .btn {
        padding: 0 10px;
    }

    .lst-article__inner--col1.txt-large .lst-article__title {
        font-size: 1.4rem;
        line-height: 15px;
        margin: 0 0 10px;
    }

    .lst-article__inner--col1.txt-large .lst-article__text{
        font-size: 1.0rem;
        line-height: 15px;
        margin-bottom: 5px;
    }
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
    .lst-article__inner--col1 .lst-article__content {
        min-height: auto;
    }
}

@media only screen and (min-width: 1px) and (max-width: 1024px) and (-ms-high-contrast:none) {
    *::-ms-backdrop, .lst-article__button {
        line-height: 1;
    }
}

.lst-text {
    margin: 10px 0;
}
.lst-text-02 {
    margin: 15px 0;
}
.lst-text-02 > li{
    margin-bottom: 25px;
}
.lst-text-02__title{
    position: relative;
    padding-left: 22px;
    margin-bottom: 3px;
    font-size: 18px;
    font-weight: bold;
}
.lst-text-02__title:before{
    content: "";
    width: 11px;
    height: 3px;
    background: var(--color-primary);
    position: absolute;
    left: 0;
    top: 45%;
}
.lst-text-02__text{
    padding-left: 22px;
}
@media only screen and (min-width: 1px) and (max-width: 767px){
    .lst-text-02__title{
        padding-left: 15px;
        font-size: 16px;
    }
    .lst-text-02__title:before{
        height: 2px;
        width: 5px;
    }
    .lst-text-02__text{
        padding-left: 15px;
    }
}


/*----------------------------------------*/

.dl-base dd {
    padding-left: 20px;
}

.dl-base.dl-base02 dd {
    padding-left: 0;
}

.dl-base dt .lst-text>li:last-child {
    margin-bottom: 0;
}

.dl-base dt {
    margin-top: 15px;
    margin-bottom: 12px;
    font-weight: bold;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .dl-base dt {
        margin-bottom: 10px;
    }
    .dl-base dd {
        padding-left: 10px;
    }
    .dl-base.dl-base02 dd {
        padding-left: 0;
    }
}

.lst-step {
    margin: 100px 0;
}

.lst-step__inner {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.lst-step__inner li {
    display: table-cell;
    width: 33.33333%;
    vertical-align: middle;
    text-align: center;
    border: 1px solid var(--color-primary);
    border-left: 0;
    border-right: 1px solid var(--color-primary);
    box-sizing: border-box;
    color: var(--color-primary);
    position: relative;
}

.lst-step__inner li span {
    font-size: 1.5rem;
    display: block;
    padding: 12px 15px;
}

.lst-step__inner li.is-current {
    background: var(--color-primary);
    color: var(--color-white);
}

.lst-step__inner li:before {
    content: "";
    width: 0;
    height: 0;
    border-top: 26px solid transparent;
    border-left: 16px solid var(--color-white);
    border-bottom: 26px solid transparent;
    position: absolute;
    z-index: 1;
    right: -15px;
    top: -1px;
}


.lst-step__inner li:after {
    content: "";
    width: 0;
    height: 0;
    border-top: 26px solid transparent;
    border-left: 16px solid var(--color-primary);
    border-bottom: 26px solid transparent;
    position: absolute;
    right: -16px;
    top: -1px;
}


.lst-step__inner li.is-current:before {
    content: none;
}

.lst-step__inner li:first-child {
    border-left: 1px solid var(--color-primary);
}

.lst-step__inner li:nth-child(3):before, .lst-step__inner li:nth-child(3):after {
    content: none;
}

@media only screen and (max-width: 767px) {
    [lang="en"] .lst-step__inner li:before {
        content: none;
    }
    [lang="en"] .lst-step__inner li:after {
        content: none;
    }

}

/*2-1-7.  Button   [btn-***]*/

.btn {
    display: inline-block;
    padding: 20px 30px;
    background: var(--color-primary);
    color: var(--color-white);
    position: relative;
    min-width: 228px;
    max-width: 100%;
    -webkit-transition: all .3s;
    transition: all .3s;
    font-size: 1.6rem;
    box-sizing: border-box;
    overflow: hidden;
    text-align: left;
}

.btn:hover, .btn:focus {
    color: var(--color-white);
    text-decoration: none;
}

.btn span {
    position: relative;
    z-index: 1;
    display: inline-block;
}

.btn:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-primary);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    visibility: hidden;
    -webkit-transition: all .4s;
    transition: all .4s;
}

.btn:hover:after, .btn:focus:after {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}

.btn--link span {
    display: block;
    padding-right: 22px;
}

.btn--link span:before {
    content: '\f105';
    position: absolute;
    right: 0;
    font-family: 'gaishi' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .4s;
    transition: all .4s;
}
.btn--link.btn--link-ex span:before {
    content: '\f08e';
}

.btn--link:hover span:before {
    right: -10px;
}

.btn--white {
    background: var(--color-white);
    color: var(--color-primary);
}

.btn--gray {
    background: var(--color-light-gray);
    color: var(--color-primary);
}

.btn--noeffect {
    background: none
}

.btn--noeffect:after {
    content: none;
}

.btn--back span:before {
    content: '\f104';
    right: auto!important;
    left: 0;
}

.btn--back:hover span:before {
    left: -10px;
}

.btn--link.js-mh-item {
    display: table;
}

.btn--link.js-mh-item>span {
    display: table-cell;
    vertical-align: middle;
}

.lst-button__inner-wrp .btn--link {
    overflow: initial;
}

.lst-button__inner-wrp {
    overflow: hidden;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .btn {
        font-size: 1.3rem;
        padding: 10px 45px;
        text-align: center;
        min-width: auto;
        width: 100%;
    }
    .btn--link span:before {
        line-height: 8px;
    }
    .btn--back span {
        text-align: center;
        padding-right: 0;
    }
}

/*---------------------*/

.btn--primary {
    background: var(--color-dark-gray);
    font-size: 1.4rem;
    padding: 13px 40px 13px 30px;
    width: 380px;
    min-width: auto;
    max-width: 100%;
}

.btn--primary.btn--link span:before {
    right: -15px;
}

.btn--primary:hover, .btn--primary:focus {
    background: #536d7e;
}

.btn--primary:hover.btn--link span:before {
    right: -23px;
}

.btn--primary.btn--link:after {
    background: #536d7e;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .btn--primary {
        text-align: left;
        font-size: 1.3rem;
        padding: 10px 15px;
        width: 100%;
    }
    .btn--primary.btn--link span:before {
        right: 0;
    }
    .btn--primary:hover.btn--link span:before {
        right: -5px;
    }
}

/*-------------------*/

.btn--second {
    background: var(--color-white);
    color: var(--color-black);
    text-align: center;
    font-size: 1.8rem;
    min-width: 580px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 20px 20px;
}

.btn--second:hover {
    color: var(--color-white);
}

.btn--second span {
    display: inline-block;
}

.btn--second--02 {
    background: var(--color-primary);
    color: var(--color-white);
    text-align: left;
    font-family: "Hiragino Kaku Gothic Pro", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "ãƒ¡ã‚¤ãƒªã‚ª", "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", sans-serif;
}

.btn--second--02>span {
    display: block;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .btn--second {
        font-size: 1.3rem;
        min-width: 1%;
        width: auto;
        padding: 12px 15px;
        text-align: center;
        display: block;
    }
    .btn--second span {
        display: inline;
    }
    .btn--second .icon-gaishi-download {
        position: absolute;
        right: 10px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .btn--second--02 {
        text-align: left;
    }
    .btn--second--02>span {
        display: block;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .btn--second {
        font-size: 1.5rem;
    }
    [lang="en"] .btn--second {
        font-size: 1.3rem;
    }
}

/*-------------------*/

.btn--third {
    background: var(--color-white);
    border: 1px solid var(--color-dark-gray);
    color: var(--color-dark-gray);
    text-align: center;
    width: auto;
    min-width: 280px;
}

.btn--third:hover {
    color: var(--color-white);
}

.btn--third span:before {
    content: '\f104';
    position: absolute;
    left: -20px;
    font-family: 'gaishi' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .3s;
    transition: all .3s;
}

.btn--third:hover span:before {
    left: -30px;
}

.btn--third02 {
    background: var(--color-dark-gray);
    color: var(--color-white);
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .btn--third {
        text-align: center;
        width: 100%;
        min-width: 1px;
    }
}

/*----------------------------*/

.btn-more {
    background: none;
    color: var(--color-primary);
    background-color: var(--color-white);
    text-align: left;
    display: inline-block;
    padding: 18px 50px;
    position: relative;
    max-width: 100%;
    -webkit-transition: all .3s;
    transition: all .3s;
    font-size: 1.5rem;
    box-sizing: border-box;
    overflow: hidden;
}

.btn-more:hover {
    text-decoration: none;
    color: var(--color-white);
}

.btn-more .icon {
    float: right;
}

.btn-more span.btn-more-text {
    display: inline-block;
    position: relative;
    z-index: 1;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .btn-more {
        padding: 10px 15px;
    }
}

/*-------------------*/

.btn [class^="icon-"], .btn [class*=" icon-"] {
    margin-right: 5px;
}

.btn--large {
    font-size: 1.6rem;
    padding: 16px 30px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .btn--large {
        font-size: 1.3rem;
        padding: 10px 20px 10px 15px;
        text-align: left;
    }
}

/*-------------------*/

.btn--back {
    background: var(--color-white);
    border: none;
    border-bottom: 1px solid var(--color-primary);
    color: var(--color-primary);
    text-align: center;
    width: auto;
    min-width: 380px;
    padding: 15px 50px;
}
.btn--back:hover {
    color: var(--color-white);
}
.btn--back span{
    display: block;
}
.btn--back span:before {
    content: '\f104';
    position: absolute;
    left: -20px;
    font-family: 'gaishi' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .3s;
    transition: all .3s;
}
.btn--back:hover span:before {
    left: -30px;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .btn--back {
        width: auto;
        min-width: 300px;
    }
    .btn--third {
        text-align: center;
        width: 100%;
        min-width: 1px;
    }
}

.btn--border {
    border: 1px solid var(--color-primary);
}
.btn--disable {
    pointer-events: none;
    background: var(--color-disable);
}

/*2-1-8.  Anchor   [acr-***]*/

.acr-type01 {
    position: relative;
    padding-left: 15px;
}

.acr-type01:before {
    content: '\f105';
    font-family: 'gaishi';
    display: inline-block;
    position: absolute;
    top: 2px;
    left: 0;
    line-height: 1;
    font-size: 1.2rem;
}

@media all and (-ms-high-contrast:none) {
    *::-ms-backdrop, .acr-type01:before {
        top: 1px;
    }
}

.acr-type02 {
    text-decoration: underline;
}

.acr-type02:hover {
    text-decoration: none;
}

/*2-1-9.  Text     [txt-***]*/

.txt-red {
    color: var(--color-caution);
}
a.txt-red:hover {
    color: var(--color-caution);
}

.txt-blue {
    color: var(--color-primary);
}

.txt-black {
    color: var(--color-black)!important;
}

.txt-bold {
    font-weight: bold!important;
}

.txt-normal {
    font-weight: normal!important;
}

.txt-lead {
    font-size: 1.6rem;
    padding: 25px 0;
}

.txt-head {
    text-align: center;
    left: 2.142;
}

.txt-rotobo {
    font-family: 'Roboto Condensed', sans-serif;
}

.txt-fanwood {
    font-family: 'Fanwood Text', serif;
    font-style: italic;
}

.txt-note,
.txt-note--nomark {
    color: var(--color-gray);
    font-size: 1.2rem;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.33;
    margin-top: 10px;
}

.txt-note:before, .txt-note-01:before {
    content: "â€»";
}
[lang="en"] .txt-note:before, .txt-note-01:before {
    content: "*";
    padding: 4px;
}

.txt-note-01 {
    font-size: 1.2rem;
    color: var(--color-black);
    text-align: right;
    margin-top: 15px;
    text-indent: -1em;
    padding-left: 1em;
}

.txt-paragraph {
    margin-bottom: 25px;
}

.txt-small {
    font-size: 1.4rem;
}
.txt-indent {
    text-indent: 1em;
}
.txt-indent-all p {
    text-indent: 1em;
}
.txt-indent-all p.txt-indent-none{
    /*1å­—ä¸‹ã’ã‚’ã‚­ãƒ£ãƒ³ã‚»ãƒ«*/
    text-indent: 0;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .txt-note,
    .txt-note--nomark {
        font-size: 1.0rem;
    }
    .txt-paragraph {
        margin-bottom: 15px;
    }
    .txt-note-01 {
        text-align: left;
        font-size: 1.0rem;
        line-height: 14px;
    }
    .txt--small {
        font-size: 1.3rem;
    }
    .txt-head {
        text-align: left;
        line-height: 1.53;
    }
    .txt-lead {
        font-size: 1.4rem;
        padding: 25px 0;
    }
}

/*2-1-10. Icon     [icn-***]*/

.icon-menu, .icon-menu span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    box-sizing: border-box;
}

.icon-menu {
    position: relative;
    width: 16px;
    height: 12px;
}

.icon-menu span {
    position: absolute;
    width: 100%;
    left: 0;
    width: 16px;
    height: 2px;
    background: var(--color-primary);
}

.icon-menu span:nth-of-type(1) {
    top: 0;
}

.icon-menu span:nth-of-type(2) {
    top: 5px;
}

.icon-menu span:nth-of-type(3) {
    bottom: 0;
}

@media only screen and (max-width: 1024px) {
    .icon-menu {
        position: relative;
        width: 13px;
        height: 11px;
    }
    .icon-menu span {
        width: 13px;
        height: 1px;
    }
    .icon-menu span:nth-of-type(2) {
        top: 5px;
    }
}

/*2-1-11. Label    [lbl-***]*/

label {
    cursor: default;
}

.lbl {
    display: inline-block;
    font-size: 1.2rem;
    color: var(--color-black);
    letter-spacing: 0;
    padding: 5px 10px;
    border: 1px solid var(--color-border);
    width: 155px;
    text-align: center;
    box-sizing: border-box;
    margin-right: 5px;
    margin-bottom: 10px;
}

.lbl-process {
    width: 200px;
}

[lang="zh-cmn-Hans"] .lbl, [lang="en"] .lbl {
    width: auto;
    min-width: 120px;
}
[lang="zh-cmn-Hans"] .lbl-process, [lang="en"] .lbl-process {
    width: auto;
    min-width: 120px;
}

.lbl--small {
    width: 90px;
}

.lbl--blue {
    background: var(--color-primary);
    color: var(--color-white);
}

.lbl--green {
    background: var(--color-lbl-green);
    color: var(--color-white);
}

.lbl--green__2 {
    background: var(--color-green);
    color: var(--color-white);
}

.lbl--yellow {
    background: var(--color-lbl-yellow);
    color: var(--color-white);
}

.lbl--special {
    letter-spacing: 2em;
    text-indent: 2em;
}

[lang="zh-cmn-Hans"] .lbl--special, [lang="en"] .lbl--special {
    letter-spacing: 0;
    text-indent: 0;
}

.lst-label {
    margin-bottom: 5px;
}

.lst-label div {
    display: inline-block;
}

/*-----------------------------*/

.lbl--scholarship {
    color: var(--color-white);
    background: var(--color-lbl-green);
    border: 0;
}

.lbl--house {
    color: var(--color-white);
    background: #333da1;
    border: 0;
}

.lbl--obog {
    color: var(--color-white);
    background: #9f56ac;
    border: 0;
}

.lbl--ngk {
    color: var(--color-white);
    background: var(--color-primary);
    border: 0;
}

.lbl--local {
    color: var(--color-white);
    background: var(--color-green);
    border: 0;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lbl {
        font-size: 1.0rem;
        padding: 2px 0;
        width: 105px;
        margin-right: 0;
        margin-bottom: 5px;
    }
    .lbl-process {
        width: 140px;
    }
    .lbl--small {
        width: 60px;
    }
    .lbl--special {
        writing-mode: 50px;
        letter-spacing: 0;
        text-indent: 0;
        width: 50px;
    }
    .lst-label {
        margin-bottom: 0;
    }
}

/*2-1-12. Form     [frm-***]*/

.lbl-required {
    display: inline-block;
    color: var(--color-white);
    font-size: 1.2rem;
    background: #b32c2c;
    padding: 4px 9px;
    border-radius: 3px;
    line-height: 1.7;
    margin-left: 10px;
}

form .btn--disable {
    pointer-events: none;
    background: var(--color-border);
}

.form-contact {
    margin-top: 90px;
}

.form-contact__des {
    margin-bottom: 30px;
    font-size: 1.5rem;
}

.wrp-form__inner {
    /* padding: 25px 0 35px; */
    background: #f6f7f9;
}

.frm-row label {
    cursor: pointer;
}

.frm-row {
    border-bottom: 1px dotted var(--color-border);
    display: table;
    width: 100%;
    table-layout: fixed;
    padding: 0 45px;
    box-sizing: border-box;
}

.frm-row.form-contact__special .frm-title {
    vertical-align: top;
}

.frm-row.form-contact__special .frm-content {
    padding-right: 0;
}

.frm-row:last-child {
    border-bottom: 0;
}

.frm-title {
    padding: 32px 68px 25px 0;
    width: 23.5%;
    box-sizing: border-box;
    font-size: 1.5rem;
    position: relative;
    font-weight: bold;
    display: table-cell;
}

[lang="en"] .frm-title {
    width: 30%;
    padding: 32px 76px 25px 0;
}

@media only screen and (max-width: 767px) {
    [lang="en"] .frm-title {
        width: 100%;
        padding: 15px 20px 5px;
    }
}

legend.frm-title {
    float: left;
}

.frm-title .txt-small {
    display: block;
    font-size: 1.1rem;
    color: #666;
    margin-top: 5px;
    line-height: 14px;
}

.frm-title .lbl-required {
    position: absolute;
    right: 0;
    top: 31px;
}

.frm-content {
    padding: 25px 20px 20px;
    vertical-align: middle;
    box-sizing: border-box;
    display: table-cell;
    width: 76.5%;
}

[lang="en"] .frm-content {
    width: 70%;
}

@media only screen and (max-width: 767px) {
    [lang="en"] .frm-content {
        width: 100%;
    }
}

fieldset.frm-row .frm-content {
    float: left;
}

.frm-content.frm-content__phone {
    padding: 25px 25px 30px;
}

.frmField__note {
    display: block;
    font-size: 1.2rem;
    margin: 7px 0;
}

.frmField .errormsg {
    display: block;
    font-size: 1.5rem;
    margin-top: 5px;
    color: #b32c2c;
}

.frmField {
    padding-bottom: 5px;
}

.frmField input:focus, .frmField textarea:focus {
    border: 1px solid #1b9ece;
}

.frmField {
    padding-bottom: 0;
}

.formError {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    color: #b32c2c;
    margin-top: 5px!important;
}

.frmField .frm-input {
    width: 350px;
    padding: 8px;
    vertical-align: middle;
    border: 1px solid #e7e9ee;
}

.frmField .frm-input--sm {
    width: 95px;
    vertical-align: middle;
}

.frmField .frm-input--lg {
    width: 480px;
    max-width: 100%;
    vertical-align: middle;
}



.frm-content #postal-code, .frm-content #postal-code02 {
    /*width: 150px;*/
}

.frm-content textarea {
    width: 670px;
    max-width: 100%;
    padding: 9px;
    box-sizing: border-box;
    height: 200px;
    border: 1px solid #e7e9ee;
}

.box-street .frm-input--sm {
    margin: 0 5px;
}

.box-street .frm-input--sm:first-child {
    margin: 0 5px 0 0;
}

.box-street__button {
    padding: 9px 32px;
    color: var(--color-white);
    font-size: 1.5rem;
    background: var(--color-dark-gray);
    margin-left: 5px;
}

@media only screen and (min-width: 768px) {
    .box-street__button:hover {
        opacity: .7;
    }
}

.frmField__checkbox__label {
    font-size: 1.6rem;
}

.frmField__checkbox {
    margin-bottom: -20px;
}

.frmField__checkbox__item {
    display: inline-block;
    font-size: 1.5rem;
    position: relative;
    margin: 0 20px 10px 0;
}
.frmField__checkbox input[type="checkbox"] {
    visibility: visible;
    width: 1px;
    height: 1px;
    opacity: 0;
    position: absolute;
    left: 18px;
    top: 16px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .frmField__checkbox input[type="checkbox"] {
        top: 14px;
        left: 12px;
    }
}

.frmField__checkbox input[type="checkbox"]+span {
    position: relative;
    top: 0;
    left: 0;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    margin-bottom: 2px;
    display: inline-block;
    border: 1px solid var(--color-gray);
    box-sizing: border-box;
    vertical-align: middle;
    border-radius: 3px;
}

.frmField__checkbox input[type="checkbox"]:checked+span {
    border: 1px solid var(--color-primary);
}

.frmField__checkbox input[type="checkbox"]:focus+span {
    box-shadow: 0 0 4px var(--color-primary), 0 0 8px;
}

.frmField__checkbox input[type="checkbox"]:checked+span:before {
    font-family: "gaishi";
    content: '\e80a';
    position: absolute;
    top: -2px;
    left: 1px;
    font-size: 1.2rem;
    color: var(--color-primary);
}

.frmField__radio {
    margin-bottom: -20px;
}

.frmField__radio__item {
    display: inline-block;
    font-size: 1.5rem;
    position: relative;
    margin: 0 20px 10px 0;

}

.frmField__radio input[type="radio"] {
    visibility: visible;
    width: 1px;
    height: 1px;
    opacity: 0;
    position: absolute;
    left: 18px;
    top: 16px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .frmField__radio input[type="radio"] {
        top: 14px;
        left: 12px;
    }
}

.frmField__radio .frmField__radio__label {
    font-size: 1.6rem;
}

.frmField__radio .frmField__radio__label span {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid var(--color-gray);
    position: relative;
    margin-right: 5px;
    top: 0;
    box-sizing: border-box;
    vertical-align: middle;
}

.frmField__radio input[type="radio"]:checked+span {
    border: 2px solid var(--color-primary);
}

.frmField__radio input[type="radio"]:checked+span:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
    background: var(--color-primary);
    border-radius: 50%;
}

.frmField__radio input[type="radio"]:focus+span {
    box-shadow: 0 0 4px var(--color-primary), 0 0 8px;
}

.frmField__select__inner {
    position: relative;
    display: inline-block;
    width: 480px;
}

.frmField__select__inner:after {
    content: '\f107';
    font-family: "gaishi";
    font-size: 1.6rem;
    line-height: 0;
    color: var(--color-primary);
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
}
/*
.frm-content select {
    width: 100%;
    padding: 11px 40px 11px 8px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
*/
.frm-content select::-ms-expand {
    /*display: none;*/
}

.frmField__note2 {
    margin: 30px 0 20px;
}

.frm-textarea {
    width: 670px;
    max-width: 100%;
    padding: 9px;
    box-sizing: border-box;
    height: 200px;
    border: 1px solid #e7e9ee;
}

.box-agree {
    padding: 45px 0;
    background: var(--color-white);
    text-align: center;
}

.box-agree__title {
    margin-bottom: 27px;
}

.box-agree__link {
    margin-bottom: 37px;
}

.box-agree__link a {
    color: #1783ab;
}

.btn-group {
    margin: 60px 0 100px;
}

.btn-group li {
    display: inline-block;
    margin: 0 15px;
}

.btn-group .btn-submit {
    color: var(--color-white);
    background: #00597f;
    padding: 14px 20px;
    border-radius: 45px;
    font-size: 1.5rem;
    min-width: 310px;
}

.btn-group .btn-submit:hover {
    opacity: .7;
}

.btn-group .btn-back {
    color: #000;
    background: var(--color-white);
    padding: 14px 20px;
    border-radius: 45px;
    font-size: 1.5rem;
    min-width: 310px;
    border: 1px solid #909496;
}

.btn-group .btn-back:hover {
    opacity: .7;
}



.form-contact__note {
    border: 1px solid #e7e9ee;
    padding: 10px 10px 10px 25px;
    box-sizing: border-box;
    height: 310px;
}

.form-contact__note__inner {
    height: 285px;
    overflow-y: scroll;
    font-size: 1.5rem;
}

.form-contact__note__inner p {
    line-height: 25px;
}

.form-contact__note__title {
    font-weight: bold;
    margin-bottom: 10px;
    padding-top: 15px;
}

.lst-note-form {
    padding-right: 40px;
}

.lst-note-form li {
    line-height: 25px;
}

/*
.form-contact__note__inner::-webkit-scrollbar {
	width: 4px;
}
.form-contact__note__inner::-webkit-scrollbar-thumb {
	background: var(--color-border);
}
*/

.formErrorContent, .formErrorContentFromBackend {
    padding-top: 3px;
    font-size: 1.2rem;
    color: #b32c2c;
}

.form-contact .btn-disabled {
    background: #f5f5f2;
    color: #d1d1d1;
    cursor: default;
}

.frmField__zipcode span {
    display: inline-block;
    padding-right: 5px;
    vertical-align: middle;
}

.frmField .inputbox-error {
    border: 1px solid #da9f9f;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .form-contact {
        margin-top: 50px;
    }
    .form-contact__des {
        font-size: 1.3rem;
    }
    .wrp-form__inner {
        margin: 0 -20px;
        padding: 0;
        box-sizing: border-box;
    }
    .wrp-form__note {
        padding: 0 20px 25px;
        margin-bottom: 0;
    }
    .frm-row {
        padding: 0;
    }
    .frm-title {
        display: block;
        width: 100%;
        padding: 15px 20px 5px;
        color: #222;
    }
    .frm-content {
        display: block;
        padding: 0 20px;
        width: 100%;
    }
    .frm-content:last-child {
        padding: 0 20px 20px;
    }
    .frmField .frm-input, .frmField .frm-input--lg {
        min-width: auto;
        width: 100%;
        padding: 8px;
        box-sizing: border-box;
    }
    .frm-content input[type="text"], .frm-content input[type="tel"], .frm-content input[type="number"], .frm-content input[type="url"], .frm-content input[type="email"], .frm-content select {
        min-width: auto;
        width: 100%;
        padding: 8px;
        box-sizing: border-box;
    }
    .frm-content #postal-code, .frm-content #postal-code02 {
        width: 110px;
    }
    .frm-content textarea {
        width: 100%;
        height: 100px;
    }
    .frmField .frm-input--sm {
        width: 70px;
    }
    .lbl-required {
        font-size: 1.0rem;
        padding: 0 3px;
        line-height: 14px;
        margin-left: 5px;
    }
    .frmField {
        padding-bottom: 15px;
    }
    .frmField__note {
        font-size: 1.0rem;
        line-height: 14px;
    }
    .frm-content.frm-content__phone {
        padding: 0 20px 10px;
    }
    .frmField__radio {
        margin-top: 10px;
        margin-bottom: -5px;
    }
    .frmField__radio__label {
        font-size: 1.6rem;
    }
    .frmField__radio__item {
        display: block;
        margin-bottom: 5px;
    }
    .frmField__radio__item:last-child {
        margin-bottom: 0;
    }
    .frmField__note2 {
        margin: 17px 0;
        line-height: 14px;
    }
    .frm-textarea {
        height: 100px;
    }
    .frmField__radio .frmField__radio__label {
        font-size: 1.3rem;
    }
    .frmField__radio .frmField__radio__label span {
        width: 16px;
        height: 16px;
    }
    .frmField__radio input[type="radio"]:checked+span:before {
        width: 6px;
        height: 6px;
    }
    .box-agree {
        padding: 20px 0 25px;
    }
    .box-agree__title {
        line-height: 19px;
    }
    .box-agree__link {
        margin-bottom: 25px;
    }
    .btn-group {
        margin: 20px 0;
    }
    .btn-group li {
        display: block;
        margin: 0;
    }
    .btn-group #btnSubmit span {
        padding-right: 10px;
    }
    .btn-group .btn-back {
        font-size: 1.2rem;
        min-width: 200px;
        padding: 7px 10px;
        margin-bottom: 10px;
    }
    .frm-title .lbl-required {
        position: relative;
        top: -2px;
        transform: none;
    }
    .box-street__button {
        margin: 10px 0 0 0;
        padding: 5px 25px;
    }
    .frmField__checkbox {
        margin-top: 10px;
        margin-bottom: -5px;
    }
    .frmField__checkbox__item {
        display: block;
        margin-bottom: 5px;
    }
    .frmField__checkbox__item:last-child {
        margin-bottom: 0;
    }
    .frmField__checkbox__label {
        font-size: 1.3rem;
    }
    .frmField__checkbox input[type="checkbox"]+span {
        width: 14px;
        height: 14px;
    }
    .frmField__checkbox input[type="checkbox"]:checked+span:before {
        font-size: 1rem;
    }
    .frm-content select {
        padding: 11px 40px 10px 8px;
    }
    .frmField__select__inner {
        width: 100%;
    }
    .frm-row.form-contact__special td {
        padding-right: 20px;
    }
    .form-contact__note__inner {
        font-size: 1.3rem;
        line-height: 1.666666666;
    }
    .lst-note-form {
        padding-right: 0;
    }
    .form-contact__note__inner p {
        line-height: 1.66666;
    }
    .frmField .errormsg {
        font-size: 1.1rem;
    }
    .frmField.formError {
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 1024px) {
    #l-container.l-container--form {
        padding-top: 50px;
    }
}

.form-contact__more__check {
    margin-top: 30px;
}

.form-contact__more__check fieldset {
    padding: 0;
}

.form-contact__more__check .frmField__checkbox__label {
    cursor: pointer;
    position: relative;
}

.form-contact__more__check .frmField__checkbox__label input[type="checkbox"] {
    left: 8px;
    top: 12px;
}

.form-contact__more__check .frmField {
    margin-bottom: 0;
}

.form-contact__more__check .frmField__checkbox li {
    margin-right: 10px;
    display: block;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .form-contact__more__check {
        margin-top: 15px;
    }
    .form-contact__more__check .frmField__checkbox li {
        margin-right: 0;
    }
}

.frm-check {
    padding: 25px 45px 35px;
}

.frm-check dl {
    display: flex;
    flex-wrap: wrap;
    font-size: 15px;
}

.frm-check dt {
    padding: 32px 55px 25px 0;
    width: 23.5%;
    box-sizing: border-box;
    position: relative;
    font-weight: bold;
    border-bottom: 1px dotted var(--color-border);
    display: flex;
    align-items: center;
}

.frm-check dt.no-border {
    border-bottom: none
}

.frm-check dd {
    width: 76.5%;
    padding: 25px 20px 20px;
    box-sizing: border-box;
    border-bottom: 1px dotted var(--color-border);
    display: flex;
    align-items: center;
}

.frm-check dd.no-border {
    border-bottom: none
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .frm-check {
        padding: 0;
    }
    .frm-check dl {
        flex-direction: column;
    }
    .frm-check dt {
        padding: 15px 20px 5px;
        width: 100%;
        border-bottom: none;
    }
    .frm-check dd {
        padding: 0 20px 20px;
        width: 100%;
        font-size: 13px;
    }
}

/*2-1-13. Error    [err-***]*/


/*2-1-143. Tag     [tag-***]*/
.box-heading-image-wrp + .wrp-container > .tag-wrp:first-child,
.box-heading + .wrp-container > .tag-wrp:first-child{
    margin-top: -32px;
}
.tag-wrp {
    display: flex;
}
.tag-wrp .tag-hdg{
    padding: 12px 5px 3px 0;
    word-break: keep-all;
}
[lang="en"] .tag-wrp .tag-hdg{
    width: 140px;
}
.tag-wrp > ul{
    width: 100%;
    letter-spacing: -0.4em;
}

.tag-wrp > ul li{
    display: inline-block;
    letter-spacing: normal;
    margin: 8px 8px 8px 0;
}
.tag-wrp > ul li a{
    position: relative;
    display: inline-block;
    border: 1px solid var(--color-border);
    border-radius: 20px;
    padding: 4px 20px 3px;
    color: var(--color-primary);
    overflow: hidden;
    vertical-align: top;
}
.tag-wrp > ul li a:hover,
.tag-wrp > ul li a:focus{
    color: var(--color-white);
    text-decoration: none;
}
.tag-wrp > ul li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-primary);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    visibility: hidden;
    -webkit-transition: all .4s;
    transition: all .4s;
}
.tag-wrp > ul li a:hover:after ,
.tag-wrp > ul li a:focus:after {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.tag-wrp > ul li a.is-select{
    color: var(--color-white);
}
.tag-wrp > ul li a.is-select:after {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.tag-wrp > ul li a span{
    position: relative;
    z-index: 1;
    display: inline-block;
}
.tag-wrp + .grid-row{
    margin-top: 70px;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-heading-image-wrp + .wrp-container > .tag-wrp:first-child,
    .box-heading + .wrp-container > .tag-wrp:first-child{
        margin-top: 0;
    }
    .tag-wrp{
        display: block;
        text-align: center;
    }
    .tag-wrp .tag-hdg{
        margin: 0;
        padding: 0;
        font-size: 1.4rem;
    }
    [lang="en"] .tag-wrp .tag-hdg{
        width: auto;
    }
    .tag-wrp > ul{
        width: auto;
    }
    .tag-wrp .tag-hdg + ul{
        width: auto;
    }
    .tag-wrp > ul li{
        display: inline-block;
        letter-spacing: normal;
        margin: 5px 4px 0 0;
    }
    .tag-wrp > ul li a{
        border-radius: 20px;
        padding: 4px 10px 3px;
        font-size: 1.0rem;
    }
    .tag-wrp + .grid-row{
        margin-top: 30px;
    }
}

/* tag sub */
.tag-sub-wrp {
}
.tag-sub-wrp + .grid-row {
    margin-top: 40px;
}
.box-heading-image-wrp + .wrp-container > .tag-sub-wrp:first-child,
.box-heading + .wrp-container > .tag-sub-wrp:first-child{
    margin-top: -32px;
}
.tag-sub {
    display: none;
    margin-top: 40px;
    background: var(--color-light-gray);
}
.tag-sub.is-active {
    display: flex;
}
.tag-sub .tag-hdg{
    margin: 33px 30px 32px 24px;
    word-break: keep-all;
}
.tag-sub > ul{
    margin: 21px 30px 20px 0;
    letter-spacing: -0.4em;
}
.tag-sub > ul li{
    display: inline-block;
    letter-spacing: normal;
    margin: 8px 8px 8px 0;
}
.tag-sub > ul li a{
    position: relative;
    display: inline-block;
    border: 1px solid var(--color-border);
    border-radius: 20px;
    padding: 4px 20px 3px;
    color: var(--color-primary);
    overflow: hidden;
    vertical-align: top;
    background: var(--color-white);
}
.tag-sub > ul li a:hover,
.tag-sub > ul li a:focus{
    color: var(--color-white);
    text-decoration: none;
}
.tag-sub > ul li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-primary);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    visibility: hidden;
    -webkit-transition: all .4s;
    transition: all .4s;
}
.tag-sub > ul li a:hover:after ,
.tag-sub > ul li a:focus:after {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.tag-sub > ul li a.is-select{
    color: var(--color-white);
}
.tag-sub > ul li a.is-select:after {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.tag-sub > ul li a span{
    position: relative;
    z-index: 1;
    display: inline-block;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .tag-sub-wrp + .grid-row {
        margin-top: 0;
    }
    .box-heading-image-wrp + .wrp-container > .tag-sub-wrp:first-child,
    .box-heading + .wrp-container > .tag-sub-wrp:first-child{
        margin-top: 0;
    }
    .tag-sub{
        margin: 35px -15px 30px;
        padding: 25px 30px 25px 30px;
        text-align: center;
    }
    .tag-sub.is-active {
        display: block;
    }
    .tag-sub .tag-hdg{
        margin: 0;
        padding: 0;
        font-size: 1.4rem;
    }
    .tag-sub > ul{
        width: auto;
        margin: 12px 0 0;
        text-align: left;
    }
    .tag-sub .tag-hdg + ul{
        width: auto;
    }
    .tag-sub > ul li{
        display: inline-block;
        letter-spacing: normal;
        margin: 5px 4px 0 0;
    }
    .tag-sub > ul li a{
        border-radius: 20px;
        padding: 4px 10px 3px;
        font-size: 1.0rem;
    }
}

/*2-1-15. Search    [search-***]*/
.box-search-parts{
    max-width: 640px;
    margin: 0 auto;
}
.box-heading-image-wrp + .wrp-container > .box-search-parts:first-child,
.box-heading + .wrp-container > .box-search-parts:first-child{
    margin-top: -30px;
}
.box-search-parts-inner{
    position: relative;
}
.box-search-parts-input{
    width: 100%;
    padding: 10px 60px 10px 10px;
    height: 50px;
    font-size: 1.6rem;
    box-sizing: border-box;
    border-radius: 2px;
    border: 1px solid var(--color-border);
}
.box-search-parts-input::placeholder {
    font-size: 1.6rem;
    color: var(--color-gray);
}
.box-search-parts-btn{
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    display: block;
    width: 50px;
    height: 50px;
    background: var(--color-black);
    border-radius: 0 2px 2px 0;
}
.box-search-parts-btn .icon{
    font-size: 1.3rem;
    color: var(--color-white);
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-heading-image-wrp + .wrp-container > .box-search-parts:first-child,
    .box-heading + .wrp-container > .box-search-parts:first-child{
        margin-top: 20px !important;
    }
    .box-search-parts-input{
        padding: 10px 43px 10px 10px;
        height: 43px;
    }
    .box-search-parts-btn{
        width: 43px;
        height: 43px;
    }
}

.search-txt-kensu{
    display: none;
    margin: 80px 0 0px;
    font-size: 1.4rem;
}
.box-search-parts + .search-txt-kensu{
    margin: 48px 0 0;
}
.tag-sub-wrp + .search-txt-kensu{
    margin: 18px 0 0;
}
.search-txt-kensu strong{
    margin-right: 5px;
    font-size: 1.8rem;
    color: var(--color-primary);
}
p.search-txt-kensu + .grid-row{
    margin-top: 10px;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .search-txt-kensu{
        margin: 40px 0 5px;
        font-size: 1..0rem;
    }
    .box-search-parts + .search-txt-kensu{
        margin: 30px 0 5px;
    }
    .search-txt-kensu strong{
        font-size: 1.4rem;
    }
}

/*2-1-16. Jin    [jin-***]*/
.jin-wrp{
    margin-top: 80px;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .jin-wrp{
        margin-top: 40px;
    }
}

/*2-1-17. UI*/

/*2-1-17. Link    [link-***]*/

.link-red {
    color: var(--color-caution);
    display: inline-block;
}

.link-red:hover {
    color: var(--color-caution);
}

.border {
    border: 1px solid var(--color-gray);
}

/* 2-2. Utility
-------------------------------------------------- */

/* 1210ã“ã“ã¾ã§ */

/*2-2-1. clearfix [ModernType]*/

#l-header:after, .wrp-header:after, #l-container:after, #l-main:after, #l-sub:after, #l-footer:after, .nav ul:after, .wrp-container:after, .clearfix:after {
    display: block;
    clear: both;
    content: "";
}

/*2-2-2. margin,padding*/

/* margin  */

.m0 {
    margin: 0!important;
}

.m5 {
    margin: 5px!important;
}

.m10 {
    margin: 10px!important;
}

.m15 {
    margin: 15px!important;
}

.m20 {
    margin: 20px!important;
}

.m25 {
    margin: 25px!important;
}

.m30 {
    margin: 30px!important;
}

.m35 {
    margin: 35px!important;
}

.m40 {
    margin: 40px!important;
}

.m45 {
    margin: 45px!important;
}

.m50 {
    margin: 50px!important;
}

.m55 {
    margin: 55px!important;
}

.m60 {
    margin: 60px!important;
}

.m65 {
    margin: 65px!important;
}

.m70 {
    margin: 70px!important;
}

.m75 {
    margin: 75px!important;
}

.m80 {
    margin: 80px!important;
}

.m85 {
    margin: 85px!important;
}

.m90 {
    margin: 90px!important;
}

.m95 {
    margin: 95px!important;
}

.m100 {
    margin: 100px!important;
}

/* margin-top */

.mt0 {
    margin-top: 0!important;
}

.mt5 {
    margin-top: 5px!important;
}

.mt10 {
    margin-top: 10px!important;
}

.mt15 {
    margin-top: 15px!important;
}

.mt20 {
    margin-top: 20px!important;
}

.mt25 {
    margin-top: 25px!important;
}

.mt30 {
    margin-top: 30px!important;
}

.mt35 {
    margin-top: 35px!important;
}

.mt40 {
    margin-top: 40px!important;
}

.mt45 {
    margin-top: 45px!important;
}

.mt50 {
    margin-top: 50px!important;
}

.mt55 {
    margin-top: 55px!important;
}

.mt60 {
    margin-top: 60px!important;
}

.mt65 {
    margin-top: 65px!important;
}

.mt70 {
    margin-top: 70px!important;
}

.mt75 {
    margin-top: 75px!important;
}

.mt80 {
    margin-top: 80px!important;
}

.mt85 {
    margin-top: 85px!important;
}

.mt90 {
    margin-top: 90px!important;
}

.mt95 {
    margin-top: 95px!important;
}

.mt100 {
    margin-top: 100px!important;
}

/* margin-right */

.mr0 {
    margin-right: 0!important;
}

.mr5 {
    margin-right: 5px!important;
}

.mr10 {
    margin-right: 10px!important;
}

.mr15 {
    margin-right: 15px!important;
}

.mr20 {
    margin-right: 20px!important;
}

.mr25 {
    margin-right: 25px!important;
}

.mr30 {
    margin-right: 30px!important;
}

.mr35 {
    margin-right: 35px!important;
}

.mr40 {
    margin-right: 40px!important;
}

.mr45 {
    margin-right: 45px!important;
}

.mr50 {
    margin-right: 50px!important;
}

.mr55 {
    margin-right: 55px!important;
}

.mr60 {
    margin-right: 60px!important;
}

.mr65 {
    margin-right: 65px!important;
}

.mr70 {
    margin-right: 70px!important;
}

.mr75 {
    margin-right: 75px!important;
}

.mr80 {
    margin-right: 80px!important;
}

.mr85 {
    margin-right: 85px!important;
}

.mr90 {
    margin-right: 90px!important;
}

.mr95 {
    margin-right: 95px!important;
}

.mr100 {
    margin-right: 100px!important;
}

/* margin-bottom */

.mb0 {
    margin-bottom: 0!important;
}

.mb5 {
    margin-bottom: 5px!important;
}

.mb10 {
    margin-bottom: 10px!important;
}

.mb15 {
    margin-bottom: 15px!important;
}

.mb20 {
    margin-bottom: 20px!important;
}

.mb25 {
    margin-bottom: 25px!important;
}

.mb30 {
    margin-bottom: 30px!important;
}

.mb35 {
    margin-bottom: 35px!important;
}

.mb40 {
    margin-bottom: 40px!important;
}

.mb45 {
    margin-bottom: 45px!important;
}

.mb50 {
    margin-bottom: 50px!important;
}

.mb55 {
    margin-bottom: 55px!important;
}

.mb60 {
    margin-bottom: 60px!important;
}

.mb65 {
    margin-bottom: 65px!important;
}

.mb70 {
    margin-bottom: 70px!important;
}

.mb75 {
    margin-bottom: 75px!important;
}

.mb80 {
    margin-bottom: 80px!important;
}

.mb85 {
    margin-bottom: 85px!important;
}

.mb90 {
    margin-bottom: 90px!important;
}

.mb95 {
    margin-bottom: 95px!important;
}

.mb100 {
    margin-bottom: 100px!important;
}

/* margin-left */

.ml0 {
    margin-left: 0!important;
}

.ml5 {
    margin-left: 5px!important;
}

.ml10 {
    margin-left: 10px!important;
}

.ml15 {
    margin-left: 15px!important;
}

.ml20 {
    margin-left: 20px!important;
}

.ml25 {
    margin-left: 25px!important;
}

.ml30 {
    margin-left: 30px!important;
}

.ml35 {
    margin-left: 35px!important;
}

.ml40 {
    margin-left: 40px!important;
}

.ml45 {
    margin-left: 45px!important;
}

.ml50 {
    margin-left: 50px!important;
}

.ml55 {
    margin-left: 55px!important;
}

.ml60 {
    margin-left: 60px!important;
}

.ml65 {
    margin-left: 65px!important;
}

.ml70 {
    margin-left: 70px!important;
}

.ml75 {
    margin-left: 75px!important;
}

.ml80 {
    margin-left: 80px!important;
}

.ml85 {
    margin-left: 85px!important;
}

.ml90 {
    margin-left: 90px!important;
}

.ml95 {
    margin-left: 95px!important;
}

.ml100 {
    margin-left: 100px!important;
}

/* padding */

.p0 {
    padding: 0!important;
}

.p5 {
    padding: 5px!important;
}

.p10 {
    padding: 10px!important;
}

.p15 {
    padding: 15px!important;
}

.p20 {
    padding: 20px!important;
}

.p25 {
    padding: 25px!important;
}

.p30 {
    padding: 30px!important;
}

.p35 {
    padding: 35px!important;
}

.p40 {
    padding: 40px!important;
}

.p45 {
    padding: 45px!important;
}

.p50 {
    padding: 50px!important;
}

.p55 {
    padding: 55px!important;
}

.p60 {
    padding: 60px!important;
}

.p65 {
    padding: 65px!important;
}

.p70 {
    padding: 70px!important;
}

.p75 {
    padding: 75px!important;
}

.p80 {
    padding: 80px!important;
}

.p85 {
    padding: 85px!important;
}

.p90 {
    padding: 90px!important;
}

.p95 {
    padding: 95px!important;
}

.p100 {
    padding: 100px!important;
}

/* padding-top */

.pt0 {
    padding-top: 0!important;
}

.pt5 {
    padding-top: 5px!important;
}

.pt10 {
    padding-top: 10px!important;
}

.pt15 {
    padding-top: 15px!important;
}

.pt20 {
    padding-top: 20px!important;
}

.pt25 {
    padding-top: 25px!important;
}

.pt30 {
    padding-top: 30px!important;
}

.pt35 {
    padding-top: 35px!important;
}

.pt40 {
    padding-top: 40px!important;
}

.pt45 {
    padding-top: 45px!important;
}

.pt50 {
    padding-top: 50px!important;
}

.pt55 {
    padding-top: 55px!important;
}

.pt60 {
    padding-top: 60px!important;
}

.pt65 {
    padding-top: 65px!important;
}

.pt70 {
    padding-top: 70px!important;
}

.pt75 {
    padding-top: 75px!important;
}

.pt80 {
    padding-top: 80px!important;
}

.pt85 {
    padding-top: 85px!important;
}

.pt90 {
    padding-top: 90px!important;
}

.pt95 {
    padding-top: 95px!important;
}

.pt100 {
    padding-top: 100px!important;
}

/* padding-right */

.pr0 {
    padding-right: 0!important;
}

.pr5 {
    padding-right: 5px!important;
}

.pr10 {
    padding-right: 10px!important;
}

.pr15 {
    padding-right: 15px!important;
}

.pr20 {
    padding-right: 20px!important;
}

.pr25 {
    padding-right: 25px!important;
}

.pr30 {
    padding-right: 30px!important;
}

.pr35 {
    padding-right: 35px!important;
}

.pr40 {
    padding-right: 40px!important;
}

.pr45 {
    padding-right: 45px!important;
}

.pr50 {
    padding-right: 50px!important;
}

.pr55 {
    padding-right: 55px!important;
}

.pr60 {
    padding-right: 60px!important;
}

.pr65 {
    padding-right: 65px!important;
}

.pr70 {
    padding-right: 70px!important;
}

.pr75 {
    padding-right: 75px!important;
}

.pr80 {
    padding-right: 80px!important;
}

.pr85 {
    padding-right: 85px!important;
}

.pr90 {
    padding-right: 90px!important;
}

.pr95 {
    padding-right: 95px!important;
}

.pr100 {
    padding-right: 100px!important;
}

/* padding-bottom */

.pb0 {
    padding-bottom: 0!important;
}

.pb5 {
    padding-bottom: 5px!important;
}

.pb10 {
    padding-bottom: 10px!important;
}

.pb15 {
    padding-bottom: 15px!important;
}

.pb20 {
    padding-bottom: 20px!important;
}

.pb25 {
    padding-bottom: 25px!important;
}

.pb30 {
    padding-bottom: 30px!important;
}

.pb35 {
    padding-bottom: 35px!important;
}

.pb40 {
    padding-bottom: 40px!important;
}

.pb45 {
    padding-bottom: 45px!important;
}

.pb50 {
    padding-bottom: 50px!important;
}

.pb55 {
    padding-bottom: 55px!important;
}

.pb60 {
    padding-bottom: 60px!important;
}

.pb65 {
    padding-bottom: 65px!important;
}

.pb70 {
    padding-bottom: 70px!important;
}

.pb75 {
    padding-bottom: 75px!important;
}

.pb80 {
    padding-bottom: 80px!important;
}

.pb85 {
    padding-bottom: 85px!important;
}

.pb90 {
    padding-bottom: 90px!important;
}

.pb95 {
    padding-bottom: 95px!important;
}

.pb100 {
    padding-bottom: 100px!important;
}

/* padding-left */

.pl0 {
    padding-left: 0!important;
}

.pl5 {
    padding-left: 5px!important;
}

.pl10 {
    padding-left: 10px!important;
}

.pl15 {
    padding-left: 15px!important;
}

.pl20 {
    padding-left: 20px!important;
}

.pl25 {
    padding-left: 25px!important;
}

.pl30 {
    padding-left: 30px!important;
}

.pl35 {
    padding-left: 35px!important;
}

.pl40 {
    padding-left: 40px!important;
}

.pl45 {
    padding-left: 45px!important;
}

.pl50 {
    padding-left: 50px!important;
}

.pl55 {
    padding-left: 55px!important;
}

.pl60 {
    padding-left: 60px!important;
}

.pl65 {
    padding-left: 65px!important;
}

.pl70 {
    padding-left: 70px!important;
}

.pl75 {
    padding-left: 75px!important;
}

.pl80 {
    padding-left: 80px!important;
}

.pl85 {
    padding-left: 85px!important;
}

.pl90 {
    padding-left: 90px!important;
}

.pl95 {
    padding-left: 95px!important;
}

.pl100 {
    padding-left: 100px!important;
}

.mlrauto {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 767px) {
    /* margin  */
    .m0-sp {
        margin: 0!important;
    }
    .m5-sp {
        margin: 5px!important;
    }
    .m10-sp {
        margin: 10px!important;
    }
    .m15-sp {
        margin: 15px!important;
    }
    .m20-sp {
        margin: 20px!important;
    }
    .m25-sp {
        margin: 25px!important;
    }
    .m30-sp {
        margin: 30px!important;
    }
    .m35-sp {
        margin: 35px!important;
    }
    .m40-sp {
        margin: 40px!important;
    }
    .m45-sp {
        margin: 45px!important;
    }
    .m50-sp {
        margin: 50px!important;
    }
    .m55-sp {
        margin: 55px!important;
    }
    .m60-sp {
        margin: 60px!important;
    }
    .m65-sp {
        margin: 65px!important;
    }
    .m70-sp {
        margin: 70px!important;
    }
    .m75-sp {
        margin: 75px!important;
    }
    .m80-sp {
        margin: 80px!important;
    }
    .m85-sp {
        margin: 85px!important;
    }
    .m90-sp {
        margin: 90px!important;
    }
    .m95-sp {
        margin: 95px!important;
    }
    .m100-sp {
        margin: 100px!important;
    }
    /* margin-top */
    .mt0-sp {
        margin-top: 0!important;
    }
    .mt-5-sp {
        margin-top: -5px!important;
    }
    .mt-10-sp {
        margin-top: -10px!important;
    }
    .mt-15-sp {
        margin-top: -15px!important;
    }
    .mt-20-sp {
        margin-top: -20px!important;
    }
    .mt-25-sp {
        margin-top: -25px!important;
    }
    .mt-30-sp {
        margin-top: -30px!important;
    }
    .mt-35-sp {
        margin-top: -35px!important;
    }
    .mt-40-sp {
        margin-top: -40px!important;
    }
    .mt-45-sp {
        margin-top: -45px!important;
    }
    .mt-50-sp {
        margin-top: -50px!important;
    }
    .mt-55-sp {
        margin-top: -55px!important;
    }
    .mt-60-sp {
        margin-top: -60px!important;
    }
    .mt-65-sp {
        margin-top: -65px!important;
    }
    .mt-70-sp {
        margin-top: -70px!important;
    }
    .mt-75-sp {
        margin-top: -75px!important;
    }
    .mt-80-sp {
        margin-top: -80px!important;
    }
    .mt-85-sp {
        margin-top: -85px!important;
    }
    .mt-90-sp {
        margin-top: -90px!important;
    }
    .mt-95-sp {
        margin-top: -95px!important;
    }
    .mt-100-sp {
        margin-top: -100px!important;
    }
    .mt5-sp {
        margin-top: 5px!important;
    }
    .mt10-sp {
        margin-top: 10px!important;
    }
    .mt15-sp {
        margin-top: 15px!important;
    }
    .mt20-sp {
        margin-top: 20px!important;
    }
    .mt25-sp {
        margin-top: 25px!important;
    }
    .mt30-sp {
        margin-top: 30px!important;
    }
    .mt35-sp {
        margin-top: 35px!important;
    }
    .mt40-sp {
        margin-top: 40px!important;
    }
    .mt45-sp {
        margin-top: 45px!important;
    }
    .mt50-sp {
        margin-top: 50px!important;
    }
    .mt55-sp {
        margin-top: 55px!important;
    }
    .mt60-sp {
        margin-top: 60px!important;
    }
    .mt65-sp {
        margin-top: 65px!important;
    }
    .mt70-sp {
        margin-top: 70px!important;
    }
    .mt75-sp {
        margin-top: 75px!important;
    }
    .mt80-sp {
        margin-top: 80px!important;
    }
    .mt85-sp {
        margin-top: 85px!important;
    }
    .mt90-sp {
        margin-top: 90px!important;
    }
    .mt95-sp {
        margin-top: 95px!important;
    }
    .mt100-sp {
        margin-top: 100px!important;
    }
    /* margin-right */
    .mr0-sp {
        margin-right: 0!important;
    }
    .mr5-sp {
        margin-right: 5px!important;
    }
    .mr10-sp {
        margin-right: 10px!important;
    }
    .mr15-sp {
        margin-right: 15px!important;
    }
    .mr20-sp {
        margin-right: 20px!important;
    }
    .mr25-sp {
        margin-right: 25px!important;
    }
    .mr30-sp {
        margin-right: 30px!important;
    }
    .mr35-sp {
        margin-right: 35px!important;
    }
    .mr40-sp {
        margin-right: 40px!important;
    }
    .mr45-sp {
        margin-right: 45px!important;
    }
    .mr50-sp {
        margin-right: 50px!important;
    }
    .mr55-sp {
        margin-right: 55px!important;
    }
    .mr60-sp {
        margin-right: 60px!important;
    }
    .mr65-sp {
        margin-right: 65px!important;
    }
    .mr70-sp {
        margin-right: 70px!important;
    }
    .mr75-sp {
        margin-right: 75px!important;
    }
    .mr80-sp {
        margin-right: 80px!important;
    }
    .mr85-sp {
        margin-right: 85px!important;
    }
    .mr90-sp {
        margin-right: 90px!important;
    }
    .mr95-sp {
        margin-right: 95px!important;
    }
    .mr100-sp {
        margin-right: 100px!important;
    }
    /* margin-bottom */
    .mb0-sp {
        margin-bottom: 0!important;
    }
    .mb5-sp {
        margin-bottom: 5px!important;
    }
    .mb10-sp {
        margin-bottom: 10px!important;
    }
    .mb15-sp {
        margin-bottom: 15px!important;
    }
    .mb20-sp {
        margin-bottom: 20px!important;
    }
    .mb25-sp {
        margin-bottom: 25px!important;
    }
    .mb30-sp {
        margin-bottom: 30px!important;
    }
    .mb35-sp {
        margin-bottom: 35px!important;
    }
    .mb40-sp {
        margin-bottom: 40px!important;
    }
    .mb45-sp {
        margin-bottom: 45px!important;
    }
    .mb50-sp {
        margin-bottom: 50px!important;
    }
    .mb55-sp {
        margin-bottom: 55px!important;
    }
    .mb60-sp {
        margin-bottom: 60px!important;
    }
    .mb65-sp {
        margin-bottom: 65px!important;
    }
    .mb70-sp {
        margin-bottom: 70px!important;
    }
    .mb75-sp {
        margin-bottom: 75px!important;
    }
    .mb80-sp {
        margin-bottom: 80px!important;
    }
    .mb85-sp {
        margin-bottom: 85px!important;
    }
    .mb90-sp {
        margin-bottom: 90px!important;
    }
    .mb95-sp {
        margin-bottom: 95px!important;
    }
    .mb100-sp {
        margin-bottom: 100px!important;
    }
    /* margin-left */
    .ml0-sp {
        margin-left: 0!important;
    }
    .ml5-sp {
        margin-left: 5px!important;
    }
    .ml10-sp {
        margin-left: 10px!important;
    }
    .ml15-sp {
        margin-left: 15px!important;
    }
    .ml20-sp {
        margin-left: 20px!important;
    }
    .ml25-sp {
        margin-left: 25px!important;
    }
    .ml30-sp {
        margin-left: 30px!important;
    }
    .ml35-sp {
        margin-left: 35px!important;
    }
    .ml40-sp {
        margin-left: 40px!important;
    }
    .ml45-sp {
        margin-left: 45px!important;
    }
    .ml50-sp {
        margin-left: 50px!important;
    }
    .ml55-sp {
        margin-left: 55px!important;
    }
    .ml60-sp {
        margin-left: 60px!important;
    }
    .ml65-sp {
        margin-left: 65px!important;
    }
    .ml70-sp {
        margin-left: 70px!important;
    }
    .ml75-sp {
        margin-left: 75px!important;
    }
    .ml80-sp {
        margin-left: 80px!important;
    }
    .ml85-sp {
        margin-left: 85px!important;
    }
    .ml90-sp {
        margin-left: 90px!important;
    }
    .ml95-sp {
        margin-left: 95px!important;
    }
    .ml100-sp {
        margin-left: 100px!important;
    }
    /* padding */
    .pd0 {
        padding: 0!important;
    }
    .p0-sp {
        padding: 0!important;
    }
    .p5-sp {
        padding: 5px!important;
    }
    .p10-sp {
        padding: 10px!important;
    }
    .p15-sp {
        padding: 15px!important;
    }
    .p20-sp {
        padding: 20px!important;
    }
    .p25-sp {
        padding: 25px!important;
    }
    .p30-sp {
        padding: 30px!important;
    }
    .p35-sp {
        padding: 35px!important;
    }
    .p40-sp {
        padding: 40px!important;
    }
    .p45-sp {
        padding: 45px!important;
    }
    .p50-sp {
        padding: 50px!important;
    }
    .p55-sp {
        padding: 55px!important;
    }
    .p60-sp {
        padding: 60px!important;
    }
    .p65-sp {
        padding: 65px!important;
    }
    .p70-sp {
        padding: 70px!important;
    }
    .p75-sp {
        padding: 75px!important;
    }
    .p80-sp {
        padding: 80px!important;
    }
    .p85-sp {
        padding: 85px!important;
    }
    .p90-sp {
        padding: 90px!important;
    }
    .p95-sp {
        padding: 95px!important;
    }
    .p100-sp {
        padding: 100px!important;
    }
    /* padding-top */
    .pt0-sp {
        padding-top: 0!important;
    }
    .pt5-sp {
        padding-top: 5px!important;
    }
    .pt10-sp {
        padding-top: 10px!important;
    }
    .pt15-sp {
        padding-top: 15px!important;
    }
    .pt20-sp {
        padding-top: 20px!important;
    }
    .pt25-sp {
        padding-top: 25px!important;
    }
    .pt30-sp {
        padding-top: 30px!important;
    }
    .pt35-sp {
        padding-top: 35px!important;
    }
    .pt40-sp {
        padding-top: 40px!important;
    }
    .pt45-sp {
        padding-top: 45px!important;
    }
    .pt50-sp {
        padding-top: 50px!important;
    }
    .pt55-sp {
        padding-top: 55px!important;
    }
    .pt60-sp {
        padding-top: 60px!important;
    }
    .pt65-sp {
        padding-top: 65px!important;
    }
    .pt70-sp {
        padding-top: 70px!important;
    }
    .pt75-sp {
        padding-top: 75px!important;
    }
    .pt80-sp {
        padding-top: 80px!important;
    }
    .pt85-sp {
        padding-top: 85px!important;
    }
    .pt90-sp {
        padding-top: 90px!important;
    }
    .pt95-sp {
        padding-top: 95px!important;
    }
    .pt100-sp {
        padding-top: 100px!important;
    }
    /* padding-right */
    .pr0-sp {
        padding-right: 0!important;
    }
    .pr5-sp {
        padding-right: 5px!important;
    }
    .pr10-sp {
        padding-right: 10px!important;
    }
    .pr15-sp {
        padding-right: 15px!important;
    }
    .pr20-sp {
        padding-right: 20px!important;
    }
    .pr25-sp {
        padding-right: 25px!important;
    }
    .pr30-sp {
        padding-right: 30px!important;
    }
    .pr35-sp {
        padding-right: 35px!important;
    }
    .pr40-sp {
        padding-right: 40px!important;
    }
    .pr45-sp {
        padding-right: 45px!important;
    }
    .pr50-sp {
        padding-right: 50px!important;
    }
    .pr55-sp {
        padding-right: 55px!important;
    }
    .pr60-sp {
        padding-right: 60px!important;
    }
    .pr65-sp {
        padding-right: 65px!important;
    }
    .pr70-sp {
        padding-right: 70px!important;
    }
    .pr75-sp {
        padding-right: 75px!important;
    }
    .pr80-sp {
        padding-right: 80px!important;
    }
    .pr85-sp {
        padding-right: 85px!important;
    }
    .pr90-sp {
        padding-right: 90px!important;
    }
    .pr95-sp {
        padding-right: 95px!important;
    }
    .pr100-sp {
        padding-right: 100px!important;
    }
    /* padding-bottom */
    .pb0-sp {
        padding-bottom: 0!important;
    }
    .pb5-sp {
        padding-bottom: 5px!important;
    }
    .pb10-sp {
        padding-bottom: 10px!important;
    }
    .pb15-sp {
        padding-bottom: 15px!important;
    }
    .pb20-sp {
        padding-bottom: 20px!important;
    }
    .pb25-sp {
        padding-bottom: 25px!important;
    }
    .pb30-sp {
        padding-bottom: 30px!important;
    }
    .pb35-sp {
        padding-bottom: 35px!important;
    }
    .pb40-sp {
        padding-bottom: 40px!important;
    }
    .pb45-sp {
        padding-bottom: 45px!important;
    }
    .pb50-sp {
        padding-bottom: 50px!important;
    }
    .pb55-sp {
        padding-bottom: 55px!important;
    }
    .pb60-sp {
        padding-bottom: 60px!important;
    }
    .pb65-sp {
        padding-bottom: 65px!important;
    }
    .pb70-sp {
        padding-bottom: 70px!important;
    }
    .pb75-sp {
        padding-bottom: 75px!important;
    }
    .pb80-sp {
        padding-bottom: 80px!important;
    }
    .pb85-sp {
        padding-bottom: 85px!important;
    }
    .pb90-sp {
        padding-bottom: 90px!important;
    }
    .pb95-sp {
        padding-bottom: 95px!important;
    }
    .pb100-sp {
        padding-bottom: 100px!important;
    }
    /* padding-left */
    .pl0-sp {
        padding-left: 0!important;
    }
    .pl5-sp {
        padding-left: 5px!important;
    }
    .pl10-sp {
        padding-left: 10px!important;
    }
    .pl15-sp {
        padding-left: 15px!important;
    }
    .pl20-sp {
        padding-left: 20px!important;
    }
    .pl25-sp {
        padding-left: 25px!important;
    }
    .pl30-sp {
        padding-left: 30px!important;
    }
    .pl35-sp {
        padding-left: 35px!important;
    }
    .pl40-sp {
        padding-left: 40px!important;
    }
    .pl45-sp {
        padding-left: 45px!important;
    }
    .pl50-sp {
        padding-left: 50px!important;
    }
    .pl55-sp {
        padding-left: 55px!important;
    }
    .pl60-sp {
        padding-left: 60px!important;
    }
    .pl65-sp {
        padding-left: 65px!important;
    }
    .pl70-sp {
        padding-left: 70px!important;
    }
    .pl75-sp {
        padding-left: 75px!important;
    }
    .pl80-sp {
        padding-left: 80px!important;
    }
    .pl85-sp {
        padding-left: 85px!important;
    }
    .pl90-sp {
        padding-left: 90px!important;
    }
    .pl95-sp {
        padding-left: 95px!important;
    }
    .pl100-sp {
        padding-left: 100px!important;
    }
    .mlrauto-sp {
        margin-left: auto;
        margin-right: auto;
    }
    .m1-sp {
        margin-bottom: 1px!important;
    }
}

/* width */

.w1per {
    width: 1% !important;
}

.w2per {
    width: 2% !important;
}

.w3per {
    width: 3% !important;
}

.w4per {
    width: 4% !important;
}

.w5per {
    width: 5% !important;
}

.w6per {
    width: 6% !important;
}

.w7per {
    width: 7% !important;
}

.w8per {
    width: 8% !important;
}

.w9per {
    width: 9% !important;
}

.w10per {
    width: 10% !important;
}

.w11per {
    width: 11% !important;
}

.w12per {
    width: 12% !important;
}

.w13per {
    width: 13% !important;
}

.w14per {
    width: 14% !important;
}

.w15per {
    width: 15% !important;
}

.w16per {
    width: 16% !important;
}

.w17per {
    width: 17% !important;
}

.w18per {
    width: 18% !important;
}

.w19per {
    width: 19% !important;
}

.w20per {
    width: 20% !important;
}

.w21per {
    width: 21% !important;
}

.w22per {
    width: 22% !important;
}

.w23per {
    width: 23% !important;
}

.w24per {
    width: 24% !important;
}

.w25per {
    width: 25% !important;
}

.w26per {
    width: 26% !important;
}

.w27per {
    width: 27% !important;
}

.w28per {
    width: 28% !important;
}

.w29per {
    width: 29% !important;
}

.w30per {
    width: 30% !important;
}

.w31per {
    width: 31% !important;
}

.w32per {
    width: 32% !important;
}

.w33per {
    width: 33% !important;
}

.w34per {
    width: 34% !important;
}

.w35per {
    width: 35% !important;
}

.w36per {
    width: 36% !important;
}

.w37per {
    width: 37% !important;
}

.w38per {
    width: 38% !important;
}

.w39per {
    width: 39% !important;
}

.w40per {
    width: 40% !important;
}

.w41per {
    width: 41% !important;
}

.w42per {
    width: 42% !important;
}

.w43per {
    width: 43% !important;
}

.w44per {
    width: 44% !important;
}

.w45per {
    width: 45% !important;
}

.w46per {
    width: 46% !important;
}

.w47per {
    width: 47% !important;
}

.w48per {
    width: 48% !important;
}

.w49per {
    width: 49% !important;
}

.w50per {
    width: 50% !important;
}

.w51per {
    width: 51% !important;
}

.w52per {
    width: 52% !important;
}

.w53per {
    width: 53% !important;
}

.w54per {
    width: 54% !important;
}

.w55per {
    width: 55% !important;
}

.w56per {
    width: 56% !important;
}

.w57per {
    width: 57% !important;
}

.w58per {
    width: 58% !important;
}

.w59per {
    width: 59% !important;
}

.w60per {
    width: 60% !important;
}

.w61per {
    width: 61% !important;
}

.w62per {
    width: 62% !important;
}

.w63per {
    width: 63% !important;
}

.w64per {
    width: 64% !important;
}

.w65per {
    width: 65% !important;
}

.w66per {
    width: 66% !important;
}

.w67per {
    width: 67% !important;
}

.w68per {
    width: 68% !important;
}

.w69per {
    width: 69% !important;
}

.w70per {
    width: 70% !important;
}

.w71per {
    width: 71% !important;
}

.w72per {
    width: 72% !important;
}

.w73per {
    width: 73% !important;
}

.w74per {
    width: 74% !important;
}

.w75per {
    width: 75% !important;
}

.w76per {
    width: 76% !important;
}

.w77per {
    width: 77% !important;
}

.w78per {
    width: 78% !important;
}

.w79per {
    width: 79% !important;
}

.w80per {
    width: 80% !important;
}

.w81per {
    width: 81% !important;
}

.w82per {
    width: 82% !important;
}

.w83per {
    width: 83% !important;
}

.w84per {
    width: 84% !important;
}

.w85per {
    width: 85% !important;
}

.w86per {
    width: 86% !important;
}

.w87per {
    width: 87% !important;
}

.w88per {
    width: 88% !important;
}

.w89per {
    width: 89% !important;
}

.w90per {
    width: 90% !important;
}

.w91per {
    width: 91% !important;
}

.w92per {
    width: 92% !important;
}

.w93per {
    width: 93% !important;
}

.w94per {
    width: 94% !important;
}

.w95per {
    width: 95% !important;
}

.w96per {
    width: 96% !important;
}

.w97per {
    width: 97% !important;
}

.w98per {
    width: 98% !important;
}

.w99per {
    width: 99% !important;
}

.w100per {
    width: 100% !important;
}

.wauto {
    width: auto !important;
}

@media screen and (max-width: 767px) {
    .w1per-sp {
        width: 1% !important;
    }
    .w2per-sp {
        width: 2% !important;
    }
    .w3per-sp {
        width: 3% !important;
    }
    .w4per-sp {
        width: 4% !important;
    }
    .w5per-sp {
        width: 5% !important;
    }
    .w6per-sp {
        width: 6% !important;
    }
    .w7per-sp {
        width: 7% !important;
    }
    .w8per-sp {
        width: 8% !important;
    }
    .w9per-sp {
        width: 9% !important;
    }
    .w10per-sp {
        width: 10% !important;
    }
    .w11per-sp {
        width: 11% !important;
    }
    .w12per-sp {
        width: 12% !important;
    }
    .w13per-sp {
        width: 13% !important;
    }
    .w14per-sp {
        width: 14% !important;
    }
    .w15per-sp {
        width: 15% !important;
    }
    .w16per-sp {
        width: 16% !important;
    }
    .w17per-sp {
        width: 17% !important;
    }
    .w18per-sp {
        width: 18% !important;
    }
    .w19per-sp {
        width: 19% !important;
    }
    .w20per-sp {
        width: 20% !important;
    }
    .w21per-sp {
        width: 21% !important;
    }
    .w22per-sp {
        width: 22% !important;
    }
    .w23per-sp {
        width: 23% !important;
    }
    .w24per-sp {
        width: 24% !important;
    }
    .w25per-sp {
        width: 25% !important;
    }
    .w26per-sp {
        width: 26% !important;
    }
    .w27per-sp {
        width: 27% !important;
    }
    .w28per-sp {
        width: 28% !important;
    }
    .w29per-sp {
        width: 29% !important;
    }
    .w30per-sp {
        width: 30% !important;
    }
    .w31per-sp {
        width: 31% !important;
    }
    .w32per-sp {
        width: 32% !important;
    }
    .w33per-sp {
        width: 33% !important;
    }
    .w34per-sp {
        width: 34% !important;
    }
    .w35per-sp {
        width: 35% !important;
    }
    .w36per-sp {
        width: 36% !important;
    }
    .w37per-sp {
        width: 37% !important;
    }
    .w38per-sp {
        width: 38% !important;
    }
    .w39per-sp {
        width: 39% !important;
    }
    .w40per-sp {
        width: 40% !important;
    }
    .w41per-sp {
        width: 41% !important;
    }
    .w42per-sp {
        width: 42% !important;
    }
    .w43per-sp {
        width: 43% !important;
    }
    .w44per-sp {
        width: 44% !important;
    }
    .w45per-sp {
        width: 45% !important;
    }
    .w46per-sp {
        width: 46% !important;
    }
    .w47per-sp {
        width: 47% !important;
    }
    .w48per-sp {
        width: 48% !important;
    }
    .w49per-sp {
        width: 49% !important;
    }
    .w50per-sp {
        width: 50% !important;
    }
    .w51per-sp {
        width: 51% !important;
    }
    .w52per-sp {
        width: 52% !important;
    }
    .w53per-sp {
        width: 53% !important;
    }
    .w54per-sp {
        width: 54% !important;
    }
    .w55per-sp {
        width: 55% !important;
    }
    .w56per-sp {
        width: 56% !important;
    }
    .w57per-sp {
        width: 57% !important;
    }
    .w58per-sp {
        width: 58% !important;
    }
    .w59per-sp {
        width: 59% !important;
    }
    .w60per-sp {
        width: 60% !important;
    }
    .w61per-sp {
        width: 61% !important;
    }
    .w62per-sp {
        width: 62% !important;
    }
    .w63per-sp {
        width: 63% !important;
    }
    .w64per-sp {
        width: 64% !important;
    }
    .w65per-sp {
        width: 65% !important;
    }
    .w66per-sp {
        width: 66% !important;
    }
    .w67per-sp {
        width: 67% !important;
    }
    .w68per-sp {
        width: 68% !important;
    }
    .w69per-sp {
        width: 69% !important;
    }
    .w70per-sp {
        width: 70% !important;
    }
    .w71per-sp {
        width: 71% !important;
    }
    .w72per-sp {
        width: 72% !important;
    }
    .w73per-sp {
        width: 73% !important;
    }
    .w74per-sp {
        width: 74% !important;
    }
    .w75per-sp {
        width: 75% !important;
    }
    .w76per-sp {
        width: 76% !important;
    }
    .w77per-sp {
        width: 77% !important;
    }
    .w78per-sp {
        width: 78% !important;
    }
    .w79per-sp {
        width: 79% !important;
    }
    .w80per-sp {
        width: 80% !important;
    }
    .w81per-sp {
        width: 81% !important;
    }
    .w82per-sp {
        width: 82% !important;
    }
    .w83per-sp {
        width: 83% !important;
    }
    .w84per-sp {
        width: 84% !important;
    }
    .w85per-sp {
        width: 85% !important;
    }
    .w86per-sp {
        width: 86% !important;
    }
    .w87per-sp {
        width: 87% !important;
    }
    .w88per-sp {
        width: 88% !important;
    }
    .w89per-sp {
        width: 89% !important;
    }
    .w90per-sp {
        width: 90% !important;
    }
    .w91per-sp {
        width: 91% !important;
    }
    .w92per-sp {
        width: 92% !important;
    }
    .w93per-sp {
        width: 93% !important;
    }
    .w94per-sp {
        width: 94% !important;
    }
    .w95per-sp {
        width: 95% !important;
    }
    .w96per-sp {
        width: 96% !important;
    }
    .w97per-sp {
        width: 97% !important;
    }
    .w98per-sp {
        width: 98% !important;
    }
    .w99per-sp {
        width: 99% !important;
    }
    .w100per-sp {
        width: 100% !important;
    }
    .wauto-sp {
        width: auto !important;
    }
}

/*2-2-3. Object-Oriented CSS [OOCSS]*/

.txt-br {
    display: inline-block;
}

.no-display {
    display: none;
}

.no-br {
    white-space: nowrap;
}

.no-line-height {
    line-height: 1!important;
}

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

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

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

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

.left {
    text-align: left!important;
}
.flex-center {
    justify-content: center!important;
}

.top {
    vertical-align: top!important;
}

.middle {
    vertical-align: middle!important;
}

.bottom {
    vertical-align: bottom!important;
}

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

.no-selector:before, .no-selector:after {
    content: none !important;
}

.no-border {
    border: 0;
}

.no-border--top {
    border-top: 0!important;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .no-pull-sp {
        float: none! important;
    }
}

/* for RWD */

.fluid-image {
    max-width: 100%;
    height: auto;
}

@media only screen and (min-1025px) and (-ms-high-contrast:none) {
    *::-ms-backdrop, .fluid-image {
        max-width: 9999px;
    }
}

@media only screen and (max-width: 1024px) and (-ms-high-contrast:none) {
    *::-ms-backdrop, .fluid-image {
        max-width: 100%;
    }
}

@media all and (-ms-high-contrast:none) {
    *::-ms-backdrop, .box-link .box-col .box-col__image .fluid-image {
        width: 100%;
    }
    *::-ms-backdrop, .box-table .box-table__col .fluid-image {
        width: 100%;
    }
    *::-ms-backdrop, .box-download-booklet .box-download-booklet__thumb .fluid-image {
        width: 100%;
    }
    *::-ms-backdrop, .box-col--direction .box-col__image .fluid-image {
        width: 100%;
    }
    *::-ms-backdrop, .box-col .box-col__image .fluid-image {
        width: 100%;
    }
}

/* 2-2-4. Grid System [grid-***] */

.grid-row {
    margin-right: -10px;
    margin-left: -10px;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.grid-col, .grid-col--1, .grid-col--2, .grid-col--3, .grid-col--4, .grid-col--5, .grid-col--6, .grid-col--7, .grid-col--8, .grid-col--9, .grid-col--10, .grid-col--11, .grid-col--12 {
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
    /* float: left; */
    box-sizing: border-box;
    margin-bottom: 20px;
}

.grid-col--1 {
    width: 8.33333333333%
}

.grid-col--2 {
    width: 16.6666666667%;
}

.grid-col--3 {
    width: 25%;
}

.grid-col--4 {
    width: 33.3333333333%;
}

.grid-col--5 {
    width: 41.6666666667%;
}

.grid-col--6 {
    width: 50%;
}

.grid-col--7 {
    width: 58.3333333333%;
}

.grid-col--8 {
    width: 66.6666666667%;
}

.grid-col--9 {
    width: 75%;
}

.grid-col--10 {
    width: 83.3333333333%;
}

.grid-col--11 {
    width: 91.6666666667%;
}

.grid-col--12 {
    width: 100%;
}

@media only screen and (min-width:1px) and (max-width:767px) {
    .grid-row {
        margin-left: -5px;
        margin-right: -5px;
    }
    .grid-row--sp-col2 > div {
        width: 50%;
    }
    .grid-col--1, .grid-col--2, .grid-col--3, .grid-col--4, .grid-col--5, .grid-col--6, .grid-col--7, .grid-col--8, .grid-col--9, .grid-col--10, .grid-col--11, .grid-col--12 {
        width: 100%;
        padding: 0 5px 0 5px;
        margin-bottom: 10px;
    }
    .grid-col--1 img, .grid-col--2 img, .grid-col--3 img, .grid-col--4 img, .grid-col--5 img, .grid-col--6 img, .grid-col--7 img, .grid-col--8 img, .grid-col--9 img, .grid-col--10 img, .grid-col--11 img, .grid-col--12 img {
        text-align: center;
    }
    .grid-col-sp--1, .grid-col-sp--2, .grid-col-sp--3, .grid-col-sp--4, .grid-col-sp--5, .grid-col-sp--6, .grid-col-sp--7, .grid-col-sp--8, .grid-col-sp--9, .grid-col-sp--10, .grid-col-sp--11, .grid-col-sp--12 {
        position: relative;
        min-height: 1px;
        /* float: left; */
        box-sizing: border-box;
        padding: 0 5px 0 5px;
        margin-bottom: 10px;
    }
    .grid-col-sp--1 {
        width: 8.33333333333%
    }
    .grid-col-sp--2 {
        width: 16.6666666667%;
    }
    .grid-col-sp--3 {
        width: 25%;
    }
    .grid-col-sp--4 {
        width: 33.3333333333%;
    }
    .grid-col-sp--5 {
        width: 41.6666666667%;
    }
    .grid-col-sp--6 {
        width: 50%;
    }
    .grid-col-sp--7 {
        width: 58.3333333333%;
    }
    .grid-col-sp--8 {
        width: 66.6666666667%;
    }
    .grid-col-sp--9 {
        width: 75%;
    }
    .grid-col-sp--10 {
        width: 83.3333333333%;
    }
    .grid-col-sp--11 {
        width: 91.6666666667%;
    }
    .grid-col-sp--12 {
        width: 100%;
    }
}

.grid-center {
    justify-content: center;
}

/* endMedia */

@media only screen and (min-width:768px) and (max-width:1023px) {
    .grid-colTablet--12 {
        width: 100%;
        position: relative;
        min-height: 1px;
        padding-right: 20px;
        padding-left: 20px;
        float: left;
        box-sizing: border-box;
    }
    .grid-colTablet--8 {
        width: 66.6666666667%;
        position: relative;
        min-height: 1px;
        padding-right: 10px;
        padding-left: 10px;
        float: left;
        box-sizing: border-box;
    }
    .grid-colTablet--6 {
        width: 50%;
        position: relative;
        min-height: 1px;
        padding-right: 10px;
        padding-left: 10px;
        float: left;
        box-sizing: border-box;
    }
    .grid-colTablet--4 {
        width: 33.33%;
        position: relative;
        min-height: 1px;
        padding-right: 5px;
        padding-left: 5px;
        float: left;
        box-sizing: border-box;
    }
}

/* endMedia */

/* 2-2-5. WebFont [FontAwesome] */

@font-face {
    font-family: 'gaishi';
    src: url('font/gaishi.eot');
    src: url('font/gaishi.eot#iefix') format('embedded-opentype'),  url('font/gaishi.woff') format('woff'), url('font/gaishi.ttf') format('truetype'), url('font/gaishi.svg#gaishi') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'gaishi02';
    src: url('font/gaishi02.eot');
    src: url('font/gaishi02.eot#iefix') format('embedded-opentype'), url('font/gaishi02.woff') format('woff'), url('font/gaishi02.ttf') format('truetype'), url('font/gaishi02.svg#gaishi') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;

}

@font-face {
    font-family: 'gaishi03';
    src: url('font/gaishi03.eot');
    src: url('font/gaishi03.eot#iefix') format('embedded-opentype'), url('font/gaishi03.woff') format('woff'), url('font/gaishi03.ttf') format('truetype'), url('font/gaishi03.svg#gaishi') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;

}

[class^="icon-gaishi"]:before, [class*=" icon-gaishi"]:before {
    font-family: "gaishi";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

[class^="icon-gaishi02"]:before, [class*=" icon-gaishi02"]:before {
    font-family: "gaishi02";
    font-style: normal;
    font-weight: normal;
    font-size: 1.6rem;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    vertical-align: middle;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* gaishi */
.icon-gaishi-mail:before { content: '\e800'; } /* 'î €' */
.icon-gaishi-search:before { content: '\e801'; } /* 'î ' */
.icon-gaishi-earth:before { content: '\e802'; } /* 'î ‚' */
.icon-gaishi-download:before { content: '\e803'; } /* 'î ƒ' */
.icon-gaishi-location:before { content: '\e804'; } /* 'î „' */
.icon-gaishi-ok:before { content: '\e80a'; } /* 'î Š' */
.icon-gaishi-phone:before { content: '\e80c'; } /* 'î Œ' */
.icon-gaishi-cancel:before { content: '\e80d'; } /* 'î ' */
.icon-gaishi-shizai:before { content: '\e814'; } /* 'î ”' */
.icon-gaishi-jigyo:before { content: '\e815'; } /* 'î •' */
.icon-gaishi-jugyoin:before { content: '\e816'; } /* 'î –' */
.icon-gaishi-governance:before { content: '\e82e'; } /* 'î ®' */
.icon-gaishi-outline:before { content: '\e82f'; } /* 'î ¯' */
.icon-gaishi-network:before { content: '\e830'; } /* 'î °' */
.icon-gaishi-procure:before { content: '\e831'; } /* 'î ±' */
.icon-gaishi-shihonkin:before { content: '\e832'; } /* 'î ²' */
.icon-gaishi-briefing:before { content: '\e833'; } /* 'î ³' */
.icon-gaishi-setsuritsu:before { content: '\e835'; } /* 'î µ' */
.icon-gaishi-soushisan:before { content: '\e836'; } /* 'î ¶' */
.icon-gaishi-plan:before { content: '\e837'; } /* 'î ·' */
.icon-gaishi-gallery:before { content: '\e838'; } /* 'î ¸' */
.icon-gaishi-directors:before { content: '\e839'; } /* 'î ¹' */
.icon-gaishi-renketsu:before { content: '\e83a'; } /* 'î º' */
.icon-gaishi-chart:before { content: '\e83b'; } /* 'î »' */
.icon-gaishi-policies:before { content: "\e83c"; }
.icon-gaishi-minus-02:before { content: '\e900'; } /* 'î¤€' */
.icon-gaishi-minus:before { content: '\e901'; } /* 'î¤' */
.icon-gaishi-plus-02:before { content: '\e902'; } /* 'î¤‚' */
.icon-gaishi-plus:before { content: '\e903'; } /* 'î¤ƒ' */
.icon-gaishi-grain:before { content: '\e905'; } /* 'ï‡' */
.icon-gaishi-digital:before { content: '\e906'; } /* 'ï‡' */
.icon-gaishi-external:before { content: '\f08e'; } /* 'ï‚Ž' */
.icon-gaishi-check-empty:before { content: '\f096'; } /* 'ï‚–' */
.icon-gaishi-rss:before { content: '\f09e'; } /* 'ï‚ž' */
.icon-gaishi-left:before { content: '\f104'; } /* 'ï„„' */
.icon-gaishi-right:before { content: '\f105'; } /* 'ï„…' */
.icon-gaishi-up:before { content: '\f106'; } /* 'ï„†' */
.icon-gaishi-down:before { content: '\f107'; } /* 'ï„‡' */
.icon-gaishi-pdf:before { content: '\f1c1'; } /* 'ï‡' */


/* gaishi02 */
.icon-gaishi02-earth:before { content: '\e904'; }

/*2-2-6. Backgrounds [bg-***]*/

.bg-lightgrey {
    background: var(--color-light-gray);
}

.bg-gray {
    background: var(--color-light-gray)!important;
}


.bg-gray--02 {
    padding-bottom: 15px;
}

.bg-gray--02{
    position: relative;
    background: none;
}
.bg-gray--02::before{
    content: "";
    background: var(--color-light-gray);
    height: 100%;
    width: 150vw;
    top: 0;
    left: -50vw;
    position: absolute;
    z-index: -1;
}


.bg-white {
    background: var(--color-white)!important;
}

.bg-grey {
    background: var(--color-light-gray);
    padding: 40px 0 175px;
    margin-top: 90px;
}

.bg-grey .hdg-lv2:first-Child {
    margin-top: 0;
}

.bg-grey--02 {
    margin-top: 80px;
    padding-bottom: 15px;
}

.bg-grey--02{
    position: relative;
    background: none;
}
.bg-grey--02::before{
    content: "";
    background: var(--color-light-gray);
    height: 100%;
    width: 150vw;
    top: 0;
    left: -50vw;
    position: absolute;
    z-index: -1;
}
.bg-grey--light {
    background: #f5f5f5;
}

.bg-green {
    background: var(--color-green)!important;
}

@media only screen and (min-width:1px) and (max-width:767px) {
    .bg-grey {
        padding: 27px 0 35px;
        margin-top: 35px;
    }
    .bg-grey--02 {
        padding: 27px 0 35px;
        margin-top: 35px;
    }
}

.color-white {
    color: var(--color-white)!important;
}

/*2-2-7. Font size [fs-***]*/

.fS10 {
    font-size: 1.0rem !important;
}

.fS11 {
    font-size: 1.1rem !important;
}

.fS12 {
    font-size: 1.2rem !important;
}

.fS13 {
    font-size: 1.3rem !important;
}

.fS14 {
    font-size: 1.4rem !important;
}

.fS15 {
    font-size: 1.5rem !important;
}

.fS16 {
    font-size: 1.6rem !important;
}

.fS17 {
    font-size: 1.7rem !important;
}

.fS18 {
    font-size: 1.8rem !important;
}

.fS19 {
    font-size: 1.9rem !important;
}

.fS20 {
    font-size: 2.0rem !important;
}

.fS22 {
    font-size: 2.2rem !important;
}

.fS24 {
    font-size: 2.4rem !important;
}

.fS26 {
    font-size: 2.6rem !important;
}

.fS28 {
    font-size: 2.8rem !important;
}

.fS30 {
    font-size: 3.0rem !important;
}

.fS32 {
    font-size: 3.2rem !important;
}

@media only screen and (min-width:767px) and (max-width:1024px) {
    .fS10-tb {
        font-size: 1.0rem !important;
    }
    .fS11-tb {
        font-size: 1.1rem !important;
    }
    .fS12-tb {
        font-size: 1.2rem !important;
    }
    .fS13-tb {
        font-size: 1.3rem !important;
    }
    .fS14-tb {
        font-size: 1.4rem !important;
    }
    .fS15-tb {
        font-size: 1.5rem !important;
    }
    .fS16-tb {
        font-size: 1.6rem !important;
    }
    .fS17-tb {
        font-size: 1.7rem !important;
    }
    .fS18-tb {
        font-size: 1.8rem !important;
    }
    .fS19-tb {
        font-size: 1.9rem !important;
    }
    .fS20-tb {
        font-size: 2.0rem !important;
    }
    .fS22-tb {
        font-size: 2.2rem !important;
    }
    .fS24-tb {
        font-size: 2.4rem !important;
    }
    .fS26-tb {
        font-size: 2.6rem !important;
    }
    .fS28-tb {
        font-size: 2.8rem !important;
    }
    .fS30-tb {
        font-size: 3.0rem !important;
    }
}

@media screen and (max-width: 767px) {
    .fS10-sp {
        font-size: 1.0rem !important;
    }
    .fS11-sp {
        font-size: 1.1rem !important;
    }
    .fS12-sp {
        font-size: 1.2rem !important;
    }
    .fS13-sp {
        font-size: 1.3rem !important;
    }
    .fS14-sp {
        font-size: 1.4rem !important;
    }
    .fS15-sp {
        font-size: 1.5rem !important;
    }
    .fS16-sp {
        font-size: 1.6rem !important;
    }
    .fS17-sp {
        font-size: 1.7rem !important;
    }
    .fS18-sp {
        font-size: 1.8rem !important;
    }
    .fS19-sp {
        font-size: 1.9rem !important;
    }
    .fS20-sp {
        font-size: 2.0rem !important;
    }
    .fS22-sp {
        font-size: 2.2rem !important;
    }
    .fS24-sp {
        font-size: 2.4rem !important;
    }
    .fS26-sp {
        font-size: 2.6rem !important;
    }
    .fS28-sp {
        font-size: 2.8rem !important;
    }
    .fS30-sp {
        font-size: 3.0rem !important;
    }
    .fS32-sp {
        font-size: 3.2rem !important;
    }
}

.fwB {
    font-weight: bold;
}

.fwN {
    font-weight: normal;
}

/* 2-2-8. Visibility [visible-***] */

.is-visiblePc {
    display: block!important;
}

.is-visibleSp {
    display: none!important;
}

.is-visibleTablet {
    display: none!important;
}

.is-visibleMobile {
    display: none!important;
}

.visible-pc {
    display: block !important;
}

.visible-Tablet {
    display: block !important;
}

.visible-sp {
    display: none !important;
}

@media only screen and (min-width:1px) and (max-width:767px) {
    .is-visiblePc {
        display: none !important;
    }
    .is-visibleSp {
        display: block !important;
    }
    .is-visibleTablet {
        display: none !important;
    }
    .is-visibleMobile {
        display: block !important;
    }
    .visible-pc {
        display: none !important;
    }
    .visible-Tablet {
        display: none !important;
    }
    .visible-sp {
        display: block !important;
    }
}

/* endMedia */

@media only screen and (min-width:768px) and (max-width:1024px) {
    .is-visiblePc {
        display: none !important;
    }
    .is-visibleSp {
        display: none !important;
    }
    .is-visibleTablet {
        display: block !important;
    }
    .is-visibleMobile {
        display: block !important;
    }
    .visible-Tablet {
        display: block !important;
    }
}

/* endMedia */

/* 2-3. State [is-***]
-------------------------------------------------- */

.is-open {
    display: block;
}

.is-error {
    background-color: #f9eceb;
}

.is-disabled {
    opacity: 0.45;
}

.is-show {
    visibility: visible;
    opacity: 1;
}

.no-overflow {
    overflow: hidden;
}

/*--------------------------------------------------*/

/* 2-4. OverLayerConfig [z-index]
-------------------------------------------------- */

/* 2-5. Js-module
-------------------------------------------------- */

.js-fade {
    opacity: 0;
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    opacity: 1;
}

.animated.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

/*-----------------------------*/

.animated.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

@-webkit-keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@keyframes slideInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        -ms-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        -ms-transform: translateZ(0);
        transform: translateZ(0);
    }
}

/*slider
-----------------------------------------*/

.box-slider {
    background: var(--color-light-gray);
    padding: 40px 0;
}

.box-slider__inner {
    display: block;
}

.box-slider__inner:hover {
    text-decoration: none;
}

.box-slider__image {
    display: block;
    overflow: hidden;
}

.box-slider__image img {
    width: 100%;
}

.box-slider__content {
    display: block;
    background: var(--color-white);
    padding: 20px 20px 60px;
    position: relative;
}

.box-slider__date {
    display: block;
    color: var(--color-black);
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.box-slider__title {
    display: block;
    color: var(--color-black);
    margin-bottom: 10px;
}

.box-slider__text {
    display: block;
    color: var(--color-gray);
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.box-slider__link {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    color: var(--color-primary)!important;
}

.box-slider__link span {
    display: inline-block;
    padding-right: 15px;
}

.box-slider__link .icon {
    padding-left: 10px;
}

.box-slider .slick-prev, .box-slider .slick-next {
    background: var(--color-dark-gray);
    position: absolute;
    z-index: 1;
    width: 40px;
    height: 40px;
    top: 30%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.box-slider .slick-prev {
    left: -10px;
}

.box-slider .slick-next {
    right: -10px;
}

.box-slider .slick-prev span, .box-slider .slick-next span {
    font-size: 2.4rem;
    color: var(--color-white);
}

.box-slider .slick-next:focus, .box-slider .slick-prev:focus {
    outline: 2px solid var(--color-primary);
}

.box-slider .slick-dots button:focus {
    outline: 1px solid var(--color-primary);
}

.lst-slider {
    overflow: visible;
}
.box-slider__image img {
    width: 100%;
    -webkit-transition: all .6s;
    transition: all .6s;
}
.box-slider__inner:hover .btn--link span:before {
    right: -10px;
}
.box-slider__inner:hover .box-slider__image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.box-slider .slick-dots {
    text-align: center;
    margin: 20px auto 0;
}
.box-slider .slick-dots li {
    display: inline-block;
    padding: 0 5px;
}
.box-slider .slick-dots li.slick-active button {
    background: var(--color-primary);
}
.box-slider .slick-dots li button {
    color: transparent;
    line-height: 1;
    width: 10px;
    height: 10px;
    background: var(--color-gray);
    border-radius: 50%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .box-slider .slick-prev, .box-slider .slick-next {
        top: 20%;
    }
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-slider {
        padding: 20px 0 45px;
    }
    .box-slider .wrp-container {
        padding: 0;
    }
    .box-slider__content {
        padding: 5px 10px 10px;
    }
    .box-slider__date {
        font-size: 1.0rem;
        margin-bottom: 5px;
    }
    .box-slider__title {
        font-size: 1.4rem;
        line-height: 18px;
        margin-bottom: 5px;
    }
    .box-slider__text {
        font-size: 0.8rem;
        margin-bottom: 0;
    }
    .box-slider__link {
        font-size: 1.2rem;
        margin-top: 0;
        position: relative;
        text-align: left;
        padding: 15px 0 5px;
    }
    .lst-slider a {
        padding: 0 5px;
        position: relative;
    }
    .box-slider .slick-prev, .box-slider .slick-next {
        top: 30%;
    }
    .lst-slider a.slick-active a:before {
        background: transparent;
    }
    .box-slider .slick-prev {
        left: 30px;
    }
    .box-slider .slick-next {
        right: 30px;
    }
    .box-slider__link span {
        padding-right: 10px;
    }
}

/* accordion
---------------------------------------*/

.lst-accordion {
    padding: 50px 0 20px;
}

.lst-accordion>li {
    border-top: 1px solid #ccc;
    transition: all .3s;
}

.lst-accordion>li:last-child {
    border-bottom: 1px solid #ccc;
}

.lst-accordion+.lst-accordion li:first-child {
    border-top: none;
}

.lst-accordion>li.is-active {
    background: var(--color-primary);
}

.lst-accordion>li.is-active .lst-accordion__icon {
    color: var(--color-white);
}

.lst-accordion__title {
    position: relative;
    cursor: pointer;
    font-size: 2.8rem;
    padding: 10px 38px 10px 20px;
    transition: all .3s;
}

.lst-accordion>li.is-active .lst-accordion__title {
    color: var(--color-white);
}

.lst-accordion__icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    border-radius: 50%;
    transition: all .3s;
}

.lst-accordion__icon:before {
    font-size: 1.6rem;
    position: relative;
    top: -3px;
}

.lst-accordion__content {
    background: var(--color-white);
    padding-bottom: 20px;
}

.lst-accordion__inner {
    display: table;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
    padding: 15px 20px;
}

.lst-accordion__inner:last-of-type {
    border-bottom: 0;
}

.lst-accordion__content .grid-row>div {
    margin-bottom: 20px;
}

.lst-accordion__content__year, .lst-accordion__content__txt {
    display: table-cell;
    vertical-align: top;
    font-size: 1.5rem;
    text-align: left;
}

.lst-accordion__content__year {
    font-weight: bold;
    width: 6.8%;
    padding-right: 20px;
    box-sizing: border-box;
}

.lst-accordion__title a {
    color: var(--color-black);
    text-decoration: none;
}

.is-active .lst-accordion__title a {
    color: var(--color-white);
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-accordion {
        padding: 20px 0 0;
    }
    .lst-accordion>li {
        border-top: 1px solid #ccc;
    }
    .lst-accordion>li:last-child {
        border-bottom: 1px solid #ccc;
    }
    .lst-accordion__title {
        font-size: 1.9rem;
        position: relative;
        padding: 15px 7px;
    }
    .lst-accordion__icon {
        right: 10px;
    }
    .lst-accordion__icon:before {
        font-size: 2.0rem;
        top: 2px;
    }
    .lst-accordion__content {
        padding: 10px 0;
    }
    .lst-accordion__inner {
        padding: 10px 0;
        border-bottom: 0;
    }
    .lst-accordion__content .grid-row>div {
        margin-bottom: 10px;
    }
    .lst-accordion__content__year, .lst-accordion__content__txt {
        font-size: 1.2rem;
        display: block;
        text-align: left;
    }
    .lst-accordion__content__year {
        width: 100%;
        margin-bottom: 5px;
    }
}

/* accordion02
---------------------------------------*/
.lst-accordion--second{
    padding: 0 0 40px;
    border-bottom: 1px solid var(--color-border);
}
.lst-accordion--second .lst-accordion__content{
    padding: 20px 30px 0;
}
.lst-accordion--second .local-nav__lst{
    padding: 0;
    border: 0;
}
.lst-accordion--second > li,
.lst-accordion--second >li:last-child{
    border: 0;
}
.lst-accordion--second > li + li{
    margin-top: 24px;
}
.lst-accordion--second > li.is-active{
    background-color: var(--color-light-gray);
}
.lst-accordion--second .lst-accordion__title{
    font-size: 1.6rem;
    color: var(--color-black);
    border: 1px solid var(--color-border);
    padding: 15px 38px 15px 30px;
}
.lst-accordion--second > li.is-active .lst-accordion__title{
    border: 1px solid var(--color-light-gray);
}
.lst-accordion--second > li.is-active .lst-accordion__title a,
.lst-accordion--second > li.is-active .lst-accordion__title{
    color: var(--color-black);
}
.lst-accordion--second .lst-accordion__icon,
.lst-accordion--second > li.is-active .lst-accordion__icon{
    line-height: 1;
    color: var(--color-primary);
}
.lst-accordion--second .lst-accordion__icon:before{
    font-size: 1.2rem;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-accordion--second{
        padding-bottom: 20px;
    }
    .lst-accordion--second .lst-accordion__title{
        font-size: 1.4rem;
        padding: 10px 25px 10px 10px;
    }
    .lst-accordion--second .lst-accordion__icon{
        top: 43%;
    }
    .lst-accordion--second > li + li{
        margin-top: 20px;
    }
}
/* Tab */

/*--------------------------------------*/

.box-tab {
    margin-top: 85px;
}

.box-tab__head {
    display: table;
    width: 100%;
    border-bottom: 3px solid var(--color-primary);
    padding: 0 1px;
    table-layout: fixed;
    box-sizing: border-box;
}

.box-tab__wrp {
    margin-bottom: 50px;
}

.box-tab__head li {
    display: table-cell;
    text-align: center;
    padding: 0 2px;
}

.box-tab__head li a {
    display: table;
    background: var(--color-light-gray);
    padding: 10px;
    font-size: 1.5rem;
    letter-spacing: 0;
    color: #7D7D7D;
    line-height: 1.2;
    width: 100%;
    box-sizing: border-box;
    min-height: 56px;
}

.box-tab__head li a span {
    display: table-cell;
    vertical-align: middle;
}

.box-tab__head li a.is-active, .box-tab__head li a:hover {
    text-decoration: none;
    background: var(--color-primary);
    color: var(--color-white);
}

.box-tab__content {
    display: none;
}

.box-tab__content.is-opened {
    display: block;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-tab {
        margin: 30px -20px;
    }
    .box-tab__content {
        padding: 0 20px;
    }
    .box-tab__wrp {
        overflow-x: auto;
        margin-bottom: 20px;
        padding-bottom: 5px;
    }
    .box-tab__wrp::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: #f5f5f5;
    }
    .box-tab__wrp::-webkit-scrollbar {
        height: 5px;
        background-color: #f5f5f5;
    }
    .box-tab__wrp::-webkit-scrollbar-thumb {
        border-radius: 10px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
        background-color: #999;
    }
    .box-tab__head {
        border-bottom-width: 1px;
    }
    .box-tab__head li {
        width: 80px;
        box-sizing: border-box;
    }
    .box-tab__head li a {
        font-size: 1.1rem;
        padding: 7px 4px;
        letter-spacing: 0;
        line-height: 1.1363;
        min-height: 50px;
    }
    .box-tab__head li a:hover {
        background: var(--color-light-gray);
        color: #999;
    }
    .box-tab__head li a.is-active {
        text-decoration: none;
        background: var(--color-primary);
        color: var(--color-white);
    }
}

/* pulldown */

.select-box {
    position: relative;
    display: inline-block;
}

.select-box select {
    width: 220px;
    text-align: center;
    text-align-last: center;
    font-size: 1.5rem;
    line-height: 30px;
    color: var(--color-primary);
    padding: 10px 30px 8px 20px;
    border: 1px solid var(--color-table-border);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}

.select-box select option {
    text-align: center;
}

.select-box select::-ms-expand {
    display: none;
}

.select-box:after {
    content: '\f107';
    font-family: "gaishi";
    font-size: 1.5rem;
    line-height: 0;
    color: var(--color-primary);
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .select-box select {
        width: 200px;
        font-size: 1.2rem;
        padding: 5px 25px 3px;
    }
    .select-box:after {
        font-size: 1.2rem;
        right: 12px;
    }
}

/* 2-6. Project
-------------------------------------------------- */

/* localnav */
.wrp-local-nav {
    width: 100%;
    text-align: right;
    margin: 50px 0;
}
.wrp-local-nav.is-fixed {
    position: fixed;
    bottom: 0;
    z-index: 10;
    margin: 0;
    max-height: 100vh;
    max-height: calc(var(--vh, 1vh) * 100);
    overflow: auto;
}
.wrp-local-nav.is-fixed .local-nav {
    box-shadow: 0px -11px 20px -10px rgba(0, 0, 0, 0.2);
    border: none;
}
.wrp-local-nav.is-fixed .local-nav__btn {
    display: inline-block;
    transform: translateX(0);
    -webkit-transform: translateX(0);
}

.local-nav {
    width: 100%;
    background-color: var(--color-white);
    transition: height 0.5s ease;
    height: auto;
    display: none;
    border: 1px solid var(--color-border);
}
.local-nav[aria-hidden=false] {
    display: block;
    visibility: visible;
}
.local-nav__btn {
    transform: translateX(110%);
    transition: transform 0.3s ease;
    background: var(--color-white);
    padding: 20px 60px;
    color: var(--color-black);
    box-shadow: 0px -11px 20px -10px rgba(0, 0, 0, 0.2);
    text-align: right;
}
@media screen and (max-width: 768px) {
    .local-nav__btn {
        padding: 10px 20px;
        width: auto;
        font-size: 1.3rem;
    }
}
.local-nav__btn .icon-menu {
    margin-right: 10px;
    position: relative;
    transition: all 0.4s;
}
.local-nav__btn.is-active .icon-menu span:nth-of-type(1) {
    transform: translateY(5px) rotate(-45deg);
}
.local-nav__btn.is-active .icon-menu span:nth-of-type(2) {
    opacity: 0;
}
.local-nav__btn.is-active .icon-menu span:nth-of-type(3) {
    transform: translateY(-5px) rotate(45deg);
}
.local-nav__btn.is-active .icon-menu span {
    background: #57595d;
}
.local-nav__inner {
    padding: 60px 20px;
}
.local-nav__lst {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--color-border);
}
.local-nav__lst + .local-nav__lst {
    margin-top: 30px;
}
.local-nav__item {
    box-sizing: border-box;
    width: 25%;
    padding-left: 10px;
    text-indent: -10px;
    padding-right: 10px;
}
.local-nav__lst--2col .local-nav__item {
    box-sizing: border-box;
    width: 50%;
}
@media screen and (max-width: 768px) {
    .local-nav__item {
        width: 50%;
        margin-bottom: 5px;
        font-size: 1.2rem;
    }
}
.local-nav__item button {
    color: var(--color-black);
}
.local-nav__item .icon{
    color: var(--color-primary);
    font-size: 1.2rem;
    position: relative;
    top: -2px;
}
.local-nav__item.current .icon:before {
    content: "";
    color: var(--color-primary);
    width: 0.5em;
    height: 0.5em;
    background-color: var(--color-primary);
    margin: 0 6px 2px 0;
    position: relative;
    left: -2px;
}
.local-nav__item.current a {
    color: var(--color-primary);
}
.local-nav__back {
    margin-top: 40px;
    text-align: center;
    color: var(--color-black);
}
.local-nav__back .icon{
    color: var(--color-primary);
    font-size: 1.2rem;
    position: relative;
    top: -2px;
    margin-right: 5px;
}
@media screen and (max-width: 768px) {
    .local-nav__back {
        margin-top: 20px;
    }
    .local-nav__item.current .icon:before{
        margin-bottom: 0;
    }
}
.local-nav__back a {
    color: var(--color-black);
}
.local-nav a {
    color: var(--color-black);
}
.local-nav a:hover {
    color: var(--color-primary);
}

.local-nav__wrap{
    display: flex;
}
.local-nav__wrap--border{
    border-bottom: 1px solid var(--color-border);
}
.local-nav__inner--02{
    padding: 40px 20px;
}
.local-nav__wrap + .local-nav__wrap{
    margin-top: 30px;
}
.local-nav__title{
    width: 25%;
    font-size: 1.6rem;
    line-height: 2;
    color: var(--color-gray);
    text-align: left;
}
.local-nav__wrap .local-nav__lst{
    flex: 1;
    border: 0;
    padding: 0;
}
.local-nav__lst--3col .local-nav__item{
    width: 33.33333%;
}
.local-nav__wrap + .local-nav__item{
    margin-bottom: 5px;
}
@media screen and (max-width: 1024px) {
    .wrp-local-nav.is-fixed{
        max-height: 88vh;
        max-height: calc(var(--vh, 1vh) * 100 - 70px);
    }
}

@media screen and (max-width: 768px) {
    .local-nav__inner--02{
        padding: 20px;
    }
    .lst-accordion--second .lst-accordion__content{
        padding: 15px 0 0;
    }
    .local-nav__item .icon{
        left: 2px;
    }
    .local-nav__wrap{
        display: block;
        padding: 0 10px
    }
    .local-nav__title{
        margin-bottom: 10px;
        font-size: 1.4rem;
    }
    .local-nav__wrap + .local-nav__wrap{
        border-top: 1px solid var(--color-border);
        padding-top: 17px;
        margin-top: 17px;
    }
    .local-nav__title{
        width: auto;
    }
    .local-nav__lst--3col .local-nav__item{
        width: 50%;
    }
}

/*

.box-message {
	position: relative;
	padding-right: 49.15%;
}

.box-message__inner {
	padding-right: 20px;
}

.box-message__thumb {
	display: inline-block;
	width: 48.25%;
	text-align: right;
	position: absolute;
	top: 0;
	right: 0;
}

.box-message .hdg-lv4 {
	font-weight: normal;
	margin: 48px 0 30px;
}

.box-message p {
	font-size: 1.5rem;
	line-height: 25px;
	letter-spacing: 0.06em;
}

p.box-message__signature {
	font-size: 1.2rem;
	margin-top: 20px;
}

.box-message__signature span {
	display: block;
	margin-top: 12px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
	.box-message {
		padding-right: 0;
	}
	.box-message__inner {
		padding-right: 0;
	}
	.box-message__thumb {
		display: block;
		width: 100%;
		text-align: center;
		position: relative;
		margin: 25px 0 20px;
	}
	.box-message .hdg-lv4 {
		margin: 20px 0 10px;
	}
	.box-message p {
		font-size: 1.3rem;
		line-height: 20px;
	}
} */

/* /news/
--------------------------------------*/


.lst-news__item {
    display: table;
    width: 100%;
    padding: 20px 0;
    border-bottom: 1px solid #dfdfdf;
}

a.lst-news__item:hover {
    text-decoration: none;
    opacity: .6;
}

.lst-news.js-lst-news-top li:nth-of-type(n+6), .lst-news.js-ir-news-top li:nth-of-type(n+6) {
    /*display: none;*/
}

@media only screen and (min-width: 768px) {}

.lst-news__info {
    display: table-cell;
    width: 260px;
    vertical-align: top;
}

[lang="zh-cmn-Hans"] .lst-news__info, [lang="en"] .lst-news__info {
    width: 285px;
}

.lst-news__date {
    font-size: 1.5rem;
    font-family: 'Roboto Condensed', sans-serif;
    color: var(--color-black);
    letter-spacing: 0.12em;
    position: relative;
    top: 2px;
}

.lst-news__label {
    font-size: 1.2rem;
    color: #000;
    padding: 5px 3px 2px;
    background: var(--color-category-tag);
    width: 110px;
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    border-radius: 3px;
    float: right;
}

.lst-news__text {
    display: table-cell;
    vertical-align: top;
    padding-left: 20px;
    font-size: 1.5rem;
    color: var(--color-black);
    position: relative;
    top: 3px;
}

.lst-news__text .icon {
    color: var(--color-primary);
}

@media only screen and (min-width: 768px) and (max-width: 1240px) {
    .lst-news__text {
        width: calc(100% - 260px);
    }
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-news__item, .lst-news__info, .lst-news__text {
        display: block;
        width: 100%;
    }
    .lst-news__item {
        padding: 10px 0;
    }
    .lst-news__info {
        margin-bottom: 5px;
    }
    .lst-news__text {
        padding-left: 0;
        font-size: 1.0rem;
        line-height: 16px;
        top: 0;
    }
    .lst-news__date {
        font-size: 0.8rem;
    }
    .lst-news__label {
        float: none;
        font-size: 0.8rem;
        min-width: 60px;
        width: auto;
        margin-left: 10px;
        padding: 3px 5px 0;
    }
    .lst-news__label--01 {
        width: auto;
    }
}

/*/news/detail/
------------------------------------------*/

.box-map-simple {
    margin: 30px 0;
}

.box-map-simple .hdg-lv5-01 {
    font-size: 1.5rem;
    margin-bottom: 5px;
}

.box-map-simple__link {
    margin-top: 40px;
    font-size: 1.5rem;
    word-break: break-all;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-map-simple {
        margin: 25px 0;
    }
    .box-map-simple .hdg-lv5-01 {
        font-size: 1.4rem;
    }
    .box-map-simple__link {
        margin-top: 15px;
        font-size: 1.3rem;
    }
}

/*-----------------------------------------*/

/*---------------------------------*/

.box-more {
    padding: 45px 0 50px;
    border-top: 1px solid #aeb6bb;
    border-bottom: 1px solid #aeb6bb;
}

.box-more__title {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 15px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-more {
        padding: 20px 0;
    }
    .box-more__title {
        font-size: 1.4rem;
        margin-bottom: 10px;
    }
}

/*/sustainability/
----------------------------------------------*/

/* ãƒ•ã‚¡ã‚¤ãƒ«æ§‹é€ ç¢ºèªã™ã‚‹ */

.box-main-image--sustainability {
    background: url(/resource/img/sustainability/index-bg-main01.jpg) no-repeat center;
    background-size: cover;
}

.lst-group-button {
    margin: 50px 0;
}

.lst-group-button>.grid-row li {
    margin-bottom: 15px;
}

.lst-group-button .btn--large {
    padding: 27px 35px 27px 20px;
    letter-spacing: 0;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-group-button {
        margin: 25px 0 30px;
    }
    .lst-group-button>.grid-row {
        margin: 0 -5px;
    }
    .lst-group-button>.grid-row li {
        margin-bottom: 10px;
        padding: 0 5px;
    }
    .lst-group-button .btn--large {
        padding: 10px;
    }
    .lst-group-button .btn {
        font-size: 1.2rem;
        letter-spacing: 0;
    }
    .lst-group-button .btn span {
        padding-right: 10px;
    }
}

/*----------------------------*/

/*--------------------------------------------*/

/* /search/index.html
----------------------------------------------*/

.frm-search {
    background: var(--color-light-gray);
    padding: 75px 20px 65px;
}

header .frm-search {
    background: none;
    padding: 0;
}

.frm-search__content {
    display: block;
    max-width: 580px;
    margin: 0 auto;
}
.frm-search__content .frm-content {
    width: 100%;
}


.frm-search__title {
    text-align: center;
    font-size: 3.5rem;
    letter-spacing: 0.06em;
    font-weight: normal;
    line-height: 1.28;
    margin-bottom: 30px;
    display: block;
}

.frm-search__input {
    width: 100%;
    font-size: 1.5rem;
    line-height: 26px;
    color: #666;
    padding: 10px 60px 10px 15px;
    height: 50px;
    box-sizing: border-box;
}

.frm-search__button {
    position: absolute;
    right: 0;
    top: 1px;
    width: 49px;
    height: 48px;
    font-size: 1.5rem;
    background: #081f2e;
    color: var(--color-white);
}

.frm-search__checkbox {
    margin-top: 20px;
}

.frm-search__checkbox input[type="checkbox"]:checked+span {
    background: var(--color-primary);
}

.frm-search__checkbox input[type="checkbox"]+span {
    position: relative;
    top: 0;
    left: 0;
    width: 13px;
    height: 13px;
    margin-right: 5px;
    display: inline-block;
    border: 1px solid var(--color-primary);
    box-sizing: border-box;
    border-radius: 3px;
}

.frm-search__checkbox input[type="checkbox"]:checked+span:before {
    font-family: "gaishi";
    content: '\e80a';
    position: absolute;
    top: 1px;
    left: 1px;
    font-size: 0.9rem;
    line-height: 1;
    color: var(--color-white);
}

.frm-search__checkbox .checkbox {
    color: var(--color-primary);
}

.frm-search__checkbox>li {
    display: inline-block;
    margin-right: 45px;
    margin-bottom: 10px;
    color: var(--color-primary);
}

#ss-form div.ss-categories {
    margin-top: 0;
}

#ss-form div.ss-categories fieldset.ss-category-field {
    margin: 0;
}

.ss-category-field .frm-row {
    padding: 0;
}

.ss-category-field .frm-title {
    padding: 0;
    float: none;
}

.ss-category-field .frm-content {
    padding: 25px 0;
    float: none;

}

div#ss-main {
    width: 100%;
    font-family: "Hiragino Kaku Gothic Pro", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic, "ãƒ¡ã‚¤ãƒªã‚ª", "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", sans-serif;
    text-align: left!important;
}


@media screen and (min-width: 768px) {
    div#ss-main {
        width: 100%;
    }
}

#ss-preview  {
    display: none;
}

div#ss-navi {
    padding: 0;
    margin-bottom: 0;
    border: none;
    background-color: var(--color-white);
    font-size: 1.5rem;
}
div.ss-pagination  {
    text-align: center;
    margin-top: 50px;
}

div.ss-pagination .ss-page {
    border: none;
    padding: 0;
    width: auto;
    color: var(--color-primary);
}

div.ss-pagination .ss-page>span {
    display: inline-block;
    padding: 6px 12px;
    margin: 0;
    background: var(--color-white);
    color: var(--color-primary);
}

div.ss-pagination .ss-page.ss-select-page>span {
    background: var(--color-primary);
    color: var(--color-white);
}

.box-result__sort span {
    font-weight: normal;
    cursor: pointer;
}

.box-result__sort span.selected {
    font-weight: bold;
    cursor: default;
}

.lst-result__thumb img {
    width: 100%;
}

.frm-search--02 {
    background: none;
    padding: 100px 0 50px;
}

.frm-search--02 .frm-search__title {
    text-align: left;
    margin-bottom: 10px;
    font-size: 2.4rem;
}

.frm-search--02 input {
    padding: 18px 60px 18px 10px;
    box-sizing: border-box;
    width: 100%;
}

.frm-search--02 #btn-search {
    position: absolute;
    right: 0;
    top: 1px;
    width: 59px;
    height: 58px;
    font-size: 1.6rem;
    background: var(--color-primary);
    color: var(--color-white);
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .frm-search__title {
        font-size: 2.0rem;
        margin-bottom: 20px;
    }
    .frm-search {
        padding: 30px 15px 10px;
    }
    .frm-search__input {
        font-size: 1.2rem;
        line-height: 13px;
        padding: 10px 40px 10px 10px;
        height: 40px;
    }
    .frm-search__button {
        width: 39px;
        height: 39px;
        font-size: 1.2rem;
    }
    .frm-search__checkbox {
        margin: 8px -5px 0;
    }
    .frm-search__checkbox>li {
        position: relative;
        display: inline-block;
        width: 50%;
        float: left;
        margin-right: 0;
        margin-bottom: 6px;
        padding: 0 5px 0 20px;
        box-sizing: border-box;
    }
    .frm-search__checkbox .checkbox {
        padding: 0 5px 0 20px;
        display: block;
        position: relative;
    }
    .frm-search__checkbox input[type="checkbox"]+span {
        position: absolute;
        left: 5px;
        top: 3px
    }
    .frm-search--02 {
        padding: 38px 0 24px;
    }
    .frm-search--02 input {
        padding: 10px;
    }
    .frm-search--02 .frm-search__title {
        font-size: 1.6rem;
    }
    .frm-search--02 #btn-search {
        width: 39px;
        height: 39px;
        font-size: 1.4rem;
    }
}

.box-result .hdg-lv2 span {
    font-weight: bold;
    color: var(--color-primary);
}

.box-result__info {
    position: relative;
    margin-bottom: 15px;
}

.box-result__sort {
    display: inline-block;
    float: right;
    font-size: 1.5rem;
    line-height: 26px;
    color: var(--color-primary);
}

.box-result__number {
    float: left;
    font-size: 1.5rem;
    line-height: 26px;
    color: var(--color-black);
}

.box-result__number span {
    font-size: 2.0rem;
    color: var(--color-primary);
    font-weight: bold;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-result__number {
        font-size: 1.2rem;
        line-height: 13px;
    }
    .box-result__number span {
        font-size: 1.7rem;
    }
    .box-result__sort {
        font-size: 1.2rem;
        line-height: 13px;
    }
    .box-result__info {
        margin-bottom: 15px;
    }
}

.lst-result {
    border-top: 1px dashed #b2b2b2;
}

.lst-result__item {
    display: table;
    width: 100%;
    table-layout: fixed;
    padding: 40px 0;
    border-bottom: 1px dashed #b2b2b2;
}

.lst-result__thumb {
    display: table-cell;
    width: 180px;
    vertical-align: top;
    line-height: 1;
}

.lst-result__content {
    display: table-cell;
    padding-left: 20px;
    vertical-align: top;
}

.lst-result__date {
    font-size: 1.3rem;
    line-height: 20px;
    color: #666;
    margin-bottom: 12px;
}

div#ss-main .lst-result__date a {
    color: #000;
}

.lst-result__title {
    font-size: 2.0rem;
    line-height: 24px;
    font-weight: bold;
    color: var(--color-black);
    margin-bottom: 15px;
}

.lst-result__title span {
    color: var(--color-primary);
}

.lst-result__text {
    font-size: 1.5rem;
    line-height: 20px;
    color: var(--color-black);
    margin-bottom: 8px;
}

.lst-result__text span {
    color: var(--color-primary);
}

.lst-result__link {
    font-size: 1.2rem;
    line-height: 20px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-result__item {
        padding: 20px 0 12px;
    }
    .lst-result__thumb {
        width: 31%;
    }
    .lst-result__content {
        padding-left: 10px;
    }
    .lst-result__date {
        font-size: 1.0rem;
        line-height: 1;
        margin-bottom: 8px;
    }
    .lst-result__title {
        font-size: 1.4rem;
        line-height: 20px;
        margin-bottom: 6px;
    }
    .lst-result__text {
        font-size: 1.2rem;
        line-height: 15px;
        margin-bottom: 6px;
    }
    .lst-result__link {
        font-size: 1.0rem;
    }
    .lst-result__link a {
        word-wrap: break-word;
    }
}

.box-pager {
    display: block;
    text-align: center;
    margin-top: 50px;
}

.box-pager__list li {
    display: inline-block;
}

.box-pager__list li a {
    display: block;
    padding: 6px 12px;
    margin: 0 2px;
}

.box-pager__list li a:hover, .box-pager__list .current a {
    background: var(--color-primary);
    color: var(--color-white);
    text-decoration: none;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-pager {
        margin-top: 20px;
    }
    .box-pager__list li a {
        font-size: 1.4rem;
        padding: 5px 10px;
    }
}



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

.modal .modal__bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.7);
    cursor: pointer;
}
.modal .modal__bg--ie {
    background: rgba(91, 122, 142, 0.7);
}

.modal .modal__wrp {
    background: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 770px;
    max-width: 90%;
    max-height: 90%;
    padding: 10px;
}

.frm-content select,.frm-content input[type="select"],.frm-content input[type="text"], .frm-content input[type="tel"], .frm-content input[type="number"], .frm-content input[type="url"], .frm-content input[type="email"], .frm-content select {
    width: 480px;
    max-width: 100%;
    vertical-align: middle;
    padding: 8px;
    vertical-align: middle;
    border: 1px solid #e7e9ee;
    box-sizing: border-box;
}


@media screen and (max-height: 530px) {
    .modal .modal__wrp {
        overflow-y: scroll;
    }
}


.modal p.txt-normal {
    margin: 20px 0 25px;
}

.modal .icon-close {
    position: absolute;
    color: var(--color-primary);
    width: 60px;
    height: 60px;
    top: 0;
    right: 0;
    padding-right: 0;
    text-align: center;
    font-size: 4.0rem;
    line-height: 1;
}

@media screen and (min-width: 1025px) {
    .modal .icon-close {
        transition: opacity 0.3s ease-out;
    }
    .modal .icon-close:hover {
        transition: opacity 0.3s ease-in;
        opacity: 0.7;
    }
}

@media screen and (max-width: 767px) {
    .modal .icon-close {
        width: 20px;
        height: 50px;
        font-size: 3.0rem;
        right: 10px;
    }
}

.modal.modal--visible {
    display: block;
}

.modal__inner {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.modal__inner .modal__content {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    border: none;
    width: 100%;
    height: 100%;
}

.modal__title {
    position: relative;
    background: var(--color-white);
    color: #000;
    padding: 10px;
    font-weight: bold;
    font-size: 2.0rem;
}

.modal__container{
    padding: 3vw;
}

@media screen and (max-width: 767px) {
    .modal__title {
        padding: 5px;
        font-size: 1.6rem;
    }
}



/* 2021/2/19 caily add ********************************************* */

.box-heading-image-wrp--wide .box-heading-image-inner{
    width: 85.71%;
}
.box-heading-report{
    position: absolute;
    right: 5%;
    top: 30%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 2rem;
    max-width: 31%;
    color: var(--color-white);
}
.box-heading-report .number{
    font-size: 5.2rem;
    font-weight: bold;
    line-height: 1;
    margin: 0 0.2em 0 0.5em;
    white-space: nowrap;
}
.box-heading-report .date{
    font-size: 1.2rem;
    align-self: flex-end;
}
.box-heading-report .unit{
    font-size: 1.8rem;
}
@media only screen and (max-width: 1024px) {
    .box-heading-report{
        position: static;
        margin: 20px 0 0;
        justify-content: center;
        max-width: none;
        font-size: 1.3rem;
    }
    .box-heading-report .number{
        font-size: 3.2rem;
        margin: 0 0.2em 0 0.5em;
    }
    .box-heading-report .date{
        font-size: 1.2rem;
        align-self: flex-end;
    }
    .box-heading-report .unit{
        font-size: 1.2rem;
    }
}
/*--------------*/
.btn-medium{
    width: 380px;
    padding: 17px 24px;
    text-align: center;
}
.btn--border-gray {
    border: 1px solid var(--color-border);
}
@media only screen and (max-width: 1024px) {
    .btn-medium{
        width: 300px;
    }
}
@media only screen and (max-width: 767px) {
    .btn-medium{
        width: 100%;
        padding: 13px 15px;
    }
}

/*--------------*/
.btn--fourth{
    background: var(--color-white);
    color: var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    text-align: center;
    font-size: 1.6rem;
    width: auto;
    max-width: 380px;
    min-width: 0;
    width: 100%;
    padding: 13px 24px 13px 30px;
    line-height: 1.375;
}
@media only screen and (max-width: 767px) {
    .btn--fourth{
        max-width: none;
        padding: 7px 15px;
        font-size: 1.3rem
    }
}

/*--------------*/
.txt-filesize{
    display: inline-block;
}
a:hover .txt-filesize{
    text-decoration: inherit;
}
.txt-block{
    display: inline-block!important;
    padding: 0!important;
    margin: 0!important;
    text-decoration: inherit!important;
}
.txt-block:before,
.txt-block:after{
    display: none!important;
}

/*--------------*/
.bnr-philanthropy{
    background: var(--color-light-gray);
    padding: 35px 60px;
    display: flex;
    box-sizing: border-box;
    flex-direction: row-reverse;
    color: var(--color-black);
}
a.bnr-philanthropy:hover{
    color: var(--color-black);
    text-decoration: none;
}
a.bnr-philanthropy:hover .btn--link span:before {
    right: -10px;
}
.bnr-philanthropy__img-wrp{
    width: 36.372%;
}
.bnr-philanthropy__content{
    flex: 1;
    margin-right: 20px;
}
.bnr-philanthropy__title {
    font-size: 2.2rem;
    font-weight: bold;
}
.bnr-philanthropy__txt {
    margin-top: 20px;
}
.bnr-philanthropy__btn .btn {
    display: inline-block;
    margin-top: 25px;
    padding: 0 15px 0 0;
    min-width: 0;
    width: auto;
    color: var(--color-primary)!important;
}
@media only screen and (max-width: 767px) {
    .bnr-philanthropy{
        padding: 20px;
        display: flex;
        box-sizing: border-box;
        flex-direction: column;
    }
    .bnr-philanthropy__img-wrp{
        width: auto;
        margin-bottom: 20px;
    }
    .bnr-philanthropy__img-wrp img{
        width: 100%;
    }
    .bnr-philanthropy__content{
        margin-right: 0;
    }
}

/*--------------*/
.box-contact__desc{
    display: table-cell;
    box-sizing: border-box;
    width: 50%;
    padding: 0 20px 0 60px;
    color: var(--color-white);
    vertical-align: middle;
    text-align: left;
}
@media only screen and (min-width: 1px) and (max-width: 767px){
    .box-contact__desc {
        display: block;
        width: 100%;
        padding: 0 0 30px;
    }
}
.lst-card {
    margin-right: -7px;
    margin-left: -7px;
    padding: 80px 0 60px;
}
.lst-card__item {
    padding-left: 7px;
    padding-right: 7px;
}
.lst-card__item__inner {
    color: var(--color-black);
    background: var(--color-white);
    padding: 24px;
    text-align: left;
    display: block;
}
a.lst-card__item__inner:hover,
a.lst-card__item__inner{
    text-decoration: none;
    color: var(--color-black);
}
a.lst-card__item__inner:hover .btn--link span:before {
    right: -10px;
}
.lst-card__item__title{
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.35;
}
.lst-card__item__text{
    margin: 10px 0;
    font-size: 1.4rem;
}
.lst-card__item__link a{
    display: block;
    margin: 10px 0;
    line-height: 1.375;
}
.lst-card__item__button{
    display: block;
    margin-top: 20px;
}
.lst-card__item__button .btn {
    width: 100%;
    padding: 0;
    color: var(--color-primary);
    display: block;
    text-align: left;
}
.lst-card__item__button .btn--link span{
    display: inline-block;
}
.lst-card__item--withimage .lst-card__item__inner{
    display: flex;
    flex-direction: row-reverse;
    padding: 0;
}
.lst-card__item--withimage .lst-card__item__image{
    flex: 1;
}
.lst-card__item--withimage .lst-card__item__wrapper{
    padding: 24px;
    width: calc(50% + 7px);
    box-sizing: border-box;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .lst-card {
        padding: 25px 0;
    }
    .lst-card__item__inner{
        padding: 15px;
    }
    .lst-card__item__title{
        padding: 0 0 10px;
        font-size: 1.4rem;
    }
    .lst-card__item__text {
        font-size: 1.2rem;
    }
    .lst-card__item__button{
        padding: 10px 0 0;
        margin-top: 0;
    }
    .lst-card__item__button .btn {
        font-size: 1.2rem;
    }
    .lst-card__item--withimage .lst-card__item__wrapper{
        padding: 15px 0 15px 15px;
        width: 50%;
        box-sizing: border-box;
    }
}



/*
.box-message
*/
.box-main-message__inner{
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    position: relative;
    margin: 180px 0 80px;
}
.box-main-message__inner::before {
    content: "";
    width: 80vw;
    height: 100%;
    background-color: var(--color-light-gray);
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: 5vw;
}
.box-main-message__image-wrap {
    flex: 0 55.32%;
    margin: 0 0 0 3.33%;
    position: relative;
}
.box-main-message__image {
    padding-bottom: 26vw;
}
.box-main-message__body {
    flex: 1;
    max-width: 450px;
    margin: 0 20px;
    box-sizing: border-box;
    position: relative;
    padding-bottom: 5vw;
    align-self: flex-end;
}
.box-main-message__title{
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 0 0 40px;
}
.box-main-message__button{
    position: relative;
    -webkit-transform: translateY(51%);
    transform: translateY(51%);
}
.box-main-message__text{
    font-size: 2rem;
    margin-bottom: 30px;
}
@media only screen and (max-width: 1024px) {
    .box-main-message__image {
        padding-bottom: 36.2vw;
    }
}

@media only screen and (max-width: 767px) {
    .box-main-message__inner{
        align-items: flex-start;
        flex-direction: column;
        margin: 60px 0 40px;
    }
    .box-main-message__image-wrap{
        flex: auto;
        width: 100%;
        width: calc(100% - 20px);
        margin: 0 0 0 20px;
        position: relative;
    }
    .box-main-message__body{
        max-width: none;
        width: calc(100% - 40px);
    }
    .box-main-message__image {
        padding-bottom: calc((100vw - 20px) * 0.4813);
    }
    .box-main-message__inner::before{
        display: none;
    }
    .box-main-message__image-wrap::before{
        content: "";
        width: 100%;
        height: 100%;
        background-color: var(--color-light-gray);
        z-index: -1;
        position: absolute;
        left: -20px;
        top: -30px;
    }
    .box-main-message__title{
        font-size: 1.6rem;
        margin: 15px 0;
    }
    .box-main-message__text{
        font-size: 1.4rem;
        margin-bottom: 15px;
    }
    .box-main-message__button{
        position: relative;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        margin-top: 15px;
    }
}


/* btn-pict */
.btn-pict {
    background: var(--color-white);
    color: var(--color-primary);
    display: flex;
    align-items: center;
    position: relative;
    padding: 10px 0;
    -webkit-transition: all .3s;
    transition: all .3s;
    box-sizing: border-box;
    overflow: hidden;
}
.btn-pict::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-primary);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    visibility: hidden;
    -webkit-transition: all .4s;
    transition: all .4s;
}
.btn-pict::after {
    content: '\f105';
    font-family: 'gaishi' !important;
    position: absolute;
    right: 30px;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .4s;
    transition: all .4s;
}
.btn-pict .icon{
    height: 80px;
    width: 100px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 2.6rem;
    border-right: solid 1px var(--color-border);
    position: relative;
    z-index: 1;
}
.btn-pict__text {
    font-size: 1.8rem;
    line-height: 1.4;
    margin-left: 27px;
    position: relative;
    width: calc(100% - 100px);
    padding-right: 40px;
    z-index: 1;
}
.btn-pict:hover::before {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.btn-pict:hover {
    text-decoration: none;
}
.btn-pict:hover::after {
    right: 15px;
}
.btn-pict:hover .icon,
.btn-pict:hover .btn-pict__text,
.btn-pict:hover::after {
    color: var(--color-white);
}
@media only screen and (min-width: 768px) and (max-width: 1199px){
    .info-sec-card .grid-col--4 {
        width: 50%;
    }
}
@media only screen and (min-width: 1px) and (max-width: 767px){
    .btn-pict .icon {
        font-size: 1.8rem;
        height: 30px;
        width: 36px;
    }
    .btn-pict__text {
        font-size: 1.3rem;
        margin-left: 4px;
    }
    .btn-pict::after {
        right: 15px;
    }
}

/* box card 03*/
.box-card-03 {
    margin: 0 -1px;
    padding-bottom: 75px;
}
.box-card-03::after {
    content: "";
    clear: both;
    display: block;
}
.box-card-03__item {
    float: left;
    width: 33.3333%;
    padding: 0 1px;
    box-sizing: border-box;
    position: relative;
}
.box-card-03__image {
    display: block;
    overflow: hidden;
}
.box-card-03__image img {
    -webkit-transition: all .6s;
    transition: all .6s;
    width: 100%;
}
.box-card-03__item:hover .box-card-03__image img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.box-card-03__item:hover .btn {
    color: var(--color-white);
}
.box-card-03__item:hover .btn::after {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.box-card-03__item:hover .btn--link span:before {
    right: -15px;
}
.box-card-03__button {
    position: absolute;
    left: 44px;
    right: 44px;
    bottom: -44px;
}
.box-card-03__button .btn {
    line-height: 1.4;
    min-width: 100%;
    border: none;
    text-align: center;
    padding: 13px 30px;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.box-card-03__button .btn span {
    width: 100%;
}
.box-card-03--col2 .box-card-03__item {
    width: 50%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .box-card-03__button {
        left: 30px;
        right: 30px;
    }
    .box-card-03__button .btn {
        font-size: 1.3rem;
        padding: 13px 15px;
    }
}
@media only screen and (min-width: 1px) and (max-width: 767px){
    .box-card-03 {
        margin: 0 -5px;
        padding-bottom: 0;
    }
    .box-card-03__item {
        width: 50%;
        padding: 0 5px;
        margin-bottom: 10px;
    }
    .box-card-03__image img {
        width: 100%;
    }
    .box-card-03__button {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: 100%;
    }
    .box-card-03__button .btn {
        min-height: 57px;
        padding: 10px 5px;
    }
    .box-card-03__item .btn--link span:before {
        right: 10px
    }
    .box-card-03__item:hover .btn--link span:before {
        right: 0;
    }
    .box-card-03--col2 .box-card-03__item {
        width: 100%;
    }
}

.box-card-04__image {
    position: relative;
}

.box-card-04__image img{
    width: 100%
}
.box-card-04__title {
    display: flex;
    align-items: center;
    padding: 10px 24px;
    width: calc(100% - 24px);
    min-height: 93px;
    position: absolute;
    left: 0;
    bottom: -49px;
    font-size: 2.0rem;
    color: var(--color-white);
    background: var(--color-dark-gray);
    box-sizing: border-box;
    z-index: 1;
}
.box-card-04__content {
    padding: 81px 24px 120px 24px;
}
.box-card-04__text {
    display: block;
    font-size: 1.6rem;
    line-height: 1.75;
    margin-bottom: 30px;
    text-align: left;
}
.box-card-04__lst-link a .icon-gaishi-external{
    margin-left: 5px;
}
@media only screen and (max-width: 767px) {
    .box-card-04__content {
        padding: 20px 15px 35px;
    }
    .box-card-04__title {
        padding: 5px 10px;
        width: 100%;
        min-height: auto;
        bottom: 0;
        font-size: 1.2rem;
        line-height: 15px;
        position: relative;
    }
    .box-card-04__text {
        font-size: 1rem;
        line-height: 15px;
        margin-bottom: 15px;
    }
}

/*-----------------*/
.box-card-05__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: var(--color-white);
}
.box-card-05__image {
    display: block;
    overflow: hidden;
    width: 60%;
}
.box-card-05__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 60px 0 80px;
    width: 40%;
    box-sizing: border-box;
}
.box-card-05__title {
    display: block;
    margin-bottom: 40px;
    font-size: 3.2rem;
    font-weight: normal;
    color: var(--color-black);
}
.box-card-05__text {
    display: block;
    color: var(--color-gray);
}
.box-card-05__button {
    margin-top: 30px;
}
.box-card-05__button .btn {
    text-align: center;
}
.box-card-05__button .btn--border {
    border: 1px solid var(--color-border);
}
.box-card-05 a:hover {
    text-decoration: none;
}
.box-card-05 a:hover .btn--link span:before {
    right: -10px;
}
.box-card-05 a:hover .btn{
    color: var(--color-white)!important;
    text-decoration: none;
}
.box-card-05 a:hover .btn:after{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
}
.box-card-05 a img {
    -webkit-transition: all .6s;
    transition: all .6s;
}
.box-card-05 a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
@media only screen and (min-width: 768px) and (max-width: 1180px){
    .box-card-05__title{
        margin-bottom: 20px;
        font-size: 2.4rem;
    }
    .box-card-05__button {
        margin-top: 20px;
    }
    .box-card-05__content {
        padding: 20px 30px;
        width: 50%;
    }
    .box-card-05__image {
        width: 50%;
    }
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    .box-card-05__image, .box-card-05__content {
        width: 100%;
        max-width: 707px;
        margin: 0 auto;
    }
    .box-card-05__image {
        order: 1;
    }
    .box-card-05__content {
        order: 2;
        padding: 25px 15px 18px 15px;
    }
    .box-card-05__title {
        margin-bottom: 12px;
        font-size: 1.8rem;
    }
    .box-card-05__text {
        color: var(--color-black);
        line-height: 1.6;
    }
    .box-card-05__button {
        margin-top: 15px;
    }
}
/*-----------------*/
.lst-article__note {
    display: block;
    position: absolute;
    top: -20px;
    left: 10px;
    padding: 6px;
    width: 180px;
    text-align: center;
    color: var(--color-white);
    background: var(--color-primary);
}
.lst-article__ttl-sub {
    display: inline-block;
    font-size: 2.0rem;
    margin-bottom: 5px;
}
@media only screen and (min-width: 1px) and (max-width: 767px){
    .lst-article__note {
        top: -15px;
        left: 5px;
        padding: 6px;
        width: 90px;
    }
    .lst-article__ttl-sub {
        font-size: 1.3rem;
    }
}

/* table group */
.wrp-table-group {
    display: table;
    width: 100%;
    background: var(--color-white);
    padding-bottom: 24px;
}
.wrp-table-group + .wrp-table-group {
    margin-top: 10px;
}
.wrp-table-group__left,
.wrp-table-group__right {
    display: table-cell;
    vertical-align: top;
}
.wrp-table-group__left {
    width: 27.77%;
}
.wrp-table-group__right {
    width: 72.23%;
}
.wrp-table-group__title {
    font-size: 2.2rem;
    padding: 27px 0 0 25px;
    display: block;
    line-height: 1.4;
}
.tbl-base-03 tr td a,
.wrp-table-group__title {
    color: var(--color-primary);
}
span.wrp-table-group__title {
    color: var(--color-black);
}
.tbl-base-03 {}
.tbl-base-03__title th {
    font-size: 1.8rem;
    border-bottom: solid 1px var(--color-border);
    padding: 25px 0 7px;
    font-weight: normal;
}
.tbl-base-03 tr td {
    width: 33%
}
.tbl-base-03 tr td a .icon {
    margin-left: 5px;
}
.tbl-base-03 tr td a{
    display: block;
    font-size: 1.6rem;
    margin-top: 11px;
    padding-right: 15px;
}
.tbl-base-03 tr td a + a{
    margin-top: 5px;
}
.tbl-base-03 a span,
.wrp-table-group__title span {
    position: relative;
    display: inline-block;
}
.wrp-table-group__title .icon {
    margin-left: 10px;
}
@media only screen and (min-width: 1px) and (max-width: 767px){
    .wrp-table-group,
    .wrp-table-group__left,
    .wrp-table-group__right {
        display: block;
        width: 100%;
    }
    .wrp-table-group__left,
    .wrp-table-group__right {
        padding: 0 15px;
        box-sizing: border-box;
    }
    .wrp-table-group__title {
        font-size: 1.4rem;
        padding: 14px 0 10px 0;
        border-bottom: solid 1px var(--color-border);
    }
    .tbl-base-03__title {
        padding: 12px 0;
    }
    .tbl-base-03__title th,
    .tbl-base-03 tr td a {
        font-size: 1.2rem;
    }
    .tbl-base-03 tbody td {
        display: block;
        padding: 0 7px;
        width: 100%
    }
    .tbl-base-03__title th {
        padding: 12px 0 7px!important;
        margin-left: 7px;
        border-bottom-style: dotted;
    }
}

/*-----------------*/
.box-media02 {
    padding-left: 8.09vw;
    position: relative;
}
.box-media02__bg {
    padding-bottom: 37.3%;
}
.box-media02__bg--pro {
    background: url(/resource/img/index/top-product01.jpg) center center / cover;
}
.box-media02__bg--sus {
    background: url(/resource/img/index/top-sustainability05.jpg) center center / cover;
}
.box-media02__inner {
    width: 57.20%;
    background: var(--color-primary-opacity);
    position: absolute;
    bottom: -80px;
    left: 0;
    color: var(--color-white);
    padding-bottom: 25%;
}
.box-media02__wrp {
    width: 500px;
    position: absolute;
    top: 55%;
    left: 80px;
    left: calc((100vw - 1180px) /2 + 80px) ;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}
.box-media02__title {
    font-size: 3.2rem;
    line-height: 1.34;
    font-weight: normal;
    text-shadow: 0px 0px 4px rgba(31,102,175,0.4), 0px 0px 2px rgba(31,102,175,0.7);
}
.box-media02__description {
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin-top: 40px;
    text-shadow: 0px 0px 4px rgba(31,102,175,0.4), 0px 0px 2px rgba(31,102,175,0.7);
}
.box-media02__button {
    margin-top: 45px;
}
.box-media02__button .btn {
    text-align: center;
    font-size: 1.4rem;
}
.box-media02__button .btn span {
    padding-right: 20px;
}
.box-media02__button .btn span::before {
    content: '\f105';
    position: absolute;
    right: 0;
    font-family: 'gaishi' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .4s;
    transition: all .4s;
}
.box-media02__button .btn:hover span::before {
    right: -10px;
}
.box-media02__button .btn:hover {
    color: var(--color-white);
}
@media only screen and (min-width: 1024px) and (max-width: 1180px){
    .box-media02__wrp {
        width: 50vw;
        left: 50px;
    }
    .box-media02__title {
        font-size: 2.4rem;
    }
    .box-media02__description {
        margin-top: 20px;
    }
    .box-media02__button {
        margin-top: 25px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1023px){
    .box-media02__wrp {
        width: 46vw;
        left: 50px;
    }
    .box-media02__title {
        font-size: 2.4rem;
    }
    .box-media02__inner{
        padding-bottom: 34%;
    }
    .box-media02__description{
        font-size: 1.6rem;
    }
    .box-media02__button{
        margin-top: 20px;
    }
}
@media only screen and (min-width: 1px) and (max-width: 767px){
    .box-media02 {
        padding-left: 15px;
    }
    .box-media02__bg {
        padding-bottom: 65.57%;
        background-position: top left -35px !important;
    }
    .box-media02__inner {
        width: 100%;
        padding-bottom: 0;
        bottom: auto;
        position: relative;
        margin-top: -58px;
        margin-left: -15px;
    }
    .box-media02__wrp {
        width: 100%;
        left: auto;
        top: auto;
        padding: 27px 15px 23px 30px;
        box-sizing: border-box;
        position: relative;
        -webkit-transform: none;
        transform: none;
    }
    .box-media02__title {
        font-size: 1.8rem;
        line-height: 1.33;
    }
    .box-media02__description {
        font-size: 1.2rem;
        line-height: 1.75;
        margin-top: 18px;
    }
    .box-media02__button {
        margin-top: 11px;
    }
}


/* ********************************************* 2021/2/19 caily add */

/* ENã®cookie-box */

/* /cookie-box
-----------------------------------------*/
[lang="en"] .cookie-box{
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    background: #293337;
    color: #fff;
    padding: 60px 0;
    display: none;
    z-index: 1000;
    font-family: "Helvetica", "Arial", "Hiragino Kaku Gothic Pro", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“", YuGothic,"ãƒ¡ã‚¤ãƒªã‚ª","ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯",sans-serif;
    font-size: 15px;
    box-sizing: border-box;
}
[lang="en"] .cookie-box a{
    color: #fff;
    text-decoration: underline;
}
[lang="en"] .cookie-box a:hover{
    text-decoration: none;
}
[lang="en"] .cookie-box > div {
    display: table;
}
[lang="en"] .cookie-box > div > p{
    display: table-cell;
    width: 99%;
    vertical-align: middle;
    font-size: 15px;
}
[lang="en"] .cookie-box > div > div{
    display: table-cell;
    white-space: nowrap;
    padding-left: 20px;
    vertical-align: middle;
}
[lang="en"] .cookie-box button{
    display: inline-block;
    color: #fff;
    border: 1px solid #fff;
    padding: 10px 40px;
    font-size: 15px;
}
@media only screen and (min-width: 1px) and (max-width: 767px) {
    [lang="en"] .cookie-box{
        padding: 20px 0;
        font-size: 12px;
    }
    [lang="en"] .cookie-box > div {
        display: block;
    }
    [lang="en"] .cookie-box > div > p{
        display: block;
        width: auto;
    }
    [lang="en"] .cookie-box > div > div{
        display: block;
        width: auto;
        text-align: center;
    }
    [lang="en"] .cookie-box button{
        margin: 15px 0 0;
        padding: 5px 30px;
    }
}

/*  2023/9/29 AQ add -----------------------------------------*/
/* Yotubeã‚„GoogleMapã®iframeã‚¨ãƒªã‚¢åŸ‹ã‚è¾¼ã¿ */
.box_iframe {
    position: relative;
    width: 100%;
    padding-top: 45% !important;
    margin-bottom: 20px;
}

.box_iframe iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


/* --- WRAPPER --- */
.ngk-form {
    --ngk-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    --ngk-text: #222;
    --ngk-muted: #666;
    --ngk-border: #d7dbe0;
    --ngk-border-strong: #aeb6bf;
    --ngk-bg: #fff;
    --ngk-accent: #0072ce; /* bleu NGK approx */
    --ngk-danger: #c62828;
    font-family: var(--ngk-font);
    color: var(--ngk-text);
}

/* --- GRID & SPACING --- */
.ngk-form .row { row-gap: 16px; }
.ngk-form .form-group { margin: 0; }
.ngk-form label {
    display: inline-block;
    margin: 0 0 6px;
    font-size: 14px;
    color: var(--ngk-text);
}

/* Ajoute un * visuel sur les champs requis (mapping par id) */
.ngk-form label[for="nom"]::after,
.ngk-form label[for="prenom"]::after,
.ngk-form label[for="email"]::after,
.ngk-form label[for="tel"]::after,
.ngk-form label[for="demande"]::after {
    content: " *";
    color: var(--ngk-danger);
    margin-left: 2px;
}

/* --- CHAMPS --- */
.ngk-form .form-control,
.ngk-form input[type="text"],
.ngk-form input[type="email"],
.ngk-form input[type="tel"],
.ngk-form textarea,
.ngk-form select {
    width: 100%;
    background: var(--ngk-bg);
    border: 1px solid var(--ngk-border);
    border-radius: 4px;
    padding: 10px 12px;
    line-height: 1.4;
    font-size: 15px;
    box-shadow: none;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.ngk-form textarea#demande { min-height: 140px; resize: vertical; }

.ngk-form .form-control:focus,
.ngk-form input:focus,
.ngk-form textarea:focus,
.ngk-form select:focus {
    border-color: var(--ngk-border-strong);
    box-shadow: 0 0 0 3px rgba(0,114,206,.12);
}

.ngk-form ::placeholder { color: #9aa0a6; }

/* --- ERREURS CF7 --- */
.ngk-form .wpcf7-not-valid { border-color: var(--ngk-danger) !important; }
.ngk-form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: var(--ngk-danger);
}
.ngk-form .wpcf7-response-output {
    border: 1px solid var(--ngk-border-strong);
    padding: 12px 14px;
    border-radius: 4px;
    font-size: 14px;
    margin: 16px 0 0;
}
.ngk-form .wpcf7-response-output.wpcf7-validation-errors,
.ngk-form .wpcf7-response-output.wpcf7-mail-sent-ng { border-color: var(--ngk-danger); color: var(--ngk-danger); }
.ngk-form .wpcf7-response-output.wpcf7-mail-sent-ok { border-color: #2e7d32; color: #2e7d32; }

/* --- BOUTON --- */
.ngk-form .wpcf7-submit,
.ngk-form .btn.blue.border-blue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 4px;
    border: 1px solid var(--ngk-accent) !important;
    background: var(--ngk-accent) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: filter .15s ease, transform .02s ease;
    text-transform: none; /* NGK-style sobre */
}
.ngk-form .wpcf7-submit:hover,
.ngk-form .btn.blue.border-blue:hover { filter: brightness(0.96); }
.ngk-form .wpcf7-submit:active,
.ngk-form .btn.blue.border-blue:active { transform: translateY(1px); }

/* --- DIVERS --- */
.ngk-form .text-center { margin-top: 8px; }
.ngk-form [style*="margin:10px 0"] { margin: 12px 0 !important; }


.frm-content .frmField .wpcf7-select {
    max-width: 480px!important;
    /*max-width: 100%;*/
    vertical-align: middle;
    padding: 8px;
    border: 1px solid #e7e9ee;
    box-sizing: border-box;
    background-color: white!important;
}