@charset "utf-8";

/**************************************************************/

/* ==========================================================================
  Block 説明　上下3行間
========================================================================== */

/* Element　説明　上下2行間
----------------------------------------------------------------- */

/*
  Modifier　説明　上下1行間
*/

/*セレクタ内　単一行コメント*/

/*スタイル属性はアルファベット順（同アルファベット同士の場合は厳密な並びは求めない）。但し、potition:top など、連続指定が当然の属性はこれを無視して良い*/

/**************************************************************/

/* ==========================================================================
  Base Setting
========================================================================== */

html {
  font-size: 62.5%;
}

body {
  color: #333333;
  line-height: 1.8;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 62.5%;
  font-weight: 400;
}

a {
  color: #333333;
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  vertical-align: top;
}

.fntBold {
  font-weight: 600;
}

.img-spNone {
  display: none;
}

.img-pcNone {
  display: initial;
}

/* ==========================================================================
  mainHeader 共通ヘッダ
========================================================================== */

.allWrap {
  padding-bottom: 0;
}

.allWrap_inner {
  font-size: 1.3rem;
  margin: 0 auto;
  overflow: hidden;
}

/* ==========================================================================
  mainHeader 共通ヘッダ
========================================================================== */

.mainHeader {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  z-index: 200;
  transition: all 0.3s;
}
.mainHeader._open {
  top: 0;
}
.mainHeader._close {
  top: -58px;
}
.mainHeader + .container {
  padding-top: 58px;
}

/* mainHeader_topNav　説明　上下2行間
----------------------------------------------------------------- */

.mainHeader_topNav {
  background-color: #ffffff;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0 0 0 0;
  position: relative;
  width: 100%;
  z-index: 140;
}

.mainHeader_headerLogo {
  /*padding: 4.7% 5% 4.7% 4%;*/
  display: flex;
  align-items: center;
  padding: 13px 13px 13px 13px;
  text-align: center;
  width: 38.67%;
}

.mainHeader_headerLogo img {
  max-width: 114px;
  width: 100%;
}

/* ==========================================================================
  customerMenu 共通ヘッダ非レイヤーメニュー
========================================================================== */

.customerMenu {
  background-color: #ffffff;
  display: flex;
  align-items: baseline;

  margin-left: auto;
}

/*
  customerMenu-**
*/

.customerMenu-misc {
  display: none;
  font-size: 1.2rem;
}

.customerMenu-customer {
  padding-top: 8px;
  padding-bottom: 10px;
  margin-left: auto;
}

.customerMenu-topNaviMain {
  padding-top: 8px;
  padding-bottom: 10px;
  margin-left: 0px;
  margin-right: 0;
}

/* customerMenu_item
----------------------------------------------------------------- */

.customerMenu_item {
  display: flex;
  align-items: flex-end;
  height: 100%;
  margin-left: 0px;
  margin-right: 4.2vw;
  font-size: 1.2rem;
}

.customerMenu_item:first-child {
  margin-left: 0px;
}

/*
  customerMenu_item-**
*/

.customerMenu_item.customerMenu_item-corporation,
.customerMenu_item.customerMenu-misc,
.customerMenu_item.customerMenu_item-customer,
.customerMenu_item.customerMenu_item-login,
.customerMenu_item.customerMenu_item-myPage {
  display: none;
}

.customerMenu_item.customerMenu_item-search {
  margin-right: 3.5vw;
}

.customerMenu_item .customerMenu_link {
  color: #ed0000;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: 8px;
  text-decoration: none;
}

.customerMenu_item .customerMenu_link.pc_none {
  display: flex !important;
}

.customerMenu_item.customerMenu_item-search .customerMenu_link {
  color: #808080;
  padding: 0;
}

.customerMenu_item .customerMenu_link > span {
  line-height: 1;
  padding-top: 5px;
  text-align: center;
}

.customerMenu-misc .customerMenu_item .customerMenu_link {
  padding: 0 15px;
}

.customerMenu-misc .customerMenu_item:first-child .customerMenu_link {
  padding-left: 0px;
}

.customerMenu-customer .customerMenu_item .customerMenu_link,
.customerMenu-topNaviMain .customerMenu_item .customerMenu_link {
  padding: 0px 0px 0px 0;
  position: relative;
}

.customerMenu_item.customerMenu_item-customer .customerMenu_link {
  padding-left: 33px;
}

.customerMenu_item.customerMenu_item-search .customerMenu_link {
  padding-left: 5px;
}

.customerMenu_item-customer .customerMenu_link::before {
  background-image: url(../img/mainHeader_icon_01.png);
  height: 35px;
  margin-top: -17.5px;
  width: 27px;
}

.customerMenu_item-login .customerMenu_link::before {
  background-image: url(../img/mainHeader_icon_04.png);
  height: 20px;
  left: calc(50% - 10px);
  width: 19px;
}

.customerMenu_item-carshare .customerMenu_link::before {
  background-image: url(../img/mainHeader_icon_02.png);
  height: 25px;
  left: calc(50% - 10.5px);
  width: 21px;
}

.customerMenu_item-rsv .customerMenu_link::before {
  background-image: url(../img/mainHeader_icon_05.png);
  height: 21px;
  left: calc(50% - 10.5px);
  width: 21px;
}

.customerMenu_item-search .customerMenu_link::before {
  background-image: url(../img/mainHeader_icon_03.png);
  height: 18px;
  left: calc(50% - 10.5px);
  width: 16px;
}

.mainMenu_actionBtn {
  color: #808080;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 8px;
  padding: 8px 2px 10px 0px;
  margin-left: 0px;
  margin-right: 0px;
  min-width: 60px;
  max-width: 60px;
  text-decoration: none;
}

.mainMenu_actionBtn.oAndOpen {
  background-color: #808080;
}

.mainMenu_actionBtn > span {
  line-height: 1;
  padding-top: 7px;
}

.mainMenu_actionBtn .oAcWord {
  display: none;
  padding-bottom: 0px;
}

.mainMenu_actionBtn.oAndOpen .oAcWord-atOpen {
  color: #ffffff;
  display: block;
}

.mainMenu_actionBtn.oAndClose .oAcWord-atClose {
  display: block;
}

.mainMenu_actionBtn::before {
  background-image: url(../img/mainMenu_actionBtn_icon_01.png);
  height: 16px;
  margin: 0 auto;
  width: 20px;
}

.mainMenu_actionBtn.oAndOpen::before {
  background-image: url(../img/mainMenu_actionBtn_icon_02.png);
  height: 17px;
  width: 17px;
}

.customerMenu-customer .customerMenu_item .customerMenu_link::before,
.customerMenu-topNaviMain .customerMenu_item .customerMenu_link::before,
.mainMenu_actionBtn::before {
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: '';
  display: block;
  position: relative;
}

.customerMenu-topNaviMain .customerMenu_link {
}

.customerMenu_item-login .customerMenu_link {
}

.customerMenu_item-rsv .customerMenu_link {
}

.customerMenu_item-search .customerMenu_link {
  width: 27px;
  min-width: 27px;
}

.customerMenu_item-search .customerMenu_link.customerMenu_link-searchPCLayout {
  display: none;
}

.customerMenu-topNaviMain .customerMenu_link > span {
  display: inline-block;
}

.btn_box span {
  /*padding-right: 22px;*/
  position: relative;
}

.btn_box span::after {
  background-image: url(../img/images/mainHeader_arrow_01.png);
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: '';
  display: none;
  height: 8px;
  position: absolute;
  top: 0.2em;
  right: 0;
  width: 8px;
}

/* 言語選択 */
#type_lang_area {
  /*
  left: 550px;
  position: absolute;
  top: 7px;
  */
  position: relative;
}
#type_lang {
  display: block;
}

#select_lang {
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
}
#select_lang.hide_lang {
  display: none;
}
#select_lang li {
  height: 24px;
  width: 94px;
  display: block;
  overflow: hidden;
  background: #1b385b;
  border-top: 1px solid #ffffff;
}
#select_lang a {
  height: 24px;
  width: 94px;
  display: block;
  overflow: hidden;
  background: #1b385b;
  color: #ffffff;
}

/* ==========================================================================
  mainHeader_mainMenu ヘッダグローバルメニュー
========================================================================== */

html.mainMenuOpen,
body.mainMenuOpen {
  height: 100vh;
  overflow: hidden;
}

.mainHeader_mainMenu {
  background-color: #ffffff;
  border-top: 5px solid #808080;
  display: none;
  padding-top: 25px;
  position: relative;
  width: 100%;
}

.mainHeader_mainMenu.oAndOpen {
  display: inherit;
  overflow-y: scroll;
  position: absolute;
  z-index: 140;
}

.mainHeader_mainMenu.oAndClose {
  display: none;
}

.mainMenu_headerBtn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 20px 15px 20px;
  width: 100%;
}
.mainMenu_headerBtn > li {
  width: 50%;
}

.mainMenu_headerBtn > li:last-child {
  margin-left: 2.98%;
}

.mainMenu_headerBtn > li:only-child {
  margin-left: 0;
  width: 100%;
}

.mainMenu_headerBtn .boxLink.boxLink-type04 {
  font-size: 1.3rem;
  padding: 6px 32px 5px 32px;
  width: 100%;
}

.mainMenu {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  padding-right: 20px;
  padding-left: 20px;
  position: relative;
  width: 100%;
}

.mainMenu_item {
  flex-grow: 1;
  /*min-height: 69px;*/
}

.mainMenu .mainMenu_link {
  background-color: #ffffff;
  border-bottom: 2px solid #e6e6e6;
  color: #333333;
  display: flex;
  align-items: center;
  justify-content: start;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 15px 10px 15px 20px;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.mainMenu .mainMenu_item:last-child .mainMenu_link {
  border-bottom: none;
}

.mainMenu .mainMenu_link::after {
  border-top: 2px solid #ed0505;
  border-right: 2px solid #ed0505;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 10px;
  transform: rotate(45deg);
  width: 6px;
}

.mainMenu .oAndCWrap .mainMenu_link::before,
.mainMenu .oAndCWrap .mainMenu_link::after {
  border: none;
  background: #ed0000;
  content: '';
  height: 10px;
  position: absolute;
  top: calc(50% - 5px);
  right: calc(0px - -12.5px);
  width: 2px;
  z-index: 2;
  transition: transform 100ms linear;
}

.mainMenu .oAndCWrap .mainMenu_link::before {
  transform: rotate(90deg);
}

.mainMenu .oAndCWrap .mainMenu_link::after {
  transform: rotate(90deg);
}

.mainMenu .oAndClose.oAndCWrap .mainMenu_link::before {
  transform: rotate(0deg);
}

.bottomMenu_listLink {
  padding-right: 20px;
  padding-left: 20px;
}

.bottomMenu_listLink .mainMenu_link {
  background-color: #e6e6e6;
  border-bottom: 1px solid #ffffff;
  color: #333333;
  display: flex;
  align-items: center;
  justify-content: start;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 15px 10px 15px 20px;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.bottomMenu_listLink .mainMenu_item:last-child .mainMenu_link {
  border-bottom: none;
}

.bottomMenu_listLink .mainMenu_link::after {
  border-top: 2px solid #b4b4b4;
  border-right: 2px solid #b4b4b4;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 10px;
  transform: rotate(45deg);
  width: 6px;
}

.mainMenu_bottomMenu {
  background-color: #e6e6e6;
  margin-top: 24px;
}

.mainMenu_bottomMenu .columnComp.columnComp-type03 .columnComp_box {
  margin-top: 8px;
  width: calc(50% - 4px);
}

.mainMenu_bottomMenu .columnComp.columnComp-type03 .columnComp_box:nth-child(odd) {
  margin-right: 4px;
}

.mainMenu_bottomMenu .columnComp.columnComp-type03 .columnComp_box:nth-child(even) {
  margin-left: 4px;
}

.mainMenu_bottomMenu .columnComp.columnComp-type03 .columnComp_box:nth-child(-n + 2) {
  margin-top: 0px;
}

.bottomMenu_listBoxLink {
  padding-top: 20px;
  margin-bottom: 20px;
  padding-right: 20px;
  padding-left: 20px;
}

.bottomMenu_listBoxLink .boxLink-type03 {
  min-height: 40px;
  padding: 12px;
  width: 100%;
}

.bottomMenu_listBoxLink .boxLink-type03 img {
  vertical-align: middle;
  width: 50%;
}

.mainMenu_bottomMenu .mainMenu_closeBtn {
  background-color: #808080;
  color: #ffffff;
  font-size: 1.2rem;
  padding: 16px;
  width: 100%;
}

.mainMenu_bottomMenu .mainMenu_closeBtn > span {
  position: relative;
}

.mainMenu_bottomMenu .mainMenu_closeBtn > span::before,
.mainMenu_bottomMenu .mainMenu_closeBtn > span::after {
  background: #ffffff;
  content: '';
  height: 12px;
  position: absolute;
  top: 0px;
  left: -24px;
  width: 2px;
  z-index: 2;
  transition: transform 100ms linear;
}

.mainMenu_bottomMenu .mainMenu_closeBtn > span::before {
  transform: rotate(45deg);
}

.mainMenu_bottomMenu .mainMenu_closeBtn > span::after {
  transform: rotate(-45deg);
}

.oAndOpen.mainMenu_overlay {
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 139;
}

.oAndClose.mainMenu_overlay {
  display: none;
}

/* ==========================================================================
  ulMenu Underlayerメニュー
========================================================================== */

.ulMenu {
  display: block;
  padding-left: 20px;
  padding-bottom: 10px;
  position: relative;
  width: 100%;
  z-index: 101;
}

.mainMenu-active .ulMenu {
  /*box-shadow: 0px 20px 20px -20px rgba(0,0,0,0.2);*/
  display: block;
}

.ulMenu > ul {
  background-color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 0 0;
  width: 100%;
}

.ulMenu .ulMenu_item {
  border-bottom: 1px solid #e6e6e6;
  display: flex;
  padding: 0 10px 0 12px;
  width: 100%;
}

.ulMenu .ulMenu_item:last-child {
  border-bottom: none;
}

.ulMenu .ulMenu_item:nth-child(3n) {
  /*margin-right: 0px;*/
}

.ulMenu .ulMenu_item:not(.ulMenu_item-typeSPOnly) {
  padding-left: 27px;
}

.ulMenu .ulMenu_item > form {
  width: 100%;
}

.ulMenu .ulMenu_item .ulMenu_link {
  color: #333333;
  display: flex;
  font-size: 1.4rem;
  padding: 9px 14px 9px 0;
  position: relative;
  text-align: left;
  width: 100%;
}

.ulMenu .ulMenu_item .ulMenu_link::after {
  border-top: 1px solid #b2b2b2;
  border-right: 1px solid #b2b2b2;
  content: '';
  display: block;
  height: 4px;
  position: absolute;
  top: calc(50% - 2px);
  right: 1px;
  transform: rotate(45deg);
  width: 4px;
}

/* ==========================================================================
  sectionBlock
========================================================================== */

.sectionBlock_inner {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* ==========================================================================
  headingBlock
========================================================================== */

.headingBlock-styleTypeSingleTop {
  margin: 0 auto 25px auto;
  width: 100%;
}

.headingBlock-styleType01 {
  color: #333333;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 18px;
  padding: 0 0 0 25px;
  position: relative;
}

.headingBlock-styleType01::before {
  background-color: #ed0505;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
}

.headingBlock-styleType02 {
  font-weight: 600;
  position: relative;
}

.headingBlock-styleType-modalBodyTitle {
  font-size: 1.7rem;
  font-weight: 600;
  text-align: center;
}

.headingBlock-styleType03 {
  color: #333333;
  line-height: 1;
  font-size: 1.7rem;
  font-weight: 600;
  margin-bottom: 30px;
  position: relative;
  text-align: center;
}

/* ==========================================================================
  container
========================================================================== */

.container {
  padding: 0 0;
  margin: 0 auto;
  width: 100%;
}

/* ==========================================================================
  container
========================================================================== */

div.sectionBlock,
section.sectionBlock {
  padding-right: 20px;
  padding-left: 20px;
}

/* ==========================================================================
  mainFooter　フッタ
========================================================================== */

.mainFooter {
  background-color: #fafafa;
  width: 100%;
}

.mainFooter_logoBelt {
  background-color: #ed0000;
  padding: 12px 20px;
}

.mainFooter_logoBelt img {
  width: 114px;
}

.mainFooter_logoBelt > p {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.mainFooter_linkItemSet {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding: 34px 20px 30px 20px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* mainFooter_bnrItemSet　フッタ内バナー
----------------------------------------------------------------- */

.mainFooter_bnrItemSet {
  padding: 0 20px 30px 20px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.mainFooter_bnrItemSet > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.mainFooter_bnrItemSet li {
  margin-top: 20px;
  max-width: calc(50% - 10px);
}

.mainFooter_bnrItemSet li:nth-child(-n + 2) {
  margin-top: 0px;
}

/* header_MenuModal_itemSet_row　モーダル内リンク　列配置
----------------------------------------------------------------- */

.mainFooter_linkItemSet_row {
  margin-left: 0px;
}

.mainFooter_linkItemSet_row:first-child {
  margin-left: 0px;
}

.mainFooter_linkItem {
  padding-right: 0px;
  width: 100%;
}

.mainFooter_linkItem:last-child {
  margin-bottom: 0px;
}

/* header_MenuModal_itemSet_row　モーダル内リンク　カテゴリ
----------------------------------------------------------------- */

.mainFooter_linkItem_header a {
  background-color: #fafafa;
  border-bottom: 2px solid #e6e6e6;
  color: #808080;
  display: flex;
  align-items: center;
  justify-content: start;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 11px 10px 10px 20px;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.mainFooter_linkItem-lastChild .mainFooter_linkItem_header a {
  border-bottom: none;
}

.mainFooter_linkItem_header a::after {
  border-top: 2px solid #b7b7b7;
  border-right: 2px solid #b7b7b7;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 13px;
  transform: rotate(45deg);
  width: 6px;
}

.oAndCWrap .mainFooter_linkItem_header a::before,
.oAndCWrap .mainFooter_linkItem_header a::after {
  border: none;
  background: #b7b7b7;
  content: '';
  height: 10px;
  position: absolute;
  top: calc(50% - 5px);
  right: 14px;
  width: 2px;
  z-index: 2;
  transition: transform 100ms linear;
}

.oAndCWrap .mainFooter_linkItem_header a::after {
  transform: rotate(90deg);
}

.oAndCWrap.oAndOpen .mainFooter_linkItem_header a::before {
  transform: rotate(90deg);
}

/* header_MenuModal_itemSet_row　
----------------------------------------------------------------- */

.mainFooter_linkItem > ul {
  margin-top: 14px;
  padding-left: 20px;
  padding-bottom: 10px;
}

.mainFooter_linkItem ul:not(.sns) li {
  border-bottom: 1px solid #e6e6e6;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 5px;
  padding: 0 10px 0 12px;
  width: 100%;
}

.mainFooter_linkItem ul:not(.sns) li > form {
  width: 100%;
}

.mainFooter_linkItem li:last-child {
  margin-bottom: 0px;
}

.mainFooter_linkItem li a,
.mainFooter_linkItem li button {
  color: #808080;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem;
  padding: 9px 14px 9px 0;
  position: relative;
  width: 100%;
}

.mainFooter_linkItem li a::after,
.mainFooter_linkItem li button::after {
  border-top: 1px solid #b7b7b7;
  border-right: 1px solid #b7b7b7;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 18px;
  transform: rotate(45deg);
  width: 6px;
}

.mainFooter_linkItem li.ulMenu_item-typeSPOnly a::after,
.mainFooter_linkItem li.ulMenu_item-typeSPOnly button::after {
  right: 4px;
}

.mainFooter_linkItem > ul > li:not(.ulMenu_item-typeSPOnly) {
  margin-left: 14px;
}

.mainFooter_linkItem > ul ul {
  padding-left: 0;
  width: 100%;
}

.mainFooter_linkItem ul:not(.sns) li li {
  padding-right: 0px;
}

.mainFooter_linkItem > ul ul li:last-child {
  border-bottom: none;
}

/* ==========================================================================
  footerGLBNav　フッタ下部リンク
========================================================================== */

.footerGLBNav {
  background-color: #ffffff;
  padding: 30px 0 30px 0;
  width: 100%;
}

.footerGLBNav > nav {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}

.footerGLBNav ul {
  display: flex;
  justify-content: center;
  /* flex-wrap: wrap; */
  flex-flow: column;
}

.footerGLBNav li {
  /* border-right: 1px solid #e6e6e6; */
  display: flex;
  align-items: center;
  font-size: 1.1rem;
  /* margin-top: 11px; */
  padding: 1px 19px;
  /* width: 33.3333333%; */
}

/* .footerGLBNav li:nth-child(-n + 3) {
  margin-top: 0px;
} */

.footerGLBNav li:last-child {
  border-right: none;
}

.footerGLBNav a {
  color: #808080;
  font-size: 1.2rem;
  padding: 0 0px;
}

/* ==========================================================================
  infoPrize
========================================================================== */
/*
.infoPrize {
  background-color: #ffffff;
  width: 100%;
}

.infoPrize_inner {
  border-bottom: 1px solid #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  padding: 18px 20px 16px 20px;
  width: 100%;
}*/

.infoPrize{
  background-color: #ffffff;
  border-bottom: 1px solid #e5e5e5;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  padding: 30px 0;
  margin: auto;
  width: 100%;
}

.infoPrize_inner{
  border: 1px solid #C0C0C0 !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 10px 20px;
  padding: 5px 20px !important;
  height: 100%;
}

.infoPrize img {
  height: 50px;
  /*margin-bottom: 15px;*/
  width: 50px;
}

.infoPrize p {
  color: #808080;
  font-size: 1.1rem;
  padding-left: 10px;
  /*text-align: center;*/
}

/* ==========================================================================
  copyright
========================================================================== */

.copyright {
  background-color: #ffffff;
  padding: 5px 40px 40px 40px;
  width: 100%;
}

.infoPrize + .copyright {
  padding-top: 11px;
}

.copyright p {
  color: #808080;
  font-size: 1rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
}

/* ==========================================================================
  footerBtnSection
========================================================================== */

.footerBtnSection {
  display: flex;
  align-items: center;
  justify-content: stretch;
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  z-index: 120;
}

.footerBtnSection > .boxLink {
  width: 100%;
}

/* ==========================================================================
  returnTop
========================================================================== */

.returnTop {
  background-color: #ffffff;
  border: 1px solid #ed0000;
  border-radius: 50%;
  display: block;
  font-size: 0;
  height: 36px;
  position: fixed;
  right: 20px;
  bottom: 65px;
  width: 36px;
  z-index: 109;
}

.returnTop button {
  display: block;
  font-size: 0;
  height: 50px;
  width: 50px;
}

.returnTop button::before {
  border-top: 2px solid #ed0505;
  border-right: 2px solid #ed0505;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 3px);
  right: calc(50% - 4px);
  transform: rotate(-45deg);
  width: 6px;
}

/* ==========================================================================
  columnComp　カラム構成
========================================================================== */

.columnComp {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  width: 100%;
}

.columnComp.columnComp-type02,
.columnComp.columnComp-type03 {
  flex-direction: inherit;
}

/*
  columnComp-type01　2カラム50%構成　
*/

.columnComp-type01 .columnComp_box {
  width: 50%;
}

/*
  columnComp-type02　4カラム25%構成　
*/

.columnComp-type02 .columnComp_box {
  width: 25%;
}

/*
  columnComp-type03　3カラム33.3333333%構成　
*/

.columnComp-type03 .columnComp_box {
  width: 33.3333333%;
}

/* ==========================================================================
  arrowLink　>リンク　※各特定セクション内の>リンクには利用しない
========================================================================== */

a.arrowLink {
  color: #333333;
  display: inline-block;
  padding-right: 16px;
  position: relative;
}

a.arrowLink::after {
  border-top: 1px solid #ed0505;
  border-right: 1px solid #ed0505;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 2px;
  transform: rotate(45deg);
  width: 6px;
}

a.arrowLink.arrowLink-type02 {
  color: #ed0000;
  padding-right: 22px;
  font-size: 1.5rem;
  font-weight: 600;
}

/* ==========================================================================
  boxLink　枠有リンク
========================================================================== */

.boxLink {
  background-color: #ffffff;
  border: 1px solid #ed0505;
  display: inline-block;
  color: #ed0000;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 12px 32px 11px 32px;
  position: relative;
  text-align: center;
}

.boxLink.boxLink-type02,
.boxLink.boxLink-typeReservation {
  background-color: #ed0505;
  border: 1px solid #ed0505;
  color: #ffffff;
}

.boxLink-type02-inPopHeadline {
  display: flex;
  justify-content: center;
  overflow: visible;
}

.boxLink-type02-inPopHeadline .boxLink_popHeadline {
  color: #ed0000;
  font-size: 1rem;
  padding: 0 0.8em;
  position: absolute;
  top: -2em;
  left: auto;
}

.boxLink-type02-inPopHeadline .boxLink_popHeadline::before,
.boxLink-type02-inPopHeadline .boxLink_popHeadline::after {
  background-color: #ed0000;
  content: '';
  display: block;
  height: 1.2em;
  position: absolute;
  top: 0.2em;
  right: -2px;
  transform: rotate(45deg);
  width: 1px;
}

.boxLink-type02-inPopHeadline .boxLink_popHeadline::after {
  right: auto;
  left: -2px;
  transform: rotate(-45deg);
}

.boxLink > span {
  display: inline-block;
}

.boxLink::before {
  border-top: 2px solid #ed0505;
  border-right: 2px solid #ed0505;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 13px;
  transform: rotate(45deg);
  width: 6px;
}

.boxLink.boxLink-type02::before {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

.boxLink.boxLink-type03 {
  background-color: #ffffff;
  border: 1px solid #cccccc;
  color: #333333;
}

.boxLink.boxLink-type03::before,
.boxLink.boxLink-typeMypage::before,
.boxLink.boxLink-typeLogin::before {
  display: none;
}

.boxLink.boxLink-typeReservation span {
  padding-left: 35px;
  position: relative;
}

.boxLink.boxLink-typeReservation span::before {
  background-image: url(../img/typeReservation_icon_01.png);
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: '';
  display: block;
  height: 21px;
  position: absolute;
  left: 0px;
  top: calc(50% - 10.5px);
  width: 21px;
}

.boxLink.boxLink-type04 {
  background-color: #ffffff;
  border: 1px solid #cccccc;
  color: #333333;
}

/* ==========================================================================
  tandemListBox
========================================================================== */

.tandemListBox {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;

  width: 100%;
}

.tandemListBox > li {
  margin-top: 10px;
}

.tandemListBox > li:first-child {
  margin-top: 0px;
}

.tandemListBox_item {
  border: 2px solid #e6e6e6;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 7px 12px 12px 12px;
}

.tandemListBox_item a {
  color: #333333;
  overflow: hidden;
}

.tandemListBox_icon {
  min-width: 76px;
  padding: 0 12px 0 0;
  text-align: center;
}

.tandemListBox_item dl,
.tandemListBox_item .linkWord {
  padding: 0 12px 0 0;
  position: relative;
  width: 100%;
}

.tandemListBox_item dl::after,
.tandemListBox_item .linkWord::after {
  border-top: 1px solid #ed0505;
  border-right: 1px solid #ed0505;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 2px;
  transform: rotate(45deg);
  width: 6px;
}

.tandemListBox_item dt,
.tandemListBox_item .linkWord {
  font-size: 1.5rem;
  font-weight: 600;
}

.tandemListBox_item dd {
  font-size: 1.3rem;
  margin-top: 2px;
}

/* ==========================================================================
  
  snsLink
========================================================================== */

.snsLink {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}

.snsLink > li {
  margin-left: 20px;
}

.snsLink > li:first-child {
  margin-left: 0px;
}

.snsLink > li img {
  height: 28px;
  width: 28px;
}

/* ==========================================================================
  modalBase
========================================================================== */

.modalBase {
  width: auto;
}

.modalBase.modalBase-typeLogin {
  width: 100%;
}

.modalBase.modalBase-typeSearch {
  width: 100%;
}

.modalBase.modalBase-typeTypeLang {
  width: 100%;
}

.modalBase.modalBase-typeCallTel {
  width: 100%;
}

.modalBase_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #ed0000;
  color: #ffefef;
  font-size: 1.9rem;
  padding: 11px 20px 9px 20px;
  width: 100%;
}

.modalBase_title {
  font-weight: 600;
  text-align: center;
  width: 100%;
}

.modalBase_title-inSubTitle {
  display: flex;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
}

.modalBase_title-inSubTitle .mainTitle {
  letter-spacing: 0.2em;
}

.modalBase_header .subTitle {
  font-size: 0.9rem;
  min-width: inherit;
  padding-left: 0;
  width: auto;
}

.modalBase_close {
  background-color: transparent;
  display: block;
  font-size: 0;
  height: 12px;
  position: relative;
  width: 12px;
}

.modalBase_close::before {
  background: #ffffff;
  content: '';
  height: 12px;
  position: absolute;
  top: 0px;
  right: calc(50% - 1px);
  width: 2px;
  transform: rotate(-45deg);
  z-index: 2;
}

.modalBase_close::after {
  background: #ffffff;
  content: '';
  height: 12px;
  position: absolute;
  top: 0px;
  right: calc(50% - 1px);
  width: 2px;
  transform: rotate(45deg);
  z-index: 2;
}

.modalBase_body {
  background-color: #ffffff;
  padding: 32px 20px 30px 20px;
}

.modalBase-typeLogin .modalBase_body {
  padding: 32px 20px 30px 20px;
}

.modalBase-typeSearch .modalBase_body {
  padding: 32px 20px 30px 20px;
}

.headingBlock-styleInformatText,
.modalBase-typeLogin .headingBlock-styleType01 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  font-size: 1.7rem;
  line-height: 1.25;
  margin-bottom: 8px;
  padding-left: 15px;
}

.modalBase-typeSearch input {
  border-color: #cccccc;
  border-right: none;
  font-size: 1.4rem;
  padding: 16px 15px 16px 15px;
}

.modalBase-typeSearch .mf_finder_searchBox_suggest_items {
  z-index: 140;
}

.modalBase-typeSearch .mf_finder_searchBox_submit {
  border: 1px solid #cccccc;
  border-left: none;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
  width: 48px;
}

.modalBase-typeSearch .mf_finder_searchBox_submit:before {
  background-image: url(/cmn/img/typeSearch_icon_01.png);
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: '';
  display: block;
  font-size: 0;
  height: 22px;
  position: absolute;
  top: calc(50% - 11px);
  right: 12px;
  opacity: 1;
  width: 20px;
  z-index: 10;
}

.modalBase-typeLogin .inputSection:first-child {
  margin-bottom: 20px;
}

.modalBase-typeLogin .headingBlock-styleType01::before {
  width: 4px;
}

.headingBlock-formatText {
  color: #808080;
  font-size: 1.1rem;
  font-weight: normal;
}

.inputText {
  background-color: #ffffff;
  font-size: 1.6rem;
  line-height: 1;
  padding: 6px;
  width: 100%;
}

.modalBase-typeLogin .inputText:last-child {
  margin-bottom: 32px;
}

.modalBase-typeLogin .inputNote {
  color: #808080;
  font-size: 1.1rem;
  margin-top: 6px;
  margin-bottom: 0px;
}

.inputPassword {
  background-color: #ffffff;
  font-size: 1.6rem;
  line-height: 1;
  padding: 6px;
  width: 100%;
}
.inputPassword + .inputErr {
  margin-top: 4px;
}

.checkboxWrap {
  margin-top: 10px;
  padding-bottom: 16px;
}

.inputErr + .checkboxWrap {
  margin-top: 6px;
}

.inputCheckbox {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.inputCheckbox + label {
  position: relative;
  display: inline-block;
  font-size: 1.1rem;
  min-width: 20px;
  min-height: 20px;
  padding-left: 23px;
  cursor: pointer;
  vertical-align: middle;
}

.inputCheckbox + label::after,
.inputCheckbox + label::before {
  position: absolute;
  display: block;
  content: '';
  transition-timing-function: ease-in-out;
  transition-duration: 0.075s;
}

.inputCheckbox + label::before {
  cursor: pointer;
  border: solid 1px #bbb;
  border-radius: 2px;
  background-color: #fff;
  top: 0px;
  left: 0;
  width: 14px;
  height: 14px;
  transition-property: background-color, border-color;
}

.inputCheckbox + label::after {
  display: none;
  top: -3px;
  left: -2px;
  width: 8px;
  height: 4px;
  transition-property: transform;
  -ms-transform: translate(5px, 6px) rotate(-45deg);
  transform: translate(5px, 6px) rotate(-45deg);
  border-bottom: 3px solid #ed0505;
  border-left: 3px solid #ed0505;
}

.inputCheckbox:checked + label::after {
  display: block;
}

.inputErr {
  color: #ed0000;
  font-size: 1.1rem;
}

.btnSection {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
}

.modalBase-typeLogin .boxLink,
.mainHeader_mainMenu .boxLink-typeLogin {
  font-weight: 600;
  font-size: 1.5rem;
  min-width: inherit;
  min-height: 45px;
  padding: 10px 43px;
  width: 100%;
}

.mainHeader_mainMenu .boxLink-typeLogin,
.modalBase-typeLogin .boxLink-typeLogin,
.boxLink-typeMypage,
.boxLink-typeCustom,
.footerBtnSection .boxLink-typeLogin {
  border-color: #fcd22b;
  color: #333333;
  background-color: #fcd22b;
}

.mainHeader_mainMenu .boxLink-typeMypage {
  font-size: 1.5rem;
  width: 100%;
}

.mainHeader_mainMenu .boxLink-typeMypage span {
  position: relative;
  padding-left: 32px;
}

.mainHeader_mainMenu .boxLink-typeMypage span::before {
  background-image: url(../img/typeLogin_icon_01.png);
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: '';
  display: block;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 19px;
}

.boxLink-typeLogin::before {
  display: none;
  border-color: #333333;
}

.modalBase-typeLogin .boxLink-typeRsv {
  border-color: #ed0000;
  color: #ffffff;
  background-color: #ed0000;
}

.modalBase-typeLogin .boxLink-typeRsv::before {
  border-color: #ffffff;
}

.modalBase-typeLogin .helpLink {
  border-bottom: 1px solid #e6e6e6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  margin-top: 12px;
  margin-bottom: 22px;
  padding: 0 0 16px 0;
  width: 100%;
}

.modalBase-typeLogin .helpLink li:last-child {
  margin-top: 6px;
}

.modalBase-typeLogin .helpLink a {
  color: #333333;
  font-size: 1.1rem;
  padding-right: 13px;
  position: relative;
}

.modalBase-typeLogin .helpLink a:hover {
  text-decoration: underline;
}

.modalBase-typeLogin .helpLink a::after {
  border-top: 1px solid #b99999;
  border-right: 1px solid #ed0000;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  top: calc(50% - 5px);
  right: 0px;
  transform: rotate(45deg);
  width: 6px;
}

.modalBase-typeTypeLang .modalBase_body {
  padding: 40px;
}

.modalBase-typeCarSelect .modalBase_body {
  padding: 30px 20px;
}

.modalBase-typeCallTel .modalBase_body {
  padding: 25px 20px 25px 20px;
}

.modalBase-typeTypeLang ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
}

.modalBase-typeTypeLang li {
  text-align: center;
  padding-bottom: 15px;
}

.modalBase-typeTypeLang li:last-child {
  padding-bottom: 0px;
}

.modalBase-typeTypeLang .boxLink-type01 {
  min-width: 300px;
}

.boxLink-typeLogin span {
  position: relative;
  padding-left: 32px;
}

.boxLink-typeLogin span::before {
  background-image: url(../img/typeLogin_icon_01.png);
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: '';
  display: block;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 19px;
}

/* ==========================================================================
  boxBtn　枠有ボタン
========================================================================== */

.boxBtn {
  background-color: #ffffff;
  border: 1px solid #ed0505;
  display: inline-block;
  color: #ed0000;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 12px 32px 11px 32px;
  position: relative;
  text-align: center;
}

.boxBtn-typeSearch {
  border-color: #ed0000;
  color: #ffffff;
  background-color: #ed0000;
  letter-spacing: 0.5em;
  padding: 12px 46px 11px 46px;
}

.boxBtn-typeSearch::before {
  background-image: url(../img/typeSearch_icon_02.png);
  background-position: 0 center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: '';
  display: block;
  font-size: 0;
  height: 18px;
  position: absolute;
  top: calc(50% - 9px);
  right: 20px;
  opacity: 1;
  width: 16px;
  z-index: 10;
}

/* modal override
----------------------------------------------------------------- */

.allWrap .micromodal-slide {
  position: relative;
  z-index: 150;
}

.allWrap .modal__container {
  border-radius: 0px;
  padding: 0px;
  position: relative;
  max-width: inherit;
  max-height: 90vh;
  width: 89.3333333vw;
  z-index: 111;
  overflow-y: scroll;
}

.allWrap #modalDatepicker .modal__container {
  max-height: 96vh;
}

.allWrap #modalSearch .modal__container {
  overflow: visible;
}

.allWrap .modal__content {
  margin: 0;
}

/* ==========================================================================
  oAndC
========================================================================== */

.oAndCWrap {
  display: block;
}

.oAndCWrap .typeOaC_panel {
  display: block;
  overflow: hidden;
}

.oAndCWrap.oAndOpen .typeOaC_panel {
  display: inherit;
}

.oAndCWrap.oAndClose .typeOaC_panel {
  display: none;
  padding: 0;
}

/*
  Modifier　説明　上下1行間
*/

.viewSW {
  transition: opacity 0.4s linear 0s;
}

.viewSW-on {
  opacity: 1;
}

.viewSW-off {
  opacity: 0;
}

/* ==========================================================================
  mypageNonMemberArea mypageMemberArea mypageSRMArea mypagePRMArea
========================================================================== */

.slideArea-NormalAndSRM:not(.mypageNonMemberArea) {
  /*display: none;*/
}

.datepickerArea_userTypeBox-normal:not(.mypageNonMemberArea) {
  /*display: none;*/
}

.msArea_box:not(.mypageNonMemberArea) {
  /*display: none;*/
}

.datepickerArea_userTypeBox-SRMAndPRM:not(.mypageMemberArea) {
  /*display: none;*/
}

.customerMenu_item.customerMenu_item-myPage:not(.mypageMemberArea) {
  /*display: none;*/
}

.slideArea-MemberAndPRM:not(.mypageSRMArea) {
  /*display: none;*/
}

.memberSttsArea-SRM:not(.mypageSRMArea) {
  /*display: none;*/
}

.slideArea-PRM:not(.mypagePRMArea) {
  /*display: none;*/
}

.memberSttsArea-PRM:not(.mypagePRMArea) {
  /*display: none;*/
}

#testDIV {
  border: 1px solid #3ebd7e;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  width: 110px;
  padding: 10px;
  position: fixed;
  top: 60%;
  left: 0;
}

#testDIV button {
  font-size: 1.4rem;
  color: #3ebd7e;
  margin-bottom: 8px;
}

#testDIV button.active {
  background-color: rgba(0, 0, 0, 0.1);
}
