@charset "UTF-8";
/*** function ***/
/* ###################### */
/* ######## 変数 ######## */
/* ###################### */
/* カラー */
/* 書式 */
/* ###################### */
/* ######## 関数 ######## */
/* ###################### */
/* ###################### */
/* ######## 共通 ######## */
/* ###################### */
/* ボタン */
/*******/
/************/
/*切り替え用*/
/************/
.pc {
  display: block;
}

.sp {
  display: none;
}

/********共通********/
.cont {
  width: 1080px;
}

div[class^="contents"],
article[class^="contents"] {
  padding: 100px 0;
}

.h2_1 .en {
  font-size: 7.8rem;
  margin-bottom: 34px;
}

.h2_1 .en span {
  min-width: 215px;
  height: 56px;
  padding: 0 28px;
}

.h2_1 .en::before, .h2_1 .en::after {
  width: 124px;
  height: 34px;
}

.h2_1 .ttl {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}

.h2_2 {
  font-size: 3.4rem;
  letter-spacing: 0.1em;
  padding-bottom: 20px;
}

.h3_1 {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  padding-bottom: 23px;
}

.h3_1.le {
  text-align: left;
}

/*********faq***********/
.faq .contents1 {
  padding: 120px 0 144px;
}

.faq .contents1 h2 {
  margin-bottom: 64px;
}

.faq .contents1 .box {
  padding-bottom: 50px;
  margin-bottom: 50px;
}

.faq .contents1 .box dt {
  margin-bottom: 20px;
}

.faq .contents1 .box dt span {
  width: 60px;
  font-size: 3.4rem;
}

.faq .contents1 .box dt div {
  width: calc(100% - 60px);
  font-size: 2.7rem;
  line-height: 1.37038;
  padding: 11px 20px;
}

.faq .contents1 .box dd span {
  width: 60px;
  font-size: 3.4rem;
}

.faq .contents1 .box dd div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 60px);
  min-height: 60px;
  padding: 13px 20px;
}

/*********schedule***********/
.schedule .contents1 {
  padding: 120px 0 118px;
}

.schedule .contents1 h2 {
  margin-bottom: 52px;
}

.schedule .contents1 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.schedule .contents1 .list .box {
  width: 320px;
  padding-top: 204px;
}

.schedule .contents1 .list .box dl {
  letter-spacing: 0.06em;
  padding: 13px 0 3px;
}

.schedule .contents1 .list .box dl dt {
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 8px;
}

.schedule .contents1 .list .box dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  font-size: 1.4rem;
  line-height: 1.42858;
}

.schedule .contents2 {
  padding: 128px 0;
}

.schedule .contents2 h2 {
  margin-bottom: 69px;
}

.schedule .contents2 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -70px;
}

.schedule .contents2 .list .no-txt {
  font-size: 2rem;
  margin-top: 70px;
}

.schedule .contents2 .list .box {
  width: 320px;
  margin-right: 60px;
  margin-top: 70px;
}

.schedule .contents2 .list .box:nth-of-type(3n) {
  margin-right: 0;
}

.schedule .contents2 .list .box figure {
  margin-bottom: 10px;
}

.schedule .contents2 .list .box dl {
  padding-bottom: 7px;
}

.schedule .contents2 .list .box dl::after {
  width: 17px;
  height: 13px;
}

.schedule .contents2 .list .box dl dt {
  font-size: 1.3rem;
  line-height: 1.84616;
}

.schedule .contents2 .list .box dl dd {
  font-size: 1.8rem;
  line-height: 1.33334;
  padding-right: 24px;
}

.schedule_d .contents1 {
  padding: 120px 0;
}

.schedule_d .contents1 h2 {
  margin-bottom: 30px;
}

.schedule_d .contents1 .box {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.schedule_d .contents1 figure {
  width: 640px;
}

.schedule_d .contents1 .table {
  width: 410px;
  margin-left: 30px;
}

.schedule_d .contents1 .table dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  line-height: 1.66667;
  letter-spacing: 0;
}

.schedule_d .contents1 .table dl dt {
  width: 145px;
  padding: 6px 20px;
}

.schedule_d .contents1 .table dl dd {
  width: calc(100% - 145px);
  padding: 6px 20px;
}

.schedule_d .contents1 .text {
  padding: 24px 40px 0;
}

/*********reservation***********/
.reservation .contents1 {
  padding: 108px 0 113px;
}

.reservation .contents1 h2 {
  margin-bottom: 55px;
}

.reservation .contents1 .txt {
  text-align: center;
  margin-bottom: 50px;
}

.reservation .contents1 .txt h3 {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  margin-bottom: 33px;
}

.reservation .contents1 .txt dl {
  font-size: 1.8rem;
  line-height: 1.88889;
  margin-top: 32px;
}

.reservation .contents1 .txt dl dt {
  width: 140px;
  margin-right: 18px;
}

.reservation .contents1 .txt dl dt::after {
  border: solid 17px transparent;
  border-left: solid 6px rgba(130, 195, 197, 0.3);
}

.reservation .contents1 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: -40px;
}

.reservation .contents1 .list .box {
  width: 520px;
  height: 262px;
  padding: 32px 20px 0;
  margin-top: 40px;
}

.reservation .contents1 .list .box h3 {
  padding-bottom: 18px;
  margin-bottom: 16px;
}

.reservation .contents1 .list .box h3 div {
  font-size: 2.6rem;
  letter-spacing: 0.1em;
}

.reservation .contents1 .list .box h3 div.min {
  font-size: 1.8rem;
  padding-top: 8px;
}

.reservation .contents1 .list .box p {
  line-height: 1.66667;
}

.reservation .contents1 .list .box p .ki {
  display: inline-block;
  margin-right: -1em;
}

.reservation .contents2 {
  padding: 68px 0 70px;
}

.reservation .contents2 h2 {
  margin-bottom: 22px;
}

.reservation .contents2 .txt {
  text-align: center;
  margin-bottom: 42px;
}
/*
.reservation .contents2 .fle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.reservation .contents2 .telBox {
  width: 270px;
  margin-right: 62px;
}

.reservation .contents2 .telBox h3 {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.5625;
  margin-bottom: 12px;
}

.reservation .contents2 .telBox dl dt {
  font-size: 1.6rem;
}

.reservation .contents2 .telBox dl dd {
  font-size: 2.8rem;
}
*/
.reservation .contents2 .list {
  width: 290px;
  margin: 0 auto;
}

.reservation .contents2 .list dl {
  line-height: 1;
}

.reservation .contents2 .list dl dt {
  width: 145px;
  font-size: 1.6rem;
  line-height: 2.125;
}

.reservation .contents2 .list dl .dot {
  width: 72px !important;
}

.reservation .contents2 .list dl dd:not(.dot) {
  width: 60px;
  font-size: 2rem;
  line-height: 1.7;
}

.reservation .contents3 {
  padding: 105px 0 136px;
}

.reservation .contents3 h2 {
  margin-bottom: 52px;
}

.reservation .contents3 .fle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.reservation .contents3 .btn {
  width: 240px;
  margin-right: 30px;
  margin-left: 0;
}

.reservation .contents3 .btn a {
  padding-left: 16px;
}

.reservation .contents3 .btn a::after {
  margin-left: 5px;
}

/*********equipment***********/
.equipment .contents1 h2 {
  margin-bottom: 76px;
}

.equipment .contents1 .listBox {
  margin-bottom: 100px;
}

.equipment .contents1 .listBox h3 {
  height: 70px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}

.equipment .contents1 .listBox ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}

.equipment .contents1 .listBox ul li {
  padding-left: 16px;
}

.equipment .contents1 .listBox .lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 20px;
  margin-top: -74px;
}

.equipment .contents1 .listBox .lists .box {
  width: 500px;
  margin-top: 74px;
}

.equipment .contents1 .listBox .lists .box h4 {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  padding-bottom: 15px;
  margin-bottom: 12px;
}

.equipment .contents1 .listBox .lists .box ul.row1 li {
  width: 100%;
}

.equipment .contents1 .listBox .lists .box ul.row2 li {
  min-width: calc(100% / 2);
}

.equipment .contents1 .listBox .lists .box ul.row3 li {
  min-width: calc(100% / 3);
}

.equipment .contents1 .listBox .lists .box ul.row4 li {
  min-width: calc(100% / 4);
}

.equipment .contents1 .listBox .lists .box ul.row4 li:nth-of-type(4n + 2), .equipment .contents1 .listBox .lists .box ul.row4 li:nth-of-type(4n + 3) {
  letter-spacing: 0.04em;
}

.equipment .contents1 .listBox.digital ul {
  padding: 0 35px;
}

.equipment .contents1 .listBox.digital ul li {
  width: 430px;
}

.equipment .contents1 .listBox.digital ul li:nth-of-type(3n) {
  width: 150px;
}

.equipment .contents1 .listBox.digital p {
  text-align: center;
  padding-top: 25px;
}

.equipment .contents1 .listBox.other ul {
  padding: 0 35px;
}

.equipment .contents1 .listBox.other ul li:nth-of-type(3n + 1) {
  width: 250px;
}

.equipment .contents1 .listBox.other ul li:nth-of-type(3n + 2) {
  width: 360px;
}

.equipment .contents1 .listBox.other ul li:nth-of-type(3n) {
  width: 400px;
}

.equipment .contents2 {
  padding: 87px 0 107px;
}

.equipment .contents2 h2 {
  margin-bottom: 59px;
}

.equipment .contents2 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -65px;
}

.equipment .contents2 .list .no-txt {
  font-size: 2rem;
  margin-top: 65px;
}

.equipment .contents2 .list .box {
  width: 320px;
  margin-top: 65px;
  margin-right: 60px;
}

.equipment .contents2 .list .box:nth-of-type(3n) {
  margin-right: 0;
}

.equipment .contents2 .list .box figure {
  margin-bottom: 10px;
}

.equipment .contents2 .list .box dl dt,
.equipment .contents2 .list .box dl .tag {
  font-size: 1.3rem;
  line-height: 1.84616;
}

.equipment .contents2 .list .box dl .txt {
  font-size: 1.8rem;
  line-height: 1.33334;
}

/*********information***********/
.information .contents1 {
  padding: 106px 0 140px;
}

.information .contents1 h2 {
  margin-bottom: 80px;
}

.information .contents1 .lists {
  margin-bottom: 145px;
}

.information .contents1 .lists h3 {
  margin-bottom: 25px;
}

.information .contents1 .lists .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -14px;
}

.information .contents1 .lists .txt li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 350px;
  height: 74px;
  font-size: 2.2rem;
  line-height: 1.27273;
  margin-top: 14px;
}

.information .contents1 .lists .txt li span {
  font-size: 1.4rem;
  line-height: 2;
}

.information .contents1 .lists p {
  text-align: center;
  margin: 32px 0 60px;
}

.information .contents1 .lists .imgs {
  padding: 0 20px;
}

.information .contents1 .lists .imgs::before {
  width: 100%;
  height: 100%;
  left: 0;
  top: 20px;
}

.information .contents1 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-bottom: 98px;
}

.information .contents1 .box .imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 462px;
  display: none;
}

.information .contents1 .box .imgs::before {
  width: calc(100% - 42px);
  height: calc(100% - 30px);
  top: 15px;
  left: 21px;
}

.information .contents1 .box .text {
  width: 570px;
  padding-top: 50px;
  margin: 0 auto;
}

.information .contents1 .box .text h3 {
  font-size: 3rem;
  padding-bottom: 16px;
  margin-bottom: 12px;
}

.information .contents1 .box .text ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.information .contents1 .box .text ul li {
  width: 178px;
  font-size: 1.7rem;
  line-height: 2.17648;
}

.information .contents1 .box .text ul li::before {
  width: 13px;
  height: 10px;
  margin-right: 5px;
}

.information .contents1 .box .text ul li:nth-of-type(1) {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
}

.information .contents1 .box .text ul li:nth-of-type(2) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.information .contents1 .box .text ul li:nth-of-type(3) {
  width: calc(100% - 178px);
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.information .contents1 .box .text ul li:nth-of-type(4) {
  width: calc(100% - 178px);
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.information .contents1 .box .text ul li:nth-of-type(5) {
  width: 100% !important;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.information .contents1 .box .text p {
  padding-top: 14px;
}

.information .contents1 .box:nth-of-type(2n + 1) .imgs li:nth-of-type(2) {
  margin-top: 37px;
}

.information .contents1 .box:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-bottom: 106px;
}

.information .contents1 .box:nth-of-type(2n) .imgs li:nth-of-type(1) {
  margin-top: 37px;
}

.information .contents1 .box:last-of-type .text ul li {
  width: 210px;
}

.information .contents1 .box:last-of-type .text ul li:nth-of-type(3), .information .contents1 .box:last-of-type .text ul li:nth-of-type(4) {
  width: calc(100% - 210px);
}

.information .contents2 {
  padding: 88px 0 95px;
}

.information .contents2 h2 {
  margin-bottom: 37px;
}
.information .contents2 .information_price_img {
  text-align: center;
}
.information .contents2 .txt {
  text-align: center;
  font-weight: 500;
  margin-bottom: 41px;
}

.information .contents2 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  flex-wrap: wrap;
}
.information .contents2 .list .box {
  width: 500px;
  padding: 24px 25px 26px;
}
.information .contents2 .list .box:last-of-type {
  margin: 60px auto 0;
}

.information .contents2 .list .box h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 54px;
  font-size: 2.8rem;
  margin-bottom: 22px;
}

.information .contents2 .list .box h3 .min {
  font-size: 1.6rem;
  margin-bottom: 10px;
}

.information .contents2 .list .box dl {
  margin-bottom: 5px;
}

.information .contents2 .list .box dl dt {
  padding-right: 10px;
}

.information .contents2 .list .box dl .price {
  padding-left: 10px;
}

.information .contents3 {
  padding: 92px 0 132px;
}

.information .contents3 h2 {
  font-size: 4rem;
  margin-bottom: 21px;
}

.information .contents3 .table {
  line-height: 1.4;
  margin-bottom: 90px;
}

.information .contents3 .table tr:last-of-type {
  border-bottom: none;
}

.information .contents3 .table th {
  width: 130px;
  padding: 17px 5px;
}

.information .contents3 .table th div::before {
  margin-right: 13px;
}

.information .contents3 .table td {
  padding: 17px 0;
}

.information .contents3 .table td dl dt {
  width: 148px;
}

.information .contents3 .parkingBox h3 {
  height: 70px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  margin-bottom: 38px;
}

.information .contents3 .parkingBox .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.information .contents3 .parkingBox .list .box {
  width: 500px;
}

.information .contents3 .parkingBox .list .box h4 {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}

.information .contents3 .parkingBox .list .box h4::before {
  width: 14px;
  height: 19px;
  margin-right: 5px;
}

.information .contents3 .parkingBox .list .box .map {
  height: 400px;
}

.information .contents4 {
  padding: 68px 0 82px;
}

.information .contents4 h2 {
  margin-bottom: 37px;
}

.information .contents4 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.information .contents4 .list .box {
  width: 350px;
  padding: 39px 16px 4px;
  letter-spacing: 0.04em;
}

.information .contents4 .list .box h3 {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  margin-bottom: 23px;
}

.information .contents4 .list .box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.information .contents4 .list .box ul li {
  line-height: 1.66667;
  margin-right: 16px;
}

.information .contents4 .list .box ul li span {
  display: block;
  font-size: 1.3rem;
  line-height: 1.61539;
  margin-bottom: 7px;
}

.information .contents5 {
  padding: 72px 0 116px;
}

.information .contents5 h2 {
  margin-bottom: 19px;
}

.information .contents5 .fle {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.information .contents5 figure {
  width: 360px;
}

.information .contents5 figure::before {
  left: -10px;
  bottom: -9px;
}

.information .contents5 figure div {
  height: 380px;
}

.information .contents5 .text {
  width: 590px;
  padding-top: 63px;
}

.information .contents5 .text p {
  margin-bottom: 27px;
}

/*********index***********/
.index .contents1 {
  padding: 93px 0 103px;
}

.index .contents1 h2 {
  margin-bottom: 40px;
}

.index .contents1 .box {
  width: 1000px;
  padding: 54px 0 50px;
  margin: 0 auto;
}

.index .contents1 .box h3 {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  margin-bottom: 37px;
}

.index .contents1 .box p {
  text-align: center;
  margin-bottom: 27px;
}

.index .contents1 .box .btn {
  width: 560px;
  padding-top: 13px;
}

.index .contents2 {
  padding: 96px 0 145px;
}

.index .contents2 h2 {
  width: 880px;
  margin-bottom: 175px;
}

.index .contents2 h2 div {
  height: 140px;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
}

.index .contents2 h2::before {
  width: 80px;
  height: 152px;
  left: -30px;
}

.index .contents2 h2::after {
  width: 80px;
  height: 152px;
  right: -30px;
}

.index .contents2 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 124px;
}

.index .contents2 .box:nth-of-type(2n + 1) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.index .contents2 .box .imgs::before {
  width: 400px;
}

.index .contents2 .box .imgs::after {
  width: 144px;
  height: 121px;
}

.index .contents2 .box .text {
  width: 570px;
  margin: 0 auto;
}

.index .contents2 .box .text h3 {
  font-size: 3rem;
  letter-spacing: 0.1em;
  margin-bottom: 33px;
}

.index .contents2 .box .text h3 div {
  padding-right: 17px;
}

.index .contents2 .box .text h3 div::after {
  width: 105px;
  height: 26px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 100%;
}

.index .contents2 .box .text p .ki {
  display: inline-block;
  margin-right: -0.5em;
}

.index .contents2 .box:nth-of-type(1) .text {
  padding-top: 57px;
}

.index .contents2 .box:nth-of-type(1) .imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 462px;
}

.index .contents2 .box:nth-of-type(1) .imgs::before {
  height: 287px;
  top: 14px;
  right: 20px;
}

.index .contents2 .box:nth-of-type(1) .imgs::after {
  right: 7px;
  bottom: 4px;
}

.index .contents2 .box:nth-of-type(1) .imgs li:nth-of-type(1) {
  margin-top: 37px;
}

.index .contents2 .box:nth-of-type(2) .text {
  padding-top: 75px;
}

.index .contents2 .box:nth-of-type(2) .imgs {
  width: 470px;
}

.index .contents2 .box:nth-of-type(2) .imgs::before {
  height: 250px;
  top: 62px;
  left: 18px;
}

.index .contents2 .box:nth-of-type(2) .imgs::after {
  left: 0;
  bottom: 19px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.index .contents2 .box:nth-of-type(2) .imgs li {
  position: relative;
  z-index: 0;
}

.index .contents2 .box:nth-of-type(2) .imgs li:nth-of-type(2) {
  width: 260px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 3px #fff;
  margin-top: -143px;
  margin-left: auto;
  z-index: 1;
}

.index .contents2 .box:nth-of-type(2) .imgs li:nth-of-type(2) img {
  width: 100%;
}

.index .contents3 {
  padding: 88px 0 70px;
}

.index .contents3 h2 {
  margin-bottom: 68px;
}

.index .contents3 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.index .contents3 .list .box {
  width: 344px;
  padding: 29px 16px 40px;
}

.index .contents3 .list .box h3 {
  margin-bottom: 18px;
}

.index .contents3 .list .box h3 .en {
  font-size: 2.8rem;
  margin-bottom: 16px;
}

.index .contents3 .list .box h3 div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 68px;
  font-size: 2.4rem;
  line-height: 1.41667;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.index .contents3 .list .box p {
  letter-spacing: 0.06em;
  line-height: 1.66667;
}

.index .contents3 .list .box p.lp40 {
  letter-spacing: 0.04em;
}

.index .contents4 {
  padding: 58px 0 73px;
}

.index .contents4 h2 {
  margin-bottom: 59px;
}

.index .contents4 h2 .en {
  font-size: 7.8rem;
  height: 56px;
  margin-bottom: 18px;
}

.index .contents4 h2 div span {
  font-size: 2.1rem;
  letter-spacing: 0.06em;
  padding: 0 18px;
}

.index .contents4 .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 52px;
}

.index .contents4 .list .box {
  width: 320px;
  margin-right: 60px;
}

.index .contents4 .list .box:last-of-type {
  margin-right: 0;
}

.index .contents4 .list .box figure {
  margin-bottom: 10px;
}

.index .contents4 .list .box dl dt {
  font-size: 1.3rem;
  line-height: 1.84616;
}

.index .contents4 .list .box dl dd {
  font-size: 1.8rem;
  line-height: 1.33334;
}

.index .contents4 .btn {
  width: 540px;
}

.index .contents5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.index .contents5 li {
  width: 33.334%;
}

.index .contents5 li a {
  padding-top: 60.157%;
}

.index .contents5 li a div {
  height: 75px;
}

.index .contents5 li a div::before {
  width: 75px;
  height: 75px;
  margin-right: 20px;
}

.index .contents5 li a div::after {
  width: 75px;
}

.index .contents5 li a div p {
  font-size: 2.8rem;
}

.index .contents5 li a div p span {
  font-size: 1.6rem;
  padding-top: 9px;
}

.index .contents5 li a:hover div::after {
  width: 100%;
}

.index .contents6 {
  padding: 128px 0 110px;
}

.index .contents6::after {
  height: 40px;
}

.index .contents6 h2 {
  margin-bottom: 18px;
}

.index .contents6 h2 .en {
  margin-bottom: 13px;
}

.index .contents6 h2 .en::before, .index .contents6 h2 .en::after {
  display: none;
}

.index .contents6 h2 .ttl {
  font-size: 1.8rem;
}

.index .contents6 .ttlBox {
  width: calc(100% - 720px);
}

.index .contents6 .ttlBox::before {
  height: 22px;
  margin-bottom: 31px;
}

.index .contents6 .ttlBox::after {
  height: 62px;
  margin-top: 17px;
}

.index .contents6 .ttlBox .btn {
  width: 210px;
}

.index .contents6 .list {
  width: 720px;
  padding-top: 21px;
}

.index .contents6 .list dl {
  padding: 0 72px 23px 10px;
  margin-bottom: 24px;
}

.index .contents6 .list dl:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.index .contents6 .list dl dt {
  font-size: 1.4rem;
  line-height: 1.71429;
}

.index .contents6 .list dl .tag {
  font-size: 1.4rem;
  line-height: 1.71429;
}

.index .contents6 .list dl .txt {
  line-height: 1.66667;
}

/****エラーページ*****/
.error .contents1 {
  padding: 120px 0;
}

/*==================================================
プライバシーポリシー
================================================== */
.privacy .contents1 {
  padding: 120px 0;
}

.privacy .contents1 h2 {
  margin-bottom: 64px;
}

.privacy .contents1 h3 {
  margin-bottom: 24px;
}

.privacy .contents1 .item-box {
  margin-bottom: 80px;
}

.privacy .contents1 .item-box:last-child {
  margin-bottom: 0;
}

/*==================================================
 サイトマップ
================================================== */
.site .contents1 {
  padding: 120px 0;
}

.site .contents1 h2 {
  margin-bottom: 40px;
}

.site .contents1 .site_list {
  width: 800px;
}

.site .contents1 .site_list ul {
  padding: 40px;
}

.site .contents1 .site_list ul li a {
  padding: 12px 16px;
}

/*==================================================
 ニュース
================================================== */
.news .contents1 {
  padding: 120px 0;
}

.news .contents1 .list-box dl {
  padding: 0 72px 23px 10px;
  margin-bottom: 24px;
}

.news .contents1 .list-box dl:last-of-type {
  margin-bottom: 0;
}

.news .contents1 .list-box dl dt {
  font-size: 1.4rem;
  line-height: 1.71429;
}

.news .contents1 .list-box dl .tag {
  font-size: 1.4rem;
  line-height: 1.71429;
}

.news .contents1 .list-box dl .txt {
  line-height: 1.66667;
}

/*==================================================
 news詳細
================================================== */
.news_detail .contents1 {
  padding: 120px 0;
}

.news_detail .contents1 .h3_1 {
  margin-bottom: 24px;
}

.news_detail .contents1 .sec1 {
  width: 1080px;
}

.news_detail .contents1 .sec1 .post-data {
  margin-bottom: 16px;
}

/*==================================================
 お問い合わせ
================================================== */
.contact .contents1 {
  padding: 120px 0;
}

.contact .contents1 h2 {
  margin-bottom: 40px;
}

.contact .contents1 table {
  margin-bottom: 48px;
}

.contact .contents1 table tr {
  border-bottom: solid 4px #fff;
}

.contact .contents1 table tr:last-of-type {
  border-bottom: none;
}

.contact .contents1 table th {
  width: 350px;
  text-align: left;
  padding: 21px 20px;
}

.contact .contents1 table td {
  padding: 12px 20px;
  vertical-align: middle;
}

.contact form input {
  font-size: 1.6rem;
  line-height: 1.625;
}

.contact form textarea {
  height: 180px;
  font-size: 1.6rem;
  line-height: 1.625;
}

.contact .contact-recaptcha-wrap {
  margin-bottom: 48px;
}

/* 必須マーク
-------------------------------------------------- */
.required-mark {
  padding: 3px 6px;
}

/* 確認、バック、送信ボタン
-------------------------------------------------- */
.contact-submits input,
.contact-submits button {
  font-size: 1.6rem;
  line-height: 1.625;
  margin: 0 16px;
  padding: 23px 40px;
}

.contact-submits-wrap input {
  font-size: 1.6rem;
  line-height: 1.625;
  padding: 23px 80px;
}

/*IEハック*/
@media screen\0 {
  /**ここに書く**/
}

