@charset "utf-8";



/* common.css v3.0.0 */


/* from Here common.css v1.0.0 */


/* 共通スタイル・部品指定 */

.mt0 {
    margin-top: 0 !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mr40 {
    margin-right: 40px !important;
}

.mr50 {
    margin-right: 50px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.ml40 {
    margin-left: 40px !important;
}

.ml50 {
    margin-left: 50px !important;
}

.pt0 {
    padding-top: 0 !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pr0 {
    padding-right: 0 !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pr20 {
    padding-right: 20px !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pl0 {
    padding-left: 0 !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.en {
    line-height: 1.25 !important;
    margin-top: 1.2em !important;
}

.stress,
.bold {
    font-weight: bold !important;
}

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

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

.indent_2 {
    text-indent: -1em;
    padding-left: 2em;
}

.indent2_0 {
    padding-left: 2.0em;
}

li.indent_2,
li.indent {
    list-style-type: none !important;
}

ul.disc>li {
    list-style-type: disc !important;
}

ul.circle>li {
    list-style-type: circle !important;
}

.f_left {
    float: left !important;
}

.f_right {
    float: right !important;
}

.f_clear {
    clear: both !important;
}

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

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

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

.td_n {
    text-decoration: none !important;
}

.bdb_n {
    border-bottom: none !important;
}

.uline {
    border-bottom: 1px solid #e6e6e6;
}

.attention {
    color: #F03;
}

#js_mediaquery:after {
    content: 'full';
    display: none;
}

.info_legacy_ie {
    margin-top: -1px;
    margin-right: -30px;
    margin-left: -30px;
    padding: 15px 60px 20px;
    border-top: 1px dotted #ccc;
    background-color: #fff;
}

@media screen and (max-width: 800px) {
    #js_mediaquery:after {
        content: 'medium';
    }
}

@media screen and (max-width: 519px) {
    #js_mediaquery:after {
        content: 'small';
    }
}




/* toggle nav */

.toggle_nav {
    display: inline-block;
    box-sizing: content-box;
    margin: 0;
    padding: 0;
    border-width: 0;
    background-color: transparent;
    color: inherit;
    font-family: inherit;
    font-size: 100%;
    line-height: inherit;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.toggle_nav:hover,
.toggle_nav:focus,
.toggle_nav:active {
    text-decoration: none;
}

[aria-disabled="true"].toggle_nav,
[disabled].toggle_nav {
    cursor: default;
}

.toggle_nav::-moz-focus-inner {
    border-width: 0;
    padding: 0;
}




/* Page wrapper */

.page_wrapper_outer {
    position: relative;
    overflow: hidden;
}

.no-js .page_wrapper_outer {
    display: none;
}

.page_wrapper_inner {
    position: relative;
    left: 0;
    width: 100%;
    -webkit-transition: left 0.25s cubic-bezier(0.19, 1, 0.22, 1);
    transition: left 0.25s cubic-bezier(0.19, 1, 0.22, 1);
}

.offcanvas_right_visible .page_wrapper_inner {
    left: -630px;
}

@media screen and (max-width: 800px) {
    .js .offcanvas_left_visible .page_wrapper_inner {
        left: 210px;
    }
}

@media screen and (max-width: 630px) {
    .offcanvas_right_visible .page_wrapper_inner {
        left: -100%;
    }
}




/* Page header */

.page_header {
    border-bottom: 1px solid #e6e6e6;
    width: 210px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
}

.offcanvas_right_visible .page_header {
    z-index: 3;
}

@media screen and (min-width: 801px) and (min-height: 750px) {
    .page_header {
        position: fixed;
    }
}

@media screen and (max-width: 800px) {
    .page_header {
        min-width: 320px;
    }
    .js .page_header {
        position: fixed;
        right: 0;
        z-index: 2;
        width: auto;
        height: 50px;
        border-bottom-color: #ccc;
        background-color: #fff;
        -webkit-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
        transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
        -webkit-transition-property: left, right;
        transition-property: left, right;
    }
    .js .offcanvas_left_visible .page_header {
        left: 210px;
        right: -210px;
    }
}




/* Site logo */

.site_logo {
    text-align: center;
    margin: 0;
    padding-top: 48px;
}

.site_logo.__pc {
    padding-bottom: 2px;
}

.site_logo a {
    display: inline;
    text-decoration: none;
    font-size: 50%;
}

.docstop {
    margin: 0 0 17px !important;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}

.docstop a {
    color: #545454;
    display: inline-block;
    font-size: 70%;
    text-decoration: none;
}

.page h2.docstop {
    font-size: 150% !important;
}

.site_logo.__smp {
    display: none;
}

@media screen and (max-width: 800px) {
    .site_logo.__pc {
        display: none;
    }
    .docstop {
        margin-top: 8px !important;
    }
    .site_logo.__smp {
        display: block;
        position: absolute;
        right: 10px;
        top: 10px;
        width: 30px;
        height: 16px;
        padding: 0;
    }
    .site_logo.__smp img {
        max-width: 100%;
        height: auto !important;
    }
}




/* グローバルナビ */

.toggle_nav {
    display: none;
    box-sizing: content-box;
    margin: 0;
    padding: 0;
    border-width: 0;
    background-color: transparent;
    color: inherit;
    font-family: inherit;
    font-size: 100%;
    line-height: inherit;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.toggle_nav:hover,
.toggle_nav:active {
    text-decoration: none;
}

[aria-disabled="true"].toggle_nav,
[disabled].toggle_nav {
    cursor: default;
}

.toggle_nav::-moz-focus-inner {
    border-width: 0;
    padding: 0;
}

.page_sidebar {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    border-right: 1px solid #ccc;
    z-index: 2;
}

.offcanvas_right_visible .page_sidebar {
    z-index: 2;
}

.page_sidebar_inner {
    width: 210px;
}

.primary_nav {
    font-size: 100%;
    line-height: 1.29;
}

.primary_nav a {
    cursor: pointer;
    display: block;
    position: relative;
    text-decoration: none;
    color: #545454;
}

.primary_nav .label {
    display: block;
    min-height: 18px;
    padding: 14px 40px 14px 40px;
}

.primary_nav .label .s_font {
    display: block;
    font-size: 85.72%;
    line-height: 1.34;
}

.primary_nav ul {
    padding-top: 168px;
}

.primary_nav li {
    border-bottom: 1px solid #e6e6e6;
}

.primary_nav li.has_small .label {
    padding: 8px 40px 8px 40px;
}

.primary_nav .icon {
    position: absolute;
    top: 50%;
    left: 20px;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    line-height: 0;
    vertical-align: top;
    background: url(https://s.yimg.jp/i/docs/top/assets/img/sprites.png) no-repeat 0 0;
}

.no-touch .primary_nav a:hover {
    background-color: #ff0033;
}

.no-touch .primary_nav a:hover .icon {
    width: 16px;
    height: 16px;
    background-position: 0 -40px;
}

.no-touch .primary_nav a:hover .label {
    background-color: #f2f2f2;
}

@media screen and (min-width: 801px) and (min-height: 750px) {
    .footerBox {
        position: static;
    }

    .page_sidebar {
        position: fixed;
        height: 100%;
    }
}

@media screen and (max-width: 800px) {
    .js .toggle_nav {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 50px;
        height: 50px;
        overflow: hidden;
        border-right: 1px solid #e6e6e6;
        line-height: 1;
    }

    .js .page_sidebar {
        overflow: auto;
        height: 100%;
        z-index: 1;
    }

    .js .offcanvas_left_visible .page_sidebar {
        position: fixed;
    }

    .js .primary_nav {
        position: relative;
        z-index: 0;
    }
    .js .primary_nav ul {
        padding-top: 50px;
    }
    .js .primary_nav li:first-child {
        border-top: 1px solid #e6e6e6;
    }
}




/* Copyright */

.copyright {
    display: block;
    font-size: 71.43%;
    line-height: 1.4;
    color: #808080;
}

.copyright .link_box {
    display: block;
    padding: 0 26px;
}

.copyright .link_box span {
    display: inline-block !important;
    padding: 15px 10px 8px 0 !important;
    font-size: 130% !important;
}

.copyright .link_box span:last-child {
    padding-right: 0;
}

.copyright .txt_box {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px 10px 26px;
    border-bottom: 1px solid #e6e6e6;
    word-break: break-all;
    word-wrap: break-word;
}




/* social_links */

.social_links {
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    line-height: 1;
}

.social_links ul {
    display: table;
    width: 210px;
    height: 35px;
    margin: 8px 0;
}

.social_links li {
    display: table-cell;
    border-left: 1px solid #e6e6e6;
    padding-right: 1px;
    text-align: center;
}

.social_links li:first-child {
    border-left-color: #fff;
}

.social_links a {
    display: block;
    width: 100%;
    height: 100%;
}

.social_links a:hover {
    opacity: 0.7;
}

.social_links a img {
    padding: 9px 0;
}

@media screen and (min-width: 801px) and (min-height: 750px) {
    .social_links {
        position: absolute;
        bottom: 0;
        border-bottom-width: 0;
    }
}




/* Page main */

.page_main {
    position: relative;
    /*  z-index: 1;
  margin-left: 210px;
  padding: 0 30px 50px;
  border-left: 1px solid #ccc;
  background-color: #f2f2f2;
 */
}

@media screen and (max-width: 800px) {
    .js .offcanvas_left_visible .page_main {
        height: 100%;
        overflow: hidden;
        -webkit-box-shadow: -1px 0 #ccc, -1px 0 3px rgba(0, 0, 0, 0.15);
        box-shadow: -1px 0 #ccc, -1px 0 3px rgba(0, 0, 0, 0.15);
    }
}




/* Info header */

.info_header {
    background-color: #fff;
    margin: 0 -30px;
}

.js .info_header {
    display: none;
}

@media screen and (max-width: 800px) {
    .js .info_header {
        display: block;
        margin: 0 -10px;
    }
}




/* パンくず */

.breadcrumbs {
    height: 33px;
    margin-right: -30px;
    margin-left: -30px;
    padding: 17px 20px 0;
    background-color: #545454;
    font-size: 85.72%;
    line-height: 1.34;
}

.breadcrumbs,
.breadcrumbs a {
    color: #fff;
}

.breadcrumbs a {
    text-decoration: underline;
}

.breadcrumbs em {
    font-style: normal;
}

@media screen and (max-width: 800px) {
    .js .breadcrumbs {
        margin-left: -10px;
        margin-right: -10px;
    }
}

@media screen and (max-width: 480px) {
    .breadcrumbs.long {
        height: 50px;
    }
}




/* article */

.common_article {
    max-width: 756px;
    box-sizing: border-box;
    margin: 30px auto;
    padding: 20px;
    border: 1px solid #e6e6e6;
    background-color: #fff;
}

.common_article h1 {
    margin: 1em 0;
    font-size: 200%;
    line-height: 1.29;
    font-weight: normal;
}




/*.common_article h2 {
  margin: 2em 0 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #e6e6e6;
}*/

.common_article h2.font_s {
    margin: 1.5em 0 0.5em;
    font-size: 114.29%;
    line-height: 1.5;
}

.common_article h3 {
    margin: 1.5em 0 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #e6e6e6;
    font-size: 114.29%;
    line-height: 1.5;
}

.common_article p,
.common_article ul {
    margin: 0.5em 0 1.5em;
}

.common_article ul {
    padding-left: 2em;
}

.common_article ul li {
    list-style-type: disc;
    line-height: 1.65;
}

.permalinkthum {
    margin: 15px 0 20px;
    text-align: center;
}

.common_wrapper {
    overflow: hidden;
    zoom: 1;
}

.common_pagefooter {
    margin: 5em 0 3em 0;
    text-align: right;
}

.common_pagefooter ul li {
    text-align: left;
}




/* footer */


/*
footer {
  margin: 5px auto;
  padding: 5px;
  max-width: 640px;
  line-height: 1.65;
  font-size: 80%;
  text-align: center;
}

footer p {
  font-size: 120%;
  line-height: 1.2;
  margin: 1.0em 0 1.5em;
}

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


/* noscript */

.noscript_content {
    height: 100%;
    padding-top: 200px;
    background-color: #f2f2f2;
    text-align: center;
}

.noscript_content h1 {
    margin-bottom: 2.5em;
}

.noscript_content p {
    margin-top: 0.5em;
    font-size: 100%;
    line-height: 1.72;
}

.noscript_content strong {
    font-size: 114.29%;
}




/* footable */

.footable {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border: solid #ccc 1px;
    border-top: none;
    margin: 2em 0;
}

.footable.breakpoint>tbody>tr>td.expand {
    background: url('https://s.yimg.jp/i/docs/release/plus.png') no-repeat 5px center;
    padding-left: 40px;
}

.footable.breakpoint>tbody>tr>td.expand.txt_indent {
    padding-left: 50px !important;
}

.footable.breakpoint>tbody>tr.footable_detail_show>td.expand {
    background: url('https://s.yimg.jp/i/docs/release/minus.png') no-repeat 5px center;
}

.footable.breakpoint>tbody>tr.footable_row_detail {
    background: #f2f2f2;
}

.footable.breakpoint>tbody>tr:hover:not(.footable_row_detail) {
    cursor: pointer;
}

.footable>tbody>tr>td,
.footable>thead>tr>th {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding: 10px;
    text-align: left;
}

.footable>tbody>tr>td.footable_cell_detail {
    border-left: none;
}

.footable>thead>tr>th,
.footable>thead>tr>td {
    background-color: #ffe2e7;
    font-weight: normal;
}

.footable>thead>tr>th.footable-first-column,
.footable>thead>tr>td.footable-first-column,
.footable>tbody>tr>td.footable-first-column,
.footable>thead>tr>th.footable_first_column,
.footable>thead>tr>td.footable_first_column,
.footable>tbody>tr>td.footable_first_column {
    border-left: none;
}

.footable>tbody img {
    vertical-align: middle;
}

.footable>tfoot>tr>th,
.footable>tfoot>tr>td {
    background-color: #f2f2f2;
    padding: 10px;
}

@media screen and (max-width: 480px) {
    .footable>tbody>tr:hover {
        background: #dbdbdb;
    }
}




/* social */

ul.social {
    margin: 0 0 1em 0 !important;
    padding: 0;
}

ul.social.__btm {
    margin-top: 30px;
}

ul.social>li {
    display: inline-block;
    list-style-type: none;
    margin-right: 1em;
    line-height: 1 !important;
    vertical-align: top;
    *display: inline;
    *zoom: 1;
}




/* btn_top */

nav.btn_top {
    margin: 40px 0px 20px;
    text-align: right;
}

nav.btn_top>span {
    color: #324fe1;
    text-decoration: underline;
    cursor: pointer;
}




/* localnav */

nav#local {
    max-width: 756px;
    margin: 30px auto;
    padding: 0;
}

nav#local .twin_block {
    box-sizing: border-box;
}

@media screen and (min-width: 481px) {
    nav#local .twin_block {
        float: left;
        width: 48.5%;
    }
    nav#local .twin_block.left_block {
        margin-right: 1.50%;
    }
    nav#local .twin_block.right_block {
        margin-left: 1.50%;
    }
}

@media screen and (max-width: 480px) {
    nav#local .twin_block {
        max-width: 100%;
        margin-bottom: 1em;
    }
}

nav#local .current_block {
    box-sizing: border-box;
    margin-bottom: 10px;
}

nav#local .twin_block .border,
nav#local .current_block .border {
    border: 1px solid #e6e6e6;
    background: #fff;
}

nav#local .twin_block .body {
    padding: 5px 20px 10px;
}

nav#local .twin_block .body.stock {
    padding: 10px 15px 18px;
}

nav#local .current_block .body {
    padding: 10px 20px 10px;
}

nav#local .icon,
nav#t_localnav .icon {
    float: left;
    width: 16px;
    height: 16px;
    margin: 0 0 0 -21px;
    background: url(https://s.yimg.jp/i/docs/top/assets/img/sprites.png) no-repeat 0 0;
    vertical-align: middle;
}

nav#local .current_block .icon {
    margin-top: 1px;
}

nav#local .twin_block a.current,
nav#t_localnav a.current {
    color: #545454;
    text-decoration: none;
    cursor: text;
    pointer-events: none;
}

nav#local .current .icon,
nav#local a:hover .icon,
nav#t_localnav .current .icon,
nav#t_localnav a:hover .icon {
    width: 16px;
    height: 16px;
    background-position: 0 -20px;
}

nav#local .twin_block a .label {
    padding: 1px;
}

nav#local .twin_block ul {
    margin: 1em 0 0;
    padding-left: 1em;
}

nav#local .twin_block ul li {
    list-style-type: none;
    margin-bottom: 1em;
    line-height: 1.25;
}

nav#local .twin_block ul li.long {
    line-height: 1.2em;
}

nav#local h2 {
    margin: 0;
    padding: 12px;
    border-bottom: 1px solid #e6e6e6;
    font-weight: normal;
    font-size: 1em;
}

nav#local .current_block h2 {
    font-weight: bold;
}

nav#local .current_block ul {
    padding: 0 0 0 1em;
}

nav#t_localnav {
    max-width: 756px;
    margin: 30px auto 10px;
}

nav#t_localnav .border {
    border: 1px solid #e6e6e6;
    background: #fff;
}

nav#t_localnav .body {
    padding: 1.5em 20px .5em;
}

nav#t_localnav h2 {
    margin: 0;
    padding: 12px;
    border-bottom: 1px solid #e6e6e6;
    font-weight: normal;
    font-size: 1em;
}

nav#t_localnav ul {
    padding: 0 0 0 1em;
}

nav#t_localnav li {
    line-height: 1.25;
}

nav#t_localnav ul li {
    margin: 0 0 1em;
}

nav#t_localnav ul li ul li {
    margin: 1em 0 1em;
}

nav#t_localnav ul li ul {
    display: none;
}

nav#t_localnav ul.wide {
    overflow: hidden;
    zoom: 1;
}

nav#t_localnav ul.wide li {
    float: left;
    line-height: 2;
}




/* module */

.headline {
    padding: 5px 10px;
    border-left: 5px solid #555;
    border-bottom: none !important;
    font-weight: normal;
}




/* to Here common.css v1.0.0 */


/* 2018.4 renewal added */


/*---- for common ----*/

html {
    -webkit-font-smoothing: antialiased;
}

body {
    position: relative;
}

html,
body {
    width: 100%;
    color: #313233;
}

img {
    max-width: 100%
}

body.no_scroll {
    overflow: hidden;
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 1;
}

input[type="text"]:focus,
input[type="submit"]:focus,
button[type="submit"]:focus,
button[type="button"]:focus,
a:focus {
    outline: 0;
}

@media screen and (max-width: 767px) {
    body {
        z-index: 1;
        height: 100%;
    }
    body.no_scroll {
        position: fixed !important;
    }
}

a,
a:link,
a:visited,
a:active {}

a:hover {
    text-decoration: underline;
}

.main_contents h1,
.main_contents .page_title {
    /*h1相当*/
    margin: 0 0 70px;
    font-weight: bold;
    font-size: 178.5715%;
    color: #313233;
}

.main_contents h2,
.main_contents .sub_title {
    /*h2相当*/
    margin: 0 0 20px;
    font-weight: bold;
    font-size: 157.143%;
    color: #313233;
    border: none;
}

.main_contents .m_header {
    /*h3相当*/
    font-weight: bold;
    font-size: 114.2856%;
    color: #313233;
    margin: 0 0 20px;
}

.main_contents .statement_bh {
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .main_contents h1,
    .main_contents .page_title {
        margin: 0 0 0.5em;
        font-size: 142.857%;
    }
    .main_contents h2,
    .main_contents .sub_title {
        /*h2相当*/
        font-size: 128.5712%;
    }
}




/*---- for header ----*/

.com_header_wrapper {
    width: 100%;
    position: relative;
    z-index: 10001;
}

.com_header_wrapper .com_header {
    background-color: #ff0033;
    margin: 0 auto;
}

.com_header ul {
    width: 950px;
    margin: 0 auto;
    min-height: 43px;
}

.com_header li {
    display: inline;
}

.com_header_logo-pc {
    display: block;
    width: 108px;
    height: 43px;
}

.com_header_logo-sp {
    display: none;
}

.com_header_wrapper a.com_header_corp_name,
.com_header_wrapper a.com_header_corp_name:link,
.com_header_wrapper a.com_header_corp_name:hover,
.com_header_wrapper a.com_header_corp_name:visited,
.com_header_wrapper a.com_header_corp_name:active {
    display: inline-block;
    padding: 14px 0 5px;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    font-weight: bold;
}

@media screen and (min-width: 768px) {
    #sp_menu_btn {
        display: none;
    }
}

@media screen and (max-width: 950px) {
    .com_header_wrapper .com_header {
        width: 100%;
        box-sizing: border-box;
        padding: 0 8px 0;
    }
    .com_header ul {
        width: auto;
    }
}

@media screen and (max-width: 767px) {
    .com_header ul {
        width: auto;
    }

    .com_header_logo-pc {
        display: none;
    }

    .com_header_logo-sp {
        display: block;
    }

    .com_header_wrapper,
    .com_header_wrapper.sp_header {
        position: relative;
        background-color: transparent;
        height: auto;
    }
    .com_header_wrapper .com_header {
        box-sizing: border-box;
        padding: 15px 5px 0;
        text-align: center;
        height: 50px;
        position: fixed;
        top: 0;
        left: 0;
        margin: 0;
        z-index: 10001;
        background: #ff0033;
    }
    .com_header_wrapper #sp_menu_btn {
        display: block;
        position: absolute;
        top: 15px;
        left: 8px;
        width: 22px;
        height: 20px;
        box-sizing: border-box;
        cursor: pointer;
        -webkit-appearance: none;
        background: none;
        border: none;
    }
    .com_header_wrapper #sp_menu_btn span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    #sp_menu_btn span:nth-of-type(1) {
        top: 0;
    }
    #sp_menu_btn span:nth-of-type(2) {
        top: 9px;
    }
    #sp_menu_btn span:nth-of-type(3) {
        bottom: 0;
    }
    #sp_menu_btn.open span:nth-of-type(1) {
        -webkit-animation: menu-bar01 .75s forwards;
        animation: menu-bar01 .75s forwards;
    }
    @-webkit-keyframes menu-bar01 {
        0% {
            -webkit-transform: translateY(9px) rotate(45deg);
        }
        50% {
            -webkit-transform: translateY(9px) rotate(0);
        }
        100% {
            -webkit-transform: translateY(0) rotate(0);
        }
    }
    @keyframes menu-bar01 {
        0% {
            transform: translateY(9px) rotate(45deg);
        }
        50% {
            transform: translateY(9px) rotate(0);
        }
        100% {
            transform: translateY(0) rotate(0);
        }
    }
    #sp_menu_btn.open span:nth-of-type(2) {
        transition: all .25s .25s;
        opacity: 1;
    }
    #sp_menu_btn.open span:nth-of-type(3) {
        -webkit-animation: menu-bar02 .75s forwards;
        animation: menu-bar02 .75s forwards;
    }
    @-webkit-keyframes menu-bar02 {
        0% {
            -webkit-transform: translateY(-9px) rotate(-45deg);
        }
        50% {
            -webkit-transform: translateY(-9px) rotate(0);
        }
        100% {
            -webkit-transform: translateY(0) rotate(0);
        }
    }
    @keyframes menu-bar02 {
        0% {
            transform: translateY(-9px) rotate(-45deg);
        }
        50% {
            transform: translateY(-9px) rotate(0);
        }
        100% {
            transform: translateY(0) rotate(0);
        }
    }
    #sp_menu_btn.close span:nth-of-type(1) {
        -webkit-animation: active-menu-bar01 .75s forwards;
        animation: active-menu-bar01 .75s forwards;
    }
    @-webkit-keyframes active-menu-bar01 {
        0% {
            -webkit-transform: translateY(0) rotate(0);
        }
        50% {
            -webkit-transform: translateY(9px) rotate(0);
        }
        100% {
            -webkit-transform: translateY(9px) rotate(45deg);
        }
    }
    @keyframes active-menu-bar01 {
        0% {
            transform: translateY(0) rotate(0);
        }
        50% {
            transform: translateY(9px) rotate(0);
        }
        100% {
            transform: translateY(9px) rotate(45deg);
        }
    }
    #sp_menu_btn.close span:nth-of-type(2) {
        opacity: 0;
    }
    #sp_menu_btn.close span:nth-of-type(3) {
        -webkit-animation: active-menu-bar03 .75s forwards;
        animation: active-menu-bar03 .75s forwards;
    }
    @-webkit-keyframes active-menu-bar03 {
        0% {
            -webkit-transform: translateY(0) rotate(0);
        }
        50% {
            -webkit-transform: translateY(-9px) rotate(0);
        }
        100% {
            -webkit-transform: translateY(-9px) rotate(-45deg);
        }
    }
    @keyframes active-menu-bar03 {
        0% {
            transform: translateY(0) rotate(0);
        }
        50% {
            transform: translateY(-10px) rotate(0);
        }
        100% {
            transform: translateY(-10px) rotate(-45deg);
        }
    }

    .com_header_wrapper a.com_header_corp_name,
    .com_header_wrapper a.com_header_corp_name:link,
    .com_header_wrapper a.com_header_corp_name:hover,
    .com_header_wrapper a.com_header_corp_name:visited,
    .com_header_wrapper a.com_header_corp_name:active {
        padding: 0;
        font-size: 1.14286rem;
    }
}

.com_header_wrapper a.com_header_logo {
    display: block;
    float: right;
}

@media screen and (max-width: 767px) {
    .com_header_wrapper a.com_header_logo {
        width: 28px;
        background: url('https://s.yimg.jp/i/docs/common/assets/img/y_logo.svg') no-repeat 0 0;
        position: absolute;
        right: 7px;
        top: 16px;
        float: none;
    }
}

.com_header_notice_area {
    background-color: #f2f3f5;
    position: relative;
    z-index: 10001;
    text-align: center;
}

.com_header_notice_area .notice_wrap {
    width: 950px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

.notice_link {
    color: #313233;
}

@media screen and (max-width: 950px) {
    .com_header_notice_area .notice_wrap {
        width: 100%;
        margin: 0;
    }
    .notice_link {
        width: 100%;
        text-decoration: underline;
    }
}

.notice_link a {
    color: #313233;
    font-weight: bold;
    position: relative;
}

.notice_link a::after {
    content: "";
    position: absolute;
    top: 5px;
    right: -15px;
    display: inline-block;
    border-top: 2px solid #ff0033;
    border-right: 2px solid #ff0033;
    height: 5px;
    width: 5px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
    .com_header_notice_area {
        position: relative;
        z-index: 0;
    }
    .notice_link {
        text-decoration: underline;
        text-align: left;
        box-sizing: border-box;
    }
    .notice_link a::after {
        position: relative;
        top: -1px;
        right: -10px;
    }
}

.com_g_navi_wrap,
.com_g_navi_wrap.pc_initial {
    width: 100%;
    margin: 0 0 2px;
    position: relative;
    z-index: 10001;
    overflow: hidden;
}

.com_g_navi_wrap::before {
    content: "";
    display: block;
    width: 100%;
    height: 14px;
    border-bottom: solid 1px #e8e9eb;
    background-color: #fff;
}

.com_g_navi_wrap::after {
    position: absolute;
    top: 12px;
    left: 50%;
    right: 50%;
    content: "";
    display: none;
    width: 1048px;
    margin-left: -524px;
    height: 2px;
    border-bottom: solid 2px #fff;
    z-index: 100;
}

.com_g_navi_wrap .com_g_navi_bg {
    width: 1000px;
    height: 47px;
    margin: -1px auto 10px;
    background-color: #fff;
    border-bottom: solid 1px #e8e9eb;
    position: relative;
}

.com_g_navi_wrap .com_g_navi {
    padding: 0 38px;
    position: relative;
}

.com_g_navi_wrap .com_g_navi li {
    list-style: none;
    display: inline-block;
    position: relative;
}

.com_g_navi_wrap .com_g_navi_bg::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -14px;
    height: 46px;
    -webkit-transform: skewX(30deg);
    -moz-transform: skewX(30deg);
    transform: skewX(30deg);
    border-left: 1px solid #e8e9eb;
    background-color: #fff;
    width: 30px;
}

.com_g_navi_wrap .com_g_navi_bg::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -14px;
    height: 46px;
    -webkit-transform: skewX(150deg);
    -moz-transform: skewX(150deg);
    transform: skewX(150deg);
    border-right: 1px solid #e8e9eb;
    background-color: #fff;
    width: 30px;
}

.scrolling.com_g_navi_wrap {
    position: fixed;
    top: 0px;
    left: 0;
}

.scrolling.com_g_navi_wrap::before,
.scrolling.com_g_navi_wrap .com_g_navi_bg {
    -webkit-box-shadow: 0px 4px 2px -4px rgba(0, 0, 0, 0.4);
    box-shadow: 0px 4px 2px -4px rgba(0, 0, 0, 0.4);
}

.scrolling.com_g_navi_wrap::after {
    border-bottom-width: 5px;
    width: 1046px;
    margin-left: -523px;
}

.scrolling.com_g_navi_wrap+div,
.scrolling.com_g_navi_wrap+nav,
.scrolling.com_g_navi_wrap+main {
    padding-top: 72px;
}

@keyframes adjustTopByInternalLink {
    0% {
        padding-top: 72px;
        margin-top: -72px;
    }
    50% {
        padding-top: 72px;
        margin-top: -72px;
    }
    100% {
        padding-top: 0;
        margin-top: 0;
    }
}

:target {
    animation: adjustTopByInternalLink 1s;
}

:target::before {
    content: "";
    display: block;
    padding-top: 72px;
    margin-top: -72px;
}

.com_g_navi_wrap .com_g_navi li a,
.com_g_navi_wrap .com_g_navi li a:link,
.com_g_navi_wrap .com_g_navi li a:visited {
    display: block;
    color: #313233;
    text-decoration: none;
    padding: 7px 29px 18px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
}

@media screen and (min-width: 768px) {
    .com_g_navi_wrap .com_g_navi li a::before {
        content: "";
        display: block;
        position: absolute;
        bottom: -3px;
        left: 50%;
        width: 0;
        height: 2px;
        background-color: #f03;
    }
    .com_g_navi_wrap .com_g_navi li a:hover::before {
        width: 100%;
        left: 0;
        transition: width .25s, left .25s;
    }
}

.com_g_navi_wrap .com_g_navi li a:hover {
    color: #ff0033;
    text-decoration: none;
}

.com_g_navi_wrap .com_g_navi li a:active {
    color: #ff0033;
    text-decoration: none;
}

.com_g_navi_wrap .com_g_navi li.cur>a {
    font-weight: bold;
    color: #ff0033;
}

.loupe_icon::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -11px;
    border-radius: 15px;
    height: 9px;
    width: 9px;
    border: 1px solid #313233;
}

.loupe_icon::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 21px;
    height: 6px;
    width: 1px;
    margin-top: -3px;
    background: #313233;
    border-radius: 5px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}

.loupe_icon {
    position: absolute;
    top: 10px;
    left: 0;
    width: 0;
    height: 20px;
    padding: 0;
    margin: 5px 0;
    border: none;
    background: transparent;
    color: #bdbfc1;
}

.loupe_icon::before {
    border-color: #bdbfc1;
}

.loupe_icon::after {
    background: #bdbfc1;
}

button.loupe_icon {
    display: block;
    padding: 0;
    position: absolute;
    top: -20px;
    left: 15px;
    width: 46px;
    height: 20px;
    border: none;
    background: transparent;
    color: #313233;
    cursor: pointer;
    box-sizing: border-box;
}

button.loupe_icon::before {
    border-color: #313233;
    left: 17px;
    margin-top: -6px;
}

button.loupe_icon::after {
    background: #313233;
    left: 28px;
    margin-top: 2px;
}

.search_type01 {
    position: relative;
}

.pop_search_area.search_type01 {
    position: absolute;
    top: 12px;
    left: 50%;
    width: 950px;
    margin-left: -475px;
    background-color: #fff;
    border-bottom: 1px solid #bdbfc1;
    display: none;
}

.search_type01 form {
    padding: 0;
    margin: 0;
}

.search_type01 input[type="text"] {
    width: 750px;
    border: 0;
    padding: 5px 10px 5px 35px;
    display: inline-block;
}

::-webkit-input-placeholder {
    color: #bdbfc1;
    opacity: 1;
}

.search_type01 input[type="submit"] {
    width: 90px;
    height: 26px;
    border: 0;
    padding: 1px 0 0;
    background-color: #545454;
    color: #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 4px;
    margin: 6px 10px 0;
    font-weight: bold;
    letter-spacing: 0.2rem;
    text-indent: 0.2rem;
    display: inline-block;
    font-size: 100%;
}

#en .search_type01 input[type="submit"] {
    letter-spacing: 0;
}

.close_icon::before {
    content: '';
    display: block;
    position: absolute;
    top: 3px;
    left: 10px;
    height: 13px;
    width: 1px;
    border-left: 1px #bdbfc1 solid;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}

.close_icon::after {
    content: '';
    display: block;
    position: absolute;
    top: 3px;
    left: 10px;
    height: 13px;
    width: 1px;
    border-left: 1px #bdbfc1 solid;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

.close_icon {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 10px 0 8px 10px;
    border: none;
    background: transparent;
    cursor: pointer;
    line-height: 26px;
    vertical-align: middle;
}

@media screen and (max-width: 950px) {
    .com_g_navi_wrap .com_g_navi_bg {
        width: 92%;
        background-color: #fff;
    }
    .com_g_navi_wrap .com_g_navi_bg {
        text-align: center;
    }
    .com_g_navi_wrap .com_g_navi {
        padding: 0 54px 0 0;
    }
    .com_g_navi_wrap .com_g_navi li a,
    .com_g_navi_wrap .com_g_navi li a:link,
    .com_g_navi_wrap .com_g_navi li a:visited {
        padding: 7px 10px 18px;
    }
    .com_g_navi_wrap .com_g_navi li button {}

    .com_g_navi_wrap .pop_search_area {
        width: 698px;
        text-align: left;
        margin-left: -349px;
    }
    .com_g_navi_wrap .pop_search_area .loupe_icon {
        float: none;
        top: 8px;
    }
    .com_g_navi_wrap .pop_search_area input[type="text"] {
        width: 497px;
        float: none;
        padding: 5px 10px 5px 30px;
    }
    .com_g_navi_wrap .pop_search_area input[type="submit"] {
        width: 100px;
        float: none;
    }
}

@media screen and (max-width: 767px) {
    .com_g_navi_wrap,
    .com_g_navi_wrap.sp_initial {
        width: 85%;
        position: fixed;
        top: 50px;
        left: -767px;
        z-index: 99999;
        height: 100%;
        background-color: #fff;
        overflow-y: auto;
        overflow-x: hidden;
        max-height: 150%;
    }
    .com_g_navi_wrap::before,
    .com_g_navi_wrap::after {
        display: none;
    }
    .com_g_navi_wrap .com_g_navi_wrap::before,
    .com_g_navi_wrap .com_g_navi_wrap::after {
        display: none;
    }
    .com_g_navi_wrap .com_g_navi_bg {
        height: auto;
        border-bottom: none;
        margin: 0;
        width: 100%;
    }
    .com_g_navi_wrap .com_g_navi_bg::before,
    .com_g_navi_wrap .com_g_navi_bg::after {
        display: none;
    }
    .com_g_navi_wrap .com_g_navi {
        padding: 0;
    }
    .com_g_navi_wrap .com_g_navi>li {
        display: block;
        text-align: left;
        padding: 0;
        position: relative;
        box-sizing: border-box;
        border-left: 4px solid #e8e9eb;
    }
    .com_g_navi_wrap .com_g_navi>li a {
        border-bottom: 1px solid #bdbfc1;
        font-size: 1.14286rem;
        position: relative;
    }
    .com_g_navi_wrap .com_g_navi>li a::before {
        display: none;
    }
    .com_g_navi_wrap .com_g_navi>li:first-child {
        border-top: none;
    }
    .com_g_navi_wrap .com_g_navi>li:last-child {
        border-bottom: none;
        height: 0;
    }
    .com_g_navi_wrap .com_g_navi li:last-child button {
        display: none;
    }
    .com_g_navi_wrap .com_g_navi li.cur li.cur {
        border-left: 4px solid #f03;
    }
    .com_g_navi_wrap .com_g_navi li.cur.in_cur {
        border-left: 4px solid #e8e9eb;
    }
    .com_g_navi_wrap .com_g_navi>li.cur>a {
        font-weight: bold;
    }
    .com_g_navi_wrap .com_g_navi>li.cur>a::before {
        content: "";
        display: block;
        position: absolute;
        left: -4px;
        top: 0;
        height: 100%;
        border-left: 4px solid #f03;
    }
    .com_g_navi_wrap .com_g_navi>li.cur.in_cur>a::before {
        display: none;
    }
    .com_g_navi_wrap .com_g_navi li a,
    .com_g_navi_wrap .com_g_navi li a:link,
    .com_g_navi_wrap .com_g_navi li a:visited,
    .com_g_navi_wrap .com_g_navi li a:hover {
        padding: 16px 10px 15px;
    }
    .com_g_navi_wrap .com_g_navi li a:hover,
    .com_g_navi_wrap .com_g_navi li.cur a {
        color: #313233;
    }
    .com_g_navi_wrap .com_g_navi li a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        display: inline-block;
        border-top: 2px solid #ff0033;
        border-right: 2px solid #ff0033;
        margin-top: -6px;
        height: 8px;
        width: 8px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .com_g_navi_wrap .com_g_navi>li.cur>a::after {
        display: none;
    }
    .com_g_navi_wrap .pop_search_area {
        display: block;
        position: relative;
        top: 0;
        left: 0;
        width: auto;
        margin-left: 0;
        border-bottom: none;
        border-left: 4px solid #e8e9eb;
        padding-top: 20px;
        padding-left: 10px;
        height: 100%;
        padding-right: 10px;
    }
    .com_g_navi_wrap .pop_search_area input[type="text"] {
        display: block;
        width: 100%;
        margin: 0 0 10px;
        border: 1px solid #bdbfc1;
        border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        padding: 13px 10px 13px 30px;
        box-sizing: border-box;
        height: 44px;
        -webkit-appearance: none;
        appearance: none;
    }
    .com_g_navi_wrap .pop_search_area .loupe_icon {
        position: absolute;
        top: 32px;
        left: 10px;
    }
    .com_g_navi_wrap .close_icon {
        display: none;
    }
    .com_g_navi_wrap .pop_search_area input[type="submit"] {
        float: right;
        width: 72px;
        height: 44px;
        margin-right: 0;
        font-size: 1.2rem;
        letter-spacing: 0.4rem;
        text-indent: 0.4rem;
    }
    #en .com_g_navi_wrap .pop_search_area input[type="submit"] {
        letter-spacing: 0;
        text-indent: 0;
    }
}




/*---- to here for header ----*/


/*---- from here for footer ----*/

footer {
    font-size: 100%;
}

.footer_wrapper {
    width: 100%;
    border-top: 1px solid #e8e9eb;
}

.footer_wrapper .footer_bg {
    width: 100%;
    border-top: 1px solid #fff;
    background-color: #f2f3f5;
}

.footer_wrapper .footer_main {
    width: 950px;
    padding: 35px 20px 50px;
    box-sizing: border-box;
    margin: 0 auto;
}

.search_type02 {
    position: relative;
}

.search_type02 input[type="text"] {
    width: 910px;
    height: 40px;
    border: 1px solid #bdbfc1;
    padding: 10px 10px 10px 35px;
    border-radius: 6px;
    box-sizing: border-box;
}

.search_type02 input[type="text"]:placeholder-shown,
.search_type02 input[type="text"]:-ms-placeholder-shown {
    color: #c5c7c9;
}

body.no_scroll .footer_search input[type="text"] {
    pointer-events: none;
}

.search_type02 input[type="submit"] {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 40px;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    box-sizing: border-box;
    padding: 8px 0 9px;
    text-align: center;
    border: 0;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    background-color: #9a9c9e;
    letter-spacing: 0.6rem;
    text-indent: 0.6rem;
}

.footer_wrapper .footer_link_wrap {
    padding: 70px 0 0;
}

.footer_wrapper .footer_link {
    width: 25%;
    float: left;
}

.footer_wrapper strong {
    color: #313233;
}

.footer_wrapper strong:focus {
    outline: 0;
}

.footer_wrapper a {
    color: #545454;
    font-size: 0.86rem;
    text-decoration: none;
}

.footer_wrapper strong.d_link a {
    color: #313233;
    font-size: 1rem;
}

.footer_wrapper a:hover {
    text-decoration: underline;
}

.footer_wrapper .footer_link ul {
    padding: 16px 15px 44px 0;
}

.footer_wrapper .footer_link ul:last-child {
    padding: 16px 15px 0px 0;
}

.footer_wrapper .footer_link ul li {
    margin: 0 0 16px;
    line-height: 1.2;
}

.footer_wrapper .footer_bottom_link_wrap {
    width: 100%;
    text-align: center;
    padding: 30px 0;
    background-color: #e8e9eb;
    margin: 0;
}

.footer_wrapper .footer_bottom_link_wrap ul {
    display: block;
    margin: 0 auto 18px;
}

.footer_wrapper .footer_bottom_link_wrap ul li {
    list-style: none;
    display: inline-block;
    padding: 0 5px;
    border-right: 1px solid #b7b8ba;
    line-height: 1.0;
}

.footer_wrapper .footer_bottom_link_wrap ul li:last-child {
    border: none;
}

.footer_wrapper .footer_bottom_link_wrap ul.hyphen_link li {
    border: none;
    padding: 0 5px;
}

.footer_wrapper .footer_bottom_link_wrap ul.hyphen_link li::after {
    content: "-";
    position: relative;
    left: 5px;
}

.footer_wrapper .footer_bottom_link_wrap ul.hyphen_link li:last-child::after {
    content: "";
}

.footer_wrapper .copy {
    color: #9a9c9e;
    font-size: 100%;
}

@media screen and (max-width: 950px) {
    .footer_wrapper .footer_main {
        width: 100%;
        padding: 35px 10px 45px;
    }
    .footer_wrapper .footer_search input[type="text"] {
        width: 88%;
    }
}

@media screen and (max-width: 767px) {
    .footer_wrapper {
        border-top: none;
    }
    .footer_wrapper .footer_main {
        padding: 40px 20px 40px;
    }
    .footer_wrapper .footer_search input[type="text"] {
        padding: 10px 10px 10px 26px;
        height: 44px;
        width: 90%;
    }
    .footer_wrapper .footer_search input[type="submit"] {
        width: 72px;
        height: 44px;
    }
    .footer_wrapper .footer_link_wrap {
        padding: 40px 0 0;
        border-bottom: 1px solid #bdbfc1;
    }
    .footer_wrapper .footer_link.sp_footer {
        width: 100%;
        float: none;
    }
    .footer_wrapper .footer_link.sp_footer strong {
        display: block;
        padding: 17px 0 16px;
        border-top: 1px solid #bdbfc1;
        position: relative;
        font-size: 100%;
        text-align: left;
        font-weight: normal;
    }
    .footer_wrapper .footer_link.sp_footer strong.opened::after,
    .footer_wrapper .footer_link.sp_footer strong.d_link::after,
    .footer_wrapper .footer_link.sp_footer strong.closed::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 8px;
        margin-top: -3px;
        display: block;
        width: 6px;
        height: 6px;
        border-bottom: 2px solid #545454;
        border-right: 2px solid #545454;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
    .footer_wrapper .footer_link.sp_footer strong.opened::after {
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg)
    }
    .footer_wrapper .footer_link.sp_footer strong.d_link {
        padding: 0;
    }
    .footer_wrapper .footer_link.sp_footer strong.d_link a {
        display: block;
        padding: 17px 0 16px;
        font-size: 1rem;
    }
    .footer_wrapper .footer_link.sp_footer strong.d_link::after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        right: 12px;
    }
    .footer_wrapper .footer_link.sp_footer ul {
        display: none;
        padding: 0 0 0 20px;
    }
    .footer_wrapper .footer_link.sp_footer ul:last-child {
        padding: 0 0 0 20px;
    }
    .footer_wrapper .footer_link.sp_footer ul li,
    .footer_wrapper .footer_link.sp_footer ul li:last-child {
        margin: 0 0 15px;
        text-align: left;
    }
}




/*　to here ---------------------------------footer */


/* from here -----------------------------common parts & layout */

#to_top_btn {
    display: block;
    position: relative;
    bottom: 0;
    left: 50%;
    margin-left: -60px;
    width: 120px;
    height: 58px;
    margin-top: 0;
    cursor: pointer;
    color: #fff;
    padding-top: 30px;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.2rem;
    opacity: 0.9;
    margin-bottom: -1px;
    z-index: 98;
    overflow: hidden;
}

#to_top_btn::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-top: 58px solid #ff0033;
    border-right: 58px solid #ff0033;
    border-bottom: 58px solid transparent;
    border-left: 58px solid transparent;
    border-radius: 58px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    z-index: -10;
    background: #ff0033;
}

#to_top_btn::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 13px;
    margin-left: -10px;
    width: 13px;
    height: 13px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    border-bottom: none;
    border-left: none;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}

@media screen and (max-width: 767px) {
    #to_top_btn {
        left: auto;
        bottom: 20px;
        right: 10px;
        margin: 0;
        width: 50px;
        height: 50px;
        white-space: nowrap;
        text-indent: 100%;
        overflow: hidden;
        z-index: 99;
    }
    #to_top_btn::before {
        border: 25px solid #ff0033;
    }
    #to_top_btn::after {
        left: 50%;
        top: 20px;
        margin-left: -10px;
        width: 18px;
        height: 18px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }
}




/*---- to here for footer ----*/


/*---- from here for main_contents ----*/

.com_emg_info {
    width: 950px;
    margin: 0 auto;
}

#modal_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.5;
    display: block;
    z-index: 10000;
}

#modal_bg.off {
    display: none!important;
}




/* from here 汎用パーツ　*/


/*　汎用レイアウト　*/

.page_main {
    padding: 0;
    background-color: #fff;
    border: none;
    width: 950px;
    margin: 0 auto 1px;
}

@media screen and (max-width: 950px) {
    .js .page_main {
        width: 100%;
        box-sizing: border-box;
        padding: 0 20px;
    }
    .com_emg_info {
        width: 100%;
        margin: 0;
    }
}

@media screen and (max-width: 767px) {
    .js .page_main {
        padding: 20px 10px 50px;
    }
    .com_emg_info {
        margin-top: 50px;
    }
}

.main_contents {
    padding: 70px 70px 45px;
    background: #fff;
    list-style: none;
    min-height: 200px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    margin-bottom: 70px;
    display: table;
    width: 100%;
    border-radius: 4px;
    box-sizing: border-box;
}

.main_contents.common_article {
  max-width: 950px;
  margin-top: 20px;
}
.main_contents.common_article .datelist {
  margin: 5px 0;
}
.main_contents.common_article .error_contents {
  text-align: center;
  margin: 20px 0;
}

@media screen and (max-width: 767px) {
    .main_contents.common_article {
      border: none;
      margin: 0;
      padding: 0;
    }
    .main_contents.common_article .error_contents {
        margin: 80px 0;
    }
    .main_contents {
        padding: 0 5px 0;
        width: 100%;
        box-shadow: none;
    }
}

a.arrow_link {
    position: relative;
    display: inline-block;
    padding-right: 20px;
    text-decoration: none;
    color: #313233;
}

a.arrow_link:hover {
    text-decoration: underline;
}

a.arrow_link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 3px;
    display: inline-block;
    border-top: 2px solid #ff0033;
    border-right: 2px solid #ff0033;
    margin-top: -3px;
    height: 5px;
    width: 5px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

a.arrow_link.small_let::after {
    margin-top: -4px;
}

@media screen and (max-width: 767px) {
    a.arrow_link {
        position: relative;
        display: inline;
    }
    a.arrow_link::after {
        content: "";
        position: relative;
        top: -1px;
        right: -5px;
        display: inline-block;
        border-top: 2px solid #ff0033;
        border-right: 2px solid #ff0033;
        height: 5px;
        width: 5px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }
}

.sns_btn {
    text-align: center;
}

.sns_btn li {
    list-style: none;
    display: inline-block;
    margin-left: 35px;
    position: relative;
    width: 42px;
}

.sns_btn li.line_share {
    width: 42px;
    height: 42px;
    vertical-align: middle;
}

.sns_btn li.line_share img,
.sns_btn li.twitter_btn img {
    width: 42px;
    height: 42px;
}

.sns_btn a img {
    vertical-align: middle;
}

.sns_btn li:first-child {
    margin-left: 0;
}

@media screen and (max-width: 767px) {
    .sns_btn {
        width: 225px;
        margin: 0 auto;
    }
    .sns_btn li,
    .sns_btn li:first-child {
        margin: 15px;
    }
}

.local_navi {
    width: 950px;
    margin: 20px auto 6px;
    box-sizing: border-box;
}

.local_navi.switch_lang_wrap {
    width: 950px;
    margin: 0 auto 6px;
}

@media screen and (max-width: 950px) {
    .local_navi,
    .local_navi.switch_lang_wrap {
        width: 100%;
        padding: 0 10px;
    }
}

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

.local_navi ul li {
    display: inline-block;
    list-style: none;
    margin: 0 0 14px;
    border-left: 1px solid #e8e9eb;
}

.local_navi ul li a {
    padding: 10px 16px;
    display: block;
    text-decoration: none;
    color: #313233;
}

.local_navi ul li a:hover {
    text-decoration: underline;
}

.local_navi ul li:last-child {
    border-right: 1px solid #e8e9eb;
}

.local_navi ul li.to_upper {
    border: none;
}

.local_navi .to_upper>a {
    font-size: 1.14286rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.switch_lang {
    width: 100%;
    margin: 5px 0;
    text-align: right;
    color: #e8e9eb;
}

.switch_lang a {
    list-style: none;
    display: inline-block;
    padding: 1px 5px;
    border: none;
    color: #313233;
}

.switch_lang a.act,
.local_navi ul li.cur a {
    color: #f03;
    text-decoration: none;
    font-weight: bold;
}

dl.data_list,
dl.data_list_s {
    width: 100%;
    word-break: break-all;
}

dl.data_list dt,
dl.data_list_s dt {
    width: 18%;
    text-align: left;
    display: inline-block;
    vertical-align: top;
    font-weight: bold;
}

#en .data_list dt,
#en .data_list_s dt {
    width: 26%;
}

#en .data_list dd,
#en .data_list_s dd {
    width: 70%;
}

dl.data_list_s dt {
    width: 15%;
}

dl.data_list dd,
dl.data_list_s dd {
    width: 80%;
    text-align: left;
    display: inline-block;
    vertical-align: top;
    padding-bottom: 15px;
    margin-left: 2%;
}

dl.data_list_s dd {
    width: 84%;
    padding-bottom: 0;
    margin-left: 3px;
}

.subsidiaries .data_list_s {
    margin-top: 15px;
}

@media screen and (max-width: 767px) {
    dl.data_list dt,
    dl.data_list_s dt {
        width: 100%;
        text-align: left;
        display: block;
        vertical-align: top;
        padding-bottom: 10px;
    }
    dl.data_list_s dt {
        padding-bottom: 0;
    }
    dl.data_list dd,
    dl.data_list_s dd {
        width: 100%;
        text-align: left;
        display: block;
        vertical-align: top;
        padding-bottom: 15px;
        padding-left: 0;
        box-sizing: border-box;
        margin-left: 0;
    }
    dl.data_list_s dd {
        padding-bottom: 8px;
        padding-left: 0;
    }
    #en .data_list dt,
    #en .data_list_s dt {
        width: 100%;
    }

    #en .data_list dd,
    #en .data_list_s dd {
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    /* PCの時　第3階層ローカルナビ用*/
    .to_upper>a {
        position: relative;
        display: inline-block;
        padding-left: 20px;
    }
    .to_upper>a::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 3px;
        display: inline-block;
        border-top: 2px solid #ff0033;
        border-left: 2px solid #ff0033;
        height: 5px;
        width: 5px;
        margin-top: -5px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}

.small_let {
    font-size: 85.72%;
}

.map_link {
    background: url("https://s.yimg.jp/images/sicons/maps16.gif") no-repeat left center;
    padding-left: 20px;
}

@media screen and (max-width: 767px) {
    .map_link {
        background: url("https://s.yimg.jp/images/sicons/maps16.gif") no-repeat left top;
    }
}

.sp_local {
    display: none;
}

@media screen and (max-width: 767px) {
    .com_g_navi_wrap .com_g_navi .expanded>a {
        font-weight: bold;
    }
    .com_g_navi_wrap .com_g_navi .sp_local {
        display: block;
    }
    .com_g_navi_wrap .com_g_navi .sp_local>ul {}
    .com_g_navi_wrap .com_g_navi .sp_local li {
        display: block;
        border-left: 4px solid #e8e9eb;
        width: 100%;
        box-sizing: border-box;
        white-space: normal;
    }
    .com_g_navi_wrap .com_g_navi .sp_local li.cur {
        border-left: 4px solid #f03;
    }
    .com_g_navi_wrap .com_g_navi .sp_local li a {
        padding: 12px 10px;
        font-size: 0.8572rem;
        border-bottom: 1px solid #bdbfc1;
    }
    .com_g_navi_wrap .com_g_navi .sp_local li a::after {
        right: 15px;
        margin-top: -4px;
        height: 5px;
        width: 5px;
    }
    .com_g_navi_wrap .com_g_navi .sp_local li.cur>a::after {
        display: none;
    }
    .com_g_navi_wrap .com_g_navi .sp_local .hierarchy3 li a {
        padding: 12px 10px;
        font-size: 0.8572rem;
        background-color: #e8e9eb;
    }
    .com_g_navi_wrap .com_g_navi .sp_local .hierarchy3 li a::after {
        right: 20px;
    }
}

.label_text {
    display: inline-block;
    height: 14px;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    -o-box-sizing: content-box;
    -ms-box-sizing: content-box;
    border: 1px solid #f03;
    line-height: 14px;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    width: 40px;
    color: #f03;
    margin-right: 5px;
}

.label_text.in_sent {
    margin-left: 5px;
}

.more_link {
    text-align: right;
}




/*--------　from here for table 表組み関連　--------*/

.main_contents table {
    width: 100%;
    border-top: 1px solid #bdbfc1;
    border-left: 1px solid #bdbfc1;
}

.main_contents td,
th {
    padding: 15px 20px;
    border-bottom: 1px solid #bdbfc1;
    border-right: 1px solid #bdbfc1;
    font-weight: normal;
    text-align: center;
    vertical-align: top;
}

.main_contents th {
    background-color: #ffe2e7;
    vertical-align: middle;
}

.main_contents th.item,
.main_contents td.item,
.main_contents td.sentense {
    text-align: left;
}

.sitemap_item a {
    text-decoration: none;
    color: #313233;
}

.sitemap_item a:hover {
    text-decoration: underline;
}




/*-------- to here for table ここまで表組み関連 --------*/

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.is_sp {
    display: none!important;
}

@media only screen and (max-width:767px) {
    .is_pc {
        display: none!important;
    }
    .is_sp {
        display: block!important;
    }
}

.datelist {
    text-align: right;
    margin: 5px 0;
    text-align: right;
    color: #545454;
    font-size: 1rem;
    font-weight: bold;
}

@media only screen and (max-width:767px) {
    .full_img {
        width: 100%;
    }
}




/* noscript　表示　*/

.no_script_msg .no_script_ttl {
    padding: 0 0 15px;
    font-size: 128.5715%;
    font-weight: bold;
}

.no_script_msg p {
    padding: 0 0 10px;
}

.no_script_msg .notice_link {
    padding: 0;
}

@media screen and (max-width: 767px) {
    .no_script_msg .notice_link {
        text-align: center;
    }

    .no_script_msg .no_script_ttl {
        font-size: 114.2858%;
    }
}

@media screen and (min-width: 768px) {
    .no_script_msg br {
        display: none;
    }
}

/* 組織図　表示　*/

.organization_tree,
.organization_tree ul {
  margin: 0 0 0 0;
  padding: 0;
  list-style :none;
  color: #545454;
  position: relative;
}

.organization_tree ul {
  margin-left: .5em
}

.organization_tree:before,
.organization_tree ul:before {
  content: "";
  display: block;
  width: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  border-left-width: 1px;
  border-left-style: solid;
}

.organization_tree:before {
  top: 2.5em;
  left: 1.4em;
  border-color: #9A9C9E;
}

.organization_tree li {
  margin: 0;
  padding: 8px 0 8px 24px;
  line-height: 2em;
  position: relative;
}

.organization_tree .organization_tree-child {
  padding: 0;
  font-size: 18px;
  line-height: 2em;
}

.organization_tree .organization_tree-child:last-child {
  background: #fff;
}

.organization_tree li:before {
  content: "";
  display: block;
  width: 20px;
  height: 0;
  border-top: 1px solid;
  margin-top: -1px;
  position: absolute;
  top: 1.5em;
  left: 1.7em;
}


.organization_tree .organization_tree-child:first-child ul:before {
  content: none;
}

.organization_tree .organization_tree-child:first-child .organization_tree__branch--first li {
  padding-left: 40px;
}

.organization_tree li:last-child:before {
  background: #fff;
  height: auto;
  top: 1.5em;
  bottom: 0;
  left: 1.5em;
}

.organization_tree__branch--first li:last-child:before {
  left: 1.7em;
}

.organization_tree__branch--first:before {
  border-color: #9A9C9E;
  left: 1.5em;
}
.organization_tree__branch--second:before,
.organization_tree__branch--third:before {
  border-color: #BDBFC1;
  left: 0;
}

.organization_tree__branch--first li:before {
  border-color: #9A9C9E;
}
.organization_tree__branch--second li:before,
.organization_tree__branch--third li:before {
  border-color: #BDBFC1;
}

.organization_tree__branch--second li:before,
.organization_tree__branch--second li:last-child:before {
  left: 0;
}

.organization_tree__branch--first li,
.organization_tree__branch--second li {
  font-size: 16px;
}

.organization_tree__branch--first li {
  padding-left: 56px;
}
.organization_tree__branch--second li {
  padding-left: 32px;
}

.organization_tree .organization_tree__branch-child.chairman:before {
  background: transparent;
  left: 0.7em;
}

.organization_tree .cto .organization_tree__branch--second {
    padding-top: 20px;
}
.organization_tree .cto .organization_tree__branch--second > li {
    background-color: #fff;
    padding-top: 0;
    padding-left: 0;
    margin-left: -7px;
}
.organization_tree .cto .organization_tree__branch--second > li:before {
    content: none;
}
.organization_tree .organization_tree__branch--third li:before {
    left: 0;
}

.organization_tree .organization_tree-child:before {
  content: none;
}

@media screen and (max-width: 767px) {
.organization_tree:before {
    left: .8em;
  }
  .organization_tree .organization_tree-child {
    font-size: 16px;
  }

  .organization_tree__branch--first li,
  .organization_tree__branch--second li {
    font-size: 14px;
  }
  .organization_tree .organization_tree__branch-child.chairman:before {
    left: 0.3em;
  }
  .organization_tree .organization_tree__branch--third li:before {
    left: 0;
  }
}
