/* Scss Document */
#sec1 {
  padding: 100px 0 15vw;
}
#sec1 h2 {
  font-size: 5.5vw;
  line-height: 1.4;
  font-weight: 300;
  letter-spacing: 0.34em;
  padding-bottom: 5vw;
}
#sec1 .photo {
  position: relative;
  height: 89vw;
  margin: 10vw -5vw;
}
#sec2 {
  position: relative;
  color: #fff;
  padding: 15vw 0;
}
#sec2 h2 {
  width: 60%;
  background-color: #fff;
  margin: 0 0 5vw -5vw;
  padding-left: 3%;
}
#sec2 dt {
  font-size: 5vw;
  letter-spacing: 0.2em;
  font-weight: 300;
  line-height: 1.6;
  margin: 0 0 8vw -5vw;
  padding-left: 5%;
  background-color: #c20826;
}
#sec3 {
  position: relative;
  padding-bottom: 5vw;
}
#sec3:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: -30vw;
  left: 0;
  width: 50%;
  background-color: #fff;
}
#sec3 h3 {
  font-size: 5vw;
  line-height: 1.4;
  letter-spacing: 0.2em;
  font-weight: 300;
  padding: 5vw 0;
}
#sec3 .group .menu {
  padding-bottom: 15vw;
}
#sec3 .group .menu .photo2 {
  padding: 0 10%;
}
#sec3 .group .menu .info dt {
  font-weight: 600;
  letter-spacing: 0.2em;
  font-size: 5vw;
  line-height: 1.5;
  padding: 4vw 0 2vw;
}
#sec3 .group .menu:last-child {
  padding-bottom: 0;
}
#sec4 {
  position: relative;
  color: #fff;
  padding: 15vw 0 0vw;
  margin-bottom: 20vw;
  text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.71), 5px 0px 8px rgba(0, 0, 0, 0.71);
}
#sec4:before {
  content: '';
  position: absolute;
  top: 0;
  left: 14%;
  right: 0;
  bottom: 0;
  background: url("../img/bread/sec4_p1.jpg") no-repeat 50% center/cover;
}
#sec4 h2 {
  width: 75%;
}
#sec4 dl {
  padding: 0 0 30vw 14%;
}
#sec4 dl dt {
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-size: 5vw;
  padding-bottom: 5vw;
}
#sec4 .photo {
  width: 59%;
  position: absolute;
  bottom: -14vw;
  left: -3vw;
}
#sec5 {
  background-color: #fff;
  position: relative;
  width: 90%;
  margin: 0 auto;
  position: relative;
  padding: 5% 0 15vw;
}
#sec5:before {
  position: absolute;
  content: '';
  border: 2px solid #c20826;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
}
#sec5 h2 {
  width: 87%;
  margin: -9vw auto 0;
  position: relative;
  z-index: 2;
}
#sec5 h2 img {
  position: relative;
  z-index: 1;
}
#sec5 h2:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 5vw;
  height: 7vw;
  background-color: #fff;
  z-index: 0;
}
#sec5 .menu {
  padding: 0 5%;
}
#sec5 .menu .item {
  padding-bottom: 7vw;
  margin-bottom: 5vw;
  overflow: hidden;
  position: relative;
}
#sec5 .menu .item:before {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  border-top: 4px dashed #333;
}
#sec5 .menu .item .photo {
  width: 50%;
  margin: 0 auto;
}
#sec5 .menu .item dt {
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 300;
  padding-bottom: 4vw;
}
#sec5 .menu .item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
#sec5 .menu .item:last-child:before {
  display: none;
}
#sec6 {
  padding: 15vw 0;
}
#sec6 h2 {
  width: 57%;
  margin-bottom: 6vw;
  font-size: 5vw;
  font-weight: 300;
  letter-spacing: 0.2em;
  line-height: 2;
}
#sec6 .photo {
  position: relative;
  height: 64vw;
  margin: 10vw 0;
}
#sec6 .bnr-shared a {
  text-align: left;
  padding-left: 20px;
}
#sec7 {
  padding: 15vw 0 20vw;
  background: #fff url("../img/bread/sec7_bg.jpg") no-repeat center 125vw/131%;
  position: relative;
}
#sec7:after {
  content: '';
  position: absolute;
  right: 0;
  height: 10px;
  left: 30%;
  bottom: 5vw;
  background: #c20826 url("../img/bread/shape3.jpg") 0 0 no-repeat;
}
#sec7 h2 {
  margin: 0 0 5vw 0;
  font-size: 5.1vw;
  line-height: 1.8;
  letter-spacing: 0.34em;
  font-weight: 500;
  color: #c20826;
}
#sec7 h2 img {
  width: 85%;
  margin-left: -5vw;
}
#sec7 .photo {
  padding: 10vw 0;
}
#sec7 .bnr {
  box-shadow: 0px 1px 20px 5px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 1px 20px 5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 1px 20px 5px rgba(0, 0, 0, 0.2);
}
#sec8 .box-parallax {
  padding: 42vw 5% 6vw 24%;
}
#sec8 .wrap:before {
  position: absolute;
  content: '';
  background-color: #ffffff;
  top: 0;
  left: 5%;
  right: 5%;
  height: 83vw;
}
#sec8 .lead {
  padding: 15vw 0 15vw 10%;
  position: relative;
}
#sec8 .lead:after {
  content: '';
  background: url("../img/bread/sec8_deco.png") no-repeat 0 0/100%;
  width: 50%;
  height: 100vw;
  position: absolute;
  top: -4vw;
  left: -10vw;
}
#sec8 .lead:before {
  content: '';
  width: 1px;
  height: 47vw;
  background: url("../img/index/line.png") repeat-y 0 0;
  position: absolute;
  top: 0;
  left: 5vw;
}
#sec8 .lead h2 {
  width: 85%;
}
#sec8 .lead h3 {
  font-weight: 500;
  font-size: 5vw;
  line-height: 1.6;
  letter-spacing: 0.34em;
  padding: 5vw 0 8vw;
}
#sec8 .lead .photo {
  margin: 0 10% 0 0;
}
#sec8 .menu {
  background-color: #fff;
  position: relative;
  padding: 10vw 5%;
}
#sec8 .menu:before {
  content: '';
  position: absolute;
  left: 0;
  height: 10px;
  right: 30%;
  top: 0;
  background: #1770aa url("../img/bread/shape1.jpg") no-repeat right 0;
}
#sec8 .menu:after {
  content: '';
  position: absolute;
  right: 0;
  height: 10px;
  left: 30%;
  bottom: 0;
  background: #1770aa url("../img/bread/shape2.jpg") 0 0 no-repeat;
}
#sec8 .menu .info {
  margin-bottom: 10vw;
}
#sec8 .menu .info dt {
  font-weight: 300;
  letter-spacing: 0.34em;
  font-size: 5.5vw;
  line-height: 1.5;
  padding-bottom: 5vw;
}
#sec8 .menu .photo li {
  width: 48%;
  margin-bottom: 4%;
}
#sec8 .menu .photo li:first-child {
  width: 100%;
}
#sec9 {
  padding: 15vw 0 20vw;
}
#sec9 h2 {
  font-size: 5.5vw;
  font-weight: 300;
  letter-spacing: 0.34em;
  line-height: 1.5;
  position: relative;
  padding-bottom: 15vw;
}
#sec9 h2 img {
  width: 36%;
  position: absolute;
  top: 5vw;
  right: -4%;
}
#sec9 .group .item {
  background-color: #fff;
  border: 1px solid #333;
  padding: 10vw 5%;
  margin-bottom: 20vw;
  text-align: center;
  position: relative;
	    box-shadow: 0px 1px 10px 5px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 1px 10px 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 1px 10px 5px rgba(0, 0, 0, 0.1);
}
#sec9 .group .item:after {
  content: '';
  background: url("../img/bread/arow2.png") no-repeat 0 0/100%;
  width: 12vw;
  height: 6vw;
  position: absolute;
  bottom: -14vw;
  left: 50%;
  transform: translateX(-50%);
}
#sec9 .group .item dt {
  font-size: 5.5vw;
  letter-spacing: 0.34em;
  font-weight: 300;
  line-height: 1.5;
  padding-bottom: 5vw;
  text-align: center;
}
#sec9 .group .item:last-child {
  margin-bottom: 0;
}
#sec9 .group .item:last-child:after {
  display: none;
}
@media screen and (min-width: 999px) {
  .sec1-c {
    background-color: #fff;
    padding: 1px 0;
  }
  #sec1 {
    padding: 0;
    margin: 108px auto 112px;
    max-width: 1200px;
    position: relative;
    color: #fff;
  }
  #sec1:before {
    position: absolute;
    top: 35px;
    left: 57px;
    content: '';
    width: 100px;
    height: 200px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    z-index: 3;
  }
  #sec1:after {
    position: absolute;
    bottom: 40px;
    right: 60px;
    content: '';
    width: 100px;
    height: 200px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    z-index: 3;
  }
  #sec1 .wrap {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    padding-bottom: 80px;
    position: static;
  }
  #sec1 h2 {
    font-size: 30px;
    line-height: 60px;
    font-weight: 300;
    padding-bottom: 3px;
  }
  #sec1 .photo {
    position: absolute;
    height: 100%;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  #sec1 p span {
    color: #333;
  }
  #sec1 .info1 {
    position: relative;
    z-index: 1;
    width: 297px;
    padding: 56px 0 0 0px;
  }
  #sec1 .info2 {
    position: relative;
    z-index: 1;
    width: 305px;
    padding-top: 201px;
  }
  #sec2 {
    padding: 113px 0 126px;
  }
  #sec2 h2 {
    width: 397px;
    margin: 0 0 24px;
    padding-left: 0;
    position: relative;
  }
  #sec2 h2:before {
    background: #fff;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1300%;
    left: 1px;
    transform: translateX(-100%);
  }
  #sec2 dt {
    font-size: 28px;
    line-height: 39px;
    margin: 0 0 20px;
    padding-left: 0;
    background-color: #c20826;
    position: relative;
    margin-bottom: 38px;
    display: inline-block;
  }
  #sec2 dt:before {
    background: #c20826;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 300%;
    left: 1px;
    transform: translateX(-100%);
  }
  #sec3 {
    padding-bottom: 24px;
  }
  #sec3:before {
    bottom: -234px;
  }
  #sec3 h3 {
    font-size: 28px;
    line-height: 41px;
    padding: 19px 0 54px;
  }
  #sec3 .group .menu {
    padding-bottom: 0;
    position: relative;
  }
  #sec3 .group .menu .photo2 {
    padding: 0;
  }
  #sec3 .group .menu .info dt {
    font-size: 28px;
    line-height: 41px;
    padding: 0 0 10px;
  }
  #sec3 .group .menu1 {
    padding-bottom: 40px;
  }
  #sec3 .group .menu1 .info {
    padding: 20px 0 0 41px;
  }
  #sec3 .group .menu1 .photo1 {
    text-align: center;
  }
  #sec3 .group .menu1 .photo2 {
    position: absolute;
    top: 476px;
    right: -41px;
  }
  #sec3 .group .menu2 {
    padding: 0 0 0px 676px;
    margin-bottom: -31px;
    z-index: 4;
  }
  #sec3 .group .menu2 .photo1 {
    position: absolute;
    top: 0;
    left: -200px;
  }
  #sec3 .group .menu2 .photo2 {
    margin: -9px 0 0 -132px;
  }
  #sec3 .group .menu3 dl {
    width: 302px;
  }
  #sec3 .group .menu3 .photo1 {
    position: absolute;
    top: 0;
    right: -200px;
  }
  #sec3 .group .menu3 .photo2 {
    margin: -9px 0 0 -55px;
  }
  #sec4 {
    padding: 0;
    margin-bottom: 180px;
    text-shadow: none;
  }
  #sec4:before {
    left: calc(50% - 448px);
    background-position: right 0;
  }
  #sec4 h2 {
    width: auto;
    padding: 63px 0 3px;
    margin-left: -8px;
  }
  #sec4 dl {
    padding: 0 0 195px 87px;
  }
  #sec4 dl dt {
    line-height: 41px;
    font-size: 28px;
    padding-bottom: 20px;
  }
  #sec4 .photo {
    width: auto;
    bottom: -156px;
    left: -129px;
  }
  #sec5 {
    width: auto;
    margin: 0 50px 80px;
    padding: 1px 0 63px;
  }
  #sec5:before {
    top: 30px;
    left: 30px;
    right: 30px;
    bottom: 30px;
  }
  #sec5 h2 {
    width: auto;
    margin: -34px auto -74px;
    z-index: 5;
  }
  #sec5 h2:before {
    top: 40px;
    height: 30px;
  }
  #sec5 .menu {
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }
  #sec5 .menu .item {
    padding-bottom: 5px;
    margin: 0;
    width: calc(100%/3);
  }
  #sec5 .menu .item:before {
    z-index: 2;
    top: 623px;
    bottom: 0;
    left: -3px;
    right: auto;
    border-left: 4px dashed #333;
    border-top: none;
  }
  #sec5 .menu .item .photo {
    width: auto;
    margin: 0 auto;
  }
  #sec5 .menu .item dl {
    padding-left: 20px;
  }
  #sec5 .menu .item dt {
    font-size: 28px;
    line-height: 41px;
    padding-bottom: 10px;
  }
  #sec5 .menu .item:last-child {
    width: 320px;
    margin-left: 13px;
  }
  #sec5 .menu .item:last-child .photo {
    margin-left: -13px;
  }
  #sec5 .menu .item:last-child:before {
    display: block;
  }
  #sec6 {
    padding: 130px 0 50px;
    box-sizing: border-box;
    min-height: 824px;
    position: relative;
  }
  #sec6:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: calc(50% + 203px);
    background-color: rgba(255, 255, 255, 0.45);
    z-index: 1;
  }
  #sec6 .wrap {
    position: static;
  }
  #sec6 .wrap > * {
    position: relative;
    z-index: 2;
  }
  #sec6 h2 {
    width: auto;
    margin-bottom: 20px;
    font-size: 30px;
    line-height: 62px;
    letter-spacing: 0.1em;
  }
  #sec6 .photo {
    position: absolute;
    height: 100%;
    margin: 0;
    top: 0;
    left: 0;
    right: 0;
    z-index: 0;
  }
  #sec6 .txt {
    width: 264px;
    padding-bottom: 50px;
  }
  #sec6 .bnr-shared {
    max-width: 320px;
    margin: 0;
  }
  #sec6 .bnr-shared a {
    text-align: left;
    padding-left: 23px;
    letter-spacing: 0.24em;
  }
  #sec6 .bnr-shared a span {
    right: 15px;
  }
  #sec7 {
    padding: 20px 0 125px;
    background-size: auto;
    background-position: center 357px;
  }
  #sec7:after {
    left: calc(50% - 0px);
    bottom: 75px;
  }
  #sec7 h2 {
    width: 548px;
    margin: 0 0 -10px 15px;
    font-size: 30px;
    line-height: 57px;
    position: relative;
  }
  #sec7 h2:before {
    background: url("../img/bread/h_line.jpg") repeat-x 0 bottom;
    content: '';
    position: absolute;
    top: 99px;
    height: 221px;
    left: 1px;
    width: 1000%;
    transform: translateX(-100%);
  }
  #sec7 h2 img {
     width: auto;
    margin-left: -63px;
    position: relative;
    z-index: 1;
  }
  #sec7 .txt {
    width: 402px;
    overflow: hidden;
    padding-left: 20px;
    position: absolute;
    top: 199px;
    right: 0;
    z-index: 1;
  }
  #sec7 .txt:before {
    content: '';
    position: absolute;
    top: 10px;
    bottom: 10px;
    border-left: 4px dashed #333;
    left: -3px;
  }
  #sec7 .photo {
    padding: 0;
    margin: 0 0 44px -48px;
  }
  #sec7 .bnr {
    width: 902px;
    margin: 0 auto;
  }
  #sec8 .box-parallax {
    padding: 0;
    height: 500px;
  }
  #sec8 .box-parallax .catch {
    position: absolute;
    bottom: 23px;
    left: calc(50% - 45px);
  }
  #sec8 .wrap:before {
    top: 0;
    left: -149px;
    right: auto;
    width: 750px;
    height: 511px;
  }
  #sec8 .lead {
    padding: 71px 0 67px;
  }
  #sec8 .lead:after {
    width: 320px;
    height: 474px;
    top: 203px;
    left: -288px;
  }
  #sec8 .lead:before {
    height: 356px;
    top: 0;
    left: 27px;
  }
  #sec8 .lead .h-gr {
    position: absolute;
    top: 124px;
    left: 60px;
    z-index: 2;
  }
  #sec8 .lead h2 {
    width: auto;
  }
  #sec8 .lead h3 {
    font-size: 30px;
    line-height: 60px;
    padding: 9px 5px 20px;
  }
  #sec8 .lead .photo {
    text-align: right;
    margin: 0 -64px 0 0;
  }
  #sec8 .menu {
    padding: 42px 0 50px;
  }
  #sec8 .menu:before {
    right: calc(50% - 310px);
  }
  #sec8 .menu:after {
    left: calc(50% + 140px);
  }
  #sec8 .menu .info {
    margin: 0 0 0 50%;
    width: 555px;
  }
  #sec8 .menu .info dt {
    font-size: 30px;
    line-height: 41px;
    padding-bottom: 27px;
  }
  #sec8 .menu .photo {
    position: absolute;
    top: -289px;
    right: calc(50% + 90px);
    width: 659px;
  }
  #sec8 .menu .photo li {
    width: auto;
    margin-bottom: 30px;
  }
  #sec9 {
    padding: 77px 0 138px;
  }
  #sec9 .fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
  }
  #sec9 h2 {
    font-size: 30px;
    line-height: 41px;
    padding-bottom: 65px;
  }
  #sec9 h2 img {
    width: auto;
    position: absolute;
    top: -12px;
    right: 90px;
  }
  #sec9 .group {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
  #sec9 .group .item {
    width: 303px;
    padding: 60px 1px 50px;
    margin-bottom: 0vw;
    box-sizing: border-box;
  }
  #sec9 .group .item:after {
    content: '';
    background: url("../img/bread/arow.png") no-repeat 0 0/100%;
    width: 23px;
    height: 54px;
    bottom: auto;
    left: auto;
    right: -35px;
    top: 43%;
    transform: translateY(-50%);
  }
  #sec9 .group .item dt {
    font-size: 30px;
    line-height: 41px;
    padding-bottom: 26px;
  }
}
@media screen and (min-width: 999px) {
	
	#sec9 @-webkit-keyframes fadeInUp{
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    opacity: 0;
    transform: translate3d(-100%, 0, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
	#sec9 @keyframes fadeInUp {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    opacity: 0;
    transform: translate3d(-100%, 0, 0)
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0)
  }
}
}