@charset "utf-8";

/* ======================================================
 * parts_sp.css
 * ------------------------------------------------------
 * @media only screen and (max-width: 767px)
 * - Common
 * - Elements >>> Text
 * - Elements >>> List
 * - Elements >>> Link
 * - Elements >>> Image
 * - Elements >>> Other
 * - Conditional Elements >>> Heading
 * - Conditional Elements >>> Navi
 * - Layout >>> Table
 * - Layout >>> Grid
 * - Layout >>> Column
 * - Layout >>> Box
 * - Layout >>> Other
 * - Components
 * - Clearfix
 * Media Queries
====================================================== */

@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  /* ----- sprite ----- */
  .a-blank::after,
  .a-pdf::after,
	.a-xls::after,
  [class*="heading-lv"] .a-blank .heading_title::after,
  [class*="heading-lv"] .a-pdf .heading_title::after,
	[class*="heading-lv"] .a-xls .heading_title::after,
  .accordion-layout > .accordion_trigger::after,
  .news-layout .a-blank .news_title::after,
  .news-layout .a-pdf .news_title::after,
	.news-layout .a-xls .news_title::after,
  .plugin-layout a .a-blank::after {
    vertical-align: top;
    background: url(/common/img/com_sprite01.png) no-repeat;
    background-size: 250px auto;
    content: "";
  }
  .a-blank::after,
  [class*="heading-lv"] .a-blank .heading_title::after,
  .news-layout .a-blank .news_title::after,
  .plugin-layout a .a-blank::after {
    width: 13px;
    height: 13px;
    background-position: -15px -90px;
  }
  .a-pdf::after,
  [class*="heading-lv"] .a-pdf .heading_title::after,
  .news-layout .a-pdf .news_title::after {
    width: 13px;
    height: 16px;
    background-position: -44px -90px;
  }
	.a-xls::after,
  [class*="heading-lv"] .a-xls .heading_title::after,
  .news-layout .a-xls .news_title::after {
    width: 13px;
    height: 16px;
    background-position: -73px -90px;
  }
  [class*="heading-lv"] .a-blank::after,
  [class*="heading-lv"] .a-pdf::after,
	[class*="heading-lv"] .a-xls::after,
  .news-layout .a-blank::after,
  .news-layout .a-pdf::after,
	.news-layout .a-xls::after{
    display: none;
  }
  
  /* link-inline */
  .link-inline.a-blank::after,
  .link-inline.a-pdf::after,
	.link-inline.a-xls::after{
    display: inline-block;
    margin: .3em 10px 0;
  }
  
  /* link-text */
  .link-text > li > .a-blank::after,
  .link-text > li > .a-pdf::after,
	.link-text > li > .a-xls::after,
  .link-text > li > .a-print::after,
  .link-text > li > .a-mail::after,
  .link-text > li > .a-excel::after,
  .link-text > li > .a-word::after,
  .link-text > li > .a-ppt::after,
  .link-text > li > .a-rss::after,
  .link-text > li > .a-zip::after,
  .link-text > li > .a-video::after {
    display: inline-block;
    margin: .3em 0 0 8px;
  }
  
  /* link-button */
  .link-button > li > .a-blank::after,
  .link-button > li > .a-pdf::after,
	.link-button > li > .a-xls::after{
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -6px;
  }
  
  /* heading-lv** */
  [class*="heading-lv"] .a-blank .heading_title::after,
  [class*="heading-lv"] .a-pdf .heading_title::after,
	[class*="heading-lv"] .a-xls .heading_title::after{
    display: inline-block;
    margin: .4em 0 0 10px;
  }
  
  /* news-layout */
  .news-layout .a-blank .news_title::after,
  .news-layout .a-pdf .news_title::after,
	.news-layout .a-xls .news_title::after{
    display: inline-block;
  }
  .news-layout .a-blank .news_title::after {
    margin: .3em 0 0 10px;
  }
  .news-layout .a-pdf .news_title::after {
    margin: .2em 0 0 10px;
  }
	.news-layout .a-xls .news_title::after {
    margin: .2em 0 0 10px;
  }
  
  /* plugin-layout */
  .plugin-layout a .a-blank::after {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: .25em 9px 0 9px;
  }
  
  /* ----- data-row-sp ----- */
  [data-row-sp="auto"],
  [data-row-sp="2"],
  [data-row-sp="3"],
  [data-row-sp="4"] {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  [data-row-sp="2"] > *,
  [data-row-sp="3"] > *,
  [data-row-sp="4"] > * {
    margin-left: 15px;
  }
  [data-row-sp="auto"] > * {
    margin-right: 15px;
  }
  [data-row-sp="1"] > *:first-child,
  [data-row-sp="2"] > *:nth-child(-n+2),
  [data-row-sp="3"] > *:nth-child(-n+3),
  [data-row-sp="4"] > *:nth-child(-n+4) {
    margin-top: 0 !important;
  }
  [data-row-sp="1"] > *,
  [data-row-sp="2"] > *:nth-child(2n+1),
  [data-row-sp="3"] > *:nth-child(3n+1),
  [data-row-sp="4"] > *:nth-child(4n+1) {
    margin-left: 0 !important;
  }
  [data-row-sp="2"] > * {
    width: calc((100% - 15px) / 2);
  }
  [data-row-sp="3"] > * {
    width: calc((100% - 30px) / 3);
  }
  [data-row-sp="4"] > * {
    width: calc((100% - 45px) / 4);
  }
  
  /* ----- data-align-items-sp ----- */
  [data-align-items-sp="flex-start"] {
    align-items: flex-start!important;
  }
  [data-align-items-sp="flex-end"] {
    align-items: flex-end!important;
  }
  [data-align-items-sp="center"] {
    align-items: center!important;
  }
  [data-align-items-sp="baseline"] {
    align-items: baseline!important;
  }
  [data-align-items-sp="stretch"] {
    align-items: stretch!important;
  }

  /* ----- data-justify-content-sp ----- */
  [data-justify-content-sp="flex-start"] {
    justify-content: flex-start!important;
  }
  [data-justify-content-sp="flex-end"] {
    justify-content: flex-end!important;
  }
  [data-justify-content-sp="center"] {
    justify-content: center!important;
  }
  [data-justify-content-sp="space-between"] {
    justify-content: space-between!important;
  }
  [data-justify-content-sp="space-around"] {
    justify-content: space-around!important;
  }

  /* ----- data-direction-sp ----- */
  [data-direction-sp="row"] {
    flex-direction: row!important;
  }
  [data-direction-sp="row-reverse"] {
    flex-direction: row-reverse!important;
  }
  [data-direction-sp="col"] {
    flex-direction: column!important;
  }
  [data-direction-sp="col-reverse"] {
    flex-direction: column-reverse!important;
  }
  
  /* ------------------------------------------------------
   * Elements >>> Text
  ------------------------------------------------------ */
  /* ----- text-lead ----- */
  .text-lead {
    font-size: 1.6rem;
    font-weight: bold;
  }
  .text-lead > .f-small {
    font-size: 1.4rem;
    font-weight: normal;
  }
  /* ----- text-lead-v2 ----- */
  .text-lead-v2 {
    margin: 30px auto;
    text-align: center;
  }
  .text-lead-v2 p {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.3;
    color: #fff;
    text-shadow: -1px -1px 0 #000,-1px 0 0 #000,-1px 1px 0 #000,0 -1px 0 #000,0 1px 0 #000,1px -1px 0 #000,1px 0 0 #000,1px 1px 0 #000;	
  }
  
  /* ----- text-discount ----- */
  .text-discount > [class^="text_"] {
    display: block;
    text-align: center;
  }
  .text-discount > .text_before {
    padding-bottom: 3px;
  }
  .text-discount > .text_after {
    padding-top: 1px;
    color: #dd1133;
    font-weight: bold;
  }
  .text-discount > .text_arrow {
    position: relative;
    height: 11px;
    text-align: left;
    text-indent: -99999px;
  }
  .text-discount > .text_arrow::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -9px;
    border-width: 11px 9px 11px 9px;
    border-style: solid;
    border-color: #93cddd transparent transparent transparent;
    content: "";
  }
  
  /* ------------------------------------------------------
   * Elements >>> List
  ------------------------------------------------------ */
  [class*="list-note"],
  [class*="list-bullet"],
  [class*="list-order"] {
    margin-top: 1em;
  }
  [class*="list-note"] > li + li,
  [class*="list-bullet"] > li + li,
  [class*="list-order"] > li + li,
  .is-nest {
    margin-top: .5em;
  }
  
  /* ----- list-note ----- */
  .list-note > li {
    position: relative;
    padding-left: 1.5em;
  }
  .list-note > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* ----- list-note-order ----- */
  .list-note-order > li {
    position: relative;
    padding-left: 3em;
  }
  .list-note-order > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }
  .list-note-order > li > .list_mark::after {
    content: ".";
  }
  
  /* ----- list-bullet ----- */
  .list-bullet > li {
    position: relative;
    padding-left: 13px;
  }
  
  /* icon */
  .list-bullet > li::before {
    position: absolute;
    top: .7em;
    left: 4px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: #333;
    content: "";
  }
  
  /* ----- list-bullet-v2 ----- */
  .list-bullet-v2 > li {
    position: relative;
    padding-left: 14px;
  }
  .list-bullet-v2 > li::before {
    position: absolute;
    top: .6em;
    left: 0;
    width: 5px;
    height: 5px;
    vertical-align: top;
    background-color: #858585;
    content: "";
  }
  
  /* ----- list-bullet-v3 ----- */
  .list-bullet-v3 > li {
    position: relative;
    padding-left: 15px;
    color: #b10011;
  }
  .list-bullet-v3 .list_em {
    font-size: 1.6rem;
    font-weight: bold;
  }
  
  /* icon */
  .list-bullet-v3 > li::before {
    position: absolute;
    top: .7em;
    left: 0;
    width: 5px;
    height: 5px;
    background-color: #b10011;
    content: "";
  }
  
  /* ----- list-bullet-v4 ----- */
  .list-bullet-v4 > li {
    position: relative;
    margin-bottom: 15px;
    padding: 0 0 15px 16px;
    border-bottom: 1px solid #ccc;
  }
  .list-bullet-v4 > li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .list-bullet-v4 .list_em {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
  }
  .list-bullet-v4 .list_em + *,
  .list-bullet-v4 .list-note {
    margin-top: .5em !important;
  }
  
  /* icon */
  .list-bullet-v4 > li::before {
    position: absolute;
    top: .65em;
    left: 6px;
    width: 4px;
    height: 4px;
    border-radius:  50%;
    background-color: #333;
    content: "";
  }
  
  /* ----- list-order ----- */
  .list-order > li {
    position: relative;
    padding-left: 2em;
  }
  .list-order > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* ----- list-order-v2 ----- */
  .list-order-v2 > li {
    position: relative;
    padding-left: 3em;
    font-size: 1.2rem;
  }
  .list-order-v2 > li > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* ----- list-description ----- */
  .list-description {
    margin: 1em 0;
  }
  .list-description > dt {
    padding: 10px 15px 8px;
    background-color: #e6e4e2;
    font-weight: bold;
  }
  .list-description > dd {
    margin-top: 1em;
  }
  .list-description-v2 {
    margin-top: 1em;
  }
  .list-description-v2 + .list-description-v2 {
    margin-top: 0;
  }
  .list-description-v2[data-break-sp="1"] > dt {
    width: 100%;
    font-weight: bold;
  }
  .list-description-v2[data-break-sp="2"] > dt {
    clear: left;
    float: left;
    font-weight: bold;
  }
  .list-description-v2[data-break-sp="1"] > dd {
    width: 100%;
  }
  .list-description-v2[data-break-sp="2"] > dd {
    overflow: hidden;
  }
  
  /* ----- list-icon ----- */
  .list-icon > li > [class^="i-"] {
    display: inline-block;
    padding: 0 7px;
    color: #fff;
    line-height: 23px;
  }
  .list-icon[data-row-sp="auto"] > li {
    margin: 3px 5px 0 0;
  }
  /* ----- status-icon ----- */
  .status-icon {
    display: inline-block;
    margin-right: 5px;
  }
  .status-icon > .i-info {
    display: inline-block;
    padding: 0 7px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
  }
  
	/* ----- 190312_追記 ----- */
	.charter-point {
		display: flex;
		flex-flow: row wrap;
	}
	.charter-point li {
		margin: 0 5px 5px 0;
		background-color: #ffeef1;
		padding: 3px 0;
		width: calc((100% - 10px) / 3);
		text-align: center;
	}
  .charter-point li:nth-child(3n) {
    margin-right: 0 !important;
  }
  
  /* ------------------------------------------------------
   * Elements >>> Link
  ------------------------------------------------------ */
  /* ----- link-text ----- */
  .link-text {
    margin: .5em 0;
  }
  .link-text > li + li {
    margin-top: .5em;
  }
  .link-text > li > a {
    display: inline-block;
    position: relative;
    padding-left: 15px;
  }
  .link-text > li > a::before {
    position: absolute;
    top: .6em;
    left: -3px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 1px solid #d13;
    border-right: 1px solid #d13;
    content: "";
  }
  
  /* data-row-sp */
  .link-text[data-row-sp="auto"] {
    display: block;
  }
  .link-text[data-row-sp="auto"] > li {
    display: inline;
    margin: 0 30px 0 0;
  }
  .link-text[data-row-sp="auto"] > li > a {
    display: inline;
  }
  
  /* ----- link-faq ----- */
  .link-faq > li {
    margin-top: 10px;
  }
  .link-faq > li > a {
    display: inline-block;
    position: relative;
    padding-left: 33px;
  }
  .link-faq > li > a::before {
    position: absolute;
    top: .1em;
    left: 0;
    width: 22px;
    height: 22px;
    background-color: #e6e4e2;
    color: #333;
    font-family: Arial, Helvetica, "sans-serif";
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 22px;
    text-align: center;
    content: "Q";
  }
  
  /* ----- link-button ----- */
  .link-button {
    margin: 1em 0;
  }
  .link-button > li > a {
    display: inline-block;
    width: 100%;
    padding: 13px 10px 12px;
    border: 1px solid #bbb;
    background-color: #fff;
    text-align: center;
    text-decoration: none;
  }
  [class^="link-button"] > li + li {
    margin-top: 20px;
  }
  .link-button .link_label {
    display: inline-block;
    font-weight: bold;
  }
  .link-button.tour-bus-stop-links > li + li {
    margin-top: 14px;
  }
  
  /* icon */
  .link-button > li > a::after {
    display: none;
  }
  .link-button .link_label::after {
    display: inline-block;
    width: 9px;
    height: 15px;
    vertical-align: top;
    margin: .3em 0 0 10px;
    background: url(/common/img/com_sprite01.png) no-repeat -39px -64px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    content: "";
  }
  .link-button .a-blank .link_label::after {
    width: 13px;
    height: 13px;
    background-position: -15px -90px;
  }
  .link-button .a-back .link_label::before {
    display: inline-block;
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    width: 9px;
    height: 15px;
    vertical-align: top;
    margin: .3em 10px 0 0;
    background: url(/common/img/com_sprite01.png) no-repeat -39px -64px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    content: "";
  }
  .link-button .a-back .link_label::after {
    display: none;
  }
  /* --- link-button-strong --- */ 
  .link-button > li.link-button-strong > a,
  .link-button > li.link-button-strong > span {
    border: none;
    background-color: #d13;
    color: #fff;
  }
  /* icon */ 
  .link-button > li.link-button-strong > a > .link_label::after {
    background: url(/common/img/com_sprite01.png) no-repeat -300px -100px;
  }
  /* ----- link-button-v2 ----- */
  .link-button-v2 {
    margin: 1em 0;
  }
  .link-button-v2 > li > a,
  .link-button-v2 > li > span {
    display: inline-block;
    width: 100%;
    padding: 12px 10px 11px;
    background-color: #d13;
    color: #fff;
    text-align: center;
    text-decoration: none;
  }
  .link-button-v2 .link_label {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .link-button-v2 .is-unnecessary > * {
    background-color: #ddd;
    color: #000;
  }
  .link-button-v2 .is-closed > * {
    background-color: #666;
  }
  .link-button-v2 > li > .is-disabled {
    background-color: #e6e4e2!important;
    pointer-events: none!important;
  }
  
  /* icon */
  .link-button-v2 > li > a::after {
    display: none;
  }
  .link-button-v2 > li > a > .link_label::after {
    display: inline-block;
    width: 9px;
    height: 14px;
    vertical-align: top;
    margin: .3em 0 0 10px;
    background: url(/common/img/com_sprite01.png) no-repeat -125px -50px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    content: "";
  }
  .link-button-v2 .a-blank .link_label::after {
    width: 12px;
    height: 12px;
    background-position: -175px -50px;
  }
  
  /* ----- link-button-v3 ----- */
  .link-button-v3 {
    margin: 30px 0;
  }
  .link-button-v3 a {
    display: block;
    width: 100%;
    padding: 13px 10px 12px;
    border: 1px solid #bbb;
    color: #0877aa;
    font-weight: bold;
    text-decoration: none;
  }
  .link-button-v3 .link_label {
    display: inline-block;
    position: relative;
    padding-left: 16px;
  }
  .link-button-v3 .link_label::before {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    vertical-align: top;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-top: 1px solid #d13;
    border-right: 1px solid #d13;
    content: "";
    
  }
  
  /* ------------------------------------------------------
   * Elements >>> Image
  ------------------------------------------------------ */
  /* ----- image-set ----- */
  .image-set {
    margin: 25px 0;
  }
  .image-set .image_caption {
    margin-top: 10px;
    font-size: 1.1rem;
    text-align: left;
  }
  
  /* gp-al-** */
  .image-set.gp-al-center {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .image-set.gp-al-right {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
  
  /* ------------------------------------------------------
   * Elements >>> Other
  ------------------------------------------------------ */
  /* ----- line-layout ----- */
  .line-layout {
    margin: 15px 0;
  }
  .line-layout .line_hr {
    display: block;
    height: 1px;
    margin: 0;
    border-top: 1px solid #ccc;
  }
  
    /* ----- text ----- */
  .gp-tx-small{font-size:10px!important;font-size:1.0rem!important;}
  .gp-tx-small_v2{font-size:12px!important;font-size:1.2rem!important;}
  .gp-tx-middle{font-size:18px!important;font-size:1.8rem!important;}
  .gp-tx-middle_v2{font-size:15px!important;font-size:1.5rem!important;}
  .gp-tx-large{font-size:22px!important;font-size:2.2rem!important;}
  
  /* ----- station_wrap ----- */
  .station_wrap .station_search .station_heading .station_head {
    margin-bottom: 7px;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .station_wrap .station_search .station_heading .station_head span {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .station_wrap .station_search .station_contents .station_map {
    display: none;
  }
  .station_wrap .station_search .station_contents {
    margin-top: 15px;
  }
  .station_search .station_contents .station_filter .station_select select {
    width: 96.5%;
    padding: 14px 0 11px 12px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    margin: 0;
    border: none;
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    box-sizing: content-box;
  }
  .station_search .station_contents .station_filter .station_select select::-ms-expand {
    display: none;
  }
  .station_search .station_contents .station_filter .station_select {
    background: url(/common/img/com_ic05.png) no-repeat right 10px center;
    background-size: 15px;
    border: 1px solid #bbb;
  }
  .station_search .station_contents .station_filter .station_name .table-layout {
    margin: 20px 0 30px;
  }
  .station_search .station_contents .station_filter .station_name .table-layout .table_inner {
    border: none;
  }
  .station_search .station_contents .station_filter .station_name .table-layout .table_inner td {
    padding: 0;
    border-left: none;
    border-right: 1px solid #ccc;
  }
  .station_search .station_contents .station_filter .station_name .table-layout .table_inner td a {
    display: inline-block;
    width: 100%;
    padding: 13px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .station_search .station_contents .station_filter .station_name .table-layout .table_inner .station_table {
    border-left: 1px solid #ccc;
  }
  .station_search .station_contents .station_filter .station_name .table-layout .table_inner .station_table > tr:first-child td {
    border-top: 1px solid #ccc;
  }
  
  /* ------------------------------------------------------
   * Conditional Elements >>> Heading
  ------------------------------------------------------ */  
  /* ----- heading-lv1 ----- */
  .heading-lv1 {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap;
    height: auto !important;
    margin: 20px -15px;
    padding: 13px 15px 11px;
    border-top: 3px solid #d13;
    background-color: #666;
    color: #fff;
  }
  .heading-lv1 + * {
    margin-top: 25px !important;
  }
  .heading-lv1 .heading_title {
    font-size: 2.4rem;
    line-height: 1.2;
  }
  .heading-lv1 > .heading_title > .heading_caption {
    font-size: 16px;
    font-size: 1.6rem;
  }
  
  /* i-category */
  .heading-lv1 .i-category {
    margin-bottom: 1em;
    padding: 2px 12px 1px;
    color: #fff;
    font-size: 1rem;
    text-align: center;
  }
  
  /* type-search */
  .heading-lv1.type-search {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  .heading-lv1.type-search .search_tourists_btn {
    min-width: 200px;
  }
  .heading-lv1.type-search .search_tourists_btn > a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 8px 15px;
    background-color: #fff;
    color: #000;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
  }
  .heading-lv1.type-search .search_tourists_btn > a > span {
    position: relative;
    padding-left: 54px;
  }
  .heading-lv1.type-search .search_tourists_btn > a > span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 54px;
    height: 32px;
    margin-top: -16px;
    background: url("/common/img/gnav_ic12.png") no-repeat 0 0;
  }
  
  /* ----- heading-lv2 ----- */
  .heading-lv2 {
    margin: 40px 0 30px;
    border-left: 3px solid #d13;
  }
  .heading-lv2 .block {
    display: block;
    padding: 6px 0 4px 15px;
  }
  .heading-lv2 .heading_title {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
  }
  /* ----- heading-lv2-v2 ----- */
  .heading-lv2-v2 {
    margin: 30px auto;
    text-align: center;
  }
  .heading-lv2-v2 + section > .heading-lv3 {
    margin-top: 30px;
  }
  .heading-lv2-v2 .block {
    display: inline-block;
    padding: 0 8px;
    border-left: 4px solid #d13;
    border-right: 4px solid #d13;
  }
  .heading-lv2-v2 .heading_title {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.3;
    color: #fff;
    text-shadow: -1px -1px 0 #b10011,-1px 0 0 #b10011,-1px 1px 0 #b10011,0 -1px 0 #b10011,0 1px 0 #b10011,1px -1px 0 #b10011,1px 0 0 #b10011,1px 1px 0 #b10011;
  }
  /* ----- heading-lv2-v3 ----- */
  .heading-lv2-v3 {
    margin: 40px 0 30px;
    border-left: 3px solid #d13;
  }
  .heading-lv2-v3 .block {
    display: block;
    padding: 5px 0 4px 10px;
  }
  .heading-lv2-v3 .heading_title {
    font-size: 2rem;
    font-weight: normal;
    line-height: 1.5;
  }
  
  /* ----- heading-lv3 ----- */
  .heading-lv3 {
    margin: 25px 0 12px;
  }
  .heading-lv3 + * {
    margin-top: 12px !important;
  }
  .heading-lv3 .block {
    display: block;
    padding: 5px 0;
    border-bottom: 1px solid #ccc;
    color: #333;
  }
  .heading-lv3 .heading_title {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
  }
  .heading-lv3 a.block .heading_title::after {
    display: inline-block;
    width: 6px;
    height: 10px;
    vertical-align: top;
    margin: .4em 0 0 8px;
    background: url(/common/img/com_sprite01.png) no-repeat -12px -76px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    content: "";
  }
  .heading-lv3 a.a-blank .heading_title::after {
    width: 14px;
    height: 14px;
    margin-top: .4em;
    background: url(/common/img/com_sprite01.png) no-repeat -15px -90px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
  }
  .heading-lv3 a.a-pdf .heading_title::after {
    width: 13px;
    height: 16px;
    margin-top: .3em;
    background: url(/common/img/com_sprite01.png) no-repeat -44px -90px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
  }
	.heading-lv3 a.a-xls .heading_title::after {
    width: 13px;
    height: 16px;
    margin-top: .3em;
    background: url(/common/img/com_sprite01.png) no-repeat -73px -90px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
  }
  .heading-lv3 .heading_title.status_icon_title {
    display: inline;
    margin-top: 4px;
    line-height: 1.9;
  }
  
  /* ----- heading-lv4 ----- */
  .heading-lv4 {
    margin: 12px 0;
  }
  .heading-lv4 + * {
    margin-top: 12px !important;
  }
  .heading-lv4 .heading_title {
    position: relative;
    padding-left: 14px;
    font-weight: bold;
  }
  .heading-lv4 .heading_title::before {
    position: absolute;
    top: .5em;
    left: 0;
    width: 7px;
    height: 7px;
    background-color: #d13;
    content: "";
  }
  /* ----- heading-lv4-v2 ----- */
  .heading-lv4-v2 {
    margin: 1.5em 0 1em;
  }
  .heading-lv4-v2 .heading_title {
    position: relative;
    padding-left: 14px;
    font-weight: bold;
  }
  .heading-lv4-v2 .heading_title::before {
    position: absolute;
    top: .6em;
    left: 0;
    width: 7px;
    height: 7px;
    background-color: #d13;
    content: "";
  }
  
  /* ----- heading-lv5 ----- */
  .heading-lv5 {
    margin: 40px 0 20px;
  }
  .heading-lv5 .heading_title {
    position: relative;
    padding-left: 22px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.56;
  }
  .heading-lv5 .heading_title::before {
    position: absolute;
    top: .4em;
    left: 0;
    width: 10px;
    height: 10px;
    border: 2px solid #555;
    content: "";
  }
  
  .column_item > section > [class^="heading-"],
  [data-row-pc="2"] .column_item > section:first-child > [class^="heading-"],
  [data-row-pc="3"] .column_item > section:first-child > [class^="heading-"],
  [data-row-pc="4"] .column_item > section:first-child > [class^="heading-"],
  .column_detail > section > [class^="heading-"] {
    margin-top: 0;
  }
  [data-row-pc="2"] .column_item > section > [class^="heading-"],
  [data-row-pc="3"] .column_item > section > [class^="heading-"],
  [data-row-pc="4"] .column_item > section > [class^="heading-"] {
    margin-top: 15px;
  }
  
  /* ------------------------------------------------------
   * Conditional Elements >>> Navi
  ------------------------------------------------------ */
  /* ----- navi-anchor ----- */
  .navi-anchor {
    margin: 25px -15px;
    padding: 10px 15px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  .navi-anchor .navi-inner,
  .navi-anchor .navi-inner[data-row-sp="auto"] {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  .navi-anchor .navi-inner[data-row-sp="1"] {
    display: block;
  }
  .navi-anchor .navi-inner > li {
    position: relative;
    margin: 5px 18px 5px 0;
    padding-right: 18px;
  }
  .navi-anchor .navi-inner > li::before,
  .navi-anchor .navi-inner[data-row-sp="auto"] > li::before {
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 14px;
    margin-top: -7px;
    background-color: #ddd;
    content: "";
  }
  .navi-anchor .navi-inner[data-row-sp="1"] > li::before {
    display: none;
  }
  .navi-anchor .navi-inner > li > a {
    display: inline-block;
    position: relative;
    padding-left: 15px;
  }
  .navi-anchor .navi-inner > li > a::before {
    position: absolute;
    top: .5em;
    left: 2px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 5px;
    height: 5px;
    border-left: 1px solid #d13;
    border-bottom: 1px solid #d13;
    content: "";
  }
  .navi-anchor .navi-inner > li:last-child:before {
    display: none;
  }
  .navi-anchor .navi-panel {
    background-color: #f6f4f2;
    padding: 13px 15px;
  }
  .navi-anchor .navi-panel li {
    position: relative;
    margin-left: 15px;
  }
  .navi-anchor .navi-panel li + li {
    margin-top: 10px;
  }
  .navi-anchor .navi-panel li::before {
    position: absolute;
    content: "";
    top: 9px;
    left: -15px;
    width: 5px;
    height: 5px;
    background-color: #858585;
  }
  
  /* ----- navi-anchor-v2 ----- */
  .navi-anchor-v2 {
    margin: 25px 0;
  }
  .navi-anchor-v2 .navi-inner > li > a {
    display: inline-block;
    position: relative;
    padding-left: 16px;
  }
  .navi-anchor-v2 .navi-inner > li > a::before {
    position: absolute;
    top: .5em;
    left: 2px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 5px;
    height: 5px;
    border-left: 1px solid #d13;
    border-bottom: 1px solid #d13;
    content: "";
  }
  
  /* ----- navi-sort ----- */
  .navi-sort {
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    margin: 20px 0;
    padding: 15px;
    background-color: #e6e4e2;
  }
  .navi-sort .navi_title {
    margin-right: 15px;
    padding: 0 4px;
    font-size: 1.6rem;
  }
  .navi-sort .navi_detail {
    -webkit-flex: 1;
    flex: 1;
    position: relative;
  }
  .navi-sort .navi_detail::before {
    position: absolute;
    top: 50%;
    right: 13px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-left: 2px solid #666;
    border-bottom: 2px solid #666;
    content: "";
  }
  .navi-sort .navi_select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 50px;
    padding: 10px 24px 10px 19px;
    border: 1px solid #bbb;
    border-radius: 0;
    background-color: #fff;
    font-size: 1.6rem;
  }
  
  /* ------------------------------------------------------
   * Layout >>> Table
  ------------------------------------------------------ */
  /* ----- table-layout ----- */
  .table-layout {
    margin: 30px 0;
  }
  .table-layout .table_inner {
    width: 100%;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  .table-layout[data-layout-sp="scroll"] .table_inner {
    width: 740px;
  }
  .table-layout[data-layout-sp="scroll"] .table_inner.gp-w_table_scroll {
    width: 523px;
  }
  .table-layout[data-layout-sp="scroll"] .table_inner.gp-w_table_scroll-v2 {
    width: 423px;
  }
  .table-layout th,
  .table-layout td {
    vertical-align: top;
    padding: 13px;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    background-color: #fff;
    font-weight: normal;
    text-align: left;
  }
  .table-layout thead th {
    vertical-align: middle;
    text-align: center;
  }
  .table-layout th > *:first-child,
  .table-layout td > *:first-child {
    margin-top: 0 !important;
  }
  .table-layout th > *:last-child,
  .table-layout td > *:last-child {
    margin-bottom: 0 !important;
  }
  .table-layout .cell-style1 {
    background-color: #858585;
    color: #fff;
  }
  .table-layout .cell-style2 {
    background-color: #e6e4e2;
  }
  .table-layout .cell-style3 {
    background-color: #4aaeb7;
    color: #fff;
  }
  .table-layout .cell-style4 {
    background-color: #c67180;
    color: #fff;
  }
  .table-layout .cell-style5 {
    background-color: #eefeff;
  }
  .table-layout .cell-style6 {
    background-color: #ffeef1;
  }
  .table-layout .cell-space-0 {
    padding-right: 0;
    padding-left: 0;
    text-align: center;
    letter-spacing: -.04em;
  }
  .table-layout [class*="cell-"] .cell_strong {
    margin-top: 6px !important;
    padding: 8px;
    background-color: #d13;
    color: #fff;
  }
  .table-layout .text-discount {
    margin-right: -.5em;
    margin-left: -.5em;
  }
  .table-layout.table-small th,
  .table-layout.table-small td {
    padding: 4px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  
  /* data-layout-sp */
  .table-layout[data-layout-sp="scroll"] {
    overflow-x: auto;
    padding-bottom: 12px;
  }
  .table-layout[data-layout-sp="scroll"]::-webkit-scrollbar {
    height: 12px;
  }
  .table-layout[data-layout-sp="scroll"]::-webkit-scrollbar-track {
    border-radius: 12px;
    background: #e6e4e2;
  }
  .table-layout[data-layout-sp="scroll"]::-webkit-scrollbar-thumb {
    border-radius: 12px;
    background: #d13;
  }
  [class*="text-paragraph"].pc-hidden + .table-layout[data-layout-sp="scroll"] {
    margin-top: 10px;
  }
  .table-layout[data-layout-sp="scroll"] th,
  .table-layout[data-layout-sp="scroll"] td {
    white-space: nowrap;
  }
  .table-layout[data-layout-sp="scroll"] [class*="gp-w_table_scroll"] th,
  .table-layout[data-layout-sp="scroll"] [class*="gp-w_table_scroll"] td {
    white-space: normal;
  }
  .table-layout[data-layout-sp="vertical"] col {
    width: 100% !important;
  }
  .table-layout[data-layout-sp="vertical"] th,
  .table-layout[data-layout-sp="vertical"] td {
    display: block;
    width: 100%;
    padding: 15px;
  }
  .table-layout[data-layout-sp="vertical"] th {
    padding: 10px 15px;
  }
  .table-layout[data-layout-sp="scroll-lv2"] .table_left {
    float: left;
    overflow: hidden;
  }
  .table-layout[data-layout-sp="scroll-lv2"] .table_right {
    padding-bottom: 12px;
    overflow-x: scroll;
  } 
  .fixedTable {
    border-collapse: collapse;
  }
  .fixedTable td {
    overflow: hidden;
    white-space: nowrap;
  }
  .table-layout .two-line {
    height: 74px;
  }
  .table-layout.table-small .two-line {
    height: 64px;
  }
  .table-layout[data-layout-sp="scroll-lv2"] .table_right::-webkit-scrollbar {
    height: 12px;
  }
  .table-layout[data-layout-sp="scroll-lv2"] .table_right::-webkit-scrollbar-track {
    border-radius: 12px;
    background: #e6e4e2;
  }
  .table-layout[data-layout-sp="scroll-lv2"] .table_right::-webkit-scrollbar-thumb {
    border-radius: 12px;
    background: #d13;
  }

  
  /* ------------------------------------------------------
   * Layout >>> Column
  ------------------------------------------------------ */  
  .column_item > *:first-child {
    margin-top: 0 !important;
  }
  .column_item > *:last-child {
    margin-bottom: 0 !important;
  }
  
  /* ----- column-layout ----- */
  .column-layout {
    margin: 20px 0;
  }
  .column-layout > .column_item {
    margin-top: 20px;
  }
  .column-layout > .column_item .image_inner,
  .column-media > .column_image .image_inner {
    text-align: center;
  }
  .column-layout.sp-nospace {
    margin: 1em 0;
  }
  .column-layout.sp-nospace > .column_item {
    margin-top: 0 !important;
  }
  .column-layout.sp-nospace > .column_item > [class*="list-"] > li,
  .column-layout.sp-nospace > .column_item > [class*="link-"] > li {
    margin-top: .5em;
  }
  
  /* ----- column-layout-v2 ----- */
  .column-layout-v2 {
    margin-top: 30px;
  }
  .column-layout-v2 > .column_item {
    margin-top: 15px;
    padding: 25px 20px;
    background-color: #f6f4f2;
  }
  .column-layout-v2 .column_heading {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap;
  }
  .column-layout-v2 .column_heading + * {
    margin-top: 20px;
  }
  .column-layout-v2 .column_title {
    position: relative;
    padding-left: 50px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
  }
  .column-layout-v2 .column_title::before {
    position: absolute;
    top: 50%;
    left: 0;
    background: url(/common/img/com_sprite01.png) no-repeat;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    content: "";
  }
  .column-layout-v2 .column_title.type1::before {
    width: 41px;
    height: 34px;
    margin-top: -18px;
    background-position: -100px 0;
  }
  .column-layout-v2 .column_title.type2::before {
    width: 44px;
    height: 29px;
    margin-top: -15px;
    background-position: -150px 0;
  }
  
  /* ----- column-media ----- */
  .column-media {
    margin: 20px 0;
  }
  .column-media > .column_image > *:first-child,
  .column-media > .column_detail > *:first-child {
    margin-top: 0 !important;
  }
  .column-media .image-set {
    margin-bottom: 0;
  }
  .column-media [class*="link-"],
  .column-media [class*="box-"],
  .list-icon + .column-media {
    margin: 15px 0;
  }
  .column-media .text-lead + p {
    margin-top: .5em !important;
  }
  
  /* data-layout-sp */
  .column-media[data-layout-sp="row"] > .column_image {
    max-width: calc((100% - 15px) / 2);
  }
  .column-media[data-layout-sp="row"] > .column_image[data-image="right"] {
    float: right;
    margin-left: 15px;
  }
  .column-media[data-layout-sp="row"] > .column_image[data-image="left"] {
    float: left;
    margin-right: 15px;
  }
  .column-media[data-layout-sp="col"] > .column_detail,
  .column-media[data-layout-sp="col-reverse"] > .column_image {
    margin-top: 20px;
  }
  .column-media[data-layout-sp="col-reverse"] {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .column-media .sub_column_image {
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    margin-top: 7px;
    justify-content: space-between;
  }
  .column-media .sub_column_image .sub_column_item {
    width: calc((100% - 7px) / 2);
  }
  
  /* ----- column-button ----- */
  [class*="column-button"] {
    margin: 15px 0;
  }
  [class*="column-button"][data-row-sp="1"] > .column_item + .column_item {
    margin-top: 12px;
  }
  [class*="column-button"] [class*="link-button"] {
    margin: 0;
  }
  
  /* ----- column-flow ----- */
  .column-flow {
    margin: 20px 0;
  }
  .column-flow .column_item {
    position: relative;
  }
  .flow-title {
    margin-top: 20px;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .column-flow .column_item .flow-title:first-child {
    margin-top: 0;
  }
  .column-flow[data-row-sp="1"] .column_item {
    margin-top: 50px;
  }
  .column-flow[data-row-sp="1"] .column_item + .column_item::after {
    position: absolute;
    top: -34px;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -21px;
    border-width: 22px 21px 22px 21px;
    border-style: solid;
    border-color: #858585 transparent transparent transparent;
    content: "";
  }
  
  /* ----- column-index ----- */
  .column-index {
    margin: 40px 0;
  }
  .column-index .column_item {
    margin-top: 20px;
  }
  .column-index .block {
    display: block;
    border: 1px solid #ccc;
    color: #fff;
    text-decoration: none;
  }
  .column-index .column_heading {
    display: block;
    padding: 13px 15px 12px;
    background-color: #858585;
    text-align: center;
  }
  .column-index .column_title {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .column-index .column_title::after {
    display: inline-block;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    width: 9px;
    height: 9px;
    vertical-align: top;
    margin: .2em 0 0 10px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    content: "";
  }
  .column-index .a-blank::after,
  .column-index .a-pdf::after,
	.column-index .a-xls::after{
    display: none;
  }
  .column-index .a-blank .column_title::after,
  .column-index .a-pdf .column_title::after,
	.column-index .a-xls .column_title::after{
    -webkit-transform: none;
    transform: none;
    vertical-align: top;
    border: none;
    content: "";
  }
  .column-index .a-blank .column_title::after {
    width: 17px;
    height: 17px;
    margin: .3em 0 0 7px;
    background: url(/common/img/com_sprite01.png) no-repeat;
    background-position: -175px -50px;
    background-size: 250px;
  }
  .column-index .a-pdf .column_title::after {
    width: 14px;
    height: 16px;
    margin: .2em 0 0 7px;
    background: url(/common/img/com_sprite01.png) no-repeat;
    background-position: -44px -89px;
    background-size: 250px;
  }
  .column-index .column_detail {
    padding: 14px;
    border-top: none;
    color: #333;
  }
  .column-index .column_detail > *:first-child {
    margin-top: 0 !important;
  }
  .column-index .column_detail > *:last-child {
    margin-bottom: 0 !important;
  }
  
  /* ----- column-index-v2 ----- */
  .column-index-v2 {
    margin: 25px 0;
  }
  .column-index-v2 .column_item {
    margin-top: 20px;
  }
  .column-index-v2 .block {
    display: block;
    color: #fff;
    text-decoration: none;
  }
  .column-index-v2 .column_image .image-set {
    margin: 0;
  }
  .column-index-v2 .column_heading {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    min-height: 50px;
    padding: 10px;
    background-color: #525252;
  }
  .column-index-v2 .column_title {
    position: relative;
    padding-left: 15px;
    font-weight: bold;
  }
  .column-index-v2 .column_title::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 5px;
    height: 9px;
    margin-top: -5px;
    background: url(/common/img/com_sprite01.png) no-repeat -100px -75px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    content: "";
  }
  .column-index-v2 .column_image.type-frame {
    padding: 14px;
    border: 1px solid #ccc;
    border-top: none;
  }
  /* ----- column-box ----- */
  .column-box {
    margin-top: 30px;
  }
  .column-box .column_boxText {
    font-size: 1.6rem;
    font-weight: bold;
    border: 1px solid #ccc;
    text-align: center;
    background: #f6f4f2;
    color: #b10011;
  }
  .column-box .column_boxText > ul > li {
    padding: 10px;
    border-top: 1px solid #ccc;
  }
  .column-box .column_boxText > ul > li:first-child {
    border-top: 0;
  }
  .column-box .column_detail {
    margin-top: 20px;
  }
  
  /* ----- ind-layout ----- */
  .ind-layout .link-block {
    position: relative;
  }
  .ind-layout .link-block > a.block {
    display: block;
  }
  .ind-layout .link-block > a .link-caption {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 20px 10px;
    background-color: rgba(51,51,51,0.8);
    font-weight: bold;
    color: #fff;
  }
  .ind-layout .link-block > a:hover {
    opacity: 0.7;
  }
  .ind-layout .link-block > a .link-caption > p::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 10px;
    margin: .3em 10px 0 0;
    background: url(/common/img/com_sprite01.png) no-repeat;
    background-position: -8px -106px;
  }
  .ind-layout .link-block > a:hover .link-caption > p {
    text-decoration: underline;
  }

  /* ------------------------------------------------------
   * Layout >>> Box
  ------------------------------------------------------ */
  .box_detail > *:first-child {
    margin-top: 0 !important;
  }
  .box_detail > *:last-child {
    margin-bottom: 0 !important;
  }
  
  /* ----- box-layout ----- */
  .box-layout {
    position: relative;
    margin: 40px 0;
    border: 1px solid #ccc;
    background-color: #fff;
  }
  .box-layout::before {
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: 3px;
    background-color: #d13;
    content: "";
  }
  .box-layout .box_title {
    padding: 15px 0 12px;
    background-color: #f6f4f2;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  .box-layout .box_detail {
    padding: 15px;
  }
  .box-layout .box_aside {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ccc;
  }
  .box-layout .box_aside .link-text[data-row-sp="1"] {
    margin: 0;
  }
  
  /* ----- box-layout-v2 ----- */
  .box-layout-v2 {
    margin-top: 30px;
    border: 2px solid #ccc;
  }
  .box-layout-v2 + .list-note {
    margin-top: .5em;
  }
  .box-layout-v2 .box_title {
    padding: 12px 10px 11px;
    background-color: #ffeef1;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }
  .box-layout-v2 .box_title + .box_detail {
    padding: 20px;
  }
  .box-layout-v2 .box_detail {
    padding: 15px;
  }
  .box-layout-v2 .box_detail.detail_center {
    padding-right: 10%;
    padding-left: 10%;
  }
  .box-layout-v2 .text-paragraph,
  .box-layout-v2 [class*="link-text"],
  .box-layout-v2 [class*="navi-anchor"] {
    margin-top: .5em !important;
  }
  .box-layout-v2 [class*="link-button"] {
    margin-top: 1em !important;
  }
  .box-layout-v2 .box_detail > .text-lead {
    text-align: center;
    letter-spacing: -.05em;
  }
  .box-layout-v2[data-layout-sp="row"] {
    display: -webkit-flex;
    display: flex;
  }
  .box-layout-v2[data-layout-sp="row"] .box_title {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 31.82%;
  }
  .box-layout-v2[data-layout-sp="row"] .box_detail {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-flex: 1;
    flex: 1;
  }
  
  /* ----- box-layout-v3 ----- */
  .box-layout-v3 {
    margin: 20px 0;
    background-color: #ffeef1;
  }
  .box-layout-v3 .box_detail {
    padding: 20px;
  }
  .box-layout-v3 .text-paragraph,
  .box-layout-v3 [class*="list-note"] {
    margin-top: 10px !important;
  }
  .column-media .box-layout-v3 .box_detail {
    padding: 15px;
  }
  
  /* ----- box-layout-v4 ----- */
  .box-layout-v4 {
    margin: 30px 0;
  }
  .box-layout-v4 > .box_title {
    padding: 7px 20px 4px;
    background-color: #d13;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  .box-layout-v4 > .box_detail {
    padding: 20px 15px;
    border: 1px solid #ccc;
  }
  .box-layout-v4.as-ex-orange > .box_detail {
    border: 1px solid #f0931c;
  }
  .column_item > .box-layout-v4 {
    margin: 20px 0 0;
  }
  .column_item > .box-layout-v4 + .list-note {
    margin-top: .5em;
  }
  
  /* ----- box-layout-v5 ----- */
  .box-layout-v5 {
    margin: 30px 0;
  }
  .box-layout-v5 > .box_title {
    padding: 11px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    letter-spacing: -.04em;
  }
  .box-layout-v5 > .box_title > .f-small {
    font-size: 1.4rem;
    font-weight: normal;
  }
  .box-layout-v5 > .box_detail {
    padding: 20px 15px;
    background-color: #f6f4f2;
  }
  .box-layout-v5 > .box_detail > .link-text {
    margin-top: .5em;
  }
  .column_item .box-layout-v5 {
    margin: 20px 0 0;
  }
  
  /* ----- box-layout-v6 ----- */
  .box-layout-v6 {
    margin-top: 30px;
    border: 2px solid #ccc;
  }
  .box-layout-v6 + .list-note {
    margin-top: .5em;
  }
  .box-layout-v6 .box_title > a {
    position: relative;
    display: block;
    padding: 12px 10px 11px;
    background-color: #ffeef1;
    font-size: 1.6rem;
    font-weight: bold;
    color: #333;
    line-height: 1.5;
    text-align: center;
  }
  .box-layout-v6 .box_title > a:after {
    position: absolute;
    content: "";
    top: 50%;
    right: 14px;
    width: 9px;
    height: 15px;
    margin-top: -8px;
    background: url(/common/img/com_sprite01.png) no-repeat -39px -64px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
  }
  .box-layout-v6 .box_title + .box_detail {
    padding: 20px;
  }
  .box-layout-v6 .box_detail {
    padding: 15px;
  }
  .box-layout-v6 .text-paragraph,
  .box-layout-v6 [class*="link-text"],
  .box-layout-v6 [class*="navi-anchor"] {
    margin-top: .5em !important;
  }
  .box-layout-v6 [class*="link-button"] {
    margin-top: 1em !important;
  }
  .box-layout-v6 .box_detail > .text-lead {
    text-align: center;
  }
  .box-layout-v6[data-layout-sp="row"] {
    display: -webkit-flex;
    display: flex;
  }
  .box-layout-v6[data-layout-sp="row"] .box_title {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 31.82%;
  }
  .box-layout-v6[data-layout-sp="row"] .box_detail {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-flex: 1;
    flex: 1;
  }
  /* ----- box-layout-v7 ----- */
  .box-layout-v7 {
    margin-top: 30px;
    border: 2px solid #ccc;
  }
  .box-layout-v7 .box_title {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
  }
  .box-layout-v7 > a{
    padding: 17px 15px 15px;
    display: block;
    width: 100%;
    color: #333;
  }
  .box-layout-v7 .box_title > span{
    border-bottom: solid 1px #ccc;
    padding-bottom: 17px;
    display: block;
    width: 100%;
  }
  .box-layout-v7 .box_detail {
    padding-top: 15px;
  }
  /* ----- box-layout-v8 ----- */
  .box-layout-v8 {
    margin-top: 30px;
    background-color: #fef8f4;
    font-size: 1.4rem;
    padding: 20px;
  }
  /* ----- box-layout-v9 ----- */
  .box-layout-v9 {
    margin: 30px 0;
  }
  .box-layout-v9 > .box_title {
    padding: 5px 20px 4px;
    background-color: #d13;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .box-layout-v9 > .box_detail {
    padding: 19px;
    background-color: #fef8f4;
    font-size: 1.4rem;
    font-weight: bold;
  }
  .column_item > .box-layout-v9 {
    margin: 20px 0 0;
  }
  .column_item > .box-layout-v9 + .list-note {
    margin-top: .5em;
  }
    
  /* ------------------------------------------------------
   * Layout >>> Other
  ------------------------------------------------------ */
  /* ----- accordion-layout ----- */
  .accordion-layout {
    margin-top: 50px;
  }
  .accordion-layout > .accordion_trigger {
    position: relative;
    padding: 5px 50px 5px 0;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    cursor: pointer;
  }
  .accordion-layout > .accordion_detail {
    padding: 15px 0;
    background-color: #fff;
  }
  
  /* icon */
  .accordion-layout > .accordion_trigger::before,
  .accordion-layout > .accordion_trigger::after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 14px;
    height: 2px;
    margin-top: -1px;
    background-color: #d13;
    content: "";
    -webkit-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
  }
  .accordion-layout > .accordion_trigger::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .accordion-layout > .accordion_trigger.is-active::before {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  
  /* ----- sp-accordion-layout ----- */
  .sp-accordion-layout .sp-accordion_trigger {
    width: 100%;
    padding: 12px 0 10px;
    border: 1px solid #bbb;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
  }
  .sp-accordion-layout .sp-accordion_trigger.is-open {
    margin-top: 20px;
    background-color: #666;
    border: 1px solid #666;
    color: #fff;
  }
  .sp-accordion-layout .sp-accordion_trigger > * {
    position: relative;
    display: inline-block;
    padding: 0 24px 0 0;
  }
  .sp-accordion-layout .sp-accordion_trigger > span:before,
  .sp-accordion-layout .sp-accordion_trigger > span:after {
    content: "";
    position: absolute;
    top: 50%;
    border-radius: 2px;
    background-color: #dd1133;
    transition: all 0.1s linear;
  }
  .sp-accordion-layout .sp-accordion_trigger > span:before {
    right: 0;
    width: 14px;
    height: 2px;
    margin-top: -1px;
  }
  .sp-accordion-layout .sp-accordion_trigger > span:after {
    right: 6px;
    width: 2px;
    height: 14px;
    margin-top: -7px;
  }
  .sp-accordion-layout .sp-accordion_trigger.is-open > span:before {
    background-color: #fff;
  }
  .sp-accordion-layout .sp-accordion_trigger.is-open > span:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  
  /* ----- accordion_btnlist sp-accordion-layout ----- */
  .accordion_btnlist {
    margin-top: 30px;
  }
  .accordion_btnlist .sp_linklist .sp_linklist_tx {
    width: 100%;
    border: 1px solid #bbb;
    font-size: 1.4rem;
    text-decoration: none;
  }
  .accordion_btnlist .sp_linklist .sp_linklist_tx > a {
    display: inline-block;
    width: 100%;
    padding: 15px;
    text-decoration: none;
    color: #333333;
  }
  .accordion_btnlist .sp_linklist .sp_linklist_tx > a > * {
    position: relative;
    display: block;
    padding: 0 24px 0 0;
  }
  .accordion_btnlist .sp_linklist .sp_linklist_tx > a > span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-block;
    width: 9px;
    height: 15px;
    vertical-align: top;
    margin-top: -8px;
    background: url(/common/img/com_sprite01.png) no-repeat -39px -64px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
  }
  .accordion_btnlist .sp_linklist + .sp_linklist .sp_linklist_tx,
  .accordion_btnlist .sp_linklist + .sp-accordion-layout .sp-accordion_trigger,
  .accordion_btnlist .sp-accordion-layout + .sp-accordion_trigger,
  .accordion_btnlist .sp-accordion-layout + .sp_linklist .sp_linklist_tx,
  .accordion_btnlist .sp-accordion-layout .accordion_detail .sp_linklist .sp_linklist_tx {
    border-top: none;
  }
  
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger {
    width: 100%;
    padding: 15px;
    border: 1px solid #bbb;
    font-size: 1.4rem;
    text-align: left;
    text-decoration: none;
  }
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger.is-open {
    margin-top: 20px;
    background-color: #666;
    border: 1px solid #666;
    color: #fff;
  }
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger > * {
    position: relative;
    display: block;
    padding: 0 24px 0 0;
  }
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger > span:before,
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger > span:after {
    content: "";
    position: absolute;
    top: 50%;
    border-radius: 2px;
    background-color: #dd1133;
    transition: all 0.1s linear;
  }
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger > span:before {
    right: 0;
    width: 14px;
    height: 2px;
    margin-top: -1px;
  }
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger > span:after {
    right: 6px;
    width: 2px;
    height: 14px;
    margin-top: -7px;
  }
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger.is-active > span:before {
    
  }
  .accordion_btnlist .sp-accordion-layout .sp-accordion_trigger.is-active > span:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
    .sp-accordion-layout .accordion_detail .sp_linklist .sp_linklist_tx > a {
    display: inline-block;
    width: 100%;
    padding: 15px;
      padding-left: 30px;
    text-decoration: none;
  }
  
  /* ----- tab-layout ----- */
  .tab-layout {
    margin: 40px 0;
  }
  .tab-layout > .tab_navi {
    overflow: hidden;
  }
  .tab-layout .tab_list {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    border-bottom: 1px solid #ccc;
  }
  .tab-layout .tab_list > li {
    -webkit-display: flex;
    display: flex;
    width: calc((100% - 2px) / 3);
    margin-left: 1px;
    padding-top: 3px;
  }
  .tab-layout .tab_list > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 6px 5px 4px;
    border: 1px solid #e6e4e2;
    border-bottom: none;
    background-color: #e6e4e2;
    font-weight: bold;
    text-decoration: none;
    -webkit-transition: none;
    transition: none;
  }
  .tab-layout .tab_list > li:nth-child(3n+1) {
    margin-left: 0;
  }
  .tab-layout .tab_list > .is-current {
    padding-top: 0;
  }
  .tab-layout .tab_list > .is-current > a {
    padding-top: 9px;
    border-color: #ccc;
    background-color: #fff;
    color: #999;
  }
  .tab-layout .tab_list > .is-current > a::before {
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: 3px;
    background-color: #d13;
    content: "";
  }
  .tab-layout .tab_list > .is-current > a::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    content: "";
  }
  .tab-layout > .tab_detail {
    display: none;
    padding-top: 20px;
  }
  .tab-layout > .tab_detail > *:first-child,
  .tab-layout > .tab_detail > *:first-child > [class*="heading-lv"]:first-of-type {
    margin-top: 0 !important;
  }
  
  /* ----- tab-layout-v2 ----- */
  .tab-layout-v2 {
    margin: 40px 0;
  }
  .tab-layout-v2 > .tab_navi {
    overflow: hidden;
  }
  .tab-layout-v2 .tab_list {
    -webkit-display: flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    border-bottom: 1px solid #ccc;
  }
  .tab-layout-v2 .tab_list > li {
    -webkit-display: flex;
    display: flex;
    width: calc((100% - 2px) / 3);
    margin-left: 1px;
    padding-top: 3px;
  }
  .tab-layout-v2 .tab_list > li > a {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 6px 11px 4px;
    border: 1px solid #e6e4e2;
    border-bottom: none;
    background-color: #e6e4e2;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    -webkit-transition: none;
    transition: none;
  }
  .tab-layout-v2 .tab_list > li:nth-child(3n+1) {
    margin-left: 0;
  }
  .tab-layout-v2 .tab_list > .is-current {
    padding-top: 0;
  }
  .tab-layout-v2 .tab_list > .is-current > a {
    padding: 9px 15px 4px;
    border-color: #ccc;
    background-color: #fff;
    color: #999;
  }
  .tab-layout-v2 .tab_list > .is-current > a::before {
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: 3px;
    background-color: #d13;
    content: "";
  }
  .tab-layout-v2 .tab_list > .is-current > a::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    content: "";
  }
  .tab-layout-v2 > .tab_detail {
    display: none;
    padding-top: 20px;
  }
  .tab-layout-v2 > .tab_detail > *:first-child,
  .tab-layout-v2 > .tab_detail > *:first-child > [class*="heading-"]:first-of-type {
    margin-top: 0 !important;
  }
  .tab-layout-v2 .tab_list[data-row-sp="auto"] > li {
    width: auto;
    margin-right: 0;
  }
  
  /* ----- modal ----- */
  .zoom-image > a,
  .modal-set > a {
    position: relative;
    display: block;
  }
  .zoom-image > a > .zoom_text,
  .modal-set > a > .zoom_text {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 78px;
    padding: 12px 10px 10px 35px;
    background-color: #dd1133;
    line-height: 1.28;
    color: #fff;
  }
  .zoom-image > a > .zoom_text:before,
  .modal-set > a > .zoom_text:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 14px;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    background: url(/common/img/com_sprite01.png) no-repeat -22px -180px / 250px auto;
  }
  
  /* ----- modal ----- */
  .modal-inline #cboxContent,
  .modal-youtube #cboxContent,
  .modal-iframe #cboxContent{
    margin-top: 32px;
    background: none;
  }
  .modal-inline #cboxLoadedContent,
  .modal-youtube #cboxLoadedContent,
  .modal-iframe #cboxLoadedContent {
    padding: 15px;
    border: none;
  }
  .modal-inline #cboxContent #cboxClose,
  .modal-youtube #cboxContent #cboxClose,
  .modal-iframe #cboxContent #cboxClose {
    display: block;
    position: absolute;
    top: -32px;
    right: 0;
    width: 32px;
    height: 32px;
    background: #333;
  }
  .modal-inline #cboxContent #cboxClose:before,
  .modal-youtube #cboxContent #cboxClose:before,
  .modal-iframe #cboxContent #cboxClose:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    background: url(/common/img/com_sprite01.png) no-repeat -85px -135px / 250px auto;
  }
  #cboxOverlay {
    opacity: 0.5 !important;
  }
  .modal-inlines {
    display: none;
  }

  /* ------------------------------------------------------
   * Components
  ------------------------------------------------------ */
  /* ----- news-layout ----- */
  .news-layout {
    position: relative;
    margin: 10px -15px;
  }
  .heading-lv2 + .news-layout {
    margin-top: -20px !important;
  }
  .news-layout::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    content: "";
  }
  .news-layout .news_article {
    border-bottom: 1px solid #ddd;
  }
  .news-layout .block {
    display: block;
    padding: 20px 15px;
    color: #666;
    text-decoration: none;
  }
  .news-layout .news_property {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    margin-bottom: .5em;
  }
  .news-layout .i-category {
    width: 115px;
    margin-left: 15px;
    padding: 2px;
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
  }
  
    /* charter-news */
  .charter-news.news-layout {
    margin: 0 !important;
  }
  .charter-news.news-layout .news_article:first-child .block {
    padding-top: 0;
  }
  .charter-news .news_property .news_date {
    float: left;
    margin: 0 15px 0 0;
    color: #666;
  }
  .charter-news .news_icon {
    float: left;
    display: inline-block;
    width: 115px;
    margin: -2px 0 0;
    padding: 2px;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fffefe;
    text-align: center;
  }
  .charter-news .news_icon.type4 {
    background-color: #33a8d8;
  }
  .charter-news + .link-button {
    margin: 0;
  }
  .charter-news + .link-button .link_label::after {
    width: 6px;
    height: 10px;
    margin: 0.5em 0 0 10px;
    background-position: -15px -64px;
  }

  
  
  .news-layout .i-category.type1 {background-color: #99aaaf;}
  .news-layout .i-category.type2 {background-color: #ee4f99;}
  .news-layout .i-category.type3 {background-color: #52b952;}
  .news-layout .i-category.type4 {background-color: #33a8d8;}
  .news-layout .i-category.type5 {background-color: #8b77aa;}
  .news-layout .i-category.type6 {background-color: #f18904;}
  .news-layout a .news_title {
    color: #3390d1;
  }
  .news-layout a:hover .news_title {
    text-decoration: underline;
  }
  .news-layout .news_empty {
    padding: 0 15px;
  }
  
  /* ----- plugin-layout ----- */
  .plugin-layout {
    margin-top: 50px;
  }
  .plugin-layout a {
    display: block;
    padding: 15px;
    border: 1px solid #ddd;
    color: #333;
    text-decoration: none;
    outline: none;
  }
  .plugin-layout .plugin_detail {
    margin-top: 15px;
  }
  .plugin-layout a .a-blank {
    color: #0075c2;
  }
  
  /* ----- editor-layout ----- */
  .editor-layout {
    margin: 20px 0;
  }
  .editor-layout > *:first-child {
    margin-top: 0 !important;
  }
  .editor-layout > *:last-child {
    margin-bottom: 0 !important;
  }
  
  /* ----- cta-layout ----- */
  [class*="cta-layout"] {
    margin: 15px 0;
  }
  [class*="cta-layout"] .cta_item + .cta_item {
    margin-top: 15px;
  }
  [class*="cta-layout"] .cta_item > *:first-child
  [class*="cta-layout"] .cta_title + *,
  [class*="cta-layout"] .cta_item > section > [class*="heading"] {
    margin-top: 0 !important;
  }
  [class*="cta-layout"] .cta_item > *:last-child {
    margin-bottom: 0 !important;
  }
  [class*="cta-layout"] .cta_title {
    margin-bottom: 5px;
    font-size: 1.6rem;
    text-align: center;
  }
  [class*="cta-layout"] .cta_tel {
    display: block;
    margin: 0 15px;
    padding: 10px 9px 8px;
    border: 1px solid #bbb;
    background-color: #fff;
    color: #333;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
    text-align: center;
  }
	[class*="cta-layout"] .cta_fax {
    display: block;
    margin: 0 15px;
    padding: 10px 9px 8px;
    background-color: #fff;
    color: #333;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
    text-align: center;
  }
	[class*="cta-layout"] .cta_fax > .cta_number {
		color: #333!important;
	}
  [class*="cta-layout"] .cta_number {
    color: #0877aa;
    font-size: 2rem;
  }
  [class*="cta-layout"] .cta_sub {
    margin: 1em -10px 0;
    font-size: 1.2rem;
    text-align: center;
  }
  [class*="cta-layout"] [class*="link-button"] {
    margin-right: 10px;
    margin-left: 10px;
  }
  .cta-layout-v2 .cta_item [class*="heading"] {
    margin-top: 0;
  }
  
    /* ----- cta-layout-v3 ----- */
  .cta-layout-v3 {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid  #ccc;
  }
  .cta-layout-v3 .cta_item .cta_title {
  }
  /* ----- cmn-cta-layout ----- */
  .cta-cmn-layout {
  }
  .cta-cmn-layout > *:first-child {
    margin-top: 0 !important;
  }
  [class*="cta-cmn-layout"] .cta-cmn_column {
    margin-top: 4px;
  }
  [class*="cta-cmn-layout"] .cta-cmn_column > .cta-cmn_item + .cta-cmn_item {
    margin-top: 10px;
  }
  [class*="cta-cmn-layout"] .cta-cmn_column > .cta-cmn_item > *:first-child {
    margin-top: 0 !important;
  }
  [class*="cta-cmn-layout"] .cta-cmn_column > .cta-cmn_item > *:last-child {
    margin-bottom: 0 !important;
  }
  [class*="cta-cmn-layout"] .cta-cmn_column > .cta-cmn_item > .link-button {
    margin: 0 15px;
  }
  [class*="cta-cmn-layout"] .cta-cmn_lead {
    text-align: center;
    margin: 0;
    font-weight: bold;
    font-size: 1.6rem;
  }
  [class*="cta-cmn-layout"] .link-text.cta-cmn_link {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 0;
    font-size: 1.7rem;
  }
  [class*="cta-cmn-layout"] .link-text.cta-cmn_link > li {
    line-height: 1;
  }
  [class*="cta-cmn-layout"] .link-text.cta-cmn_link > li a {
    word-break: break-word;
    padding-left: 11px;
  }
  [class*="cta-cmn-layout"] .link-text.cta-cmn_link > li a::before {
    top: .35em;
    left: 0;
  }
  [class*="cta-cmn-layout"] .cta-cmn_small {
    margin-top: 14px;
    font-size: 1.3rem;
  }
  [class*="cta-cmn-layout"] .cta-cmn_small + .cta-cmn_small {
    margin-top: 4px;
  }
  [class*="cta-cmn-layout"] .cta-cmn_tel {
    display: block;
    margin: 0 15px;
    padding: 14px 9px 12px;
    border: 1px solid #bbb;
    background-color: #fff;
    color: #333;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
    text-decoration: none;
    text-align: center;
  }
  [class*="cta-cmn-layout"] .cta-cmn_number {
    color: #0877aa;
    font-size: 1.4rem;
  }
  [class*="cta-cmn-layout"] .cta-cmn_caption {
    margin-top: 9px;
    font-size: 1.2rem;
  }
  .box-layout + .cta-cmn_note.list-note {
    margin-top: -28px;
  }
  .cta-cmn_note.list-note {
    font-size: 1.2rem !important;
  }
  
  /* ----- faq-layout ----- */
  .faq-layout {
    margin: 30px 0;
    background-color: #f6f4f2;
  }
  .faq-layout .faq_question::before,
  .faq-layout .faq_answer .faq_inner::before {
    position: absolute;
    top: 20px;
    left: 50%;
    width: 42px;
    height: 42px;
    margin-left: -21px;
    border-radius: 50%;
    color: #fff;
    font-family: Arial, Helvetica, "sans-serif";
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 42px;
    text-align: center;
  }
  .faq-layout .faq_question {
    position: relative;
    padding: 75px 15px 15px;
  }
  .faq-layout .faq_question::before {
    background-color: #f0931c;
    content: "Q";
  }
  .faq-layout .faq_question::after {
    position: absolute;
    bottom: -24px;
    left: 50%;
    z-index: 2;
    width: 0;
    height: 0;
    margin-left: -12px;
    border-width: 12px 10px 12px 10px;
    border-style: solid;
    border-color: #f6f4f2 transparent transparent transparent;
    content: "";
  }
  .faq-layout .faq_question .faq_title {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
  }
  .faq-layout .faq_answer {
    position: relative;
    padding-top: 12px;
    background-color: #ffeef1;
  }
  .faq-layout .faq_answer::before,
  .faq-layout .faq_answer::after {
    position: absolute;
    top: 0;
    z-index: 1;
    width: 50%;
    height: 12px;
    content: "";
  }
  .faq-layout .faq_answer::before {
    left: 0;
    background-color: #f0931c;
  }
  .faq-layout .faq_answer::after {
    right: 0;
    background-color: #d13;
  }
  .faq-layout .faq_answer .faq_inner {
    position: relative;
    padding: 75px 15px 20px;
  }
  .faq-layout .faq_answer .faq_inner::before {
    background-color: #d13;
    content: "A";
  }
  .faq-layout .faq_answer .faq_inner > *:first-child {
    margin-top: 0 !important;
  }
  .faq-layout .faq_answer .faq_inner > *:last-child {
    margin-bottom: 0 !important;
  }
  .faq-layout .faq_answer .faq_inner > .image-set,
  .faq-layout .faq_answer .faq_inner > .column-layout {
    margin: 20px 0;
  }
  .faq-layout .faq_answer .faq_inner > .column-layout[data-row-sp="2"] > .column_item {
    width: calc((100% - 20px) / 2);
    margin-left: 20px;
  }
  
  /* type-voice */
  .faq-layout.type-voice {
    margin-top: 30px;
  }
  .faq-layout.type-voice .faq_question,
  .faq-layout.type-voice .faq_answer .faq_inner {
    -webkit-display: inherit;
    display: block;
    -webkit-justify-content: inherit;
    justify-content: inherit;
    -webkit-flex-flow: inherit;
    flex-flow: inherit;
    width: 100%;
  }
  .faq-layout.type-voice .faq_question,
  .faq-layout.type-voice .faq_answer .faq_inner {
    padding: 20px 15px;
  }
  .faq-layout.type-voice .faq_question > * {
    margin: 0;
  }
  .faq-layout.type-voice .faq_question .voice-icon-area,
  .faq-layout.type-voice .faq_answer .faq_inner .voice-icon-area {
    display: table;
    width: 100%;
  }
  .faq-layout.type-voice .faq_question .voice-icon-area .voice-icon,
  .faq-layout.type-voice .faq_answer .faq_inner .voice-icon-area .voice-icon {
    display: table-cell;
    width: 13%;
  }
  .faq-layout.type-voice .faq_question .voice-icon-area .voice-title,
  .faq-layout.type-voice .faq_answer .faq_inner .voice-icon-area .voice-title {
    display: table-cell;
    vertical-align: middle;
    padding-left: 10px;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .faq-layout.type-voice .faq_question::before,
  .faq-layout.type-voice .faq_answer .faq_inner::before {
    content: "";
    display: none;
  }
  .voice-detail {
    margin-top: 15px;
  }
  
  /* ----- map-layout ----- */
  .map-layout {
    margin-top: 20px;
  }
  .map-layout + .link-text {
    margin: .5em 0 30px;
  }
  .map-layout > .map_inner {
    width: 100%;
    height: 220px;
  }
  /* ----- wi-fi_connect-layout ----- */ 
  .wi-fi_connect_accordion{
    display: table;
    width: 100%
  }
  .wi-fi_connect_accordion_p{
    display: table-cell;
    padding-left: 10px;
    vertical-align: middle;
  }
  .wi-fi_connect_accordion_img {
    display: table-cell;
    width: 150px;
  }
  .wi-fi_connect_accordion_img img{
    max-width: 150px;
  }
  /* ----- search-timetable ----- */
  .search-timetable {
    margin: 30px 0;
  }
  .search-timetable .search_contents > * {
    margin: 20px 0;
  }
  .search-timetable .search_contents > *:first-child {
    margin-top: 0;
  }
  .search-timetable .search_contents > *:last-child {
    margin-bottom: 0;
  }
  
  /* search_wrap */
  .search-timetable .search_wrap {
    position: relative;
  }
  .search-timetable .search_wrap .input-label {
    display: block;
    width: 46px;
    padding: 6px;
    background-color: #d13;
    color: #fff;
    font-weight: bold;
    line-height: 34px;
    text-align: center;
  }
  .search-timetable .start_contents,
  .search-timetable .goal_contents {
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: calc(100% - 60px);
    height: 46px;
  }
  .search-timetable .start_contents input,
  .search-timetable .goal_contents input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: calc(100% - 46px);
    height: 46px;
    padding: 5px 13px;
    border: 1px solid #bbb;
    border-left: none;
    border-radius: 0;
    background: #fff;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 1.6rem;
  }
  .search-timetable .exchange_btn {
    position: absolute;
    top: 50%;
    right: 0;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    border: 1px solid #bbb;
  }
  .search-timetable .goal_contents {
    margin-top: 20px;
  }
  
  /* search_wrap-v2 */
  .search-timetable .time_head {
    margin-bottom: 10px;
    font-weight: bold;
    line-height: 1.1;
  }
  .search-timetable [class^="time_select"] {
    -webkit-display: flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
  .search-timetable [class^="time_select"] > [class^="time_"] + [class^="time_"] {
    margin-left: 10px;
  }
  .search-timetable [class^="time_select"] > [class^="time_"] {
    position: relative;
  }
  .search-timetable [class^="time_select"] > [class^="time_"]::after {
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 1;
    width: 14px;
    height: 9px;
    margin-top: -4px;
    background: url(/common/img/com_sprite01.png) no-repeat -27px -24px;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    content: "";
  }
  .search-timetable [class^="time_select"] > [class^="time_"] select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 2;
    height: 30px;
    margin: 0;
    padding: 0 34px 0 14px;
    border: 1px solid #bbb;
    border-radius: 0;
    background: none;
  }
  .search-timetable .time_select-v2 {
    margin-top: 10px;
  }
  .search-timetable .search_radio {
    margin-top: 20px;
  }
  .search-timetable .radio_list {
    -webkit-display: flex;
    display: flex;
  }
  .search-timetable .radio_list > li {
    margin-right: 18px;
  }
  .search-timetable .radio_list input {
    display: none;
  }
  .search-timetable .radio_list label {
    display: block;
    position: relative;
    padding-left: 25px;
  }
  .search-timetable .radio_list label::before {
    position: absolute;
    top: .1em;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #bbb;
    border-radius: 50%;
    background-color: #fff;
    content: "";
  }
  .search-timetable .radio_list input:checked + label::before {
    border: 6px solid #d13;
  }
  
  /* timetable_search_btn */
  .search-timetable .timetable_search_btn {
    width: calc(100% - 82px);
    margin: 0 auto;
    padding: 13px 0 10px;
    background-color: #d13;
    text-align: center;
  }
  .search-timetable .timetable_search_btn button {
    display: inline-block;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    outline: none;
    cursor: pointer;
  }
  .search-timetable .timetable_search_btn button::after {
    display: inline-block;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    width: 9px;
    height: 9px;
    vertical-align: top;
    margin: .5em 0 0 7px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    content: "";
  }
  
  /* ----- direction-layout ----- */
  .direction-layout .direction_list > li:first-child > .column-media {
    margin-top: 0;
  }
  .direction-layout .direction_list > li > .column-media {
    margin-top: 25px;
  }
  .direction-layout .direction_list > li > .column-media .column_detail {
    position: relative;
    padding-left: 2em;
  }
  .direction-layout .direction_list > li > .column-media[data-layout-sp="col"] > .column_image .image-set {
    margin-bottom: 0;
  }
  .direction-layout .direction_list > li > .column-media[data-layout-sp="col"] > .column_detail {
    margin-top: 13px;
  }
  .direction-layout .direction_list > li > .column-media .column_detail > .list_mark {
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* ----- day-title ----- */
  .day-title{
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: 2px solid #a4a4a4;
    padding-bottom: 11px;
    margin-bottom: 20px;
    margin-top: 40px;
  }
  
  
  .text-border-top{
    border-top: 1px solid #a4a4a4;
    padding-top: 20px;
    margin-top: 20px;
  }
  
  /* ----- flow-collumn-area ----- */
  .flow-collumn-area.flow-collumn-type02{
    margin-top: 40px;
  }
  .flow-collumn-area > li{
    background: url(/common/img/com_ic07.png) no-repeat 15px bottom / 20px 31px;
    margin-bottom: 30px;
    padding-bottom: 55px;
  }
  .flow-collumn-area > li:last-child{
    background: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .flow-collumn-area > li >.flow-text-box p{
    display: table;
    font-size: 1.6rem;
  }
  .flow-collumn-area > li >.flow-text-box .flow-time{
    width: 67px;
  }
  .flow-collumn-area > li >.flow-text-box span{
    display: table-cell;
  }
  .flow-collumn-area .flow-list-type01{
    width: 100%;
  }
  .flow-collumn-area .flow-list-type01 .flow-button {
    margin-top: 10px;
  }
  .flow-collumn-area .flow-list-type01 .flow-button .link-button-v2{
  margin: 0 auto;
  }
  .flow-collumn-area > li .flow-media-box > div{
    margin-bottom: 0;
    margin-top: 10px;
  }
  .flow-collumn-area > li .flow-media-box .flow-img-box{
    text-align: center;
    margin-bottom: 0;
    margin-top: 10px !important;
  }
  .flow-collumn-area > li .flow-media-box .flow-detail-box{
   margin-top: 15px;
  }
  .flow-collumn-area > li .flow-media-box .flow-detail-box p{
   font-size: 1.4rem;
  }
   .flow-collumn-area > li .flow-media-box .flow-img-box img{
    max-width: 90%;
  }
  .flow-collumn-area > li .flow-media-box > div:first-child{
    margin-top: 0px;
  }
  
  /* ----- important_wrap ----- */
  .compo-important {
    margin: 0 -15px;
    padding: 10px 0;
  }
  .compo-important .compo-important_news {
    border-bottom: 1px #b10011 solid;
  }
  .compo-important .compo-important_news dt {
    padding: 8px 10px 6px;
    background-color: #b10011;
    color: #fff;
    font-weight: bold;
    text-align: center;
  }
  .compo-important .compo-important_news dt span {
    position: relative;
    padding-left: 25px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .compo-important .compo-important_news dt span::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 16px;
    height: 16px;
    background: url(/common/img/com_sprite01.png) no-repeat;
    background-position: -22px -154px;
    background-size: 250px;
  }
  .compo-important .compo-important_news dd {
  }
  .compo-important .compo-important_news dd .compo-important_article {
    padding: 10px 15px;
    background-color: #fff;
  }
  .compo-important .compo-important_news dd .compo-important_article:nth-child(2n) {
    background-color: #f6f4f2;
  }
  .compo-important .compo-important_news dd .compo-important_article a.a-blank:after {
    display: inline-block;
    margin: .3em 0 0 5px;
  }
  .compo-important .compo-important_news dd .compo-important_article a.a-pdf:after {
    display: inline-block;
    margin: .2em 0 0 5px;
  }
  
  /* twitter-layout */
  .twitter-layout {
    margin: 15px 15px 0;
    border: 1px solid  #ccc;
    max-height: 580px;
    overflow: auto;
  }
  .twitter-layout iframe {
    width: 100%;
  }
  
  /* charter-lineup-icon */
  .charter-lineup-icon {
    margin: 20px 0 0;
  }
  .charter-lineup-icon + .charter-lineup-icon {
    margin-top: 10px;
  }
  .charter-lineup-icon__title {
    font-size: 1.2rem;
    font-weight: bold;
  }
  .charter-lineup-icon__list {
    margin-top: 7px;
  }
  .charter-lineup-icon__list > li {
    margin-top: 14px;
  }
  .charter-lineup-icon__list > li > :first-of-type {
    margin-top: 0;
  }
  .charter-lineup-icon__list > li > :last-of-type {
    margin-bottom: 0;
  }
  
  /* ----- column-heading-lv3 ----- */
  .column-heading-lv3 {
    margin: 25px 0 0;
  }
  .column-heading-lv3 > .column_item {
    margin-top: 12px;
  }
  .column-heading-lv3 > .column_item > .link-text > li {
    font-weight: bold;
  }
  
  /* ----- regular_tourism_btn ----- */
  .regular_tourism_btn {
    width: 78%;
    border: 1px solid #bbb;
    margin: 0 auto;
  }
  .regular_tourism_btn > a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 8px 30px;
    background-color: #fff;
    color: #000;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
  }
  .regular_tourism_btn > a > span {
    position: relative;
    padding-left: 64px;
  }
  .regular_tourism_btn > a > span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 54px;
    height: 32px;
    margin-top: -16px;
    background: url("/common/img/com_ic09.png") no-repeat 0 0;
  }
  
  /* ----- qr-layout ----- */
  .qr-layout {
    margin: 20px 0 0;
  }
  .qr-layout > .qr_title > .qr_link {
    display: inline-block;
  }
  .qr-layout > .qr_title > .qr_link.a-blank::after {
    display: inline-block;
    margin: .3em 5px 0;
  }
  
  /* ----- scroll-box ----- */
  .scroll-box {
    overflow: auto;
    height: 352px;
    margin: 30px 0;
    border: 1px solid #ccc;
    background-color: #fff;
  }
  .scroll-box .scroll-box_inner {
    padding: 15px;
  }
  .scroll-box .scroll-box_inner > *:first-child,
  .scroll-box .scroll-box_inner > *:first-child > [class*="heading-"] {
    margin-top: 0 !important;
  }
  
  /* ----- agree-checkbox ----- */
  .agree-checkbox-wrap {
    display: flex;
    justify-content: center;
    margin: 20px 0 0;
  }
  .agree-checkbox {
    position: relative;
    width: 100%;
  }
  .agree-checkbox > input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    overflow: hidden;
    padding: 0;
    clip: rect(0, 0, 0, 0);
  }
  .agree-checkbox .agree-checkbox_label {
    position: relative;
    display: block;
    padding: 12px 10px 10px 14px;
    border: 1px solid #bbbbbb;
    width: 100%;
    height: 100%;
    cursor: pointer;
    text-align: center;
  }
  .agree-checkbox .agree-checkbox_label .agree-checkbox_text::before {
    position: absolute;
    border: 1px solid #ddd;
    border-radius: 0;
    background-color: #fff;
    width: 20px;
    height: 20px;
    top: 45%;
    left: -1px;
    transform: translateY(-50%);
    content: "";
  }
  .agree-checkbox .agree-checkbox_label .agree-checkbox_text::after {
    position: absolute;
    opacity: 0;
    width: 7px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    top: 50%;
    height: 13px;
    left: 6px;
    margin-top: -10px;
    content: "";
  }
  .agree-checkbox > input:checked + .agree-checkbox_label .agree-checkbox_text::before {
    border-color: #dd1133;
    background-color: #dd1133;
  }
  .agree-checkbox > input:checked + .agree-checkbox_label .agree-checkbox_text::after {
    opacity: 1;
  }
  .agree-checkbox .agree-checkbox_text {
    position: relative;
    display: inline-block;
    padding-left: 27px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .column-media[data-layout-sp="row"]::after {
    display: block;
    clear: both;
    content: "";
  }
}