@charset "utf-8";

  @media (min-width:961px){
    .corp-header-top .inner{
      position: relative; }
    .corp-header-top .inner::before,
    .corp-footer-top .inner::before{
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 16rem;
      height: 1rem;
      border-right: 5px solid #000; } }

.corp-header{
  height: 100%; }
  @media (min-width:961px){
    .corp-header{
      width: 16rem;
      border-right: 5px solid #000; } }

.corp-header-logo{
  text-align: center;
  padding: 1rem 0 .5rem; }
  @media (min-width:481px){
    .corp-header-logo{
      padding: 2rem 0 1rem; } }
  @media (min-width:961px){
    .corp-header-logo{
      padding: 3rem 3.5rem; } }

.corp-header-logo img{
  width: auto;
  height: 3rem; }
  @media (min-width:481px){
    .corp-header-logo img{
      height: 5rem; } }
  @media (min-width:961px){
    .corp-header-logo img{
      width: 100%;
      height: auto; } }

.corp-header .is-active .header-btn-bar{
  background-color: #000; }

.corp-header-menu{
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: fixed;
  z-index: 998;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  background-color: #fff; }
  @media (min-width:961px){
    .corp-header-menu{
      overflow-y: inherit;
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      display: block!important;
      background: none; } }

.corp-header-menu-scroll{
  overflow-y: auto;
  padding: 4.5rem 2.5rem 3.5rem; }
  @media (min-width:481px){
    .corp-header-menu-scroll{
      padding-top: 10rem; } }
  @media (min-width:961px){
    .corp-header-menu-scroll{
      overflow-y: inherit;
      padding: 0; } }

.corp-header-menu.is-active{
  display: block; }

.corp-header-menu .btn-wrap a{
  font-size: 1rem; }

.corp-header-nav{
  margin-top: .5rem;
  padding: 0 1rem; }
  @media (min-width:961px){
    .corp-header-nav{
      margin-top: 3rem; } }

.corp-header-nav li a{
  display: block; }

.corp-header-nav > li a{
  padding: 1rem 1em .5em; }

  @media (min-width:961px){
    .corp-header-nav > li > a{
      transition: background-color .5s; }
    .corp-header-nav > li > a:hover{
      background-color: #e6e2ed; } }

.corp-header-nav > li.current > a{
  background-color: #e6e2ed; }

.corp-header-nav > li.current .arrow.right::after{
  border-color: #000; }

  @media (min-width:961px){
    .corp-header-nav > li a:hover::after{
      border-color: #000; } }

.corp-header-nav > li a .ruby{
  font-size: .8rem;
  color: #757575;
  display: block;
  margin-top: .2em; }

.corp-header-nav-child{
  padding: 0 1.5rem 0 2rem;
}
  @media (min-width:961px){
    .corp-header-nav-child{
      padding: 0 1.5rem 0 2rem; } }

.corp-header-nav-child li a{
  padding-left: 1.5em;
  padding-bottom: 1em;
  border-bottom: 1px dashed #000; }
  @media (min-width:961px){
    .corp-header-nav-child li a{
      border-bottom-width: 2px; }
    .corp-header-nav-child li a:hover{
      color: #523674; } }

.corp-header-nav-child li.current a{
  color: #523674; }

.corp-header-nav-child li a span{
  position: relative; }

.corp-header-nav-child li a span::after{
  content: "";
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 0;
  border-top: 1px solid #523674;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
  transition: opacity .5s,transform .5s; }

.corp-header-nav-child li.current a span::after{
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0); }

  @media (min-width:961px){
    .corp-header-nav-child li:not(.current) a:hover span::after{
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0); } }

.corp-header-nav-child li .arrow.right::after{
  left: 0;
  right: auto;
  border-color: #000; }

.corp-header-bnr{
  margin-top: 3.5rem;
  padding: 0 1rem; }
  @media (min-width:961px){
    .corp-header-bnr{
      margin-top: 3rem;
      padding-bottom: 2rem; } }

.corp-header-bnr a + a{
  display: block;
  margin-top: 1.5rem; }
  @media (min-width:961px){
    .corp-header-bnr a + a{
      margin-top: 1rem; } }

.corp-header-bnr img{
  width: 100%; }

  @media (max-width:960px){
    .corp-header-top + .s-border-top{
      border: none; } }


  @media (min-width:961px){
    .corp-footer-top .inner{
      position: relative; }
    .corp-footer-top .inner::before{
      height: 2.5rem; } }

.corp-footer-info{
  padding: 3.5rem .5rem 0; }
  @media (min-width:961px){
    .corp-footer-info{
      padding: 0;
      width: 36%; } }

.corp-footer-info-title{
  font-size: 1.1rem;
  padding: .7em 0;
  border-bottom: 1px solid #333; }
  @media (min-width:961px){
    .corp-footer-info-title{
      font-size: 1.3rem; } }

.corp-footer-info p{
  line-height: 1.8;
  margin-top: 1rem; }
  @media (min-width:961px){
    .corp-footer-info p{
      margin-top: .7rem; } }

.corp-footer-info p span{
  display: block;
  margin-top: 1em; }
  @media (min-width:961px){
    .corp-footer-info p span{
      display: inline;
      margin-top: 0; } }

.corp-footer-info .btn-wrap{
  margin: 1rem auto 0;
  width: 12rem; }
  @media (min-width:961px){
    .corp-footer-info .btn-wrap{
      margin-top: .7rem;
      width: 11rem; } }

.corp-footer-map{
  margin-top: 2rem; }
  @media (min-width:961px){
    .corp-footer-map{
      margin: 0 0 0 7.5%;
      width: 56.5%; } }

.corp-footer-map .gmap{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 80.7%; }
  @media (min-width:961px){
    .corp-footer-map .gmap{
      padding-top: 0;
      height: 260px; } }

.corp-footer-map .gmap iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }


.corp-main{
  height: 100%; }

.corp-mv{
  position: relative; }

.corp-mv-heading{
  color: #fff;
  position: absolute;
  right: 0;
  bottom: 12%;
  padding: 1rem 0 1rem 1.5rem;
  width: 12rem;
  background-color: #000; }
  @media (min-width:961px){
    .corp-mv-heading{
      bottom: 20%;
      padding: 2.5rem 0 2rem 4.5rem;
      width: 24.5rem; } }

.corp-mv-heading::before{
  content: "";
  position: absolute;
  top: 1.4rem;
  left: 0;
  display: block;
  width: 1.1rem;
  height: 0;
  border-top: 1px solid #666; }
  @media (min-width:961px){
    .corp-mv-heading::before{
      top: 3.2rem;
      width: 3.5rem;
      border-color: #333; } }

.corp-mv-title{
  position: relative;
  font-size: .8rem;
  margin-bottom: .5em; }
  @media (min-width:961px){
    .corp-mv-title{
      font-size: 1.5rem;
      margin-bottom: .4em; } }

.corp-mv-heading span{
  display: block;
  font-size: .6rem; }
  @media (min-width:961px){
    .corp-mv-heading span{
      font-size: .8rem; } }

.corp-mv-heading p{
  margin-top: .5em; }
  @media (min-width:961px){
    .corp-mv-heading p{
      font-size: 1.7rem;
      margin-top: .7em; } }

.corp-mv-lead{
  position: relative;
  z-index: 1;
  padding: 2.5rem 1rem 1.5rem;
  background: url(../images/common/corp_mv_bg.jpg) 50% 0 repeat-y;
  background-size: 100% auto; }
  @media (min-width:961px){
    .corp-mv-lead{
      padding: 4rem 5rem 2.5rem; } }

.corp-mv-lead::after{
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,.75); }

.corp-mv-lead-heading{
  font-size: 1.1rem; }
  @media (min-width:961px){
    .corp-mv-lead-heading{
      font-size: 1.3rem; } }

.corp-mv-lead p{
  font-size: .8rem;
  line-height: 1.8;
  margin-top: 1rem; }
  @media (min-width:961px){
    .corp-mv-lead p{
      font-size: .8rem;
      margin-top: 2rem; } }

.corp-mv-lead .btn-wrap{
  text-align: center; }
  @media (min-width:961px){
    .corp-mv-lead .btn-wrap{
      text-align: right; } }

.corp-mv-lead .btn-wrap a{
  display: inline-block;
  margin: 1.5rem 0 0 auto;
  padding-left: 2rem;
  padding-right: 2.5rem;
  background: none; }
  @media (min-width:961px){
    .corp-mv-lead .btn-wrap a{
      margin-top: 2.5rem;
      padding-left: 4em;
      padding-right: 4em; } }

.corp-content{
  padding: 2rem 1rem 4rem; }
  @media (min-width:961px){
    .corp-content{
      padding: 3.5rem 5rem 6rem; } }



.history-select{
  padding: 1rem 3%;
  border: 1px solid #000; }
  @media (min-width:961px){
    .history-select{
      padding: 2rem 3%; } }

.history-select li{
  font-size: .8rem;
  display: block;
  padding-left: 1em;
  width: 50%; }
  @media (min-width:961px){
    .history-select li{
      font-size: 1rem;
      flex-basis: 20%;
      margin: 0 4% 0 1%;
      padding-left: 0;
      width: 20%; } }

  @media (max-width:960px){
    .history-select li:nth-child(n+3){
      margin-top: 1em; } }

  @media (min-width:961px){
    .history-select li:nth-child(n+5){
      margin-top: 1.5em; } }

.history-select li a{
  position: relative; }

.history-select li a::after{
  content: "";
  position: absolute;
  top: -.4em;
  bottom: 0;
  left: 9em;
  display: block;
  margin: auto 0;
  width: .5em;
  height: .5em;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }
  @media (min-width:961px){
    .history-select li a::after{
      left: auto;
      right: -1em; } }

.history-content{
  margin-top: 3rem; }
  @media (min-width:961px){
    .history-content{
      margin-top: 5rem; } }

.history-time{
  font-size: 1.2rem;
  padding-bottom: .3em;
  border-bottom: 3px solid #000; }
  @media (min-width:961px){
    .history-time{
      font-size: 1.2rem;
      border-bottom-width: 4px; } }

.history-time span{
  letter-spacing: .1em;
  margin-right: 1em; }

.history-tree{
  position: relative;
  margin-top: 1rem;
  padding: 1rem 0 0 1rem; }
  @media (min-width:961px){
    .history-tree{
      margin-top: 1rem;
      padding: 2rem 0 0; } }

.history-tree::before{
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 1rem;
  width: 0;
  height: 100%;
  border-left: 2px solid #ccc; }
  @media (min-width:961px){
    .history-tree::before{
      left: 50%; } }

.history-tree ol li + li{
  margin-top: 3rem; }
  @media (min-width:961px){
    .history-tree ol li + li{
      margin-top: 0; } }

  @media (min-width:961px){
    .history-tree-block{
      width: 50%; } }

  @media (min-width:961px){
    .history-tree ol li:nth-child(odd) .history-tree-block{
      float: right; } }

  @media (min-width:961px){
    .history-tree ol li:nth-child(even) .history-tree-block{
      float: left; } }

.history-tree-time{
  position: relative;
  display: block;
  padding-left: 1rem;
  padding-bottom: .5em;
  border-bottom: 2px solid #000; }

  @media (min-width:961px){
    .history-tree ol li:nth-child(odd) .history-tree-time{
      padding-left: 2rem; }
    .history-tree ol li:nth-child(even) .history-tree-time{
      padding-left: 0;
      padding-right: 2rem; } }

.history-tree-time::after{
  content: "";
  position: absolute;
  z-index: 2;
  left: -3px;
  bottom: -5px;
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #000; }
  @media (min-width:961px){
    .history-tree-time::after{
      bottom: -6px;
      width: 10px;
      height: 10px; } }

  @media (min-width:961px){
    .history-tree ol li:nth-child(odd) .history-tree-time::after{
      left: -4px; }
    .history-tree ol li:nth-child(even) .history-tree-time::after{
      left: auto;
      right: -6px; } }

.history-tree-block div{
  margin-top: .5rem; }
  @media (min-width:961px){
    .history-tree-block div{
      margin-top: 1rem; } }

.history-tree-block div + div{
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed #000; }

.history-tree-lead{
  font-size: .8rem;
  line-height: 1.8;
  padding-left: 1rem; }
  @media (min-width:961px){
    .history-tree-lead{
      font-size: .9rem; } }

  @media (min-width:961px){
    .history-tree ol li:nth-child(odd) .history-tree-lead{
      padding-left: 2rem; }
    .history-tree ol li:nth-child(even) .history-tree-lead{
      padding-left: 0;
      padding-right: 2rem; } }

.history-tree-block .l-flex .history-tree-lead{
  width: 65%; }
  @media (min-width:961px){
    .history-tree-block .l-flex .history-tree-lead{
      -ms-flex: 1 0 0%;
      width: 65%; } }

.history-tree-lead .btn-wrap{
  margin-top: 1rem;
  width: 8rem; }
  @media (min-width:961px){
    .history-tree-lead .btn-wrap{
      margin-top: 1rem;
      width: 8rem; } }

.history-tree-lead .btn-wrap a{
  font-size: .6rem; }
  @media (min-width:961px){
    .history-tree-lead .btn-wrap a{
      font-size: .7rem; } }

.history-tree-image{
  display: block;
  margin-left: 3%;
  width: 32%; }
  @media (min-width:961px){
    .history-tree-image{
      -ms-flex: 1 0 0%;
      margin-left: 3%;
      width: 32%; } }



.org-heading{
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 1rem;
  padding: .7em 0;
  border-bottom: 3px solid #523674;
  background-color: #e6e2ed; }
  @media (min-width:961px){
    .org-heading{
      font-size: 1.5rem;
      margin-bottom: 2rem;
      padding: .5em 0;
      width: auto;
      border-bottom-width: 4px; } }

  @media (max-width:960px){
    .org-overview{
      overflow-x: auto;
      -webkit-overflow-scrolling: touch; } }

  @media (max-width:960px){
    .org-overview-scroll{
      overflow-x: auto; } }

.org-overview + .org-heading{
  margin-top: 4.5rem; }

.org-overview table{
  font-size: .8rem;
  line-height: 1.5;
  width: 650px;
  border-collapse: collapse; }
  @media (min-width:961px){
    .org-overview table{
      font-size: 1rem;
      width: 100%; } }

.org-overview table th{
  position: relative;
  padding: 1em 0; }

.org-overview table td{
  position: relative;
  padding: 1em; }

.org-overview table tr{
  border-bottom: 1px solid #000; }
  
.org-overview.basic table{
  border-top: 1px solid #000; }

.org-overview.basic table th{
  width: 10rem; }
  @media (min-width:961px){
    .org-overview.basic table th{
      width: 14rem; } }

.org-overview.basic table td{
  padding-left: 4em; }

.org-overview.basic table td::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #fff; }
  @media (min-width:961px){
    .org-overview.basic table td::before{
      width: 1.5rem; } }

.org-overview.application table{
  border-top: 1px solid #000; }

.org-overview.application table th{
  font-weight: normal;
  text-align: left;
  position: relative;
  padding-left: 1.5rem;
  width: 8rem;
  border-right: 1px solid #000; }
  @media (min-width:961px){
    .org-overview.application table th{
      width: 10rem; } }

.org-overview.application table th::before,
.org-overview.application table th::after{
  content: "";
  position: absolute;
  z-index: 2;
  right: -.5rem;
  bottom: 0;
  width: 1rem;
  height: .5rem;
  background-color: #fff; }
  @media (min-width:961px){
    .org-overview.application table th::before,
    .org-overview.application table th::after{
      height: .9rem; } }

.org-overview.application table th::before{
  top: 0; }

.org-overview.application table th::after{
  bottom: 0; }

.org-overview.application table .l-flex + .l-flex{
  margin-top: .5em }

.org-overview.application table .l-flex span{
  width: 9rem; }
  @media (min-width:961px){
    .org-overview.application table .l-flex span{
      padding-left: 3rem;
      width: 14rem; } }

.org-overview.application table .l-flex span + span{
  padding-left: 0;
   width: auto;}



.org-member{
  margin-top: 2.5rem; }

.org-member-select{
  margin-bottom: -2px; }
  @media (min-width:961px){
    .org-member-select{
      margin-bottom: -3px; } }

.org-member-select span{
  font-size: .9rem;
  color: #fff;
  text-align: center;
  width: 5rem;
  height: 3em;
  border: 2px solid #000;
  background-color: #000;
  cursor: pointer; }
  @media (min-width:961px){
    .org-member-select span{
      font-size: 1rem;
      display: block;
      padding: 1em 0;
      width: 9rem;
      height: auto;
      border-width: 3px; } }

.org-member-select span + span{
  margin-left: .5rem; }
  @media (min-width:961px){
    .org-member-select span + span{
      margin-left: 1.5rem; } }

.org-member-select span.is-active{
  position: relative;
  z-index: 2;
  color: #000;
  background-color: #fff;
  border-bottom: none; }

.org-member-content{
  padding: 1rem 1rem 2.5rem;
  background-color: #fff;
  border: 2px solid #000; }
  @media (min-width:961px){
    .org-member-content{
      padding: 1.5rem 3rem 4rem;
      border-width: 3px; } }

.org-member-content ul{
  display: none; }

.org-member-content ul.is-active{
  display: block; }

.org-member-content ul li{
  font-size: .8rem;
  line-height: 2;
  padding: 1rem 1rem 1rem .5rem;
  border-bottom: 1px dashed #000; }
  @media (min-width:961px){
    .org-member-content ul li{
      font-size: 1rem;
      padding: 1.5rem 1rem 1.5rem 3rem; } }

.org-member-content ul.member-municipality li{
  padding-left: 0; }
  @media (min-width:961px){
    .org-member-content ul.member-municipality li{
      padding-left: 1rem; } }

  @media (min-width:961px){
    .org-member-content ul.member-company li{
      padding-left: 1rem; } }

.org-member-content ul.member-municipality em{
  width: 4.5rem; }
  @media (min-width:961px){
    .org-member-content ul.member-municipality em{
      width: 6rem; } }

.org-member-content ul.member-company em{
  width: 3rem; }
  @media (min-width:961px){
    .org-member-content ul.member-company em{
      width: 3.5rem; } }

.org-member-content ul li a{
  position: relative;
  display: inline-block; }

.org-member-content ul.member-municipality li a,
.org-member-content ul.member-company li a{
  margin: 0 1rem; }

  @media (max-width:960px){
    .org-member-content ul.member-municipality li a{
      margin: 0 .5rem; } }

.org-member-content ul li a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  display: block;
  width: 100%;
  height: 0;
  border-top: 1px solid #000;
  transition: opacity .3s; }
  @media (min-width:961px){
    .org-member-content ul li a::after{
      border: -1px; } }

.org-member-content ul li a:hover::after{
  opacity: 0; }


.plan-main{
  margin-top: 2rem; }
  @media (min-width:961px){
    .plan-main{
      margin-top: 3rem; } }

.plan-main a{
  font-size: .8rem;
  line-height: 1.5;
  text-align: center;
  width: 48%;
  height: 5rem;
  background: url(../images/plan/bg_plan.png) no-repeat right 5px bottom 4px;
  background-size: auto 80%;
  background-color: #fff;
  border: 3px solid #000; }
  @media (min-width:961px){
    .plan-main a{
      width: 30%;
      height: 10rem;
      background-size: auto;
      background-position: right 10px bottom 8px;
      border-width: 4px; } }

  @media (max-width:960px){
    .plan-main a:nth-child(even){
      margin-left: 4%; }
    .plan-main a:nth-child(n+3){
      margin-top: 1.5rem; } }

  @media (min-width:961px){
    .plan-main a:not(:nth-child(3n+1)){
      margin-left: 5%; }
    .plan-main a:nth-child(n+4){
      margin-top: 3rem; } }

.plan-main a em{
  font-size: .9rem;
  display: block; }
  @media (min-width:961px){
    .plan-main a em{
      font-size: 1.1rem;
      margin-top: .3em; } }

.plan-list li{
  line-height: 2;
  padding: 1rem 0 1rem 1rem;
  border-bottom: 2px solid #000; }
  @media (min-width:961px){
    .plan-list li{
      display: table;
      padding: 1.5rem 1rem 1.5rem 3rem;
      width: 100%; } }

.plan-list li em{
  display: block;
  width: 6em; }
  @media (min-width:961px){
    .plan-list li em{
      font-size: 1.2rem;
      display: table-cell;
      width: 7em; } }

.plan-list li span{
  display: block; }
  @media (min-width:961px){
    .plan-list li span{
      display: table-cell; } }

.plan-list li a{
  font-size: .8rem;
  text-decoration: underline;
  display: inline-block;
  margin-right: 2em; }
  @media (min-width:961px){
    .plan-list li a{
      font-size: .9rem;
      margin: 0 3em; } }


.ad-block + .ad-block{
  margin: 3rem auto 0; 
  width: 95%;}
  @media (min-width:961px){
    .ad-block + .ad-block{
      margin: 4.5rem auto 0;
      width: 95%; } }

.ad-block-float + .ad-block-float{
  margin-top: 3rem; }

.ad-block-float .ad-block-image{
  margin-bottom: 1.5rem; }
  @media (min-width:961px){
    .ad-block-float .ad-block-image{
      margin-bottom: 0;
      width: 50%; } }

  @media (min-width:961px){
    .ad-block .ad-block-float:nth-child(odd) .ad-block-lead{
      float: left;
      padding-right: 3rem; }
    .ad-block .ad-block-float:nth-child(even) .ad-block-lead{
      float: right;
      padding-left: 3rem; } }

  @media (min-width:961px){
    .ad-block-float .ad-block-lead{
      margin-top: 1rem;
      width: 50%; } }

  @media (min-width:961px){
    .ad-block .ad-block-float:nth-child(odd) .ad-block-image{
      float: right; }
    .ad-block .ad-block-float:nth-child(even) .ad-block-image{
      float: left; } }

.ad-block-float .btn-wrap{
  text-align: center;
  margin-top: 1rem; }
  @media (min-width:961px){
    .ad-block-float .btn-wrap{
      text-align: right;
      margin-top: 2rem; } }

.ad-block-float .btn-wrap a{
  font-size: .7rem;
  display: inline-block;
  padding-left: 3rem;
  padding-right: 3rem; }
  @media (min-width:961px){
    .ad-block-float .btn-wrap a{
      font-size: .8rem;
      padding-left: 4rem;
      padding-right: 4rem; } }

.ad-block-title{
  font-size: 1rem;
  position: relative;
  padding-bottom: 1em; }
  @media (min-width:961px){
    .ad-block-title{
      font-size: 1.1rem; } }

.ad-block-title::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 2.5em;
  height: 3px;
  background-color: #523674;
  border-radius: 2px; }
  @media (min-width:961px){
    .ad-block-title::after{
      height: 4px; } }

.ad-block-lead p{
  font-size: .8rem;
  line-height: 1.8;
  margin-top: 1.5em; }
  @media (min-width:961px){
    .ad-block-lead p{
      font-size: .9rem; } }

.ad-box + .ad-box{
  margin-top: 3rem; }
  @media (min-width:961px){
    .ad-box + .ad-box{
      margin-top: 0; } }

.ad-block.block-3 .ad-box{
  padding: 0 2rem; }
  @media (min-width:961px){
    .ad-block.block-3 .ad-box{
      position: relative;
      -ms-flex: 1 0 0%;
      flex: 1 0 0%;
      padding: 0 0 5rem;
      width: 30%; }
    .ad-block.block-3 .ad-box + .ad-box{
      margin-left: 5%; } }

  @media (min-width:961px){
    .ad-block.block-2 .ad-box{
      flex-basis: 50%;
      width: 50%; }
    .ad-block.block-2 .ad-box:nth-child(odd){
      padding-right: 4rem;
      border-right: 1px dotted #000; }
    .ad-block.block-2 .ad-box:nth-child(even){
      padding-left: 4rem; } }

.ad-box-lead{
  font-size: .7rem;
  line-height: 1.8;
  margin-top: 1em; }
  @media (min-width:961px){
    .ad-box-lead{
      font-size: .8rem;
      margin-top: 2em; } }

.ad-box .btn-wrap{
  margin-top: 1rem; }
  @media (min-width:961px){
    .ad-box .btn-wrap{
      margin-top: 0; } }

.ad-box .btn-wrap a{
  width: 14em; }
  @media (min-width:961px){
    .ad-box .btn-wrap a{
      font-size: .9rem;
      width: 11rem; } }

  @media (min-width:961px){
    .ad-block.block-3 .ad-box .btn-wrap{
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0; }
    .ad-block.block-2 .ad-box .btn-wrap a{
      margin: 1.5rem 0 0; } }


  @media (min-width:961px){
    .corp-mv-lead-left{
      -ms-flex: 1 0 0%;
      width: 53%; } }

  @media (min-width:961px){
    .corp-mv-lead-left p{
      margin-top: 1rem; } }

  @media (min-width:961px){
    .corp-mv-lead-right{
      -ms-flex: 1 0 0%;
      margin-left: 4%;
      width: 42%; } }

  @media (min-width:961px){
    .corp-mv-lead-image{
      position: absolute;
      top: 0;
      bottom: 0;
      right: 6%;
      display: block;
      margin: auto 0;
      width: 36%; } }

  @media (min-width:961px){
    .about-proposal{
      text-align: right;
      margin-top: 2rem; } }

.btn-wrap.about-proposal a{
  position: relative; }
  @media (min-width:961px){
    .about-proposal p,
    .btn-wrap.about-proposal a{
      vertical-align: top;
      display: inline-block;
      margin-top: 0;
      margin-left: 2rem; } }

.btn-wrap.about-proposal .icon-pdf{
  position: absolute;
  top: 20%;
  right: 9px;
  display: block;
  width: auto;
  height: 60%; }

.about-plan{
  margin-bottom: 3.5rem; }
  @media (min-width:961px){
    .about-plan{
      margin-bottom: 5rem; } }

.about-plan:last-of-type{
  margin-bottom: -3.5rem; }
  @media (min-width:961px){
    .about-plan:last-of-type{
      margin-bottom: -5rem; } }

.about-plan .about-plan-heading{
  line-height: 1.3; }

.about-plan .about-plan-image{
  margin-top: 2rem; }
  @media (min-width:961px){
    .about-plan .about-plan-image{
      -ms-flex: 1 0 0%;
      margin-left: 0;
      width: 50%; } }

  @media (min-width:961px){
    .about-plan .about-plan-txt{
      -ms-flex: 1 0 0%;
      margin-top: 2rem;
      margin-right: 5%;
      width: 43%; }
    .flex-reverse .about-plan-txt{
      margin-left: 5%;
      margin-right: 0; } }

.about-plan .about-plan-txt p{
  margin-top: 1rem; }

.about-plan .about-plan-txt .small{
  font-size: .9rem; }

.about-plan .btn-wrap{
  margin-top: 1.2rem; }
  @media (min-width:961px){
    .about-plan .btn-wrap{
      margin-top: 2rem; } }

.about-plan .btn-wrap a{
  width: 12rem; }
  @media (min-width:961px){
    .about-plan .btn-wrap a{
      margin-left: 0;
      width: 10rem; }
    .about-plan.flex-reverse .btn-wrap a{
      margin-left: auto;
      margin-right: 0; } }

.about-plan-list li{
  position: relative;
  margin-top: .7rem; }

.about-plan-list li::before{
  content: "";
  position: relative;
  top: -2px;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-radius: 50%;
  margin-right: .5em;
  background-color: #000; }

.about-plan-zone{
  letter-spacing: -.5em; }

.about-plan-zone li{
  letter-spacing: normal;
  vertical-align: bottom;
  position: relative;
  display: inline-block;
  margin-top: -1px;
  width: 33.3333%;
  cursor: pointer;
  margin: auto;
  outline: solid 1px #000;
  outline-offset: -.5em; }

.about-plan-zone li::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0,0,0,0);
  transition: background-color .4s; }
  @media (min-device-width:1025px){
    .about-plan-zone li:hover::before{
      background-color: rgba(0,0,0,.4); } }

.about-plan-zone li img{
  display: block;
  width: 100%; }
  
.about-plan-zone1{
  letter-spacing: -.5em; }

.about-plan-zone1 li{
  letter-spacing: normal;
  vertical-align: bottom;
  position: relative;
  display: inline-block;
  margin-top: -1px;
  width: 33.3333%;
  cursor: pointer;
  margin: auto;
 }

.about-plan-zone1 li::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0,0,0,.4);
  transition: background-color .4s; }
  @media (min-device-width:1025px){
    .about-plan-zone1 li:hover::before{
      background-color: rgba(0,0,0,.1); } }

.about-plan-zone1 li img{
  display: block;
  width: 100%; }  

.about-plan-zone-title{
  font-size: .8rem;
  line-height: 1;
  color: #000;
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 100%;
  height: 1em; }
  
.about-plan-zone-title1{
  font-size: .8rem;
  line-height: 1;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 100%;
  height: 1em; }
  
.about-plan-zone-modal{
  position: fixed;
  z-index: 9999;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
  padding: 3.6rem;
  background-color: rgba(0,0,0,.9); }
  @media (min-width:961px){
    .about-plan-zone-modal{
      padding: 6rem; } }

.about-plan-zone-modal-bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer; }

.about-plan-zone-modal ul{
  position: relative; }

.about-plan-zone-modal .slick-prev::before,
.about-plan-zone-modal .slick-next::before{
  width: 12px;
  height: 12px; }
  @media (min-width:961px){
    .about-plan-zone-modal .slick-prev::before,
    .about-plan-zone-modal .slick-next::before{
      width: 36px;
      height: 36px; } }

.about-plan-zone-modal .slick-prev::before{
  border-left: #fff solid 3px;
  border-bottom: #fff solid 3px; }
  @media (min-width:961px){
    .about-plan-zone-modal .slick-prev::before{
      left: -1rem;
      border-left-width: 4px;
      border-bottom-width: 4px; } }

.about-plan-zone-modal .slick-next::before{
  border-top: #fff solid 3px;
  border-right: #fff solid 3px; }
  @media (min-width:961px){
    .about-plan-zone-modal .slick-next::before{
      right: -1.5rem;
      border-top-width: 4px;
      border-right-width: 4px; } }

.about-plan-zone-modal li{
  display: none;
  background-color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.about-plan-zone-modal li.is-active{
  display: block; }

.about-plan-zone-modal-inner{
  letter-spacing: -.5em;
  padding: 1rem; }

.about-plan-zone-modal-image{
  letter-spacing: normal;
  display: block; }
  @media (min-width:961px){
    .about-plan-zone-modal-image{
      display: inline-block;
      width: 30%; } }

.about-plan-zone-modal-image img{
  width: 100%; }

.about-plan-zone-modal-txt{
  line-height: 1.5;
  letter-spacing: normal;
  margin-top: 1rem; }
  @media (min-width:961px){
    .about-plan-zone-modal-txt{
      vertical-align: top;
      display: inline-block;
      margin-top: 0;
      padding: 0 1rem;
      width: 70%; } }


/*
.about-plan-link{
  margin-top: -4rem; }
*/
  @media (min-width:961px){
    .about-plan-link{
      margin-top: -5rem; } }

  @media (min-width:961px){
    .about-plan-link.about-landscape{
      margin-top: 5rem; } }

  @media (min-width:961px){
    .about-plan-link li{
      width: 33.3333%; } }

  @media (min-width:961px){
    .about-plan-link .about-plan-zone-title{
      font-size: 1rem; } }

.about-plan .business{
  letter-spacing: -.5em;
  margin: 0 -1%; }
  @media (min-width:961px){
    .about-plan .business{
      margin: 1.5rem -2% 0; } }

.about-plan .business li{
  letter-spacing: normal;
  vertical-align: top;
  display: inline-block;
  margin: 2rem 1%;
  width: 48%; }
  @media (max-width:960.99px){
    .about-plan .business li:nth-of-type(5){
      margin: 0 26%; } }
  @media (min-width:961px){
    .about-plan .business li{
      margin: 0 2%;
      width: 16%; } }

.business-circle{
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: 100%;
  border-radius: 50%;
  background-color: #523674; }

.business-circle span{
  line-height: 1;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  width: 100%;
  height: 1em; }
  @media (min-width:961px){
    .business-circle span{
      font-size: 2rem; } }

.business-info{
  font-size: 1.5rem;
  letter-spacing: -.02em;
  text-align: center;
  margin-top: 1em; }
  @media (min-width:961px){
    .business-info{
      font-size: 1.3rem; } }
  @media (max-width:600px){
    .business-info{
      font-size: 1.1rem; } }

.business-lead{
  font-size: .8rem;
  line-height: 1.8;
  text-align: center;
  margin-top: .5em; }
  @media (min-width:961px){
    .business-lead{
      font-size: .9rem; } }
  @media (max-width:480px){
    .business-lead{
      padding: 0 .3em; 
      font-size: .7rem;} }

.business-link{
  line-height: 1.5;
  text-align: right;
  display: block;
  margin-top: 1rem; }

.business-link a{
  font-size: .8rem;
  color: #523674;
  position: relative;
  display: inline-block; }
  @media (min-width:961px){
    .business-link a{
      font-size: 1rem; } }

.business-link a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  display: inline-block;
  width: 100%;
  height: 0;
  border-top: #523674 solid 1px; }

.about-support{
  position: relative; }
  @media (min-width:961px){
    .about-support{
      margin-top: 3rem; } }

.about-support::before{
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 100%;
  height: 0;
  border-top: #000 dotted 1px; }
  @media (min-width:961px){
    .about-support::before{
      top: 0;
      left: 50%;
      width: 0;
      height: 100%;
      border-top: 0;
      border-left: #000 dotted 1px; } }

.about-support-heading{
  font-size: 1rem; }
  @media (min-width:961px){
    .about-support-heading{
      font-size: 1.2rem; } }
   @media (max-width:480px){
    .about-support-heading{
      font-size: .9rem; } }

.about-support-box{
  padding: 2rem 0; }
  @media (min-width:961px){
    .about-support-box{
      -ms-flex: 1 0 0%;
      padding: 0 3rem 2rem 0;
      width: 50%; }
    .about-support-box:nth-of-type(2){
      padding-left: 3rem;
      padding-right: 0; } }

.about-support-box .business-lead{
  text-align: left; }

.about-support-info{
  padding: 1rem 1rem;
  border: #000 solid 2px; }
  @media (min-width:961px){
    .about-support-info{
      margin: 3rem 0;
      padding: 3rem 4.5rem; } }

.about-support-info-title{
  line-height: 1.3;
  padding-bottom: .8em;
  border-bottom: #523674 solid 3px; }

.about-support-info-title a{
  color: #523674;
  text-decoration: underline; }

.about-support-info-contact{
  margin-top: 1.5rem; }
  @media (min-width:961px){
    .about-support-info-contact{
      font-size: .9rem; } }

.about-support-info-contact p{
  font-size: .8rem;
  line-height: 1.8; }
  @media (min-width:961px){
    .about-support-info-contact p{
      font-size: .9rem;
      width: 50%; } }

.about-support-info-contact .btn-wrap{
  line-height: 1.8;
  margin-top: 1.5rem; }
  @media (min-width:961px){
    .about-support-info-contact .btn-wrap{
      margin: auto 0 0 auto; } }

.about-support-info-contact .btn-wrap a{
  width: 12rem;
  background: none; }
  @media (min-width:961px){
    .about-support-info-contact .btn-wrap a{
      width: 10rem; } }

.landscape-font{
font-size: .9em;
    line-height: .5em;
}