@charset "utf-8";

/* ======================================================
 * common_add.css
 * ------------------------------------------------------
 * Plugin
 * - Webfonts
 * Base
 * - Reset
 * @media print, screen and (min-width: 768px)
 * - Override
 * - Parts
 * - Clearfix
 * PC Media Queries
 * @media only screen and (max-width: 767px)
 * - Override
 * - Parts
 * - Clearfix
 * SP Media Queries
 * Print
====================================================== */


/* ======================================================
 * Plugin
====================================================== */
/* ------------------------------------------------------
 * Webfonts
------------------------------------------------------ */
/*!
 * "Poppins" is lisenced under the SIL Open Font License 1.1
 * https://fonts.google.com/specimen/Poppins?preview.text_type=custom#license
 */
/* Thin */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}
/* Thin-italic*/
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}
/* ExtraLight */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}
/* ExtraLight-italic*/
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-ExtraLightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
}
/* Light */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}
/* Light-italic*/
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}
/* nomal */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
/* normal-italic*/
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}
/* Medium */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
/* Medium-italic*/
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}
/* SemiBold */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
/* SemiBold-italic*/
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}
/* bold */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
/* bold-italic */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}
/* ExtraBold */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
/* ExtraBold-italic */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
}
/* Black */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}
/* Black-italic */
@font-face {
    font-family: 'Poppins';
    src: url('/css/font/poppins/Poppins-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

/* ======================================================
 * Base
====================================================== */
  
/* ----- font ----- */
.text-primary {
  color: #005aaa;
}
.text-primary02 {
  color: #249d50;
}
.text-decoration-underline {
  text-decoration: underline!important;
}
.philosophy-lead-color {
  color: #009ce6;
  font-size: 3.5rem;
}
  /* ----- color-list ----- */
.list-bullet.text-primary02>li:before {
    background-color: #249d50;
}
  /* ----- transition ----- */
.history-accordion-layout .accordion_trigger,
.history-accordion-layout .accordion_trigger .accordion_label,
.history-accordion-layout .accordion_trigger .accordion_label::before,
.history-accordion-layout .accordion_trigger .accordion_label::after {
  -webkit-transition: all .15s ease-in-out;
}
.officer-layout .officer_button,
.officer-layout .officer_button > li,
.officer-layout .officer_column_2::after,
.officer-layout .officer_column > .column_item{
  -webkit-transition: all .15s ease-out 0s;
  transition: all .15s ease-out 0s;
}
.sponsorship-layout .sponsorship_button,
.sponsorship-layout .sponsorship_button > li,
.sponsorship-layout .sponsorship_column_2::after,
.sponsorship-layout .sponsorship_column > .column_item{
  -webkit-transition: all .15s ease-out 0s;
  transition: all .15s ease-out 0s;
}
.agreement-check-wrap > label {
  transition: all .25s cubic-bezier(.4,0,.2,1);
}

  /* -----  animation ----- */
@keyframes nanodiaButton-1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ------------------------------------------------------
 * Reset
------------------------------------------------------ */

/* ======================================================
 * PC
====================================================== */
@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  .header-identity > .identity_logo{
    width: 100px;
  }
  .header-identity > .identity_logo a .logo_main{
    max-width: 100%;
  }
  .footer-identity{
    width: 100px;
  }
  /* ------------------------------------------------------
   * General Purpose
  ------------------------------------------------------ */
  /* ----- device ----- */
  .pc-hidden {
    display: none !important;
  }
  
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
  
  
  /* ------------------------------------------------------
   * Parts
  ------------------------------------------------------ */
  /* ----- inline-img ----- */
  .inline-img {
    display: inline-block;
    margin: 0 5px;
    vertical-align: baseline;
  }
  
  .inline-img > img {
    vertical-align: baseline;
  }
  
  /* ----- heading__tag ----- */
  .heading-lv1 .heading__tag {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-top: 0.3rem;
    font-size: 0;
  }
  .heading-lv1 .heading__tag > i {
    display: inline-block;
    margin: 12px 12px 0 0;
    padding: 6px 26px;
    border: 1px solid #e1e2e3;
    background: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    font-style: normal;
  }
  .heading-lv1 .heading__tag > i:last-child {
    margin-right: 0;
  }
  
  /* ----- label-icon ----- */
  .heading-lv1 .heading__label .label-icon {
    display: inline-block;
    position: relative;
    margin-bottom: 4px;
    margin-left: 2.2rem;
    padding: 7px 24px;
    background: #005aaa;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    font-style: normal;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
  }
  .heading-lv1 .heading__label .label-icon::before,
  .heading-lv1 .heading__label .label-icon::after {
    content: "";
    display: block;
    position: absolute;
    border-style: solid;
    border-width: 0 0 32px 5px;
    border-color: transparent transparent #005aaa;
  }
  .heading-lv1 .heading__label .label-icon:before {
    bottom: 0;
    left: -5px;
  }
  .heading-lv1 .heading__label .label-icon:after {
    top: 0;
    right: -5px;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }
  
  /* ----- link-anc-wrap.type-center ----- */
  .link-anc-wrap.row.type-center {
    justify-content: center;
    -webkit-justify-content: center;
  }
  
  /* ----- history-table-column ----- */
  .history-table-column .history_item {
    position: relative;
    padding-left: 5em;
  }
  .history-table-column .history_item + .history_item {
    margin-top: 1.2em;
    padding-top: 1.2em;
  }
  .history-table-column .history_item + .history_item::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -2em;
    width: calc(100% + 4em);
    height: 1px;
    background: #e1e2e3;
  }
  .history-table-column .history_item .history_month {
    position: absolute;
    top: 0;
    left: 0;
    width: 3em;
    font-weight: bold;
    text-align: right;
  }
  .history-table-column .history_item + .history_item .history_month {
    top: 1.2em;
  }

  /* ----- history-accordion-layout ----- */
  .history-accordion-layout {
  }
  .history-accordion-layout .accordion_detail {
    position: relative;
    padding: 1.2em 0;
  }
  .history-accordion-layout .accordion_detail::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% + 2em);
    height: 1px;
    background: #e1e2e3;
  }
  .history-accordion-layout .accordion_detail > :last-child {
    margin-bottom: 0;
  }
  .history-accordion-layout .accordion_trigger {
    display: inline-block;
    border-radius: 9999px;
  }
  .history-accordion-layout .accordion_trigger .accordion_label {
    display: block;
    position: relative;
    padding: 2px 40px 0 67px;
    border: 1px solid #005aaa;
    border-radius: 9999px;
    background: #005aaa;
    color: #fff;
  }
  .history-accordion-layout .accordion_trigger .accordion_label::before,
  .history-accordion-layout .accordion_trigger .accordion_label::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 39px;
    width: 14px;
    height: 2px;
    margin-top: -2px;
    background: #fff;
  }
  .history-accordion-layout .accordion_trigger .accordion_label::after {
    transform: rotate(90deg);
  }
  .history-accordion-layout .accordion_trigger.active .accordion_label {
    background: #fff;
    color: #005aaa;
  }
  .history-accordion-layout .accordion_trigger.active .accordion_label::before,
  .history-accordion-layout .accordion_trigger.active .accordion_label::after {
    background: #005aaa;
  }
  .history-accordion-layout .accordion_trigger.active .accordion_label::after {
    transform: rotate(0);
  }
  .history-accordion-layout .accordion_trigger .accordion_label:hover {
    box-shadow: 0 3px 3px -2px rgba(0,0,0,.14), 0 3px 4px 0 rgba(0,0,0,.14), 0 1px 8px 0 rgba(0,0,0,.12);
  }
  
  /* ----- button contact ----- */
  .btn-primary.link.link-contact .btn__label::after {
    content: "";
    display: inline-block;
    width: 26px;
    height: 18px;
    margin-left: 11px;
    background: url(/common_img/cmn_contact_ic03.png) no-repeat;
    background-size: cover;
    vertical-align: middle;
  }
  .btn-primary.link.link-contact:hover .btn__label::after {
    background-image: url(/common_img/cmn_contact_ic04.png);
  }
  
  /* ----- button back ----- */
  .btn-outline-primary.link-back {
    -webkit-justify-content: center;
    justify-content: center;
    min-width: 445px;
    padding: 1.7rem 3.6rem;
    box-shadow: 0 1px 1px -1px rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.1), 0 0 5px 0 rgba(0,0,0,.08);
    color: #333;
    font-size: 2rem;
    font-weight: bold;
    border: none;
    text-align: center;
  }
  .btn-outline-primary.link-back:hover {
    color: #005aaa;
    box-shadow: 0 1px 1px -1px rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.1), 0 0 5px 0 rgba(0,0,0,.08);
  }
  .btn-outline-primary.link-back::before {
    background-color: #edf4fb;
  }
  .btn-outline-primary.link-back span {
    display: inline-block;
    position: relative;
    width: auto;
    padding-left: 40px;
    color: #333;
  }
  .btn-outline-primary.link-back:hover span {
    color: #005aaa;
  }
  .btn-outline-primary.link-back span::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 25px;
    height: 21px;
    margin-top: -12px;
    background: url(/common_img/cmn_back_ic01.png) no-repeat 0 0;
    content: "";
  }
  
  /* ----- button nolink ----- */
  .btn-nolink {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.9rem;
    padding: 1.504rem 3.6rem;
    overflow: hidden;
    font-size: 1.6rem;
    z-index: 1;
    border: 1px solid transparent;
    border-radius: 9999px;
    box-shadow: 0 3px 1px -2px rgb(0 0 0 / 14%), 0 2px 2px 0 rgb(0 0 0 / 14%), 0 1px 5px 0 rgb(0 0 0 / 12%);
    color: #fff!important;
    font-weight: 400;
  }
  .btn-nolink-primary {
    border-color: #005aaa;
    background-color: #005aaa;
    color: #fff;
  }
  
  /* ----- officer-layout ----- */
  .officer-layout {
    margin: 0 0 3.2rem;
  }
  .officer-layout .officer_text > dt {
    font-size: 1.4rem;
  }
  .officer-layout .officer_text > dd {
    margin: 0 0 0;
    padding: 0 14px 0 0;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .officer-layout .officer_text > dd > .text_kana {
    display: block;
    font-size: 1.2rem;
  }
  .officer-layout .officer_button {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    min-height: 100%;
    z-index: 2;
  }
  .officer-layout .officer_button > li {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .officer-layout .officer_button > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    text-decoration: none;
  }
  .officer-layout .officer_button > li > a > span {
    font-size: 1.8rem;
    font-weight: bold;
  }
  .officer-layout .officer_button > li > a > span::before,
  .officer-layout .officer_button > li > a > span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 16px;
    height: 2px;
    background: #fff;
    transform: translateY(-50%);
  }
  .officer-layout .officer_button > li > a > span::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .officer-layout .officer_button > li.type-close {
    opacity: 0;
  }
  .officer-layout .officer_button > li.type-close > a {
    position: relative;
    background-color: #edf4fb;
  }
  .officer-layout .officer_button > li.type-close > a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -16px;
    left: 0;
    width: 100%;
    height: 16px;
    background: #edf4fb;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.2);
    opacity: 1;
    z-index: 3;
    cursor: default;
  }
  .officer-layout .officer_button > li.type-close > a > span::before,
  .officer-layout .officer_button > li.type-close > a > span::after {
    background: #005aaa;
  }
  .officer-layout .officer_button > li.type-close > a > span::before {
    border-top-color: #e60012;
    border-right-color: #e60012;
  }
  .officer-layout .officer_button > li.type-close > a > span::after {
    transform: translateY(-50%) rotate(0);
  }
  .officer-layout .officer_button > li.type-open > a {
    position: relative;
    background-color: rgba(0,90,170,.95);
    color: #fff;
  }
  .officer-layout .officer_button > li.type-open > a > span::before {
    border-top-color: #fff;
    border-right-color: #fff;
  }
  .officer-layout .officer_table {
    width: 100%;
  }
  .officer-layout .officer_table > * > tr > * {
    padding: 11px 0;
    border-bottom: 1px solid #e1e2e3;
    vertical-align: top;
    text-align: left;
  }
  .officer-layout .officer_table > * > tr:last-child > * {
    border-bottom: none;
  }
  .officer-layout .officer_table > tbody > tr > th {
    padding-left: 17px;
    padding-right: 18px;
    font-weight: normal;
    white-space: nowrap;
  }
  .officer-layout .officer_table > tbody > tr > td {
    width: 99%;
    padding-right: 17px;
  }
  .officer-layout .officer_column {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    z-index: 2;
  }
  .officer-layout .officer_column > .column_item {
    overflow: hidden;
    width: calc((100% - 35px * 4) / 5);
    margin: 0 35px 0 0;
    background-color: #fff;
    box-sizing: border-box;
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,.2);
  }
  /* for IE11 */
  [data-browser="ie11"] .officer-layout .officer_column > .column_item {
    width: calc(((100% - 35px * 4) / 5) - 0.1px);
  }
  /* for Edge */
  [data-browser="edge"] .officer-layout .officer_column > .column_item {
    width: calc(((100% - 35px * 4) / 5) - 0.1px);
  }
  .officer-layout .officer_column > .column_item:last-child {
    margin-right: 0;
  }
  .officer-layout .officer_column_2 > .column_text {
    position: relative;
    padding: 19px 36px 19px 15px;
    box-sizing: border-box;
    cursor: pointer;
  }
  .officer-layout .officer_column_2 > .column_text::before,
  .officer-layout .officer_column_2 > .column_text::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 16px;
    height: 2px;
    background: #005aaa;
    transform: translateY(-50%);
  }
  .officer-layout .officer_column_2 > .column_text::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .officer-layout .officer_column_2 > .column_text p.list.list-note{
    font-size: 1.2rem;
    margin-bottom:0;
    padding-left: 0;
    position:absolute;
    bottom:2px;
  }
  .officer-layout .officer_column_2 > .column_image > .officer_image {
    margin: 0;
  }
  .officer-layout .officer_column_2 > .column_image > .officer_image > img {
    width: 100%;
  }
  .officer-layout .officer_column_3 {
    padding: 30px 25px;
    border: 1px solid #e1e2e3;
    background: #fff;
  }
  .officer-layout .officer_column_3 .column_inner {
    display: flex;
    justify-content: flex-start;
  }
  .officer-layout .officer_column_3 .column_text, .officer-layout .officer_column_3 .column_image {
    width: calc((100% - 32px)/3);
  }
  .officer-layout .officer_column_3 .column_text > :last-child, .officer-layout .officer_column_3 .column_image > :last-child {
    margin-bottom: 0;
  }
  .officer-layout .officer_column_3 .column_text p.list.list-note{
    font-size: 1.2rem;
    padding-left: 0;
  }
  .officer-layout .officer_toggle {
    overflow: visible;
    height: 0;
    position: relative;
    margin: 16px 0 0;
    padding: 0;
    z-index: 1;
  }
  .officer-layout.is-open .officer_toggle {
  }
  .officer-layout .officer_frame {
    margin: 0;
    padding: 0;
    background-color: #edf4fb;
    border-right: none;
    border-left: none;
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,.2);
  }
  .officer-layout.is-open .officer_frame {
    padding: 32px;
  }
  .officer-layout .officer_frame .officer_text {
    margin-bottom: 25px;
  }
  .officer-layout .officer_frame .officer_text > dt {
    font-size: 1.6rem;
  }
  .officer-layout .officer_frame .officer_text > dd {
    margin-top: 5px;
    padding-right: 0;
    display: flex;
    align-items: baseline;
  }
  .officer-layout .officer_frame .officer_text > dd > .text_name {
    font-size: 2.4rem;
    line-height: 1.1;
  }
  .officer-layout .officer_frame .officer_text > dd > .text_kana {
    padding: 0 0 0 1.1em;
    font-size: 1.4rem;
  }
  .officer-layout .officer_column > .column_item.is-current {
    border-bottom-color: #f7f7fa;
    overflow: visible;
  }
  .officer-layout .officer_column > .column_item.is-active .officer_button,
  .officer-layout .officer_column > .column_item.is-current .officer_button {
    top: 0;
  }
  .officer-layout .officer_column > .column_item.is-current .officer_button > li.type-open {
    opacity: 0;
    z-index: 1;
  }
  .officer-layout .officer_column > .column_item.is-current .officer_button > li.type-close {
    opacity: 1;
    z-index: 2;
  }
  .officer-layout .officer_column > .column_item.is-current .officer_button::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -21px;
    left: 0;
    width: 100%;
    height: 26px;
    background: #edf4fb;
    opacity: 1;
    z-index: 3;
    cursor: default;
  }
  .officer-layout.type-4col .officer_column > .column_item {
    width: calc((100% - 35px * 3) / 4);
  }

  .table th.table-tbcolor-lv2 .list.list-note {
    font-weight: normal;
    font-size: 1.2rem;
    margin-bottom: 0;
  }

  /* ----- sponsorship-layout ----- */
  .sponsorship-layout {
    margin: 0 0 3.2rem;
  }
  .sponsorship-layout .sponsorship_text > dt {
    font-size: 1.4rem;
  }
  .sponsorship-layout .sponsorship_text > dd {
    margin: 0 0 0;
    padding: 0 14px 0 0;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .sponsorship-layout .sponsorship_text > dd > .text_kana {
    display: block;
    font-size: 1.2rem;
  }
  .sponsorship-layout .sponsorship_button {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    min-height: 100%;
    z-index: 2;
  }
  .sponsorship-layout .sponsorship_button > li {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sponsorship-layout .sponsorship_button > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100%;
    text-decoration: none;
  }
  .sponsorship-layout .sponsorship_button > li > a > span {
    font-size: 1.8rem;
    font-weight: bold;
  }
  .sponsorship-layout .sponsorship_button > li > a > span::before,
  .sponsorship-layout .sponsorship_button > li > a > span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 16px;
    height: 2px;
    background: #fff;
    transform: translateY(-50%);
  }
  .sponsorship-layout .sponsorship_button > li > a > span::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .sponsorship-layout .sponsorship_button > li.type-close {
    opacity: 0;
  }
  .sponsorship-layout .sponsorship_button > li.type-close > a {
    position: relative;
    background-color: #edf4fb;
  }
  .sponsorship-layout .sponsorship_button > li.type-close > a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -16px;
    left: 0;
    width: 100%;
    height: 16px;
    background: #edf4fb;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.2);
    opacity: 1;
    z-index: 3;
    cursor: default;
  }
  .sponsorship-layout .sponsorship_button > li.type-close > a > span::before,
  .sponsorship-layout .sponsorship_button > li.type-close > a > span::after {
    background: #005aaa;
  }
  .sponsorship-layout .sponsorship_button > li.type-close > a > span::before {
    border-top-color: #e60012;
    border-right-color: #e60012;
  }
  .sponsorship-layout .sponsorship_button > li.type-close > a > span::after {
    transform: translateY(-50%) rotate(0);
  }
  .sponsorship-layout .sponsorship_button > li.type-open > a {
    position: relative;
    background-color: rgba(0,90,170,.95);
    color: #fff;
  }
  .sponsorship-layout .sponsorship_button > li.type-open > a > span::before {
    border-top-color: #fff;
    border-right-color: #fff;
  }
  .sponsorship-layout .sponsorship_table {
    width: 100%;
  }
  .sponsorship-layout .sponsorship_table > * > tr > * {
    padding: 11px 0;
    border-bottom: 1px solid #e1e2e3;
    vertical-align: top;
    text-align: left;
  }
  .sponsorship-layout .sponsorship_table > * > tr:last-child > * {
    border-bottom: none;
  }
  .sponsorship-layout .sponsorship_table > tbody > tr > th {
    padding-left: 17px;
    padding-right: 18px;
    font-weight: normal;
    white-space: nowrap;
  }
  .sponsorship-layout .sponsorship_table > tbody > tr > td {
    width: 99%;
    padding-right: 17px;
  }
  .sponsorship-layout .sponsorship_column {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 215px;
    z-index: 2;
  }
  .sponsorship-layout .sponsorship_column > .column_item {
    overflow: hidden;
    width: calc((100% - 35px * 4) / 5);
    margin: 0;
    background-color: #fff;
    box-sizing: border-box;
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,.2);
  }
  /* for IE11 */
  [data-browser="ie11"] .sponsorship-layout .sponsorship_column > .column_item {
    width: calc(((100% - 35px * 4) / 5) - 0.1px);
  }
  /* for Edge */
  [data-browser="edge"] .sponsorship-layout .sponsorship_column > .column_item {
    width: calc(((100% - 35px * 4) / 5) - 0.1px);
  }
  .sponsorship-layout .sponsorship_column > .column_item:last-child {
    margin-right: 0;
  }
  .sponsorship-layout .sponsorship_column_2 > .column_text {
    position: relative;
    padding: 19px 36px 19px 15px;
    box-sizing: border-box;
    cursor: pointer;
  }
  .sponsorship-layout .sponsorship_column_2 > .column_text::before,
  .sponsorship-layout .sponsorship_column_2 > .column_text::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 16px;
    height: 2px;
    background: #005aaa;
    transform: translateY(-50%);
  }
  .sponsorship-layout .sponsorship_column_2 > .column_text::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .sponsorship-layout .sponsorship_column_2 > .column_image > .sponsorship_image {
    margin: 0;
  }
  .sponsorship-layout .sponsorship_column_2 > .column_image > .sponsorship_image > img {
    width: 100%;
  }
  .sponsorship-layout .sponsorship_column_2 > .column_image:has(.column_image_credit) {
    position: relative;
  }
  .sponsorship-layout .sponsorship_column_2 > .column_image .column_image_credit {
    position: absolute;
    right: 10px;
    bottom: 5px;
    color: #fff;
    font-size: 1.0rem;
  }
  .sponsorship-layout .sponsorship_column_3 {
    padding: 30px 25px;
    border: 1px solid #e1e2e3;
    background: #fff;
  }
  .sponsorship-layout .sponsorship_column_3 .column_inner {
    display: flex;
    justify-content: flex-start;
  }
  .sponsorship-layout .sponsorship_column_3 .column_text, .sponsorship-layout .sponsorship_column_3 .column_image {
    width: calc((100% - 32px)/3);
  }
  .sponsorship-layout .sponsorship_column_3 .column_text > :last-child, .sponsorship-layout .sponsorship_column_3 .column_image > :last-child {
    margin-bottom: 0;
  }
  .sponsorship-layout .sponsorship_column_3 .column_image:has(.column_image_credit) {
    position: relative;
  }
  .sponsorship-layout .sponsorship_column_3 .column_image .column_image_credit {
    position: absolute;
    right: 40px;
    bottom: 20px;
    color: #fff;
    font-size: 1.0rem;
  }
  .sponsorship-layout .sponsorship_toggle {
    overflow: visible;
    height: 0;
    position: relative;
    margin: 16px 0 0;
    padding: 0;
    z-index: 1;
  }
  .sponsorship-layout.is-open .sponsorship_toggle {
  }
  .sponsorship-layout .sponsorship_frame {
    margin: 0;
    padding: 0;
    background-color: #edf4fb;
    border-right: none;
    border-left: none;
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,.2);
  }
  .sponsorship-layout.is-open .sponsorship_frame {
    padding: 32px;
  }
  .sponsorship-layout .sponsorship_frame .sponsorship_text {
    margin-bottom: 25px;
  }
  .sponsorship-layout .sponsorship_frame .sponsorship_text > dt {
    font-size: 1.6rem;
  }
  .sponsorship-layout .sponsorship_frame .sponsorship_text > dd {
    margin-top: 5px;
    padding-right: 0;
    display: flex;
    align-items: baseline;
  }
  .sponsorship-layout .sponsorship_frame .sponsorship_text > dd > .text_name {
    font-size: 2.4rem;
    line-height: 1.1;
  }
  .sponsorship-layout .sponsorship_frame .sponsorship_text > dd > .text_kana {
    padding: 0 0 0 1.1em;
    font-size: 1.4rem;
  }
  .sponsorship-layout .sponsorship_column > .column_item.is-current {
    border-bottom-color: #f7f7fa;
    overflow: visible;
  }
  .sponsorship-layout .sponsorship_column > .column_item.is-active .sponsorship_button,
  .sponsorship-layout .sponsorship_column > .column_item.is-current .sponsorship_button {
    top: 0;
  }
  .sponsorship-layout .sponsorship_column > .column_item.is-current .sponsorship_button > li.type-open {
    opacity: 0;
    z-index: 1;
  }
  .sponsorship-layout .sponsorship_column > .column_item.is-current .sponsorship_button > li.type-close {
    opacity: 1;
    z-index: 2;
  }
  .sponsorship-layout .sponsorship_column > .column_item.is-current .sponsorship_button::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -21px;
    left: 0;
    width: 100%;
    height: 26px;
    background: #edf4fb;
    opacity: 1;
    z-index: 3;
    cursor: default;
  }
  .sponsorship-layout.type-4col .sponsorship_column > .column_item {
    width: calc((100% - 35px * 3) / 4);
  }
  .sponsorship-layout .sponsorship-media {
    margin-bottom: 1.9rem;
  }
  .sponsorship-layout .sponsorship-media_inner {
    display: flex;
    align-items: flex-start;
    color: #545454;
  }
  .sponsorship-layout .sponsorship-media__elm > *:last-child {
    margin-bottom: 0;
  }
  .sponsorship-layout .sponsorship-media__elm + .sponsorship-media__elm {
    margin-left: 3.6rem;
  }
  
  /* ----- contact-layout ----- */
  .contact-layout {
    width: 100%;
    margin-bottom: 32px;
  }
  .contact-layout .contact_wrap {
    width: 786px;
    margin: 0 auto;
    border: 1px solid #13a7eb;
  }
  .contact-layout.type2 .contact_wrap {
    width: 640px;
  }
  .contact-layout .contact_heading {
    padding: 16px 15px 16px;
    background: #13a7eb;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
  }
  .contact-layout .contact_detail {
    padding: 20px 14px;
    text-align: center;
  }
  .contact-layout .contact_detail > :last-child {
    margin-bottom: 0!important;
  }
  .contact-layout .contact_item {
    margin-bottom: 25px;
  }
  .contact-layout .contact_item > :last-child {
    margin-bottom: 0!important;
  }
  .contact-layout .item_heading {
    margin-bottom: 1.2rem;
    font-size: 1.8rem;
    font-weight: bold;
  }
  [class*="number-layout"] {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-bottom: 2.1rem;
  }
  [class*="number-layout"] .number_text {
    position: relative;
    display: inline-block;
    margin-top: 1.2rem;
    padding-left: 48px;
  }
  [class*="number-layout"] .number_text.type-tel {
    background: url(/common_img/cmn_contact_ic01.png) no-repeat;
    background-size: 32px 29px;
    background-position: 0;
  }
  [class*="number-layout"] .number_text.type-fax {
    background: url(/common_img/cmn_contact_ic02.png) no-repeat;
    background-size: 32px 29px;
    background-position: 0;
  }
  [class*="number-layout"] .number_text:nth-of-type(even) {
    margin-left: 56px;
  }
  [class*="number-layout"] .number_text:nth-of-type(even)::before {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: -30px;
    width: 2px;
    height: 18px;
    background: #005aaa;
    -webkit-transform: skewX(-15.5deg);
    transform: skewX(-15.5deg);
  }
  [class*="number-layout"] .number_text:nth-of-type(-n+2) {
    margin-top: 0!important;
  }
  [class*="number-layout"] .number_text > .number {
    display: inline-block;
    color: #005aaa;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1;
  }
  .number-layout_v2 .number_text {
    padding-left: 32px;
  }
  .number-layout_v2 .number_text.type-tel,
  .number-layout_v2 .number_text.type-fax {
    background-size: 22px 20px;
  }
  .number-layout_v2 .number_text > .number {
    font-size: 1.8rem;
  }
  .address-layout {
    margin-bottom: 1.2rem;
    line-height: 1.375;
  }
  .address-layout .address_badge {
    margin-right: 17px;
    padding: 1px 13px 0;
    font-size: 1.4rem;
    border: 1px solid #e1e2e3;
    border-radius: 9999px;
  }
  .address-layout .address_zip {
    margin-right: 1.3rem;
  }
  
  
  /* ----- agreement-layout ----- */
  .agreement-layout {
    border: 1px solid #e1e2e3;
  }
  .agreement-box {
    padding: 35px;
  }
  .agreement-box > *:last-child {
    margin-bottom: 0;
  }
  .agreement-check-wrap > label {
    width: 100%;
    margin-bottom: 0;
    padding: 30px;
    background: #f6f6f6;
    text-align: center;
    cursor: pointer;
  }
  .agreement-check-wrap > label:hover {
    background: #f9f9f9;
  }
  .agreement-check-wrap > input {
    display: none;
  }
  .agreement-check-wrap > label > .label-inner {
    position: relative;
    margin-bottom: 0;
    padding-left: 32px;
    color: #333;
    font-size: 2rem;
    font-weight: bold;
    cursor: pointer;
  }
  .agreement-check-wrap > label > .label-inner::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 10px);
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #ddd;
    background: #fff;
  }
  .agreement-check-wrap > label > .label-inner::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    left: 4px;
    width: 12px;
    height: 12px;
    background: #005aaa;
    opacity: 0;
  }
  .agreement-check-wrap > input:checked + label > .label-inner::after {
    opacity: 1;
  }
  /* ----- agreement-submit-wrap ----- */
  .agreement-submit-wrap {
    margin-top: 64px;
    text-align: center;
  }
  /* ----- agreement-submit-button ----- */
  .agreement-submit-button  {
    font-size: 0;
  }
  .agreement-submit-button > .agreement-submit-button__disable,
  .agreement-submit-button > button {
    display: inline-block;
    min-width: 445px;
    padding: 18px 45px;
    border-radius: 35px;
    font-size: 2rem;
    font-weight: bold;
    overflow: hidden;
  }
  .agreement-submit-button.js-agreement-submit__confirm {
    display: none;
  }
  .agreement-submit-button > .agreement-submit-button__disable {
    border: 2px solid #e60020;
    background-color: #fff0f2;
    color: #e60020;
  }
  .agreement-submit-button > .agreement-submit-button__disable .agreement-submit-button__label {
    display: inline-block;
    position: relative;
    padding-left: 30px;
  }
  .agreement-submit-button > .agreement-submit-button__disable .agreement-submit-button__label::before {
    position: absolute;
    top: 50%;
    left: 0;
    height: 21px;
    width: 23px;
    margin-top: -12px;
    background: url(/common_img/cmn_caution_ic01.png) no-repeat 0 0;
    content: "";
  }
  .agreement-submit-button > button {
    border: 2px solid #005aaa;
    background-color: #005aaa;
    color: #fff;
    box-shadow: 0 1px 1px -1px rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.1), 0 0 5px 0 rgba(0,0,0,.08);
    -webkit-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
  }
  .agreement-submit-button > button:hover {
    background-color: #fff;
    color: #005aaa;
  }

    /* ----- video-wrap ----- */
  .video-wrap {
    width: 900px;
    margin: auto;
  }
  
  /* ----- search-input-layout ----- */
  .search-input-layout {
    background-color: #f6f6f6;
    margin: 30px auto;
    padding: 48px 18px;
  }
  .search-input-layout .search_input {
    position: relative;
    width: 1000px;
    margin: 0 auto;
  }
  .search-input-layout .search_input input[type="text"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 56px;
    padding: 14px 70px 12px 33px;
    border: none;
    border-radius: 9999px;
    background: #fff;
    box-shadow:0px 1px 0px 1px rgba(0,0,0,0.2) inset;
    outline: none;
    color: #777;
    font-size: 1.6rem;
  }
  .search-input-layout .search_input input[type="submit"] {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 50%;
    right: 33px;
    width: 21px;
    height: 21px;
    padding: 0;
    border: none;
    background: url(/common_img/cmn_search_ic01.png) no-repeat;
    background-size: cover;
    box-shadow: none;
    outline: none;
    text-indent: -9999px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
  }
  
  /* ----- gdpr-layout ----- */
  .gdpr-layout {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #edf4fb;
    padding: 20px 48px 25px;
    box-shadow: 0 -2px 5px 0 rgba(0,0,0,0.2);
    z-index: 1000;
  }
  .gdpr-layout .gdpr_title {
    color: #545454;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .gdpr-layout .gdpr_content {
    display: flex;
    flex-flow: row nowrap;
    margin-top: 1.5rem;
  }
  .gdpr-layout .gdpr_content .gdpr_left {
    width: 100%;
  }
  .gdpr-layout .gdpr_content .gdpr_right {
    flex-shrink: 0;
    margin-left: 36px;
  }
  .gdpr-layout .gdpr_content .gdpr_right .btn {
    width: 130px;
    padding-left: 0;
    padding-right: 0;
    background-color: #fff;
  }
  .gdpr-layout .gdpr_content .gdpr_right .btn span {
    text-align: center;
  }
  .gdpr-layout .gdpr_content > *:first-child,
  .gdpr-layout .gdpr_content .gdpr_left > *:first-child,
  .gdpr-layout .gdpr_content .gdpr_right > *:first-child {
    margin-top: 0 !important;
  }
  .gdpr-layout .gdpr_content > *:last-child,
  .gdpr-layout .gdpr_content .gdpr_left > *:last-child,
  .gdpr-layout .gdpr_content .gdpr_right > *:last-child {
    margin-bottom: 0 !important;
  }
  .gdpr-layout .gdpr_text {
    color: #545454;
    font-size: 1.3rem;
  }
  /* ----- footer-pagetop ----- */
  .footer-pagetop {
    position: fixed;
    top: 50%;
    right: 29px;
    margin-top: -35px;
    z-index: 998;
  }
  .footer-pagetop > a {
    display: block;
    position: relative;
    width: 69px;
    height: 69px;
    overflow: hidden;
    border: 2px solid #005aaa;
    background-color: #005aaa;
    line-height: 0;
    text-indent: -9999px;
    white-space: nowrap;
    transition: all .3s;
  }
  .footer-pagetop > a:hover {
    background-color: #fff;
  }
  .footer-pagetop > a::before,
  .footer-pagetop > a::after {
    display: block;
    position: absolute;
    top: 21px;
    width: 2px;
    height: 24px;
    background-color: #fff;
    content: '';
  }
  .footer-pagetop > a::before {
    left: 50%;
    margin-left: -10px;
    transform: rotateZ(50deg);
  }
  .footer-pagetop > a::after {
    right: 50%;
    margin-right: -10px;
    transform: rotateZ(-50deg);
  }
  .footer-pagetop > a:hover::before,
  .footer-pagetop > a:hover::after {
    background-color: #005aaa;
  }
  
  /* ----- movie-area ----- */
  .movie-area{
    position: relative;
    width: 100%;
    margin: 0 auto;
  }
  .movie-area a{
    position: absolute;
    bottom: -76px;
    right: 50px;
  }
  .movie-area img{
    width: 250px;
  }
  /* ----- menu-megadrop ----- */
  .menu-megadrop .megadrop_column_layout>.megadrop_column_item.type2{
    margin-top: .75em;
  }
  .menu-megadrop .megadrop_heading{
    width: 22%;
    padding: 5px 36px 5px 0;
    border-right: 1px solid #fff;
  }
  .menu-megadrop .megadrop_content{
    width: 78%;
    padding: 5px 0 5px 36px;
  }
  /* ----- add-bg-heading1 ----- */
  .add-bg-heading1 {
    position: relative;
  }
  .add-bg-heading1__wrap {
    position: absolute;
    top: 34%;
    left: 18.9%;
    z-index: 1;
  }
  .add-bg-heading1__title {
    margin: 0;
  }
  .add-bg-heading1__text {
    margin: 20px 0 0 0;
  }
  .add-bg-heading1__image > img {
    width: 100%;
    height: 350px;
    object-fit: cover;
  }
  /* ----- add-heading-lv4 ----- */
  .add-heading-lv4 {
    position: relative;
    margin: 2.88rem 0 1.92rem;
  }
  .add-heading-lv4 > h4 {
    position: relative;
    display: block;
    margin: 0;
    padding-left: 2.34rem;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
  }
  .add-heading-lv4 .add-heading__shoulder {
    display: block;
    margin-bottom: .6rem;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.3;
  }
  .add-heading-lv4::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 4px;
    width: 4px;
    height: 100%;
    background: #13a7eb;
    transform: skewX(-10.5deg);
    -webkit-transform: skewX(-10.5deg);
  }
  /* ----- add-box ----- */
  .add-box {
    margin-top: 3.9rem;
    border: 1px solid #e1e2e3;
  }
  .add-box .add-box__head {
    padding: 1.8rem 3rem;
    background-color: #edf4fb;
    color: #545454;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.7;
  }
  .add-box .add-box__body {
    padding: 2.6rem 3rem;
  }
  .add-box .add-box__body > *:first-child {
    margin-top: 0!important;
  }
  .add-box .add-box__item + .add-box__item {
    margin-top: 1.6rem;
    padding-top: 1.9rem;
    border-top: 1px solid #e1e2e3;
  }
/* ----- add-box-v2 ----- */
  .add-box-v2 {
    margin-top: 3.9rem;
    border: 1px solid #e1e2e3;
  }
  .add-box-v2 .add-box-v2__head {
    padding: 1.8rem 3rem;
    background-color: #edf4fb;
    color: #545454;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.7;
  }
  .add-box-v2 .add-box-v2__body {
    padding: 2.6rem 3rem;
  }
  .add-box-v2 .add-box-v2__body > *:first-child {
    margin-top: 0!important;
  }
  .add-box-v2 .add-box-v2__item + .add-box-v2__item {
    margin-top: 1.9rem;
    padding-top: 1.9rem;
    border-top: 1px solid #e1e2e3;
  }
  /* ----- add-media ----- */
  .add-media {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  }
  .add-media .add-media__image {
    max-width: 200px;
  }
  .add-media .add-media__frame img {
    width: 100%;
    height: auto;
  }
  .add-media .add-media__body {
    flex: 1;
    margin-left: 20px;
  }
  .add-media .add-media__type--blank:hover,
  .add-media .add-media__type:hover {
    text-decoration: underline;
  }
  .add-media .add-media__type--blank {
    display: inline-block;
    position: relative;
    padding-right: 2.5rem;
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .add-media .add-media__type--blank:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 16px;
    margin-top: -9px;
    margin-left: 0;
    background: url(/common_img/cmn_blank_ic01.png) no-repeat;
    background-size: cover;
    content: ""
  }
  .add-media .add-media__head__link {
    display: block;
  }
  .add-media .add-media__text {
    margin-top: 1rem;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
}


/* ======================================================
 * PC Media Queries
====================================================== */
@media screen and (min-width: 1921px) {
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
}
@media screen and (min-width: 768px) and (max-width: 1536px) {
}
@media screen and (min-width: 768px) and (max-width: 1480px) {
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
}
@media screen and (min-width: 768px) and (max-width: 1112px) {
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 768px) and (max-width: 960px) {
  .officer-layout .officer_button > li > a {
    justify-content: left;
    padding-left: 15px;
  }
  .sponsorship-layout .sponsorship_button > li > a {
    justify-content: left;
    padding-left: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 896px) {
  .officer-layout .officer_button > li > a > span {
    font-size: 1.4rem;
  }
  .sponsorship-layout .sponsorship_button > li > a > span {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 834px) {
}
@media screen and (min-width: 768px) and (max-width: 812px) {
  .officer-layout .officer_button > li > a > span {
    font-size: 1.3rem;
  }
  .sponsorship-layout .sponsorship_button > li > a > span {
    font-size: 1.3rem;
  }
}

/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  
  .header-identity{
    width: 67px;
    left: 57%;
  }
  .header-identity .identity_logo a .logo_main{
    max-width: 100%;
  }
  .footer-identity{
    width: 100px;
  }
  
  .list > li .row [class*=col-md-] {
    padding-right: 1.4rem;
  }
  
  .table th.table-tbcolor-lv2 .list.list-note {
    font-weight: normal;
    font-size: 1.0rem;
    margin-bottom: 0;
  }
  
  /* ------------------------------------------------------
   * General Purpose
  ------------------------------------------------------ */
  /* ----- device ----- */
  .sp-hidden {
    display: none !important;
  }
  
  /* ------------------------------------------------------
   * Parts
  ------------------------------------------------------ */
  /* ----- inline-img ----- */
  .inline-img {
    display: inline-block;
    margin: 0 3px;
    vertical-align: baseline;
  }
  
  .inline-img > img {
    vertical-align: baseline;
  }
  
  /* ----- heading__tag ----- */
  .heading-lv1 .heading__tag {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-top: 0.1rem;
    font-size: 0;
  }
  .heading-lv1 .heading__tag > i {
    display: inline-block;
    margin: 7px 7px 0 0;
    padding: 3px 6px 2px;
    border: 1px solid #e1e2e3;
    background: #fff;
    font-size: 1.1rem;
    font-weight: bold;
    font-style: normal;
  }
  .heading-lv1 .heading__tag > i:last-child {
    margin-right: 0;
  }
  
  /* ----- label-icon ----- */
  .heading-lv1 .heading__label .label-icon {
    display: inline-block;
    position: relative;
    margin-bottom: 4px;
    margin-left: 1.2rem;
    padding: 5px 7px 4px;
    background: #005aaa;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    font-style: normal;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
  }
  .heading-lv1 .heading__label .label-icon::before,
  .heading-lv1 .heading__label .label-icon::after {
    content: "";
    display: block;
    position: absolute;
    border-style: solid;
    border-width: 0 0 22px 5px;
    border-color: transparent transparent #005aaa;
  }
  .heading-lv1 .heading__label .label-icon:before {
    bottom: 0;
    left: -5px;
  }
  .heading-lv1 .heading__label .label-icon:after {
    top: 0;
    right: -5px;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }
  
  /* ----- history-table-column ----- */
  .history-table-column .history_item {
    display: -webkit-flex;
    display: flex;
    position: relative;
  }
  .history-table-column .history_item + .history_item {
    margin-top: 1.64em;
    padding-top: 1.64em;
  }
  .history-table-column .history_item + .history_item::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #e1e2e3;
  }
  .history-table-column .history_month {
    width: 3em;
    margin-right: 17px;
    font-weight: bold;
    text-align: right;
  }
  .history-table-column .history_month + .history_detail {
    width: calc(100% - (3em + 17px));
  }
  .history-table-column .history_detail {
    width: 100%;
  }

  /* ----- history-accordion-layout ----- */
  .history-accordion-layout {
  }
  .history-accordion-layout .accordion_detail {
    position: relative;
    padding: 1.64em 0;
  }
  .history-accordion-layout .accordion_detail::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #e1e2e3;
  }
  .history-accordion-layout .accordion_detail > :last-child {
    margin-bottom: 0;
  }
  .history-accordion-layout .accordion_trigger {
    display: inline-block;
    border-radius: 9999px;
  }
  .history-accordion-layout .accordion_trigger .accordion_label {
    display: block;
    position: relative;
    padding: 14px 29px 13px 46px;
    border: 1px solid #005aaa;
    border-radius: 9999px;
    background: #005aaa;
    color: #fff;
  }
  .history-accordion-layout .accordion_trigger .accordion_label::before,
  .history-accordion-layout .accordion_trigger .accordion_label::after {
    content: "";
    display: block;
    position: absolute;
    top: 23px;
    left: 27px;
    width: 13px;
    height: 2px;
    background: #fff;
  }
  .history-accordion-layout .accordion_trigger .accordion_label::after {
    transform: rotate(90deg);
  }
  .history-accordion-layout .accordion_trigger.active .accordion_label {
    background: #fff;
    color: #005aaa;
  }
  .history-accordion-layout .accordion_trigger.active .accordion_label::before,
  .history-accordion-layout .accordion_trigger.active .accordion_label::after {
    background: #005aaa;
  }
  .history-accordion-layout .accordion_trigger.active .accordion_label::after {
    transform: rotate(0);
  }
  .history-accordion-layout .accordion_trigger .accordion_label:hover {
    box-shadow: 0 3px 3px -2px rgba(0,0,0,.14), 0 3px 4px 0 rgba(0,0,0,.14), 0 1px 8px 0 rgba(0,0,0,.12);
  }
  
  /* ----- button contact ----- */
  .btn-primary.link.link-contact .btn__label::after {
    content: "";
    display: inline-block;
    width: 19.5px;
    height: 14px;
    margin-left: 11px;
    background: url(/common_img/cmn_contact_ic03.png) no-repeat;
    background-size: cover;
    vertical-align: middle;
  }
  .btn-primary.link.link-contact:hover .btn__label::after {
    background-image: url(/common_img/cmn_contact_ic04.png);
  }
  
  /* ----- link-back ----- */
  .btn-outline-primary.link-back {
    -webkit-justify-content: center;
    justify-content: center;
    min-width: 290px;
    padding: 1.7rem 2.8rem;
    box-shadow: 0 1px 1px -1px rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.1), 0 0 5px 0 rgba(0,0,0,.08);
    color: #333;
    font-size: 1.6rem;
    font-weight: bold;
    border: none;
    text-align: center;
  }
  .btn-outline-primary.link-back::before {
    background-color: #edf4fb;
  }
  .btn-outline-primary.link-back span {
    display: inline-block;
    position: relative;
    width: auto;
    padding-left: 27px;
    color: #333;
  }
  .btn-outline-primary.link-back span::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 19px;
    height: 15px;
    margin-top: -9px;
    background: url(/common_img/cmn_back_ic01-r2x.png) no-repeat 0 0;
    -webkit-background-size: 19px 15px;
    background-size: 19px 15px;
    content: "";
  }
  
  /* ----- button nolink ----- */
  .btn-nolink {
    box-sizing: border-box;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.3rem;
    padding: 1.4rem 2.8rem;
    padding: 1.504rem 3.6rem;
    overflow: hidden;
    font-size: 1.4rem;
    z-index: 1;
    border: 1px solid transparent;
    border-radius: 9999px;
    box-shadow: 0 3px 1px -2px rgb(0 0 0 / 14%), 0 2px 2px 0 rgb(0 0 0 / 14%), 0 1px 5px 0 rgb(0 0 0 / 12%);
    color: #fff!important;
    font-weight: 400;
  }
  .btn-nolink-primary {
    border-color: #005aaa;
    background-color: #005aaa;
    color: #fff;
  }
  
  /* ----- officer-layout ----- */
  .officer-layout:last-child {
    margin: 0 0 32px;
  }
  .officer-layout + .officer-layout,
  .officer-layout .officer_column > .column_item {
    margin-top: 21px !important;
  }
  .officer-layout .officer_column > .column_item {
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,.2);
  }
  .officer-layout .officer_column > .column_item:first-child {
    margin-top: 0 !important;
  }
  .officer-layout .officer_column_2 {
    position: relative;
    display: flex;
    align-items: center;
  }
  .officer-layout .officer_column_2::before,
  .officer-layout .officer_column_2::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 14px;
    width: 16px;
    height: 2px;
    background-color: #005aaa;
    transform: translateY(-50%);
  }
  .officer-layout .officer_column_2::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .officer-layout .officer_column_2 > .column_image {
    white-space: nowrap;
  }
  .officer-layout .officer_column_2 > .column_image > .officer_image {
    margin: 0;
  }
  .officer-layout .officer_column_2 > .column_text {
    flex: 1;
    padding: 20px 38px 20px 14px;
  }
  .officer-layout .officer_column_2 > .column_text p.list.list-note{
    font-size: 1.0rem;
    margin-bottom: 0;
    padding-left: 0;
  }
  .officer-layout .officer_column_3 {
    padding: 21px 14px;
  }
  .officer-layout .officer_column_2.no-image + .officer_column_3 {
    padding: 0 14px 21px;
  }
  .officer-layout .officer_column_3 > .column_inner {
    padding: 20px 14px;
    border: 1px solid #e1e2e3;
    background: #fff;
  }
  .officer-layout .officer_column_3 > .column_inner :last-child {
    margin-bottom: 0!important;
  }
  .officer-layout .officer_column_3 .column_text, .officer-layout .officer_column_3 .column_image {
    margin-bottom: 2.1rem;
  }
  .officer-layout .officer_column_3 .column_text > :last-child, .officer-layout .officer_column_3 .column_image > :last-child {
    margin-bottom: 0;
  }
  .officer-layout .officer_text > dt {
    font-size: 1.0rem;
  }
  .officer-layout .officer_text > dd {
    margin: 4px 0 0;
  }
  .officer-layout .officer_text > dd > .text_name {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
  }
  .officer-layout .officer_text > dd > .text_kana {
    display: block;
    font-size: 1.0rem;
  }
  .officer-layout .officer_button {
    display: none;
  }
  .officer-layout .officer_image img {
    max-width: 143px;
  }
  .officer-layout .officer_table {
    width: 100%;
  }
  .officer-layout .officer_table > * > tr > * {
    display: block;
    width: 100%!important;
    text-align: left;
    vertical-align: top;
  }
  .officer-layout .officer_table > * > tr:last-child > * {
    border-bottom: none;
  }
  .officer-layout .officer_table > tbody > tr > th {
    font-weight: normal;
    white-space: nowrap;
  }
  .officer-layout .officer_table > tbody > tr > td {
    width: 99%;
    margin-top: 2px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e1e2e3;
  }
  .officer-layout .officer_table > * > tr:last-child > td {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .officer-layout .officer_table > * > tr + tr > th {
    margin-top: 14px;
  }
  .officer-layout .officer_column > .column_item.is-active {
    background-color: #edf4fb;
  }
  .officer-layout .officer_column > .column_item.is-active .officer_column_2::after {
    transform: translateY(-50%) rotate(0);
  }

  /* ----- sponsorship-layout ----- */
  .sponsorship-layout:last-child {
    margin: 0 0 32px;
  }
  .sponsorship-layout + .sponsorship-layout,
  .sponsorship-layout .sponsorship_column > .column_item {
    margin-top: 21px !important;
  }
  .sponsorship-layout .sponsorship_column > .column_item {
    box-shadow: 0px 1px 4px 0px rgba(0,0,0,.2);
  }
  .sponsorship-layout .sponsorship_column > .column_item:first-child {
    margin-top: 0 !important;
  }
  .sponsorship-layout .sponsorship_column_2 {
    position: relative;
    display: flex;
    align-items: center;
  }
  .sponsorship-layout .sponsorship_column_2::before,
  .sponsorship-layout .sponsorship_column_2::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 14px;
    width: 16px;
    height: 2px;
    background-color: #005aaa;
    transform: translateY(-50%);
  }
  .sponsorship-layout .sponsorship_column_2::after {
    transform: translateY(-50%) rotate(90deg);
  }
  .sponsorship-layout .sponsorship_column_2 > .column_image {
    white-space: nowrap;
  }
  .sponsorship-layout .sponsorship_column_2 > .column_image > .sponsorship_image {
    margin: 0;
  }
  .sponsorship-layout .sponsorship_column_2 .column_image:has(.column_image_credit) {
    position: relative;
  }
  .sponsorship-layout .sponsorship_column_2 .column_image .column_image_credit {
    position: absolute;
    right: 5px;
    bottom: 2px;
    color: #fff;
    font-size: 0.9rem;
  }
  .sponsorship-layout .sponsorship_column_2 > .column_text {
    flex: 1;
    padding: 20px 38px 20px 14px;
  }
  .sponsorship-layout .sponsorship_column_3 {
    padding: 21px 14px;
  }
  .sponsorship-layout .sponsorship_column_2.no-image + .sponsorship_column_3 {
    padding: 0 14px 21px;
  }
  .sponsorship-layout .sponsorship_column_3 > .column_inner {
    padding: 20px 14px;
    border: 1px solid #e1e2e3;
    background: #fff;
  }
  .sponsorship-layout .sponsorship_column_3 > .column_inner :last-child {
    margin-bottom: 0!important;
  }
  .sponsorship-layout .sponsorship_column_3 .column_text, .sponsorship-layout .sponsorship_column_3 .column_image {
    margin-bottom: 2.1rem;
  }
  .sponsorship-layout .sponsorship_column_3 .column_text > :last-child, .sponsorship-layout .sponsorship_column_3 .column_image > :last-child {
    margin-bottom: 0;
  }
  .sponsorship-layout .sponsorship_column_3 .column_image:has(.column_image_credit) {
    position: relative;
  }
  .sponsorship-layout .sponsorship_column_3 .column_image .column_image_credit {
    position: absolute;
    right: 10px;
    bottom: 5px;
    font-size: 1.0rem;
  }
  .sponsorship-layout .sponsorship_text > dt {
    font-size: 1.0rem;
  }
  .sponsorship-layout .sponsorship_text > dd {
    margin: 4px 0 0;
  }
  .sponsorship-layout .sponsorship_text > dd > .text_name {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
  }
  .sponsorship-layout .sponsorship_text > dd > .text_kana {
    display: block;
    font-size: 1.0rem;
  }
  .sponsorship-layout .sponsorship_button {
    display: none;
  }
  .sponsorship-layout .sponsorship_image img {
    max-width: 143px;
  }
  .sponsorship-layout .sponsorship_table {
    width: 100%;
  }
  .sponsorship-layout .sponsorship_table > * > tr > * {
    display: block;
    width: 100%!important;
    text-align: left;
    vertical-align: top;
  }
  .sponsorship-layout .sponsorship_table > * > tr:last-child > * {
    border-bottom: none;
  }
  .sponsorship-layout .sponsorship_table > tbody > tr > th {
    font-weight: normal;
    white-space: nowrap;
  }
  .sponsorship-layout .sponsorship_table > tbody > tr > td {
    width: 99%;
    margin-top: 2px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e1e2e3;
  }
  .sponsorship-layout .sponsorship_table > * > tr:last-child > td {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .sponsorship-layout .sponsorship_table > * > tr + tr > th {
    margin-top: 14px;
  }
  .sponsorship-layout .sponsorship_column > .column_item.is-active {
    background-color: #edf4fb;
  }
  .sponsorship-layout .sponsorship_column > .column_item.is-active .sponsorship_column_2::after {
    transform: translateY(-50%) rotate(0);
  }
  .sponsorship-layout .sponsorship-media {
    margin-bottom: 1.3rem;
  }
  .sponsorship-layout .sponsorship-media_inner {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    color: #545454;
  }
  .sponsorship-layout .sponsorship-media_inner > * {
    flex-basis: 100%;
  }
  .sponsorship-layout .sponsorship-media__elm > *:last-child {
    margin-bottom: 0;
  }
  .sponsorship-layout .sponsorship-media__elm + .sponsorship-media__elm {
    margin-top: 1.178rem;
  }
  
  /* ----- contact-layout ----- */
  .contact-layout {
    width: 100%;
    margin-bottom: 2.1rem;
  }
  .contact-layout .contact_wrap {
    width: 100%;
    margin: 0 auto;
    border: 1px solid #13a7eb;
  }
  .contact-layout .contact_heading {
    padding: 10px;
    background: #13a7eb;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
  }
  .contact-layout .contact_detail {
    padding: 16px 12px;
    text-align: center;
  }
  .contact-layout .contact_detail > :last-child {
    margin-bottom: 0!important;
  }
  .contact-layout .contact_item {
    margin-bottom: 15px;
  }
  .contact-layout .contact_item > :last-child {
    margin-bottom: 0!important;
  }
  .contact-layout .item_heading {
    margin-bottom: 1.0rem;
    font-size: 1.4rem;
    font-weight: bold;
  }
  [class*="number-layout"] {
    margin-bottom: 2.0rem;
  }
  [class*="number-layout"] .number_text {
    position: relative;
    display: inline-block;
    margin-bottom: 1.0rem;
    padding-left: 43px;
  }
  [class*="number-layout"] .number_text:last-child {
    margin-bottom: 0;
  }
  [class*="number-layout"] .number_text.type-tel {
    background: url(/common_img/cmn_contact_ic01.png) no-repeat;
    background-size: 29px 26px;
    background-position: 0 0;
  }
  [class*="number-layout"] .number_text.type-fax {
    background: url(/common_img/cmn_contact_ic02.png) no-repeat;
    background-size: 29px 26px;
    background-position: 0 0;
  }
  [class*="number-layout"] .number_text > .number {
    color: #005aaa;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
  }
  .number-layout_v2 .number_text {
    padding-left: 30px;
  }
  .number-layout_v2 .number_text.type-tel,
  .number-layout_v2 .number_text.type-fax {
    background-size: 20px 18px;
  }
  .number-layout_v2 .number_text > .number {
    font-size: 1.4rem;
  }
  .address-layout {
    position: relative;
    margin-bottom: 1.2rem;
    padding-left: 60px;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: left;
  }
  .address-layout .address_badge {
    position: absolute;
    top: 0;
    left: 0;
    padding: 1px 15px 0;
    font-size: 1.2rem;
    border: 1px solid #e1e2e3;
    border-radius: 9999px;
  }
  
  /* ----- agreement-layout ----- */
  .agreement-layout {
    border: 1px solid #e1e2e3;
  }
  .agreement-box {
    padding: 15px 13px ;
  }
  .agreement-box > *:last-child {
    margin-bottom: 0;
  }
  .agreement-check-wrap > label {
    width: 100%;
    margin-bottom: 0;
    padding: 20px 13px;
    background: #f6f6f6;
    text-align: center;
    cursor: pointer;
  }
  .agreement-check-wrap > label:hover {
    background: #f9f9f9;
  }
  .agreement-check-wrap > input {
    display: none;
  }
  .agreement-check-wrap > label > .label-inner {
    position: relative;
    margin-bottom: 0;
    padding-left: 24px;
    color: #333;
    font-size: 1.6rem;
    font-weight: bold;
    cursor: pointer;
  }
  .agreement-check-wrap > label > .label-inner::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #ddd;
    background: #fff;
  }
  .agreement-check-wrap > label > .label-inner::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    left: 3px;
    width: 10px;
    height: 10px;
    background: #005aaa;
    opacity: 0;
  }
  .agreement-check-wrap > input:checked + label > .label-inner::after {
    opacity: 1;
  }
  /* ----- agreement-submit-wrap ----- */
  .agreement-submit-wrap {
    margin-top: 35px;
    text-align: center;
  }
  
  /* ----- agreement-submit-button ----- */
  .agreement-submit-button > .agreement-submit-button__disable,
  .agreement-submit-button > button {
    display: block;
    width: 100%;
    padding: 15px 25px;
    border-radius: 35px;
    font-size: 1.6rem;
    font-weight: bold;
    overflow: hidden;
  }
  .agreement-submit-button.js-agreement-submit__confirm {
    display: none;
  }
  .agreement-submit-button > .agreement-submit-button__disable {
    border: 1px solid #e60020;
    background-color: #fff0f2;
    color: #e60020;
  }
  .agreement-submit-button > .agreement-submit-button__disable .agreement-submit-button__label {
    display: inline-block;
    position: relative;
    padding-left: 25px;
  }
  .agreement-submit-button > .agreement-submit-button__disable .agreement-submit-button__label::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 18px;
    height: 16px;
    margin-top: -8px;
    background: url(/common_img/cmn_caution_ic01-r2x.png) no-repeat 0 0;
    -webkit-background-size: 18px 16px;
    background-size: 18px 16px;
    content: "";
  }
  .agreement-submit-button > button {
    border: 1px solid #005aaa;
    background-color: #005aaa;
    box-shadow: 0 1px 1px -1px rgba(0,0,0,.1), 0 1px 2px 0 rgba(0,0,0,.1), 0 0 5px 0 rgba(0,0,0,.08);
    color: #fff;
  }
  
  /* ----- search-input-layout ----- */
  .search-input-layout {
    background-color: #f6f6f6;
    margin: 30px auto;
    padding: 21px 14px;
  }
  .search-input-layout .search_input {
    position: relative;
    width: 100%;
    margin: 0 auto;
  }
  .search-input-layout .search_input input[type="text"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 40px;
    padding: 10px 50px 8px 20px;
    border: none;
    border-radius: 9999px;
    background: #fff;
    box-shadow:0px 1px 0px 1px rgba(0,0,0,0.2) inset;
    outline: none;
    color: #777;
    font-size: 1.6rem;
  }
  .search-input-layout .search_input input[type="submit"] {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 50%;
    right: 21px;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: url(/common_img/cmn_search_ic01.png) no-repeat;
    background-size: cover;
    box-shadow: none;
    outline: none;
    text-indent: -9999px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
  }
  
  /* ----- gdpr-layout ----- */
  .gdpr-layout {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #edf4fb;
    padding: 20px 14px 25px;
    box-shadow: 0 -2px 5px 0 rgba(0,0,0,0.2);
    z-index: 1000;
  }
  .gdpr-layout .gdpr_title {
    color: #545454;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .gdpr-layout .gdpr_content {
    margin-top: 1.5rem;
  }
  .gdpr-layout .gdpr_content .gdpr_left {
    width: 100%;
  }
  .gdpr-layout .gdpr_content .gdpr_right {
    margin-top: 2rem;
  }
  .gdpr-layout .gdpr_content .gdpr_right .btn {
    width: 210px;
    padding-left: 0;
    padding-right: 0;
    background-color: #fff;
  }
  .gdpr-layout .gdpr_content .gdpr_right .btn span {
    text-align: center;
  }
  .gdpr-layout .gdpr_content > *:first-child,
  .gdpr-layout .gdpr_content .gdpr_left > *:first-child,
  .gdpr-layout .gdpr_content .gdpr_right > *:first-child {
    margin-top: 0 !important;
  }
  .gdpr-layout .gdpr_content > *:last-child,
  .gdpr-layout .gdpr_content .gdpr_left > *:last-child,
  .gdpr-layout .gdpr_content .gdpr_right > *:last-child {
    margin-bottom: 0 !important;
  }
  .gdpr-layout .gdpr_text {
    color: #545454;
    font-size: 1.3rem;
  }
  /* ----- footer-pagetop ----- */
  .footer-pagetop {
    position: fixed;
    top: 50%;
    right: 14px;
    margin-top: -20px;
    z-index: 998;
  }
  .footer-pagetop > a {
    display: block;
    position: relative;
    width: 40px;
    height: 40px;
    overflow: hidden;
    background-color: #005aaa;
    line-height: 0;
    text-indent: -9999px;
    white-space: nowrap;
  }
  .footer-pagetop > a::before,
  .footer-pagetop > a::after {
    display: block;
    position: absolute;
    top: 13px;
    width: 2px;
    height: 14px;
    background-color: #fff;
    content: '';
  }
  .footer-pagetop > a::before {
    left: 50%;
    margin-left: -6px;
    transform: rotateZ(50deg);
  }
  .footer-pagetop > a::after {
    right: 50%;
    margin-right: -6px;
    transform: rotateZ(-50deg);
  }
  /* ----- movie-area ----- */
  .movie-area{
    margin-top: 20px;
    width: 100%;
    text-align: right;
    padding: 0 1.2rem;
  }
  .movie-area img{
    width: 60%;
  }
  /* ----- add-bg-heading1 ----- */
  .add-bg-heading1 {
    position: relative;
    background: #fff!important;
  }
  .add-bg-heading1__wrap {
    padding: 0 10px;
    margin-top: 22px;
  }
  .add-bg-heading1__title {
    position: absolute;
    top: 21vw;
    left: 3vw;
    margin: 0;
    font-size: 2rem;
    line-height: 1.3;
  }
  .add-bg-heading1__image {
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }
  .add-bg-heading1__text {
    margin: 0;
  }
  .add-bg-heading1__image > img {
    width: 100%;
    height: auto;
  }
  /* ----- add-heading-lv4 ----- */
  .add-heading-lv4 {
    position: relative;
    margin: 1.00548rem 0 0.756rem;
  }
  .add-heading-lv4 > h4 {
    position: relative;
    display: block;
    margin: 0;
    padding: 7px 0 7px 2.2496rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
  }
  .add-heading-lv4 .add-heading__shoulder {
    display: block;
    margin-bottom: .6rem;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.3;
  }
  .add-heading-lv4::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 4px;
    width: 4px;
    height: 100%;
    background: #13a7eb;
    transform: skewX(-10.5deg);
    -webkit-transform: skewX(-10.5deg);
  }
  /* ----- add-box ----- */
  .add-box {
    margin-top: 2.5rem;
    border: 1px solid #e1e2e3;
  }
  .add-box .add-box__head {
    padding: 1.4rem 1.5rem;
    background-color: #edf4fb;
    color: #545454;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
  }
  .add-box .add-box__body {
    padding: 1.4rem 1.5rem;
  }
  .add-box .add-box__body > *:first-child {
    margin-top: 0!important;
  }
  .add-box .add-box__item + .add-box__item {
    margin-top: 1.4rem;
    padding-top: 1.4rem;
    border-top: 1px solid #e1e2e3;
  }
/* ----- add-box-v2 ----- */
  .add-box-v2 {
    margin-top: 2.5rem;
    border: 1px solid #e1e2e3;
  }
  .add-box-v2 .add-box-v2__head {
    padding: 1.4rem 1.5rem;
    background-color: #edf4fb;
    color: #545454;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.3;
  }
  .add-box-v2 .add-box-v2__body {
    padding: 1.4rem 1.5rem;
  }
  .add-box-v2 .add-box-v2__body > *:first-child {
    margin-top: 0!important;
  }
  .add-box-v2 .add-box-v2__item + .add-box-v2__item {
    margin-top: 1.4rem;
    padding-top: 1.4rem;
    border-top: 1px solid #e1e2e3;
  }
  /* ----- add-media ----- */
  .add-media .add-media__frame img {
    width: 100%;
    height: auto;
  }
  .add-media .add-media__image {
    width: 224px;
    margin: 0 auto;
  }
  .add-media .add-media__body {
    flex: 1;
    margin-top: 0.9rem;
  }
  .add-media .add-media__type {
    display: inline-block;
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .add-media .add-media__type--blank {
    display: inline-block;
    position: relative;
    margin-right: 3px;
    padding-right: 2.044rem;
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .add-media .add-media__type--blank:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 14px;
    height: 14px;
    margin-top: -9px;
    margin-left: 0;
    background: url(/common_img/cmn_blank_ic01.png) no-repeat;
    background-size: cover;
    content: ""
  }
  .add-media .add-media__head__link {
    display: block;
  }
  .add-media .add-media__text {
    margin-top: 0.9rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
  
  /* ----- font ----- */
  .philosophy-lead-color {
    font-size: 2.8rem;
  }
}


/* ======================================================
 * SP Media Queries
====================================================== */
@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) {
}
@media only screen and (max-width: 320px) {
}


/* ======================================================
 * Print
====================================================== */
@media print {
  /* ----- footer-pagetop ----- */
  .footer-pagetop {
    display: none;
  }
}