/* よくある質問 ----------------------------------------------------*/
section.faq{margin-bottom: 4em;}
.faq_menu_wrap{
margin-bottom: 3em;
padding: 0 2em;
}
.faq_menu{
width: calc(100% / 4 - 10px);
margin: 0 5px 0;
}
.faq_menu a{
display: block;
text-align: center;
padding: 0.5em 1em;
background: #fff;
color: #7e1c33;
text-decoration: none;
font-weight: bold;
border: solid 1px #7e1c33;
}
.faq_menu a:hover{
color: #fff;
background: #7e1c33;
opacity: 1;
}
.faq_menu a.ac{
color: #fff;
background: #7e1c33;
}

/* アコーディオン ----------------------------------------------------*/
.ac_co {
width: calc(100% / 1 - 2em);
margin: 1em 1em;
}
.ac_co summary {
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
background: #f1f1f1;
padding: 0.2em 0 0em 2.5em;
height: 45px;
}
.ac_co summary::-webkit-details-marker {display:none;}
.ac_co summary::before{
position: absolute;
content: 'Q.';
color: #3f6db5;
font-size: 1.2em;
font-weight: bold;
left: 12px;
top: 5px;
}
.ac_co summary::after {
color: #999;
box-sizing: border-box;
content: '\f067';
display: block;
font-family: "Font Awesome 5 Free";
position: absolute;
right: 13px;
top: 13px;
font-weight: bold;
font-size: 1em;
}
.ac_co[open] summary::after {content: '\f068';}
.ac_co p {
/*transform: translateY(-10px);*/
opacity: 0;
margin: 0;
padding: 0.5em 1.3em 2em 2.5em;
/*transition: 0.3s all;*/
position: relative;
}
.ac_co p .s90{font-size: 0.9em;}
.ac_co p::before{
position: absolute;
content: 'A.';
color: #a64f4f;
font-size: 1.2em;
font-weight: bold;
left: 15px;
top: 4px;
}
.ac_co[open] p {
transform: none;
opacity: 1;
transition: 1s all;
}

@media screen and (max-width:768px){
.faq_menu_wrap{padding: 0;margin-bottom: 1.5em;}
.faq_menu{width: calc(100% / 2 - 10px);margin: 0 5px 10px;}

/* アコーディオン ----------------------------------------------------*/
.ac_co {width: calc(100% / 1);margin: 1em 0em;}
.ac_co summary {
height: unset;
padding: 7px 1.9em 7px 2.1em;
font-size: 1em;
}
.ac_co summary::before{left: 6px;top: 2px;}
.ac_co summary::after {right: 8px;top: 11px;}
.ac_co p {padding: 0.5em 5px 1.5em 34px;}
.ac_co p::before{left: 8px;top: 3px;}
}

/* 黄熱に感染する危険のある国 ----------------------------------------------------*/
.yellow_f_note{
border: solid 1px #faa;
padding: 1em 1.5em;
margin: 1em 0em 2em;
}
ul.yellow_f{
display: flex;
flex-wrap: wrap;
margin: 1em 1em 4em;
}
.yellow_f li{
width: calc(100% / 4 - 1em);
list-style-type: disc;
margin-left: 1em;
margin-bottom: 0.3em;
}

@media screen and (max-width:768px){
.yellow_f_note{padding: 1em ;}
ul.yellow_f{margin: 1em 0em 2em;}
.yellow_f li{width: calc(100% / 2 - 1em);}
}


/* AMANIについて ----------------------------------------------------*/
.about_top{
position: relative;
width: 70%;
height: auto;
margin: 0 auto 5em;
text-align: center;
background: url('../img/frame_01.png') left top no-repeat;
background-size: 130px auto;
padding: 0 0 2em;
}
.about_top::after {
content: "";
position: absolute;
/* ↓ここで画像サイズを自由に変更 ↓ */
width: 130px;    /* 横サイズ */
height: 130px;   /* 縦サイズ */
right: 0;
bottom: 0;
background: url('../img/frame_01.png') no-repeat;
background-size: contain;  /* または 100% 100% や cover なども可 */
transform: rotate(180deg);
transform-origin: center;
pointer-events: none;
}
.about_lead{
font-size: 1.2em;
margin-bottom: 1em;
}
.about_lead span{
font-weight: bold;
font-size: 1.2em;
color: #926f05;
}
.about_co{
justify-content: space-between;
align-items: flex-start;
margin: 0 3% 5em;
width: 94%;
}
.about_img{width: 46%;box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);}
.about_text{width: 50%;}
.about_co h3{
display: flex;
align-items: center;
margin-bottom: 1em;
}
.about_co h3 span{
background: #926f05;
color: #fff;
font-size: 0.8em;
padding: 0.2em 1em;
margin-right: 0.7em;
border-radius: 6px;
}

@media screen and (max-width:768px){
.about_top {
width: 100%;
padding: 0.5em 1em 1.5em;
background-size: 90px auto;
margin: 0em auto 2em;
}
.about_top::after {width: 90px;height: 90px;}
.about_lead{font-size: 1.1em;}
.about_co{margin: 0 0% 4em;width: 100%;}
.about_img{width: 80%;margin: 0px auto 1em;}
.about_text{width: 100%;}
.about_co h3{flex-wrap: wrap;justify-content: center;margin-bottom: 0.8em;}
.about_co h3 span{
width: 100%;
font-size: 0.9em;
text-align: center;
margin: 0 0 0.5em;
}
}

/* ご予約の流れ ----------------------------------------------------*/
.flow{}
.flow h2{
width: 100%;
position: relative;
overflow: hidden;
padding: 0.3em 2em 0.2em 126px;
border-bottom: 1px solid #926f05;
margin-bottom: 1em;
font-size: 1.4em;
}
.flow h2::before {
position: absolute;
top: -150%;
left: -91px;
width: 200px;
height: 300%;
content: '';
transform: rotate(25deg);
background: #926f05;
}
.flow h2 span{
position: absolute;
z-index: 1;
left: 0;
top: 6px;
display: block;
padding-left: 19px;
color: #fff;
}

.flow_co{
justify-content: space-between;
align-items: flex-start;
margin: 0 2% 5em;
width: 96%;
}
.flow_img{width: 27%;}
.flow_text{width: 70%;}
.flow .asterisk{font-size: 0.9em;margin-top: 1em;}
.flow_note{margin: 1em 0 0.5em;font-weight: bold;color: #d00000;}
ul.flow_decimal{margin: 0 0 1em;padding-left: 1em;}
.flow_decimal li{list-style: decimal;margin-bottom: 0.3em;}
.btn_wrap.btn_flow{width: 70%;margin: 1em auto;}
.btn_wrap.btn_flow a{font-size: 1.1em;}

@media screen and (max-width:768px){
.flow{}
.flow h2{
font-size: 1.2em;
padding: 0;
position: unset;
border-top: 1px solid #926f05;
border-bottom: none;
}
.flow h2::before {display: none;}
.flow h2 span{
position: relative;
overflow: hidden;
margin-bottom: 0.4em;
font-size: 16px;
padding-left: 10px;
line-height: 2;
top: 0;
}
.flow h2 span::before {
position: absolute;
top: -60px;
left: -20px;
width: 200px;
height: 200px;
content: '';
transform: rotate(25deg);
background: #926f05;
z-index: -1;
}
.flow_co{margin: 0 0% 4em;width: 100%;}
.flow_img{width: 80%;margin: 0px auto 1em;}
.flow_text{width: 100%;}
ul.flow_decimal{margin: 0 auto 1em;padding-left: 1em;width: 96%;}
.btn_wrap.btn_flow{width: 85%;}
.btn_wrap.btn_flow a{font-size: 1em;}
}

/* 特集一覧TOP ------------------------------------------*/
.special{margin-bottom: 2em;}
.special_wrap{}
.special_co{
width: 100%;
padding: 1em 1em 2em;
margin-bottom: 1em;
border-bottom: solid 1px #dcdcdc;
}
.special_co:last-child{border-bottom:none;}
.special_co a{
display: flex;
flex-wrap: wrap;
align-items: flex-start;
color: #000;
text-decoration: none;
position: relative;
}
.special_co img{
width: 20%;
margin-right: 3%;
}
.special_text{width: 70%;}
.special_text h3{
width: 100%;
border-left: 10px solid;
padding-left: 0.5em;
margin-bottom: 0.8em;
}
.special_text h3.qatar{border-color: #64003e;}
.special_text h3.garuda{border-color: #008c9a;}
.special_text h3.emirates{border-color: #d71921;}
.special_text h3.turkish{border-color: #c90019;}

.special_co i{
position: absolute;
transform: translate(0, -50%);
right: 0;
top: 50%;
font-size: 2em;
}
.special_co i.qatar{color: #64003e;}
.special_co i.emirates{color: #d71921;}
.special_co i.garuda{color: #008c9a;}
.special_co i.turkish{color: #c90019;}

@media screen and (max-width:768px){
.special_co{padding: 0em 0em 1.5em;margin-bottom: 1.5em;}
.special_co img{width: 100%;margin: 0;}
.special_text{width: 95%;margin-top: 0.5em;}
.special_text h3{margin-bottom: 0.5em;}
.special_co i{top: unset;bottom: 0;transform: unset;font-size: 1.5em;}
}

