.txt {
  padding: 0 5% 5%;
}
.txt p + p {
  padding-top: 15px;
}

#sec1 {
  position: relative;
  padding: 10% 0 0;
}
#sec1 .txt {
  padding: 5% 5% 5%;
}
#sec1 h3 {
  padding: 15% 0 5%;
}
#sec1 ul {
  padding: 0 5% 15%;
  position: relative;
}
#sec1 ul:before {
  content: '';
  position: absolute;
  top: 12%;
  left: 0;
  bottom: 0;
  width: 98%;
  background: url("../img/shared/ft_bg.jpg") repeat center top;
}
#sec1 ul li {
  width: 50%;
  position: relative;
}
/*#sec1 ul li:last-child {
  width: auto;
}*/

#sec3 {
  position: relative;
  z-index: 5;
}
#sec3 h3 {
  padding: 5% 0;
  text-align: left;
  padding-left: 27%;
  margin-top: -22vw;
  font-size: 3.5vw;
}
#sec3 .txt {
  padding: 5% 0 5%;
  border-top: 1px dashed;
  width: 90%;
  box-sizing: border-box;
  margin: 0 auto;
}
#sec3 .photo{
  margin-top: -32vw;
}
#sec4 {
  position: relative;
  padding: 5% 0 5%;
}
#sec4 .txt{
  padding: 5% 0 5%;
    border-top: 1px dashed;
    width: 90%;
    box-sizing: border-box;
    margin: 0 auto;
}
#sec4 h3 {
  padding: 5% 0;
  padding: 5% 0;
  text-align: left;
  padding-left: 27%;
  margin-top: -30vw;
  font-size: 3.5vw;
}

#sec5 {
  position: relative;
  margin-bottom: 10%;
}
#sec5 .txt{
  padding: 5% 0 5%;
    border-top: 1px dashed;
    width: 90%;
    box-sizing: border-box;
    margin: 0 auto;
}
#sec5 h3 {
  padding: 5% 0;
  padding: 5% 0;
  text-align: left;
  padding-left: 27%;
  margin-top: -20vw;
  font-size: 3.5vw;
}

#sec6 {
  position: relative;
  padding: 5% 0 10%;
}
#sec6 h3 {
  padding: 5% 0;
  padding: 5% 0;
  text-align: left;
  padding-left: 27%;
  margin-top: -20vw;
  font-size: 3.5vw;
}
#sec6 .txt {
  padding-bottom: 5%;
  padding: 5% 0 5%;
  border-top: 1px dashed;
  width: 90%;
  box-sizing: border-box;
  margin: 0 auto;
}

#sec7 {
  position: relative;
  padding: 5% 0 0;
}
#sec7 h3 {
  padding: 5% 0;
}
#sec7 .txt {
  padding-bottom: 5%;
}

#sec8 {
  position: relative;
  padding: 20% 0 5%;
}
#sec8 h2 {
  padding: 0 0 5%;
    text-align: center;
    margin-bottom: 3vw;
}
#sec8 h2 span {
    display: inline-block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 6vw;
    letter-spacing: 0.3em;
    line-height: 30px;
    padding: 5vw 0;
}
#sec8 .ttl{
    text-align: center;
}
#sec8 .ttl span{
  font-size: 5vw;
    margin: 0 auto 2vw;
    display: block;
    letter-spacing: 0.15em;
}
#sec8 .map {
  padding: 0 0 5%;
}
#sec8 .box {
  margin: 0 5%;
  padding: 5% 5% 8%;
  background: #5a554d;
  color: #fff;
}
#sec8 .box h3 {
  border-bottom: 1px dashed #fff;
  color: #fff;
}
#sec8 .box .txt {
  padding-top: 5%;
  padding-bottom: 0;
  color: #fff;
}

#sec8 .item {

padding: 4% 5%;

box-sizing: border-box;

background-color: #5a554d;

color: #fff;

margin-top: 29px;

margin-bottom: 21px;

flex-direction: column;
}
#sec8 .item h3 {
    border-bottom: 1px dashed #fff;
    font-size: 18px;
    letter-spacing: 0.3em;
    line-height: 45px;
    padding-top: 4px;
    padding-bottom: 17px;
    text-align: center;
}
#sec8 .item h3:before{
      content: "";
      position: absolute;
      top: 56px;
      left: 50%;
      display: block;
      width: 10px;
      height: 10px;
      -webkit-transition-duration: .6s;
      -ms-transition-duration: .6s;
      -moz-transition-duration: .6s;
      transition-duration: .6s;
      border-right: 2px solid #FFF;
      border-bottom: 2px solid #FFF;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
      box-sizing: border-box;
      margin-left: -5px;
}
#sec8 .item  p{
    padding-top: 18px;
}
#sec8 .txt{padding: 0;}
#sec9 {
  position: relative;
}
#sec9 h2 {
  padding: 3% 0 0;
}
#sec9 h3 {
  padding: 5% 0;
}

#sec10 {
  position: relative;
  background: url("../img/shared/ft_bg.jpg") repeat center top;
  padding: 0 0 10%;
}
#sec10 h2 {
  padding: 10% 5% 5%;
}
#sec10 .p_txt {
  text-align: center;
  padding: 0 5%;
  color: #5c5b5b;
}
#sec10 .p_txt span {
  font-size: 16px;
  font-weight: bold;
}
#sec10 .sl {
  padding: 5% 5% 0;
}
#sec10 .sl h3 {
  border-bottom: 1px dashed #000;
  padding-top: 5%;
  padding-bottom: 5%;
  margin-left: 8%;
  margin-right: 8%;
}
#sec10 .sl .slide {
  background: #fff;
}
#sec10 .sl .txt {
  padding: 5% 8%;
}
#sec10 .button_wrap {
  background: #fff;
  padding: 5% 0;
  margin-top: 10%;
	margin-bottom: 20px;
}
#sec11{
  padding:30px 0 0;
}
#sec11 h3{
  font-size:20px;
  padding:20px 0 10px;
}
.block img{
    width: 100%;
    height: auto;
}

.tabs-switch .tab-link{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid;
}
.tabs-switch .tab-link li{
    width: 48%;
}



#sec3-1 {
  position: relative;
  z-index: 5;
  margin-bottom: 10%;
}
#sec3-1 h3 {
  padding: 5% 0;
  text-align: left;
  padding-left: 27%;
  margin-top: -22vw;
  font-size: 3.5vw;
}
#sec3-1 .txt {
  padding: 5% 0 5%;
  border-top: 1px dashed;
  width: 90%;
  box-sizing: border-box;
  margin: 0 auto;
}
#sec3-1 .photo{
  margin-top: -32vw;
}
#sec3-1 .row{
  padding: 0 5%;
}
#sec3-1 .txt2{
  background: #fff;
  margin-left: 7%;
  margin-top: -8%;
  position: relative;
  padding: 2%;
  margin-bottom: 5vw;
}
#sec3-2 .photo{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}
#sec3-2 .photo li:nth-child(1) {
  margin-top: 18px;
}
#sec3-2 .photo li:nth-child(2) {
  margin-top: 32px;
}
#sec3-2 h3{
    text-align: center;
    margin-bottom: 7vw;
}
#sec3-2 .bx-wrapper{
  
}
#sec3-2 .bx-viewport{

}
#sec3-2 .js{
    margin: 0 -3.2%;	
}
#sec3-2 .js .slick-slide{
    margin: 0 10px;
}
#sec3-2 h3 span{
    font-size: 22px;
    line-height: 30px;
    padding-bottom: 12px;
    display: inline-block;
    border-bottom: 1px dashed;
}
#sec3-2 .photo li{
  width: 31%;
}
#sec3-3{
    margin-bottom: 10%;
}
#sec3-3 .btn-shared a{
    font-size: 3.5vw;
}
#sec3-3 h3{
    padding: 5% 0 2%;
    border-top: 1px dashed;
    width: 90%;
    box-sizing: border-box;
    margin: -7% auto 0;
    position: relative;
    z-index: 10;
    font-size: 4.5vw;
}

#sec3-3 .js{
    padding: 0 8%;
    margin-bottom: 5vw;
}
#sec3-3 .bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto{
    position: relative;
    margin-top: 5vw;
}

.bx-wrapper .bx-pager.bx-default-pager a{
    background: #353535;
}
 .bx-wrapper .bx-pager.bx-default-pager a.active{
    opacity: 0.7;
     background: #353535;
}

.tabs-switch .banner {
	position: relative;
	margin-bottom: 25vw;
}
.tabs-switch .banner:before {
	content: '';
	position: absolute;
	top: 65px;
	left: 0;
	right: 5%;
	bottom: -3px;
	background: url("../img/shared/ft_bg.jpg") center 0 repeat;
}
.tabs-switch .banner .wrap {
	z-index: 2;
	padding-top: 100px;
}
.tabs-switch .banner .photo {
	position: absolute;
	top: 37px;
	right: 0;
	width: 49%;
}
.tabs-switch .banner h3 {
	text-align: center;
	margin-bottom: 28px;
}
.tabs-switch .banner h3 span {
    display: inline-block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 26px;
    letter-spacing: 0.3em;
    line-height: 30px;
    padding: 13px 0 17px;
}
.tabs-switch .banner ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	width: 42%;
    position: relative;
    z-index: 20;
}
.tabs-switch .banner ul.tab2{
    width: 60%;
}

.tabs-switch .txtx{
    font-size: 18px;
    position: absolute;
    top: 87%;
    left: 22px;
    font-size: 14px;
}
#popup6 h3{
    
    text-align: center;
    font-size: 4vw;
    margin-bottom: 3vw;
}
#popup7 h3{
    
    text-align: center;
    font-size: 5vw;
    margin-bottom: 3vw;
    font-weight: bold;
}
#popup7 .txt2{
    margin-top: 20px;
}

.show {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    z-index: 100;
	    background: #fff;
}
.show:before {
    content: "";
    position: absolute;
    top: -70px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: -1;
}
.group-link{
	    position: relative;
        min-height: 41vw;
}

.btn_okosama {
	 width: 90%;
  margin: 20px auto;
}

.btn_okosama a {
  display: block;
	padding: 10px 20px;
  background: #4d2828;
  color: #fff;
  font-size: 17px;
	text-align: center;
  box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.45);
  letter-spacing: 0.2em;
  line-height: 30px;
  box-sizing: border-box;
	position: relative;
  z-index: 9999;
  pointer-events: auto;
}

.btn_okosama a:hover {
  text-decoration: none;
  opacity: .8;
}
