/*----------------------------
/SP用CSS
/*----------------------------*/
img{
  width:100%;
}
h1, h2, h3, h4, p, ul, li, dl, dt, dd {
  margin: 0;
  padding: 0;
}
th {
  padding: 2vw;
  background: #ddd;
  text-align: left;
}
.air_mainContent main {
  width: 100%;
  padding: 2vw 0 10vw;
}
/*===========================

header

============================*/
/*メニュー部分*/
#side_button,
#side_button span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
#toTop{
  width: 60px;
  height: 60px;
  background: url(/img/pagetop.png) no-repeat 0 0;
  background-size: cover;
  position: fixed;
  bottom: 100px;
  right: 10px;
  z-index: 1000;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#toTop:hover{
  cursor: pointer;
}
#side_button {
  position: absolute;
  width: 16vw;
  height: 15vw;
  top: 1vw;
  right:0;
  z-index:1002;
  background: #4675B0;
}
#side_button.active{
  right:62%;
}
#side_button span {
  position: absolute;
  left: 20%;
  width: 60%;
  height: 1vw;
  background-color: #fff;
  border-radius: 0;
}
#side_button span:nth-of-type(1) {
  top: 4vw;
}
#side_button span:nth-of-type(2) {
  top: 7vw;
}
#side_button span:nth-of-type(3) {
  bottom: 4vw;
}

#side_button.active span:nth-of-type(1) {
  -webkit-transform: translateY(3vw) rotate(-45deg);
  transform: translateY(3vw) rotate(-45deg);
}
#side_button.active span:nth-of-type(2) {
  opacity: 0;
}
#side_button.active span:nth-of-type(3) {
  -webkit-transform: translateY(-3vw) rotate(45deg);
  transform: translateY(-3vw) rotate(45deg);
}
.air_header{
  border-bottom: 1.5vw solid #4675B0;
}
.air_header .in_header{
  width: 100%;
  padding: 1.5vw 16vw 1.5vw 3vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.air_header #logo {
  margin: 0;
}
.air_header #logo a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.air_header #logo a img:first-child {
  /*width: 34vw;*/
  width: 32vw;
}
.air_header #logo a img:nth-child(2) {
  /*width: 24vw;*/
  width: 22vw;
  margin-left: 1.5vw;
}
.air_header #logo_anta {
  margin: 0;
}
.air_header #logo_anta img {
  vertical-align: bottom;
  width: 10vw;
}
.air_header nav{
  font-size: 4vw;
  position: fixed;
  top: 0;
  right: -60%;
  background: #fff;
  width: 60%;
  height: 100%;
  z-index: 1003;
}
.air_header nav a{
  display: block;
  text-decoration: none;
  color: #4675B0;
  border-bottom: 1px solid #4675B0;
  padding: 4vw 3vw;
}
.air_header nav a dl{
  display: flex;
  align-items: center;
  margin: 0;
}
.air_header nav a dl dt{
  margin-right: 2vw;
}
.air_header nav a dl dt img{
  width: 6vw;
}
.air_header nav a dl dd {
  margin-left: 0;
}
.air_header nav a:hover dl dd{
  text-decoration: underline;
}
.air_header .navWrap {
  display: flex;
}
.air_header .info_sp,
.air_header .faq_sp{
  font-size: 2.5vw;
  text-align: center;
  margin-right: 2vw;
}
.air_header .info_sp a,
.air_header .faq_sp a {
  display: block;
  width: 16vw;
  text-decoration: none;
  color: #4675B0;
  padding: 1vw 0;
  background: #fff;
  border: 1px solid #cccccc;
  border-radius: 1vw;
}
.air_header .info_sp a dl,
.air_header .faq_sp a dl {
  margin: 0;
}
.air_header .info_sp a dd,
.air_header .faq_sp a dd {
  margin-left: 0;
  line-height: 1.3;
  font-size: 2.6vw;
}
.air_header .info_sp img,
.air_header .faq_sp img{
  width: auto;
  height: 4vw;
}
.layer{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
}


/*===========================

kvBlock

============================*/
.air_kvBlock .search_box {
  padding: 0 2vw;
}
.air_kvBlock .search_box2 {
  padding: 0 2vw;
}

.air_kvBlock .search_box3 {
  padding: 0 2vw;
}



/*===========================

typeBlock

============================*/
.air_typeBlock {
    background: #4d4d4d;
}
.air_typeBlock .type_list {
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.air_typeBlock .type_item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 10vw;
    font-size: 4vw;
    color: #fff;
}
.air_typeBlock .type_item.active {
    background: #4675b0;
}
.air_typeBlock .type_item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 4vw;
    color: #fff;
    text-decoration: none;
    transition: 0.2s;
}
.air_typeBlock .type_item a:hover {
    background: #333;
}


/*===========================

mainTicket

============================*/
.air_mainTicket {
  letter-spacing: .3em;
}
.air_mainTicket .inner {
  padding: 0 2vw;
}
.air_mainTicket .ticketTtl {
  margin: 0;
  padding-top: 10vw;
  background: url(/tsp_air/images2/ico_airplane.png) no-repeat center top/ 10vw auto;
  text-align: center;
  font-size: 5vw;
  font-weight: normal;
  color: #4675b0;
  letter-spacing: 0;
}
.air_mainTicket .ticketList {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin-top: 2vw;
  padding: 0;
}
.air_mainTicket .ticketItem {
  width: 32%;
}
.air_mainTicket .ticketLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 12vw;
  background: #4675b0;
  border-radius: 1.5vw;
  font-size: 3.5vw;
  font-weight: bold;
  color: #fff;
  transition: 0.3s;
}


/*===========================

popularTicket

============================*/
.air_popularTicket {
  letter-spacing: .2em;
}
.air_popularTicket .inner {
  padding: 0 2vw;
}
.air_popularTicket .ticketTtl {
  margin: 6vw 0 0;
  padding-top: 10vw;
  background: url(/tsp_air/images2/ico_crown.png) no-repeat center top /10vw auto;
  text-align: center;
  font-size: 5vw;
  font-weight: normal;
  color: #4675b0;
  letter-spacing: 0;
}
.air_popularTicket .ticketSubttl {
  width: 30vw;
  margin-top: 2vw;
  padding: 1vw 0;
  background: #0b2e5b;
  font-size: 3.5vw;
  font-weight: bold;
  color: #fff;
  text-align: center;
  border-radius: 1.5vw;
}
.air_popularTicket .ticketList {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 2vw 0 0;
  padding: 0;
}
.air_popularTicket .ticketItem {
  width: 32%;
  margin: 0 0 2% 2%;
}
.air_popularTicket .ticketItem:nth-child(3n+1) {
  margin-left: 0;
}
.air_popularTicket .ticketLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 12vw;
  background: #dbe7f6;
  border-radius: 1.5vw;
  font-size: 3.5vw;
  font-weight: bold;
  color: #1e508f;
  transition: 0.3s;
  text-align: center;
  line-height: 1.2;
}
.air_popularTicket .ticketLink:hover {
  background: #4675b0;
  color: #fff;
  text-decoration: none;
}
.air_popularTicket .otherButton {
  margin: 5vw 0 0;
  text-align: center;
}
.air_popularTicket .otherButtonLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 12vw;
  margin: 0 auto;
  background: #ffaa01;
  font-size: 4vw;
  font-weight: bold;
  color: #fff;
  border-radius: 8px;
  letter-spacing: 0;
  transition: .3s;
}
.air_popularTicket .otherButtonLink:hover {
  opacity: .8;
  text-decoration: none;
}


/*===========================

meritBlock

============================*/
.air_meritBlock {
  margin-top: 10vw;
    background: #4675b0;
}
.air_meritBlock .inner {
    margin: 0 auto;
    padding: 5vw 2vw;
}
.air_meritBlock .blockTtl {
    font-size: 5vw;
    color: #fff;
    line-height: 1.3;
    text-align: center;
    font-weight: normal;
}
.air_meritBlock .blockTtl .small {
    font-size: 3vw;
    font-weight: bold;
}
.air_meritBlock .meritList {
    margin-top: 5vw;
    padding: 0;
}
.air_meritBlock .meritItem {
    display: flex;
    justify-content: space-between;
}
.air_meritBlock .meritItem + .meritItem {
    margin-top: 4vw;
}
.air_meritBlock .meritImg {
    width: 30%;
}
.air_meritBlock .textWrap {
    width: 68%;
}
.air_meritBlock .meritTtl {
    font-size: 4vw;
    font-weight: bold;
    color: #fff;
}
.air_meritBlock .meritDesc {
    margin-top: 2vw;
    line-height: 1.5;
    font-size: 3.5vw;
    color: #fff;
}


/*===========================

stepBlock

============================*/
.air_stepBlock .blockTtl {
  margin: 0;
  font-size: 5vw;
  font-weight: bold;
  color: #4675b0;
}
.air_stepBlock .inner {
  padding: 4vw 2vw;
}
.air_stepBlock .stepWrap {
  margin-top: 2vw;
  padding: 0 6vw;
}
.air_stepBlock .box {
  display: flex;
  justify-content: space-between;
}
.air_stepBlock dl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 30vw;
  height: 28vw;
  color: #fff;
  border-radius: 5px;
  border: 2px #fff solid;
  font-weight: bold;
}

.air_stepBlock dl dt {
  color: #fff352;
  /*margin-bottom: 15px;*/
  font-size: 3vw;
}

.air_stepBlock dl dd {
  width: 100%;
  margin: 0;
  padding-top: 12vw;
  font-size: 3.5vw;
  text-align: center;
}
.air_stepBlock dl.step1 {
  background: #4675B0 url(/tsp_air/images2/ico_step1.png) no-repeat center top 9vw /auto 8vw;
}
.air_stepBlock dl.step2 {
  background: #4675B0 url(/tsp_air/images2/ico_step2.png) no-repeat center top 9vw /auto 8vw;
}
.air_stepBlock dl.step3 {
  background: #4675B0 url(/tsp_air/images2/ico_step3.png) no-repeat center top 8vw /auto 8vw;
}
.air_stepBlock dl.step4 {
  background: #4675B0 url(/tsp_air/images2/ico_step4.png) no-repeat center top 8vw /auto 8vw;
}
.air_stepBlock dl.step5 {
  background: #4675B0 url(/tsp_air/images2/ico_step5.png) no-repeat center top 9vw /auto 8vw;
}
.air_stepBlock .desc {
  width: 50vw;
  padding-top: 2vw;
  line-height: 1.5;
  font-size: 3.5vw;
}

.air_stepBlock .arrow {
  display: block;
  text-align: center;
}
.air_stepBlock .arrow img {
  width: 8vw;
  vertical-align: middle;
}
.air_stepBlock .descButton {
  margin: 5vw 0 0;
  text-align: center;
}
.air_stepBlock .descButtonLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 12vw;
  margin: 0 auto;
  background: #ffaa01;
  font-size: 4vw;
  font-weight: bold;
  color: #fff;
  border-radius: 8px;
  letter-spacing: 0;
  transition: .3s;
}


/*===========================

otherBlock

============================*/
.air_otherBlock {
  margin-top: 5vw;
}
.air_otherBlock .inner {
  padding: 0 2vw;
}
.air_otherBlock .blockTtl .small {
  font-size: 16px;
  font-weight: bold;
}
.air_otherBlock .otherList {
  display: flex;
  justify-content: center;
  margin-top: 30px;
  padding: 0;
  list-style: none;
}
.air_otherBlock .otherItem {
  width: 33%;
  text-align: center;
}
.air_otherBlock .otherLink {
  display: block;
  font-size: 4vw;
  color: #4675b0;
  transition: .3s;
}
.air_otherBlock .otherLink:hover {
  opacity: .8;
  text-decoration: none;
}
.air_otherBlock .otherImg {
  min-height: 14vw;
  margin: 0;
}
.air_otherBlock .otherImg img {
  width: 10vw;
  vertical-align: bottom;
}
.air_otherBlock .otherTtl {
  font-size: 4vw;
  font-weight: normal;
  line-height: 1.3;
}