/* Scss Document */
h2, h3, h4 {
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.1em;
}
h2 span, h3 span, h4 span {
  letter-spacing: 0.1em;
}
.menu-shared .col {
  width: 48%;
}
.menu-list dl {
  border-bottom: 1px dotted;
  padding: 10px 0;
  text-align: left;
}
.menu-list dl:after {
  content: "." !important;
  clear: both !important;
  display: block !important;
  height: 0 !important;
  visibility: hidden !important;
}
.menu-list dl dt {
  float: left;
}
.menu-list dl dd {
  text-align: right;
  float: right;
}
.bg1 {
  background: url("../img/shared/bg1.png") repeat center 0;
}
header .group-hd-fixed {
  position: relative;
}
header .group-hd-fixed .hd-wrapper {
  position: relative;
}
header .group-hd-fixed .hd-pos {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
header .group-hd-fixed .hd-top {
  background: url("../img/shared/hd_bg_sp.png") no-repeat center 0/100%;
  padding-bottom: 45vw;
}
header .group-hd-fixed .logo {
  width: 40%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  header .group-hd-fixed {
    background: none;
  }
  header .group-hd-fixed:before {
    background: url("../img/shared/bg1.png") repeat center 0;
    content: '';
    position: absolute;
    top: 34px;
    left: 50px;
    right: 50px;
    bottom: 0;
    z-index: -1;
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  header .group-hd-fixed:before {
    left: 40px;
    right: 40px;
  }
}
@media screen and (min-width: 768px) {
  header .group-hd-fixed .hd-top {
    background: url("../img/shared/hd_bg.png") repeat-x center 0;
    padding-bottom: 150px;
  }
  header .group-hd-fixed .logo {
    width: 296px;
    margin: 0 auto;
  }
}
#sec-key {
  position: relative;
  padding: 5vw 3%;
  z-index: 3;
  background: url("../img/index/key_deco_sp.png") no-repeat 0 60vw/100%;
}
#sec-key:before {
  background: url("../img/shared/bg1.png") repeat center 0;
  content: '';
  width: 32vw;
  height: 33vw;
  position: absolute;
  bottom: -10vw;
  left: 0vw;
  z-index: -1;
}
#sec-key .h2-tt {
  color: #fff;
  position: absolute;
  top: 21vw;
  left: 6vw;
  z-index: 4;
}
#sec-key .h2-tt span {
  background-color: #002c59;
  letter-spacing: 0.18em;
  font-size: 6vw;
  white-space: nowrap;
  line-height: 1.4;
  padding: 4% 0;
  display: inline-block;
  margin-left: 1vw;
}
#sec-key .h2-tt span.pad {
  margin-top: 8vw;
}
#sec-key h3 {
  position: absolute;
  top: 56vw;
  z-index: 4;
  left: 5vw;
  right: 4vw;
}
#sec-key .photo-list {
  position: relative;
  padding-bottom: 5vw;
}
#sec-key .photo-list:before {
  background: url("../img/shared/bg1.png") repeat center 0;
  content: '';
  width: 35vw;
  height: 73vw;
  position: absolute;
  bottom: -1vw;
  right: -5vw;
  z-index: -1;
}
#sec-key .photo-list li:nth-child(1) {
  width: 54%;
  position: relative;
  z-index: 1;
}
#sec-key .photo-list li:nth-child(1):before {
  background: url("../img/shared/bg1.png") repeat center 0;
  content: '';
  width: 25vw;
  height: 20vw;
  position: absolute;
  bottom: -17vw;
  right: -7vw;
  z-index: -1;
}
#sec-key .photo-list li:nth-child(2) {
  margin: -21vw 0 45vw 43%;
  position: relative;
  z-index: 2;
}
#sec-key .photo-list li:nth-child(3) {
  margin-left: 52%;
}
#sec-key .photo-list li:nth-child(4) {
  width: 61%;
  margin: -18vw 0 0 2%;
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 768px) {
  #sec-key {
    margin: 0;
    padding: 56px 0 0;
    background: url("../img/index/key_deco.png") no-repeat 0 434px;
  }
  #sec-key:before {
    width: calc(50% - 258px);
    height: 540px;
    top: 442px;
    bottom: auto;
    right: 0;
    left: auto;
    z-index: -1;
  }
  #sec-key .wrap {
    max-width: 1300px;
    min-height: 1100px;
    padding-bottom: 90px;
  }
  #sec-key .h2-tt {
    position: absolute;
    top: 160px;
    left: 84px;
  }
  #sec-key .h2-tt span {
    font-size: 36px;
    padding: 17px 0 20px;
    margin-left: 6px;
    line-height: 60px;
  }
  #sec-key .h2-tt span.pad {
    margin-top: 50px;
    padding: 24px 0 20px;
  }
  #sec-key h3 {
    top: 398px;
    left: calc(50% - 569px);
    right: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1155px) {
  #sec-key h3 {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  #sec-key .photo-list {
    position: relative;
    padding: 44px 0 0;
  }
  #sec-key .photo-list:before {
    width: 382px;
    height: 348px;
    bottom: -390px;
    left: 20px;
  }
  #sec-key .photo-list li:nth-child(1) {
    width: 54%;
    position: absolute;
    height: 334px;
    top: 0;
    right: calc(50% + 58px);
    max-width: 526px;
  }
  #sec-key .photo-list li:nth-child(1):before {
    display: none;
    right: auto;
  }
  #sec-key .photo-list li:nth-child(2) {
    margin: 0px 0 45px 50%;
    height: 496px;
  }
  #sec-key .photo-list li:nth-child(3) {
    margin: 0;
    margin-left: calc(50% + 150px);
  }
  #sec-key .photo-list li:nth-child(4) {
    width: auto;
    position: absolute;
    top: 672px;
    right: calc(50% - 103px);
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  #sec-key {
    padding-right: 40px;
    padding-left: 40px;
  }
}
#news {
  padding: 5vw 10%;
  position: relative;
}
#news .bnr {
  position: absolute;
  right: 0;
  top: 5vw;
  z-index: 1;
}
#news .bnr a {
  display: inline-block;
  border-bottom: 1px solid black;
}
#news .bnr a:hover {
  border-bottom: 1px solid rgba(0, 0, 0, 0);
}
#news h2 {
  font-size: 6vw;
  line-height: 1.5;
  letter-spacing: 0.15em;
  padding-bottom: 5vw;
}
#news .date {
  padding-right: 10px;
}
@media screen and (min-width: 768px) {
  #news {
    width: 390px;
    margin-left: calc(50% + 183px);
    padding: 49px 0 0;
  }
  #news .bnr {
    top: 53px;
  }
  #news .bnr a {
    font-size: 15px;
  }
  #news h2 {
    font-size: 26px;
    padding-bottom: 13px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1260px) {
  #news {
    width: auto;
    margin-left: calc(50% + 123px);
    margin-right: 40px;
  }
}
#sec1 {
  background: url("../img/index/sec1_bg1_sp.png") no-repeat center 0/100%;
  padding: 15vw 0;
}
#sec1 h2 {
  width: 80%;
  margin: 0 auto 21vw;
}
#sec1 h3 {
  margin: 0 auto 10vw;
  white-space: nowrap;
  font-size: 8vw;
  line-height: 1.5;
}
#sec1 h3 span {
  font-size: 6.5vw;
}
#sec1 .txt {
  padding: 0 3%;
}
#sec1 .photo1 {
  position: relative;
  margin-top: 10vw;
  padding: 8vw 0 0 3%;
  z-index: 4;
}
#sec1 .photo1:before {
  content: '';
  position: absolute;
  top: 0;
  right: -5vw;
  bottom: 10vw;
  left: 20vw;
  z-index: -1;
  background: url("../img/shared/bg2.jpg") repeat center 0;
}
#sec1 .photo1 li:nth-child(1) {
  width: 84%;
}
#sec1 .photo1 li:nth-child(2) {
  margin: -5vw 0 0 31%;
  position: relative;
  z-index: 1;
}
#sec1 .staff {
  padding: 10vw 0 0;
  position: relative;
  z-index: 1;
}
#sec1 .staff:before {
  content: '';
  position: absolute;
  top: 45vw;
  left: -5vw;
  bottom: 0vw;
  width: 10vw;
  z-index: -1;
  background: url("../img/shared/bg2.jpg") repeat center 0;
}
#sec1 .staff .decor {
  left: -5vw;
  position: absolute;
  top: -56vw;
  right: -5vw;
  z-index: -1;
}
#sec1 .staff .box {
  margin-left: 10%;
}
#sec1 .staff h4 {
  padding-bottom: 5vw;
  font-size: 7.8vw;
  line-height: 1.5;
}
#sec1 .staff h4 span {
  font-size: 6.2vw;
}
#sec1 .staff .photo2 {
  position: relative;
  padding: 0vw 0 8vw;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #sec1 {
    background: url("../img/index/sec1_bg.png") no-repeat center 62px;
    padding: 62px 0 0;
  }
  #sec1 .wrap {
    max-width: 1420px;
  }
  #sec1 h2 {
    width: auto;
    margin: 0;
    position: absolute;
    top: 0;
    left: calc(50% + 50px);
  }
  #sec1 h3 {
    margin: 0 0 59px 57px;
    font-size: 66px;
    line-height: 95px;
  }
  #sec1 h3 span {
    font-size: 57px;
  }
  #sec1 .info {
    position: relative;
    justify-content: flex-end;
    display: flex;
    padding: 278px 0 50px;
    min-height: 1187px;
  }
  #sec1 .info .box-in {
    width: 387px;
    margin-right: calc(50% + 86px);
  }
  #sec1 .txt {
    padding: 0;
  }
  #sec1 .photo1 {
    position: absolute;
    margin-top: 0;
    padding: 0;
    top: 702px;
    left: calc(50% + 35px);
    right: 0;
  }
  #sec1 .photo1:before {
    width: 374px;
    height: 648px;
    top: -94px;
    right: auto;
    bottom: auto;
    left: 341px;
  }
  #sec1 .photo1 li:nth-child(1) {
    width: auto;
  }
  #sec1 .photo1 li:nth-child(2) {
    margin: -35px 0 0 0;
    float: right;
    max-width: 461px;
    width: 70%;
    height: 294px;
    position: relative;
    z-index: 1;
  }
  #sec1 .staff {
    padding: 240px 0 0;
    min-height: 628px;
  }
  #sec1 .staff:before {
    top: auto;
    left: auto;
    right: calc(50% + 100px);
    bottom: -82px;
    width: 648px;
    height: 511px;
  }
  #sec1 .staff .decor {
    left: -191px;
    position: absolute;
    top: -321px;
    right: auto;
    z-index: -1;
  }
  #sec1 .staff .box {
    margin-left: calc(50% + 200px);
    width: 347px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  #sec1 .staff .box {
    margin-left: calc(50% + 120px);
  }
}
@media screen and (min-width: 768px) {
  #sec1 .staff h4 {
    padding-bottom: 31px;
    font-size: 38px;
    text-align: left;
    letter-spacing: 0.18em;
  }
  #sec1 .staff h4 span {
    font-size: 30px;
    letter-spacing: 0.18em;
  }
  #sec1 .staff .photo2 {
    position: absolute;
    padding: 0;
    height: 628px;
    max-width: 685px;
    top: 0;
    right: calc(50% + -77px);
    width: 50%;
  }
}
#sec2 {
  position: relative;
  padding-bottom: 20vw;
}
#sec2 .line {
  border-left: 5px solid #002c59;
  position: absolute;
  z-index: 1;
  top: -15vw;
  left: 4vw;
  bottom: 0;
}
#sec2 .line:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -10px;
  border-left: 1px solid #002c59;
}
#sec2 h2 {
  position: relative;
  margin: 0 -5vw 3vw;
}
#sec2 h2 span {
  font-size: 8vw;
  position: absolute;
  top: 16vw;
  left: 68vw;
  z-index: 1;
  white-space: nowrap;
}
#sec2 .txt {
  padding: 5vw 8% 0;
}
#sec2 .list {
  position: relative;
  z-index: 4;
}
#sec2 .list li {
  letter-spacing: 0.05em;
  font-size: 4.8vw;
  line-height: 1.3;
  position: absolute;
  top: 9vw;
  left: 64vw;
  z-index: 1;
  white-space: nowrap;
}
#sec2 .list li:nth-child(2) {
  top: 7vw;
  left: 45vw;
}
#sec2 .list li:nth-child(3) {
  top: -1vw;
  left: 31vw;
}
#sec2 .list li:nth-child(4) {
  top: 13vw;
  left: 6vw;
}
#sec2 .list li:nth-child(5) {
  top: auto;
  left: 5.2vw;
  bottom: 12vw;
}
#sec2 .list li:nth-child(6) {
  top: auto;
  left: 25vw;
  bottom: 7vw;
}
#sec2 .list li:nth-child(7) {
  top: auto;
  left: 43vw;
  bottom: 11vw;
}
#sec2 .list li:nth-child(8) {
  top: auto;
  left: 62vw;
  bottom: 6vw;
}
#sec2 .list li:nth-child(9) {
  top: auto;
  left: 78vw;
  bottom: 13vw;
}
#sec2 .list .photo {
  margin: 0 -5vw;
}
@media screen and (min-width: 768px) {
  #sec2 {
    padding: 176px 0 33px;
    position: relative;
  }
  #sec2:before {
    background: url("../img/index/sec2_bg.jpg") no-repeat center 0;
    content: '';
    position: absolute;
    top: -23px;
    width: 1763px;
    height: 1420px;
    left: calc(50% - 663px);
    z-index: -1;
  }
  #sec2 .line {
    top: 81px;
    left: calc(50% - 668px);
  }
  #sec2 .line:before {
    left: -8px;
  }
  #sec2 h2 {
    margin: 0;
    position: absolute;
    top: 0;
    left: calc(50% + 262px);
  }
  #sec2 h2 span {
    font-size: 48px;
    top: -39px;
    left: auto;
    right: -28px;
  }
  #sec2 .txt {
    padding: 0;
    height: 357px;
    position: absolute;
    top: 662px;
    right: calc(50% + 265px);
  }
  #sec2 .list {
    position: relative;
    z-index: 4;
  }
  #sec2 .list li {
    font-size: 30px;
    top: 67px;
    left: 600px;
    letter-spacing: 0.15em;
  }
  #sec2 .list li:nth-child(2) {
    top: 43px;
    left: 467px;
  }
  #sec2 .list li:nth-child(3) {
    top: -8px;
    left: 341px;
  }
  #sec2 .list li:nth-child(4) {
    top: 84px;
    left: 127px;
  }
  #sec2 .list li:nth-child(5) {
    left: 355px;
    bottom: 113px;
  }
  #sec2 .list li:nth-child(6) {
    left: 500px;
    bottom: 74px;
  }
  #sec2 .list li:nth-child(7) {
    left: 639px;
    bottom: 112px;
  }
  #sec2 .list li:nth-child(8) {
    left: 782px;
    bottom: 89px;
  }
  #sec2 .list li:nth-child(9) {
    left: 905px;
    bottom: 135px;
  }
  #sec2 .list .photo {
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1136px) {
  #sec2 .wrap {
    max-width: 100%;
  }
  #sec2 h2 {
    left: 770px;
  }
  #sec2 h2 img {
    width: 200px;
    height: auto;
  }
  #sec2 .txt {
    right: auto;
    left: 20px;
  }
}
#sec3 .sec-bg {
  background: rgba(209, 195, 166, 0.3);
  position: relative;
  z-index: 1;
  padding-top: 10vw;
}
#sec3 #progress {
  margin-top: 5vw;
  height: 1px;
  background: #a39d91;
  position: relative;
}
#sec3 #progress span {
  position: absolute;
  background: #000;
  top: 0px;
  height: 3px;
  width: 36%;
}
#sec3 .sec3-1 {
  position: relative;
  padding: 5vw 0 0;
  background: url("../img/index/sec3_deco1.png") no-repeat 0 5vw/69%;
}
#sec3 .sec3-1:before {
  content: '';
  position: absolute;
  top: -23vw;
  right: 0vw;
  width: 25vw;
  height: 25vw;
  z-index: -1;
  background: url("../img/shared/bg2.jpg") repeat center 0;
}
#sec3 h2 {
  font-size: 7vw;
  line-height: 1.5;
  margin-bottom: 7vw;
}
#sec3 h2 i {
  gap: 1vw;
  display: flex;
  justify-content: center;
}
#sec3 h2 i span {
  background-color: rgba(228, 215, 194, 0.7);
  color: #002c59;
  font-size: 12vw;
  text-align: center;
  width: 16.8vw;
  line-height: 1.4;
}
#sec3 .sec3-js {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
#sec3 .sec3-js .item {
  min-width: 100%;
  padding: 0vw 5% 0;
  font-size: 12px;
  line-height: 1.8;
}
#sec3 .sec3-js .item dt {
  text-align: center;
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.15em;
  font-size: 20px;
  padding: 10px 0;
}
#sec3 .wrap {
  padding: 5vw 3% 0vw;
  margin-top: 15vw;
}
#sec3 .wrap:before {
  content: '';
  position: absolute;
  top: 0vw;
  left: 0vw;
  width: 15vw;
  height: 15vw;
  z-index: -1;
  background: url("../img/shared/bg2.jpg") repeat center 0;
}
#sec3 .wrap:after {
  content: '';
  position: absolute;
  bottom: -10vw;
  right: 0vw;
  width: 32vw;
  height: 35vw;
  z-index: -1;
  background: url("../img/shared/bg2.jpg") repeat center 0;
}
#sec3 .menu {
  background: url("../img/shared/bg3.jpg") repeat center 0;
  padding: 10vw 8% 15vw;
  position: relative;
  z-index: 1;
}
#sec3 .menu:before {
  content: '';
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  bottom: 8px;
  border: 3px solid #002c59;
  z-index: 1;
}
#sec3 .menu h3 {
  font-size: 7.5vw;
  line-height: 1.4;
  padding-bottom: 5vw;
}
#sec3 .menu .menu-list dl {
  font-size: 13px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
#sec3 .menu .menu-list .menu-col {
  width: 48%;
}
@media screen and (min-width: 768px) {
  #sec3 .sec-bg {
    padding: 0 0 275px;
  }
  #sec3 #progress {
    margin-top: 50px;
    margin-left: calc(50% - 300px);
    margin-right: 50px;
  }
  #sec3 #progress span {
    width: 330px;
  }
  #sec3 .sec3-1 {
    padding: 122px 0 0;
    background-size: auto;
    background-position: calc(50% - 565px) 51px;
  }
  #sec3 .sec3-1:before {
    top: -60px;
    width: 284px;
    height: 295px;
  }
  #sec3 .sec3-1:after {
    content: "";
    background: url("../img/index/sec3_deco1.png") no-repeat right 50px top 51px, url("../img/index/bg.jpg") repeat center top;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: calc(50% + 300px);
  }
  #sec3 h2 {
    font-size: 48px;
    line-height: 1.5;
    margin-bottom: 0;
    position: absolute;
    top: 156px;
    left: calc(50% - 595px);
    height: 760px;
    text-align: left;
    z-index: 9;
  }
  #sec3 h2 i {
    margin-top: 90px;
    justify-content: flex-start;
    gap: 7px;
    flex-wrap: wrap;
  }
  #sec3 h2 i span {
    font-size: 127px;
    line-height: 1;
    height: 144px;
    width: auto;
    text-align: left;
    display: block;
    padding: 0 12px 0 5px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1210px) {
  #sec3 h2 {
    left: 20px;
  }
}
@media screen and (min-width: 768px) {
  #sec3 .sec3-js {
    gap: 35px;
    width: 600px;
    margin: 0 auto;
  }
  #sec3 .sec3-js .item {
    width: 435px;
    min-width: 435px;
    padding: 0 0;
    font-size: 15px;
    line-height: 32px;
  }
  #sec3 .sec3-js .item dt {
    font-size: 30px;
    padding: 40px 0 20px;
  }
  #sec3 .sec3-js .item dd {
    width: 323px;
    margin: 0 auto;
  }
  #sec3 .wrap {
    padding: 0;
    margin-top: -170px;
    z-index: 9;
  }
  #sec3 .wrap:before {
    top: -33px;
    left: -197px;
    width: 283px;
    height: 296px;
    background: url("../img/index/sec2_deco2.png") repeat center 0;
  }
  #sec3 .wrap:after {
    bottom: -69px;
    right: -119px;
    width: 268px;
    height: 249px;
  }
  #sec3 .menu {
    padding: 62px 30px 83px;
  }
  #sec3 .menu:before {
    border: 5px solid #002c59;
  }
  #sec3 .menu h3 {
    font-size: 48px;
    padding-bottom: 3px;
  }
  #sec3 .menu .menu-list {
    max-width: 700px;
    margin: 0 auto;
    padding: 32px 0 0;
  }
  #sec3 .menu .menu-list dl {
    font-size: 15px;
    line-height: 39px;
    padding: 0;
  }
  #sec3 .menu .menu-list .menu-col {
    width: 208px;
  }
}
#sec4 {
  padding: 15vw 0;
  background: url("../img/index/sec4_deco_sp.png") no-repeat 0 0/100%;
}
#sec4 h2 {
  font-size: 7vw;
  line-height: 1.5;
  margin-bottom: 7vw;
}
#sec4 h2 span {
  letter-spacing: 0;
  color: #002c59;
  font-size: 14vw;
}
#sec4 .lead {
  background: url("../img/index/sec4_deco.png") no-repeat center 5vw/34%;
}
#sec4 .js {
  padding: 10vw 0 5vw;
}
#sec4 .js-fade li {
  position: relative;
}
#sec4 .js-fade li dl {
  position: absolute;
  z-index: 1;
  bottom: 5vw;
  left: 0;
  right: 0;
  font-size: 6vw;
  line-height: 1.4;
  letter-spacing: 0.15em;
  color: #fff;
  text-align: center;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: 3vw;
  text-shadow: 4px 0px 4px black;
}
#sec4 .js-fade li dl dd {
  font-size: 5vw;
}
#sec4 .js-fade li dl dd span {
  font-size: 4.5vw;
}
#sec4 .js-thumb {
  padding: 20px 0;
}
#sec4 .js-thumb li {
  width: 25vw !important;
}
#sec4 .js-thumb .slick-list, #sec4 .js-thumb .slick-track {
  transform: none !important;
  width: 100% !important;
}
#sec4 .js-thumb .slick-track {
  justify-content: center;
  display: flex;
  gap: 5px;
}
#sec4 .js-thumb .slick-slide {
  background-color: #000;
}
#sec4 .js-thumb .slick-slide img {
  opacity: 0.4;
}
#sec4 .js-thumb .slick-slide.slick-current img {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  #sec4 {
    padding: 120px 20px 77px;
    background: none;
    position: relative;
  }
  #sec4:before {
    content: '';
    background: url("../img/index/sec3_deco3.png") no-repeat center 0;
    position: absolute;
    top: -377px;
    left: 0;
    right: 0;
    bottom: 0;
  }
  #sec4 .wrap {
    max-width: 1200px;
    justify-content: flex-end;
    display: flex;
  }
  #sec4 h2 {
    font-size: 48px;
    line-height: 1;
    margin-bottom: 60px;
  }
  #sec4 h2 span {
    display: inline-block;
    margin-top: 15px;
    font-size: 127px;
  }
  #sec4 .lead {
    background-size: auto;
    background-position: center 55px;
    width: 406px;
    padding: 41px 0 0;
  }
  #sec4 .lead .txt {
    padding: 0 13px 60px;
  }
  #sec4 .js {
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 485px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  #sec4 .js {
    right: 440px;
  }
}
@media screen and (min-width: 768px) {
  #sec4 .js-fade li {
    position: relative;
    height: 528px;
  }
  #sec4 .js-fade li dl {
    bottom: 16px;
    right: 15px;
    font-size: 30px;
    text-align: left;
    justify-content: flex-end;
    gap: 27px;
  }
  #sec4 .js-fade li dl dd {
    font-size: 24px;
  }
  #sec4 .js-fade li dl dd span {
    font-size: 20px;
  }
  #sec4 .js-thumb {
    padding: 10px 0 0;
  }
  #sec4 .js-thumb .slick-track {
    justify-content: flex-end;
    gap: 10px;
  }
  #sec4 .js-thumb li {
    width: 138px !important;
  }
  #sec4 .js-thumb li:hover {
    opacity: 0.8;
  }
}
#sec5 {
  background: url("../img/index/sec5_bg_sp.jpg") no-repeat center 0/100%;
  padding: 0 0 18vw;
}
#sec5 h2 {
  padding: 8vw 19% 0vw;
}
#sec5 .menu .item {
  position: relative;
  padding: 16vw 6.3% 0vw;
}
#sec5 .menu .item .tag {
  text-align: center;
  width: 71.6%;
  position: absolute;
  top: 0;
  left: -5vw;
  z-index: 1;
  line-height: 1.5;
  font-weight: 700;
}
#sec5 .menu .item .tag dd {
  letter-spacing: 0.15em;
  font-size: 5.5vw;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 5%;
  bottom: 16vw;
}
#sec5 .menu .item .tag dd span {
  font-size: 5vw;
}
#sec5 .menu .item .tag dd span.t {
  font-size: 6.5vw;
}
#sec5 .menu .item .tag.tag2 {
  left: auto;
  right: -5vw;
  top: -3vw;
}
#sec5 .menu .item .tag.tag2 dd {
  right: 0;
  left: 10%;
  bottom: 20vw;
}
#sec5 .menu .item:nth-child(2) {
  padding-top: 10vw;
}
#sec5 .txt {
  padding: 5vw 2% 8vw;
}
@media screen and (min-width: 768px) {
  #sec5 {
    background: url("../img/index/sec5_bg.jpg") no-repeat center 0;
    padding: 135px 20px 108px;
  }
  #sec5 h2 {
    padding: 0;
    position: absolute;
    top: -26px;
    left: 50%;
    max-width: 428px;
    width: 45%;
    transform: translateX(-50%);
  }
  #sec5 h2 img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  #sec5 h2 {
    width: 33%;
  }
}
@media screen and (min-width: 768px) {
  #sec5 .wrap {
    max-width: 1300px;
    padding-top: 639px;
  }
  #sec5 .menu .item {
    padding: 0;
    position: absolute;
    max-width: 405px;
    width: 34%;
    top: 0;
    right: 0;
  }
  #sec5 .menu .item .photo {
    height: 500px;
  }
  #sec5 .menu .item .tag {
    width: 70.1%;
    left: -75px;
    top: 294px;
    line-height: 40px;
  }
  #sec5 .menu .item .tag img {
    width: 100%;
    height: auto;
  }
  #sec5 .menu .item .tag dd {
    font-size: 24px;
    right: 5px;
    bottom: 70px;
    line-height: 36px;
  }
  #sec5 .menu .item .tag dd span {
    font-size: 20px;
    letter-spacing: 0.15em;
  }
  #sec5 .menu .item .tag dd span.t {
    font-size: 30px;
  }
  #sec5 .menu .item .tag.tag2 {
    left: auto;
    right: -64px;
    top: -85px;
  }
  #sec5 .menu .item .tag.tag2 dd {
    right: 0;
    left: 5px;
    bottom: 72px;
  }
  #sec5 .menu .item:nth-child(2) {
    padding-top: 0;
    top: 224px;
    left: 3px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  #sec5 .menu .item {
    max-width: 100%;
  }
  #sec5 .menu .item .tag {
    left: -14%;
    font-size: 2vw;
    line-height: 1.2;
  }
  #sec5 .menu .item .tag dd {
    bottom: 20%;
  }
  #sec5 .menu .item .tag dd span {
    font-size: 1.5vw;
  }
  #sec5 .menu .item .tag dd span.t {
    font-size: 2.35vw;
  }
  #sec5 .menu .item .tag.tag2 {
    right: -7%;
  }
  #sec5 .menu .item .tag.tag2 dd {
    bottom: 23%;
  }
}
@media screen and (min-width: 768px) {
  #sec5 .info {
    width: 425px;
    margin-left: calc(50% + 44px);
  }
  #sec5 .info .bnr-shared a {
    padding: 0 30px 0 0;
  }
  #sec5 .txt {
    padding: 0 10px 54px 10px;
  }
}
#sec6 {
  padding: 15vw 0;
  position: relative;
  text-align: center;
}
#sec6:before {
  content: '';
  border-left: 4px solid #002c59;
  height: 14vw;
  position: absolute;
  left: calc(50% - 2px);
  top: -7vw;
  z-index: 1;
}
#sec6 h2 {
  font-size: 7.5vw;
  line-height: 1.4;
  padding-bottom: 5vw;
}
#sec6 .link {
  gap: 2vw;
  padding: 10vw 0 0;
}
#sec6 .link li {
  width: 100%;
  background-color: #002c59;
}
#sec6 .link li.bnr-shared a {
  flex-direction: column;
  font-size: 18px;
  padding: 26px 0;
}
#sec6 .link li.tel {
  padding: 14px 0;
  font-size: 16px;
  letter-spacing: 0.09em;
  color: #002c59;
  border: 2px solid;
  background-color: transparent;
}
#sec6 .link li.tel .num {
  letter-spacing: 0.06em;
  font-size: 24px;
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
#sec6 .link li.tel .num img {
  width: 18px;
  height: auto;
  margin: 5px 0 0px;
}
#sec6 .link li.tel .note {
  letter-spacing: 0em;
  font-size: 11px;
}
@media screen and (min-width: 768px) {
  #sec6 {
    padding: 55px 0 71px;
  }
  #sec6:before {
    height: 68px;
    top: -34px;
  }
  #sec6 h2 {
    font-size: 48px;
    line-height: 1.4;
    padding-bottom: 7px;
  }
  #sec6 .link {
    gap: 16px;
    padding: 21px 0 0;
    justify-content: center;
  }
  #sec6 .link li {
    width: 390px;
  }
  #sec6 .link li.bnr-shared a {
    flex-direction: column;
    font-size: 24px;
    padding: 35px 0 40px;
    gap: 14px;
    line-height: 1;
    letter-spacing: 0.09em;
  }
  #sec6 .link li.bnr-shared a img {
    width: 30px;
    height: auto;
  }
  #sec6 .link li.tel {
    padding: 23px 3px 14px;
    font-size: 18px;
    color: #002c59;
    border: 2px solid;
    background-color: transparent;
  }
  #sec6 .link li.tel .num {
    font-size: 26px;
    gap: 5px;
    padding: 0 0 0 14px;
  }
  #sec6 .link li.tel .num img {
    width: 23px;
    height: auto;
    margin: 5px 0 0px;
  }
  #sec6 .link li.tel .note {
    font-size: 13px;
  }
}
#sec7 {
  background: url("../img/index/sec7_bg_sp.png") no-repeat center bottom/100%;
  padding-bottom: 15vw;
}
#sec7 .lead {
  background: url("../img/index/sec7_bg_sp.jpg") no-repeat center/cover;
  color: #fff;
  padding: 25vw 7%;
}
#sec7 .lead h2 {
  font-size: 8vw;
  line-height: 1.6;
  padding-bottom: 5vw;
  margin-bottom: 5vw;
  border-bottom: 1px solid;
  position: relative;
}
#sec7 .lead h2:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  border-bottom: 3px solid;
}
#sec7 .banner {
  margin-top: -10vw;
  padding: 0 4%;
  position: relative;
  z-index: 1;
  gap: 6px;
}
#sec7 .banner li {
  width: calc(50% - 3px);
}
#sec7 .floormap {
  background: url("../img/shared/bg3.jpg") repeat 0 0;
  padding: 5%;
  margin: 10vw 3%;
}
#sec7 .floormap h3 {
  text-align: right;
  font-size: 6vw;
  line-height: 1.5;
  padding-bottom: 5vw;
}
@media screen and (min-width: 768px) {
  #sec7 {
    background: url("../img/index/sec8_deco.png") no-repeat center bottom;
    padding: 0 0 89px;
    margin-bottom: 42px;
  }
  #sec7 .lead {
    position: absolute;
    background: none;
    padding: 0;
    width: 450px;
    top: 50px;
    bottom: 50px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    justify-content: center;
    align-items: center;
    display: flex;
    z-index: 9;
    pointer-events: none;
  }
  #sec7 .lead .box {
    width: 350px;
    padding-bottom: 65px;
  }
  #sec7 .lead .txt {
    padding: 0 8px;
  }
  #sec7 .lead h2 {
    font-size: 44px;
    line-height: 80px;
    padding-bottom: 43px;
    margin-bottom: 31px;
  }
  #sec7 .lead h2:before {
    border-bottom: 5px solid;
  }
  #sec7 #imgScrollAnimate {
    pointer-events: none;
    z-index: 2;
    width: 100%;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-clip-path: polygon(34% 14%, 66% 14%, 66% 86%, 34% 86%);
    clip-path: polygon(34% 14%, 66% 14%, 66% 86%, 34% 86%);
    position: absolute;
    top: 50%;
    left: 50%;
  }
  #sec7 #imgScrollAnimate img {
    height: 130%;
  }
  #sec7 #imgScrollAnimate span {
    display: block;
    width: 100%;
    height: 100%;
  }
  #sec7 .sec7-js {
    padding: 70px 20px 55px;
    position: relative;
  }
  #sec7 .banner {
    padding: 0;
    z-index: 1;
    justify-content: space-between;
    gap: 45px;
    max-width: 1190px;
    margin: 0 auto 0;
  }
  #sec7 .banner li {
    width: 421px;
  }
  #sec7 .floormap {
    width: 780px;
    padding: 40px 34px 44px 0px;
    margin: 0 auto;
    position: relative;
    text-align: center;
  }
  #sec7 .floormap h3 {
    position: absolute;
    top: 31px;
    right: 32px;
    font-size: 34px;
    padding-bottom: 0;
  }
}
.sec-group {
  color: #fff;
}
.sec-group .wrap {
  padding: 0 5%;
}
@media screen and (min-width: 768px) {
  .sec-group .wrap {
    padding: 0;
  }
}
#sec9 {
  background: url("../img/shared/hd_bg_sp.png") no-repeat 0 0/100%;
  padding: 15vw 0 0;
  font-size: 13px;
  position: relative;
}
#sec9 .deco {
  width: 24%;
  position: absolute;
  top: 39vw;
  right: 17vw;
  z-index: 1;
}
#sec9 h2 {
  font-size: 7vw;
  line-height: 1.5;
  margin: 0 auto 10vw;
}
#sec9 .lead {
  text-align: center;
}
#sec9 .lead .logo {
  width: 52%;
  margin: 0 auto 0;
}
#sec9 .lead .bnr-shared {
  margin: 0 3%;
}
#sec9 .lead .bnr-shared a {
  background-color: transparent;
  border: 1px solid;
}
#sec9 .lead .bnr-shared img {
  width: 22px;
}
#sec9 .lead .policy {
  padding: 20px 0;
}
#sec9 .lead .tel {
  padding: 14px 0;
  font-size: 16px;
  letter-spacing: 0.09em;
  color: #fff;
  text-align: center;
}
#sec9 .lead .tel .num {
  letter-spacing: 0.06em;
  font-size: 24px;
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
#sec9 .lead .tel .num img {
  width: 18px;
  height: auto;
  margin: 5px 0 0px;
}
#sec9 .lead .tel .note {
  letter-spacing: 0em;
  font-size: 12px;
}
#sec9 .tbl-info dl {
  padding: 10px 0;
  letter-spacing: 0;
  display: table;
  width: 100%;
  line-height: 1.6;
  font-size: 13px;
}
#sec9 .tbl-info dl dt, #sec9 .tbl-info dl dd {
  display: table-cell;
}
#sec9 .tbl-info dl dt {
  width: 100px;
}
@media screen and (min-width: 768px) {
  #sec9 {
    background: url("../img/index/sec9_bg1.png") repeat-x center 0;
    padding: 100px 20px 0;
    font-size: 15px;
  }
  #sec9 .deco {
    width: auto;
    top: 230px;
    right: 0;
  }
  #sec9 h2 {
    font-size: 60px;
    margin: 0 auto 111px;
  }
  #sec9 .group {
    justify-content: space-between;
    display: flex;
    padding: 0 0 36px;
  }
  #sec9 .lead {
    width: 355px;
  }
  #sec9 .lead .logo {
    width: 295px;
    margin: 0 0 -2px 54px;
  }
  #sec9 .lead .logo img {
    width: 100%;
    height: auto;
  }
  #sec9 .lead .bnr-shared {
    margin: 0 0;
  }
  #sec9 .lead .bnr-shared a {
    font-size: 18px;
    gap: 16px;
    line-height: 75px;
    padding: 0 0px 0 10px;
    letter-spacing: 0.09em;
  }
  #sec9 .lead .policy {
    padding: 24px 0;
  }
  #sec9 .lead .tel {
    padding: 14px 0;
    font-size: 17px;
    margin: 0 -20px;
  }
  #sec9 .lead .tel .num {
    font-size: 26px;
    gap: 5px;
    padding: 0 0 0 0;
  }
  #sec9 .lead .tel .num img {
    width: 19px;
    margin: 0 0px;
  }
  #sec9 .lead .tel .note {
    font-size: 14px;
  }
  #sec9 .tbl-info {
    width: 571px;
    padding: 42px 0 0;
  }
  #sec9 .tbl-info dl {
    padding: 0px 0 32px;
    letter-spacing: 0.15em;
    line-height: 32px;
    font-size: 15px;
  }
  #sec9 .tbl-info dl dt {
    width: 135px;
  }
}
#gmap {
  padding: 10vw 5%;
}
#gmap .map-link {
  padding: 10px 0 0;
  text-align: center;
}
#gmap .map-link a {
  font-size: 17px;
  text-decoration: underline;
}
#gmap .map-link a:hover {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  #gmap {
    padding: 30px 0 20px;
    max-width: 1200px;
    margin: 0 auto;
  }
  #gmap .map {
    line-height: 0;
  }
  #gmap .map iframe {
    height: 386px !important;
  }
  #gmap .map-link {
    display: flex;
    justify-content: flex-end;
    padding: 13px 9px 0 0;
    gap: 20px;
    text-align: left;
  }
  #gmap .map-link a {
    font-size: 18px;
  }
  #gmap .map-link .gmap_print a {
    font-size: 15px;
    text-decoration: none;
  }
  #gmap .map-link .gmap_print a:hover {
    text-decoration: underline;
  }
}
.pop-bg {
  background: url("../img/shared/bd_bg.jpg") repeat center 0;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 5% 5% 10vw;
}
.pop-bg h2 {
  font-size: 6.5vw;
  padding-bottom: 5vw;
  line-height: 1.4;
}
.pop-bg .note {
  padding-bottom: 20px;
}
.pop-bg .menu-shared .col {
  width: 100%;
}
.pop-bg .menu-list {
  padding-bottom: 30px;
}
.pop-bg .menu-list h3 {
  background-color: #002c59;
  color: #fff;
  font-size: 17px;
  padding: 10px 0;
}
.pop-bg .menu-list h4 {
  text-align: left;
  padding-top: 15px;
}
.pop-bg .menu-list dl {
  border-bottom: 1px dotted;
}
@media screen and (min-width: 768px) {
  .pop-bg {
    padding: 30px 20px 80px;
  }
  .pop-bg .wrap {
    max-width: 100%;
  }
  .pop-bg h2 {
    font-size: 40px;
    padding-bottom: 10px;
  }
  .pop-bg .note {
    padding-bottom: 20px;
  }
  .pop-bg .menu-shared {
    max-width: 900px;
    margin: 0 auto;
    justify-content: space-between;
    display: flex;
  }
  .pop-bg .menu-shared .col {
    width: 272px;
  }
  .pop-bg .menu-list {
    padding-bottom: 30px;
  }
  .pop-bg .menu-list h3 {
    padding: 0px 0;
    line-height: 43px;
    font-size: 18px;
  }
  .pop-bg .menu-list h4 {
    padding-top: 15px;
  }
}
.popup-shared {
  padding: 5vw 5% 10vw;
  text-align: left;
}
.popup-shared .floor {
  padding-top: 5vw;
}
.popup-shared h3 {
  text-align: center;
  font-size: 6vw;
  line-height: 1.4;
  padding: 5vw 0;
}
.popup-shared .arow {
  width: 75%;
  margin: 30px auto 0;
  justify-content: center;
  gap: 20px;
}
.popup-shared .arow li {
  width: 30px;
}
.popup-shared .menu-list.ext {
  font-size: 16px;
}
.popup-shared .menu-list.ext dl {
  border: none;
}
.popup-shared .tit {
  text-align: center;
  padding-top: 10px;
}
.popup-shared .note {
  padding-top: 10px;
}
.popup-shared .photo.ext img {
  padding-right: 15%;
}
.popup-shared .photo.ext img.sub {
  padding: 0 0 0 27%;
  margin: -14vw 0 0;
}
@media screen and (min-width: 768px) {
  .popup-shared {
    padding: 23px 20px 55px;
    text-align: justify;
  }
  .popup-shared h3 {
    text-align: left;
    font-size: 44px;
    line-height: 1.4;
    padding: 0 0 36px;
  }
  .popup-shared .arow {
    width: 100%;
    margin: 40px auto 0;
    gap: 70px;
  }
  .popup-shared .arow li {
    width: auto;
  }
  .popup-shared .menu-list dl {
    padding: 3px 0;
  }
  .popup-shared .menu-list.ext {
    font-size: 20px;
  }
  .popup-shared .menu-list.ext .tit {
    text-align: justify;
    padding: 29px 0 8px;
  }
  .popup-shared .menu-list.ext dl {
    border: none;
  }
  .popup-shared .tit {
    text-align: center;
    padding: 42px 0 8px;
  }
  .popup-shared .note {
    padding-top: 10px;
  }
  .popup-shared .photo {
    margin-bottom: 37px;
  }
  .popup-shared .photo.ext img {
    padding-right: 0;
  }
  .popup-shared .photo.ext img.sub {
    padding: 0;
    margin: 0;
    position: absolute;
    right: 0;
    top: 350px;
  }
  .popup-shared .floor {
    padding-top: 0;
    position: relative;
  }
  .popup-shared .floor.floor1 {
    text-align: center;
  }
  .popup-shared .floor.floor1 h3 {
    color: #fff;
    position: absolute;
    top: 50px;
    left: 40px;
    z-index: 1;
    padding: 0;
  }
  .popup-shared .floor.floor1 .photo {
    margin-bottom: 30px;
  }
  .popup-shared .floor.floor2 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 97px;
  }
  .popup-shared .floor.floor2 .photo {
    margin: 0 0 20px 25px;
  }
  .popup-shared .floor.floor2 .info {
    width: 314px;
    padding: 153px 0 0;
  }
  .popup-shared .floor.floor3 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 75px;
  }
  .popup-shared .floor.floor3 .photo {
    margin: 0 0;
    position: relative;
    width: 582px;
  }
  .popup-shared .floor.floor3 .info {
    width: 314px;
    padding: 79px 0 0;
    min-height: 583px;
  }
  .popup-shared .floor.floor4 {
    max-width: 982px;
    margin: 0 auto;
    color: #fff;
  }
  .popup-shared .floor.floor4 .box {
    position: relative;
  }
  .popup-shared .floor.floor4 .photo {
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .popup-shared .floor.floor4 .info {
    position: relative;
    z-index: 2;
    padding: 133px 50px 125px;
  }
  .popup-shared .floor.floor4 .txt {
    width: 392px;
  }
  .popup-shared .floor.floor4 .menu-list {
    width: 326px;
  }
}