
/* CSS for JP site [Updated June 2023] ----------------------------------- */

/* 新ボタン 2022.12.22 */
.button_v3 {
    display: flex;
    align-items: center;
    padding: 13px 20px;
    border-radius: 4px;
    text-decoration: none;
    position: fixed;
}

.button__icon {
    margin-right: 5px;
}

.cssbutton_GSY01 {
    width: 200px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 8px 0 10px;
    color: #fff;
    background-color: #A64C89;
    border-radius: 10px;
    text-shadow: 0 -1px #1a6ea0;
}

    .cssbutton_GSY01:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)";
        letter-spacing: 1px;
        transition: all 0.3s ease;
    }

.cssbutton_NGS01 {
    width: 300px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 8px 0 10px;
    color: #fff;
    background-color: #00B9E7;
    border-radius: 10px;
    text-shadow: 0 -1px #1a6ea0;
}

    .cssbutton_NGS01:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)";
        letter-spacing: 1px;
        transition: all 0.3s ease;
    }

.cssbutton_OLIGO01 {
    width: 300px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 8px 0 10px;
    color: #fff;
    background-color: #F58026;
    border-radius: 10px;
    text-shadow: 0 -1px #1a6ea0;
}

    .cssbutton_OLIGO01:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)";
        letter-spacing: 1px;
        transition: all 0.3s ease;
    }

.cssbutton_01 {
    font-weight: 900;
    text-decoration: none;
    display: block;
    text-align: center;
	vertical-align:middle;
    padding: 8px 0 10px;
    color: #fff;
    border-radius: 10px;
    text-shadow: 0 -1px #CCC;
}

    .cssbutton_01:hover {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: "alpha(opacity=70)";
        letter-spacing: 1px;
        transition: all 0.3s ease;
    }


a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.text-icon {
    display: inline-block;
    background: #df002c;
    padding: 1px 5px;
    margin-left: 5px; /* æs‚·‚é•¶Žš—ñ‚Æ‚ÌŠÔŠu */
    vertical-align: middle; /* æs‚·‚é•¶Žš—ñ‚Æã‰º’†‰›‘µ‚¦ */
    font-size: 0.6em;
    font-weight: bold;
    color: #fff;
    border-radius: 3px; /* ƒAƒCƒRƒ“‚ÌŠp‚ðŠÛ‚ß‚é */
}

.two_column {
    display: table;
    border-spacing: 1em 3px;
    margin: 0px;
    padding: 0px;
    width: 100%;
}

div.two_column div.box01 {
    display: table-cell;
    vertical-align: top;
}

div.two_column div.box02 {
    display: table-cell;
    vertical-align: top;
}

table.type01 {
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
}

    table.type01 th {
        padding: 10px;
        font-weight: bold;
        vertical-align: top;
        border: 1px solid #ccc;
    }

    table.type01 td {
        padding: 10px !important;
        vertical-align: top;
        border: 1px solid #ccc;
    }


table.type02 {
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
    line-height: 1.5;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

    table.type02 th {
        padding: 10px;
        font-weight: bold;
        vertical-align: top;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        border-top: 1px solid #fff;
        border-left: 1px solid #fff;
        background: #eee;
    }

    table.type02 td {
        padding: 10px !important;
        vertical-align: top;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }

table.type03 {
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    border-top: 1px solid #ccc;
    border-left: 3px solid #369;
}

    table.type03 th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: top;
        color: #153d73;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }

    table.type03 td {
        padding: 10px !important;
        vertical-align: top;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }


table.type04 {
    border-collapse: separate;
    border-spacing: 1px;
    text-align: left;
    line-height: 1.5;
    border-top: 1px solid #ccc;
}

    table.type04 th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
    }

    table.type04 td {
        padding: 10px !important;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
    }

table.type05 {
    border-collapse: separate;
    border-spacing: 1px;
    text-align: left;
    line-height: 1.5;
    border-top: 1px solid #ccc;
}

    table.type05 th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
        background: #efefef;
    }

    table.type05 td {
        padding: 10px !important;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
    }

table.type06 {
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

    table.type06 th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: top;
    }

    table.type06 td {
        padding: 10px !important;
        vertical-align: top;
    }

    table.type06 .even {
        background: #efefef;
    }

table.type07 {
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    border: 1px solid #ccc;
}

    table.type07 thead {
        border-right: 1px solid #ccc;
        border-left: 1px solid #ccc;
        background: #04162e;
    }

        table.type07 thead th {
            padding: 10px !important;
            font-weight: bold;
            vertical-align: top;
            color: #fff;
        }

    table.type07 tbody th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
        background: #efefef;
    }

    table.type07 td {
        padding: 10px !important;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
    }

table.type08 {
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
    border-left: 1px solid #ccc;
}

    table.type08 thead th {
        padding: 10px !important;
        font-weight: bold;
        border-top: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-bottom: 2px solid #c00;
        background: #dcdcd1;
    }

    table.type08 tbody th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: top;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        background: #ececec;
    }

    table.type08 td {
        padding: 10px !important;
        vertical-align: top;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }

table.type09 {
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
}

    table.type09 thead th {
        padding: 10px !important;
        font-weight: bold;
        text-align: center;
        vertical-align: top;
        color: #369;
        border-bottom: 3px solid #036;
    }

    table.type09 tbody th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
        background: #f3f6f7;
    }

    table.type09 td {
        padding: 10px !important;
        vertical-align: top;
        border-bottom: 1px solid #ccc;
    }

table.type10 {
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
}

    table.type10 thead th {
        padding: 10px !important;
        font-weight: bold;
        text-align: center;
        vertical-align: middle;
        color: white;
        background-color: #369;
        border-bottom: 3px solid #036;
    }

    table.type10 tbody th {
        padding: 10px !important;
        font-weight: bold;
        vertical-align: middle;
        border-bottom: 1px solid #ccc;
        background: #f3f6f7;
    }

    table.type10 td {
        padding: 10px !important;
        vertical-align: middle;
        border-bottom: 1px solid #ccc;
        border-right: 1px solid #ccc;
    }

.text-icon-oligo {
    display: inline-block;
    background: #F58026;
    padding: 1px 5px;
    margin-left: 5px; /* æs‚·‚é•¶Žš—ñ‚Æ‚ÌŠÔŠu */
    vertical-align: middle; /* æs‚·‚é•¶Žš—ñ‚Æã‰º’†‰›‘µ‚¦ */
    font-size: 0.6em;
    font-weight: bold;
    color: #fff;
    border-radius: 3px; /* ƒAƒCƒRƒ“‚ÌŠp‚ðŠÛ‚ß‚é */
}

.faqs {
    padding-top: 10px;
    font-size: 1.1em;
}

    .faqs dt {
        font-weight: bold;
        color: #003883;
        padding: 5px 0px 0px 0px;
        position: relative;
    }

        .faqs dt:hover {
            cursor: pointer;
        }

    .faqs dd {
        padding: 0 0 10px 0px;
        position: relative;
        color: #333;
    }

    .faqs .hover {
        color: #990000 !important;
        text-decoration: underline !important;
    }


.faqsopen {
    padding-top: 10px;
    font-size: 1.1em;
}

    .faqsopen dt {
        font-weight: bold;
        color: #003883;
        padding: 5px 0px 0px 0px;
        position: relative;
    }

        .faqsopen dt:hover {
            cursor: pointer;
        }

    .faqsopen dd {
        padding: 0 0 10px 0px;
        position: relative;
        color: #333;
    }

    .faqsopen .hover {
        color: #990000 !important;
        text-decoration: underline !important;
    }


.title01 {
    padding: .5em .75em;
    background-color: #f6f6f6;
    border-left: 6px solid #003883;
    width: 93%;
}

.title02 {
    position: relative;
    padding: .25em 0 .5em .75em;
    border-left: 6px solid #003883;
}

    .title02::after {
        position: absolute;
        left: 0;
        bottom: 0;
        content: '';
        width: 100%;
        height: 0;
        border-bottom: 1px solid #ccc;
    }

.title03 {
    padding: .5em .75em;
    border-bottom: 1px solid #ccc;
}

.title03_Center{
	text-align: center; 
	font-size:  2.0em; 
	font-weight:bold;
}

.title04 {
    position: relative;
    padding: 1em 0;
}

    .title04::before,
    .title04::after {
        position: absolute;
        left: 0;
        content: '';
        width: 100%;
        height: 6px;
        box-sizing: border-box;
    }

    .title04::before {
        top: 0;
        border-top: 2px solid #ccc;
        border-bottom: 1px solid #ccc;
    }

    .title04::after {
        bottom: 0;
        border-top: 1px solid #ccc;
        border-bottom: 2px solid #ccc;
    }

/* emphasis */
.em_yellow {
    background: linear-gradient(transparent 60%, yellow 60%);
    font-weight: bold;
}

.em_red {
    background: linear-gradient(transparent 60%, #F5A9BC 60%);
}

.em_lightred {
    background: linear-gradient(transparent 60%, #ffcccc 60%);
}

.em_blue {
    background-color: blue;
    background: linear-gradient(transparent 60%, #003883 60%);
}

.em_lightblue {
    background-color: blue;
    background: linear-gradient(transparent 60%, #68A1ED 60%);
}

.text-link-icon {
    display: inline-block;
    padding: 1px 5px;
    margin-left: 5px; /* 先行する文字列との間隔 */
    vertical-align: middle; /* 先行する文字列と上下中央揃え */
    font-size: 0.6em;
    font-weight: bold;
    color: #fff;
    border-radius: 3px; /* アイコンの角を丸める */
    }

.arrow {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 1em;
}

    .arrow::before,
    .arrow::after {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
    }

.linkarrow01::before {
    width: 12px;
    height: 12px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: red;
}

.linkarrow01::after {
    left: 5px;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #fff;
}

div#floating_menu{
    float: right;
    border: 1px solid #000000;
    border-radius: 10px; /* 角を丸める */
    background: rgba(255, 255, 255, 0.5); /* 背景色を白に指定して不透明度を0.5に指定 */
    text-align:center;
   /* 影を入れる。指定のピクセルは前から順に横方向のズレ、縦方向のズレ、ぼかし具合、 */
    /* 影の色を指定している。 */
    -moz-box-shadow: 0px 0px 7px #454545; /* Firefox用 */
    -webkit-box-shadow: 0px 0px 7px #454545; /* Google ChromeやSafari用 */
    box-shadow: 0px 0px 7px #454545; /* CSS3対応ブラウザ用 */
   }

   .text-icon-free {
    display: inline-block;
    padding: 1px 5px;
    margin-left: 5px; /* 先行する文字列との間隔 */
    vertical-align: middle; /* 先行する文字列と上下中央揃え */
    font-size: 0.6em;
    font-weight: bold;
    color: #fff;
    border-radius: 3px; /* アイコンの角を丸める */
    line-height: 1em;
    }

#jquery-ui-tabs {
    width: 695px;
}

/* ？ */
.ui-tabs {
    padding: 0;
    background: #fff;
}

/* 注文ウィザードボタン 2019 */
.btn-oligo {
    display: inline-block;
    padding: 5px 0 5px 15px;
    font-size: 1em;
    text-decoration: none;
    color: #F58026;
    border: solid 3px #F58026;
    border-radius: 10px;
    transition: .4s;
}

    .btn-oligo:hover {
        background: #F58026;
        color: white;
    }

.btn-seq {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #143D8D;
    border: solid 3px #143D8D;
    border-radius: 10px;
    transition: .4s;
}

    .btn-seq:hover {
        background: #143D8D;
        color: white;
    }

.btn-gsy {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #AB3F97;
    border: solid 3px #AB3F97;
    border-radius: 10px;
    transition: .4s;
}

    .btn-gsy:hover {
        background: #AB3F97;
        color: white;
    }

    .btn-pepab {
        display: inline-block;
        padding: 0.3em 1em;
        text-decoration: none;
        color: #41827E;
        border: solid 3px #41827E;
        border-radius: 10px;
        transition: .4s;
    }
    
        .btn-pepab:hover {
            background: #41827E;
            color: white;
        }

 .btn-ngs {
        display: inline-block;
        padding: 0.3em 1em;
        text-decoration: none;
        color: #00B9E7;
        border: solid 3px #00B9E7;
        border-radius: 10px;
        transition: .4s;
    }    
        .btn-ngs:hover {
            background: #00B9E7;
            color: white;
        }

/* table装飾用 */
.s-tbl {
    border-collapse: collapse;
    border-spacing: 10px;
    padding: 10px;
}

    .s-tbl th, .s-tbl td {
        border: 0px solid #fff;
    }

    .s-tbl tr:nth-child(2n+1) {
        background: #eee;
    }

    .s-tbl tr:first-child, .s-tbl th:first-child {
        background: #cccccc;
    }

    .s-tbl tr:hover {
        background: #fadfbc;
    }

/* プロモーションbox用 */
.ribbon13-wrapper {
    display: block;
    position: relative;
    margin: 15px auto;
    padding: 10px 0;
    background: #f1f1f1;
    border-radius: 10px;
}

.ribbon13 {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    padding: 5px 0;
    margin: 0 0 0 -20px;
    width: calc(100% + 20px);
    color: white;
    background: #ff0000;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

    .ribbon13 h3 {
        margin: 0;
        padding: 0 30px 0 15px;
        border-top: dashed 1px #FFF;
        border-bottom: dashed 1px #FFF;
        font-size: 20px;
        line-height: 46px;
    }

    .ribbon13:after {
        position: absolute;
        content: '';
        z-index: 1;
        top: 0;
        right: 0;
        width: 0px;
        height: 0px;
        border-width: 30px 15px 30px 0px;
        border-color: transparent #f1f1f1 transparent transparent;
        border-style: solid;
    }

    .ribbon13:before {
        position: absolute;
        content: '';
        top: 100%;
        left: 0;
        border: none;
        border-bottom: solid 15px transparent;
        border-right: solid 20px #cf4a2d;
    }




/* Kampyle CSS (Not used any more) ---------------------------------------------------------- */

.k_button_css_revision {
    background-image: '$Rev:15646 $';
}

#k_popup * {
    -moz-box-sizing: content-box !important;
    box-sizing: content-box !important;
    font-family: Arial;
    float: none;
}

#k_popup a img {
    border: 0;
    display: inline;
}

#k_popup a {
    text-decoration: none;
}

    #k_popup a:hover {
        color: #3882C3;
        text-decoration: underline;
    }

#k_popup div {
    #float: none;
}

.k_float {
    z-index: 9999999;
    position: fixed !important;
    position: absolute;
    cursor: pointer;
}

@media (max-device-width: 600px) {
    .k_float {
        position: absolute !important;
    }
}

.k_container:before {
    clear: both;
    display: block;
    content: '.';
    height: 0;
}

.k_float.absolute {
    position: absolute !important;
}

#kampylink img {
    border: 0;
    display: block;
}

.k_top {
    top: 0px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop :document.body.scrollTop);
}

.k_top_sl {
    top: 15px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + 15 :document.body.scrollTop + 15);
}

.k_top_hl_sl {
    top: 100px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + 100 :document.body.scrollTop + 100);
}

.k_top_hl {
    top: 85px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + 85 :document.body.scrollTop + 85);
}

.k_bottom {
    bottom: 0px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight) - 1 :document.body.scrollTop + (document.body.clientHeight-this.clientHeight) - 1);
}

.k_bottom_sl {
    bottom: 15px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight) - 16 :document.body.scrollTop + (document.body.clientHeight-this.clientHeight) - 16 );
}

.k_bottom_hl_sl {
    bottom: 99px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight) - 100 :document.body.scrollTop + (document.body.clientHeight-this.clientHeight) - 100 );
}

.k_bottom_hl {
    bottom: 84px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight) - 85 :document.body.scrollTop + (document.body.clientHeight-this.clientHeight) - 85 );
}

.k_right {
    right: 0px;
}

.k_left {
    left: 0px;
}

#k_popup {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999999;
    font-family: 'arial';
    font-weight: bold;
    display: none;
    border: 1px solid black;
}

#k_pop_header {
    text-align: center;
    font-size: 20px;
    padding: 10px;
    font-weight: bolder;
    border: 1px solid #fff;
    background: white;
    margin: 10px 9px 0;
}

#k_pop_question_container {
    font-size: 11px;
    padding: 10px 0 10px 0;
    text-align: center;
    border: 1px solid black;
    margin: 10px 9px 0;
    background: white;
}

#k_pop_yes_no {
    margin: 0 auto;
    width: 138px;
    padding: 10px 0 0 0;
}

#k_pop_yes_btn, #k_pop_no_btn {
    border-color: #D9DFEA #0E1F5B #0E1F5B #D9DFEA;
    border-style: solid;
    border-width: 1px;
    padding: 2px 10px 3px;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
    width: 40px;
    cursor: pointer;
    color: white;
}

#k_pop_branding {
    font-size: 11px;
    padding: 3px 0;
    text-align: right;
}

    #k_pop_branding a {
        color: #3882C3;
        direction: ltr;
        text-align: right;
        font-weight: normal;
        margin-right: 10px
    }

#k_pop_whatisthis {
    float: left;
    padding: 1px 0 0 9px;
}

#k_pop_remind {
    text-decoration: underline;
    font-weight: normal;
    cursor: pointer;
}

#k_close_button {
    color: gray;
    border: 1px solid gray;
    display: none;
    width: 11px;
    height: 16px;
    font-size: 12px;
    text-align: center;
}

.kc_top {
    top: 80px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + 80 :document.body.scrollTop + 80);
}

.kc_bottom {
    bottom: 80px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight) - 80 :document.body.scrollTop + (document.body.clientHeight-this.clientHeight) - 80);
}

.kc_right {
    right: 10px;
}

.kc_left {
    left: 10px;
}

.kc_top_sl {
    top: 95px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + 95 :document.body.scrollTop + 95);
}

.kc_bottom_sl {
    bottom: 95px;
    _top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight) - 95 :document.body.scrollTop + (document.body.clientHeight-this.clientHeight) - 95);
}

#k_slogan {
    font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
    font-size: 9px;
    color: #666;
    margin-left: 2px;
    margin-right: 2px;
    cursor: default;
}

    #k_slogan a {
        font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
        font-size: 9px;
        color: #666;
        text-decoration: none;
        cursor: default;
    }

.k_middle {
    top: 50%;
    margin-top: -80px;
}

.k_center {
    left: 50%;
    margin-left: -80px;
}




/* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */
