/* CSS Document */

body {
}
body.done #hero p {
  opacity: 1;
}

main {
}
main h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #1a1a1a;
  fill: #1a1a1a;
  font-weight: bold;
  text-align: center;
  line-height: 1.4em;
}
main h2 i {
  margin-right: 0.3em;
  font-size: 1.2em;
  line-height: 1em;
}
main h2 + * {
  margin-top: 2em;
}

#localMenu {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  width: 100%;
  padding: 0;
  background: #223a70;
  z-index: 10;
}
#localMenu ul {
  display: flex;
  justify-content: center;
  list-style: none;
}
#localMenu li {
  display: flex;
}
#localMenu a {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  width: 100%;
  color: #fff;
  fill: #fff;
  font-weight: bold;
  text-align: center;
  /*outline: none;*/
  text-decoration: none;
}
#localMenu a i {
  margin-right: 0.3em;
  font-size: 1.2em;
}
#localMenu a svg {
  transform: rotate(90deg);
}

#hero {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: auto;
  padding: 0;
  text-align: center;
}
#hero ul {
  list-style: none;
}
#hero p {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 1em 3em;
  font-weight: bold;
  color: #fff;
  text-align: center;
  filter: drop-shadow(0 0 0.1em rgba(0, 0, 0, 0.5));
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
#hero .thumb {
  padding-top: 40%;
}

#infomation {
  margin-bottom: 60px; /*20200827_追加*/
}
#infomation .wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#infomation .linkBut {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2em;
  line-height: 1.4em;
}
#infomation .linkBut i {
  margin-right: 0.3em;
}

/*211025_追加 ここから*/
.info_wrap{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  max-width: 1140px;
  margin: 0 auto;
}
.info_box{
  margin-right: 5%;
  margin-left: 14%;
}
.info_btt{margin-top: 2em;}
/*211025_追加 ここまで*/

/*20200826_追加 ここから*/
#course {
  padding: 20px 0 0;
  margin-bottom: 70px;
  position: relative;
}
#course div + div {
  margin-top: 0;
} /*20200828_追加*/
.course_item ul {
  position: relative;
  display: flex;
  flex-direction: column;
  list-style: none;
}
.course_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
#course .slick-arrow {
  top: 10em;
}
#course .slick-arrow svg {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.course_h2-pc {
  display: flex;
  align-items: center;
  white-space: nowrap;
  margin-bottom: 4%;
}
.course_h2-pc::before {
  content: "";
  display: block;
  width: 50%;
  height: 1px;
  background: #000;
  margin-right: 0.5em;
}
.course_h2-pc::after {
  content: "";
  display: block;
  width: 50%;
  height: 1px;
  background: #000;
  margin-left: 0.5em;
}
.course_h2-sp {
  display: none;
}
.course_h2-pc + div {
  margin-top: 0;
}

.course_item {
}
.course_content {
  display: flex;
  flex-direction: row;
}
.course_text {
  padding: 50px 40px 10px 0;
  width: 60%;
  color: #000;
}
.course_button {
  padding: 50px 0 10px 14px;
  width: 40%;
}
.course_button-wrep {
  list-style: none;
}
.course_button-wrep li {
  margin-bottom: 14px;
}
.course_button-wrep li:last-child {
  margin-bottom: 0;
}
.course_h3 {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  color: #000;
  margin-bottom: 30px;
}
.course_button-item {
  display: block;
  background: #000;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  padding: 16px 0 16px 24px;
  border-radius: 10em;
  position: relative;
}
.course_button-item::before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  margin: auto;
  background: #fff;
}
.course_button-item::after {
  content: "";
  width: 7px;
  height: 7px;
  display: inline-block;
  border-top: 2px #000 solid;
  border-right: 2px #000 solid;
  position: absolute;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  right: 21px;
  margin: auto;
  transition: 0.2s;
}
.course_button-item:hover {
  background: #ed7700;
  color: #fff;
}
.course_button-item:hover::after {
  border-top: 2px #ed7700 solid;
  border-right: 2px #ed7700 solid;
}
/*20200826_追加 ここまで*/

/*20201130_追加 ここから*/
.course_unit {
  width: 100%;
  height: 357px;
  position: relative;
  overflow: hidden;
}
.course_unit h3{
  width:65%;
  background: #223a70;
	padding: 20px;
  position: absolute;
  bottom: 0;
  color: #fff;
font-size: 1.5em;
font-weight: bold;
}
.course_unit-main {
  width:65%;
  height: 100%;
  float: left;
	margin-top: -15%;
}
.course_unit-main img {
}
.course_unit-map {
  width:35%;
  height: auto;
  float: right;
}
/*20201130_追加 ここまで*/

#tool {
  background: #f2ece8;
  overflow: hidden;
}
#tool dl {
  position: relative;
  display: flex;
  flex-direction: column;
}
#tool dt {
  margin-top: 0.5em;
  text-align: center;
  order: 2;
}
#tool dt + dd {
  order: 1;
}
#tool a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
#tool .slick-arrow {
}
#tool .slick-arrow svg {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

#pickup {
  overflow: hidden;
}
#pickup section {
  padding-top: 0;
}
#pickup dl {
  position: relative;
  display: flex;
  flex-direction: column;
}
#pickup dt {
  margin-top: 0.5em;
  text-align: center;
  order: 2;
}
#pickup dt + dd {
  order: 1;
}
#pickup dd a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
#pickup .thumb {
  padding-top: 66.66%;
}
#pickup .slick-arrow {
}
#pickup .slick-arrow svg {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

#sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0;
}
#sns p {
  position: relative;
  margin-bottom: 1.5em;
  padding: 1em;
  background: #f2ece8;
  color: #1a1a1a;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1em;
}
#sns p:after {
  content: "";
  position: absolute;
  bottom: -2em;
  left: calc(50% - 1em);
  border: 1em solid transparent;
  border-top-color: #f2ece8;
  transform: scale(0.75, 1);
}
#sns ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
}
#sns li + li {
  margin-left: 1em;
}
#sns a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.8em;
  height: 1.8em;
  background: #1a1a1a;
  border-radius: 100%;
  color: transparent;
  fill: #fff;
  font-size: 2.4em;
  overflow: hidden;
}
#sns i {
  line-height: 1em;
}
#sns [data-target="facebook"] {
  background: #3b5998;
}
#sns [data-target="twitter"] {
  background: #1da1f2;
}

#movie {
  background: #1a1a1a;
  color: #fff;
  fill: #fff;
}
#movie h2 {
  color: #fff;
  fill: #fff;
}

/* 201127変更 ここから */
#banner {
  padding-top: 0;
  }
  #banner ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
  }
  #banner li {
    text-align: center;
  }
  
  .rentalcar {
  position: relative;
  padding-top: 160px;
  }
  .rentalcar h2 {
    margin-bottom: 50px;
  }
  
  .rentalcar p {
  width: 728px;
  height: 90px;
  position: absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
  margin:0 auto;
  }
  /* 201127変更 ここまで */

/* for all */
@media (max-width: 1199px) {
  /*1199px以下*/
/*20201130_追加 ここから*/
.course_unit {
  height: 294px;
}
/*20201130_追加 ここまで*/

/*211025_追加 ここから*/
.info_wrap{max-width: 940px;}
.info_box{margin-left: 7%;}
/*211025_追加 ここまで*/
}
@media (max-width: 991px) {
  /*991px以下*/
  #hero {
  }
  #hero .slick-prev {
    left: 1em;
  }
  #hero .slick-next {
    right: 1em;
  }
/*20201130_追加 ここから*/
.course_unit {
  height: 225px;
}
/*20201130_追加 ここまで*/

/*211025_追加 ここから*/
.info_wrap{max-width: 720px;}
.info_box{margin-left: 0;}
/*211025_追加 ここまで*/
}

/* for mobile */
@media (max-width: 767px) {
  /*767以下px*/
  main {
    padding-top: 3em;
  }
  main h2 {
    font-size: 1.4em;
  }
  #wrapper {
    overflow: inherit;
  }
  #localMenu {
    margin-top: -3em;
  }
  #localMenu ul {
    min-height: 3em;
    justify-content: center;
    padding: 0.3em 0;
  }
  #localMenu li {
    margin: 0 0.75em;
  }
  #localMenu .wrap {
    width: 100%;
  }
  #tool {
  }
  #tool dl {
    margin: 0 0.5em;
  }

  /*20200827_追加 ここから*/
  #infomation {
    margin-bottom: 12%;
  }
  #course {
    margin-bottom: 30%;
  }
  #course .slick-arrow {
    top: 14%; /*20201130_変更*/
  }
  #course .slick-arrow svg {
  }
  .course_item {
    margin: 0 0.5em;
  }
  /*0904 add*/
  #course .course_item {
    opacity: 1;
    transition: all 1s ease-out;
  }
  #course .course_item:not(.slick-current) {
    opacity: 0.4;
    transition: all 1s ease-out;
  }
  #course .slide {
    margin-right: -1em;
    margin-left: -1em;
  }
  .course_h2-pc {
    display: none;
  }
  .course_h2-sp {
    display: block;
    margin-top: 0;
    margin-bottom: 6%;
  }
  .course_h2-sp + div {
    margin-top: 0;
  }
  .course_h3 {
    font-size: 1.2em;
    margin-bottom: 12%;
  }
  .course_content {
    flex-direction: column;
  }
  .course_text {
    padding: 106% 0 24%; /*20201130_変更*/
    width: 100%;
  }
  .course_button {
    padding: 0;
    width: 100%;
  }
  .course_button-wrep li {
    margin-bottom: 6%;
  }
  .course_button-item {
    font-size: 0.8em;
    line-height: 1.6;
    padding: 5% 14% 5% 10%;
    text-align: center;
  }
  .course_button-item::before {
    width: 16px;
    height: 16px;
  }
  .course_button-item::after {
    width: 5px;
    height: 5px;
    right: 20px;
  }
  /*20200827_追加 ここまで*/

  /*20201130_追加 ここから*/
  .course_unit {
    width: 100%;
    height: 370px;
    padding-top: 32%;
    position: relative;
    overflow: visible;
}
  .course_unit h3{
    width:100%;
    background: #223a70;
    padding: 20px;
    position: absolute;
    top: 0;
    bottom: auto;
    color: #fff;
    font-size: 1.4em;
    font-weight: bold;
}
  .course_unit-main {
    width:100%;
    height: 100%;
    float:none;
    margin-top: -4%;
    margin-bottom: 2%;
}
  .course_unit-main img {
    width:100%;
    height: 100%;
    object-fit: cover; 
}
  .course_unit-map {
    width:100%;
    height: auto;
    float: none;
}
  /*20201130_追加 ここまで*/

  #tool .slide {
    margin-right: -1em;
    margin-left: -1em;
  }
  #pickup {
  }
  #pickup dl {
    margin: 0 0.5em;
  }
  #pickup .slide {
    margin-right: -1em;
    margin-left: -1em;
  }

/* 201127変更 ここから */
#banner {
  padding-top: 0;
  margin-bottom: 20%
  }
  #banner ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction:column;
    align-items: center;
    list-style: none;
    padding: 0 14%;
  }
  #banner li {
  margin-bottom: 10%;
  }
  #banner li:last-child{
  margin-bottom: 0;
  }
  .rentalcar {
  position: relative;
  padding-top: 30%;
  }
  .rentalcar h2 {
    margin-bottom: 18%;
  }
  
  .rentalcar p {
  width: 100%;
  height: 90px;
  position: absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
  margin:0 auto;
  }
  /* 201127変更 ここまで */
  
  /*211025_追加 ここから*/
.info_wrap{
  flex-direction: column;
  justify-content: center;
  max-width: 90%;
  margin: 0 auto;
}
.info_box{
  margin-right: 0;
  margin-bottom: 20%;
  }
  .fb_box{
    width: 100%;
    margin: 0 auto;
    position: relative;
    margin-bottom: 300px;
    }
    .fb_box iframe{
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;  
      }
/*211025_追加 ここまで*/
}
@media (max-width: 767px) and (orientation: portrait) {
  /*767px以下 縦向き*/
 /* 201127 banner関係削除  */
  #localMenu {
    top: 15vw;
  }
  #localMenu li {
  }
  #localMenu li:first-child {
    display: none;
  }
  #hero {
  }
  #hero p {
    font-size: 1.4em;
  }
  #infomation {
  }
  #infomation .buttonSet {
    padding: 0;
  }
  .anchor {
    margin-top: calc(-15vw - 3em - 2em);
  }
}
@media (max-width: 767px) and (orientation: landscape) {
  /*767px以下 横向き*/
 /* 201127 banner関係削除  */
  #localMenu {
    top: 8vw;
  }
  #hero {
  }
  #hero p {
    font-size: 1.6em;
  }
  .anchor {
    margin-top: calc(-8vw - 3em - 2em);
  }
}

/* for tablet */
@media (min-width: 768px) {
  /*768px以上*/
  #localMenu {
  }
  #localMenu li + li {
    margin-left: 2em;
  }
  #localMenu a {
    font-size: 1.2em;
  }
  #infomation {
  }
  #infomation h2 + div {
    text-align: center;
  }
  #tool {
  }
  #tool dl {
    margin: 0 0.5em;
  }
  #tool .wrap {
    overflow: hidden;
  }
  #tool .slide {
    margin-right: -0.5em;
    margin-left: -0.5em;
  }
  #tool .slick-prev {
    left: 0.5em;
  }
  #tool .slick-next {
    right: 0.5em;
  }
  #pickup {
  }
  #pickup dl {
    margin: 0 0.5em;
  }
  #pickup .wrap {
    overflow: hidden;
  }
  #pickup .slide {
    margin-right: -0.5em;
    margin-left: -0.5em;
  }
  #pickup .slick-prev {
    left: 0.5em;
  }
  #pickup .slick-next {
    right: 0.5em;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  /*768px～1199px*/
  #main {
  }
  #main h2 {
    font-size: 2em;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  /*768px～991px*/
  #main {
    padding-top: 4em;
  }
  #localMenu {
    top: 5em;
    margin-top: -4em;
  }
  #localMenu ul {
    height: 4em;
  }
  #hero {
  }
  #hero p {
    font-size: 2.8em;
  }
  #banner {
  }
  #banner li {
    width: calc(33.33% - 1em);
    margin-left: 1.5em;
  }
  #banner li:nth-child(3n + 1) {
    margin-left: 0;
  }
  #banner li:nth-child(n + 4) {
    margin-top: 1.5em;
  }
  .anchor {
    margin-top: -12em;
  }
  /*20200827_追加 ここから*/
  #course {
  }
  .course_text {
    width: 55%;
  }
  .course_button {
    width: 45%;
  }
  .course_button-item {
    font-size: 13px;
  }
  /*20200827_追加 ここまで*/
  /*20200908_追加*/
  #course .slick-arrow {
    top: 8em;
  }
}
/* for PC */
@media (min-width: 992px) {
  /*992px以上*/
  #main {
    padding-top: 4em;
  }
  #localMenu {
    top: 5em;
    margin-top: -4em;
  }
  #localMenu ul {
    height: 4em;
  }
  #hero {
  }
  #hero p {
    font-size: 3.2em;
  }
  .anchor {
    margin-top: -13em;
  }
  /*20200827_追加 ここから*/
  #course {
  }
  .course_text {
    width: 62%;
  }
  .course_button {
    width: 38%;
  }
  /*20200827_追加 ここまで*/
}
@media (min-width: 992px) and (max-width: 1199px) {
  /*992px～1199px*/
  #hero {
  }
  #hero .slick-prev {
    left: calc(50vw - 470px);
  }
  #hero .slick-next {
    right: calc(50vw - 470px);
  }
  #banner {
  }
  #banner li {
    width: calc(25% - 1.125em);
    margin-left: 1.5em;
  }
  #banner li:nth-child(4n + 1) {
    margin-left: 0;
  }
  #banner li:nth-child(n + 5) {
    margin-top: 1.5em;
  }
  /*20200908_追加*/
  #course .slick-arrow {
    top: 9em;
  }
}
@media (min-width: 1200px) {
  /*1200px以上*/
  #main {
  }
  #main h2 {
    font-size: 2.4em;
  }
  #hero {
  }
  #hero .slick-prev {
    left: calc(50% - 570px);
  }
  #hero .slick-next {
    right: calc(50% - 570px);
  }
  #banner {
  }
  #banner li {
    width: calc(25% - 1.5em);
    margin-left: 2em;
  }
  #banner li:nth-child(4n + 1) {
    margin-left: 0;
  }
  #banner li:nth-child(n + 5) {
    margin-top: 2em;
  }
  /*20200908_追加*/
  #course .slick-arrow {
    top: 11em;
  }
}

/* Edge */
@supports (-ms-ime-align: auto) {
}

/* ie */
@media all and (-ms-high-contrast: none) {
}
