@charset "utf-8";

/* ======================================================
 * layout_sp.css
 * ------------------------------------------------------
 * @media only screen and (max-width: 767px)
 * - Common
 * - Header
 * - Gnav
 * - Main
 * - Assist
 * - Footer
 * - Other
 * - Clearfix
 * Media Queries
====================================================== */

@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
  Newcode
  ------------------------------------------------------ */
   .PcOnly{display:none;}
   .SpOnly{display:block;}
	.videoBox02{
		margin:0 auto;
		display:-webkit-block;
		display:block;
		max-width:100%;
	}
	.video02{
		text-align:center;
		width:100%;
		}
	.video_caption{
		font-size:1.4rem;
		}
	.videoBox01{display:none;}
	a.noline01{
		text-decoration:none;
		font-size:1.7rem;
		color:#F06060;
	}
	.VideoBox{
		width:100%;
		height:calc(80% * 0.5625);
	}
	.VideoBox iframe{
		padding-top:5px;
		width:100%;
		height:100%;
	}
	.VideoBox.SpOnly{
		margin-top:14px;
	}
	.inquiry_ul_width{
		margin-top:20px;
		}


  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  /* ----- font ----- */

  /* ----- a ----- */

  /* ----- opacity ----- */

  /* ----- transition ----- */
  .assist-policy {
    -webkit-transition: margin-top .5s ease-out 0s;
    transition: margin-top .5s ease-out 0s;
  }
  .type-sitemap > a::before,
  .type-sitemap > a::after,
  .header-sitemap .gnav_list > li > a[data-url] .gnav_label::after,
  .header-sitemap .gnav_list > li > .gnav_megadrop .gnav_megadrop_tab .gnav_megadrop_tab_title .tab_label::after,
  .sidebar-nav .nav_category.stage1 > li > a[data-url]::before {
    -webkit-transition: transform .2s ease-out 0s;
    transition: transform .2s ease-out 0s;
  }

  /* ----- sprite ----- */
  .sidebar-nav .nav_category.stage1 > li > a:not([data-url])::after,
  .sidebar-nav .nav_category.stage2 > li > a::after {
    display: inline-block;
    background-image: url(/common-files/img/cmn_sprite_ic01-r2x.png);
    background-repeat: no-repeat;
    background-size: 600px 600px;
    vertical-align: middle;
    content: "";
  }
  .sidebar-nav .nav_category.stage2 > li > a:not(.a-blank):not(.a-pdf)::after,
  .sidebar-nav .nav_category.stage1 > li > a:not([data-url]):not(.a-pdf)::after { width: 10px; height: 16px; background-position: -50px -50px; }
  .sidebar-nav .nav_category.stage2 > li > a.a-blank::after { width: 10px; height: 10px; background-position: -50px -200px; }
  .sidebar-nav .nav_category.stage1 > li > a.a-pdf::after,
  .sidebar-nav .nav_category.stage2 > li > a.a-pdf::after { width: 16px; height: 16px; background-position: 0 -250px; }
  .sidebar-nav .nav_category.stage2 > li.is-open > a::after { width: 11px; height: 7px; background-position: 0px -150px; }

  /* ------------------------------------------------------
   * Header
  ------------------------------------------------------ */
  .Header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
  }

  .Header__inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: center;
    align-items: center;
    justify-content: space-between;
    position: relative;
    height: 56px;
    border-bottom: 1px solid #eee;
    background-color: #fff;
  }

    /* ----- Header__head ----- */
  .Header__head {
    display: flex;
    align-items: center;
    width: 212px;
    height: auto;
    margin: 0 10px 0 15px;
  }

  .header-link {
    display: none;
  }

    /* ----- Header__foot ----- */
  .Header__foot {
    display: none;
  }

  /* ----- type-sitemap ----- */
  .type-sitemap {
    margin-left: 8px;
  }
  .type-sitemap > a {
    display: inline-block;
    position: relative;
    height: 55px;
    font-size: .9rem;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    text-align: center;
  }
  .type-sitemap > a {
    width: 55px;
    padding: 35px 0 0 0;
    background-color: #079c7e;
    color: #fff;
    text-indent: -9999em;
    outline: none;
  }
  .type-sitemap > a::before,
  .type-sitemap > a::after,
  .type-sitemap > a > .utility_guide_label::before {
    position: absolute;
    left: 50%;
    width: 18px;
    height: 2px;
    background-color: #fff;
    margin: 0 0 0 -9px;
    content: "";
  }
  .type-sitemap > a::before {
    top: 21px;
  }
  .type-sitemap > a::after {
    top: 27px;
  }
  .type-sitemap > a > .utility_guide_label::before {
    top: 33px;
  }
  .type-sitemap > a.is-active::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .type-sitemap > a.is-active::after {
    top: 21px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .type-sitemap > a.is-active > .utility_guide_label::before {
    display: none;
  }
  .type-sitemap > a.is-active {
    text-indent: 0;
  }

  /* ----- header-sitemap ----- */
  .header-sitemap {
    display: none;
    position: absolute;
    top: 56px;
    left: 0;
    z-index: 999;
    width: 100vw;
    height: calc(100vh - 56px);
    background-color: #fff;
    overflow-y: scroll;
  }
  .header-sitemap__list > li {
    border-bottom: 1px solid #ddd;
  }
  .header-sitemap [class^="header-sitemap__link"] {
    display: block;
    position: relative;
    padding: 1.2em 55px 1.3em 15px;
    background-color: #fff;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: bold;
    text-decoration: none;
  }
  .header-sitemap__link::after {
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
    width: 10px;
    height: 16px;
    display: inline-block;
    background: url(/common-files/img/cmn_sprite_ic01-r2x.png) no-repeat -50px -50px / 600px 600px;
    vertical-align: middle;
    content: "";
  }
  .header-sitemap__link--blank::after {
    position: absolute;
    top: calc(50% - 8px);
    right: 15px;
    width: 10px;
    height: 10px;
    display: inline-block;
    background: url(/common-files/img/cmn_sprite_ic01-r2x.png) no-repeat -50px -200px / 600px 600px;
    vertical-align: middle;
    content: "";
  }

  /* ------------------------------------------------------
   * Main
  ------------------------------------------------------ */
  .Main {
    margin-top: 56px;
  }
  .MainBody {
    overflow: hidden;
  }

  /* ----- pageGuide ----- */
  .pageGuide {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    overflow-x: auto;
  }
  /* breadcrumbs */
  .breadcrumbs {
    display: table;
    padding: 0 15px;
  }
  .breadcrumbs > li {
    display: table-cell;
    position: relative;
    padding-right: 22px;
    font-size: 1.1rem;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
  }
  .breadcrumbs > li:last-child {
    padding-right: 0;
  }
  .breadcrumbs > li::after {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 1px;
    height: 14px;
    margin: -7px 0 0 0;
    background-color: #888;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    content: "";
  }
  .breadcrumbs > li:last-child::after {
    display: none;
  }

  /* ----- container ----- */
  .container {
    overflow: hidden;
    padding: 0 15px 45px;
  }
  .container[data-wide="true"] {
    padding-bottom: 0;
  }

  /* contents */
  .contents > *:first-child,
  .contents > *:first-child > [class*="heading-lv"] {
    margin-top: 0 !important;
  }
  /* sidebar */
  .sidebar {
    margin-top: 2em;
  }
  .sidebar > *:first-child,
  .sidebar > *:first-child > [class*="heading-lv"] {
    margin-top: 0 !important;
  }
  .sidebar-nav {
    margin: 0 -15px;
  }
  .sidebar-nav + .sidebar-nav {
    margin-top: 1.5em;
  }
  .sidebar-nav .nav_head {
    border-bottom: 1px solid #e4e4e4;
  }
  .sidebar-nav .nav_head > a,
  .sidebar-nav .nav_head > .is-nolink {
    display: block;
    padding: 18px 15px 17px;
    background-color: #009c7c;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.25;
    text-decoration: none;
  }
  .sidebar-nav .nav_category.stage1 > li {
    border-bottom: 1px solid #e4e4e4;
  }
  .sidebar-nav .nav_category.stage1 > li > a {
    display: block;
    position: relative;
    padding: 15px 45px 14px 15px;
    background-color: #fff;
    color: #333;
    text-decoration: none;
  }
  .sidebar-nav .nav_category.stage1 > li.is-open > a {
    background-color: #f4f4f4;
  }
  .sidebar-nav .nav_category.stage1 > li.is-current > a {
    color: #009c7c;
    cursor: default;
  }
  .sidebar-nav .nav_category.stage1 > li > a:not([data-url]):not(.a-pdf)::after {
    position: absolute;
    top: 50%;
    right: 17px;
    margin: -8px 0 0 0;
  }
  .sidebar-nav .nav_category.stage1 > li > a.a-pdf:not([data-url])::after {
    position: absolute;
    top: 50%;
    right: 14px;
    margin: -8px 0 0 0;
  }
  .sidebar-nav .nav_category.stage1 > li > a[data-url]::before,
  .sidebar-nav .nav_category.stage1 > li > a[data-url]:not(.a-pdf)::after {
    position: absolute;
    top: 50%;
    right: 15px;
    display: inline-block;
    width: 14px;
    height: 2px;
    margin: -1px 0 0 0;
    background-color: #009c7c;
    content: "";
  }
  .sidebar-nav .nav_category.stage1 > li > a[data-url]::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .sidebar-nav .nav_category.stage1 > li > a[data-url].is-active::before {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  .sidebar-nav .nav_category.stage2 {
    display: none;
  }
  .sidebar-nav .nav_category.stage2 > li {
    border-top: 1px solid #e4e4e4;
  }
  .sidebar-nav .nav_category.stage2 > li > a {
    display: block;
    position: relative;
    padding: 15px 37px 14px 35px;
    background-color: #fff;
    color: #333;
    line-height: 1.5;
    text-decoration: none;
  }
  .sidebar-nav .nav_category.stage2 > li.is-open > a {
    background-color: #f4f4f4;
  }
  .sidebar-nav .nav_category.stage2 > li.is-current > a {
    color: #009c7c;
    cursor: default;
  }
  .sidebar-nav .nav_category.stage2 > li > a:not(.a-blank):not(.a-pdf)::after {
    position: absolute;
    top: 50%;
    right: 15px;
    margin: -6px 0 0 0;
  }
  .sidebar-nav .nav_category.stage2 > li > a.a-blank::after {
    position: absolute;
    top: 50%;
    right: 13px;
    margin:-5px 0 0 0;
  }
  .sidebar-nav .nav_category.stage2 > li > a.a-pdf::after {
    position: absolute;
    top: 50%;
    right: 10px;
    margin: -8px 0 0 0;
  }
  .sidebar-nav .nav_category.stage2 > li.is-open > a:not(.a-blank):not(.a-pdf)::after {
    margin: -3px 0 0 0;
  }
  .sidebar-nav .nav_category.stage3 {
    padding: 0 0 0 30px;
  }
  .sidebar-nav .nav_category.stage3 > li {
    border-top: 1px solid #fff;
  }
  .sidebar-nav .nav_category.stage3 > li > a {
    display: block;
    padding: 10px 14px 9px 14px;
    background-color: #f4f4f4;
    color: #333;
    font-size: 1.2rem;
    line-height: 1.25;
    text-decoration: none;
  }
  .sidebar-nav .nav_category.stage3 > li.is-current > a {
    background-color: #f4f4f4 !important;
    color: #009c7c;
    cursor: default;
  }
  .sidebar-guide .guide_box {
    margin-right: -15px;
    margin-left: -15px;
    padding: 20px 30px 30px;
    background-color: #fff;
    border-top: 1px solid #e4e4e4;
  }
  .sidebar-nav + .sidebar-guide .guide_box {
    border-top: none;
  }
  .sidebar-guide .guide_box > *:first-child,
  .sidebar-guide .guide_box > *:first-child > [class*="heading-lv"] {
    margin-top: 0 !important;
  }
  .sidebar-guide .guide_box .guide_index {
    margin-top: 1.5em;
  }
  .sidebar-guide .guide_box .guide_index > *:first-child,
  .sidebar-guide .guide_box .guide_index > *:first-child > [class*="heading-lv"] {
    margin-top: 0 !important;
  }
  .sidebar-guide .guide_box .guide_index .guide_index_title {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
  }
  .sidebar-guide .guide_box .guide_index .guide_index_button_2[data-count-sp] {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-top: 1em;
  }
  .sidebar-guide .guide_box .guide_index .guide_index_button_2[data-count-sp] > li {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    margin-top: 1em;
    margin-left: 15px;
  }
  .sidebar-guide .guide_box .guide_index .guide_index_button_2[data-count-sp="2"] > li {
    width: calc((100% - (15px * 1)) / 2);
  }
  .sidebar-guide .guide_box .guide_index .guide_index_button_2[data-count-sp="1"] > li:nth-child(-n+1),
  .sidebar-guide .guide_box .guide_index .guide_index_button_2[data-count-sp="2"] > li:nth-child(-n+2) {
    margin-top: 0;
  }
  .sidebar-guide .guide_box .guide_index .guide_index_button_2[data-count-sp="1"] > li:nth-child(n+1),
  .sidebar-guide .guide_box .guide_index .guide_index_button_2[data-count-sp="2"] > li:nth-child(2n+1) {
    margin-left: 0;
  }
  .sidebar-guide .guide_box .guide_index .guide_index_button_2 a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    padding: 13px 12px 11px;
    border: 1px solid #009c7c;
    border-radius: 60px;
    background-color: #fff;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .1);
    color: #009c7c;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    text-align: center;
  }
  .sidebar-guide .guide_box .guide_index .guide_index_button_2 > li.is-current > a {
    background-color: #dff2ee !important;
    color: #009c7c !important;
    cursor: default;
  }

  /* ------------------------------------------------------
   * Assist
  ------------------------------------------------------ */

  /* ----- assist-follow ----- */
  .assist-follow {
    display: none;
  }

  /* ----- assist-policy ----- */
  .assist-policy {
    position: fixed;
    top: 100%;
    left: 0;
    z-index: 999;
    width: 100%;
    height: 120px;
    background-color: #5c5c5c;
  }
  .assist-policy > *:first-child,
  .assist-policy > *:first-child > [class*="heading-lv"] {
    margin-top: 0 !important;
  }
  .assist-policy > .policy_location {
    padding: 15px;
  }
  .assist-policy .policy_text {
    color: #fff;
    font-weight: 700;
  }
  .assist-policy .policy_action {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: center;
    align-items: center;
    margin-top: .75em;
  }
  .assist-policy .policy_action > [class*="policy_"] {
    display: inline-block;
    min-width: 116px;
    padding: 7px;
    border: 1px solid #fff;
    border-radius: 40px;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .1);
    text-decoration: none;
    text-align: center;
  }
  .assist-policy .policy_action > [class*="policy_"] + [class*="policy_"] {
    margin-left: 20px;
  }
  .assist-policy .policy_action > .policy_allow {
    background-color: #fff;
    color: #333;
  }
  .assist-policy .policy_action > .policy_disallow {
    background-color: transparent;
    color: #fff;
  }
  .assist-policy .policy_action > [class*="policy_"] > .policy_button_label {
    display: inline-block;
  }

  /* ----- assist-modal ----- */
  .assist-modal {
    display: none;
  }

  /* ------------------------------------------------------
   * Footer
  ------------------------------------------------------ */
  .Footer {
    position: relative;
    border-top: 1px solid #ddd;
  }
  .Footer__inner {
    position: relative;
    background-color: #333;
  }

  /* ----- Footer__head ----- */
  .Footer__head {
    padding: 28px 20px 45px;
    background-color: #fff;
  }
  .footer-media {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
  }
  .footer-media__head {
    display: flex;
    justify-content: center;
  }
  .footer-media__body {
    margin-top: 1.4em;
  }
  .footer-media__logo {
    width: 213px;
    height: auto;
  }
  .footer-media__text {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .footer-button {
    display: flex;
    justify-content: center;
    margin-top: 18px;
  }
  .footer-button > li > [class^="footer-button__type"] {
    display: inline-block;
    position: relative;
    min-width: 165px;
    padding: 0.9em 28px 0.6em 10px;
    border: 1px solid #ddd;
    border-radius: 50px;
    background-color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1);
    color: #333;
    text-decoration: none;
    text-align: center;
  }
  .footer-button__label {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: normal;
  }
  .footer-button__type--blank > .footer-button__label::after {
    position: absolute;
    top: calc(50% - 4px);
    right: 10px;
    width: 10px;
    height: 10px;
    background: url(/common-files/img/cmn_sprite_ic01-r2x.png) no-repeat -50px -200px / 600px 600px;
    content: "";
  }

  /* ----- Footer__body ----- */
  .Footer__body {
    padding: 2.9em 15px 1.8em;
  }
  .footer-list {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    text-align: center;
  }
  .footer-list > li + li {
    margin-top: 10px;
  }
  .footer-list > li > [class^="footer-list__type"] {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.6;
    text-decoration: none;
  }
  .footer-list__type--pdf::after {
    position: relative;
    top: 0;
    display: inline-block;
    margin: 0 0 0 8px;
    width: 16px;
    height: 16px;
    background: url(/common-files/img/cmn_sprite_ic01-r2x.png) no-repeat 0px -250px / 600px 600px;
    vertical-align: middle;
    content: "";
  }

  /* ----- Footer__foot ----- */
  .Footer__foot {
    padding: 0 15px 34px;
  }
  .Footer__foot__inner {
    display: flex;
    flex-flow: column-reverse nowrap;
    align-items: center;
    width: 100%;
    border-top: 1px solid #5c5c5c;
  }
  .footer-identity {
    width: 190px;
    margin-top: 30px;
  }
  /* ----- footer-copyright ----- */
  .footer-copyright {
    margin-top: 2em;
    text-align: center;
  }
  .footer-copyright > small {
    color: #999;
    font-size: 1.1rem;
    line-height: 1.6;
  }

  /* ----- Pagetop ----- */
  .Pagetop > a {
    display: block;
    position: fixed;
    bottom: 12px;
    right: 12px;
    z-index: 998;
    width: 45px;
    height: 45px;
    background-color: #fff;
    border: solid 1px #009c7c;
    border-radius: 999px;
    text-indent: -9999em;
    outline: none;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .Pagetop.is-ride > a {
    position: absolute;
    top: 224px;
    bottom: auto;
  }
  .Pagetop > a::before,
  .Pagetop > a::after {
    position: absolute;
    top: calc(50% - 6px);
    width: 1px;
    height: 10px;
    background-color: #009c7c;
    content: "";
  }
  .Pagetop > a::before {
    left: 17.5px;
    transform: rotate(45deg);
  }
  .Pagetop > a::after {
    right: 17.5px;
    transform: rotate(-45deg);
  }


  /* ------------------------------------------------------
   * Other
  ------------------------------------------------------ */

  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .breadcrumbs::after {
    display: block;
    clear: both;
    content: "";
  }
}


/* ======================================================
 * Media Queries
====================================================== */
@media only screen and (min-width: 320px) and (max-width: 767px) {
}
@media only screen and (max-width: 736px) {
}
@media only screen and (max-width: 667px) {
}
@media only screen and (max-width: 640px) {
}
@media only screen and (max-width: 568px) {
}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 414px) {
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 360px) {
  .type-sitemap {
    margin-left: 5px;
  }
  .type-sitemap > a {
    width: 50px;
  }
}
@media only screen and (max-width: 320px) {
  .type-sitemap {
    margin-left: 0;
  }
  li:not(.type-sitemap) > a {
    padding-right: 7px;
    padding-left: 7px;
  }
  .type-sitemap > a {
    width: 45px;
  }
}