@charset "UTF-8";

/* -------------------------------------
   M2 Official site CSS www.emtwo.co.jp
   2016/9/23 M2 INC. Ver 3.00
   2016/9/23 Remaked By Nozawa.
   2024/6/11 Remaked By Hirai.
   ------------------------------------- */


/* ============= サイト全体の 色、各定数、幅など指定 ============== */

:root {
  --main-min-width:  1100px;    /* サイトの最小幅 */
  --base-fill-color:  #577084;  /* tableなど塗りつぶしの色 */
  --base-table-line:  #d1d1d1;     /* tableの枠の線の色 */
  --normal-th-width:  30%;      /* class=normal テーブル thの幅 */

  --base-saga-color:  #d81416;  /* サガレンタ様 基本カラー 赤 */

  --base-link-color: #ff7522;  /* M2のロゴカラー 紫 */
  --base-font-color:  #424242;  /* ベースのフォントカラー */
}


@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
    text-decoration: none;
  }
}

/* -----------------------------------------------------
     M2 基本設定
   ----------------------------------------------------- */

html {
  font-size:        62.5%;
  scroll-padding-top: 80px;
}

body { 
    color:            var(--base-font-color);
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",sans-serif;
    background-color: #fff;                    /* 背景色 ★ */
    line-height:      1.4;
    font-size: 1.6rem;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
p{
    line-height:      1.7;
}
a.no-link{
  pointer-events: none;
  text-decoration: none;
}

/* デフォルトフォントサイズ16px */
.fs17{ font-size: 1.7rem; }
.fs18{ font-size: 1.8rem; }

.mt10{ margin-top: 10px !important; }
.mt15{ margin-top: 15px !important; }
.mt20{ margin-top: 20px !important; }
.mt30{ margin-top: 30px !important; }
.mt40{ margin-top: 40px !important; }
.mt50{ margin-top: 50px !important; }
.mb10{ margin-bottom: 10px !important; }
.mb20{ margin-bottom: 20px !important; }
.mb30{ margin-bottom: 30px !important; }
.mb40{ margin-bottom: 40px !important; }

ul{
  list-style: disc;
}
ul li::marker{
  font-size: 0.8rem;
}

/* フォームのボタン リセット */
input[type="submit"],
input[type="button"] {
  /*background-color: transparent;*/
  background-color:  var(--base-saga-color);
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 5px;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
/*
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}*/


/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.clearfix:before {
  content: "";
  display: block;
  clear: both;
}
.clearfix {
  display: block;
}

/* スクロールで画像表示 */
.img-show {
  overflow: hidden;
  position: relative;
  opacity: 0;
}
.img-show.active{
  opacity: 1;
}
.img-show.active:before {
  animation: img-show 1.5s cubic-bezier(.2, 0, .1, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  transform: translateX(0);
}
.img-show.quick.active:before {
  animation: img-show 0.7s cubic-bezier(.2, 0, .1, 1) forwards;
}
@keyframes img-show {
  100% {
    transform: translateX(100%);
  }
}
.side.active:before {
  animation: side 1.5s cubic-bezier(.2, 0, .1, 1) forwards;
}
@keyframes side {
  100% {
    transform: translateX(-100%);
  }
}


/* ---------- 基本的な 管理画面 デコレーションポリシー ---------- */
a {
  cursor:pointer;
  text-decoration:none;
}
a:hover {
  text-decoration:underline;
}


select {
  padding: 0 8px;
  border: 1px solid #3c7fb1; /* 枠線 */
  border-radius: 0.2em;      /* 角丸 */
}

input[type="radio"]{
  padding: 3px;
  border: 1px solid #3c7fb1;
  vertical-align: inherit;
  line-height: 1.2;
  margin: 0 5px 0 0 ;
}
input[type="chekbox"] {
  padding: 3px;
  border: 1px solid #3c7fb1;
  vertical-align: middle;
  line-height: 1.2;
}
input[type="text"] {
  display: inline-block;
  padding: 4px 4px 4px 6px;
  border: 1px solid var(--base-table-line);
  border-radius: 0;
  vertical-align: middle;
  font-size: 1.6rem;
  line-height: 1.7;
}

table img {
  display: inline-block;
}

textarea {
  width: 100%;
  min-height: 100px;
  line-height: 1.7;
  padding: 4px 4px 4px 6px;
  /*font-size: 0.75rem;  /* 基本フォントサイズ */
  vertical-align: middle;
  border: 1px solid var(--base-table-line);
}

legend {
  padding:0.3em;
  background:#fff;
}
img{
  max-width: 100%;
  width: auto;
}
section:not(.max),
.wrap1100{
  max-width: var(--main-min-width);
  width: 100%;
  margin: 0 auto;
  padding: 80px 0 0;
}
section section{
  padding: 20px 0 0 !important;
}
section.max{
  max-width: 100%;
  width: 100%;
  margin-top: 40px;
  padding: 40px 20px;
}


/* ------------------------------------
     サイトに共通のスタイルの定義
   ------------------------------------ */

.sp{ display: none !important; }
.pc{ display: block !important; }

/* 画像の下スペースを取る */
.al-bottom {
  vertical-align: bottom;
}

/* フォームオブジェクト 幅指定 */
.wth-30 { width: 30% }
.wth-40 { width: 40% }
.wth-50 { width: 50% }
.wth-60 { width: 60% }
.wth-70 { width: 70% }
.wth-80 { width: 80% }

/* インデント */
.indent,
ul.indent li{
  text-indent: -15px;
  padding-left: 15px;
}
.attention{
  color: #d81317;
  text-indent: -15px;
  padding-left: 15px;
  font-size: 1.4rem;
}
ul.attention-come{
  list-style: none;
  padding: 0;
  line-height: 1.7;
}
p.attention-come,
ul.attention-come li{
  text-indent: -15px;
  padding-left: 15px;
  margin-bottom: 5px;
}
p.attention-come::before,
ul.attention-come li::before{
  content: "※";
  color: #d81317;
}

/* エラー、アラート、処理報告などのメッセージ装飾 */

/* トップ 予約停止 */
.el-emarg-reserve_stop {
  display: none;
  padding: 10px;
  font-size: 1.4rem;
  border: solid 2px orange;
  color: red;
  font-weight: bold;
  line-height: 1.4;
  background-color: #ddd;
  /* display: flex; */
  justify-content: center;
  align-items: center;
}

.el-emarg-reserve_stop2 {
  margin: 10px auto;
  display: none;
  justify-content: center;
  align-items: center;
  height: 60px;
  max-width: 900px;
  min-width: 320px;
  width: 80%;
  color: red;
  border: solid 2px red;
  font-size: 2rem;
}

.info-mssg {
  padding: 10px;
  margin-bottom: 10px;
  text-align: left;
  color: red;
  font-size: 1.5rem;
  border: 1px dotted red;
  font-weight: bold;
  animation: blink 2.5s linear infinite;
}
.info-mssg:empty{
  display: none;
}
@keyframes blink {
  0%, 30%, 70%, 100% { /* 30% ～ 70% でアニメする */
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

/* 注釈文字の文字色 */
.dfcolor {
  color: #E55656;
}

.upper-space {
  display: inline-block;
  margin-top: 6px;
}
.line-space {
  display: inline-block;
  margin-top: 32px;
}


/* 説明強調の文字色 */
.ex-color {
  color: #920000;
}

/* 文字列のボタン */
.string-btn {
  display: inline-block;
  height: 32px;
  padding: 0 10px;
  color: #920000;
  cursor: pointer;
  /* font-size: 0.9rem;*/
  font-weight: bold;
  line-height: 32px;
  border: solid 1px #920000;
}
.string-btn:hover {
  background-color: wheat;
  transition: all 0.5s 0s ease;
}



/* 表示停止のレコード着色 */
.listoff {
  background-color: #ccc;
}

/* 表示停止のレコード着色(もっと濃い色) */
.listoff2 {
  background-color: #7d7d7d;
}

.full-textbox-size {
  width: 90%;
}

.t-center {
  text-align: center !important;
}
.sp-mssg {
  color: #E55656;
  /*font-size: 1rem;*/
  line-height: 1.4;
}
.ruler-str {  /* textarea の文字数を計測出来る物差し */
  color: #99f;
  padding-left:5px;
  font-size: 14px !important;
  font-family:'Courier New','メイリオ';
}
.script {
  font-size: 14px !important;
  font-family:'Courier New','メイリオ' !important;
  white-space: pre;
}


/* リンクテキスト  ★ */
a {
  color: var(--base-font-color);
  text-decoration:underline;
}
a:hover {
  color: var(--base-saga-color);
  text-decoration: none;
}
.red{ color: #d81317; }

/*------- タイトル ------*/

/* h1 下層共通 */
.h1-title{
  padding: 55px 0;
  text-align: center;
  color: var(--base-saga-color);
  background: #f6f6f6;
}
.h1-title h1{
  font-size: 4rem;
  letter-spacing: 1px;
  font-weight: bold;
}
.h1-title h1 span{
  display: inline-block;
}
.h1-title p{
  margin-top: 5px;
  padding: 0 15px;
  color: #131313;
  line-height: 1.6;
}
.h1-title p a{
  color: var(--base-link-color);
}

/* 赤い文字 */
.title-simple {
  padding-bottom: 75px;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--base-saga-color);
}
.title-simple.left {
  padding-bottom: 10px !important;
  text-align: left;
}
.title-simple.moderate{
  padding-bottom: 40px;
  text-align: left;
  font-size: 2.5rem;
  letter-spacing: 0;
}

/* 左に赤丸 */
.title-style01{
  margin-bottom: 30px;
  font-size: 2.3rem;
  font-weight: bold;
  letter-spacing: 1px;
}
.title-style01::before{
  content: "\025cf";
  color: var(--base-saga-color);
  vertical-align: middle;
  font-size: 1rem;
  display: inline-block;
  padding-right: 6px;
}
.title-style01.mini{
  margin-bottom: 10px;
  font-size: 1.8rem;
  text-indent: -7px;
  padding-left: 15px;
}
.title-style01.mini::before{
  font-size: 0.9rem;
}

/* 左に赤棒 */
.title-style02{
  margin: 0 0 50px 0;
  padding: 5px 0 5px 19px;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 1px;
  border-left: 10px solid var(--base-saga-color);
}
.title-style02 span{
  display: block;
  font-size: 2rem;
}
.el-tax-mssg-t {
  font-size: 1.6rem;
  font-weight: normal;
}


/*------- ボタン ------*/

/* 赤ベタ背景のボタン */

a.simple-btn{
  max-width: 300px;
  width: 80%;
  margin: 30px auto 25px;
  padding: 12px 10px;
  background-color: #fff;
  border: 1px solid var(--base-saga-color);
  color: var(--base-saga-color);
  border-radius: 5px;
  text-align: center;
  display: block;
  text-decoration: none;
  cursor: pointer;
}
a.simple-btn:hover{
  background-color: var(--base-saga-color);
  border: 1px solid var(--base-saga-color);
  color: #fff;
  transition: 0.3s;
}

/* 赤ベタ背景に矢印付きボタン */

a.simple-yazi-btn {
  width: auto;
  margin: 10px 0;
  padding: 12px 30px;
  background-color: var(--base-saga-color);
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  text-align: center;
  display: inline-block;
}
a.simple-yazi-btn::after {
  content: "\03e";
  display: inline-block;
  padding: 0 0 0 20px;
}
a.simple-yazi-btn:hover {
  opacity: 0.7;
  transition: 0.2s;
}

/* 赤ベタ背景にPDFボタン */

a.pdf-btn {
  width: auto;
  margin: 10px 20px 10px 0;
  padding: 12px 30px 12px 15px;
  background-color: var(--base-saga-color);
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  text-align: center;
  display: inline-block;
  line-height: 2;
}
a.pdf-btn::before {
  content: '';
  display: inline-block;
  width: 27px;
  height: 29px;
  background-image: url(/img/pdficon.png);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-right: 10px;
}
a.pdf-btn:hover {
  opacity: 0.7;
  transition: 0.2s;
}


/*------- ぱんくず ------*/

#bread-crumb ul{
  max-width: var(--main-min-width);
  padding: 15px;
  margin: 0 auto;
  list-style: none;
  font-size: 1.5rem;
}
#bread-crumb ul li{
  display: inline-block;
  padding: 0 18px 0 0;
}
#bread-crumb ul li::after{
  content: "\03e";
  display: inline-block;
  padding: 0 0 0 20px;
}
#bread-crumb ul li a{
  width: 100%;
  text-align: center;
  text-decoration: none;
}
#bread-crumb ul li a:hover{
  text-decoration: underline;
}
#bread-crumb ul li:last-child{
  color: var(--base-saga-color);
  font-weight: bold;
}
#bread-crumb ul li:last-child::after{
  content: none;
}

#subnavi{
  max-width: var(--main-min-width);
  height: 30px;
  text-align: right;
  margin: 20px auto 0;
}
#subnavi ul{
  padding: 5px 0;
  margin: 0 auto;
  list-style: none;
  font-size: 1.4rem;
  float: right;
}
#subnavi ul li{
  width: auto;
  display: inline-block;
  padding: 0 10px;
  text-align: right;
  border-right: 1px dotted #000;
}
#subnavi ul li:last-child{
  border-right: 0;
}
#subnavi ul li a{
  text-decoration: none;
}

/*------- リスト ------*/

/* 会社概要などdtに赤丸がついているリスト */
.list-style01{
  display: flex;
  flex-wrap: wrap;
}
.list-style01 dt{
  max-width: 200px;
  width: 30%;
  padding: 20px 0;
  border-bottom: 1px solid #e6e6e6;
  font-weight: bold;
}
.list-style01 dt::before{
  content: "\025cf";
  color: var(--base-saga-color);
  vertical-align: middle;
  font-size: 0.9rem;
  display: inline-block;
  padding-right: 10px;
}
.list-style01 dt span{
  display: block;
  padding: 5px 0 0 20px;
  font-size: 1.4rem;
  color: #d51414;
}
.list-style01 dd{
  width: 70%;
  padding: 20px;
  border-bottom: 1px solid #e6e6e6;
  line-height: 1.7;
}
.list-style01 dd ul{
  padding: 0 0 0 10px;
  margin: 0;
  color: var(--base-link-color);
}
.list-style01 dd ul a{
  color: var(--base-link-color);
}

/* 料金体系など4つのボックスが並ぶリスト */
.list-style02{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list-style02 div {
  width: 25%;
  background: #e7e7e7;
  padding: 0 0 13px;
}
.list-style02 div dt{
  background: #e7e7e7;
  font-weight: bold;
}
.list-style02 div dt,.list-style02 div dd {
  padding: 10px;
  text-align: center;
}
.list-style02 div dd {
  width: 90%;
  height: auto;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 10px;
  background: #fff;
}
.list-style02.twoline div dd{
  width: 90%;
  height: 60%;
}

/* 予約取り消し手数料 表 by nozawa */
.bl-cancel-list {
  display: grid;
  margin: 0 auto;
  grid-template-columns: 1fr 3fr;
  grid-template-rows: 38px 60px;
  gap: 2px;
  background: #e7e7e7;
}
.bl-cancel-list dt, .bl-cancel-list dd {
  padding: 4px;
  text-align: center;
  align-content: center;
  line-height: 1.1;
  border: solid 12px #e7e7e7;
}
.bl-cancel-list dt {
  background: #e7e7e7;
  font-weight: bold;
}
.bl-cancel-list dd {
  background: #fff;
}


.list-style02 .bl-spcar-expl {
  width: 75%;
  background: #e7e7e7;
  padding: 0 0 13px;
}
.bl-spcar-expl dd {
  width: 97% !important;
}
.hp-mssg-sp1 {
  font-weight: normal !important;
  color: var(--base-saga-color) !important;
}

/* 沿革につかう共通リスト */

.history div{
  padding: 0 0 50px 45px;
  background-image: url("/img/common_history_parts01.jpg"),url("/img/common_history_parts02.jpg");
  background-repeat: no-repeat, repeat-y;
}
.history div:last-child {
  padding: 0 0 30px 35px;
  background-image: url("/img/common_history_parts01.jpg");
  background-repeat: no-repeat;
}
.history div dt{
  font-size: 2.3rem;
  font-weight: bold;
  color: var(--base-saga-color);
  letter-spacing: 1px;
  margin: 0 0 10px;
  line-height: 1;
}
.history div:first-child dt{
  margin: 0 0 10px;
}
.history div dd{
  line-height: 1.7;
}

.history div {
  padding: 0 0 35px 35px;
}
.history div dt {
  font-size: 2rem;
}

/* リストのdiscが赤丸（大） */

.disc-red{
  margin: 15px 0;
  padding: 6px 17px;
}
.disc-red li{
  margin-bottom: 5px;
}
.disc-red li::marker{
  color: var(--base-saga-color);
  font-size: 1.8rem;
}

/* リストのdiscが赤丸（小） */

.disc-red.mini li::marker{
  font-size: 1.2rem;
}

/*------- ライン ------*/

.top-line-circle{
  background-image: url("/img/common_line_circle.png");
  background-repeat: repeat-x;
  background-position: top left;
}

.top-line-border{
  border-top: 1px solid var(--base-saga-color);
}

/* ---------- ヘッダー ---------- */

header {
  width: 100%;
  position: fixed;
  top:        0;
  left:       0;
  background-color: #fff;
  z-index:   99;
  background-color: var(--base-saga-color);
}

.header-wrap {
  max-width: var(--main-min-width);
  width: 100%;
  margin: 0 auto;
  padding: 15px 0 8px;
  background-color: var(--base-saga-color);
}

.head-upper {
  max-width: var(--main-min-width);
  width: 100%;
  display: flex;
  align-items: center;
  padding:  0 0 15px;
}

.head-upper .logo {
  font-size: 2.8rem;
  display: inline-block;
  color: #fff;
  font-weight: bold;
}

.head-upper p.copy {
  padding: 10px 0 10px 25px;
  font-size: 1.2rem;
  font-weight: normal;
  color: #fff;
}


.head-navi {
  min-width: var(--effective-width);
  margin: 0 auto;
  padding: 0;
}

.head-navi ul {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.head-navi ul li { 
  width: auto;
  display: inline-block;
  text-align: center;
}

.head-navi ul li a { 
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0 30px;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  background: var(--base-saga-color);
  border: none;
  color: #fff;
  line-height: 36px;
}
.head-navi ul li a:hover {
  color: #ffbfc0;
  transition: all 0.3s ease 0s;
}

.header-wrap{
  width: 100%;
  margin: 0 auto;
}
.header-wrap .flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 0 80px;
}
.header-wrap .logo{
  max-width: 247px;
  width: 100%;
}
.black-bg::after{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0.5;
  display:block;
}
.black-bg{
  z-index: 2;
}
#gnavi{
  width: 100%;
  font-size: 1.7rem;
}

#gnavi ul{
  margin: 15px 0 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
#gnavi ul li ul{
  justify-content: flex-start;
}

#gnavi ul li{
  text-align: right;
}

#gnavi ul li .low-wrap{
  position: absolute;
  left: 0;
  top: 80px;
  margin: 34px 0 0;
  background: rgba(255,255,255,0.92);
  visibility: hidden;
  opacity: 0;
  font-size: 1em;
}
#gnavi ul li.on .low-wrap{
  width: 100%;
  padding: 40px 20px;
  position: absolute;
  top: 98px;
  left: 0;
  visibility: visible;
  opacity: 1;
  transition: 0.2s;
  z-index: 999;
  box-shadow: 0 2px 1px rgba(0, 0, 0, 0.16);
}
#gnavi ul li ul li{
  width: 100%;
  text-align: left;
}
#gnavi ul li ul li a{
  text-decoration: none;
  text-align: center;
}
#gnavi ul li ul li a img{
  display: block;
  margin: 0 auto;
}
#gnavi ul li ul li a p{
  font-size: 1.5rem;
  padding: 5px;
  color: #191919;
  letter-spacing: 1px;
}

#gnavi ul li ul li a:hover{
  opacity: 0.9;
  transition: 0.3s;
  text-decoration: none;
}
.menu-name {
  line-height: 1em;
  padding: 0 5px 20px;
  position: relative;
  text-decoration: none;
  color: #fff;
  padding-bottom: 5px;
  position: relative;
}
.menu-name:hover{
  color: #fff;
}
.menu-name::before {
  background: #fff;
  content: '';
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.menu-name:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.logo-wrap{
  padding-bottom: 10px;
}
#dropmenu .low{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1.6rem;
}
#dropmenu .low li {
  width: 21.5%;
}
#dropmenu .low::before,
#dropmenu .low::after{
  display: block;
  content: "";
  order: 1;
  width: 21.5%;
}
#dropmenu .low li:nth-child(1),
#dropmenu .low li:nth-child(2),
#dropmenu .low li:nth-child(3),
#dropmenu .low li:nth-child(4) {
  margin-bottom: 20px;
}
.sp-icon{
  display: none;
}


@media screen and (max-width: 1100px) {

  #gnavi {
    padding: 0 20px;
  }
}

@media screen and (max-width: 768px) {

  header{
    width: 100%;
    margin: 0;
  }
  header strong {
    margin: 0 auto 15px;
    padding: 5px;
    font-size: 1.2rem;
    color: #fff;
    background: var(--base-saga-color);
  }
  .head-upper img{
    width: 100%;
  }
  .copy{
    display: none;
  }
  .header-wrap{
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .header-wrap .flex{
    padding: 0;
  }
  .sp-hwrap,
  .reserve-icon,
  .sp-icon{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .sp-hwrap{
    padding: 8px;
  }
  .head-upper{
    max-width: 247px;
    width: 48%;
    padding: 0;
  }
  .sp-icon{
    max-width: 155px;
    width: 53%;
    position: relative;
  }
  .reserve-icon{
    width: 88px;
    padding: 6px 8px;
    text-decoration: none;
    border: 2px solid #fff;
  }
  .reserve-icon img{
    width: 30px;
    display: block;
  }
  .reserve-icon p{
    color: #fff;
    font-size: 1.4rem;
    padding-left: 10px;
  }
  .linewrap{
    position: relative;
  }
  .sp-menu {
    width: 50px;
    height: 50px;
    margin: 0;
    cursor: pointer;
    text-align: center;
    background: var(--base-saga-color);
    position: relative;
  }
  .sp-menu p{
    width: 100%;
    color: #fff;
    font-size: 1.1rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
  }
  .sp-menu.is-active {
    top: 0 !important;
  }
  .sp-menu .line {
    position: absolute;
    top: 0;
    left: 9px;
    display: block;
    width: 30px;
    height: 2px;
    background: #fff;
    transition: all 0.3s ease-out;
    z-index: 101;
  }
  .sp-menu .line-t { top: 6px; }
  .sp-menu .line-c { top: 17px; }
  .sp-menu .line-b { top: 27px; }

  .sp-menu.is-active .line-t {
    top: 18px;
    transform: rotate(45deg);
  }
  .sp-menu.is-active .line-c {
    opacity: 0;
  }
  .sp-menu.is-active .line-b {
    top: 18px;
    transform: rotate(135deg);
  }

  /*----------- グローバルナビ -----------*/
  #gnavi{
    width: 100%;
    height: 100%;
    float: right;
    padding: 15px 20px 0;
    background: #fff;
    position: fixed;
    top: 66px;
    z-index: 100;
    display: none;
  }
  #gnavi a{
    color: #fff;
    display: block;
  }
  #gnavi ul{
    margin: 15px 0 10px;
    padding: 0;
  }
  #gnavi ul li{
    width: 100%;
    text-align: left;
    margin: 0 0 8px;
  }
  #gnavi ul li a{
    width: 100%;
    display: block;
    font-size: 1.5rem;
    padding: 10px 17px;
    color: var(--base-saga-color);
    position: relative;
  }
  #gnavi ul li .low-wrap{
    margin: 5px 0 10px;
    padding: 10px;
    position: relative;
    top: 0;
    display: none;
  }
  #gnavi ul li.on .low-wrap{
    width: 96%;
    margin: 5px auto;
    padding: 0;
    position: relative;
    top: 0;
    box-shadow: none;
    background: #fff;
    transition: inherit;
  }
  #dropmenu .low li {
    width: 100%;
    margin-bottom: 0 !important;
  }
  #gnavi ul li ul li a {
    color: var(--base-saga-color);
    border-bottom: 0;
    padding: 2px 8px;
    display: block;
    text-decoration: none;
    font-weight: normal;
    text-align: left;
  }
  #gnavi ul li ul li:last-child a{
    border-bottom: 0;
  }
  #gnavi ul li ul li a img{
    display: none;
  }
  #gnavi ul li ul li a p{
    font-size: 1.5rem;
    padding: 5px;
    color: var(--base-saga-color);
    letter-spacing: 2px;
  }
  #gnavi ul li ul li a p::after{
    content: "";
    position: absolute;
    right: 14px;
    bottom: 17px;
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 1px var(--base-saga-color);
    border-right: solid 1px var(--base-saga-color);
    transform: rotate(45deg);
  }
  #gnavi ul li ul li a:hover{
    background: none;
    color: var(--base-saga-color);
  }
  #gnavi .menu-name{
    width: 100%;
    border-top: 2px dotted var(--base-saga-color);
    padding: 15px 10px 10px 15px;
    position: relative;
    font-weight: bold;
  }
  #gnavi  > ul > li:last-child {
    padding-bottom: 5px;
    border-bottom: 2px dotted var(--base-saga-color);
  }
  .menu-name::before,  .menu-name:hover::before {
    content: none;
  }
  #gnavi .menu-name.open{
    border-bottom: 0;
    padding: 15px 10px 10px 15px;
  }
  #gnavi .menu-name:not(.link):after{
    content: "\FF0B";
    position: absolute;
    right: 10px;
    bottom: 16px;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 10px;
    height: 10px;
  }
  #gnavi .menu-name.open:after{
    content: "\2212";
    right: 8px;
  }
  #gnavi .link:after{
    content: "";
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
  }
  #dropmenu .low{
    padding: 0;
  }

}


/* ---------- フッター ---------- */

section.footer-bnr {
  width: 100%;
  max-width: 100%;
  margin-top: 80px;
  padding: 40px 20px;
  background: #f2f2f2;
}
.footer-bnr ul.wrap1100{
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-bnr > ul > li{
  width: 48.5%;
}
.footer-bnr .list{
  background: #fff;
}
.footer-bnr .list h3{
  padding: 4px;
  text-align: center;
  color: #fff;
  background: #001a70;
  font-size: 1.6rem;
  font-weight: normal;
}
.footer-bnr .list ul{
  padding: 12px 0 12px 40px;
  list-style: disc;
  line-height: 1.7;
  letter-spacing: 1px;
}
.footer-bnr .list ul li a{
  color: #001a70;
}

footer ul{
  list-style: none;
}
footer nav ul.wrap1100{
  padding: 20px 0;
}
footer nav ul li{
  padding: 10px 40px 10px 0;
  display: inline-block;
}
footer nav ul li a{
  text-decoration: none;
}
footer nav ul li a:hover{
  text-decoration: underline;
}

.fotter-bgclr{
  background: var(--base-saga-color);
  color: #fff;
}
.fotter-bgclr div.wrap1100{
  padding: 20px 0;
}
.fotter-bgclr ul{
  float: right;
}
.fotter-bgclr ul li{
  display: inline-block;
  text-align: center;
}
.fotter-bgclr ul li a{
  display: inline-block;
  padding: 0 20px;
  color: #fff;
  text-decoration: none;
  font-size: 1.5rem;
}
.fotter-bgclr ul li a:hover{
  text-decoration: underline;
}
.fotter-bgclr ul li{
  border-right: 1px solid #fff;
}
.fotter-bgclr ul li:last-child{
  border-right: 0;
}
.fotter-bgclr .f-wrap{
  width: 40%;
  float: left;
}
.fotter-bgclr .f-wrap a{
  max-width: 247px;
  width: 100%;
  margin-bottom: 8px;
  display: block;
}
.fotter-bgclr .f-wrap small{
  font-size: 1.3rem;
  padding: 5px 0 0 0;
  display: block;
}

@media screen and (max-width: 768px) {

  section.footer-bnr {
    margin-top: 40px;
    padding: 20px !important;
  }
  .footer-bnr ul.wrap1100{
    display: block;
  }
  .footer-bnr > ul > li{
    width: 100%;
  }
  .footer-bnr .list {
    margin-top: 15px;
  }
  .footer-bnr .list h3{
    font-size: 1.5rem;
  }
  .footer-bnr .list ul{
    font-size: 1.4rem;
    padding: 12px 20px 12px 30px;
  }
  .footer-bnr .list ul li{
    margin-bottom: 5px;
  }
  .fotter-bgclr div.wrap1100{
    padding: 0;
  }
  .fotter-bgclr ul{
    margin: 0;
    padding: 15px 20px;
    background: #fff;
    float: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .fotter-bgclr ul li{
    width: 100%;
    display: block;
  }
  .fotter-bgclr ul li a{
    padding: 5px 0;
    color: #191919;
    text-align: center;
    font-size: 1.4rem;
  }
  .fotter-bgclr ul li{
    border-right: 0;
  }
  .fotter-bgclr .f-wrap {
    width: 100%;
    float: none;
    padding: 20px;
  }
  footer .logo{
    width: 50%;
    display: block;
  }
  .fotter-bgclr .f-wrap small{
    font-size: 1.2rem;
  }
}

/* ------------ トップページ  ------------ */

/* 重要なお知らせブロック */

.important-mssg {
  min-width: var(--main-min-width);
  width: 100%;
  margin: 127px auto 0;
  padding: 20px;
  background: #f0f0f0;
}
.important-mssg .contents {
  max-width: var(--main-min-width);
  width: 100%;
  margin: 0 auto;
  padding: 20px 40px;
  border: solid 1px red;
  background-color: #fff;
}

.important-mssg .contents h2 {
  font-size: 1.8rem;
  color: #0e0e0e;
  font-weight: bold;
}
.important-mssg .contents ul {
  margin: 10px 0 0;
  padding: 0 0 0 20px;
  list-style-type: none;
}
.important-mssg .contents ul li {
  margin-bottom: 5px;
  color: #d51414;
  /* text-decoration: underline; */
}

/* 
 * トップページ以下、 主要ブロック定義
 * 
 * 営業所、日付、時間 入力フォーム
 + --------------------------------------------- */

main {
  width: 100%;
  margin-top: 127px;
}
.important-mssg + main { /* 重要なお知らせが出ている場合 */
  margin: 40px auto;
}
/*
.top-mv{
  width: 100%;
  height: 0;
  padding-bottom: 58.33333%;
  background: url("/img/top_mv_pc.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}*/
.top-mv {
  position: relative;
  width: 100%;
  height: 850px;
  overflow: hidden;
}

.top-mv::before {
   content: '';
   display: block;
   width: 100%;
   height: 100%;
   background-image: url("/img/top_mv_pc.jpg");
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   -webkit-animation: zoom 10s 1;
   animation: zoom 10s 1;
   animation-fill-mode: forwards;
}

@keyframes zoom {
   0% {
      transform: scale(1);
   }
   100% {
      transform: scale(1.3);
   }
}

@media screen and (min-width: 1400px) {
  /*
  .top-mv{
    padding-bottom: 36.8421%;
    background: url("/img/top_mv_1900_pc.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }*/
  .top-mv{
    background-image: url("/img/top_mv_1900_pc.jpg");
  }
}
.top .form-wrap{
  max-width: 90%;
  width: 100%;
  margin: 0 auto;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top .form-wrap h1{
  max-width: 520px;
  width: 100%;
  padding: 5px;
  font-size: 1.8rem;
  text-align: center;
  color: #fff;
  background: var(--base-saga-color);
}
form.fst-form {
  max-width: 520px;
  width: 100%;
  padding: 0;
  background: #fff;
}

div.up-box {
  margin: 0;
  padding: 20px;
  text-align: left;
}
div.up-box .box{
  margin-bottom: 15px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
div.up-box label {
  display: inline-block;
  width: 80px;
}
div.up-box label::before{
  content: "\025cf";
  color: var(--base-saga-color);
  vertical-align: middle;
  font-size: 1rem;
  display: inline-block;
  padding-right: 6px;
}

.inp-tit, .shop-tit {
  width: 120px !important;
}

div.up-box input {
  height: 32px;
  display: block;
  margin: 0 2.5% 0 0;
  font-size: 16px !important;
}
div.up-box select {
  height: 32px;
  display: block;
  font-size: 15px !important;
}
.fmobj-date {
  width: 180px;
}

div.radio-box {
  margin: 0;
  padding: 20px 20px 30px;
  text-align: left;
  border-top: solid 1px #ccc;
}
.radio-box span{
  font-size: 1.5rem;
}
.radio-box .tit{
  font-weight: bold;
}
div.radio-box input[type="radio"],
div.radio-box input[type="chekbox"]  {
  margin: 0;
  padding: 0px;
  text-align: left;
}
div.radio-box fieldset {
  width: 100%;
  margin-top: 14px;
  border: none;
  padding: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
div.radio-box label {
  margin-bottom: 10px;
}
div.radio-box label span {
  margin-left:4px;
}
div.radio-box label:nth-child(1),
div.radio-box label:nth-child(4){
  width: 24%;
}
div.radio-box label:nth-child(2),
div.radio-box label:nth-child(5){
  width: 38%;
}
div.radio-box label:nth-child(3),
div.radio-box label:nth-child(6){
  width: 38%;
}
input[type="submit"].submit-btn {
  max-width: 200px;
  width: 60%;
  margin: 15px auto 0;
  display: block;
  padding: 8px;
  color: #fff;
  background-color: var(--base-saga-color);
  border: none;
  text-align: center;
  border-radius: 0.4em;
}
input[type="submit"].submit-btn:hover {
  cursor: pointer;
  opacity: 0.7;
}


/*カレンダー モーダルの レイアウト 指定
----------------------------------- */

#modal-overlay {
  display: none;
  position: fixed;
  z-index: 300;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  text-align: center;
  margin: 0 auto;
  background-color: rgba(0, 0, 0, 0.5);
}

.calendar-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 500px;
  width: 90%;
  height: auto;
  z-index: 12;
  text-align: left;
  background: #fff;
  text-align: center;
  margin: 0 auto;
  overflow: auto;
  max-height: 100vh;
}

.calendar-box h2 {
  padding: 15px 10px;
  font-size: 1.5rem;
  text-align: center;
  background: #d81317;
  color: #fff;
}
.calendar-box h2 span { /* -- 年月 -- */
  font-size: 2.0rem;
}
.calendar-box h3 {
  margin: 4px;
  font-size: 2rem;
  text-align: center;
  color: #d81317;
}

#calendar-list {
  margin: 0 auto;
  text-align: center;
}


.cal-table {
  width: 94%;
  height: auto;
  border-collapse: collapse;
  margin: 20px auto; 
}
.cal-table th, .cal-table td{
  font-size: 1.6rem;
  padding: 8px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #6d6d6d;
}

@media screen and (max-width: 480px) {
  .cal-table th, .cal-table td {
    font-size: 1.5rem;
    padding: 5px;
  }
  .calendar-box h3 {
    margin: 0;
    font-size: 1.8rem;
    padding: 0 20px;
  }
  .calendar-box h2{
    text-align: left;
    padding: 15px;
  }
}

.btn-wrap {
  width: 100%;
  text-align: left;
}
/* カレンダー用 */
.calendar-box .btn-wrap{
  width: auto;
  position: absolute;
  right: 0;
  top: 6px;
}
.calendar-box .btn-wrap .btn-x {
  color: #fff;
}


.modal-cls-btn {
  width: auto;
  height: auto;
  margin: 6px 15px 0 0;
  padding: 6px;
  font-size: 1.3rem;
  border: 1px solid #fff;
  border-radius: 0.4em;
  background: none;
  color: #fff;
  cursor: pointer;
}

.modal-cls-btn:hover {
  opacity: 0.5;
}


.btn-x {
  font-weight: bold;
}

.cal-btn-hd {
  padding: 0 20px 0 20px;
  width: 100%;
  margin-top: 20px;
  display: flex;
  text-align: center;
  justify-content: space-between;
}
.cal-btn-hd h3, .cal-btn-hd button {
  display: block;
}
.cal-btn-hd button{
  background: #fff;
  color: #d81317;
  border: 1px solid #d81317;
  border-radius: 3px;
}
.cal-btn {
  width: 35px;
  cursor: pointer;
}
.cal-btn:hover {
  background: #d81317;
  color: #fff;
  transition: 0.2s;
}

.sunday, .saturday, .wday {
  background-color: #e7e7e7;
}
.saturday {
  color: #006ede;
}
.sunday {
  color: #ff4444;
}
.cal-day {
  cursor: pointer;
}
.past-day {
  color: #d5d5d5;
}
.checked-day {
  background-color: #ffffad;
}
.checked2-day {
  background-color: #ccfec4;
}

.closed-day {
  background-color: #ffdddd !important;
}

.done-btn {
  max-width: 200px;
  width: 60%;
  display: block;
  padding: 10px 0;
  color: #fff;
  font-weight: bold;
  background-color: red !important;
  border: none;
  text-align: center;
  border-radius: 0.4em;
  margin: 10px auto;
  cursor: pointer;
}
.done-btn:hover {
  opacity: 0.7;
}

.holiday-mark{
  text-align: left;
  padding: 0 0 20px 20px;
}
.holiday-mark span{
  width: 15px;
  height: 15px;
  margin-right: 10px;
  background: #ff9d9d;
  display: inline-block;
  vertical-align: middle;
}



/* トップ トピックス（お知らせ）
 ----------------------------------- */

section.top-info{

}
.info-box {
  width: 100%;
  height: auto;
}

.info-box dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.info-box dl dt {
  width: 16%;
  padding: 5px;
  margin-right: 2%;
  margin-top: 15px;
  text-align: center;
  font-size: 1.4rem;
  color: #d51414;
  font-weight: bold;
  border: solid 1px #d51414;
}
.info-box dl dd {
  margin-top: 15px;
  font-size: 1.5rem;
}
.i-date{
  width: 15%;
  font-size: 1.5rem;
}
.i-tit {
  width: 57%;
  padding: 0 15px 0 5px;
  text-decoration: underline;
}
.i-tit a{
  width: 100%;
  display: block;
}
.i-tit a:hover{
  color: #d51414;
  text-decoration: underline;
}
.info-box .btn{
  width: 10%;
  text-align: right;
}
.info-box .btn a{
  text-decoration: none;
  color: #d51414;
}

/* トピックス モーダル
----------------------------------- */

#modal-overlay2 {
  display: none;
  position: fixed;
  z-index: 300;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  text-align: center;
  margin: 0 auto;
  background-color: rgba(0, 0, 0, 0.5);
}
.topics-box {
  max-width: 680px;
  width: 90%;
  height: auto;
  /* max-height:600px; */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 12;
  text-align: left;
  background: #fff;
  margin: 0 auto;
  padding: 16px;
  border-radius: 0.4em;
}

.topics-box h2 {
  font-size: 2rem;
  font-weight: bold;
  text-align: left;
}
.topics-box h3 {
  margin: 4px;
  font-size: 1.2rem;
  text-align: center;
  color: #d81317;
}

/* トピックス用 */
.topics-box .btn-wrap{
  width: auto;
  position: absolute;
  right: 0;
  top: 6px;
}
.topics-box .btn-wrap .btn-x {
  color: #fff;
}

.topics-data {
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  flex-wrap: wrap;
  overflow: auto;
  max-height: 100vh;
}
.topics-data img {
  width: 100%;
}
.topics-data li {
  width: 100%;
  display: block;
  height: auto;
  padding: 3px 0;
}
.topics-data li.t-category {
  width: 100px;
  margin: 10px 0;
  padding: 5px 0 0;
  background: #d81317;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
}
.topics-data li.t-date {
  width: 160px;
  margin: 10px 0;
  padding-left: 10px;
}
.topics-data li.t-date + li{
  padding: 3px 0 8px;
}

/* トップ サービス
----------------------------------- */
section.top-service{
  background: #ededed;
}
.top-service h2{
  margin-bottom: 40px;
  padding: 25px 0 0;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 3px;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",sans-serif;
  text-align: center;
}
.top-service h2::after{
  content: "\025cf";
  padding-top: 6px;
  color: var(--base-saga-color);
  font-size: 1rem;
  padding-right: 6px;
  display: block;
}

.top-service ul{
  padding: 5px 0 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
.top-service ul li{
  width: 30%;
}
.top-service ul::before{
  display: block;
  content: "";
  order: 1;
  width: 31%;
}
.top-service ul li{
  margin-bottom: 30px;
}
.top-service ul li a{
  text-decoration: none;
}
.top-service ul li a h3{
  padding: 5px 0;
  margin-top: 0;
  font-size: 1.5rem;
  letter-spacing: 2px;
  text-align: center;
  background: rgba(0,0,0,0.8);
  color: #fff;
}
.top-service ul li a img{
  width: 100%;
  transition: .3s;
  filter: grayscale(100%);
}
.top-service ul li a:hover img{
  filter: none;
  transform: scale(1.1);
}
.top-service .img-show {
  padding: 12px 0;
  background: #fff;
}

/* トップ 中古車
----------------------------------- */

section.top-secondhand .wrap{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #f9f9f9;
  border: 1px solid #e4e4e4;
}
.top-secondhand .img-wrap{
  width: 46%;
}
.top-secondhand .txt-wrap{
  width: 54%;
  padding: 20px;
}
.top-secondhand .txt-wrap h3{
  margin-bottom: 10px;
}
.top-secondhand .txt-wrap p{
  line-height: 1.7;
  letter-spacing: 1px;
  font-size: 1.5rem;
}



/* 
 * レンタカー予約 トップ /reserve/
 * 
 *  及び、予約ページ共通設定
 * 
 * ----------------------------------- */

.reserve .h1-title h1 {
  font-size: 3.4rem;
}

.reserve-contents {
  margin: 20px;
}

section.reserve-step{
  padding: 40px 0 0;
}
.reserve-step.step1 .submit-btn-rtop.single{
  margin: 20px auto;
}
.reserve-step.step1 ul{
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
.reserve-step.step1 ul li{
  width: 48%;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.reserve-step.step1 ul li:not(.select-type) label{
  width: 25%;
  display: block;
}

.reserve-step.step1 ul li:not(.select-type) label::before{
  content: "\025cf";
  color: var(--base-saga-color);
  vertical-align: middle;
  font-size: 1rem;
  display: inline-block;
  padding-right: 6px;
}
.reserve-step.step1 ul li.select-office select{
  width: 75%;
  display: block;
  height: 36px;
  padding: 0 12px;
}
.reserve-step.step1 ul li.select-type{
  width: 100%;
  background: #f8f8f8;
  padding: 20px;
  margin-top: 20px;
}
.reserve-step.step1 ul li.select-type .fset-tit{
  width: 100%;
  padding-left: 10px;
  display: block;
  font-weight: bold;
}
.reserve-step.step1 ul li.select-type fieldset{
  display: block;
  border: 0;
  padding: 10px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.reserve-step.step1 ul li.select-type fieldset label{
  display: block;
  padding: 0 20px 10px 0;
}

/* 予約フォーム ボックス */

select{
  height: 37px;
}

.reserve-1stbox input[name="dpt_date"],
.reserve-1stbox input[name="rtn_date"] {
  width: 47%;
}
.reserve-1stbox select[name="dpt_time"],
.reserve-1stbox select[name="rtn_time"] {
  width: 24%;
  margin-left: 2.5%;
}
.submit-btn-wrap{
  width: 80%;
  margin: 100px auto 20px !important;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
.submit-btn-wrap li{
  width: 47%;
}
.return-btn{
  width: 100%;
  display: block;
  padding: 18px 25px;
  color: #e7282c;
  font-weight: bold;
  background-color: #ffdada !important;
  border: none;
  text-align: center;
  border-radius: 0.4em;
  text-decoration: none;
  cursor: pointer;
}
.submit-btn-rtop {
  width: 100%;
  display: block;
  padding: 18px 25px;
  color: #fff;
  font-weight: bold;
  background-color:#e7282c;
  border: none;
  text-align: center;
  border-radius: 0.4em;
}
a.return-btn.single,
.submit-btn-rtop.single{
  max-width: 300px;
  width: 100%;
  margin: 60px auto 20px;
  display: block;
}

.submit-btn-wrap li a.return-btn:hover,
.submit-btn-rtop:hover {
  cursor: pointer;
  opacity: 0.7;
}

/* 予約取り消し手数料 （旧） */
section.reserve-attention{
  width: 94% !important;
  margin-top: 50px;
  padding: 30px !important;
  border: 2px solid #e7282c;
}
.reserve-attention h2,
.reserve-attention h3{
  font-size: 2rem;
  color: #e7282c;
}
.reserve-attention ul,
.reserve-attention ol{
  margin: 0;
  padding: 10px 0 0 15px;
}
.reserve-attention > ul > li{
  margin-bottom: 10px;
}
.reserve-attention ol{
  margin-left: 5px;
}
.reserve-attention .documentlist li,
.reserve-attention ol li{
  margin-bottom: 5px;
}
.reserve-attention ol li::marker{
  font-size: 1.6rem;
}
.reserve-attention .documentlist{
  background: #fff0f0;
  margin: 15px 0 0 15px;
  padding: 15px 30px;
}

ul.bl-cancel-expl {
  margin: 0;
  padding: 18px 0 0;
  display: flex;
  flex-wrap: wrap !important;
  justify-content: space-between;
  list-style: none;
}
ul.bl-cancel-expl li {
  width: 49%;
}

.bl-cancel-expl table {
  width: 100%;
  border-collapse: collapse;
}
.bl-cancel-expl table th, .bl-cancel-expl table td {
  padding: 6px 4px 6px 12px;
  border: solid 1px #ccc;
}
.bl-cancel-expl table th {
  background-color: #e7e7e7;
}

.step1-tel .disc-red li{
  margin-bottom: 25px;
}
.step1-tel .disc-red li:first-line{
  font-weight: bold;
}
.step1-tel .title-style02{
  margin: 0 0 30px 0;
}
.step1-tel .disc-red h3{
  margin-bottom: 6px;
}
.step1-tel .disc-red p{
  margin-bottom: 3px;
}

/* ------------ レンタカー予約  車種を選択 STEP 2  ------------ */


/* 日時入力内容 表示BOX */
.rentdat-cfm {
  max-width: var(--main-min-width);
  width: 100%;
  margin: 20px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rentdat-cfm .wrap{
  width: 48.8%;
}
.rentdat-cfm p {
  width: 100%;
}
.rentdat-cfm dl{
  margin: 0 auto 20px;
  border: solid 2px #f3bfa0;
  border-radius: 0 8px 8px 8px;
  padding: 10px 10px 5px 0;
  display:flex;
  flex-wrap: wrap;
}
.rentdat-cfm dl div{
  width: 100%;
  margin-bottom: 5px;
  padding-bottom: 2px;
  padding-left: 20px;
}
.rentdat-cfm dl div.day{
  width: 100%;
  margin-bottom: 5px;
}
.rentdat-cfm dl div.day + div.day{
  width: 100%;
  margin-bottom: 5px;
}
.rentdat-cfm dl dt,
.rentdat-cfm dl dd {
  display: inline-block;
}
.rentdat-cfm dl dd span{
  font-weight: bold;
  color: #c6c6c6;
}
.rentdat-cfm dl dd a:hover{
  color: var(--base-link-color);
}
.rentdat-cfm h2{
  display: inline-block;
  padding: 5px 10px;
  font-size: 1.4rem;
  color: #474747;
  background: #f3bfa0;
  border-radius: 8px 8px 0 0;
  letter-spacing: 1px;
}
.rentdat-cfm dl .cfm-tit {
  color: #e96414;
  font-weight: bold;
}


@media all and (max-width: 1000px) {
  .rentdat-cfm dl .day dt{
    width: 20%;
    max-width: 70px;
    margin-bottom: 0;
  }
  .rentdat-cfm dl .day dd{
    display: inline-block;
    width: 80%;
    padding-right: 0 !important;
  }
  .rentdat-cfm dl div{
    margin-bottom: 5px;
  }
}
@media all and (max-width: 430px) {
  .rentdat-cfm dl .day dt{
    width: 100%;
  }
  .rentdat-cfm dl .day dd{
    width: 100%;
    margin-bottom: 5px;
  }
}

/* 進捗 表示BOX */
.progress {
  max-width: var(--main-min-width);
  width: 100%;
  margin: 30px auto 0;
  display: flex;
  padding: 0;
}
.progress li {
  display: block;
  font-size: 1.5rem;
  padding: 14px 20px 14px 50px;
  position: relative;
  background-color: #f3f3f3;
}
.progress li br.w900{
  display: none;
}

.progress li span{
  display: block;
}
.progress li:first-child{
  padding: 14px 20px 14px 30px !important;
}
.progress li.now + li{
  padding: 14px 20px 14px 50px;
}
.progress li:first-child.now::before{
  content: none;
}
.progress li:not(.now)::after{
  content: '';
  width: 50px;
  height: 50px;
  border: 0;
  border-top: solid 5px #e7e7e7;
  border-right: solid 5px #e7e7e7;
  position: absolute;
  top: 10px;
  right: -24px;
  margin-top: 0;
  transform: rotate(45deg);
  z-index: 11;
}
.progress li:last-child::after{
  content: none;
}
li.step-1 { width: 17%; }
li.step-2 { width:20%; }
li.step-3, li.step-4{ width: 22.5%; }
li.step-5{ width: 18%; }

.progress li.now {
  padding: 14px 20px 14px 55px;
  background-color: var(--base-link-color);
  color: #fff;
  font-weight: bold;
}
.progress li.now::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-left: 35px solid #f3f3f3;
  border-top: 35px solid transparent;
  border-bottom: 35px solid transparent;
  z-index: 10;
}
.progress li.now::after {
  content: "";
  position: absolute;
  top: 0;
  right: -35px;
  width: 0;
  height: 0;
  border-left: 35px solid var(--base-link-color);
  border-top: 35px solid transparent;
  border-bottom: 35px solid transparent;
  z-index: 10;
}
.progress li:last-child.now::after{
  content: none;
}
.progress li.now a {
  color: #fff;
  font-weight: bold;
}
.progress li a:hover {
  color: #f85d00;
}


@media all and (min-width: 768px) and (max-width: 1000px){
  .progress li br.w900{
    display: block;
  }
  .progress li {
    padding: 14px 20px 14px 55px;
  }
  .progress li.now + li {
    padding: 14px 20px 14px 65px;
  }
  .progress li:not(.now)::after {
    content: '';
    width: 65px;
    height: 65px;
    border: 0;
    border-top: solid 5px #e7e7e7;
    border-right: solid 5px #e7e7e7;
    position: absolute;
    top: 13px;
    right: -32px;
    margin-top: 0;
    transform: rotate(45deg);
    z-index: 11;
  }
  .progress li.now::after {
    content: "";
    position: absolute;
    top: 0;
    right: -45px;
    width: 0;
    height: 0;
    border-left: 45px solid var(--base-link-color);
    border-top: 45px solid transparent;
    border-bottom: 45px solid transparent;
    z-index: 10;
  }
  .progress li.now::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-left: 45px solid #f3f3f3;
    border-top: 45px solid transparent;
    border-bottom: 45px solid transparent;
    z-index: 10;
  }
  .progress li:last-child::after{
    content: none;
  }
}


/* 車クラス 変更パーツ部分 */
.car-chg {
  display: block;
  width: 100%;
  margin: 20px auto;
}
.car-chg span{
  display: inline-block;
  padding-right: 15px;
}
.car-chg select{
  max-width: 200px;
  width: 100%;
  margin-top: 6px;
}


/* 車クラス詳細表示 BOX */
/* 枠線
.cclass-box {
  margin-bottom: 60px;
  padding: 60px 30px 0;
  border-top: 4px dotted #cdcdcd;
}*/
.cclass-box {
  margin-bottom: 60px;
  padding: 60px 30px 0;
  border-top: 4px dotted #cdcdcd;
}
.cclass-box.rent-stop {
  background-color: #ddd !important;
  padding: 40px 30px;
  border-top: 0;
  margin-bottom: 45px;
}
.cclass-box .title-wrap{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.cclass-box .title-wrap h4{
  padding: 8px 20px;
  margin-right: 2%;
  display: inline-block;
  line-height: 1;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 2px;
}
.cm-bgcolor-1,
.cclass-box button.choice-1{
  background-color: #4169e1 !important;
}
.cm-bgcolor-1 + h3{
  color: #4169e1;
}
.cm-bgcolor-2,
.cclass-box button.choice-2{
  background-color: #129205 !important;
}
.cm-bgcolor-2 + h3{
  color: #129205;
}
.cm-bgcolor-3,
.cclass-box button.choice-3{
  background-color: #cc16a3 !important;
}
.cm-bgcolor-3 + h3 {
  color: #cc16a3;
}
.cm-bgcolor-4,
.cclass-box button.choice-4{
  background-color: #d14717 !important;
}
.cm-bgcolor-4 + h3 {
  color: #d14717;
}
.cm-bgcolor-5,
.cclass-box button.choice-5{
  background-color: #393939; 
}
.cm-bgcolor-5 + h3 {
  color: #393939;
}
.cm-bgcolor-6,
.cclass-box button.choice-6{
  background-color: #846704 !important;
}
.cm-bgcolor-6 + h3 {
  color: #846704;
}
.cm-bgcolor-7,
.cclass-box button.choice-7{
  background-color: #846704 !important;
}
.cm-bgcolor-7 + h3 {
  color: #846704;
}
.cm-bgcolor-8,
.cclass-box button.choice-8{
  background-color: #556b2f !important;
}
.cm-bgcolor-8 + h3 {
  color: #556b2f;
}
.cm-bgcolor-9,
.cclass-box button.choice-9{
  background-color: #483d8b !important;
}
.cm-bgcolor-9 + h3 {
  color: #483d8b;
}
.cm-bgcolor-10,
.cclass-box button.choice-10{
  background-color: #203744 !important;
}
.cm-bgcolor-10 + h3 {
  color: #203744;
}

.cclass-box .title-wrap{
  margin-bottom: 20px;
}
.cclass-box p.car-rem {
  width: 60%;
  text-align: left;
  padding: 0 0 0 20px;
}
.main-wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.main-wrap .img-wrap{
  width: 30%;
}
.main-wrap .other-wrap{
  width: 66.5%;
}
img.main-img {
  margin: 0 0 10px 0;
  border: 1px solid #ccc;
}

.cclass-box ul {
  display: flex;
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.cclass-box ul li a {
  margin-right: 15px;
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid #414141;
  border-radius: 5px;
  color: #414141;
  line-height: 1.4;
  text-decoration: none;
}
.cclass-box ul li a:hover{
  color: #fff;
  background-color: #414141;
  border: 1px solid #414141;
  transition: 0.3s;
}

.cclass-box .num-1 ul li a { border: 1px solid #4169e1; color: #4169e1;  }
.cclass-box .num-1 ul li a:hover{ background-color: #4169e1;  border: 1px solid #4169e1; color: #fff; }
.cclass-box .num-2 ul li a { border: 1px solid #129205; color: #129205;  }
.cclass-box .num-2 ul li a:hover{ background-color: #129205;  border: 1px solid #129205; color: #fff; }
.cclass-box .num-3 ul li a { border: 1px solid #cc16a3; color: #cc16a3;  }
.cclass-box .num-3 ul li a:hover{ background-color: #cc16a3;  border: 1px solid #cc16a3; color: #fff; }
.cclass-box .num-4 ul li a { border: 1px solid #d14717; color: #d14717;  }
.cclass-box .num-4 ul li a:hover{ background-color: #d14717;  border: 1px solid #d14717; color: #fff; }
.cclass-box .num-5 ul li a { border: 1px solid #393939; color: #393939;  }
.cclass-box .num-5 ul li a:hover{ background-color: #393939;  border: 1px solid #393939; color: #fff; }
.cclass-box .num-6 ul li a { border: 1px solid #846704; color: #846704;  }
.cclass-box .num-6 ul li a:hover{ background-color: #846704;  border: 1px solid #846704; color: #fff; }
.cclass-box .num-7 ul li a { border: 1px solid #846704; color: #846704;  }
.cclass-box .num-7 ul li a:hover{ background-color: #846704;  border: 1px solid #846704; color: #fff; }
.cclass-box .num-8 ul li a { border: 1px solid #556b2f; color: #556b2f;  }
.cclass-box .num-8 ul li a:hover{ background-color: #556b2f;  border: 1px solid #556b2f; color: #fff; }
.cclass-box .num-9 ul li a { border: 1px solid #483d8b; color: #483d8b;  }
.cclass-box .num-9 ul li a:hover{ background-color: #483d8b;  border: 1px solid #483d8b; color: #fff; }
.cclass-box .num-10 ul li a { border: 1px solid #203744; color: #203744;  }
.cclass-box .num-10 ul li a:hover{ background-color: #203744;  border: 1px solid #203744; color: #fff; }

.price-warp {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
table.price-list {
  width: 50%;
  border-collapse: initial;
  border-spacing: 0;
}
table.price-list + .price-list{
  border-left: 0;
}

.safepack-comm{
  font-size: 1.3rem;
  padding: 8px 0 10px 27px;
  line-height: 1.5;
  text-indent: -27px;
}
.safepack-comm::before{
  content: "※）";
  color: var(--base-saga-color);
}

.main-wrap b {
  font-size: 1.5rem;
  color: var(--base-saga-color);
  font-weight: bold;
  margin-bottom: 5px;
  text-align: left;
  display: block;
}
.pr-tit1 {
  width: 50%;
  border: solid 1px #cdcdcd;
  border-right: 0;
  border-bottom: 0; 
  background-color: #dbf3d0;
  font-size: 1.4rem;
  padding: 8px 5px;
}
.pr-tit1-2 {
  width: 50%;
  border: solid 1px #cdcdcd;
  border-right: 0;
  border-bottom: 0; 
  background-color: #dcecf6;
  font-size: 1.4rem;
  padding: 8px 5px;
}
.pr-b1 {
  border: solid 1px #cdcdcd;
  border-right: 0;
  padding: 10px 5px;
  background-color: #fff;
  height: 46px;
  font-size: 1.6rem;
  text-align: center;
}

.pr-tit2 {
  width: 50%;
  border: solid 1px #cdcdcd;
  border-right: 0;
  border-bottom: 0; 
  background: #ffecec;
  padding: 8px 5px;
  font-size: 1.4rem;
}
.pr-tit2-2 {
  width: 50%;
  border: solid 1px #cdcdcd;
  border-bottom: 0; 
  background: #ebebeb;
  padding: 8px 5px;
  font-size: 1.4rem;
}
.pr-b2 {
  border: solid 1px #cdcdcd;
  border-right: 0;
  padding: 10px 5px;
  background-color: #fff;
  height: 46px;
  font-size: 1.6rem;
  text-align: center;
}
.pr-b2 + .pr-b2{
  border-right: solid 1px #cdcdcd;
}
.cclass-box .btn-wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.cclass-box button {
  display: block;
  padding: 6px 15px;
  color: #fff;
  font-weight: bold;
  border: none;
  text-align: center;
  border-radius: 0.4em;
  margin: 5px 0 0;
  cursor: pointer;
}
.cclass-box button.inq{
  color: #fff;
  background-color: var(--base-saga-color);
}
.cclass-box button:hover {
  cursor: pointer;
  opacity: 0.7;
}
.cclass-box button.choice{
  width: 30%;
}
.cclass-box button.choice + p{
  font-size: 1.5rem;
  width: 100%;
  padding-top: 5px;
}

/* 選択不可の場合の パーツ */
.cclass-box .not-ready-mssg {
  width: 30%;
  text-align: center;
  color: #666;
  font-weight: bold;
  font-size: 1.4rem;
  border: solid 3px #aaa;
  background-color: #fff;
  padding: 10px 0;
}
.cclass-box .not-ready-rem {
  width: 66.5%;
  padding: 10px 15px 15px;
  background-color: #f3f3f3;
  text-align: left;
}



/* ------------ レンタカー予約 レンタカー予約 STEP 3  ------------ */

section.step3 ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
.step3 ul.option-seat,
.step3 .option-other li,
.step3 .option-other li .wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.step3 .option-other li{
  align-items: center;
}
.step3 .option-other li .wrap{
  width: 80%;
}
.step3 ul.option-seat li{
  width: 30%;
  display: flex;
  flex-direction: column;
}
.step3 .title-simple{
  padding: 40px 0 50px;
}
.step3 .top-line-circle{
  margin-top: 70px;
  padding-top: 50px;
}
.step3 .option-other li{
  margin-bottom: 25px;
}

.cc-tit {
  color: red;
  font-weight: bold;
}
.cc-name {
  display: inline-block;
  margin-left: 10px;
}

form.option-warp figure {
  width: 50%;
  margin: 30px auto;
  text-align: center;
}

form.option-warp h4.tit1 {
  font-size: 1.4rem;
  color: red;
}
form.option-warp li {
  text-align: center;
}
.step3 p.price span,
.step3 .rem2 span {
  color: red;
  font-weight: bold;
  display: inline-block;
}
.option-seat div.p-line {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: auto;
}

form.option-warp h4.tit2 {
  color: red;
}
.option-seat .price{
  width: 30%;
  min-width: 100px;
  text-align: right;
}
.option-seat label.option-name {
  width: 100%;
  margin: 0 auto;
  padding: 5px 0;
  display: block;
  font-weight: bold;
  text-align: center;
  border: solid 2px #999;
}
.option-seat label.option-inp {
  width: 50%;
  display: block;
  font-weight: bold;
  padding-left: 10px;
}
.option-other label.option-name {
  width: 20%;
  padding: 5px 0;
  display: block;
  font-weight: bold;
  text-align: center;
  border: solid 2px #999;
}
.option-other label.option-inp {
  width: 20%;
  display: block;
  font-weight: bold;
  padding-left: 10px;
}

label.option-inp input[type="text"] {
  width: 65%;
  height: 32px;
  margin-right: 5%;
  font-weight: normal;
}
form.option-warp p.rem {
  padding: 10px 4px;
  line-height: 1.4;
}

form.option-warp p.rem2 {
  width: 53%;
  margin: 0 20px 0;
  padding: 4px;
  text-align: left;
}
form.option-warp .price{
  width: 17%;
  text-align: right;
}

.step3-btn {
  margin: 30px 0 0 0;
  grid-area: btn3;
  display: block;
  padding: 8px;
  color: #fff;
  font-weight: bold;
  /*font-size: 1rem;*/
  background-color: red;
  border: none;
  height: 50px;
  width: 100%;
  text-align: center;
  border-radius: 0.4em;
}
.step3-btn:hover {
  cursor: pointer;
  opacity: 0.7;
}


/* ------------ レンタカー予約 レンタカー予約 STEP 4  ------------ */

.reserve-step.step4 .title-simple,
.reserve.step5 .title-simple,
.reserve-step .reserve-inq-info .title-simple,
.reserve-inq .reserve-inq-info .title-simple{
  padding-top: 100px;
  padding-bottom: 50px;
}

.custinfo-warp {
  width: 100%;
  margin: 10px auto;
}

.custinfo-warp h4.tit {
  margin: 40px 10% 10px 10%;
  width: 80%;
  height: 40px;
  font-size: 1.6rem;
  color: red;
  line-height: 40px;
  text-align: center;
}

.custinfo-warp dl.cust-info {
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: repeat(5, 40px);
  align-content: center;
  gap: 25px;
}
.custinfo-warp dl.cust-info dd input{
  margin: 0 5px 0 0 !important;
}

.custinfo-warp dl.cust-info dt {
  display: flex;
}

.custinfo-warp dl.cust-info dt,
.custinfo-warp dl.cust-info dd {
  align-self: center;
  text-align: left;
}
.custinfo-warp dl.cust-info dd input[type="text"] {
  width: 100%;
  height: 40px;
  padding: 4px 10px;
}
dl.cust-info span {
  margin: 2px 0 0 10px;
  padding: 0 5px;
  display: block;
  border: solid 1px red;
  text-align: center;
  line-height: 18px;
  color: red;
  font-size: 1.2rem;
  font-weight: bold;
}
dl.cust-info label p {
  display: inline-block;
}

/* 支払い方法 */
fieldset.payway-box {
  width: 100%;
  margin: 0 auto;
  border: 0;
  padding: 0;
}
fieldset.payway-box div {
}
fieldset.payway-box label {
  display: block;
  padding: 0 30px 3px 0;
}
fieldset.payway-box label input[type="radio"]{
  vertical-align: unset;
}
fieldset.payway-box span {
  color: red;
  font-size: 1.5rem;
  display: inline-block;
  padding: 0 0 15px 15px;
}
fieldset.payway-box span a{
  color: var(--base-link-color);
}
.step4-pay ul.attention-come{
  color: red;
  font-size: 1.5rem;
}
.step4-pay ul.attention-come li{
  margin-bottom: 0;
}
.step4-pay ul.attention-come li::before {
  color: red;
}

/* ご利用目的 */
fieldset.purpose-box {
  width: 100%;
  margin: 0 auto 10px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  border: 0;
}
fieldset.purpose-box label {
  margin: 0 20px 0 0;
  display: block;
}
fieldset.purpose-box + span {
  color: red;
  margin-left: 0;
  font-size: 1.5rem;
}
fieldset.purpose-box label input[type="radio"]{
  vertical-align: unset;
}


/* その他 */
textarea.mssg-etc {
  padding: 12px;
  width:   100%;
  height: 150px;
  line-height: 1.3;
}
.mssg-etc-com {
  margin-bottom: 5px;
  text-align: left;
  line-height: 1.5;
}

.step4-btn {
  margin: 30px auto;
  display: block;
  padding: 8px;
  color: #fff;
  font-weight: bold;
  /*font-size: 0.85rem;*/
  background-color: red;
  border: none;
  height: 50px;
  width: 240px;
  text-align: center;
  border-radius: 0.4em;
}
.step4-btn:hover {
  cursor: pointer;
  opacity: 0.7;
}

@keyframes blink {
  0%, 30%, 70%, 100% { /* 30% ～ 70% でアニメする */
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

/* レンタカー予約 お問い合わせフォーム
----------------------------------- */

.title-simple-2 {
  margin: 20px 0 0 0;
  padding-bottom: 10px;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--base-saga-color);
}

dl.rent-info {
  margin: 0 auto;
  width: 80%;

  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 8px;
}
dl.rent-info dt {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  background: #e9e9e9;
  padding: 0 16px 0;
}
dl.rent-info dd {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 6px;
}
dl.rent-info dt, dl.rent-info dd {
/*  align-self: center; */
  min-height: 32px;
}
dl.rent-info dd input[type="text"] {
  width: 96%;
}
dl.rent-info dt span {
  color: #d81317;
  display: inline-block;
  padding-left: 5px;
}


.mssg-etc2-label {
  width: 80%;
  margin: 10px auto 0;
  text-align: left;
  line-height: 1.5;
}
.mssg-etc2 {
  margin: 0 auto;
  display: block;
  padding: 12px;
  width: 80%;
  height: 100px;
}

.rentinq-warp {
  width: 80%;
  margin: 10px auto;
  padding: 10px;

  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 100px;
}

/* 完了画面 */

section.inq-confirm-warp{
  padding: 55px 0 0;
}
.inq-confirm-warp p{
  text-align: center;
}
.inq-confirm-warp .title-simple {
  padding-bottom: 30px;
}

/* ------------ レンタカー予約 STEP 5 内容確認  ------------ */

section.confirm-warp {
  width: 100%;
  margin: 10px auto;
}

section.confirm-warp h4.title-simple {
  padding-bottom: 20px;
}
section.confirm-warp dl{
  margin-bottom: 60px !important;
}

dl.confirm-shop-date {
  margin: 20px auto;
  display: grid;
  grid-template-columns: 28% 25% 47%;
  grid-template-rows: auto;
  align-content: center;
}
dl.confirm-shop-date dt,
dl.confirm-shop-date dd {
  display: block;
  margin: 6px 0 6px 0;
  padding: 4px;
  height: 40px;
  /*font-size: 1rem;*/
  background: #eee;
  line-height: 36px;
  text-align: left;
}

dl.confirm-data {
  margin: 6px auto;
  display: grid;
  grid-template-columns: 28% 72%;
  align-content: center;
  row-gap: 6px;
}
dl.confirm-shop-date dt span::before,
dl.confirm-data dt span::before,
dl.confirm-data-etc dt span::before {
  content: "●";
  font-size: 1rem;
  color: red;
  margin: 0 10px 2px 15px;
}
dl.confirm-data dt {
  display: block;
  margin: 0;
  padding: 4px;
  height: 40px;
  background: #eee;
  line-height: 36px;
  text-align: left;
}
dl.confirm-data dd {
  margin: 0;
  height: 40px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  background: #eee;
  line-height: 36px;
  padding: 0 12px 0 0;
}
dl.confirm-data dd span {
  width: 40%;
  display: inline-block;
  font-weight: bold;
  text-align: right;
}
dl.confirm-data .pack-dt{
  height: 67px;
}
dl.confirm-data dd.pack{
  width: 100%;
  margin: 0;
  height: auto;
  display: block;
  background: #eee;
  line-height: 36px;
  padding: 3px 12px 0 0;
}
dl.confirm-data dd.pack span{
  float: right;
  text-align: right;
}
dl.confirm-data dd.pack .red{
  font-size: 1.4rem;
}
dl.confirm-data-etc {
  margin: 20px auto;
  display: grid;
  grid-template-columns: 28% 72%;
  grid-template-rows: auto;
}

dl.confirm-data-etc dt,
dl.confirm-data-etc dd {
  display: block;
  margin: 6px 0 6px 0;
  padding: 12px 6px 0 6px;
  /* height: 150px; */
  /*font-size: 1rem;*/
  background: #eee;
  text-align: left;
}
dl.confirm-data-etc dd.etc {
  padding: 10px;
  line-height: 1.3 !important;
  overflow-x: visible;
  overflow-y: scroll;
}

section.step5-form{
  padding: 30px 0 0;
}
.step5-form label {
  display: block;
  grid-column-start: span 2;
  padding: 10px;
  width: 100%;
  border: 8px solid pink;
}


.step5 section.reserve-attention{
  width: 100% !important;
  margin-top: 30px;
}
.reserve-attention .wrap{
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.reserve-attention .wrap a{
  color: var(--base-link-color);
}
.reserve-attention dl{
  max-width: 300px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
  font-size: 1.4rem;
  border: 1px solid #cdcdcd;
  border-bottom: 0;
}
.reserve-attention dl dt{
  width: 48%;
  margin-bottom: 0;
  padding: 10px;
  background: #efefef;
  border-bottom: 1px solid #cdcdcd;
}
.reserve-attention dl dd{
  width: 52%;
  margin-bottom: 0;
  padding: 10px;
  border-left: 1px solid #cdcdcd;
  border-bottom: 1px solid #cdcdcd;
}

/* ------------ レンタカー予約 完了画面 ------------ */

.reserve.thanks .title-simple{
  margin-top: 40px;
  padding-bottom: 5px;
}
.reserve.thanks p{
  margin: 30px 0;
  line-height: 1.8;
  text-align: center;
}

/* ------------ 車種と料金・サービス  ------------ */

.service-top-wrap{
  background: #f2f2f2;
}
.service-top-wrap section{
  padding: 80px 0;
}
.service-top-wrap .cclass-box{
  background: #fff;
  border: 1px solid #dfdfdf;
  margin-bottom: 25px;
  padding: 20px 25px;
}

/* 車種選択ボタン 表示 BOX */
.car-select {
  display: block;
  width: 100%;
  margin: 10px auto;
}

.car-select ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  margin: 0;
}
.car-select ul li {
  width: 16.666%;
  padding: 0 !important;
  display: block;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-bottom: solid 8px #e0e0e0;
}
.car-select ul li a {
  display: block;
  width: 100%;
  padding: 30px 0;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.9rem;
  text-align: center;
}
.car-select ul li:hover {
  background-color: var(--base-saga-color);
  border: solid 1px var(--base-saga-color);
  border-bottom: solid 8px var(--base-saga-color);
  color: #fff;
}
.car-select ul li:hover a,
.car-select ul li a:hover {
  color: #fff;
}
.car-select ul li.now {
  border: solid 1px var(--base-saga-color);
  border-bottom: solid 8px var(--base-saga-color);
}


/* ------------ 特殊車両について ------------ */

section.special-service .temperature .bg{
  padding: 30px 30px 20px;
  background: #f6f6f6;
}
.special-service .temperature .bg .img-wrap{
  background: #fff;
}
.special-service .temperature .bg .img-wrap img{
  display: block;
  margin: 0 auto;
  text-align: center;
  padding: 25px 0;
}
.special-service .temperature .disc-red{
  padding: 30px 20px 0;
  font-weight: normal;
  font-size: 1.7rem;
}
.special-service .temperature .disc-red li{
  margin-bottom: 8px;
}
section.special-other .title-style01{
  margin-top: 10px;
  margin-bottom: 5px;
}
.special-other a.simple-yazi-btn{
  line-height: 2;
  margin: 10px 20px 10px 0;
}
.special-other .linenap{
  margin-bottom: 30px;
}

/* ------------ ご利用方法とご注意 ------------ */

section.follow-list h3{
  font-size: 2rem;
  letter-spacing: 1px;
}
section.follow-list h3:first-letter{
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 3.2rem;
  font-style: italic;
  color: var(--base-saga-color);
  display: inline-block;
  padding-right: 10px;
}
.follow-list h3 span{
  font-size: 2.2rem;
  color: var(--base-saga-color);
}
.follow-list ol,.follow-list ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  padding: 0;
}
.follow-list ol > li{
  width: 100%;
  padding: 30px;
  margin-bottom: 20px;
  text-align: center;
  border: 7px solid #ffeaea;
}
.follow-list ol li.half{
  width: 49%;
  text-align: left;
}
.follow-list ol li.half p{
  margin-top: 10px;
  line-height: 1.5;
}
.follow-list ol li.half a{
  color: var(--base-link-color);
}
.follow-list ol li ul{
  width: 60%;
  margin: 15px auto 0;
}
.follow-list ol li ul li{
  width: 48%;
}
.follow-list ol li ul li a{
  width: 100%;
}

section.guide-attention section{
  padding: 80px 0 !important;
  margin: 15px 0;
  border-top: 1px dotted #d81317;
}
.guide-attention strong,
.attention-strong{
  width: 100%;
  margin-bottom: 20px;
  padding: 15px;
  display: block;
  border: dotted 1px #d81317;
  color: #d81317;
  text-align: center;
  font-weight: normal;
}
.attention-strong{
  font-size: 1.4rem;
  margin: 40px 0;
}
.guide-attention ol{
  list-style: none;
  padding: 10px 0;
}
.guide-attention ol li{
  padding-bottom: 5px;
}
.guide-attention ul li li::before{
  content: none;
}
.guide-attention > ul > li{
  padding: 0 0 20px;
  line-height: 1.6;
}
.guide-attention .attention-come{
  display: block;
}
.guide-attention #document a{
  display: inline-block;
  color: var(--base-link-color);
}
.guide-attention #document ul{
  margin-top: 15px;
  padding: 15px 25px;
  list-style: circle;
  background: #f4f4f4;
  font-size: 1.5rem;
}
.guide-attention #document ul li{
  margin: 0 15px;
}
.guide-attention #document ul li::marker{
  color: gray;
}
.guide-attention .title-simple {
  padding-bottom: 50px;
}

.guide-attention .exception ul{
  padding: 25px 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #fff5f5;
  border: 3px solid #d81317;
}
.guide-attention .exception ul li{
  width: 48%;
  margin-bottom: 15px;
}

/* ------------ 厨房ダクト用グリスフィルターリース ------------ */

.duct-catch{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.duct-catch .img-wrap{
  width: 30%;
}
.duct-catch .txt-wrap{
  width: 70%;
  padding: 0 0 0 40px;
}
.duct-catch .txt-wrap p{
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 1.7rem;
}

section.duct-detail{
  padding: 40px 0 0;
}
.duct-detail h2{
  margin-bottom: 20px;
  padding: 20px;
  text-align: left;
  background: #e54b4d;
  color: #fff;
  font-size: 2.5rem;
  letter-spacing: 1px;
  border-radius: 5px;
}
#detail-open{
  position: relative;
}
#detail-open::after{
  content: "\03e";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
#detail-open.open::after{
  content: "\02228";
}
.duct-box{
  display: none;
}
.duct-box{
  width: 90%;
  margin: 0 auto;
}
.duct-box ul.imgwrap{
  max-width: 600px;
  width: 100%;
  margin: 40px auto 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.duct-box ul.imgwrap li{
  width: 40%;
  text-align: center;
  list-style: none;
}
.duct-box ul.imgwrap li img{
  display: inline-block;
  padding-top: 10px;
}
.duct-box h3 {
  padding-bottom: 20px;
  font-size: 2.45rem;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--base-saga-color);
}
.duct-box .feature ol{
  margin-top: 30px;
  padding-inline-start: 30px;
}
.duct-box .feature ol li{
  letter-spacing: 1px;
  margin-bottom: 20px;
}
.duct-box .feature ol li::marker{
  color: var(--base-saga-color);
  font-weight: bold;
  font-size: 1.7rem;
}
.duct-box .title-style01{
  margin-top: 40px;
  margin-bottom: 20px;
  font-size: 1.75rem;
}
.duct-box .chara .title-style01{
  margin-top: 10px;
}
.duct-box .chara ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.duct-box .chara ul li{
  width: 48%;
}
.duct-box .chara ul li a{
  display: block;
  cursor: pointer;
}
.duct-box table{
  max-width: 760px;
  width: 100%;
  border-spacing: 0;
  border-right: 1px solid #5d5d5d;
  border-bottom: 1px solid #5d5d5d;
}
.duct-box table th{
  background: #f4f4f4;
  line-height: 1.1;
  border-left: 1px solid #5d5d5d;
  border-top: 1px solid #5d5d5d;
  padding: 13px 5px;
  text-align: center;
}
.duct-box table th span{
  font-size: 1.2rem;
}
.duct-box table td{
  border-left: 1px solid #5d5d5d;
  border-top: 1px solid #5d5d5d;
  padding: 8px 5px;
  text-align: center;
}
.duct-box .spec ul{
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.duct-box .spec ul li{
  width: 32%;
  padding: 0 0 15px;
  background: #f2f2f2;
}
.duct-box .spec h5{
  margin: 10px;
  font-size: 1.5rem;
  text-align: center;
}
.duct-box .spec ul li dl{
  width: 90%;
  margin: 0 auto;
  padding: 8px 10px;
  background: #fff;
}
.duct-box .spec ul li dl div{
  margin-bottom: 5px;
}
.duct-box .spec ul li dl dt::after{
  content: "：";
}
.duct-box .spec ul li dl dt:empty::after{
  content: none;
}
.duct-box .spec ul li dl dt,
.duct-box .spec ul li dl dd{
  display: inline;
}

section.duct-qa{
  margin: 40px auto 0;
  padding: 40px 45px;
  border: 1px solid var(--base-saga-color);
}
.duct-qa .title-style01{
  margin-bottom: 15px;
}
.duct-qa dl{
  margin-top: 30px;
}
.duct-qa dl dt{
  margin-bottom: 10px;
  padding: 10px 25px;
  background: #efefef;
}
.duct-qa dl dt::before{
  content: "Q.";
  color: #29821c;
  font-size: 1.7rem;
  font-weight: bold;
}
.duct-qa dl dd{
  margin-bottom: 30px;
  text-indent: -20px;
  padding-left: 45px;
  line-height: 1.8;
}
.duct-qa dl dd::before{
  content: "A. ";
  color: #cb302b;
  font-size: 1.7rem;
  font-weight: bold;
}

.duct .follow-list ol > li{
  text-align: left;
}
.duct .follow-list p{
  margin-left: 35px;
}
.duct .point{
  margin-top: 40px;
  padding: 20px 30px 15px;
  background: #ffeaea;
  position: relative;
}
.duct .point h3{
  position: absolute;
  top: -26px;
  left: 25px;
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 3.2rem;
  font-style: italic;
  color: var(--base-saga-color);
  text-shadow:1px 1px 0 #ffeaea, -1px -1px 0 #ffeaea,
              -1px 1px 0 #ffeaea, 1px -1px 0 #ffeaea,
              0px 1px 0 #ffeaea,  0-1px 0 #ffeaea,
              -1px 0 0 #ffeaea, 1px 0 0 #ffeaea;
}
.duct section.follow-list h3:first-letter{
  padding-right: 0 !important;
}
.duct .follow-list ul{
  display: block;
}
.duct .follow-list ul li{
  width: 100%;
  margin-bottom: 10px;
  text-indent: -11px;
  padding-left: 24px;
}
.duct .follow-list ul li::before{
  content: "\02747";
  color: var(--base-saga-color);
  display: inline-block;
  padding-right: 10px;
}

.duct-mainte ol{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
.duct-mainte ol li{
  width: 33.333%;
  margin-bottom: 40px;
  position: relative;
}
.duct-mainte ol li img{
  width: 82%;
}
.duct-mainte ol li::after{
  display: block;
  content: "\025b6";
  color: var(--base-saga-color);
  position: absolute;
  right: 18px;
  top: 32%;
}
.duct-mainte ol li:last-child::after{
  content: none;
}
.duct-mainte ol li p{
  margin-top: 10px;
  padding: 0 55px 0 35px;
  text-indent: -29px;
  line-height: 1.45;
}
.duct-mainte ol li p:first-letter{
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.6rem;
  font-style: italic;
  color: var(--base-saga-color);
  display: inline-block;
  padding-right: 10px;
}


/* ------------ 会社案内 ------------ */

section.company-office.max{
  padding: 90px 0;
  background: #f4f4f4;
}
.company-office > ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  list-style: none;
}
.company-office > ul > li{
  width: 48%;
  margin-bottom: 40px;
  background: #fff;
  display: flex;
  flex-direction: column;
  border: 3px solid #e8e8e8;
}
.company-office ul li .img-wrap{
  border-bottom: 3px solid #e8e8e8;
}
.company-office ul li .txt-wrap{
  padding: 20px 30px 10px;
}
.company-office ul li .txt-wrap h3{
  font-size: 2.3rem;
  margin-bottom: 8px;
  color: var(--base-saga-color);
}
.company-office ul li .txt-wrap p{
  line-height: 1.6;
}
.company-office ul li a{
  text-decoration: none;
}
.company-office ul li .txt-wrap .disc-red{
  margin: 15px 0 0;
}
.company-office .outline {
  margin-bottom: 15px;
}
.company-office .outline span{
  width: 100px;
  background: var(--base-saga-color);
  color: #fff;
  padding: 4px 5px;
  font-size: 1.35rem;
  font-weight: bold;
}
.company-office .outline p{
  margin-top: 5px;
}
.company-office .gmap-btn{
  max-width: 300px;
  width: 80%;
  margin: auto auto 25px;
  padding: 12px 10px;
  color: var(--base-saga-color);
  border: 1px solid var(--base-saga-color);
  border-radius: 5px;
  text-align: center;
}
.company-office .gmap-btn:hover{
  background-color: var(--base-saga-color);
  color: #fff;
  transition: 0.2s;
}
.company-office .gmap-btn::after{
  content: "\03e";
  display: inline-block;
  padding: 0 0 0 20px;
}

section.company-history{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.company-history h2{
  width: 12%;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--base-saga-color);
}
.company-history dl.history{
  width: 85%;
}

/* ------------ 古市義人の忘備録 ------------ */

.memo-history dl dt{
  padding-bottom: 8px;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--base-saga-color);
}
.memo-history dl dt span{
  font-size: 2.7rem;
  display: inline-block;
  padding-right: 5px;
}
.memo section{
  padding: 80px 0 30px !important;
}
.memo dl dd{
  margin-bottom: 50px;
  line-height: 1.7;
}

.memo-trouble dl dd,
.memo-crisis dl dd{
  white-space: pre-line;
}
.memo-trouble .title-style01,
.memo-crisis .title-style01{
  margin-bottom: 15px;
}
.pre-line{
  white-space: pre-line;
}

/* ------------ 社訓 ------------ */

.philosophy-main strong{
  margin: 40px 0;
  padding: 30px 10px;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  border: 2px solid var(--base-saga-color);
  color: var(--base-saga-color);
  display: block;
}
.philosophy-main ul li p:nth-child(2){
  margin: 0;
  padding: 4px 0 5px 26px;
  font-size: 1.5rem;
  text-indent: -22px;
  color: var(--base-saga-color);
}
.philosophy-main .bg{
  background: #fff0f0;
  padding: 40px 20px;
  text-align: center;
}
.philosophy-main .bg h3{
  margin-bottom: 20px;
  color: var(--base-saga-color);
  font-weight: bold;
  font-size: 2.2rem;
  background: #fff0f0;
  text-align: center;
}
section.philosophy-aim,
section.philosophy-think {
  padding: 80px 0 !important;
}
.philosophy-think .record{
  text-align: right;
  margin: 20px 10px 0;
  font-weight: bold;
}

/* ------------ レンタカー協会での活動 ------------ */

section.act-topics{
  background: linear-gradient(#f4f4f4, #fff);
  padding: 80px 20px !important;
}
.act-topics ul{
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
}
.act-topics ul li{
  width: 48%;
  margin-bottom: 30px;
  padding: 0;
  border: 5px solid #e8e8e8;
}
.act-topics ul li .txt-wrap{
  padding: 20px;
}
.act-topics ul li img{
  width: 100%;
  border-bottom: 5px solid #e8e8e8;
}
.act-topics ul li .date{
  margin-top: 15px;
  font-weight: bold;
  color: var(--base-saga-color);
  text-align: right;
}

.act-history .wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.act-history .wrap .img-wrap{
  width: 52%;
}
.act-history .wrap dl{
  width: 48%;
  padding-right: 20px;
}

/* ------------ 採用情報 ------------ */

section.recruit-catch{
  width: 100%;
  position: relative;
}
.recruit-catch .img-wrap{
  width: 65%;
}
.recruit-catch .txt-wrap{
  width: 65%;
  padding: 65px 40px;
  position: absolute;
  bottom: -3%;
  left: 34%;
  background: rgba(255,255,255,0.8);
}
.recruit-catch .txt-wrap h2{
  margin-bottom: 8px;
  color: var(--base-saga-color);
  font-size: 2.5rem;
}
.recruit-catch .txt-wrap p{
  line-height: 2;
  padding-left: 10px;
}

section.recruit-movie h2{
  max-width: 370px;
  width: 100%;
  margin: 25px auto 40px;
  padding-bottom: 5px;
  font-size: 2.6rem;
  text-align: center;
  border-bottom: 5px solid var(--base-saga-color);
  display: block;
  letter-spacing: 1px;
}
.recruit-movie ul{
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.recruit-movie ul li{
  width: 48%;
}
.recruit-movie .movie-wrap {
  position: relative;
  width: 100%;
  padding: 56.3% 0 0 0;
}
.recruit-movie .movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.recruit-movie ul li a{
  margin-top: 6px;
  display: block;
  text-align: center;
  color: var(--base-link-color);
}
.recruit-movie ul ul,
.recruit-movie ul ul li{
  width: 100%;
}

.recruit-description dl{
  border: 1px solid #b0b0b0;
  border-bottom: 0;
  display: flex;
  flex-wrap: wrap;
}
.recruit-description dl dt{
  width: 20%;
  padding: 20px;
  background: #e9e9e9;
  color: #424242;
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
  border-bottom: 1px solid #b0b0b0;
}
.recruit-description dl dd{
  width: 80%;
  padding: 20px;
  border-left: 1px solid #b0b0b0;
  border-bottom: 1px solid #b0b0b0;
  line-height: 1.7;
}
.recruit-description dl .last{
  border-bottom: 0;
}
.recruit-description dl dd h3{
  margin-bottom: 8px;
  color: #f50000;
}
.recruit-description dl dd h4{
  color: var(--base-saga-color);
  list-style: disc;
  margin-top: 5px;
}

.recruit-description dl dd div p{
  padding: 4px 0 0 15px;
  line-height: 1.55;
}
.recruit-description dl dd div.box ul{
  list-style: none;
  padding: 0;
  margin: 1px 0 5px 15px;
  line-height: 1.6;
}
.recruit-description dl dd div.box h4 + ul{
  margin: 10px 0 5px 0;
}
.recruit-description h2 + .indent{
  margin-bottom: 15px;
}

.recruit-description dl .cs-selectbox select{
  width: 200px;
}
.recruit-description dl .cs-selectbox p{
  padding: 8px 0 0;
}

section.recruit-inquiry{
  background-color: #fff5f5;
  padding: 45px 50px;
  margin-top: 40px;
}
.recruit-inquiry > p{
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.recruit-inquiry > span{
  font-size: 1.5rem;
  display: block;
  color: #f50000;
}
.recruit-inquiry ul{
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}
.recruit-inquiry ul li {
  margin-bottom: 20px;
}
.recruit-inquiry ul li:last-child {
    margin-bottom: 0;
}
.recruit-inquiry ul li h3{
  font-size: 1.7rem;
  margin-bottom: 5px;
}
.recruit-inquiry ul li h3::before {
    content: "\025cf";
    color: var(--base-saga-color);
    vertical-align: middle;
    font-size: 0.9rem;
    display: inline-block;
    padding-right: 10px;
}
.recruit-inquiry ul li h3 + p{
  padding-left: 18px;
}

/* ------------ 採用フォーム ------------ */

.recruit-description dl.form dt {
  text-align: left;
}
.recruit-description dl.form{
  border-bottom: 0;
}
.recruit-description dl.form input[type="text"]{
  width: 75%;
}
.recruit-description dl.form a{
    color: var(--base-link-color);
}
.recruit.form section{
  padding: 30px 0 0;
}
.recruit-description dl.form dt span{
  color: #d81317;
  display: inline-block;
  padding-left: 5px;
}



/* ------------ お問い合わせ  ------------ */

.inquiry section{
  padding: 30px 0 0;
}

.inq-care-mssg {
  width: 100%;
  margin: 0 auto 35px;
  padding: 20px;
  background: #fff4f4;
}

/* =============== by hirai
dl.inq-form {
  margin: 20px auto;
  display: flex;
  flex-wrap: wrap;
}
dl.inq-form dt{
  width: 30%;
  margin-bottom: 10px;
  padding: 16px 20px;
  background: #e9e9e9;
}
dl.inq-form dt span,
.recruit-description dl.form dt span{
  color: #d81317;
  display: inline-block;
  padding-left: 5px;
}
dl.inq-form dd {
  width: 70%;
  padding: 16px 20px;
  margin-bottom: 10px;
  display: block;
}
.confirm  dl.inq-form dd {
  padding: 6px 15px 10px;
}
.confirm dl.inq-form dd  {
  padding: 10px;
}

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


/* --- new by nozawa --- */
dl.inq-form {
  width: 80%;
  margin: 20px auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 8px;
}
dl.inq-form dt {
  padding: 0 16px 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: #e9e9e9;
}
dl.inq-form dd {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 6px;
}
.confirm dl.inq-form dt,
.confirm dl.inq-form dd  {
  min-height: 54px;
}
dl.inq-form dt span {
  color: #d81317;
  display: inline-block;
  padding-left: 5px;
}

dl.inq-form dd input {
  width: 100%;
  height: 40px;
}
.inq-btn-warp{
  width: 55%;
  display: flex;
  justify-content: center;
  justify-content: space-between;
  margin: 30px auto 0;
}
.inq-send-btn {
  width: 48%;
  display: block;
  padding: 15px;
  color: #fff;
  font-weight: bold;
  background-color: red;
  border: none;
  text-align: center;
  border-radius: 0.4em;
}
input[type="submit"].inq-back-btn {
  width: 48%;
  display: block;
  padding: 15px;
  color: #fff;
  font-weight: bold;
  background-color: #717171;
  border: none;
  text-align: center;
  border-radius: 0.4em;
}






/* ------------ サイトマップ  ------------ */

.sitemap ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.sitemap ul li a{
  text-decoration: none;
  cursor: pointer;
}
.sitemap ul li a:hover{
  text-decoration: underline;
}
.sitemap-main{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sitemap-main > li{
  width: 33%;
  margin-bottom: 50px;
}
.sitemap-main::after{
  display: block;
  content: "";
  width: 33%;
}
.sitemap-main > li h2 a{
  margin-bottom: 8px;
  text-decoration: none;
  font-size: 2rem;
  color: var(--base-saga-color);
  display: inline-block;
}
.sitemap-main > li ul li{
  margin-top: 5px;
  padding-left: 15px;
  text-indent: -15px;
}
.sitemap-main > li ul li::before{
  content: "・";
}

.sitemap ul.sitemap-sub{
  border-top: 1px solid var(--base-saga-color);
  padding-top: 30px;
  margin-top: 10px;
}
.sitemap-sub li h2 a{
  margin-bottom: 20px;
  text-decoration: none;
  font-size: 1.9rem;
  display: inline-block;
  font-weight: normal;
}

/* ------------- レンタカー予約 STEP 2 車紹介写真 モーダル ------------- */

#modal-overlay-cardtl {
  display: none;
  position: fixed;
  z-index: 300;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  text-align: center;
  margin: 0 auto;
  background-color: rgba(0, 0, 0, 0.5);
}

.cardtl-box {
  position: fixed;
  top: 110px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 860px;
  height: auto;
  max-height: 75%;
  z-index: 12;
  text-align: left;
  background: #fff;
  text-align: center;
  margin: 0 auto;
  overflow-y: scroll;
  border-radius: 10px;
}

.cardtl-box .btn-wrap2{
  /* width: 100px;
  position: absolute;
  right: 10px;
  top: 50px;
  z-index: 15; */
  display: none;
}
.btn-wrap2 {
  width: 100%;
  text-align: left;
}

#car-data {
  padding: 20px;
}
#car-data h1 {
  margin: 0 auto;
  padding: 0 0 15px 20px;
  text-align: left;
  font-size: 3rem;
}

#car-data .photo-list {
  width: 100%;
  margin: 0 auto;
}
#car-data .photo-list figure {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
#car-data .photo-list figure img {
  margin: 0 auto;
}


#car-data .photo-list ul {
  width: 86%;
  margin: 10px auto !important;
  display: flex;
  list-style: none;
  padding: 0;
}
#car-data .photo-list ul li {
  display: block;
  width: 25%;
  margin: 6px;
}
#car-data .photo-list ul li img {
  width: 100%;
  background-color: #eee;
}

li.current {
  border: solid 1px red;
}

.car-sub-img img {
  cursor: pointer;
}
.car-sub-img img:hover {
  opacity: 0.5;
}


.modal-btn2 {
  width: auto;
  height: auto;
  margin: 0 4px 10px 0;
  padding: 6px 10px;
  font-size: 1.4rem;
  border: 1px solid #666;
  border-radius: 0.4em;
  background: #fff;
  color: #666;
  cursor: pointer;
  position: absolute;
  top: -40px;
  right: -4px;
}
.modal-btn2:hover {
  background: #ccc;
  color: #333;
}


/* --------------------------------------------

 スマホ

-------------------------------------------- */

@media screen and (max-width: 768px) {

  .sp{ display: block !important; }
  .pc{ display: none !important; }

  body {
    font-size: 1.5rem;
    font-family: sans-serif;
  }
  select{
    padding: 5px 8px;
  }
  section:not(.max),
  .wrap1100{
    max-width: 100%;
    width: 100%;
    padding: 25px 20px 0;
  }
  section.max{
    max-width: 100%;
    width: 100%;
    margin-top: 30px;
    padding: 20px;
  }

/*------- タイトル ------*/

  /* h1 下層共通 */
  .h1-title{
    padding: 30px 0;
  }
  .h1-title h1{
    font-size: 2.55rem;
  }
  .h1-title h1 span{
    display: none;
  }
  .reserve .h1-title h1 {
    font-size: 2.2rem;
    padding: 0 10px;
    letter-spacing: -0.01em;
  }

  /* 赤い文字 */
  .title-simple {
    padding-bottom: 35px;
    font-size: 2.2rem;
  }
  .title-simple.moderate{
    padding-bottom: 18px;
    text-align: left;
    font-size: 2rem;
  }

  /* 左に赤丸 */
  .title-style01 {
    margin-bottom: 20px;
    padding-left: 19px;
    font-size: 1.8rem;
    text-indent: -9px;
    letter-spacing: 1px;
  }

  /* 左に赤棒 */
  .title-style02 {
    margin: 0 0 15px 0;
    padding: 2px 0 2px 15px;
    font-size: 2.1rem;
    border-left: 7px solid var(--base-saga-color);
  }
  .title-style02 span {
    font-size: 1.5rem;
    letter-spacing: 0;
  }

  /*------- ぱんくず ------*/

  #bread-crumb ul{
    font-size: 1.4rem;
  }
  #bread-crumb ul li{
    padding: 0 5px 0 0;
  }
  #bread-crumb ul li::after{
    padding: 0 0 0 10px;
  }
  #subnavi{
    display: none;
  }

  /*------- リスト ------*/

  .list-style01 dt {
    max-width: 100%;
    width: 100%;
    padding: 20px 0 5px;
    border-bottom: 0;
    font-weight: bold;
    font-size: 1.58rem;
  }
  .list-style01 dd {
    width: 100%;
    padding: 0 0 10px 16px;
    border-bottom: 1px solid #e6e6e6;
    line-height: 1.6;
  }
  .list-style01 dt span {
    display: inline-block;
    padding: 5px 0 0 10px;
    font-size: 1.4rem;
  }

  /* 料金体系など4つのボックスが並ぶリスト */
  .list-style02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
  }
  .list-style02 div{
    width: 49%;
    margin-top: 10px;
    padding: 0 0 10px;
    font-size: 1.4rem;
  }
  .list-style02 div dt{
    padding: 7px 7px 2px;
  }
  .list-style02 div dd {
    padding: 7px;
  }

  /* 予約キャンセル表 マイクロバス */
  .bl-cancel-list {
    display: grid;
    margin: 0 auto;
    grid-template-columns: 1fr;
    grid-template-rows: 30px 30px 30px 50px;
    gap: 2px;
    background: #e7e7e7;
  }

  /* 沿革につかう共通リスト */

  .history div {
    padding: 0 0 35px 35px;
  }
  .history div dt {
    font-size: 1.8rem;
  }
  .history div dd {
    line-height: 1.6;
  }

  /* リストのdiscが赤丸（大） */

  .disc-red{
    margin: 0;
  }

    /* ------------ トップページ  ------------ */


  /* 重要なお知らせブロック */

  .important-mssg {
    min-width: 100%;
    margin: 66px auto 0;
  }
  .important-mssg .contents {
    padding: 18px 20px;
  }
  .important-mssg .contents h2 {
    font-size: 1.55rem;
  }
  .important-mssg .contents ul {
    margin: 5px 0 0;
  }


  /* 
   * トップページ以下、 主要ブロック定義
   * 
   * 営業所、日付、時間 入力フォーム
   + --------------------------------------------- */

  main {
    width: 100%;
    margin-top: 66px;
  }
  .important-mssg + main { /* 重要なお知らせが出ている場合 */
    margin: 40px auto;
  }
  .top-mv{
    width: 100%;
    height: auto;
    padding-bottom: 0;
    background: none;
  }
  .top .form-wrap{
    max-width: var(--main-min-width);
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    background: #f0f0f0;
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0, 0);
  }
  .top .form-wrap h1,
  form.fst-form{
    margin: 0 auto;
  }
  form.fst-form {
    border: 3px solid var(--base-saga-color);
  }

  div.up-box .box{
    margin-bottom: 8px;
  }
  div.up-box label:first-child{
    margin: 0 0 3px;
  }
  div.up-box label {
    width: 100% !important;
    margin: 8px 0 0;
    display: block;
  }
  .inp-tit, .shop-tit{
    width: 100%;
  }
  div.up-box input{
    width: 67%;
    font-size: 16px;
  }
  div.up-box select{
    width: 30%;
    font-size: 16px;
  }
  #dpt-shopid,#rtn-shopid{
    width: 100%;
  }

  div.radio-box label:nth-child(1),
  div.radio-box label:nth-child(4),
  div.radio-box label:nth-child(2),
  div.radio-box label:nth-child(5),
  div.radio-box label:nth-child(3),
  div.radio-box label:nth-child(6){
    width: 50%;
  }

  /* 
   * トップ トピックス（お知らせ）
   * 
   * ----------------------------------- */
  section.top-info{

  }
  .info-box {
    width: 100%;
    height: auto;
  }

  .info-box dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-items: center;
  }
  .info-box dl dt {
  width: 30%;
  padding: 2px;
  margin-right: 5%;
  font-size: 1.3rem;
  }
  .info-box dl dd {
    margin-top: 15px;
    font-size: 1.5rem;
  }
  .i-date{
    width: 65%;
    font-size: 1.5rem;
  }
  .i-tit {
    width: 90%;
    margin-top: 0 !important;
    padding: 8px 15px 8px 0;
  }
  .i-tit a{
    width: 100%;
    display: block;
  }
  .i-tit a:hover{
    color: #d51414;
    text-decoration: underline;
  }
  .info-box .btn{
    width: 10%;
    margin-top: 0;
    text-align: right;
  }
  .info-box .btn a{
    text-decoration: none;
    color: #d51414;
  }
  .topics-data {
    padding: 10px 5px;
  }
  .topics-data li:last-child{
    max-height: 200px;
  }
  /* モーダル内 */

  .topics-box h2 {
    font-size: 1.8rem;
  }

  /* トップ サービス
  ----------------------------------- */

  section.top-service {
    padding: 30px 20px 0 !important;
  }
  .top-service h2{
    margin-bottom: 20px;
    font-size: 2rem;
  }

  .top-service ul{
    padding: 5px 0 10px;
  }
  .top-service ul li{
    width: 48%;
  }
  .top-service ul::before{
    width: 48%;
  }
  .top-service ul li{
    margin-bottom: 20px;
  }
  .top-service ul li a h3{
    font-size: 1.4rem;
  }

  /* トップ 中古車
  ----------------------------------- */

  section.top-secondhand .wrap{
    display: block;
    align-items: center;
    background: #f9f9f9;
    border: 1px solid #e4e4e4;
  }
  .top-secondhand .img-wrap{
    width: 100%;
  }
  .top-secondhand .txt-wrap{
    width: 100%;
  }
  .top-secondhand .txt-wrap h3{
    margin-bottom: 5px;
  }
  .top-secondhand .txt-wrap p{
    font-size: 1.4rem;
    letter-spacing: 0;
  }


  /* 
   * レンタカー予約 トップ /reserve/
   * 
   *  及び、予約ページ共通設定
   * 
   * ----------------------------------- */

  .reserve-contents{
    margin: 0;
  }
  .reserve-step.step1 ul{
    display: block;
  }
  .reserve-step.step1 ul li{
    width: 100%;
    margin-bottom: 15px;
  }
  .reserve-step.step1 ul li:not(.select-type) label{
    width: 100%;
    margin-bottom: 5px;
    display: block;
  }
  .reserve-step.step1 #dpt-shopid,#rtn-shopid{
    width: 100%;
  }
  .reserve-1stbox input[name="dpt_date"],
  .reserve-1stbox input[name="rtn_date"]{
    width: 60%;
    font-size: 1.4rem;
    padding: 6px;
  }
  .reserve-1stbox select[name="dpt_time"],
  .reserve-1stbox select[name="rtn_time"] {
    width: auto;
    flex: 1;
  }
  .reserve-step.step1 ul li.select-office select{
    font-size: 1.6rem;
  }
  .reserve-step.step1 ul li.select-type{
    padding: 15px;
  }
  .reserve-step.step1 ul li.select-type fieldset{
    display: block;
    border: 0;
    padding: 10px 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .reserve-step.step1 ul li.select-type fieldset label{
    display: block;
    padding: 0 10px 10px 0;
  }

  /* 予約フォーム ボックス */

  section.reserve-attention{
    padding: 15px !important;
  }
  .submit-btn-wrap{
    display: block;
    width: 100%;
    margin: 40px auto 0 !important;
  }
  .submit-btn-wrap li{
    width: 100%;
    margin-bottom: 15px;
  }
  .reserve-attention h2,
  .reserve-attention h3{
    font-size: 1.8rem;
  }

  ul.bl-cancel-expl li {
    width: 100%;
  }
  .bl-cancel-expl table th, .bl-cancel-expl table td {
    font-size: 1.4rem;
  }

  /* ------------ レンタカー予約  車種を選択 STEP 2  ------------ */

  /* 進捗 表示BOX */
  .progress {
    display: none;
  }

  /* 日時入力内容 表示BOX */
  .rentdat-cfm {
    max-width: var(--main-min-width);
    width: 90%;
    margin: 10px auto 0;
  }
  .rentdat-cfm .wrap{
    width: 100%;
  }
  .rentdat-cfm p {
    width: 100%;
  }
  .rentdat-cfm dl div{
    width: 100%;
    padding-left: 10px;
  }
  .rentdat-cfm dl div.day{
    width: 100%;
    margin-bottom: 5px;
  }
  .rentdat-cfm dl div.day dd{
    padding-right: 35px;
  }
  .rentdat-cfm dl .day dd{
    display: block;
    width: 100%;
  }
  .rentdat-cfm dl dt,
  .rentdat-cfm dl dd {
    display: inline-block;
  }
  .rentdat-cfm dl div.day,
  .rentdat-cfm dl div.day + div.day{
    width: 100%;
  }

  section.reserve-step{
    padding: 0 20px;
  }
  section.reserve-step.step1{
    padding: 25px 20px 0;
  }

  /* 車クラス詳細表示 BOX */
  .cclass-box {
    margin-bottom: 35px;
    padding: 35px 15px 0;
  }
  .cclass-box.rent-stop {
    padding: 20px;
  }
  .cclass-box .title-wrap h4{
    font-size: 1.6rem;
    margin-bottom: 8px;
    padding: 6px 15px;
  }
    .cclass-box .title-wrap h3{
      width: 100%;
    }
  .cclass-box .title-wrap{
    margin-bottom: 15px;
  }
  .cclass-box p.car-rem {
    width: 100%;
    padding: 8px 0 0;
    line-height: 1.4;
  }
  .main-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .main-wrap .img-wrap{
    width: 100%;
  }
  .main-wrap .other-wrap{
    width: 100%;
  }
  img.main-img {
    margin: 0 0 10px 0;
  }

  .cclass-box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
  }
  .cclass-box ul li{
    width: 48.5%;
    margin-bottom: 10px;
  }
  .cclass-box ul li a {
    width: 100%;
    margin-right: 0;
    display: block;
    text-align: center;
    font-size: 1.35rem;
  }
  table.price-list {
    width: 100%;
    margin: 5px 0;
    border-collapse: collapse;
  }
  .main-wrap b {
    font-size: 1.4rem;
  }
  .pr-tit1-2 {
    border-right: solid 1px #cdcdcd;
  }
  .pr-b1 + .pr-b1{
    border-right: solid 1px #cdcdcd;
  }
  .cclass-box .btn-wrap{
    display: block;
  }
  .cclass-box button {
    width: 100%;
  }
  .cclass-box button.choice{
    width: 100%;
    padding: 13px 0;
  }
  .cclass-box button.choice + p{
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 4px;
  }

  /* 選択不可の場合の パーツ */
  .cclass-box .not-ready-mssg {
    width: 100%;
  }
  .cclass-box .not-ready-rem {
    width: 100%;
    margin-top: 10px;
    padding: 10px 15px 15px;
    font-size: 1.4rem;
    line-height: 1.4;
  }


  /* ------------ レンタカー予約 レンタカー予約 STEP 3  ------------ */

  .step3 ul.option-seat{
    display: block;
  }

  .step3 ul.option-seat li{
    width: 100%;
    margin-bottom: 30px;
  }
  .step3 ul.option-seat li:last-child{
    margin-bottom: 0;
  }

  .step3 .title-simple{
    padding: 40px 0 25px;
  }
  .step3 .top-line-circle{
    margin-top: 40px;
    padding-top: 10px;
  }
  .step3 .option-other li{
    margin-bottom: 5px;
  }
  .option-seat .price{
    width: 30%;
    min-width: 100px;
    text-align: right;
  }
  .option-seat label.option-name {
    width: 100%;
    margin: 0 auto;
    padding: 5px 0;
    display: block;
    font-weight: bold;
    text-align: center;
    border: solid 2px #999;
  }
  .option-seat label.option-inp {
    width: 50%;
    display: block;
    font-weight: bold;
    padding-left: 10px;
  }
  .option-other label.option-name {
    padding: 6px 10px;
    background: #fff;
    border: solid 2px #999;
  }
  .option-other label.option-inp {
    width: 50%;
    padding-left: 10px;
  }
  .option-seat div.p-line{
    max-width: 300px;
    margin: 0 auto;
  }
  label.option-inp input[type="text"] {
    min-width: 50px;
    width: 60%;
    height: auto;
    margin-right: 5%;
    padding: 0 4px;
  } 

  form.option-warp p.rem {
    padding: 10px 4px;
    line-height: 1.4;
  }
  form.option-warp p.rem2 {
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
  }
  form.option-warp .price{
    width: 50%;
  }
  .step3 .option-other li{
    align-items: inherit;
  }
  .step3 .option-other li .option-name{
      width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .step3 .option-other li .option-name span{
    display: flex;
    align-items: center;
    font-size: 1.3rem;
  }
  .step3 .option-other li .wrap{
    width: 100%;
    padding: 10px;
  }


  /* ------------ レンタカー予約 レンタカー予約 STEP 4  ------------ */

  .reserve-step.step4 .title-simple,
  .reserve-step .reserve-inq-info .title-simple,
  .reserve-inq .reserve-inq-info .title-simple{
    padding-top: 30px;
    padding-bottom: 10px;
  }
  .custinfo-warp dl.cust-info {
    margin: 20px auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 0;
  }
  .custinfo-warp dl.cust-info dt {
    display: flex;
  }
  .custinfo-warp dl.cust-info dd {
    margin-bottom: 10px;
  }
  .custinfo-warp dl.cust-info dd input[type="text"] {
    width: 100%;
    height: 32px;
    padding: 0 8px;
  }
  dl.cust-info span {
    margin: 2px 0 7px 5px;
    padding: 2px 5px 2px;
    line-height: 1;
  }

  /* 支払い方法 */
  fieldset.payway-box{
    margin: 20px auto;
    border: 0;
    padding: 0;
  }

  /* ご利用目的 */
  fieldset.purpose-box {
    margin: 20px auto 0;
    justify-content: space-between;
  }
  fieldset.purpose-box label {
    width: 48%;
    margin: 0 0 5px;
  }


  /* レンタカー予約 お問い合わせフォーム
  ----------------------------------- */

  .custinfo-warp dl.rent-info {
    margin: 20px auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 0;
  }
  .custinfo-warp dl.rent-info dt {
    display: flex;
  }
  .custinfo-warp dl.rent-info dd {
    margin-bottom: 10px;
  }
  .custinfo-warp dl.rent-info dd input[type="text"] {
    width: 100%;
    height: 32px;
    padding: 0 8px;
  }
  dl.cust-info span {
    margin: 2px 0 7px 5px;
    padding: 2px 5px 2px;
    line-height: 1;
  }


/* ------------ レンタカー予約 STEP 5 内容確認  ------------ */

  .title-simple {
    padding: 10px 0 10px !important;
  }

  section.confirm-warp {
    width: 100%;
    margin: 10px auto;
    padding: 0 20px;
  }
  dl.confirm-shop-date {
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 38px 38px;
    align-content: center;
    gap: 2px;
  }
  dl.confirm-shop-date dt {
    margin: 0;
    height: inherit;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0 0 0 6px;
  }
  dl.confirm-shop-date dd {
    margin: 0;
    height: inherit;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0 0 0 18px;
    background-color: #fff;
  }
  dl.confirm-shop-date dt.item-name-1 {
    grid-column: 1 / 3;
    grid-row: 1;
  }
    dl.confirm-shop-date dt.item-name-2 {
    grid-column: 1 / 3;
    grid-row: 3;
  }
  /* ======================= by hirai
  dl.confirm-shop-date dt,
  dl.confirm-shop-date dd,
  dl.confirm-data dt,
  dl.confirm-data dd,
  dl.confirm-data-etc dt,
  dl.confirm-data-etc dd {
    height: auto;
    line-height: 1.6;
    padding: 15px 10px 15px 15px !important;
    font-size: 1.4rem;
  }
  dl.confirm-shop-date dt span::before,
  dl.confirm-data dt span::before,
  dl.confirm-data-etc dt span::before {
    content: none;
  }
  dl.confirm-shop-date dt,
  dl.confirm-data dt,
  dl.confirm-data-etc dt {
    color: var(--base-saga-color);
    font-weight: bold;
  }
  ======================= */

  dl.confirm-data {
    margin: 0 auto 0;
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 2px;
  }
  dl.confirm-data dt {
    margin: 0;
    height: inherit;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0 0 0 6px;
  }
  dl.confirm-data dd {
    margin: 0;
    height: inherit;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 0 0 30px;
    background-color: #fff;
  }
  dl.confirm-data dt.item-name {
    grid-column: 1 / 3;
  }
  dl.confirm-data dd span {
    width: 40%;
    text-align: right;
    display: inline-block;
    font-weight: bold;
  }
  dl.confirm-data .pack-dt{
    height: 40px;
  }
  dl.confirm-data dd.pack{
    margin: 0;
    height: inherit;
    padding: 0 0 10px 30px;
    background-color: #fff;
  }
  dl.confirm-data dd.pack .red{
    font-size: 1.2rem;
    line-height: 1.4;
    text-indent: -16px;
  }

  dl.confirm-data-etc {
    margin: 0 auto 20px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows:  36px 60px 30px;
    align-content: center;
    gap: 2px;
  }
  dl.confirm-data-etc dt {
    margin: 0;
    height: inherit;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 0 6px;
  }
  dl.confirm-data-etc dd.etc {
    height: 100px;
    background-color: #fff;
    overflow-x: visible;
    overflow-y: scroll;
  }

  section.confirm-warp h4.title-simple{
    padding-bottom: 0;
    font-size: 2.2rem;
  }

  .step5 section.reserve-attention{
    width: 94% !important;
    margin-top: 30px;
  }
  .reserve-attention .wrap{
    margin-top: 15px;
    display: block
  }



  /* ------------ レンタカー予約 完了画面 ------------ */

  .reserve.thanks .confirm-warp{
    padding: 0 20px;
  }
  .reserve.thanks .title-simple{
    padding-bottom: 0;
  }
  .reserve.thanks p{
    text-align: left;
  }

  /* ------------ 車種と料金・サービス  ------------ */

  .service-top-wrap section{
    padding: 30px 20px !important;
  }
  .car-select ul li {
    width: 33.33%;
  }
  .car-select ul li a {
    padding: 15px 0;
    font-size: 1.24rem;
  }

  /* ------------ ご利用方法とご注意 ------------ */

  section.follow-list h3{
    font-size: 1.6rem;
    padding-left: 28px;
    text-indent: -28px;
  }
  section.follow-list h3:first-letter{
    font-size: 2.3rem;
    padding-right: 8px;
  }
  .follow-list h3 span{
    font-size: 1.8rem;
    color: var(--base-saga-color);
  }
  .follow-list ol,.follow-list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
  }
  .follow-list > ol > li{
    padding: 8px 15px 15px;
    margin-bottom: 12px;
    border: 5px solid #ffeaea;
  }
  .follow-list ol li.half {
    width: 100%;
  }
  .follow-list ol li.half p{
    margin-top: 10px;
    line-height: 1.5;
  }
  .follow-list ol li ul{
    width: 80%;
    margin: 15px auto 0;
  }
  .follow-list ol li ul li{
    width: 100%;
  }
  .follow-list ol li ul li a {
    margin: 0 0 10px;
  }

  section.guide-attention section{
    padding: 30px 0 !important;
    margin:  0;
  }
  .guide-attention strong,
  .attention-strong{
    width: 100%;
    margin-bottom: 20px;
    padding: 15px;
    display: block;
    border: dotted 1px #d81317;
    color: #d81317;
    text-align: center;
    font-weight: normal;
  }
  .attention-strong{
    font-size: 1.3rem;
    margin-top: 25px;
    text-align: left;
  }
  .guide-attention ol{
    list-style: none;
    padding: 10px 0;
  }
  .guide-attention ol li{
    padding-bottom: 0;
  }
  .guide-attention ul li li::before{
    content: none;
  }
  .guide-attention > ul > li{
    padding: 0 0 20px;
    line-height: 1.6;
  }
  .guide-attention #document ul{
    padding: 13px 23px;
    font-size: 1.4rem;
  }
  .guide-attention #document ul li{
    margin: 0 15px;
  }
  .guide-attention #document ul li::marker{
    color: gray;
  }
  .guide-attention .title-simple {
    padding-bottom: 25px;
  }

  .guide-attention .exception ul{
    padding: 15px 30px;
    display: block;
    background: #fff5f5;
    border: 2px solid #d81317;
    margin: 10px 0 5px;
  }
  .guide-attention .exception ul li{
    width: 100%;
    margin-bottom: 5px;
  }

  /* ------------ 厨房ダクト用グリスフィルターリース ------------ */

  .duct-catch{
    display: block;
  }
  .duct-catch .img-wrap{
    width: 100%;
  }
  .duct-catch .img-wrap img{
    margin: 0 auto;
  }
  .duct-catch .txt-wrap{
    width: 100%;
    padding: 25px 0 0;
  }
  .duct-detail h2 {
    font-size: 1.6rem;
    padding: 20px 50px 20px 20px;
  }
  .duct-box .chara ul{
    display: block;
  }
  .duct-box .chara ul li{
    width: 100%;
  }
  section.follow-list .point h3:first-letter{
    font-size: 3rem;
  }
  .duct .point {
    margin-top: 40px;
    padding: 12px 20px 10px;
  }
  section.duct-qa {
    width: 93% !important;
    max-width: 93% !important;
  }
  .duct-qa dl dt {
    padding: 10px 25px 10px 42px;
    text-indent: -27px;
  }
  .duct-qa dl dd {
    padding-left: 35px;
  }
  .duct section.follow-list{
    padding: 40px 20px;
  }
  .duct-box .spec ul{
    display: block;
  }
  .duct-box .spec ul li {
    width: 100%;
    padding: 5px 0 15px;
    margin-bottom: 15px;
  }

  .duct-mainte ol{
    display: block;
    margin: 30px 0;
    padding: 0;
  }
  .duct-mainte ol li{
    width: 100%;
    margin-bottom: 30px;
  }
  .duct-mainte ol li img{
    width: 100%;
  }
  .duct-mainte ol li::after {
    display: block;
    content: "\025bc";
    color: var(--base-saga-color);
    position: relative;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
  }

  /* ------------ 会社案内 ------------ */

  section.company-office.max{
    padding: 30px 20px;
  }
  .company-office > ul > li{
    width: 100%;
    margin-bottom: 30px;
  }
  .company-office ul li .txt-wrap{
    padding: 20px;
  }
  .company-office ul li .txt-wrap h3{
    font-size: 2rem;
    margin-bottom: 6px;
  }
  .company-office ul li .txt-wrap p{
    line-height: 1.6;
  }
  .company-office .gmap-btn{
    padding: 8px;
  }

  section.company-history{
    display: block;
  }
  .company-history h2{
    width: 100%;
    font-size: 2.6rem;
    text-align: center;
    margin-bottom: 30px;
  }
  .company-history dl.history{
    width: 100%;
  }

  /* ------------ 古市義人の忘備録 ------------ */

  .memo dl dt{
    padding-bottom: 5px;
    font-size: 1.8rem;
  }
  .memo dl dt span{
    font-size: 2rem;
  }
  .memo dl dd{
    margin-bottom: 30px;
  }
  .memo section{
    max-width: 90%;
    width: 100%;
    padding: 30px 0 10px !important;
  }
  .memo .memo-trouble,
  .memo .memo-crisis{
    padding: 45px 0 10px !important;
  }
  .memo-trouble .title-style01,
  .memo-crisis .title-style01 {
    margin-bottom: 5px;
  }
  .memo .memo-trouble .mt50,
  .memo .memo-crisis .mt50{
    margin-top: 30px !important;
  }


  /* ------------ 社訓 ------------ */

  .philosophy-main strong{
    margin: 20px 0;
    padding: 20px 10px;
    font-size: 1.8rem;
  }
  .philosophy-main ul li p:nth-child(2){
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .philosophy-main .bg{
    padding: 20px;
  }
  .philosophy-main .bg h3{
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  section.philosophy-aim,
  section.philosophy-think{
    width: 90%;
    margin: 0 auto;
    padding: 40px 0 !important;
  }

  /* ------------ レンタカー協会での活動 ------------ */

  section.act-topics{
    background: #f4f4f4;
    padding: 40px 20px !important;
  }
  .act-topics ul{
    max-width: 100%;
    width: 100%;
  }
  .act-topics ul li{
    width: 100%;
    margin-bottom: 25px;
    border: 3px solid #e8e8e8;
  }
  .act-topics ul li img{
    border-bottom: 3px solid #e8e8e8;
  }
  .act-history .wrap{
    display: block;
  }
  .act-history .wrap .img-wrap{
    width: 100%;
    padding: 0 0 20px;
  }
  .act-history .wrap dl{
    width: 100%;
  }

  /* ------------ 採用情報 ------------ */

  .recruit-catch .img-wrap{
    width: 100%;
  }
  .recruit-catch .txt-wrap{
    width: 100%;
    margin-top: 15px;
    padding: 0;
    position: relative;
    bottom: 0;
    left: 0;
  }
  .recruit-catch .txt-wrap h2{
    margin-bottom: 8px;
    color: var(--base-saga-color);
    font-size: 2rem;
  }
  .recruit-catch .txt-wrap p{
    line-height: 1.8;
    padding-left: 10px;
  }

  section.recruit-movie h2{
    max-width: 300px;
    margin: 25px auto 20px;
    font-size: 2.2rem;
  }
  .recruit-movie ul{
    display: block;
  }
  .recruit-movie ul li{
    width: 100%;
  }
  .recruit-movie > ul > li{
    margin-bottom: 15px;
  }
  .recruit-description dl{
    border: 1px solid #b0b0b0;
    display: block;
  }
  .recruit-description dl dt{
    width: 100%;
    padding: 8px 14px;
    border-bottom: 1px solid #b0b0b0;
    text-align: left;
    font-size: 1.6rem;
  }
  .recruit-description dl dd{
    width: 100%;
    padding: 15px;
    border-left: 0;
    line-height: 1.6;
  }
  .recruit-description dl dt.last{
    border-bottom: 1px solid #b0b0b0;
  }

  section.recruit-inquiry{
    width: 92%;
    margin: 30px auto;
    background-color: #fff5f5;
    padding: 20px 25px;
    margin-top: 30px;
  }
  .recruit-inquiry > p{
    font-size: 1.6rem;
  }
  .recruit-inquiry > span{
    font-size: 1.4rem;
  }
  .recruit-inquiry ul{
    margin: 20px 0 0;
  }
  .recruit-inquiry ul li {
    margin-bottom: 15px;
  }
  .recruit-inquiry ul li h3{
    font-size: 1.5rem;
    margin-bottom: 3px;
    text-indent: -9px;
    padding-left: 20px;
  }

  .recruit.form section{
    padding: 0 15px;
  }
  
  /* ------------ お問い合わせ  ------------ */

  .inquiry section{
    padding: 0 15px;
  }

  .inq-care-mssg {
    width: 100%;
    margin: 0 auto 15px;
    padding: 20px;
    font-size: 1.45rem;
  }

/*
  dl.inq-form {
    margin: 0 auto;
    display: block;
  }
  dl.inq-form dt{
    width: 100%;
    margin-bottom: 5px;
    padding: 10px 20px;
  }
  dl.inq-form dd {
    width: 100%;
    padding: 6px 0 10px;
    margin-bottom: 10px;
  }
*/
  dl.inq-form {
    margin: 0 auto;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  dl.inq-form dt{
    min-height: 28px;
  }
  dl.inq-form dd{
    padding-left: 20px;
  }


  .inq-btn-warp{
    width: 80%;
    display: block;
    margin: 30px auto 0;
  }
  .inq-send-btn {
    width: 100%;
  }
  input[type="submit"].inq-back-btn {
    width: 100%;
    margin-bottom: 10px;
  }

  /* ------------ サイトマップ  ------------ */

  .sitemap-main{
    display: block;
  }
  .sitemap-main > li{
    width: 100%;
    margin-bottom: 20px;
  }
  .sitemap-main::after{
    content: none;
  }
  .sitemap-main > li h2 a{
    font-size: 1.75rem;
  }

  .sitemap ul.sitemap-sub{
    border-top: 1px solid var(--base-saga-color);
    padding-top: 20px;
    margin-top: 10px;
  }
  .sitemap-sub li h2 a{
    margin-bottom: 10px;
    font-size: 1.6rem;
  }


/* ------------- レンタカー予約 STEP 2 車紹介写真 モーダル ------------- */

.cardtl-box {
  width: 90%;
}
#car-data {
  padding: 20px;
}
#car-data h1 {
  margin: 0 auto;
  padding: 0 0 13px 0;
  text-align: left;
  font-size: 1.9rem;
}
#car-data .photo-list ul {
  width: 100%;
}
li.current {
  border: solid 1px red;
}


}/* max-width:768px */

@media screen and (max-width: 380px) {

  div.radio-box label:nth-child(1),
  div.radio-box label:nth-child(4),
  div.radio-box label:nth-child(2),
  div.radio-box label:nth-child(5),
  div.radio-box label:nth-child(3),
  div.radio-box label:nth-child(6){
    width: 100%;
  }

}/* max-width:380px */

@media screen and (min-width: 1500px) {

  #gnavi ul li.on .low-wrap{
    top: 96px;
  }
  li.step-1 { width: 17%; }
  li.step-2 { width:20%; }
  li.step-3, li.step-4{ width: 21%; }
  li.step-5{ width: 21%; }

}
@media screen and (max-width: 1000px){

  .cclass-box button.choice {
    width: 100%;
  }
  .cclass-box p.car-rem {
    width: 100%;
    padding: 8px 0 0 0;
  }

}
