@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

ul {
    list-style-type: none;
}

a {
    text-decoration: none;
}

body {
    background-color: ivory;
}

header {
    width: 85%;
    margin-top: 1%;
    margin-left: auto;
    margin-right: auto;
    align-items: baseline;
    border-bottom: 2px solid #502200;
}

header h1 {
    width: 70%;
}

header h1 img {
    width: 70%;
    vertical-align: bottom;
}

/*ナビメニューのスタイルを指定*/
nav.NavMenu{
	position: fixed; /*表示位置を固定*/
	z-index: 2; /*重ね順を変更*/
	top: 0; /*表示位置を指定*/
	left: 0; /*表示位置を指定*/
	background: ivory;/*背景を白にする*/
	color: #502200; /*文字色を黒にする*/
	text-align: center; /*テキストを中央揃え*/
	width: 100%; /*全幅表示*/
	transform: translateX(-100%); /*ナビを上に隠す上から出したい場合は、transform: translateYを使う。*/
	transition: all 0.6s; /*アニメーションの時間を指定*/
}

nav.NavMenu ul{
	background: ivory; /*背景をグレーにする*/
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

nav.NavMenu ul li{
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #502200;
}

nav.NavMenu ul li:last-child{
	padding-bottom: 0;
	border-bottom: none; /*最後のメニュー項目のみ下線を消す*/
}

nav.NavMenu ul li a{
	display: block; /*クリックできる領域を広げる*/
	color: #502200;
	padding: 1em 0;
}


/*トグルボタンが押されたときに付与するクラス*/
nav.NavMenu.active{
	transform: translateX(0%);/*上から出したい場合は、transform: translateYを使う。*/
}


/*トグルボタンのスタイルを指定*/
.Toggle {
	position: fixed;    /* bodyに対しての絶対位置指定 */
	right: 13px;
	top: 12px;
	width: 42px;
	height: 42px;
	cursor: pointer;/*divだけどカーソルが変わるようにしている*/
	z-index: 3;/*ボタンを一番上にしている(押せなくなるから)*/
}

.Toggle span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 3px #502200;
	transition: .35s ease-in-out;			/*変化の速度を指定*/
	left: 6px;
}

.Toggle span:nth-child(1) {
	top: 9px;
}

.Toggle span:nth-child(2) {
	top: 18px;
}

.Toggle span:nth-child(3) {
	top: 27px;
}

/* 最初のspanをマイナス45度に */
.Toggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
	top: 18px;
	transform: rotate(45deg);
}

/* メインビジュアル */
.mainvisual-box {
    width: 90%;
    margin-top: 2%;
    margin-left: auto;
    margin-right: auto;
}
/* タブ部分 */
.mainvisual-box .tab_container {
    width: 100%;
    padding-bottom: 1em;
    background-color: ivory;
    border-right: 1px solid #502200;
    border-left: 1px solid #502200;
    border-bottom: 1px solid #502200;
    border-radius: 10px;
    margin: 0 auto;
}

.mainvisual-box .tab_item {
    width: calc(100%/2);
    padding:15px 0;
    border-top: 1px solid #502200;
    border-bottom: 1px solid #502200;
    background-color: ivory;
    text-align: center;
    color: #502200;
    display: block;
    float: left;
    text-align: center;
    font-size: 3vw;
    font-weight: bold;
    transition: all 0.2s ease;
    border-radius: 10px 10px 0 0;
}

.mainvisual-box .tab_item:hover {
    opacity: 0.75;
}

.mainvisual-box .tab_container input[name="tab_item"] {
    display: none;
}

.mainvisual-box .tab_container .tab_content {
    display: none;
    padding: 1em 1em 0;
    clear: both;
    overflow: hidden;
}

#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content {
    display: block;
}

.deep {
    display: none;
}

.mainvisual-box .tab_container input:checked + .tab_item {
    background-color: #502200;
    color: ivory;
}

.mainvisual-box .tab_container .tab_content .tab_content_description {
    line-height: 3;
    padding: 1vw;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab {
    display: flex;
    margin-bottom: 1vw;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab label {
    display: block;
    width: 20%;
    color: #502200;
    font-size: 2.5vw;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab select {
    width: 80%;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab #kazu {
    width: 20%;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab .days {
    width: 80%;
    display: flex;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab .days #kazu {
    width: 30%;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab .days p {
    margin-left: 1vw;
    margin-right: 1vw;
}

.mainvisual-box .tab_container .tab_content .tab_content_description .kokunai-tab .kuukou {
    margin-left: 0.7vw;
    font-size: 2vw;
}

.submit {
    width: 100%;
    padding: 0.8vw 0;
    background-color: #502200;
    color: white;
    font-size: 3vw;
    border-radius: 10px;
    cursor: pointer;
}

/* スライドショー部分 */
    /*=== 画像の表示エリア ================================= */
    .mainvisual-box .slide {
    position   : relative;
    overflow   : hidden;
    width      : 100%;
    height     : auto;
    margin-left: 2%;
    background : ivory;
    }
    
    /*=== 画像の設定 ======================================= */
    .mainvisual-box .slide img {
    display    : block;
    position   : absolute;
    width      : 100%;
    height     : auto;
    opacity    : 0;
    animation  : slideAnime 30s ease infinite;
    }
    
    /*=== スライドのアニメーションを段差で開始する ========= */
    .mainvisual-box .slide img:nth-of-type(1) { animation-delay: 0s }
    .mainvisual-box .slide img:nth-of-type(2) { animation-delay: 6s }
    .mainvisual-box .slide img:nth-of-type(3) { animation-delay: 12s }
    .mainvisual-box .slide img:nth-of-type(4) { animation-delay: 18s }
    .mainvisual-box .slide img:nth-of-type(5) { animation-delay: 24s }

    /*=== スライドのアニメーション ========================= */
    @keyframes slideAnime{
    0% { opacity: 0 }
    10% { opacity: 1 }
    20% { opacity: 1 }
    30% { opacity: 0 }
    100% { opacity: 0 }
    }

/* メイン */
main {
    margin-top: 5%;
    margin-bottom: 5%;
}

main section h2 {
    margin-bottom: 1%;
    padding: 0.5vw 1vw;
    font-size: 2.5vw;
    color: white;
    background-color: #502200;
    border-radius: 10px 10px 0 0;
    white-space: pre-wrap;
}

/* 「今月のピックアップセクション */
main section {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2%;
    padding: 1vw;
    border: 1px solid #502200;
    border-radius: 10px;
    opacity: 0;
    transition: 1s;
    transform: translateY(50px);
}

.isAnimate {
    opacity: 1;
    transform: translateY(0px);
}


main section .tour-container,main section .tour-container-1,main section .tour-container-2 {
margin-top: 2%;
}


main section .tour-container figure,main section .tour-container-1 figure,main section .tour-container-2 figure {
    display: block;
    margin-top: 2%;
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
}

main section .tour-container figure img,main section .tour-container-1 figure img,main section .tour-container-2 figure img {
    display: block;
    width: 90%;
}

figcaption {
    margin: 0.5em;
    font-size: 2vw;
    color: #502200;
    white-space: pre-wrap;
}

figcaption span {
    display: block;
    margin: 0 0.2vw;
    padding: 0.1vw 0.5vw;
    background-color: #502200;
    color: ivory;
    font-size: 2vw;
    border-radius: 5px;
    white-space: pre-wrap;
}

/* ランキングをつける */
main section .tour-container .ranking {
    position: relative;
}

main section .tour-container .ranking .anim-box img {
    border-radius: 10px 10px 0 0;
}

main section .tour-container .ranking .oukan {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 70px;
    height: auto;
    z-index: 100;
}

main section .tour-container .no-1 .oukan img {
    width: 100%;
}

/* 「おすすめ特集」の上の文字 */
.tour-container-1 .box-p,.tour-container-2 .box-p {
    display: flex;
    height: 15vw;
    align-items: center;
    justify-content: center;
}

.tour-container-1 .box-p p,.tour-container-2 .box-p p {
    font-size: 2vw;
    font-weight: 800;
    color: #502200;
    letter-spacing: 0.1em;
    background-color: rgba(255, 255, 255, 0.5);}

/* ピックアップにふきだしをつける */
.balloonoya {
  position   : relative;                /* 指定した分だけ相対的に移動 */
}
.balloonoya:hover .balloon {
  display: inline;                /* インライン要素として表示 */
}
.balloon {
  position   : absolute;                /* 親要素を基準 */
  display: none;                        /* 要素を非表示 */
  padding: 1vw;                         /* テキストの前後の余白 */
  background-color: lightskyblue;       /* 背景色（透明度） */
  width:180px;                          /* 吹き出し全体の幅 */
  height: 50px;
  left : 20%;                           /* 表示位置 */
  bottom : 100%;                        /* 表示位置 */
  margin-bottom : 12px;                 /* 表示位置 */
  font-size: 2vw;                       /* 文字サイズ */
  font-weight: 600;
  color: #502200;
  border-radius: 10px;
}
.balloon:after{
  border-top: 12px solid lightskyblue;    /* 吹き出し口の高さ・色 */
  border-left: 10px solid transparent;    /* 吹き出し口の幅１／２ */
  border-right: 10px solid transparent;   /* 吹き出し口の幅１／２ */
  bottom: -12px;                          /* 吹き出し口の位置調整 */
  left : 5%;                              /* 吹き出し口の横位置 */
  content: "";                       /* コンテンツの挿入 */
  position: absolute;                /* 親要素を基準 */
  z-index: 1000;
}

/* タイトルありの画像を貼る */
main section .tour-container-1 .box:nth-of-type(1) {
    background-image: url(../images/tomogasima.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-1 .box:nth-of-type(2) {
    background-image: url(../images/sarusima-3.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-1 .box:nth-of-type(3) {
    background-image: url(../images/yurasansou.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-1 .box:nth-of-type(4) {
    background-image: url(../images/kinugawaonsen.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-2 .box:nth-of-type(1) {
    background-image: url(../images/germany.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-2 .box:nth-of-type(2) {
    background-image: url(../images/Italy.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-2 .box:nth-of-type(3) {
    background-image: url(../images/rumania.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-2 .box:nth-of-type(4) {
    background-image: url(../images/turkey.jpg);
    background-size: cover;
    transition: 1s;
}

main section .tour-container-1 .box:hover {
    opacity: 0.7;
    transition: 1s;
}

main section .tour-container-2 .box:hover {
    opacity: 0.7;
    transition: 1s;
}


/* ボックスにタイトルをつける */
 /* --- BOXの定義 -------------------------------------------------*/
.box {
  position      : relative;            /* タイトル用に親要素定義  */
  box-sizing    : border-box;          /* 罫線・余白も含む大きさ  */
  height: 15vw;
  border        : 1px solid #502200;   /* BOXの枠線               */
  border-radius : 10px;                /* BOXの角丸               */
}
 
 /* --- タイトル部分の定義 ----------------------------------------*/
.box::before {
  position      : absolute;          /* 親からの相対位置の定義  */
  display       : inline-block;      /* インラインボックス定義  */
  box-sizing    : border-box;        /* 罫線・余白も含む大きさ  */
  line-height   : 1;                 /* 1行の高さを初期化       */
  background    : #502200;           /* タイトル背景色          */
  color         : #ffffff;           /* タイトルの文字色        */
  content       : attr(title);       /* タイトルに[title]を表示 */
  font-weight   : bold;              /* タイトルは太字          */
  padding       : 0.5vw 1vw;          /* タイトル内の余白        */
  top           : -1px;              /* 枠線分上を指定          */
  left          : -1px;              /* 枠線分左を指定          */
  border-radius : 10px 0;            /* タイトルの角丸          */
  font-size     : 1vw;              /* タイトルの文字サイズ    */
}

/* きらりんアニメーション */
.anim-box {
  opacity: 1;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.anim-box::before {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: -100px;
  left: 0;
  width: 30px;
  height: 100%;
  opacity: 0;
  transition: cubic-bezier(0.32, 0, 0.67, 0);
}
.anim-box:hover::before {
  animation: kiran 0.5s linear;
}
 
@keyframes kiran {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/* フッター */

footer {
    padding: 2%;
    background-color: #502200;
}

footer ul {
    display: flex;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

footer ul li {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 0 1.2vw;
    border-right: 1px solid ivory;
}

footer ul li:last-child {
    border: none;
}

footer ul li a {
    display: block;
    font-size: 1vw;
    color: white;
    text-align: center;
    transition: 0.5s;
}

footer ul li a:hover {
    opacity: 0.6;
    transition: 0.5s;
}

footer p {
    margin-top: 1.5vw;
    font-size: 0.9vw;
    color: white;
    text-align: center;
}