@charset "utf-8";
/* CSS Document */
/*4枚表示 */
@media only screen and (max-width: 1640px) {
  .p-slide-item {
    flex: 0 0 calc(100% / 4);
  }
}
/*3枚表示 */
@media only screen and (max-width: 1300px) {
  .p-slide-item {
    flex: 0 0 calc(100% / 3);
  }
}
/*2枚表示 */
@media only screen and (max-width: 1000px) {
  .p-slide-item {
    flex: 0 0 calc(100% / 2);
  }
}
/* 1枚表示 */
@media only screen and (max-width: 768px) {
  .p-slide-item {
    flex: 0 0 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  #menu .page-nav ul a:hover {
    color: var(--black);
  }
  .p-slide-item a:hover {
    filter: brightness(.7);
  }
  .button-prev:hover {
    filter: brightness(.5);
  }
  .button-next:hover {
    filter: brightness(.5);
  }
  .area-item a:hover {
    filter: brightness(.7);
  }
  .theme-item a:hover {
    filter: brightness(.7);
  }
  .airline-item a:hover {
    filter: brightness(.7);
  }
  .guide-list li h3:hover {
    filter: brightness(.7);
  }
  .arrenge-container .link-item a:hover {
    filter: brightness(.7);
  }
  .reco-info li a:hover {
    filter: brightness(.7);
  }
  #page-top:hover {
    opacity: .5;
  }
}
@media only screen and (max-width: 1640px) {
  /*---------------------common*/
  .w1500 {
    width: 90%;
  }
  /*---------------------reco-tour*/
  .p-slide-wrapper {
    width: 90%;
  }
  .temp-item {
    min-height: 60px;
  }
  .temp-point {
    min-height: 210px;
  }
}
@media only screen and (max-width: 1200px) {
  /*---------------------common*/
  /*---------------------pankuzu*/
  /*---------------------menu*/
  /*---------------------top-v*/
  /*---------------------concept*/
  /*---------------------reco-tour*/
  /*---------------------theme-tour*/
  #theme-tour .area-container .sub-title {
    margin-top: 0;
  }
  /*---------------------guide*/
  /*---------------------arrenge*/
  /*---------------------info*/
  /*---------------------contact*/
  /*---------------------page-top*/
}
@media only screen and (max-width: 1000px) {
  /*---------------------common*/
  .w1500 {
    padding: 80px 0 80px;
  }
  .w1200 {
    padding: 80px 0 100px;
  }
  .w1000 {
    padding: 80px 0 80px;
  }
  .w500 {
    padding: 60px 0;
  }
  .tb {
    display: block;
  }
  /*---------------------pankuzu*/
  /*---------------------menu*/
  /*---------------------top-v*/
  #top-v .wrapper {
    position: relative;
    width: 100%;
    height: clamp(660px, 860 * 100 / 1000 * 1vw, 860px);
    margin: 0 auto;
  }
  .title {
    position: absolute;
    top: 90px;
    left: 40px;
  }
  .site-item {
    position: absolute;
    top: 28%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }
  #top-v h1 {
    font-size: clamp(24px, 36 * 100 / 1000 * 1vw, 40px);
    margin: 0 0 20px 0;
  }
  #top-v p {
    font-size: clamp(16px, 20 * 100 / 1000 * 1vw, 20px);
  }
  .slide-contents {
    position: relative;
    width: 100%;
    height: clamp(660px, 860 * 100 / 1000 * 1vw, 860px);
    overflow: hidden;
  }
  /*---------------------concept*/
  #concept .sub-title {
    margin: 0 auto 60px;
    text-align: center;
  }
  #concept .sub-title h2 {
    font-size: clamp(24px, 32 * 100 / 1000 * 1vw, 32px);
    color: var(--gold02);
  }
  #concept h3 {
    font-size: clamp(20px, 24 * 100 / 1000 * 1vw, 24px);
  }
  #concept .sub-title .en-title {
    font-size: clamp(20px, 24 * 100 / 1000 * 1vw, 24px);
    color: var(--gray02);
    margin: 0 0 20px;
  }
  #concept .container {
    grid-template-columns: 2fr 3fr;
    grid-column-gap: 40px;
  }
  #concept .container .pc {
    display: none;
  }
  #concept .point {
    margin-top: 30px;
    padding: 40px;
  }
  #concept .point p span {
    font-size: clamp(16px, 20 * 100 / 1000 * 1vw, 20px);
  }
  /*---------------------reco-tour*/
  #reco-tour .sub-title {
    margin: 0 auto 80px;
  }
  #reco-tour .sub-title h2 {
    font-size: clamp(24px, 32 * 100 / 1000 * 1vw, 32px);
  }
  #reco-tour .sub-title .en-title {
    font-size: clamp(40px, 64 * 100 / 1000 * 1vw, 64px);
    margin: 0 0 10px;
  }
  .p-slide-wrapper {
    position: relative;
    width: 100%;
    max-width: 1200px; /* 任意 */
    margin: 0 auto;
  }
  /* 外側のコンテナ：中身をはみ出さないようにする */
  #FORCIAGadgetlist_1Wrap {
    position: relative;
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
  }
  .dept-name {
    padding: 8px 20px;
  }
  .temp-list {
    padding: 20px;
  }
  .temp-item {
    display: flex;
    justify-content: flex-start;
    column-gap: 10px;
  }
  .temp-item .text {
    margin: -5px 0 0 0;
  }
  .temp-item .city {
    margin: -5px 0 0 -3px;
  }
  .temp-point {
    min-height: 160px;
  }
  .temp-price {
    font-size: clamp(18px, 20 * 100 / 1000 * 1vw, 20px);
  }
  .button-prev, .button-next {
    position: relative;
    width: 50px;
    height: 50px;
    font-size: 28px;
  }
  .button-prev {
    left: -20px;
  }
  .button-next {
    right: -20px;
  }
  .button-prev::before {
    top: 1px;
    left: 10px;
  }
  .button-next::before {
    top: 1px;
    left: 13px;
  }
  #reco-tour .note {
    margin-top: 20px;
  }
  /*---------------------break*/
  .break img {
    aspect-ratio: 3 / 1;
  }
  .b-slide-container {
    aspect-ratio: 3 / 1;
  }
  /*---------------------theme-tour*/
  #theme-tour .pc {
    display: none;
  }
  #theme-tour .sub-title h2 {
    font-size: clamp(24px, 32 * 100 / 1000 * 1vw, 32px);
  }
  #theme-tour .sub-title .en-title {
    font-size: clamp(18px, 24 * 100 / 1000 * 1vw, 24px);
    margin: 0 0 10px;
  }
  .area-container .map {
    margin: 0 0 30px;
  }
  .area-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 12px;
    grid-row-gap: 12px;
  }
  .area-list .text .emphasis {
    font-size: clamp(18px, 20 * 100 / 1000 * 1vw, 20px);
  }
  .theme-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
  .theme-list .text .emphasis {
    font-size: clamp(18px, 20 * 100 / 1000 * 1vw, 20px);
  }
  /*---------------------aieline*/
  .airline .sub-title h2 {
    font-size: clamp(24px, 32 * 100 / 1000 * 1vw, 32px);
  }
  .airline .sub-title .en-title {
    font-size: clamp(18px, 24 * 100 / 1000 * 1vw, 24px);
  }
  .airline-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
  /*---------------------guide*/
  #guide .sub-title h2 {
    font-size: clamp(24px, 32 * 100 / 1000 * 1vw, 32px);
  }
  #guide .sub-title .en-title {
    font-size: clamp(40px, 64 * 100 / 1000 * 1vw, 64px);
  }
  .guide-list li h3 {
    font-size: clamp(18px, 20 * 100 / 1000 * 1vw, 20px);
  }
  /*---------------------arrenge*/
  #arrenge .sub-title {
    margin: 0 auto 80px;
  }
  #arrenge .sub-title h2 {
    font-size: clamp(21px, 32 * 100 / 1000 * 1vw, 32px);
  }
  #arrenge .sub-title .en-title {
    font-size: clamp(32px, 56 * 100 / 1000 * 1vw, 56px);
  }
  .arrenge-container {
    display: block;
  }
  .arrenge-container h3 {
    font-size: clamp(18px, 20 * 100 / 1000 * 1vw, 20px);
    margin: 0 0 20px;
  }
  .arrenge-container .link-contents {
    margin: 30px auto 0;
  }
  .arrenge-container .link-item a {
    font-size: clamp(18px, 20 * 100 / 1000 * 1vw, 20px);
  }
  /*---------------------info*/
  #info .sub-title {
    margin: 40px auto 80px;
  }
  #info .sub-title h2 {
    font-size: clamp(24px, 32 * 100 / 1000 * 1vw, 32px);
  }
  #info .sub-title .en-title {
    font-size: clamp(18px, 32 * 100 / 1000 * 1vw, 32px);
  }
  #info .w1200 {
    padding: 60px 0 0;
  }
  #info .reco-info {
    padding: 0 0 120px;
  }
  /*---------------------contact*/
  .contact .w1200 {
    padding: 60px 0 60px;
  }
  .contact-container {
    display: block;
  }
  #contact .sub-title {
    margin: 0 0 30px;
  }
  #contact .sub-title h2 {
    font-size: clamp(20px, 32 * 100 / 1000 * 1vw, 32px);
  }
  #contact .sub-title .en-title {
    font-size: clamp(18px, 24 * 100 / 1000 * 1vw, 24px);
  }
  #contact .contact-contents {
    display: flex;
    column-gap: 60px;
  }
  #contact .contact-tel h4 {
    font-size: clamp(18px, 28 * 100 / 1000 * 1vw, 28px);
  }
  #contact .contact-tel p {
    font-size: clamp(18px, 28 * 100 / 1000 * 1vw, 28px);
  }
  /*---------------------page-top*/
}
@media only screen and (max-width: 768px) {
  /*---------------------common*/
  .w1000 {
    padding: 80px 0 80px;
  }
  .w500 {
    padding: 80px 0;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /*---------------------pankuzu*/
  /*---------------------menu*/
  /*---------------------top-v*/
  .title {
    position: absolute;
    top: 90px;
    left: 30px;
  }
  /*---------------------concept*/
  #concept .container {
    display: block;
  }
  #concept .container .image {
    margin: 0 0 30px;
  }
  #concept .container h3 {
    margin: 0 0 10px;
  }
  #concept .point {
    margin-top: 20px;
    padding: 30px;
  }
  #concept .point p {
    text-align: left;
  }
  #concept .point ul {
    text-align: left;
  }
  #concept .point ul li {
    justify-content: flex-start;
  }
  /*---------------------reco-tour*/
  #reco-tour .sub-title {
    margin: 0 auto 60px;
  }
  #FORCIAGadgetlist_1Wrap {
    position: relative;
    width: 90%;
    max-width: 350px;
  }
  .button-prev {
    left: 0;
  }
  .button-next {
    right: 0;
  }
  .temp-item {
    min-height: 42px;
  }
  .temp-point {
    min-height: 170px;
  }
  /*---------------------break*/
  .break img {
    aspect-ratio: 2 / 1;
  }
  .b-slide-container {
    aspect-ratio: 2 / 1;
  }
  /*---------------------theme-tour*/
  #theme-tour .sub-title {
    margin: 0 auto 40px;
  }
  .area-list {
    display: block;
  }
  .area-item {
    margin: 0 0 12px;
  }
  .area-item a {
    display: block;
    display: grid;
    grid-template-columns: 1fr 3fr;
  }
  .area-list .image img {
    border-radius: 10px 0 0 10px;
    object-fit: cover;
    height: 100%;
  }
  .area-list .text {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 20px 0;
  }
  .area-list .text p {
    display: block;
    width: 100%;
  }
  #theme-tour .theme .sub-title {
    margin: 80px auto 40px;
  }
  .theme-list {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }
  /*---------------------airline*/
  .airline .sub-title {
    margin: 0 auto 40px;
  }
  .airline-list {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }
  /*---------------------guide*/
  /*---------------------arrenge*/
  /*---------------------info*/
  #info .sub-title {
    margin: 20px auto 60px;
  }
  #info .reco-video {
    padding: 80px 0 0;
  }
  .reco-video ul {
    display: block;
  }
  .reco-video ul li {
    margin: 0 auto 16px;
  }
  #info .reco-info {
    padding: 20px 0 60px;
  }
  .reco-info ul {
    display: block;
  }
  .reco-info ul li {
    margin: 0 auto 16px;
  }
  /*---------------------contact*/
  /*---------------------page-top*/
}
@media only screen and (max-width: 599px) {
  /*---------------------common*/
  .w1500 {
    padding: 60px 0 80px;
  }
  .w1200 {
    padding: 80px 0 80px;
  }
  .w1000 {
    padding: 60px 0 80px;
  }
  .w500 {
    padding: 40px 0;
  }
  .sp-599 {
    display: inline-block;
  }
  /*---------------------pankuzu*/
  /*---------------------menu*/
  #menu .page-nav ul {
    column-gap: 20px;
    width: 95%;
  }
  #menu .page-nav ul a {
    text-align: center;
    line-height: var(--line-narrow);
  }
  /*---------------------top-v*/
  .title {
    position: absolute;
    top: 90px;
    left: 20px;
  }
  /*---------------------concept*/
  #concept .sub-title {
    margin: 0 auto 40px;
  }
  #concept .container .image img {
    border-radius: 6px;
  }
  /*---------------------reco-tour*/
  #reco-tour .sub-title {
    margin: 0 auto 40px;
  }
  #reco-tour .sub-title .en-title {
    margin: 0 0 2px;
  }
  .p-slide-item a {
    border-radius: 6px;
  }
  .dept-name {
    padding: 8px 16px;
    border-radius: 6px 0 0 0;
  }
  .temp_photo img {
    border-radius: 6px 6px 0 0;
  }
  .temp-list {
    padding: 16px;
    line-height: var(--line-narrow)
  }
  .temp-item {
    margin: 0 0 5px;
  }
  .temp-item .text {
    margin: -2px 0 0 0;
  }
  .wrapper-button {
    position: absolute;
    top: 30%;
  }
  .button-prev, .button-next {
    position: relative;
    width: 50px;
    height: 50px;
    font-size: 24px;
  }
  .button-prev {
    left: -5px;
  }
  .button-next {
    right: -5px;
  }
  .button-prev::before {
    top: 5px;
    left: 12px;
  }
  .button-next::before {
    top: 5px;
    left: 15px;
  }
  /*---------------------theme-tour*/
  #theme-tour .sub-title {
    margin: 0 auto 30px;
  }
  #theme-tour .sub-title .en-title {
    margin: 0 0 2px;
  }
  .area-container .map {
    margin: 0 0 20px;
  }
  .area-container .map img {
    border-radius: 6px;
  }
  .area-item a {
    grid-template-columns: 1fr 3fr;
    border-radius: 6px;
  }
  .area-list .text {
    padding: 10px 0;
  }
  .area-list .image img {
    border-radius: 6px 0 0 6px;
  }
  #theme-tour .theme .sub-title {
    margin: 80px auto 30px;
  }
  .theme-list {
    display: block;
  }
  .theme-item {
    margin: 0 0 12px;
  }
  .theme-item a {
    border-radius: 6px;
  }
  .theme-item .image img {
    border-radius: 6px 6px 0 0;
  }
  /*---------------------airline*/
  .airline .sub-title {
    margin: 0 auto 30px;
  }
  .airline-list {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
  }
  .airline-list .image span {
    font-size: 14px;
    position: absolute;
    bottom: 12px;
    right: 6px;
  }
  .airline-item a {
    border-radius: 6px;
  }
  .airline-item .image img {
    border-radius: 6px 6px 0 0;
  }
  .airline-item .text {
    line-height: var(--line-narrow);
  }
  /*---------------------guide*/
  #guide .sub-title {
    margin: 0 auto 40px;
  }
  #guide .sub-title .en-title {
    margin: 0 0 2px;
  }
  /*---------------------arrenge*/
  #arrenge .sub-title {
    margin: 0 auto 40px;
  }
  #arrenge .sub-title .en-title {
    margin: 0 0 10px;
    line-height: var(--line-narrow);
  }
  .arrenge-container h3 {
    margin: 0 0 16px;
  }
  .arrenge-container .link-item a {
    border-radius: 6px;
  }
  /*---------------------info*/
  #info .sub-title {
    margin: 20px auto 40px;
  }
  .reco-sns ul {
    grid-column-gap: 20px;
  }
  /*---------------------contact*/
  .contact .w1200 {
    padding: 50px 0 50px;
  }
  #contact .contact-contents {
    display: block;
  }
  #contact .contact-tel {
    margin: 0 0 20px;
  }
  /*---------------------page-top*/
  #page-top {
    height: 60px;
    width: 60px;
    position: fixed;
    right: 20px;
    bottom: 48px;
  }
}