@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}
html, body {
  overflow-x: hidden;
}
html {
  margin: 0;
  padding: 0;
}
/* ===============================
   基本
================================ */
body {
  font-family: メイリオ, sans-serif;
  margin: 0 auto;
  padding: 0;
}
img {
  max-width: 100%;
  height: auto;
  mrgin:0;
  padding:0;
}
hr {
  border: none;
  margin:1em 0;
  height: 1px;
  background: linear-gradient(to right, transparent, #cbd1ff, transparent);
}
/* ===============================
   ヘッダー
================================ */
/* ===============================
   メイン
================================ */
.wrapper {
	font-size:12px;
	width:984px;
	margin:0 auto;
}
.right{
  text-align:right;
  margin-bottom:2em;
}
h1{
  text-align: center;
  font-weight: bold;
  font-size: 160%;
}
h2{
  vertical-align: middle;
  font-weight: bold;
  padding:0.25em 0.5em;
  margin:1em 0;
  background: #e0ffe0;
  font-size: 140%;
}
h2 img{
  margin-right:0.5em;
  width:72px;
}
h3{
  vertical-align: middle;
  margin:0.5em 0 0.5em -0.5em;
  font-size: 120%;
}
h5{
  font-weight:bold;
}

.fcr{
  color:#FF0033;
}
.fcrb{
  color:#cc0000;
}
.fcb{
  color:#0022ff;
}
.fcg{
  color:#009933;
}
.fb{
  font-weight:bold;
}
.ft_num{
  font-weight:bold;
  text-align: center;
  font-size:120%;
}
#textarea{
  background: #FFFFFF;
  border: #cbd1ff solid 1px;
  border-radius: 5px;
  margin: 1em 0;
  box-shadow: inset 0 0 4px rgba(180, 180, 255, 0.6);
}
#textbox{
  margin:2em 18em;
}
#textbox_menu{
  display: flex;
  align-items: center;
  gap: 0.5em;
  
  list-style: none;
  margin:2em 9em 4em 9em;
  padding: 10px 0;
}
#textbox_menu > div:nth-child(1),
#textbox_menu > div:nth-child(3) {
  width: 20%;
}
#textbox_menu > div:nth-child(2) {
  width: 60%;
}
#menu_box ul {
  display: flex;
  gap: 0.5em;
  list-style: none;
  margin: 0;
  padding: 0;
}

#menu_box li {
  flex: 1;               /* 均等幅 */
  text-align: center;
}

/* aとpの余白リセット（重要） */
#menu_box a {
  display: block;
  text-decoration: none;
}

#menu_box p {
  margin: 0;
}
#textbox_info{
  margin:2em 9em 4em 9em;
}
#textbox p,#textbox_info p{}
#textbox div{
  padding:0 1em 1em 1em;
}
#textbox ul,#textbox_info ul{
  list-style: none;
  padding:1em 0;
}
#textbox ul li,#textbox_info ul li{
  position: relative;
  padding-left: 1.2em;
  line-height:2em;
}
#textbox ul li::before,#textbox_info ul li::before {
  content: "●";
  position: absolute;
  left: 0;
  color: #333;
}
#textbox .lawtext,#textbox_info.lawtext{
  list-style: none;
  padding:0em 0 1em 0;
}
#textbox .lawtext li,#textbox_info.lawtext li{
  position: relative;
  padding-left: 1.2em;
  line-height:2em;
}
#textbox .lawtext li::before,#textbox_info .lawtext li::before {
  content: "●";
  position: absolute;
  left: 0;
  color: #333;
}
#textbox_info ol{
  position: relative;
  margin: 0;
  padding:0 0 0 1.25em;
}
#textbox_info ol li{
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding:0em 0 1em 1.25em;
}
#textbox_info ol li .number{
  position: absolute;
  left: 1em;
  margin: 0
}
.corp-name{
  font-size:120%;
  font-weight: bold;
}
.order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 120%;
}

/* 区切り線（画像の代替） */
.order-table tr {
  border-bottom: 1px solid #ccc;
}

/* 左の■ */
.order-table .icon {
  width: 30px;
  text-align: center;
}

/* 項目名 */
.order-table .label {
  height: 28px;
  vertical-align: middle;
}

/* ボタンセル */
.order-table .btn {
  text-align: center;
  width: 120px;
}

/* 説明テキスト */
.order-table .desc {
  color: #009999;
}

/* 電話行 */
.order-table .tel {
  text-align: left;
  padding-left: 10px;
}

/* 画像ボタン hover（imgover代替） */
.order-table a img {
  transition: opacity 0.2s;
}
.order-table a:hover img {
  opacity: 0.7;
}
.law_link{
  background:#ffffdd;
  text-align: center;
  margin: 2em 0 1em 0;
  padding:2em;
}
.order_link{
  width:60%;
  margin: 1em auto;
}
.order_link ul {
  border-top: 1px dashed #cbd1ff;
  border-bottom: 1px dashed #cbd1ff;
  padding: 10px 0;
  margin: 0;
}

.order_link li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  padding: 10px 0;
  border-bottom: 1px dashed #cbd1ff;
}
/* 最後の線は消す */
.order_link li:last-child {
  border-bottom: none;
}

/* 左（タイトル） */
.order_link li div:first-child {
  font-weight: bold;
}

/* 右（ボタン・内容） */
.order_link li div:last-child {
  text-align: right;
}
.order_link li {
  gap: 10px;
}

.order_link li div:first-child {
  width: 60%;
}

.order_link li div:last-child {
  width: 40%;
}
.img_left {
  float: right;
  margin: 0 1em 0.5em 0;
}
/* ===============================
   フッター
================================ */
/* ===============================
   ボタン
================================ */
/* ベースのボタンスタイル */
.order-btn {
  background: linear-gradient(180deg, #70edff 20%, #03c7f0 100%);
  border: 1px solid #0cbdf3; /* 薄い枠線 */
  border-radius: 6px; /* 角丸 */
  color: #0d4e80;
  text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
  font-size: 12px;
  padding: 4px 4px;
  cursor: pointer;
  font-family: Arial, sans-serif;
  font-weight:bold;
  text-align: center;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
/* ホバー時の効果 */
.order-btn:hover {
  background: linear-gradient(180deg, #f5feff 20%, #70edff 100%);
  border: 1px solid #70edff; /* 薄い枠線 */
  color: #ff8000; /* 文字色 */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
/* クリック時の効果 */
.order-btn:active {
  background: linear-gradient(180deg, #f5feff 20%, #70edff 100%);
  border: 1px solid #70edff; /* 薄い枠線 */
  color: #ff8000; /* 文字色 */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
/* フォーカス時のアクセシビリティ対応 */
.order-btn:focus {
  background: linear-gradient(180deg, #f5feff 20%, #70edff 100%);
  border: 1px solid #70edff; /* 薄い枠線 */
  color: #ff8000; /* 文字色 */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.other-btn {
  background: linear-gradient(180deg, #DC696B 20%, #f32929 100%);
  border: 1px solid #f32929; /* 薄い枠線 */
  border-radius: 6px; /* 角丸 */
  color: #fff;
  text-shadow:
    -1px -1px 0 #cc0000,
     1px -1px 0 #cc0000,
    -1px  1px 0 #cc0000,
     1px  1px 0 #cc0000;
  font-size: 12px;
  padding: 4px 4px;
  cursor: pointer;
  font-family: Arial, sans-serif;
  font-weight:bold;
  text-align: center;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
/* ホバー時の効果 */
.other-btn:hover {
  background: linear-gradient(180deg, #bfff9d 20%, #6bff23 100%);
  border: 1px solid #51f300; /* 薄い枠線 */
  color: #FFF; /* 文字色 */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
/* クリック時の効果 */
.other-btn:active {
  background: linear-gradient(180deg, #bfff9d 20%, #6bff23 100%);
  border: 1px solid #51f300; /* 薄い枠線 */
  color: #FFF; /* 文字色 */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
/* フォーカス時のアクセシビリティ対応 */
.other-btn:focus {
  background: linear-gradient(180deg, #bfff9d 20%, #6bff23 100%);
  border: 1px solid #51f300; /* 薄い枠線 */
  color: #FFF; /* 文字色 */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
/* ===============================
   スマホ（767px以下）
================================ */
@media screen and (max-width: 769px) {
  .wrapper {
    padding: 0;
    width:100%;
  }
  #textarea{
    margin:1em 0em;
  }
  #textbox,#textbox_info{
    margin:1em;
  }
  #textbox_menu{
    margin:2em 1em 4em 1em;
  }
}
@media screen and (max-width: 425px) {
  h1{
    font-size: 140%;
  }
  h2{
    font-size: 120%;
  }
  h2 img{
    margin-right:0.5em;
    width:42px;
  }
  .order_link{
    width:100%;
    margin: 1em auto;
  }
  .order_link li div:first-child {
    width: 50%;
  }

  .order_link li div:last-child {
    width: 50%;
  }
  #textbox_menu {
    flex-direction: column;
  }

  #textbox_menu > div {
    width: 100%;
  }

  /* liも縦並び */
  #menu_box ul {
    flex-direction: column;
  }

  #menu_box li {
    width: 100%;
  }

  /* liの間に余白 */
  #menu_box li + li {
    margin-top: 0.5em;
  }
}