@charset 'utf-8';
/************************************************************
					hover用
************************************************************/
@media screen and (min-width: 1050px) {
  #top section a:hover {
    opacity: .7;
    transition: ease-out .4s;
  }
  #tz-contents .tz-link a:hover {
    opacity: .7;
    transition: ease-out .4s;
  }
  #other .searchEffList .tour-item:hover {
    opacity: .7;
    transition: ease-out .4s;
  }
  #other .pageGuideBottom li:hover {
    opacity: .7;
    transition: ease-out .4s;
  }
}
/************************************************************
					max1050px
************************************************************/
@media screen and (max-width: 1050px) {
  /*-----------------------------------------------------------------------common*/
  .pc {
    display: none;
  }
  .c .sp {
    display: none;
    line-height: 0;
  }
  .tb {
    display: block;
  }
  .container {
    font-size: 1rem;
  }
  section {
    padding: 4em 0;
    margin: 0 auto;
  }
  .inner {
    max-width: 1000px;
    width: 90%;
  }
  /*-----------------------------------------------------------------------pankuzu*/
  #pankuzu {
    display: none;
  }
  /*-----------------------------------------------------------------------top*/
  #top section {
    background-image: unset;
    padding: 0;
  }
  #top section a {
    position: absolute;
    bottom: 50px;
    right: 20px;
  }
  .top-container {
    background-image: url(../img/main_sp.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 10em 0 10em;
    position: relative;
    top: 0;
    left: 0;
  }
  .top-text {
    background-color: var(--light-black);
    padding: 2em 0;
  }
  /*-----------------------------------------------------------------------main-tour*/
  #main-tour section {
    padding: 7em 0 3em;
  }
  .subtitle-add {
    grid-template-columns: 3fr 2fr;
  }
  #main-tour section h2 {
    line-height: var(--line-height-narrow);
  }
  .map-contents {
    display: block;
    margin: 3em 0 4em;
  }
  .map-contents p {
    max-width: 1050px;
    margin-bottom: 2em;
  }
  /*-----------------------------------------------------------------------points*/
  #points .border {
    height: 120px;
  }
  /*-----------------------------------------------------------------------options*/
  #options section {
    padding: 1em 0 6em;
  }
  #options section h2 {
    margin: .3em 0 1em;
  }
  #options section h3 {
    margin: .5em auto 0;
  }
  #options section h4 {
    position: relative;
    left: 0;
  }
  /*-----------------------------------------------------------------------tz-contents*/
  #tz-contents .detail {
    padding: 6em 0 2em;
  }
  /*-----------------------------------------------------------------------tz-contents*/
  #other .heading {
    display: block;
  }
  #other .heading .area-img img {
    aspect-ratio: 3 / 1;
    object-fit: cover;
    object-position: top;
  }
  #ayers-rock .heading .area-img img {
    aspect-ratio: 3 / 1;
    object-fit: cover;
    object-position: center;
  }
  #tahiti .heading .area-img img {
    aspect-ratio: 3 / 1;
    object-fit: cover;
    object-position: center;
  }
  #other .heading .area-detail .area-title {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    margin: 0 auto;
    padding: 2em;
    max-width: 1000px;
    width: 90%;
  }
  #other .searchEffList {
    display: grid;
    justify-content: center;
    grid-template-columns: 1fr 1fr;
    column-gap: 1em;
  }
  #other .other-tour {
    padding: 0 0 3em;
  }
  #other .pageGuideBottom li:has(strong){
    font-size: .875rem;
  }
  #other .pageGuideBottom li a{
    font-size: .875rem;
  }
  /*-----------------------------------------------------------------------contact*/
  #contact section {
    padding: 3em 0;
  }
}
/************************************************************
					タブレット対応
************************************************************/
@media screen and (max-width:768px) {
  /*-----------------------------------------------------------------------common*/
  .sp {
    display: block;
  }
  .container {
    font-size: .875rem;
  }
  /*-----------------------------------------------------------------------top*/
  #top section a {
    position: absolute;
    bottom: 30px;
    right: 20px;
  }
  /*-----------------------------------------------------------------------tz-contents*/
  #tz-contents .tz-link .tz-plan {
    display: block;
  }
  #tz-contents .tz-link .tz-plan li {
    margin-bottom: 1em;
  }
  #tz-contents .tz-link hr{
    margin: .5em auto 1em;
  }
  /*-----------------------------------------------------------------------break*/
  #break ul {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(3, 1fr);
  }
  /*-----------------------------------------------------------------------other*/
  #other .pageGuideBottom li {
    font-size: .875rem;
    margin: 1em 10px 0 0;
  }
  #other .pageGuideBottom li:has(strong){
	padding: 8px 16px;
  }
  #other .pageGuideBottom li a{
	padding: 8px 16px;
  }
}
/************************************************************
						スマホ対応
************************************************************/
@media screen and (max-width:599px) {
  /*-----------------------------------------------------------------------top*/
  #top section a {
    position: absolute;
    bottom: 30px;
    right: 20px;
    max-width: 120px;
  }
  #top section p {
    font-size: .8125rem;
  }
  /*-----------------------------------------------------------------------main-tour*/
  #main-tour section {
    padding: 5em 0 1em;
  }
  #main-tour section h2 {
    font-size: 1.25rem;
    line-height: var(--line-height-normal);
  }
  .map-contents {
    margin: 1em 0 4em;
  }
  .map-contents p {
    font-size: .875rem;
  }
  /*-----------------------------------------------------------------------points*/
  #points section {
    padding: 4em 0 2em;
  }
  #points section .deco {
    max-width: 120px;
  }
  #points section h2 {
    font-size: 1.125rem;
    margin: 0 0 1em;
  }
  #points section h2 .number {
    font-size: 1.75rem;
    margin: 0 6px;
  }
  #points section ul {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(2, 1fr);
    grid-column: auto;
    column-gap: 1em;
    row-gap: 3em;
  }
  /* 1,2,3番目の要素（上の行） */
  #points section ul li:nth-child(-n+3) {
    /* 各要素が2列分を占める */
    grid-column: auto;
  }
  /* 4番目の要素（下の行の1つ目） */
  #points section ul li:nth-child(4) {
    /* 2列目から始まり、2列分を占める */
    grid-column: auto;
  }
  /* 5番目の要素（下の行の2つ目） */
  #points section ul li:nth-child(5) {
    /* 4列目から始まり、2列分を占める */
    grid-column: auto;
  }
  #points section ul li img {
    border-radius: 6px;
  }
  #points section ul p {
    font-size: .8125rem;
  }
  #points .border {
    height: 60px;
  }
  /*-----------------------------------------------------------------------options*/
  #options section {
    padding: 1em 0 3em;
  }
  #options section h4 {
    position: relative;
    left: 0;
    max-width: 180px;
    width: 100%;
  }
  #options section h2 {
    font-size: 1.125rem;
    margin: .3em 0 1em;
  }
  #options section h2 span {
    font-size: .875rem;
  }
  #options section ul {
    display: block;
  }
  #options section ul li {
    margin-bottom: 2em;
  }
  #options section ul li img {
    aspect-ratio: 5 / 2;
    object-fit: cover;
    border-radius: 6px;
  }
  #options section h5 {
    padding: 6px 14px;
    margin: .8em 0 .5em;
    border-radius: 6px;
  }
  #options section .col-blue {
    margin-bottom: 0;
  }
  /*-----------------------------------------------------------------------tz-contents*/
  #tz-contents .detail {
    padding: 4em 0 0;
  }
  #tz-contents .detail ul {
    display: block;
  }
  #tz-contents .detail ul li {
    margin-bottom: 3em;
  }
  #tz-contents .detail h4 {
    font-size: 1rem;
    margin-bottom: .5em;
  }
  #tz-contents .detail ul img {
    aspect-ratio: 3 / 2;
    border-radius: 6px;
  }
  #tz-contents .detail h5 {
    font-size: .875rem;
    padding: 6px 14px;
    margin: .8em 0 .5em;
    border-radius: 6px;
  }
  #tz-link {
    padding: 2em 0 4em;
  }
  #tz-contents .tz-link h3 {
    max-width: 250px;
    width: 100%;
  }
  #tz-contents .tz-link h2 {
    font-size: 1.125rem;
  }
  #tz-contents .tz-link .col-red {
    font-size: 1.125rem;
  }
  #tz-contents .tz-link a {
    font-size: 1rem;
    padding: 10px 14px;
    margin: .3em 0 .3em;
    border-radius: 6px;
  }
  /*-----------------------------------------------------------------------other*/
  #other .other-tour {
    padding: 0 0 1em;
  }
  #other .area-tour {
    margin: 3em auto 2em;
  }
  #other .heading .area-detail .area-title {
    padding: 2em 1em;
  }
  #other .heading .area-detail h3 {
    font-size: 1.5rem;
  }
  #other .heading .area-detail h3 span {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    font-size: 2.25rem;
  }
  #egypt .heading .area-detail h3 span {
    font-size: 1.8rem;
  }
  #other .heading .area-img img {
    aspect-ratio: 2 / 1;
  }
  #other .searchEffList {
    display: block;
  }
  #other .searchEffList .tour-item {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
  }
  #other .pageGuideBottom .pageGuide {
    display: flex;
    flex-wrap: wrap;
  }
  /*-----------------------------------------------------------------------contact*/
  #contact h2 {
    font-size: 1.125rem;
    margin-bottom: .5em;
  }
  #contact .contact-container {
    display: block;
  }
  #contact .content-subtitle {
    font-size: 1rem;
    margin-bottom: 1em;
  }
}