@charset "UTF-8";
/* ==========================================================
 html5 elements
========================================================== */

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

/* ==========================================================
 reseting
========================================================== */

/*遊ゴシックの調整用*/

@font-face {
    font-family: "Yu Gothic M";
    src: local("Yu Gothic Medium");
}

@font-face {
    font-family: "Yu Gothic M";
    src: local("Yu Gothic Bold");
    font-weight: bold;
}

/*MACの検証ができたら入れたい設定。約物半角になるので、yakuhanいらないかも*/

/*body {
  font-feature-settings: "palt";
}*/

/*約物半角WEBフォント*/

@font-face {
    font-family: "YakuHanJP";
    font-style: normal;
    font-weight: normal;
    src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Light.eot");
    src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Light.woff2") format("woff2"), url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Light.woff") format("woff");
}

@font-face {
    font-family: "YakuHanJP";
    font-style: normal;
    font-weight: bold;
    src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Bold.eot");
    src: url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Bold.woff2") format("woff2"), url("https://cdn.jsdelivr.net/npm/yakuhanjp@2.0.0/dist/fonts/YakuHanJP/YakuHanJP-Bold.woff") format("woff");
}

body {
    line-height: 1.71;
    color: #000;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body,
input,
textarea,
select,
button {
    font-family: YakuHanJP, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: normal;
}

/* only IE10-11 */

@media all and (-ms-high-contrast: none) {
    body {
        line-height: 1.5;
    }
    body,
    input,
    textarea,
    select,
    button {
        font-family: Arial, 'メイリオ', Meiryo, MyYuGothic, '游ゴシック体', 'Yu Gothic', YuGothic, -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    }
}

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td,
button,
figure,
figcaption {
    margin: 0;
    padding: 0;
}

input,
textarea {
    margin: 0;
    font-size: 100%;
}

input,
textarea,
select {
    /*-webkit-appearance: none;*/
}

textarea {
    resize: none;
}

button {
    border: none;
    overflow: visible;
    background: none;
    vertical-align: top;
    font-size: 100%;
    color: inherit;
    cursor: pointer;
    -webkit-appearance: none;
}

label {
    cursor: pointer;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
}

fieldset,
img {
    border: 0;
}

img {
    height: auto;
    vertical-align: top;
}

address,
caption,
code,
em,
th {
    font-style: normal;
    font-weight: normal;
}

ol,
ul {
    list-style: none;
}

caption,
th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6,
em {
    font-size: 100%;
    font-weight: normal;
}

a,
input {
    /* outline: none; -webkit-tap-highlight-color:rgba(0,0,0,0);*/
}

sup,
sub {
    font-size: 63%;
}

sup {
    vertical-align: top;
}

sub {
    vertical-align: baseline;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

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

a {
    color: #000;
    text-decoration: underline;
}

a:visited {
    color: #666;
}

a:hover {
    color: #b26000;
    text-decoration: none;
}

/* ==========================================================
 clearfix
========================================================== */

.clearfix:before,
.clearfix:after,
.contents:before,
.contents:after {
    content: "";
    display: table;
}

.clearfix:after,
.contents:after {
    clear: both;
}

/* For IE 6/7
---------------------------------------------------------- */

.clearfix,
.contents {
    *zoom: 1;
}

/* ==========================================================
 layout
========================================================== */

html {
    overflow-y: scroll;
}

body {
    text-align: center;
}

/* ==========================================================
 wrapper
========================================================== */

.wrapper {
    width: 100%;
    min-width: 1024px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .wrapper {
        min-width: 0;
    }
}

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

.header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 99;
}

.header {
    position: relative;
    width: 100%;
    height: 80px;
    background: linear-gradient(to bottom, #faf3ac 0%, #faf3ac 50%, #fff 50%, #fff 100%);
}

.header::before {
    position: absolute;
    content: "";
    width: calc(50% - 600px);
    height: 100%;
    top: 0;
    left: 0;
    background: #ffc641;
}

.header-in {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 80px;
    margin: 0 auto;
    text-align: left;
}

.header-logo {
    position: absolute;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    top: 0;
    left: 0;
    width: 280;
    height: 100%;
    background-color: #ffc641;
    z-index: 101;
}

.header-logo img {
    width: 200px;
    height: auto;
    margin: 0 40px;
}

.header-logo span {
    font-size: 10px;
    /*font-weight: bold;*/
    color: #000;
    line-height: 14px;
}

@media screen and (max-width: 768px) {
    .header {
        height: 50px;
        background: #ffc641;
    }
    .header::before {
        display: none;
    }
    .header-in {
        height: 50px;
    }
    .header-logo {
        width: 120px;
        left: 50%;
        transform: translateX(-50%);
    }
    .header-logo img {
        width: 100%;
        margin: 0;
    }
    .header-logo span {
        display: none;
    }
}

/* header-upper
---------------------------------------------------------- */

.header-upper {
    position: absolute;
    width: calc(100% - 280px);
    height: 40px;
    top: 0;
    right: 0;
}

.header-utility {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    align-items: center;
    width: auto;
    /*  max-width: 720px;*/
    width: 720px;
    height: 40px;
    margin: 0 0 0 auto;
    padding: 0 15px;
}

.header-utility .links a {
    display: block;
    font-size: 11px;
    font-weight: bold;
    line-height: 1em;
    padding-right: 20px;
    background: url(/img/common/ico_blank.svg) right center no-repeat;
    background-size: 11px 11px;
    margin-right: 20px;
    float: left;
}

.header-utility .links a.notblank {
    background: url(/img/common/ico_arrow_right.svg) right center no-repeat;
}

.header-utility .links a:last-child {
    margin-right: 0;
}

.header-utility .vline {
    width: 1px;
    height: 20px;
    background-color: #000;
}

.header-utility .contact {
    width: auto;
    height: auto;
}

.header-utility .contact .txt-tel {
    font-size: 14px;
    line-height: 1em;
    font-weight: bold;
    padding-left: 23px;
    background: url(/img/common/ico_tel.svg) left center no-repeat;
    background-size: 14px 14px;
    float: left;
}

.header-utility .contact .txt-open {
    font-size: 11px;
    line-height: 1em;
    padding-top: 3px;
    margin-left: 10px;
    float: left;
}

.header-utility .cvbtn {
    width: auto;
    height: 30px;
}

.header-utility .cvbtn a {
    position: relative;
    display: block;
    width: 124px;
    height: 28px;
    background-color: #ff5700;
    border-radius: 14px;
    box-shadow: 0 2px 0 #953500;
    font-size: 14px;
    line-height: 28px;
    color: #fff;
    text-align: center;
}

.header-utility .cvbtn a:hover {
    background-color: #fa2;
    box-shadow: 0 2px 0 #c80;
}

.header-utility .cvbtn a .ico-cmn.angle::before {
    background: url(/img/common/ico_angle_right_white.svg) no-repeat;
}

@media screen and (max-width: 768px) {
    .header-upper {
        width: 60px;
        height: 50px;
        right: 0;
        z-index: 100;
    }
    .header-utility {
        /*display: block;*/
        width: 60px;
        height: 50px;
        margin: 0;
        padding: 0;
    }
    .header-utility .links,
    .header-utility .vline,
    .header-utility .contact,
    .header-utility .search {
        display: none;
    }
    .header-utility .cvbtn {
        margin-bottom: 10px;
    }
    .header-utility .cvbtn a {
        display: block;
        position: relative;
        width: 40px;
        height: 24px;
        line-height: 24px;
        margin: 0 auto 5px;
    }
    .header-utility .cvbtn a .ico-cmn.angle {
        width: 60px;
        padding: 30px 0 0 0;
        font-size: 8px;
        font-weight: 500;
        line-height: 1em;
        color: #000;
        text-align: center;
        transform: translateX(-10px);
    }
    .header-utility .cvbtn a .ico-cmn.angle::before {
        width: 40px;
        height: 24px;
        top: 0;
        left: 10px;
        transform: none;
        background: url(/img/common/ico_mail_white.svg) center center no-repeat;
        background-size: 20px;
    }
}

/* header-lower
---------------------------------------------------------- */

.header-lower {
    position: absolute;
    width: 100%;
    height: 40px;
    top: 40px;
    right: 0;
    padding-left: 280px;
}

.header-lower .nav-line {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    content: "";
    width: 80px;
    height: 2px;
    background-color: #fa2;
    opacity: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

@media screen and (max-width: 768px) {
    .header-lower {
        top: 0;
        right: auto;
        left: 0;
        padding: 0;
        height: auto;
    }
    .header-lower .nav-line {
        display: none;
    }
}

/* nav-trigger
---------------------------------------------------------- */

.nav-trigger {
    display: none;
}

@media screen and (max-width: 768px) {
    .nav-trigger {
        position: relative;
        display: block;
        width: 50px;
        height: 50px;
        background-color: #faf3ac;
    }
    .nav-trigger:hover {
        cursor: pointer;
    }
    .nav-trigger span {
        position: absolute;
        display: block;
        width: 20px;
        height: 1px;
        background-color: #000;
        left: 15px;
        transition: all .4s;
    }
    .nav-trigger span:nth-of-type(1) {
        top: 16px;
    }
    .nav-trigger span:nth-of-type(2) {
        top: 21px;
    }
    .nav-trigger span:nth-of-type(3) {
        top: 26px;
        width: 15px;
    }
    .nav-trigger::after {
        content: "メニュー";
        display: block;
        position: absolute;
        width: 100%;
        height: 20px;
        bottom: 0;
        left: 0;
        font-size: 8px;
        line-height: 20px;
        text-align: center;
    }
    .nav-trigger.close span:nth-of-type(1) {
        transform: translateY(5px) rotate(-45deg);
    }
    .nav-trigger.close span:nth-of-type(2) {
        opacity: 0;
    }
    .nav-trigger.close span:nth-of-type(3) {
        width: 20px;
        transform: translateY(-5px) rotate(45deg);
    }
    .nav-trigger.close::after {
        content: "閉じる";
    }
}

/* nav-global
---------------------------------------------------------- */

.nav-global {
    width: 100%;
    z-index: 100;
}

.nav-global ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    /*padding: 0 10px;*/
}

.nav-global ul li a:not(.mf_finder_searchBox_suggest_link),
.nav-global ul li a:not(.mf_finder_searchBox_suggest_link):visited {
    position: relative;
    display: block;
    height: auto;
    color: #000;
    font-size: 14px;
    line-height: 40px;
    font-weight: bold;
    text-decoration: none;
}

.nav-global ul li a:not(.mf_finder_searchBox_suggest_link).search {
    padding-left: 20px;
    background: url(/img/common/ico_search.svg) left center no-repeat;
    background-size: 13px 13px;
}

/*.header-search .link-search:hover:after,*/

.header-search.is-active .link-search:after,
#g00 .nav-global li.nav00 a:after,
#g01 .nav-global li.nav01 a:after,
#g02 .nav-global li.nav02 a:after,
#g03 .nav-global li.nav03 a:after,
#g04 .nav-global li.nav04 a:after,
#g05 .nav-global li.nav05 a:after,
#g06 .nav-global li.nav06 a:after,
#g07 .nav-global li.nav07 a:after,
#g08 .nav-global li.nav08 a:after {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background-color: #ffaa22;
    content: "";
    opacity: 1;
    transition: opacity .6s ease .2s;
}

#g00 .nav-global li.nav00 a.hover:after,
#g01 .nav-global li.nav01 a.hover:after,
#g02 .nav-global li.nav02 a.hover:after,
#g03 .nav-global li.nav03 a.hover:after,
#g04 .nav-global li.nav04 a.hover:after,
#g05 .nav-global li.nav05 a.hover:after,
#g06 .nav-global li.nav06 a.hover:after,
#g07 .nav-global li.nav07 a.hover:after,
#g08 .nav-global li.nav08 a.hover:after {
    opacity: 0;
}

.nav-global .links {
    display: none;
}

#g08 .nav-global li.nav08 {
    display: none;
}

@media screen and (min-width: 769px) {
    .nav-global ul li a:not(.mf_finder_searchBox_suggest_link):hover:after {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2px;
        background-color: #ffaa22;
        content: "";
    }
}

@media screen and (max-width: 768px) {
    .nav-global {
        display: none;
        position: absolute;
        top: 50px;
        left: 0;
        background-color: #fff;
        padding: 10px;
    }
    .nav-global ul {
        display: block;
        width: 100%;
        height: auto;
        /*padding: 10px;*/
        /*text-align: center;*/
        /*letter-spacing: -.4em;*/
    }
    .nav-global ul li {
        display: block;
        width: 50%;
        height: auto;
        padding: 0 5px;
        float: left;
    }
    .nav-global ul li a:not(.mf_finder_searchBox_suggest_link),
    .nav-global ul li a:not(.mf_finder_searchBox_suggest_link):visited {
        border-bottom: solid 1px #ddd;
        font-weight: normal;
        letter-spacing: normal;
        text-align: center;
    }
    .nav-global ul li a:not(.mf_finder_searchBox_suggest_link):hover {
        border-bottom: solid 1px #fa2;
    }
    .nav-global ul li.nav08 {
        width: 100%;
        height: auto;
    }
    .nav-global ul li a.search {
        display: none;
    }
    .nav-global .btn-cmn-01 {
        padding: 0 5px;
    }
    .nav-global .btn-cmn-01 .button .ico-cmn {
        padding-left: 30px;
    }
    .nav-global .btn-cmn-01 .button .ico-cmn.arrow:before {
        width: 12px;
        height: 12px;
        background: url(/img/common/ico_angle_right_white.svg) no-repeat;
        background-size: 12px 12px;
    }
    .nav-global .links {
        display: block;
        width: 100%;
        padding: 20px 10px 10px;
        text-align: center;
    }
    .nav-global .links a {
        display: inline-block;
        width: auto;
        font-size: 11px;
        font-weight: bold;
        line-height: 1em;
        /*    background: url(/img/common/ico_blank.svg) right 10px center no-repeat;*/
        background-size: 11px 11px;
        margin: 10px auto;
        /*    padding: 5px 30px 5px 10px;*/
        padding: 5px 10px;
        margin: 10px 5px;
        border: solid 1px #ddd;
        border-radius: 20px;
        text-decoration: none;
    }
    .nav-global .links a.notblank {
        background: url(/img/common/ico_arrow_right.svg) right 10px center no-repeat;
        background-size: 11px 11px;
    }
    #g08 .nav-global li.nav08 {
        display: block;
    }
    /*  .nav-global .links a:last-child {
    display: table;
    border: none;
    text-decoration: underline;
    margin: 0 auto;
  }*/
}

/* nav-mega
---------------------------------------------------------- */

.nav-mega {
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
    padding: 0;
    background-color: #fff;
    border: solid 1px #ddd;
    border-top: none;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    visibility: hidden;
    opacity: 0;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    transition: all 0s;
    transition-delay: 0s;
}

.nav-mega.visible {
    visibility: visible;
    opacity: 1;
}

.nav-mega a:after {
    display: none !important;
}

.sec-cmn-01.nav-mega .sec-in-01 {
    padding: 45px 82px 82px;
}

.nav-mega ul:not(.mf_finder_searchBox_suggest_items) li a {
    border-radius: 10px;
    overflow: hidden;
    border: solid 1px #f5f5f0;
}

.nav-mega ul li a:hover {
    background-color: #faf3ac;
}

.nav-mega ul li a::after {
    display: none;
}

.nav-mega .ttl-cmn-02 a.goto-index {
    display: inline-block;
    width: auto;
    height: 24px;
    border: solid 1px #ddd;
    border-radius: 12px;
    background-color: #fff;
    font-size: 14px;
    font-weight: normal;
    line-height: 22px;
    padding: 0 24px 0 10px;
    background: url(/img/common/ico_arrow_right.svg) no-repeat;
    background-size: 14px 12px;
    background-position: right 7px center;
    margin-left: 10px;
    vertical-align: middle;
}

.nav-mega .ttl-cmn-02 a.goto-index:hover {
    background-color: #faf3ac;
}

.nav-mega .ttl-cmn-02 small {
    font-size: 14px;
    font-weight: normal;
    margin-left: 10px;
}

.nav-global.active .nav00:hover .nav-mega,
.nav-global.active .nav01:hover .nav-mega,
.nav-global.active .nav02:hover .nav-mega,
.nav-global.active .nav03:hover .nav-mega,
.nav-global.active .nav04:hover .nav-mega,
.nav-global.active .nav05:hover .nav-mega,
.nav-global.active .nav06:hover .nav-mega,
.nav-global.active .nav07:hover .nav-mega,
.nav-global.active .nav08:hover .nav-mega {
    visibility: visible;
    opacity: 1;
    transition: all .2s;
    transition-delay: .6s;
}

.nav-global.active .nav00:hover .nav-mega.hidden,
.nav-global.active .nav01:hover .nav-mega.hidden,
.nav-global.active .nav02:hover .nav-mega.hidden,
.nav-global.active .nav03:hover .nav-mega.hidden,
.nav-global.active .nav04:hover .nav-mega.hidden,
.nav-global.active .nav05:hover .nav-mega.hidden,
.nav-global.active .nav06:hover .nav-mega.hidden,
.nav-global.active .nav07:hover .nav-mega.hidden,
.nav-global.active .nav08:hover .nav-mega.hidden {
    visibility: hidden;
    opacity: 0;
}

@media screen and (max-width: 768px) {
    .nav-mega {
        display: none;
    }
}

/* MF searchbox
---------------------------------------------------------- */

.nav-mega.header-search-in {
    width: auto;
    top: 40px;
    left: auto;
    right: 0;
    padding: 16px;
    background: #f5f5f0;
}

.nav-mega.header-search-in .mf_finder_searchBox,
.footer-search .mf_finder_searchBox {
    width: 220px;
    margin: 0;
    background: none;
}

.nav-mega.header-search-in .mf_finder_searchBox_items,
.footer-search .mf_finder_searchBox_items {
    height: 32px;
    padding: 0;
    background: #fff;
    border-radius: 100px;
    border: solid 1px #dddddd;
    display: -webkit-flex;
}

.nav-mega.header-search-in .mf_finder_searchBox_query_wrap,
.footer-search .mf_finder_searchBox_query_wrap {
    position: relative;
    padding: 0 5px 0 30px;
}

.nav-mega.header-search-in .mf_finder_searchBox_query_wrap:before,
.footer-search .mf_finder_searchBox_query_wrap:before {
    position: absolute;
    top: 6px;
    left: 10px;
    display: block;
    width: 17px;
    height: 17px;
    background: url(/img/common/ico_search.svg) no-repeat;
    background-size: 17px 17px;
    content: "";
}

.nav-mega.header-search-in .mf_finder_searchBox .mf_finder_searchBox_query_input,
.footer-search .mf_finder_searchBox .mf_finder_searchBox_query_input {
    height: 30px;
    border: none;
    background: url(/img/common/bg_search_placeholder.png) 5px center no-repeat !important;
    background-size: 110px auto !important;
    border-radius: 100px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.nav-mega.header-search-in .mf_finder_searchBox.mf_finder_searchBox_focusInput .mf_finder_searchBox_query_input,
.nav-mega.header-search-in .mf_finder_searchBox.mf_finder_searchBox_hasQuery .mf_finder_searchBox_query_input,
.footer-search .mf_finder_searchBox.mf_finder_searchBox_focusInput .mf_finder_searchBox_query_input,
.footer-search .mf_finder_searchBox.mf_finder_searchBox_hasQuery .mf_finder_searchBox_query_input {
    background: none !important;
}

.nav-mega.header-search-in .mf_finder_searchBox_submit,
.footer-search .mf_finder_searchBox_submit {
    -webkit-flex: 0 0 50px;
    flex: 0 0 50px;
    width: 50px;
    padding: 0;
    background: #ffaa22;
    border-bottom: 2px solid #cc8800;
    border-radius: 20px;
    text-align: center;
}

.nav-mega.header-search-in .mf_finder_searchBox_submit:hover {
    background: #e58d00;
}

.nav-mega.header-search-in .mf_finder_searchBox_submit:before,
.footer-search .mf_finder_searchBox_submit:before {
    display: block;
    margin: 0;
    padding-top: 2px;
    font-family: inherit;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    content: "検索";
}

.nav-mega.header-search-in .mf_finder_searchBox_submit span,
.footer-search .mf_finder_searchBox_submit span {
    display: none;
}

.footer-search .mf_finder_searchBox {
    width: 100%;
}

.footer-search .mf_finder_searchBox .mf_finder_searchBox_query_input {
    height: 30px;
    font-size: 16px;
}

.footer-search .mf_finder_searchBox_submit {
    width: 60px;
}

.footer-search .mf_finder_searchBox_query_wrap:before {
    font-size: 13px;
}

.box-search-kw .mf_finder_searchBox_items {
    display: -webkit-flex;
}

@media screen and (max-width: 768px) {
    .nav-mega.header-search-in {
        position: static;
        display: block;
        visibility: visible;
        opacity: 1;
        background-color: #fff;
        border-radius: 0;
        box-shadow: none;
        border: none;
        padding: 20px;
    }
    .nav-mega.header-search-in .mf_finder_searchBox {
        width: 100%;
    }
}

/* MF search suggestion
---------------------------------------------------------- */

.nav-mega.header-search-in .mf_finder_searchBox_suggest_items,
.footer-search .mf_finder_searchBox_suggest_items {
    display: block;
    padding: 0;
    background: #fff;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    border-color: #999;
}

.nav-mega.header-search-in .mf_finder_searchBox_suggest_items li,
.footer-search .mf_finder_searchBox_suggest_items li {
    padding: 0;
    border-top: 1px solid #d5d5d5;
}

.nav-mega.header-search-in .mf_finder_searchBox_suggest_items a,
.footer-search .mf_finder_searchBox_suggest_items a {
    padding: 6px 12px;
    color: #636363;
    font-size: 16px;
}

.nav-mega.header-search-in .mf_finder_searchBox_suggest_items a:hover,
.nav-mega.header-search-in .mf_finder_searchBox_suggest_item_cur a,
.footer-search .mf_finder_searchBox_suggest_items a:hover,
.footer-search .mf_finder_searchBox_suggest_item_cur a {
    background: #999;
    color: #fff;
}

/* MF search suggestion
---------------------------------------------------------- */

.footer-search .mf_finder_searchBox_suggest_items a {
    padding: 2px 12px;
    text-align: left;
}

/* ==========================================================
 nav-breadcrumb
========================================================== */

.nav-breadcrumb {
    overflow: hidden;
    text-align: left;
    font-size: 14px;
    background: #eae8e4;
}

.nav-breadcrumb .nav-breadcrumb-in {
    min-width: 1024px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 22px 0;
}

.nav-breadcrumb li {
    position: relative;
    float: left;
    white-space: nowrap;
}

.nav-breadcrumb li:after {
    padding: 0 5px;
    color: #999;
    content: ">";
}

.nav-breadcrumb li:last-child:after {
    display: none;
}

.nav-breadcrumb li a,
.nav-breadcrumb li a:visited {
    color: #000;
}

.nav-breadcrumb li a:hover {
    color: #b26000;
}

@media screen and (max-width: 768px) {
    .nav-breadcrumb {
        display: none;
    }
}

/* ==========================================================
 contents
========================================================== */

.contents {
    text-align: left;
    padding-top: 80px;
}

@media screen and (max-width: 768px) {
    .contents {
        padding-top: 50px;
    }
}

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

.footer {
    width: 100%;
    min-width: 1024px;
    background: #f2faff;
}

.footer-upper {
    background: #007fff;
    padding: 40px 0;
    
}

.footer-lower {
    background: #007fff;
    display: none;
}

.footer-bottom {
    background: #007fff;
        border-top: 1px solid #3999f9;
        padding: 20px 40px;
}

.footer-bottom-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 60px;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .footer-bottom-content {
        flex-direction: column;
        align-items: center;
        gap: 7px;
    }
}

.footer-bottom-content a {
    font-size: 12px;
    
}

.footer__copyright {
    color: #fff;
}



.footer-upper-in {
    /*
      min-width: 1024px;
      max-width: 1200px;
*/
    width: 980px;
    margin: 0 auto;
    /*padding: 0 22px;*/
}

.footer-main-links {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.footer-main-links .item-box {
    /*width: 25%;*/
    text-align: left;
    padding: 0 20px;
}

.footer-main-links .item-box:first-child {
    /*width: 50%;*/
}

.footer-main-links .item-box .link-main,
.footer-main-links .item-box .link-main:visited {
    display: inline-block;
    margin-top: 21px;
    color: #000;
    font-weight: bold;
    text-decoration: none;
}

.footer-main-links .item-box .link-main.ico-cmn {
    padding-left: 28px;
}

.footer-main-links .item-box p:first-child .link-main {
    margin-top: 0;
}

.footer-main-links .item-box .box-sub-links {
    padding-top: 8px;
    font-size: 12px;
}

.footer-main-links .item-box .box-sub-links.scence {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer-main-links .item-box .box-sub-links li {
    margin-bottom: 8px;
}

.footer-main-links .item-box .box-sub-links li:last-child {
    margin-bottom: 0;
}

.footer-main-links .item-box .box-sub-links.scence li {
    width: 50%;
}

.footer-main-links .item-box .box-sub-links li a,
.footer-main-links .item-box .box-sub-links li a:visited {
    color: #000;
    text-decoration: none;
}

.footer-main-links .item-box .box-sub-links li a:hover,
.footer-main-links .item-box .link-main:hover {
    color: #b26000;
}

.footer-search {
    display: none;
}

.footer-in {
    width: 980px;
    margin: 0 auto;
    padding: 40px 0 20px;
    text-align: left;
}

.footer-utility {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin-bottom: 40px;
}

.footer-logo {
    width: 200px;
}

.footer-logo img {
    width: 100%;
}

.footer-address {
    margin-left: 20px;
    font-size: 14px;
    line-height: 25px;
}

.footer-address .name {
    font-weight: bold;
}

.footer-contact {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    margin-left: 22px;
}

/*.footer-contact .contact { margin-top: 5px; }*/

.footer-sns {
    margin: 0 0 0 100px;
}

.footer-sns ul {
    display: -webkit-flex;
    display: flex;
}

.footer-sns ul li.fb {
    margin-right: 40px;
}

.footer-sns ul li a {
    display: block;
    width: 32px;
    height: 32px;
}

.footer-sns ul li a:hover {
    opacity: 0.7;
}

.footer-sns ul li.fb a {
    background: url(/img/common/ico_facebook.svg) no-repeat;
    background-size: 32px 32px;
}

.footer-sns ul li.tw a {
    width: 36px;
    background: url(/img/common/ico_twitter.svg) no-repeat;
    background-size: 36px 32px;
}

.footer-links {
    margin-bottom: 25px;
}

.footer-links ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    font-size: 14px;
}

.footer-links ul li {
    width: 100%;
    text-align: center;
}

.footer-links ul li.hr {
    border-right: 1px solid #d8d8d8;
}

.footer-links ul li a,
.footer-links ul li a:visited {
    display: inline-block;
    color: #000;
    text-decoration: none;
}

.footer-links ul li a:hover {
    color: #b26000;
}

.footer-banner {
    display: -webkit-flex;
    display: flex;
    -webkitjustify-content: center;
    justify-content: center;
    margin-bottom: 25px;
}

.footer-banner li {
    width: calc(50% - 20px);
    max-width: 200px;
    height: auto;
    margin: 0 10px;
}

.footer-banner li a {
    display: block;
    border: solid 1px #ddd;
    border-radius: 5px;
    overflow: hidden;
}

.footer-banner li a:hover {
    opacity: .7;
}

.footer-banner li img {
    display: block;
    width: 100%;
    height: auto;
}

.footer-logo-sub {
    display: -webkit-flex;
    display: flex;
    -webkitjustify-content: center;
    justify-content: center;
    margin-bottom: 20px;
}

.footer-logo-sub li {
    margin: 0 10px;
}

.footer-logo-sub li.logo-01 {
    width: 134px;
}

.footer-logo-sub li.logo-02 {
    width: 81px;
}

.footer-logo-sub li.logo-03 {
    width: 59px;
}

.footer-logo-sub li img {
    width: 100%;
}

.footer-copyright {
    font-size: 14px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .footer {
        min-width: 0;
    }
    .footer-upper {
        padding-top: 30px;
    }
    .footer-upper-in {
        min-width: 0;
        max-width: none;
        width: auto;
        padding: 0;
    }
    .footer-main-links {
        display: block;
    }
    .footer-main-links .item-box,
    .footer-main-links .item-box:first-child {
        width: 100%;
        padding: 0;
    }
    .footer-main-links .item-box .link-main {
        position: relative;
        display: block;
        margin-top: 0;
        padding: 14px 27px 12px 16px;
        background: #eae8e4;
        border-bottom: 2px solid #ddd;
        font-size: 14px;
        font-weight: normal;
    }
    .footer-main-links .item-box .link-main.ico-cmn {
        padding-left: 40px;
    }
    .footer-main-links .item-box .link-main.ico-cmn::before {
        left: 16px;
    }
    .footer-main-links .item-box .link-main:after {
        position: absolute;
        top: 50%;
        right: 16px;
        width: 9px;
        height: 9px;
        margin-top: -5px;
        background: url(/img/common/ico_arrow_right.svg) no-repeat;
        background-size: 9px 9px;
        content: "";
    }
    .footer-main-links .item-box .link-main.has-sub:after {
        width: 9px;
        height: 7px;
        margin-top: -4px;
        background: url(/img/common/ico_arrow_down_02.svg) no-repeat;
        background-size: 9px 7px;
    }
    .footer-main-links .item-box .link-main.has-sub.is-open:after {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    .footer-main-links .item-box p:first-child .link-main {
        margin-top: 0;
    }
    .footer-main-links .item-box .box-sub-links,
    .footer-main-links .item-box .box-sub-links.scence {
        display: none;
        padding: 0 15px;
        background: #f5f5f0;
        border-bottom: 2px solid #ddd;
        font-size: 13px;
    }
    .footer-main-links .item-box .box-sub-links li,
    .footer-main-links .item-box .box-sub-links.scence li {
        width: 100%;
        margin-bottom: 0;
    }
    .footer-main-links .item-box .box-sub-links li a {
        position: relative;
        display: block;
        padding: 10px 16px 10px 0;
        border-bottom: 2px solid #ddd;
    }
    .footer-main-links .item-box .box-sub-links li a:after {
        position: absolute;
        top: 50%;
        right: 0;
        width: 9px;
        height: 9px;
        margin-top: -5px;
        background: url(/img/common/ico_arrow_right.svg) no-repeat;
        background-size: 9px 9px;
        content: "";
    }
    .footer-main-links .item-box .box-sub-links li:last-child a {
        border-bottom: none;
    }
    .footer-search {
        display: block;
        padding: 20px 15px;
    }
    .footer-search .form-search {
        width: 100%;
    }
    .footer-search .input-search {
        width: 80%;
        font-size: 16px;
    }
    .footer-search .btn-search {
        width: 18%;
        font-size: 13px;
    }
    .footer-in {
        width: auto;
        padding: 40px 0 50px;
    }
    .footer-utility {
        margin-bottom: 22px;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-direction: column;
        flex-direction: column;
    }
    .footer-logo {
        width: 112px;
        margin-bottom: 20px;
    }
    .footer-address {
        margin-bottom: 20px;
        margin-left: 0;
        font-size: 12px;
        text-align: center;
        line-height: 2;
    }
    .footer-contact {
        margin-left: 0;
    }
    .footer-contact .text {
        margin-top: 0;
    }
    .footer-sns {
        margin: 0 0 0 32px;
    }
    /*.footer-sns ul { margin-top: 7px; }*/
    .footer-sns ul li.fb {
        margin-right: 20px;
    }
    .footer-sns ul li a {
        width: 24px;
        height: 24px;
    }
    .footer-sns ul li.fb a {
        background-size: 24px 24px;
    }
    .footer-sns ul li.tw a {
        width: 27px;
        background-size: 27px auto;
        background-position: ce
    }
    .footer-links {
        width: 300px;
        margin: 0 auto 30px;
    }
    .footer-links ul {
        margin: 0 -10px;
        -webkit-justify-content: center;
        justify-content: center;
        font-size: 12px;
        flex-direction: column;
    }
    .footer-links ul li,
    .footer-links ul li:first-child {
        margin: 12px 10px 0 10px;
        width: auto;
    }
    .footer-banner li {
        margin: 0 5px;
    }
    .footer-links ul li.hr {
        border: none;
    }
    .footer-logo-sub {}
    .footer-logo-sub li.logo-01 {
        width: 98px;
    }
    .footer-logo-sub li.logo-02 {
        width: 59px;
    }
    .footer-logo-sub li.logo-03 {
        width: 44px;
    }
    .footer-copyright {
        font-size: 12px;
    }
}

/* ==========================================================
 section
========================================================== */

/* sec-cmn
---------------------------------------------------------- */

.sec-cmn-01 {
    padding: 70px 0;
}

.sec-cmn-02 {
    padding: 50px 0 70px;
}

.sec-cmn-01.bg-grey,
.sec-cmn-02.bg-grey {
    background-color: #f5f5f0;
}

.sec-cmn-01.bg-white,
.sec-cmn-02.bg-white {
    background-color: #fff;
}

.bg-orange {
    background-color: #ffbb33;
}

.bg-orange-cv {
    background-color: #ffebc2;
    /*background-color: rgba(255,187,51,.3);*/
}

.bg-white {
    background-color: #fff;
}

.bg-grey {
    background-color: #f5f5f0;
}

.sec-cmn-01.no-pt,
.sec-cmn-02.no-pt {
    padding-top: 0;
}

.sec-cmn-01.no-pb,
.sec-cmn-02.no-pb {
    padding-bottom: 0;
}

.sec-cmn-01 .sec-in-01,
.sec-cmn-02 .sec-in-01 {
    width: 100%;
    min-width: 1024px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 22px;
}

.sec-cmn-01 .sec-in-01.pt,
.sec-cmn-02 .sec-in-01.pt,
.sec-cmn-01 .sec-in-02.pt,
.sec-cmn-02 .sec-in-02.pt {
    padding-top: 50px;
}

.sec-cmn-01 .sec-in-02,
.sec-cmn-02 .sec-in-02 {
    width: 980px;
    margin: 0 auto;
}

.sec-cmn-01 .sec-in-03,
.sec-cmn-02 .sec-in-03 {
    width: 810px;
    margin: 0 auto;
}

.sec-in-04 {
    width: 550px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .sec-cmn-01,
    .sec-cmn-02 {
        padding: 30px 0;
    }
    .sec-cmn-01 .sec-in-01,
    .sec-cmn-01 .sec-in-02,
    .sec-cmn-01 .sec-in-03,
    .sec-cmn-02 .sec-in-01,
    .sec-cmn-02 .sec-in-02,
    .sec-cmn-02 .sec-in-03,
    .sec-in-04 {
        width: auto;
        min-width: 0;
        max-width: none;
        padding: 0 15px;
    }
    .sec-cmn-01 .sec-in-01.pt,
    .sec-cmn-02 .sec-in-01.pt,
    .sec-cmn-01 .sec-in-02.pt,
    .sec-cmn-02 .sec-in-02.pt {
        padding-top: 0;
    }
}

/* ==========================================================
 box
========================================================== */

/* box-cmn-cont-01
---------------------------------------------------------- */

.box-cmn-cont-01 {
    padding: 70px 0;
    background: #f5f5f0;
}

.box-cmn-cont-01 .box-inner {
    width: 810px;
    margin: 0 auto;
}

.box-cmn-cont-01 .box-inner .button a {
    width: 215px;
    margin: 0 auto;
}

.box-cmn-cont-01 .box-detail {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: 20px;
}

.box-cmn-cont-01 .box-detail .box-item {
    width: 443px;
    padding-right: 56px;
}

.box-cmn-cont-01 .box-detail .image img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .box-cmn-cont-01 {
        margin: 0 -15px;
        padding: 36px 0;
    }
    .box-cmn-cont-01 .box-inner {
        width: auto;
        padding: 0 35px;
    }
    .box-cmn-cont-01 .box-inner .button a {
        width: 100%;
        min-height: 20px;
    }
    .box-cmn-cont-01 .box-detail {
        display: block;
        margin-bottom: 20px;
    }
    .box-cmn-cont-01 .box-detail .box-item {
        width: auto;
        margin-bottom: 15px;
        padding-right: 0;
    }
    .box-cmn-cont-01 .box-detail .text {
        font-size: 14px;
    }
}

/* box-cmn-contact-btm
---------------------------------------------------------- */

.box-cmn-contact-btm {
    padding: 52px 0;
    background: #f5f5f0;
}

.box-cmn-contact-btm.type-01 {
    padding: 52px 0 0;
}

.box-cmn-contact-btm.bg-white {
    background: #fff;
}

.box-cmn-contact-btm .box-link,
.box-cmn-contact-btm .box-info {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.box-cmn-contact-btm .box-link {
    margin-bottom: 55px;
    -webkit-justify-content: center;
    justify-content: center;
    margin-left: -20px;
}

.box-cmn-contact-btm.type-01 .box-link {
    margin-bottom: 0;
}

.box-cmn-contact-btm .box-link .item {
    width: 470px;
    margin-left: 20px;
    font-size: 20px;
    text-align: center;
}

.box-cmn-contact-btm.type-01 .box-link .item {
    width: 395px;
}

.box-cmn-contact-btm .box-link .text {
    margin-bottom: 10px;
}

.box-cmn-contact-btm .box-link .button {
    height: 70px;
    font-size: 24px;
}

.box-cmn-contact-btm .box-link .button .ico-cmn.mail {
    padding-left: 50px;
}

.box-cmn-contact-btm .box-link .button .ico-cmn.file {
    padding-left: 50px;
}

.box-cmn-contact-btm .box-info {
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.box-cmn-contact-btm .box-info .item {
    margin: 0 10px;
}

.box-cmn-contact-btm .box-info .txt-open {
    text-align: center;
}

.box-cmn-contact-btm .box-info .txt-open span {
    display: block;
    font-size: 14px;
}

.box-cmn-contact-btm .box-info .txt-tel {
    font-weight: bold;
    font-size: 34px;
    line-height: 1.6;
    color: #000;
}

.box-cmn-contact-btm .box-info .txt-tel .ico-cmn.tel {
    padding-left: 48px;
}

.box-cmn-contact-btm .box-info .txt-tel .ico-cmn.tel:before {
    width: 32px;
    height: 32px;
    background-size: 32px 32px;
}

.box-cmn-contact-btm .btn-mail-sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .box-cmn-contact-btm,
    .box-cmn-contact-btm.type-01 {
        padding: 35px 15px;
    }
    .box-cmn-contact-btm .box-link,
    .box-cmn-contact-btm .box-info {
        display: block;
        margin: 0;
        text-align: center;
    }
    .box-cmn-contact-btm {}
    .box-cmn-contact-btm .box-link {
        margin-bottom: 40px;
    }
    .box-cmn-contact-btm .box-link .item {
        width: auto;
        margin: 0;
        font-size: 15px;
    }
    .box-cmn-contact-btm.type-01 .box-link .item {
        width: auto;
    }
    .box-cmn-contact-btm .box-link .item:first-child {
        margin-bottom: 40px;
    }
    .box-cmn-contact-btm .box-link .text {
        margin-bottom: 10px;
    }
    .box-cmn-contact-btm .box-link .button {
        height: 50px;
        font-size: 16px;
        opacity: 1 !important;
    }
    .box-cmn-contact-btm .box-link .button .ico-cmn {
        padding-left: 42px !important;
    }
    .box-cmn-contact-btm .box-link .button .ico-cmn.mail:before {
        width: 32px;
        height: 32px;
        background-size: 32px 32px;
    }
    .box-cmn-contact-btm .box-link .button .ico-cmn.file:before {
        width: 32px;
        height: 32px;
        background-size: 32px 32px;
    }
    .box-cmn-contact-btm .box-info {
        margin-bottom: 0;
    }
    .box-cmn-contact-btm .box-info .item {
        margin: 0;
    }
    .box-cmn-contact-btm .box-info .txt-open {
        margin-bottom: 5px;
        font-size: 14px;
    }
    .box-cmn-contact-btm .box-info .txt-open span {
        display: none;
    }
    .box-cmn-contact-btm .box-info .txt-open-sp {
        font-size: 12px;
    }
    .box-cmn-contact-btm .box-info .txt-tel {
        margin-bottom: 8px;
        font-size: 22px;
    }
    .box-cmn-contact-btm .box-info .txt-tel .ico-cmn.tel {
        padding-left: 39px;
    }
    .box-cmn-contact-btm .box-info .txt-tel .ico-cmn.tel:before {
        width: 26px;
        height: 26px;
        background-size: 26px 26px;
    }
    .box-cmn-contact-btm .box-info .txt-tel a,
    .box-cmn-contact-btm .box-info .txt-tel a:hover {
        color: #000;
        text-decoration: none;
    }
    .box-cmn-contact-btm .btn-mail-sp {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        width: 100%;
        height: 40px;
        border-radius: 100px;
        background: #fff;
        border: solid 1px #ddd;
        font-size: 15px;
        text-align: center;
        text-decoration: none;
    }
    .box-cmn-contact-btm .btn-mail-sp .ico-cmn.mail {
        padding-left: 28px;
    }
    .box-cmn-contact-btm .btn-mail-sp .ico-cmn.mail:before {
        width: 24px;
        height: 24px;
        background-size: 24px 24px;
    }
}

/* box-cmn-banner
---------------------------------------------------------- */

.box-cmn-banner {
    padding: 70px 0 35px;
}

.box-cmn-banner.bg-grey {
    background: #f5f5f0;
}

.box-cmn-banner .item-banner {
    width: 980px;
    margin: 0 auto 40px;
}

.box-cmn-banner .item-banner a:hover .image {
    opacity: 0.7;
}

.box-cmn-banner .item-banner .image {
    text-align: center;
}

.box-cmn-banner .item-banner .image img {
    border-radius: 10px;
}

@media screen and (max-width: 768px) {
    .box-cmn-banner {
        padding: 40px 15px;
    }
    .box-cmn-banner .item-banner {
        width: 100%;
    }
    .box-cmn-banner a:hover .image {
        opacity: 1;
    }
    .box-cmn-banner .image img {
        width: 100%;
    }
}

/* box-cmn-sns
---------------------------------------------------------- */

.box-cmn-sns {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.box-cmn-sns .item {
    margin: 0 2px;
}

.box-cmn-sns .fb_iframe_widget span {
    display: block;
}

.box-cmn-sns .inlineBlock _2tga _49ve {
    background-color: #fff;
}

/* box-cmn-column-02
---------------------------------------------------------- */

.box-cmn-column-02,
.box-cmn-column-03,
.box-cmn-column-04 {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    margin-left: -40px;
}

.box-cmn-column-02>.item {
    width: 50%;
    padding-left: 40px;
}

/* box-cmn-column-03
---------------------------------------------------------- */

.box-cmn-column-03>.item {
    width: 33.333%;
    padding-left: 40px;
}

/* box-cmn-column-04
---------------------------------------------------------- */

.box-cmn-column-04>.item {
    width: 25%;
    padding-left: 40px;
}

@media screen and (max-width: 768px) {
    .box-cmn-column-02,
    .box-cmn-column-03,
    .box-cmn-column-04 {
        display: block;
        margin: 0;
    }
    .box-cmn-column-02 .item,
    .box-cmn-column-03 .item,
    .box-cmn-column-04 .item {
        width: 100%;
        margin-bottom: 20px;
        padding-left: 0;
    }
    .box-cmn-column-02 .item:last-child,
    .box-cmn-column-03 .item:last-child,
    .box-cmn-column-04 .item:last-child {
        margin-bottom: 0;
    }
}

/* box-cmn-related
---------------------------------------------------------- */

.box-cmn-related {
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
    width: 810px;
    margin: 0 auto;
    padding: 20px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.1);
    border: solid 1px #dddddd;
}

.box-cmn-related .image {
    width: 215px;
    -webkit-flex: 0 0 215px;
    -ms-flex: 0 0 215px;
    flex: 0 0 215px;
}

.box-cmn-related .image img {
    width: 100%;
    border-radius: 10px;
}

.box-cmn-related .box-detail {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 20px;
}

.box-cmn-related .list-head {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: bold;
}

.box-cmn-related .list-head li {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    min-height: 50px;
    padding: 0 20px;
    border-left: 1px solid #ddd;
}

.box-cmn-related .list-head li:first-child {
    padding: 0 15px 0 0;
    border-left: none;
    position: relative;
}

.box-cmn-related .list-head li:first-child img {
    display: block;
}

@media screen and (max-width: 768px) {
    .box-cmn-related .list-head li:first-child {
        text-align: center;
    }
    .box-cmn-related .list-head li:first-child img {
        margin: 0 auto;
    }
}

.box-cmn-related .box-detail .title {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 18px;
}

.box-cmn-related .box-detail .text {
    line-height: 1.88;
}

.box-cmn-related .box-detail .button a,
.box-cmn-related .box-detail .button span {
    width: auto;
    padding: 5px 50px 5px 36px;
    margin: 20px 0 0;
}

/*  hover  */

.box-cmn-related.is-link {
    text-decoration: none;
}

.box-cmn-related.is-link:visited {
    color: #000;
}

.box-cmn-related.is-link:hover {
    background-color: #f7f7f7;
    color: #000;
}

.box-cmn-related.is-link:hover .image,
.box-cmn-related.is-link:hover .list-head li:first-child {
    position: relative;
}

.box-cmn-related.is-link:hover .image img,
.box-cmn-related.is-link:hover .list-head li:first-child img {
    -ms-filter: 'alpha( opacity=70)';
    filter: alpha( opacity=70);
    opacity: 0.7;
}

.box-cmn-related.is-link:hover .box-detail .button span {
    background-color: #ffd633;
    color: #000;
    /*background-color: #000;*/
    /*color: #fff;*/
}

.box-cmn-related.is-link:hover .btn-cmn-02 span.ico-arrow:after {
    background: url(/img/common/ico_arrow_right.svg) right center no-repeat;
    /*background: url(/img/common/ico_arrow_right_white.svg) right center no-repeat;*/
    background-size: 17px 15px;
}

.box-cmn-related.type-02 {
    display: block;
    padding: 0;
}

.box-cmn-related.type-02 .image {
    width: auto;
}

.box-cmn-related.type-02 .image img {
    border-radius: 0;
}

.box-cmn-related.type-02 .box-detail {
    padding: 20px 20px 30px;
}

.box-cmn-related.type-02 .box-detail .button span {
    margin: 20px auto 0;
}

@media screen and (max-width: 768px) {
    .box-cmn-related {
        display: block;
        width: 100%;
        padding: 20px 0;
    }
    .box-cmn-related .image {
        overflow: hidden;
        width: auto;
        margin-bottom: 30px;
        padding: 0 38px;
        text-align: center;
    }
    .box-cmn-related .image img {
        max-width: 250px;
        border-radius: 10px;
    }
    .box-cmn-related .box-detail {
        padding: 0 10px;
    }
    .box-cmn-related .list-head {
        display: block;
        margin-bottom: 20px;
    }
    .box-cmn-related .list-head li {
        display: block;
        height: auto;
        margin-bottom: 25px;
        padding: 0 10px !important;
        border: none !important;
        text-align: center;
    }
    .box-cmn-related .list-head li:last-child {
        margin-bottom: 0;
    }
    .box-cmn-related .box-detail .title {
        margin-bottom: 12px;
        line-height: 1.33;
    }
    .box-cmn-related .box-detail .button a,
    .box-cmn-related .box-detail .button span {
        width: 100%;
        line-height: 1.29;
        text-align: center;
    }
    /*  hover  */
    .box-cmn-related.is-link:hover .image:before,
    .box-cmn-related.is-link:hover .list-head li:first-child:before {
        display: none;
    }
    .box-cmn-related.type-02 .image {
        width: auto;
        padding: 0;
    }
    .box-cmn-related.type-02 .image img {
        width: 100%;
        max-width: none;
    }
    .box-cmn-related.type-02 .box-detail {
        padding: 0 10px 20px;
    }
}

/* box-cmn-related-02
---------------------------------------------------------- */

.box-cmn-related-02 .btn-related a {
    width: 300px;
    margin: 55px auto 0;
}

@media screen and (max-width: 768px) {
    .box-cmn-related-02 .btn-related a {
        width: 100%;
        margin: 20px auto 0;
    }
}

/* box-cmn-moreinfo-btn
---------------------------------------------------------- */

.box-cmn-moreinfo-btn .title {
    margin-bottom: 50px;
    text-align: center;
}

.box-cmn-moreinfo-btn .list-moredetail {
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}

.box-cmn-moreinfo-btn .list-moredetail li {
    width: 250px;
    margin: 0 15px;
}

@media screen and (max-width: 768px) {
    .box-cmn-moreinfo-btn .title {
        margin-bottom: 12px;
    }
    .box-cmn-moreinfo-btn .list-moredetail {
        display: block;
    }
    .box-cmn-moreinfo-btn .list-moredetail li {
        width: 250px;
        margin: 0 auto 20px;
    }
    .box-cmn-moreinfo-btn .list-moredetail li:last-child {
        margin-bottom: 0;
    }
    .box-cmn-moreinfo-btn .list-moredetaillist-showcase-detail-button li a {
        min-height: 40px;
    }
}

/* box-cmn-anchor-link
---------------------------------------------------------- */

.box-cmn-anchor-link {}

.box-cmn-anchor-link .list-link {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin: -10px -10px 0;
    font-size: 14px;
}

.box-cmn-anchor-link .list-link li {
    margin-top: 10px;
}

.box-cmn-anchor-link .list-link li:after {
    color: #c9c9c9;
    content: "|";
}

.box-cmn-anchor-link .list-link li:last-child:after {
    display: none;
}

.box-cmn-anchor-link .list-link a {
    position: relative;
    display: inline-block;
    margin: 0 10px;
}

.box-cmn-anchor-link .list-link a:after {
    display: inline-block;
    width: 9px;
    height: 11px;
    margin-left: 4px;
    background: url(/img/common/ico_arrow_down.svg) no-repeat;
    content: "";
}

.box-cmn-anchor-link .list-link a:visited {
    color: #000;
}

@media screen and (max-width: 768px) {
    .box-cmn-anchor-link .list-link {
        display: block;
        margin: 0;
    }
    .box-cmn-anchor-link .list-link li {
        margin: 0 0 5px;
    }
    .box-cmn-anchor-link .list-link li:last-child {
        margin: 0;
    }
    .box-cmn-anchor-link .list-link li:after {
        display: none;
    }
    .box-cmn-anchor-link .list-link a {
        margin: 0;
    }
}

/* box-cmn-fullcard-01
---------------------------------------------------------- */

.box-cmn-fullcard-01 {
    overflow: hidden;
    display: block;
    padding: 10px;
    border-radius: 10px;
    background: #fff;
    border: 3px solid #ddd;
    text-decoration: none;
}

.box-cmn-fullcard-01 .image {
    float: left;
    width: 120px;
    margin-right: 12px;
}

.box-cmn-fullcard-01 .image img {
    width: 100%;
}

.box-cmn-fullcard-01 .info {
    overflow: hidden;
    font-size: 14px;
    line-height: 1.43;
}

.box-cmn-fullcard-01 .title {
    font-weight: bold;
    line-height: 1.57;
    text-decoration: underline;
}

.box-cmn-fullcard-01 .text {
    margin-top: 10px;
    color: #000;
}

@media screen and (max-width: 768px) {
    .box-cmn-fullcard-01 .image {
        margin-bottom: 10px;
    }
    .box-cmn-fullcard-01 .text {
        clear: both;
        display: block;
    }
}

/*  hover  */

.box-cmn-fullcard-01:hover {
    background-color: #f7f7f7;
    border: 3px solid #ccc;
}

.box-cmn-fullcard-01:hover .title {
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .box-cmn-fullcard-01 {}
    .box-cmn-fullcard-01 .info {
        overflow: visible;
    }
    .box-cmn-fullcard-01 .title {
        overflow: hidden;
    }
}

/* box-cmn-single-card-01
---------------------------------------------------------- */

.box-cmn-single-card-01 {
    display: block;
    text-decoration: none;
}

.box-cmn-single-card-01 .image {
    overflow: hidden;
    margin-bottom: 10px;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: #fff;
}

.box-cmn-single-card-01 .image img {
    width: 100%;
}

.box-cmn-single-card-01 .box-detail {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.box-cmn-single-card-01 .box-detail .logo {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex: 0 0 120px;
    -ms-flex: 0 0 120px;
    flex: 0 0 120px;
    width: 120px;
    height: 93px;
    padding: 0 5px;
    background-color: #fff;
    overflow: hidden;
}

.box-cmn-single-card-01 .box-detail .logo img {
    display: block;
    width: 100%;
}

.box-cmn-single-card-01 .box-detail .detail {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 10px;
    padding-left: 10px;
    border-left: 1px solid #ddd;
    color: #000;
    font-size: 14px;
    line-height: 1.43;
    text-align: justify;
}

.box-cmn-single-card-01 .box-detail .title {
    margin-bottom: 10px;
    font-size: 16px;
    text-decoration: underline;
    line-height: 1.88;
}

.box-cmn-single-card-01:hover .box-detail .title {
    color: #b26000;
    text-decoration: none;
}

.box-cmn-single-card-01:hover .image {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .box-cmn-single-card-01 {}
    .box-cmn-single-card-01 .box-detail .logo {
        -ms-flex: 0 0 74px;
        -webkit-flex: 0 0 74px;
        flex: 0 0 74px;
        width: 74px;
        height: 48px;
    }
    .box-cmn-single-card-01 .box-detail .detail {
        margin-left: 6px;
        padding-left: 6px;
    }
}

/* box-cmn-single-card-02
---------------------------------------------------------- */

.box-cmn-single-card-02:visited {
    color: #000;
}

.box-cmn-single-card-02 .image {
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
    -webkit-flex: 1;
    /* Fix image width bug on IE */
    flex: 1;
    /* Fix image width bug on IE */
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    height: 200px;
    margin-bottom: 10px;
    padding: 0 10px;
    border-radius: 10px;
    background-color: #fff;
    border: solid 1px #ddd;
    text-align: center;
}

.box-cmn-single-card-02 .image img {
    display: block;
    -webkit-flex-shrink: 0;
    /* Fix image width bug on IE */
    flex-shrink: 0;
    /* Fix image width bug on IE */
    max-width: 100%;
}

.box-cmn-single-card-02:hover .image {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .box-cmn-single-card-02 {}
    .box-cmn-single-card-02 .image {
        position: relative;
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 6px;
        padding: 93.333% 0 0;
    }
    .box-cmn-single-card-02 .image img {
        position: absolute;
        top: 50%;
        left: 50%;
        max-width: 85%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .box-cmn-single-card-02 .title {
        line-height: 1.5;
    }
}

/* box-cmn-cardlist-01
---------------------------------------------------------- */

.box-cmn-cardlist-01 {
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -25px 0 0 -40px;
}

.box-cmn-cardlist-01 .item-card {
    display: block;
    width: 25%;
    margin-top: 25px;
    padding-left: 40px;
    font-size: 14px;
    text-align: left;
}

.box-cmn-cardlist-01 .item-card a {
    display: block;
}

.box-cmn-cardlist-01 .item-card a:hover .image {
    opacity: 0.7;
}

.box-cmn-cardlist-01 .item-card .image {
    overflow: hidden;
    margin-bottom: 15px;
    border-radius: 10px;
    border: solid 1px #ddd;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.box-cmn-cardlist-01.type-01 .item-card .image {
    padding: 0 !important;
}

.box-cmn-cardlist-01 .item-card .image img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .box-cmn-cardlist-01 {
        display: block;
        margin: -20px 0 0;
    }
    .box-cmn-cardlist-01 .item-card {
        width: 215px;
        margin: 20px auto 0;
        padding-left: 0;
    }
    /*  .work-navi- .box-cmn-cardlist-01 .item-card {
    width: 50%;
    max-width: 215px;
    margin: 10px auto 0;
    padding-left: 10px;
  }*/
    .box-cmn-cardlist-01 .item-card .image {
        margin-bottom: 10px;
    }
}

/* for navi_work
---------------------------------------------------------- */

.work01 .item-card.card01,
.work02 .item-card.card02,
.work03 .item-card.card03,
.work04 .item-card.card04,
.work05 .item-card.card05,
.work06 .item-card.card06,
.work07 .item-card.card07,
.work08 .item-card.card08,
.work09 .item-card.card09,
.work10 .item-card.card10 {
    display: none;
}

.work-navi- .box-cmn-cardlist-01 {
    display: flex;
    margin-left: -20px;
}

.work-navi- .box-cmn-cardlist-01 .item-card {
    padding-left: 20px;
}

.work-navi- .box-cmn-cardlist-01 .item-card a {
    position: relative;
    height: 100%;
    background-color: #fb3;
    border-radius: 10px;
    color: #000;
    text-decoration: none;
    overflow: hidden;
}

.work-navi- .box-cmn-cardlist-01 .item-card a:hover {
    background-color: #faf3ac;
}

.work-navi- .box-cmn-cardlist-01 .item-card a:hover .txt-cmn-tag-01 {
    background-color: #fb3;
}

.work-navi- .box-cmn-cardlist-01 .item-card .image {
    margin-bottom: 0;
    border: none;
    border-radius: 0;
}

.work-navi- .box-cmn-cardlist-01 .item-card .txt-cmn-cat {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 65px;
    height: 30px;
    font-size: 10px;
    font-weight: normal;
    line-height: 30px;
    text-align: center;
    color: #fff;
    background-color: rgba(0, 0, 0, .2);
    border-bottom-right-radius: 10px;
}

.work-navi- .box-cmn-cardlist-01 .item-card .txt-inner {
    position: relative;
    padding: 25px 12px;
    min-height: 90px;
}

.work-navi- .box-cmn-cardlist-01 .item-card .txt-inner .txt-cmn-tag-01 {
    position: absolute;
    box-sizing: border-box;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    height: 24px;
    border: solid 2px #fb3;
    border-radius: 12px;
    background-color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 20px;
    text-align: center;
}

.work-navi- .box-cmn-cardlist-01 .item-card .txt-inner .text {
    font-size: 14px;
    font-weight: bold;
    line-height: 21px;
    text-align: justify;
}

@media screen and (max-width: 768px) {
    .work-navi- .box-cmn-cardlist-01 {
        margin-left: 0;
    }
    .work-navi- .box-cmn-cardlist-01 .item-card {
        padding-left: 0;
    }
}

/* box-cmn-cardlist-02
---------------------------------------------------------- */

.box-cmn-cardlist-02 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -40px 0 0 -40px;
}

.box-cmn-cardlist-02 .item-card {
    display: -webkit-flex;
    display: flex;
    width: 33.333%;
    margin-top: 40px;
    padding-left: 40px;
}

.box-cmn-cardlist-02 .item-card a {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 100%;
    color: inherit;
    text-decoration: none;
}

.box-cmn-cardlist-02 .item-card .image {
    overflow: hidden;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.box-cmn-cardlist-02 .item-card .image.border {
    border-top: 1px solid #f5f5f0;
    border-left: 1px solid #f5f5f0;
    border-right: 1px solid #f5f5f0;
}

.box-cmn-cardlist-02 .item-card .image.js-match-height {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 35px;
}

.box-cmn-cardlist-02 .item-card .image img {
    width: 100%;
}

.box-cmn-cardlist-02 .item-card .box-detail {
    position: relative;
    -webkit-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 20px 20px 70px;
    background: #f5f5f0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    font-size: 14px;
}

.box-cmn-cardlist-02 .item-card .box-detail .title {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.78;
}

.box-cmn-cardlist-02 .item-card .box-detail .text {
    line-height: 2;
}

.box-cmn-cardlist-02 .item-card .box-detail .button {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
}

.box-cmn-cardlist-02 .item-card .box-detail .button a,
.box-cmn-cardlist-02 .item-card .box-detail .button span {
    width: 100%;
    min-height: 40px;
    font-size: 16px;
}

.box-cmn-cardlist-02.column-02 .item-card {
    width: 50%;
}

.box-cmn-cardlist-02.column-03 .item-card {
    width: 33.333%;
}

.box-cmn-cardlist-02.bg-color-02 .box-detail {
    background: #ffbb33;
}

/*  hover  */

.box-cmn-cardlist-02 .item-card a:hover {
    color: inherit;
}

.box-cmn-cardlist-02 .item-card a:hover .image {
    -ms-filter: 'alpha( opacity=70)';
    filter: alpha( opacity=70);
    opacity: 0.7;
}

.box-cmn-cardlist-02 .item-card a:hover .box-detail {
    background-color: #faf3ac;
}

.box-cmn-cardlist-02 .item-card a:hover .box-detail.type-01 {
    background-color: #faf3ac;
}

.box-cmn-cardlist-02 .item-card a:hover .box-detail.type-01 .txt-cmn-tag-01 span {
    background-color: #ffd633;
}

.box-cmn-cardlist-02 .item-card a:hover .btn-cmn-02 span {
    background-color: #ffd633;
    color: #000;
    /*background-color: #000;*/
    /*color: #fff;*/
}

.box-cmn-cardlist-02 .item-card a:hover .btn-cmn-02 span.ico-arrow:after {
    background: url(/img/common/ico_arrow_right.svg) right center no-repeat;
    /*background: url(/img/common/ico_arrow_right_white.svg) right center no-repeat;*/
    background-size: 17px 15px;
}

.box-cmn-cardlist-02.column-02 .box-item {
    width: 50%;
}

.box-cmn-cardlist-02.column-02 .box-item .item-card {
    width: 100%;
}

.box-cmn-cardlist-02.column-02 .box-item .title,
.box-cmn-cardlist-02.column-03 .box-item .title {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .box-cmn-cardlist-02 {
        display: block;
        margin: 0;
    }
    .box-cmn-cardlist-02 .item-card,
    .box-cmn-cardlist-02.column-02 .item-card,
    .box-cmn-cardlist-02.column-03 .item-card {
        display: block;
        width: 100%;
        margin: 0 0 15px;
        padding-left: 0;
    }
    .box-cmn-cardlist-02 .item-card .box-detail {
        padding: 20px;
    }
    .box-cmn-cardlist-02 .item-card .box-detail .title {
        margin-bottom: 10px;
        font-size: 20px;
        line-height: 1.2;
    }
    .box-cmn-cardlist-02 .item-card .box-detail .text {
        line-height: 1.88;
    }
    .box-cmn-cardlist-02 .item-card .box-detail .button {
        position: static;
        margin-top: 10px;
    }
    .box-cmn-cardlist-02.column-02 .box-item {
        width: 100%;
    }
}

/* box-cmn-card-03
---------------------------------------------------------- */

.box-cmn-card-03 {
    text-align: center;
}

.box-cmn-card-03 .image {
    margin-bottom: 15px;
}

.box-cmn-card-03 .title {
    margin-bottom: 5px;
    font-size: 20px;
    font-weight: bold;
}

.box-cmn-card-03 .text {
    line-height: 1.88;
    text-align: left;
}

.box-cmn-card-03 .button {
    margin-top: 20px;
}

.box-cmn-cardlist-02.column-03 .box-item {
    width: 100%;
}

.box-cmn-cardlist-02.column-03 .box-item .item-card {
    float: left;
}

@media screen and (max-width: 768px) {
    .box-cmn-card-03 {}
    .box-cmn-card-03 .text {
        line-height: 1.5;
    }
    .box-cmn-cardlist-02.column-03 .box-item .item-card {
        width: 100%;
    }
}

/* box-cmn-cardlist-04
---------------------------------------------------------- */

.box-cmn-cardlist-04 {
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -20px 0 0 -20px;
    justify-content: flex-start !important;
}

.box-cmn-cardlist-04 .item-card {
    display: block;
    width: 20%;
    margin-top: 20px;
    padding-left: 20px;
    text-align: center;
}

.box-cmn-cardlist-04 .item-card a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    padding: 15px;
}

.box-cmn-cardlist-04 .item-card a::after {
    display: none;
}

.box-cmn-cardlist-04 .item-card a:hover .image {
    opacity: 0.7;
}

.box-cmn-cardlist-04 .item-card .image {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.box-cmn-cardlist-04 .item-card .image img {
    width: 100%;
}

.box-cmn-cardlist-04 .item-card a .text {
    font-size: 12px;
    line-height: 1.4em;
}

@media screen and (max-width: 768px) {
    .box-cmn-cardlist-04 {
        /*display: block;*/
        margin: -10px 0 0 -10px;
    }
    .box-cmn-cardlist-04 .item-card {
        width: 50%;
        max-width: 215px;
        margin: 10px auto 0;
        padding-left: 10px;
    }
    .box-cmn-cardlist-04 .item-card .image {
        margin-bottom: 10px;
    }
}

/* for navi_function
---------------------------------------------------------- */

.border- .box-cmn-cardlist-04 .item-card a {
    border: solid 1px #ddd;
}

.func01 .item-card.card01,
.func02 .item-card.card02,
.func03 .item-card.card03,
.func04 .item-card.card04,
.func05 .item-card.card05,
.func06 .item-card.card06,
.func07 .item-card.card07,
.func08 .item-card.card08,
.func09 .item-card.card09,
.func10 .item-card.card10,
.func-security .item-card.card-security {
    display: none;
}

/* nav-kaonavi-mega
---------------------------------------------------------- */

.nav-global li .nav-kaonavi-mega .item-card a {
    display: flex;
    flex-direction: row;
    font-size: 14px;
    line-height: 1.2em;
    height: auto;
    padding: 20px;
}

.nav-kaonavi-mega .item-card a::after {
    display: none;
}

.nav-kaonavi-mega .item-card .image {
    width: calc(50% - 20px);
    height: auto;
    padding-bottom: 34.75%;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    margin-right: 20px;
}

.nav-kaonavi-mega .item-card .txt-inner {
    position: relative;
    width: 50%;
    height: auto;
    padding: 20px 0 0 0;
    text-align: left;
}

.nav-kaonavi-mega .item-card .txt-cmn-tag-01 {
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 10px;
}

.nav-kaonavi-mega .item-card .ico-arrow::after {
    display: inline-block;
    content: url(/img/common/ico_arrow_right.svg);
    width: 20px;
    height: auto;
    margin-left: 10px;
}

.nav-kaonavi-mega .item-card .text {
    font-size: 13px;
    line-height: 1.5em;
    font-weight: normal;
}

/* nav-download-mega
---------------------------------------------------------- */

.nav-global li .nav-download-mega .item-card a {
    display: flex;
    flex-direction: row;
    font-size: 14px;
    line-height: 1.2em;
    height: auto;
    padding: 20px;
}

.nav-download-mega .item-card a::after {
    display: none;
}

.nav-download-mega .item-card .image {
    width: calc(50% - 20px);
    height: auto;
    padding-bottom: 34.75%;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    margin-right: 20px;
}

.nav-download-mega .item-card .txt-inner {
    position: relative;
    width: 50%;
    height: auto;
    padding: 20px 0 0 0;
    text-align: left;
}

.nav-download-mega .item-card .txt-cmn-tag-01 {
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 10px;
}

.nav-download-mega .item-card .ico-arrow::after {
    display: inline-block;
    content: url(/img/common/ico_arrow_right.svg);
    width: 20px;
    height: auto;
    margin-left: 10px;
}

.nav-download-mega .item-card .text {
    font-size: 13px;
    line-height: 1.5em;
    font-weight: normal;
}

/* nav-work-mega 9つバージョン
---------------------------------------------------------- */

.nav-work-mega .item-card {
    padding-left: 20px;
}

.nav-work-mega .item-card a {
    position: relative;
    height: 100%;
    background-color: #fff;
    border-radius: 10px;
    color: #000;
    text-decoration: none;
    overflow: hidden;
    padding: 0;
}

.nav-work-mega .item-card a:hover {
    background-color: #faf3ac;
}

.nav-work-mega .item-card a:hover .txt-cmn-tag-01 {
    background-color: #fb3;
}

.nav-work-mega .item-card .image {
    margin-bottom: 0;
    border: none;
    border-radius: 0;
    height: 100px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.nav-work-mega .item-card .image img {
    height: 100%;
    width: auto;
}

.nav-work-mega .item-card .txt-cmn-cat {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 65px;
    height: 24px;
    font-size: 10px;
    font-weight: normal;
    line-height: 24px;
    text-align: center;
    color: #fff;
    background-color: rgba(0, 0, 0, .2);
    border-bottom-right-radius: 10px;
}

.nav-work-mega .item-card .txt-inner {
    position: relative;
    padding: 25px 12px 15px;
}

.nav-work-mega .item-card .txt-inner .txt-cmn-tag-01 {
    position: absolute;
    box-sizing: border-box;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 10px);
    height: auto;
    border: solid 2px #fb3;
    border-radius: 40px;
    background-color: #fb3;
    font-size: 12px;
    font-weight: bold;
    line-height: 14px;
    text-align: center;
    padding: 5px 0;
}

.nav-work-mega .item-card .txt-inner .text {
    font-size: 12px;
    font-weight: bold;
    line-height: 16px;
    text-align: justify;
    font-weight: normal;
}

@media screen and (max-width: 1024px) {
    .nav-work-mega .item-card .image {
        height: 85px;
    }
    .nav-work-mega .item-card .txt-inner .txt-cmn-tag-01 {
        font-size: 11px;
        width: 150px;
    }
    .nav-work-mega .item-card .txt-inner .text {
        font-size: 11px;
        line-height: 14px;
        /*letter-spacing: -.1em;*/
    }
}

@media screen and (max-width: 768px) {
    .nav-work-mega {
        margin-left: 0;
    }
    .nav-work-mega .item-card {
        padding-left: 0;
    }
}

/* nav-work-mega 3つバージョン
---------------------------------------------------------- */

/*.nav-work-mega .item-card a {
  font-size: 14px;
  line-height: 1.2em;
  height: auto;
  padding: 0;

}
.nav-work-mega .item-card a::after {
  display: none;
}
.nav-work-mega .item-card .image {
  width: 100%;
  height: 100px;
}
.nav-work-mega .item-card .txt-inner {
  min-height: 100px;
  padding: 20px;
  text-align: center;
}
.nav-work-mega .item-card .txt-cmn-tag-01 {
  font-size: 20px;
  font-weight: bold;
  padding-left: 30px;
}
.nav-work-mega .item-card .ico-arrow::after {
  display: inline-block;
  content: url(/img/common/ico_arrow_right.svg);
  width: 20px;
  height: auto;
  margin-left: 10px;
}
.nav-work-mega .item-card .text {
  font-size: 14px;
  line-height: 1.5em;
  font-weight: normal;
}*/

/* nav-func-mega
---------------------------------------------------------- */

.nav-func-mega .item-card a:hover .image {
    opacity: 1;
}

.nav-func-mega .item-card .image {
    display: block;
    padding-bottom: 82%;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

/* nav-showcase-mega
---------------------------------------------------------- */

.box-cmn-cardlist-02.nav-showcase-mega {
    margin: -20px 0 0 -20px;
}

.box-cmn-cardlist-02.nav-showcase-mega .item-card {
    margin-top: 20px;
    padding-left: 20px;
}

.nav-showcase-mega .item-card a {
    font-size: 14px;
    line-height: 1.2em;
    height: auto;
    padding: 0;
}

.nav-showcase-mega .item-card a::after {
    display: none;
}

.nav-showcase-mega .item-card .image {
    box-sizing: border-box;
    /*display: flex;*/
    /*align-items: center;*/
    width: 100%;
    height: 100px;
    /*padding: 44px 20px 0;*/
}

.nav-showcase-mega .item-card .box-detail {
    display: flex;
    background-color: transparent;
    padding: 10px 20px 20px 15px;
    min-height: 90px;
}

.nav-showcase-mega .item-card .logo {
    position: relative;
    -ms-flex: 0 0 45px;
    -webkit-flex: 0 0 45px;
    flex: 0 0 45px;
    width: 45px;
    height: 36px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.nav-showcase-mega .item-card .logo img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
}

.nav-showcase-mega .item-card .title {
    margin-left: 10px;
    font-size: 12px;
    line-height: 1.43;
    color: #fff;
    text-shadow: 1px 1px 0 #000;
}

.nav-showcase-mega .item-card .box-detail .detail p {
    font-size: 14px;
    line-height: 1.43;
    font-weight: normal;
    text-align: justify;
    padding-left: 15px;
}

.nav-showcase-mega .item-card a .goto-index {
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    font-size: 16px;
    line-height: 20px;
    width: 100%;
    text-align: center;
}

.nav-showcase-mega .item-card a .goto-index::after {
    display: inline-block;
    content: url(/img/common/ico_arrow_right.svg);
    width: 15px;
    height: 17px;
    margin-left: 5px;
}

/* nav-price-mega
---------------------------------------------------------- */

.box-cmn-cardlist-04.nav-price-mega,
.box-cmn-cardlist-04.nav-support-mega {
    margin-left: -40px;
}

.box-cmn-cardlist-04.nav-price-mega .item-card,
.box-cmn-cardlist-04.nav-support-mega .item-card {
    width: 25%;
    padding-left: 40px;
}

.nav-price-mega .item-card .image,
.nav-support-mega .item-card .image {
    display: block;
    padding-bottom: 82%;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

/* ==========================================================
 hero
========================================================== */

/* hero-cmn-01
---------------------------------------------------------- */

.hero-cmn-01 {
    max-width: 1200px;
    margin: 0 auto;
}

.hero-cmn-01 img {
    width: 100%;
}

/* ==========================================================
 title
========================================================== */

/* ttl-cmn
---------------------------------------------------------- */

.ttl-cmn-01 {
    margin-bottom: 40px;
    font-size: 32px;
    font-weight: normal;
    line-height: 1.38;
}

h2.ttl-cmn-01 br {
    display: none;
}

h2.ttl-cmn-01 {
    text-align: left;
}

.ttl-cmn-02 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: bold;
}

.ttl-cmn-02.center-01 {
    margin-bottom: 50px;
    text-align: center;
}

.ttl-cmn-03 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .ttl-cmn-01 {
        margin-bottom: 20px;
        font-size: 28px;
    }
    .ttl-cmn-02 {
        font-size: 20px;
        line-height: 1.2;
    }
    .ttl-cmn-02.center-01 {
        margin-bottom: 20px;
    }
    .ttl-cmn-03 {
        margin-bottom: 10px;
        line-height: 1.2;
    }
}

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

/* txt-cmn-contact-01
---------------------------------------------------------- */

.txt-cmn-contact-01 {
    line-height: 1.2;
}

.txt-cmn-contact-01 .txt-tel {
    display: block;
    padding-left: 23px;
    background: url(/img/common/ico_tel.svg) left center no-repeat;
    background-size: 19px 19px;
    font-size: 22px;
    font-weight: bold;
    text-decoration: none;
}

.txt-cmn-contact-01 .txt-open {
    font-size: 10px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .txt-cmn-contact-01 {
        line-height: 1.4;
    }
    .txt-cmn-contact-01 .txt-tel {
        padding-left: 23px;
        background-size: 19px 19px;
        font-size: 18px;
        text-align: left;
    }
    .txt-cmn-contact-01 .txt-tel a,
    .txt-cmn-contact-01 .txt-tel a:hover {
        color: #000;
        text-decoration: none;
    }
}

/* txt-cmn-tag-01
---------------------------------------------------------- */

.txt-cmn-tag-01 {
    margin-bottom: 10px;
}

.txt-cmn-tag-01 span {
    display: inline-block;
    padding: 2px 15px;
    border-radius: 50px;
    background: #fff;
    border: 1px solid #eae8e4;
    font-weight: bold;
    font-size: 14px;
}

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

/* list-cmn-info-01
---------------------------------------------------------- */

.list-cmn-info-01 {
    width: 100%;
}

.list-cmn-info-01 li {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    font-size: 14px;
}

.list-cmn-info-01 li .head {
    -webkit-flex: 0 0 215px;
    flex: 0 0 215px;
    width: 215px;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}

.list-cmn-info-01 li .detail {
    -webkit-flex: 1;
    flex: 1;
    margin-left: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}

.list-cmn-info-01 li .detail p:nth-of-type(1) {
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .list-cmn-info-01 {}
    .list-cmn-info-01 li .head {
        -webkit-flex: 0 0 80px;
        flex: 0 0 80px;
        width: 80px;
    }
    .list-cmn-info-01 li .detail {
        margin-left: 10px;
    }
}

/* ==========================================================
 button
========================================================== */

/* btn-cmn
---------------------------------------------------------- */

.btn-cmn-01,
.btn-cmn-02 {
    display: -webkit-flex;
    display: flex;
    /* Fix flexbox bug in IE */
}

.btn-cmn-01 a,
.btn-cmn-01 a:visited,
.btn-cmn-01 button {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-height: 40px;
    border-radius: 100px;
    background-color: #ff5700;
    /*background-color: #ffaa22;*/
    box-shadow: 0 3px 0 0 #953500;
    /*box-shadow: 0 3px 0 0 #cc8800;*/
    color: #fff;
    /*color: #000;*/
    font-weight: bold;
    text-decoration: none;
}

.btn-cmn-01 a:hover,
.btn-cmn-01 button:hover {
    /*color: #000;*/
    background-color: #fa2;
    /*background-color: #e58d00;*/
    box-shadow: 0 3px 0 0 #cc8800;
}

.btn-cmn-01.orange a,
.btn-cmn-01.orange a:visited,
.btn-cmn-01.orange button {
    background-color: #ffaa22;
    box-shadow: 0 3px 0 0 #cc8800;
    color: #000;
}

.btn-cmn-01.orange a:hover,
.btn-cmn-01.orange button:hover {
    background-color: #e58d00;
}

.btn-cmn-02 {}

.btn-cmn-02 a,
.btn-cmn-02 a:visited,
.btn-cmn-02 span {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 300px;
    min-height: 50px;
    margin: 0 auto;
    border-radius: 100px;
    background-color: #fff;
    box-shadow: 0 1px 0 0 #000;
    border: solid 2px #000;
    color: #000;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.btn-cmn-02 a:hover {
    background-color: #ffd633;
    /*background-color: #000;*/
    /*color: #fff;*/
}

.btn-cmn-02.small a {
    width: 250px;
}

.btn-cmn-01 a.ico-arrow,
.btn-cmn-02 a.ico-arrow,
.btn-cmn-01 button.ico-arrow,
.btn-cmn-02 span.ico-arrow,
.btn-cmn-02 span.ico-arrow-prev {
    padding: 5px 36px;
}

.btn-cmn-01 a.ico-arrow:after,
.btn-cmn-02 a.ico-arrow:after,
.btn-cmn-01 button.ico-arrow:after,
.btn-cmn-02 span.ico-arrow:after {
    position: absolute;
    top: 50%;
    right: 18px;
    width: 17px;
    height: 15px;
    background: url(/img/common/ico_arrow_right.svg) right center no-repeat;
    background-size: 17px 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
}

.btn-cmn-02 a.ico-arrow:hover:after {
    background: url(/img/common/ico_arrow_right.svg) right center no-repeat;
    /*background: url(/img/common/ico_arrow_right_white.svg) right center no-repeat;*/
    background-size: 17px 15px;
}

.btn-cmn-01 a.ico-arrow-prev,
.btn-cmn-02 a.ico-arrow-prev,
.btn-cmn-01 button.ico-arrow-prev,
.btn-cmn-02 span.ico-arrow-prev {
    padding: 5px 36px;
}

.btn-cmn-01 a.ico-arrow-prev:after,
.btn-cmn-02 a.ico-arrow-prev:after,
.btn-cmn-01 button.ico-arrow-prev:after,
.btn-cmn-02 span.ico-arrow-prev:after {
    position: absolute;
    top: 50%;
    left: 18px;
    width: 17px;
    height: 15px;
    background: url(/img/common/ico_arrow_left.svg) left center no-repeat;
    background-size: 17px 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
}

.btn-cmn-02 a.ico-arrow-prev:hover:after {
    background: url(/img/common/ico_arrow_left.svg) right center no-repeat;
    /*background: url(/img/common/ico_arrow_right_white.svg) right center no-repeat;*/
    background-size: 17px 15px;
}

.btn-cmn-02 a.ico-blank {
    padding: 5px 10px;
}

.btn-cmn-02 a.ico-blank:after {
    position: absolute;
    top: 50%;
    right: 18px;
    width: 15px;
    height: 15px;
    background: url(/img/common/ico_blank.svg) right center no-repeat;
    background-size: 15px 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
}

/*    .btn-cmn-02 a.ico-blank:hover:after {
      background: url(/img/common/ico_blank_white.svg) right center no-repeat;
      background-size: 15px 15px;
    }
*/

@media screen and (max-width: 768px) {
    .btn-cmn-02 a {
        width: 100%;
        min-height: 40px;
        font-size: 14px;
    }
    .btn-cmn-01 a:hover {
        background-color: #ffaa22;
    }
    .btn-cmn-02 a:hover {
        color: #000;
        background-color: #fff;
    }
    .btn-cmn-02 a.ico-arrow:hover:after {
        background: url(/img/common/ico_arrow_right.svg) right center no-repeat;
        background-size: 17px 15px;
    }
    .btn-cmn-02 a.ico-blank:hover:after {
        background: url(/img/common/ico_blank.svg) right center no-repeat;
        background-size: 15px 15px;
    }
}

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

.btn-cmn-pagetop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 5;
}

.btn-cmn-pagetop a {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 60px;
    background: url(/img/common/btn_pagetop.svg) rgba(0, 0, 0, 0.5) center center no-repeat;
    background-size: 18px 20px;
}

.btn-cmn-pagetop a:hover {
    background-color: #000;
}

@media screen and (max-width: 768px) {
    .btn-cmn-pagetop {
        right: 15px;
        bottom: 15px;
    }
    .btn-cmn-pagetop a,
    .btn-cmn-pagetop a:hover {
        background-color: rgba(0, 0, 0, 0.5);
    }
}

/* ==========================================================
 CV-SET
========================================================== */

/* cvset-cmn
---------------------------------------------------------- */

.cvset-cmn {
    background-color: transparent;
    text-align: center;
    padding-top: 0;
    padding-bottom: 0;
}

.cvset-back-photo {
    position: relative;
    background: url(/img/common/img_cvset_v3.png)center center /cover;
}

.cvset-back-photo .cvset-cmn {
    position: relative;
    background-color: transparent;
    text-align: center;
    padding: 40px 0;
    border: solid 1px #fff;
    border-radius: 20px;
    width: calc(100% - 30px);
    max-width: 944px;
    margin: 0 auto;
}

.cvset-back-photo .cvset-desc {
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    line-height: 20px;
    color: #000;
    background-color: #fff;
    padding: 0 10px;
    border-radius: 10px;
    white-space: nowrap;
}

.cvset-cmn .sec-in-01,
.cvset-cmn .sec-in-02 {
    display: flex;
    padding: 0 2px;
}

.cvset-cmn .sec-in-01.sp {
    display: none;
}

.cvset-cmn .tel-set {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
    color: #fff;
}

.cvset-cmn .tel-set .box-info {
    padding-right: 40px;
    margin-right: 40px;
    border-right: solid 1px #fff;
}

.cvset-cmn .tel-set.no-margin {
    margin-bottom: 0;
}

.cvset-cmn .txt-tel {
    font-size: 30px;
    font-weight: bold;
    color: #fff;
}

.cvset-cmn .txt-tel a,
.cvset-cmn .txt-tel a:visited {
    color: #fff;
}

.cvset-cmn .txt-tel .ico-cmn {
    padding-left: 40px;
}

.cvset-back-photo .cvset-cmn .txt-tel .ico-cmn.tel:before {
    background: url(/img/common/ico_tel_white.svg) no-repeat;
    background-size: 30px 30px;
}

.cvset-cmn .txt-tel .ico-cmn.tel.large:before {}

.cvset-cmn .btn-cmn-01.large {
    height: 50px;
    font-size: 20px;
}

.cvset-cmn .tel-set .btn-cmn-01 {
    width: 410px;
    height: 70px;
}

.cvset-cmn .tel-set .btn-cmn-01 .ico-cmn {
    position: relative;
    font-size: 30px;
    padding-left: 150px;
    letter-spacing: .1ex;
}

.cvset-cmn .tel-set .btn-cmn-01 .ico-cmn.file::before {
    background: url(/img/common/ico_file_white.svg) no-repeat;
}

.cvset-cmn .tel-set .btn-cmn-01 .ico-cmn .sub-label {
    position: absolute;
    display: block;
    top: 50%;
    left: 55px;
    transform: translateY(-50%);
    font-size: 14px;
    font-weight: normal;
    line-height: 18px;
    letter-spacing: 0;
}

@media screen and (max-width: 768px) {
    .cvset-cmn .sec-in-01.pc,
    .cvset-cmn .sec-in-02.pc {
        display: none;
    }
    .cvset-cmn .sec-in-01.sp {
        display: block;
    }
    .cvset-back-photo .cvset-cmn {
        position: relative;
        padding-bottom: 120px;
    }
    .cvset-back-photo .cvset-cmn .tel-set {
        flex-direction: column;
        margin-bottom: 20px;
    }
    .cvset-cmn .tel-set .box-info {
        padding: 0;
        margin: 0;
        border: none;
    }
    .cvset-back-photo .cvset-cmn .box-info {
        position: absolute;
        bottom: 20px;
        left: 0;
        width: 100%;
        margin-bottom: 0;
    }
    .cvset-cmn .box-info p {
        font-size: 14px;
    }
    .cvset-cmn .box-info .txt-tel {
        font-size: 20px;
    }
    .cvset-cmn .tel-set .btn-cmn-01 {
        width: 100%;
        height: 54px;
    }
    .cvset-cmn .tel-set .btn-cmn-01 .ico-cmn {
        font-size: 20px;
        padding-left: 130px;
    }
    .cvset-cmn .tel-set .btn-cmn-01 .ico-cmn .sub-label {
        left: 45px;
    }
    .cvset-cmn .tel-set .btn-cmn-01 .ico-cmn.file::before {
        width: 32px;
        height: 32px;
    }
    .cvset-cmn .btn-cmn-01.large {
        font-size: 18px;
    }
}

/* cvset-btn
---------------------------------------------------------- */

.cvset-btn {
    box-sizing: border-box;
    width: calc(25% - 20px);
    margin: 0 10px 40px;
    border: solid 1px #ddd;
    border-radius: 10px;
    background-color: #fff;
    overflow: hidden;
}

/*.cvset-cmn .pc .cvset-btn:nth-child(4n) {
  margin-right: 0;
}*/

.cvset-btn.padding {
    padding: 10px;
}

.cvset-btn .image {
    width: 125px;
    margin: 10px auto;
}

.cvset-btn .image img {
    width: 100%;
    height: auto;
}

.cvset-btn a {
    display: block;
    width: 100%;
    /*  height: 100%;*/
    padding: 10px;
    text-decoration: none;
    /*border-radius: 10px;*/
}

.cvset-btn a:hover {
    background-color: #fffef2;
    /*background-color: #faf3ac;*/
}

.cvset-btn a:hover .button,
.cvset-btn.padding a:hover {
    background-color: #fa2;
    box-shadow: 0 3px 0 0 #cc8800;
}

.cvset-btn .button {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    min-height: 40px;
    border-radius: 100px;
    background-color: #ff5700;
    box-shadow: 0 3px 0 0 #953500;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.cvset-btn .ico-cmn.arrow {
    padding-left: 20px;
    line-height: 40px;
}

.cvset-btn .ico-cmn.arrow::before {
    width: 12px;
    height: 12px;
    background: url(/img/common/ico_angle_right_white.svg) no-repeat;
    background-size: 12px 12px;
}

.cvset-btn .description {
    font-size: 12px;
    line-height: 18px;
    text-align: justify;
    padding: 10px 5px;
}

@media screen and (max-width: 768px) {
    .cvset-btn {
        width: 100%;
        margin: 0 auto 10px auto;
    }
    .cvset-btn .image {
        width: 85px;
        float: left;
        margin: 10px 0 0 0x;
    }
    .cvset-btn .description {
        padding: 10px 5px 0;
    }
    .cvset-btn .button {
        clear: both;
        margin: 10px 0;
    }
    .cvset-btn .button.large {
        height: 50px;
    }
    .cvset-btn .ico-cmn.arrow {
        line-height: inherit;
    }
}

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

/* link-cmn-blank
---------------------------------------------------------- */

.link-cmn-blank {
    display: inline-block;
}

.link-cmn-blank:after {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 5px;
    background: url(/img/common/ico_blank.svg) no-repeat;
    background-size: 10px 10px;
    content: "";
}

/* link-cmn-arrow
---------------------------------------------------------- */

.link-cmn-arrow {
    display: inline-block;
}

.link-cmn-arrow:after {
    display: inline-block;
    width: 10px;
    height: 9px;
    margin-left: 5px;
    background: url(/img/common/ico_arrow_right.svg) no-repeat;
    background-size: 10px 9px;
    content: "";
}

/* ==========================================================
 icon
========================================================== */

/* ico-cmn
---------------------------------------------------------- */

.ico-cmn {
    position: relative;
    display: inline-block;
}

.ico-cmn:before {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
}

.ico-cmn.tel:before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_tel.svg) no-repeat;
    background-size: 20px 20px;
}

.ico-cmn.tel.large:before {
    width: 30px;
    height: 30px;
    background-size: 30px 30px;
}

.ico-cmn.mail:before {
    width: 40px;
    height: 40px;
    background: url(/img/common/ico_mail_white.svg) center center no-repeat;
    /*background: url(/img/common/ico_mail.svg) no-repeat;*/
    background-size: contain;
}

.ico-cmn.file:before {
    width: 40px;
    height: 40px;
    background: url(/img/common/ico_file_white.svg) center center no-repeat;
    background-size: contain;
}

.ico-cmn.angle {
    padding-left: 20px;
}

.ico-cmn.angle:before {
    width: 12px;
    height: 12px;
    background: url(/img/common/ico_angle_right_black.svg) no-repeat;
    background-size: 12px 12px;
}

.ico-cmn.quot:before {
    width: 40px;
    height: 40px;
    background: url(/img/common/ico_quot_start_orange.svg) no-repeat;
    top: 0;
    left: -40px;
}

.ico-cmn.quot:after {
    position: absolute;
    content: "";
    width: 40px;
    height: 40px;
    background: url(/img/common/ico_quot_end_orange.svg) no-repeat;
    top: 0;
    right: -40px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.ico-cmn.db::before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_plan_db.svg) center center no-repeat;
    background-size: contain;
}

.ico-cmn.db-bk::before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_plan_db_bk.svg) center center no-repeat;
    background-size: contain;
}

.ico-cmn.pf::before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_plan_pf.svg) center center no-repeat;
    background-size: contain;
}

.ico-cmn.pf-bk::before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_plan_pf_bk.svg) center center no-repeat;
    background-size: contain;
}

.ico-cmn.st::before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_plan_st.svg) center center no-repeat;
    background-size: contain;
}

.ico-cmn.st-bk::before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_plan_st_bk.svg) center center no-repeat;
    background-size: contain;
}

.ico-cmn.wa::before {
    width: 20px;
    height: 20px;
    background: url(/img/common/ico_wa.svg) center center no-repeat;
    background-size: contain;
}

@media screen and (max-width: 768px) {
    .ico-cmn.quot {
        margin-right: 10px;
        margin-left: 10px;
    }
    .ico-cmn.quot:before {
        width: 20px;
        height: 20px;
        background: url(/img/common/ico_quot_start_orange.svg) no-repeat;
        top: 0;
        left: -20px;
    }
    .ico-cmn.quot:after {
        position: absolute;
        content: "";
        width: 20px;
        height: 20px;
        background: url(/img/common/ico_quot_end_orange.svg) no-repeat;
        top: 0;
        right: -20px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .ico-cmn.db::before,
    .ico-cmn.pf::before,
    .ico-cmn.st::before,
    .ico-cmn.wa::before {
        width: 16px;
        height: 16px;
    }
}

/* ==========================================================
 is
========================================================== */

/* opacity hover
---------------------------------------------------------- */

.is-opacity {
    -ms-filter: 'alpha( opacity=100)';
    opacity: 1;
}

.is-opacity:hover {
    -ms-filter: 'alpha( opacity=70)';
    filter: alpha( opacity=70);
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .is-opacity {
        opacity: 1 !important;
    }
}

/* css animation
---------------------------------------------------------- */

.is-animate {
    -webkit-transition: all 0.2s ease 0s;
    transition: all 0.2s ease 0s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* ==========================================================
 style
========================================================== */

.s-fw-n {
    font-weight: normal;
}

.s-fw-b {
    font-weight: bold;
}

.s-ta-l {
    text-align: left !important;
}

.s-ta-c {
    text-align: center !important;
}

.s-ta-r {
    text-align: right !important;
}

.s-va-t {
    vertical-align: top !important;
}

.s-va-m {
    vertical-align: middle !important;
}

.s-va-b {
    vertical-align: bottom !important;
}

.s-ov-h {
    overflow: hidden;
}

.s-clear {
    clear: both;
}

.s-hide {
    display: none;
}

.s-txt-hide {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.s-bg-n {
    background: none !important;
}

.s-mt-00 {
    margin-top: 0 !important;
}

.s-mb-00 {
    margin-bottom: 0 !important;
}

.s-ml-00 {
    margin-left: 0 !important;
}

.s-mr-00 {
    margin-right: 0 !important;
}

.s-pt-00 {
    padding-top: 0;
}

.s-pb-00 {
    padding-bottom: 0;
}

.txt-center {
    text-align: center;
}

.txt-left {
    text-align: left;
}

/* ==========================================================
 rwd switch
========================================================== */

/* pc
---------------------------------------------------------- */

.only-pc {}

.only-sp,
.no-pc {
    display: none !important;
}

.no-sp {}

/* sp
---------------------------------------------------------- */

@media screen and (max-width: 768px) {
    .only-pc,
    .no-sp {
        display: none !important;
    }
    .only-sp,
    .no-pc {
        display: block !important;
    }
    img.only-sp,
    img.no-pc {
        display: inline-block !important;
    }
}

@media screen and (max-width: 767px) {
    .no-sps {
        display: none;
    }
}

/* ==========================================================
fanction
========================================================== */

/* video thumbnail
---------------------------------------------------------- */

.video-wrap {
    position: relative;
}

.video-btn {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 20px;
    cursor: pointer;
}

/* ==========================================================
ver orange
========================================================== */

/* sec title
---------------------------------------------------------- */

.sec-cmn-01.ver-orange,
.sec-cmn-02.ver-orange {
    padding-top: 0;
    text-align: center;
}

.ver-orange .ttl-cmn-01 {
    margin: 0 0 20px 0;
    font-size: 24px;
    font-weight: bold;
    line-height: 35px;
    padding: 15px;
    background-color: #fb3;
}

.ver-orange .txt-cmn-tag-01 span {
    display: block;
    width: 240px;
    line-height: 1.71;
    margin: 0 auto 10px;
}

.ver-orange .ttl-cmn-02 {
    color: #b26000;
    line-height: 1.4;
    margin-bottom: 20px;
}

.ver-orange .txt {
    padding-bottom: 20px;
    text-align: center;
}

.ver-orange .txt.no-pb {
    padding-bottom: 0;
}

/* ==========================================================
ver balloon
========================================================== */

/* sec title
---------------------------------------------------------- */

.sec-cmn-01.ver-balloon,
.sec-cmn-02.ver-balloon {
    padding: 40px 0 30px;
    text-align: center;
}

.margin-01 {
    margin: -30px 0 30px 0;
}

.sec-cmn-01.ver-balloon.no-pb,
.sec-cmn-02.ver-balloon.no-pb {
    padding-bottom: 0;
}

.ver-balloon .ttl-cmn-02 {
    position: relative;
    display: inline-block;
    color: #b26000;
    line-height: 34px;
    margin: 0;
}

.ver-balloon .ttl-cmn-02 .category {
    position: absolute;
    display: inline-block;
    top: 0;
    left: -15px;
    transform: translateX(-100%);
    width: auto;
    height: 20px;
    font-size: 13px;
    font-weight: bold;
    line-height: 20px;
    padding: 0 10px;
    margin: 7px;
    border-radius: 10px;
    color: #000;
    background-color: #fb3;
}

.ver-balloon .ttl-cmn-02 sup {
    font-size: 50%;
    line-height: 1em;
}

/*.ver-balloon .ttl-cmn-02 .category::after {
  content: "";
  position: absolute;
  top: 80%;
  right: 0;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 0;
  border-color: transparent #fb3 transparent transparent;
  transform: rotate(-30deg);
}*/

.ver-balloon .txt {
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .sec-cmn-01.ver-balloon,
    .sec-cmn-02.ver-balloon {
        padding: 15px 0 0;
    }
    .ver-balloon .ttl-cmn-02 .category {
        position: relative;
        display: block;
        width: 8em;
        top: 0;
        left: 0;
        transform: none;
        margin: 0 auto 5px;
    }
    .ver-balloon .ttl-cmn-02 .category::after {
        top: 100%;
        right: 10px;
        transform: rotate(0deg);
        border-width: 0 5px 5px 0;
    }
}

.header-in {
    max-width: 1280px;
}

.nav-global {
    padding: 0 10px;
}

.header-utility .contact .txt-search {
    font-size: 14px;
    line-height: 1em;
    font-weight: bold;
    padding-left: 23px;
    background: url(/img/common/ico_search.svg) left center no-repeat;
    background-size: 12px 12px;
    float: left;
}

.header-utility .links {
    line-height: 0;
}

.header-utility .links a {
    display: inline-block;
    padding: 4px;
    background: none;
    background-size: 0 0;
    margin-right: 10px;
    border: 1px solid #666;
    border-radius: 4px;
    text-decoration: none;
}

.nav-global ul li a:not(.mf_finder_searchBox_suggest_link),
.nav-global ul li a:not(.mf_finder_searchBox_suggest_link):visited {
    font-size: 13px;
}

.nav-global ul li a.ico-cmn {
    padding-left: 25px;
}

.nav-global ul li a.ico-cmn::before {
    opacity: .6;
}

.nav-global ul li a.ico-cmn:hover::before {
    opacity: 1;
}

.header-utility .search {
    padding-left: 20px;
    background: url(/img/common/ico_search.svg) left center no-repeat;
    background-size: 13px 13px;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}

.nav-global {
    min-width: 748px;
}

.nav08 {
    display: none;
}

@media screen and (max-width: 768px) {
    .nav-global {
        min-width: 100%;
    }
    .nav-global ul li a.ico-cmn {
        padding-left: 0;
    }
    .nav-global ul li a.ico-cmn::before {
        position: relative;
        display: inline-block;
        top: auto;
        left: auto;
        vertical-align: text-bottom;
        margin-right: 2px;
        transform: none;
    }
    .nav-global ul li a:not(.mf_finder_searchBox_suggest_link),
    .nav-global ul li a:not(.mf_finder_searchBox_suggest_link):visited {
        font-size: 12px;
    }
}

/*カオナビのWA
---------------------------------------------------------- */

.sec-wa.no-pt {
    padding-top: 0;
}

.sec-wa.no-pb {
    padding-bottom: 0;
}

.sec-wa .wa-inner {
    position: relative;
    width: calc(100% - 160px);
    max-width: 864px;
    border-radius: 20px;
    overflow: hidden;
    border: 4px solid #00aaff;
    border-radius: 250px;
    background: url(/img/common/wa_back.png) center top;
    text-align: center;
    margin: 0 auto;
    padding: 40px 0;
}

.sec-wa .wa-inner::before {
    position: absolute;
    content: "";
    background-color: rgba(0, 170, 255, .2);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.sec-wa .wa-logo {
    position: relative;
    width: 206px;
    height: auto;
    margin: 40px 0;
}

.sec-wa .wa-upper,
.sec-wa .wa-lower {
    position: relative;
}

.sec-wa .wa-lower {
    /*padding-bottom: 40px;*/
}

.sec-wa .wa-title {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.5em;
    color: #fff;
}

.sec-wa .wa-desc {
    color: #fff;
}

.sec-wa .btn-cmn-02.wa-btn {
    padding: 20px 0 0;
}

.sec-wa .btn-cmn-02.wa-btn a {
    background-color: transparent;
    border-color: #fff;
    box-shadow: 0 1px 0 0 #fff;
    color: #fff;
}

.sec-wa .btn-cmn-02.wa-btn a:hover {
    background-color: #fa2;
}

.sec-wa .btn-cmn-02.wa-btn a.ico-arrow::after {
    width: 17px;
    height: 17px;
    background: url(/img/common/ico_arrow_right_white.svg) right center no-repeat;
    background-size: 17px 17px;
}

@media screen and (max-width: 768px) {
    .sec-wa .wa-inner {
        width: calc(100% - 30px);
        margin: 0 auto;
        padding: 60px 20px;
    }
    .sec-wa .wa-logo {
        width: 160px;
        margin: 15px 0;
    }
    .sec-wa .wa-lower {
        padding-bottom: 0
    }
    .sec-wa .wa-title {
        font-size: 18px;
    }
    .sec-wa .wa-desc {
        font-size: 14px;
    }
    .sec-wa .btn-cmn-02.wa-btn {
        padding: 20px 20px 0;
        max-width: 240px;
        margin: 0 auto;
    }
}