@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: "Roboto";
  src: url("../fonts/Roboto-Medium.ttf") format("truetype");
  src: url("../fonts/Roboto-Regular.ttf") format("truetype");
}

body {
  font-family: YuGothic, "Yu Gothic", "游ゴシック", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 90%;
  font-weight: 500;
  line-height: 1.5;
  color: rgb(64, 62, 62);
  position: relative;
  text-align: left;
  width: 100%;
  background: rgb(255, 255, 255);
  color: rgb(21, 21, 21);
  z-index: 100;
  letter-spacing: 0;
  font-feature-settings: "palt";
  /*overflow-x: hidden;*/
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  width: auto;
  vertical-align: bottom;
}

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

基本設定

/////////////////////////////////////////////////////////////*/
a,
abbr,
acronym,
del,
em,
ins,
q,
span,
strong,
ruby,
code {
  text-decoration: none;
}

a img {
  padding: 0;
  margin: 0;
}

abbr,
acronym {
  border-style: none none dotted none;
  cursor: help;
}

del {
  /*font-family:italic;*/
  text-decoration: line-through;
}

em {
  font-style: normal;
  font-weight: bold;
}

strong {
  font-size: 1.8em;
  font-weight: 900;
}

rt {
  font-size: 0.7em;
}

ins {
  border-style: solid;
}

kbd {
  border-style: outset;
  border-width: 0.15em;
  padding: 0.1em;
  margin: 0 0.15em;
  background-color: #ccc;
  border-color: #ccc;
}

code {
  padding: 0 0.2em;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

blockquote {
  padding: 0.5em 1em;
  font-size: 0.8em;
  background: rgba(200, 200, 200, 0.2);
}

address {
  font-style: normal;
}

table,
th,
td {
  text-decoration: none;
  margin: 0;
  padding: 0;
  font-size: 1em;
}

th {
  font-style: italic;
  font-weight: bold;
}

ul {
  list-style-type: none;
}

ol {
  list-style-type: decimal;
  /*padding-left:2em;*/
}

li {
  /*list-style-position:inside;*/
  margin: 0;
  line-height: 1;
}

br {
  letter-spacing: 0;
}

br.clear {
  clear: both;
}

q::before {
  content: open-quote;
}

q::after {
  content: close-quote;
}

h1::before,
h1::after,
h2::before,
h2::after,
h3::before,
h3::after,
h4::before,
h4::after,
h5::before,
h5::after,
h6::before,
h6::after {
  /*margin:0.2em;*/
  margin: 0;
}

pre>code {
  display: block;
  border-style: dotted;
  overflow: scroll;
}

blockquote>p {
  margin: 0;
  padding: 0;
}

ol {
  list-style-type: decimal;
}

li::before,
dt::before {
  margin-right: 0.2em;
}

table {
  border-collapse: collapse;
}

hr {
  margin: 10px 0px;
}

th {
  font-style: normal !important;
}

label {
  cursor: pointer;
}

span.clear {
  display: none;
}

/*.clearfix {
clear:both;
}*/
.clearfix::after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

/* HTML5用 */
article,
aside,
dialog,
figure,
footer,
header,
section,
hgroup,
menu,
nav,
section {
  display: block;
  position: relative;
}

#container {
  width: 100%;
}

.pcOnly {
  display: block !important;
}

.spOnly {
  display: none !important;
}

@media (max-width: 500px) {
  .pcOnly {
    display: none !important;
  }

  .spOnly {
    display: block !important;
  }
}

/* iPhone用inputリセット */
input[type=submit],
input[type=button] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  box-sizing: border-box;
  cursor: pointer;
}

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;
}

input {
  border: none;
}

@media (max-width: 500px) {
  img {
    max-width: 100%;
    width: 100%;
    height: auto;
    width: auto;
    margin: 0;
    padding: 0;
    display: block;
  }
}

#container {
  width: 100%;
}

/* 以下設定 */
html,
body {
  height: 100%;
}

@media (max-width: 500px) {
  html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  li a {
    display: block;
  }

  div {
    background-size: 100% 100%;
  }

  /* 横px 縦px */
  /* 文字リサイズ解除 */
  body {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  table {
    table-layout: fixed;
  }
}

@media (max-width: 500px) {
  body {
    font-size: 85%;
    min-width: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

/* タブレット */
@media (min-width: 501px) and (max-width: 768px) {
  body {
    font-size: 100%;
  }
}

/* iPhone4,iPhone5,iPhone5s+Android */
@media screen and (min-width: 320px) and (max-width: 374px) {
  body {
    font-size: 80%;
  }
}

.wrapper {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

@media (max-width: 1000px) {

  /*//1000pxでレスポンシブ切り替え//*/
  .wrapper {
    width: 100%;
    padding: 1em 0;
  }
}

/* 回り込み解除 */
.wrapper::after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

.stop {
  /* animatiion */
  animation: none !important;
}

/* 初期値 透明度0 */
.animation {
  /* 透明 */
  -webkit-opacity: 0;
  opacity: 0;
}

/* Font Awesome */
i.fa,
i.fas,
i.far,
i.fab {
  margin-right: 0.2em;
}

#container p i.fa,
#container p i.fas,
#container p i.far,
#container p i.fab {
  margin-left: 0.2em;
}

/* テキスト選択時 */
::-moz-selection {
  color: rgb(255, 255, 255);
  background: rgba(3, 159, 227, 0.6);
  /* Safari */
}

::selection {
  color: rgb(255, 255, 255);
  background: rgba(3, 159, 227, 0.6);
  /* Safari */
}

::-moz-selection {
  color: rgb(255, 255, 255);
  background: rgba(3, 159, 227, 0.6);
  /* Firefox */
}

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

リンクカラー

/////////////////////////////////////////////////////////////*/
a:link {
  color: #fff;
  text-decoration: none;
}

a:visited {
  color: #fff;
  text-decoration: none;
}

a:hover {
  color: #fff;
  /*text-decoration:underline;*/
}

a:active {
  color: #fff;
  text-decoration: none;
}

a img {
  border: none;
}

/*リンクのある画像は枠線をつけるのがデフォルトなので */
a:link,
a:visited {
  border: none;
}

/* 以下a要素に関する枠の指定 */
a:focus,
a:hover {
  border: none;
}

a:active {
  border: none;
}

a {
  outline: none;
}

/* リンクの枠線 */
a {
  /* トランジション */
  transition: all 0.2s ease-in-out;
}

a.over {
  transition: 0.4s ease-in-out;
}

a.over:hover {
  /* 透明度 */
  -webkit-opacity: 0.8;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

@media (max-width: 500px) {
  a.over:hover {
    -webkit-opacity: 1;
    opacity: 1;
    filter: alpha(opacity=100);
  }
}

a.disable:hover {
  text-decoration: none;
  cursor: default;
}

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

コンテナ

/////////////////////////////////////////////////////////////*/
#page {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 100;
  top: 0;
  left: 0;
  display: block;
  /* animatiion */
  animation: fadeIn 0.9s ease alternate;
}

@media (max-width: 1000px) {
  .page_wrap {
    overflow-x: hidden;
  }
}

#container {
  padding: 0;
  text-align: left;
  display: block;
  position: relative;
  z-index: 0;
}

@media (max-width: 500px) {
  #container {
    width: 100%;
    max-width: 100%;
  }
}

body.entry #container,
body.sitemap #container {
  margin-top: 1em;
}

/* 回り込み解除 */
#container #wrapper::after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

/* 回り込み解除 */
#container::after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

#container .wrap {
  padding: 0;
}

#container #main {
  text-align: left;
}

@media (max-width: 768px) {
  #container #main {
    font-size: 0.9em;
    padding-top: inherit;
  }
}

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

メインカラムコンテナ設定・その他

/////////////////////////////////////////////////////////////*/
#container .section .wrapper {
  padding: 0;
}

@media (max-width: 500px) {
  #container .section .wrapper {
    /*padding:inherit;*/
  }
}

#container section.last {
  padding-bottom: 30px;
}

#container .section .wrapper .inner {
  padding: 15px 30px;
}

@media (max-width: 500px) {
  #container .section .wrapper .inner {
    padding: 5px 5px;
  }
}

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

カラム設定

/////////////////////////////////////////////////////////////*/
#container .MainColumn {
  width: 75%;
  float: left;
  /*padding-bottom: 1em;*/
  font-size: 1.1em;
}

@media (max-width: 500px) {
  #container .MainColumn {
    width: 100%;
    float: inherit;
    padding: 0;
  }
}

body.SingleColumn #container .MainColumn {
  width: 100%;
  float: inherit;
}

body.policy #container .MainColumn {
  width: 100%;
  float: inherit;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

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

本文

/////////////////////////////////////////////////////////////*/
#container p {
  font-size: 1em;
  line-height: 1.6;
  margin: 1.5em 0;
  /* 両端揃え */
  text-align: justify;
  letter-spacing: 1px;
}

#container section.other_new p {
  font-size: 16px;
  line-height: 1.6;
  margin: 1.5em 0;
  /* 両端揃え */
  text-align: justify;
  letter-spacing: 1px;
}

@media (max-width: 500px) {
  #container p {
    font-size: 1em;
  }
}

#container p.Center {
  text-align: center;
}

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

ロゴ横並び見出し

/////////////////////////////////////////////////////////////*/
.center {
  text-align: center;
}

.caption {
  font-size: 2.4em;
  font-weight: bold;
  margin-bottom: 1em;
}

.caption p {
  letter-spacing: 2px;
  margin: 0 !important;
  text-align: center !important;
}

@media (max-width: 500px) {
  .caption {
    white-space: nowrap;
    font-size: 1.6em;
  }

  .caption p {
    font-size: 1.3em !important;
  }
}

.caption .next {
  display: inline-flex;
  align-items: center;
  font-size: 0.85em;
}

.caption .next:before {
  content: url(../img/logo.png);
  padding-right: 10px;
}

@media (max-width: 500px) {
  .caption .next:before {
    content: "";
    display: inline-block;
    width: 170px;
    height: 30px;
    background: url(../img/logoL.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
  }
}

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

#header

/////////////////////////////////////////////////////////////*/
body.index #header {
  position: relative;
}

#header {
  position: relative;
}

@media (max-width: 768px) {
  body.index #header {
    min-height: inherit;
    background-position: 0 0;
    padding-top: 0px;
  }

  #header {
    min-height: inherit;
    background-position: 0 0;
    padding-top: 0px;
  }
}

@media (max-width: 500px) {
  #header .wrapper {
    padding: 0;
  }
}

#header .logo {
  float: left;
}

@media (max-width: 768px) {
  #header .logo {
    float: inherit;
    margin-left: 0;
    width: 100%;
  }
}

#header .logo a {
  display: block;
  padding-left: 10px;
}

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

#headerカスタマイズ

/////////////////////////////////////////////////////////////*/
#header {
  position: relative;
}

@media (max-width: 500px) {
  #header .headerBg {
    height: auto;
    z-index: 0;
    background: none;
  }
}

#header .headerBg .wrapper {
  width: 1000px;
  position: relative;
}

@media (max-width: 1000px) {
  #header .headerBg .wrapper {
    width: 100%;
    padding: 0;
  }
}

#header .headerSP {
  display: none;
}

@media (max-width: 500px) {
  #header .headerSP {
    display: block;
  }
}

#header .logo {
  width: 30%;
  margin: 1.5em 0 1em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #header .logo {
    width: 25vw;
    margin-left: 1em;
  }
}

@media (max-width: 500px) {
  #header .logo {
    width: 40%;
    float: left;
    margin: 1.5em 0;
  }
}

#header .logo a {
  position: relative;
}

@media (max-width: 500px) {
  #header .logo a {
    width: 150px;
  }
}

#header .logo .Icon {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  /* animation */
  /* alternate / normal */
  animation: heartbeat 1s ease-in-out infinite normal;
  /* alternate / normal */
}

#header .headerButton {
  background: rgb(242, 150, 0);
  color: #fff;
  padding: 0.8em 2.3em 0.8em 3.3em;
  border-radius: 50px;
  font-size: 1.15em;
  font-weight: bold;
  text-align: center;
  position: relative;
  margin: 0.5em 0;
  letter-spacing: 1.5px;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #header .headerButton {
    font-size: 2vw;
    margin-right: -1em;
  }
}

#header .headerButton .fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
  font-size: 1.5em;
}

#header .headerButton .fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}

#header .headerButton:hover {
  /* animation */
  animation: popup 0.4s ease-in-out 0s forwards;
}

@media (max-width: 500px) {
  #header .headerButton:hover {
    /* animation */
    animation: none;
  }
}

#header .NavBar {
  background: rgb(8, 46, 98);
  background: linear-gradient(330deg, rgb(8, 46, 98) 0%, rgb(1, 160, 255) 100%);
  position: relative;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

@media (max-width: 1000px) {
  #header .NavBar .wrapper {
    padding: 0;
  }
}

#header .NavBar .flexbox {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 1000px;
  flex-flow: row wrap;
}

@media (max-width: 1000px) {
  #header .NavBar .flexbox {
    width: 100vw;
  }
}

@media (max-width: 500px) {
  #header .NavBar .flexbox {
    justify-content: space-between;
  }
}

#header .NavBar .flexbox .topnavi {
  padding: 0.5em 0 1em;
  font-size: 1.1em;
  font-weight: bold;
  position: relative;
  letter-spacing: 1.5px;
  transition: 0.2s ease-in-out;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #header .NavBar .flexbox .topnavi {
    font-size: 1.8vw;
  }
}

#header .NavBar .flexbox .topnavi:hover {
  opacity: 0.6;
}

#header .NavBar .flexbox .topnavi:after {
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  position: absolute;
  bottom: -0.3em;
  left: calc(50% - 0.5rem);
  transition: 0.2s ease-in-out;
}

#header .NavBar .flexbox .topnavi:hover:after {
  bottom: -0.6em;
}

@media (max-width: 500px) {
  #header .NavBar {
    margin-top: 0;
    height: 80px;
    z-index: 100 !important;
    padding-left: 20px;
  }
}

#header .feature {
  background: #000;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
}

#header .feature .wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 130px;
}

#header .feature .box {
  background: #f4f4f4;
  width: 27%;
  margin: 0 0.5em;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  height: 86px;
  border-radius: 5px;
  white-space: nowrap;
}

#header .feature .box img {
  width: 40px;
}

#header .feature .box.earliest {
  font-size: 2.5em;
}

#header .feature .box.earliest span {
  color: #e51326;
  font-size: 1.2em;
  margin: 0 0.15em 0 0.1em;
  letter-spacing: -3px;
}

#header .feature .box.earliest img {
  margin-left: 0.5em;
  margin-right: 0.6em;
}

#header .feature .box.commission {
  font-size: 1.8em;
  line-height: 1.1;
}

#header .feature .box.commission .block {
  display: block;
}

#header .feature .box.commission span {
  color: #e51326;
  font-size: 1.3em;
}

#header .feature .box.commission img {
  margin-left: 0.5em;
  margin-right: 1.2em;
}

#header .feature .box.visit {
  font-size: 2.5em;
}

#header .feature .box.visit span {
  color: #e51326;
}

#header .feature .box.visit img {
  margin-left: 0.5em;
  margin-right: 0.6em;
}

/*//////////レスポンシブ501-1000//////////*/
@media screen and (min-width: 501px) and (max-width: 1000px) {
  #header .feature .box.earliest {
    font-size: 3.5vw;
  }

  #header .feature .box.earliest img {
    margin-right: 0.6em;
  }

  #header .feature .box.commission {
    font-size: 3vw;
    line-height: 1.2;
  }

  #header .feature .box.commission span {
    font-size: 1.2em;
  }

  #header .feature .box.commission img {
    margin-right: 0.5em;
  }

  #header .feature .box.visit {
    font-size: 3.5vw;
  }

  #header .feature .box.visit img {
    margin-right: 0.6em;
  }
}

/*//////////レスポンシブ-500//////////*/
@media (max-width: 500px) {
  #header .feature .box {
    border-radius: 3px;
  }

  #header .feature .wrapper {
    height: 20vw;
  }

  #header .feature .box {
    display: block;
    height: 16vw;
    padding: 0.4em 0 0.4em 0;
  }

  #header .feature .box.earliest {
    font-size: 4.5vw;
  }

  #header .feature .box.earliest span {
    margin: 0 0.1em 0 0.1em;
    letter-spacing: -1px;
  }

  #header .feature .box.earliest img {
    margin: 0 auto;
    width: 23px;
  }

  #header .feature .box.commission {
    font-size: 3vw;
  }

  #header .feature .box.commission br.com {
    display: none;
  }

  #header .feature .box.commission .block {
    display: inline;
  }

  #header .feature .box.commission span {
    color: #e51326;
    font-size: 1.5em;
    margin-left: 0.1em;
  }

  #header .feature .box.commission img {
    margin: 0 auto;
    /*padding-bottom: .6em;*/
    width: 25px;
    padding: 0.2em 0 0.35em 0;
  }

  #header .feature .box.visit {
    font-size: 4.5vw;
  }

  #header .feature .box.visit span {
    color: #e51326;
  }

  #header .feature .box.visit img {
    margin: 0 auto;
    width: 25px;
  }
}

@media (max-width: 1000px) {
  #header .feature .wrapper {
    padding: 0;
  }
}

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

#fv スライダー

/////////////////////////////////////////////////////////////*/
.header-rate-box {
  position: absolute;
  bottom: 310px;
  left: 62px;
  width: 228px;
  height: 201px;
  z-index: 999;
}

.header-rate-box .slider.rate {
  margin-top: 23px;
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
  }

  .header-rate-box {
    position: absolute;
    bottom: 41.333vw;
    left: 8.267vw;
    width: 30.4vw;
    height: 26.8vw;
    z-index: 999;
  }

  .header-rate-box .slider.rate {
    margin-top: 3.067vw;
  }
}

.header-rate-box .rate-bar .header-rate-brand {
  color: #fff;
  font-size: 2em;
  font-weight: bold;
  padding-right: 25px;
}

.header-rate-box img.Image {
  width: 228px;
}

.header-rate-box .header-rate {
  color: #082e62;
  font-size: 140px;
  font-family: "Roboto", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .header-rate-box img.Image {
    width: 30.4vw;
  }

  .header-rate-box .header-rate {
    color: #082e62;
    font-size: 18.667vw;
    font-family: "Roboto", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 500;
  }
}

.header-rate-box .header-rate span {
  font-size: 0.6em;
}

.header-rate-box .transfer {
  font-size: 2.2em;
  text-align: center;
}

.header-rate-box .transfer span {
  font-size: 1.3em;
  font-weight: bold;
  padding-left: 0.2em;
}

.header-rate-box .header-rate-premium {
  color: #fff;
  text-align: center;
  font-size: 1.4em;
  padding: 0.2em 0;
  margin: 1em 0 0.5em;
  text-shadow: 1px 2px 0 #7a6431;
  background-image: linear-gradient(90deg, #a58c48, #d0be6f, #a58c48, #d0be6f, #a58c48);
}

.header-rate-box .header-rate-normal {
  color: #fff;
  text-align: center;
  font-size: 1.4em;
  padding: 0.2em 0;
  margin: 1em 0 0.5em;
  text-shadow: 1px 2px 0 #666666;
  background-image: linear-gradient(90deg, #999999, #cccccc, #999999, #cccccc, #999999);
}

.header-rate-box .header-rate-other {
  color: #fff;
  text-align: center;
  font-size: 1.4em;
  padding: 0.2em 0;
  margin: 1em 0 0.5em;
  background: #000;
}

.header-rate-box .new-customer {
  background: #fff;
  text-align: center;
  font-size: 1.4em;
  padding: 0.2em 0;
  /*border: 1px solid #000;*/
  border: 1px solid #8e8e8e;
}

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

#headerナビバー

/////////////////////////////////////////////////////////////*/
#header .NavBar a.Button {
  display: inline-block;
  margin-left: -0.5em;
  float: left;
  margin-top: 0.8em;
}

@media (max-width: 768px) {
  #header .NavBar a.Button {
    width: 49%;
  }
}

#header .NavBar a.Button:hover {
  filter: saturate(0%);
}

@media (max-width: 768px) {
  #header .NavBar a.Button:hover {
    animation: none;
  }
}

#header .NavBar a.Button img {
  border-radius: 3px;
  box-shadow: 0px 3px 0px rgba(0, 133, 178, 0.2);
}

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

#footer

/////////////////////////////////////////////////////////////*/
#footer {
  width: 100%;
  background: #082e62;
  display: block;
  z-index: 100;
  bottom: 0;
  padding: 0.5em 0;
  font-weight: normal;
  font-size: 1.2em;
  bottom: 0;
}

@media screen and (min-width: 501px) and (max-width: 768px) {
  #footer {
    font-size: 0.9em;
    padding-top: 0.5em;
  }
}

@media (max-width: 500px) {
  #footer {
    font-size: 0.7em;
    padding-top: 0.5em;
    /*height: 140px;*/
  }
}

#footer .wrapper {
  margin: 0 auto;
  position: relative;
}

@media (max-width: 768px) {
  #footer .wrapper {
    padding: 0;
  }
}

#footer .Block {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 0.3em;
  margin-bottom: 1em;
}

.bnArea {
  padding: 2em 0 0;
  min-height: 70px;
  background: rgb(255, 255, 255);
}

.bnArea a {
  position: relative;
  display: inline-block;
  margin: 0 5px 0 0;
}

#footer a:hover {
  text-decoration: none;
}

#footer ul.menu {
  margin-bottom: 40px;
  text-align: center;
  width: 100%;
  margin-right: 10px;
  -webkit-text-shadow: none;
  text-shadow: none;
}

@media (max-width: 768px) {
  #footer ul.menu {
    width: 100%;
    margin-bottom: 10px;
    margin-right: 0;
  }
}

#footer ul.menu:last-of-type {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  #footer .Box .head+ul.menu {
    margin-left: 1em;
  }
}

/* 回り込み解除 */
#footer ul.menu::after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

#footer ul.menu li {
  font-size: 70%;
  position: relative;
  /*float:left;*/
  display: inline-block;
}

@media (max-width: 768px) {
  #footer ul.menu li {
    display: block;
    width: 100%;
  }
}

#footer ul.menu.items {
  margin-top: -10px;
}

@media (max-width: 768px) {
  #footer ul.menu.items {
    margin-top: 10px;
  }
}

#footer ul.menu.items li {
  font-size: 0.6em;
}

@media (max-width: 768px) {
  #footer ul.menu.items li {
    font-size: 0.8em;
    margin-bottom: 5px;
  }
}

#footer ul.menu li.childrenHead>a {
  font-size: 1.1em;
  /*font-weight: bold;*/
  margin-bottom: 0.5em;
  padding: 0.2em 1em;
}

@media (max-width: 768px) {
  #footer ul.menu li.childrenHead>a {
    font-size: 1.7em;
  }
}

#footer ul.menu li a {
  display: inline-block;
  padding: 10px 2px;
  margin: 5px 5px 5px 0;
  color: #082e62;
  text-decoration: none;
  letter-spacing: 1px;
  font-weight: normal;
}

@media (max-width: 768px) {
  #footer ul.menu li a {
    padding: 0.7em 0.5em;
    font-size: 2.3em;
    display: block;
    /*background:rgba(242,21,127, .1);*/
    font-weight: normal;
    margin: 0;
    text-align: left;
  }

  #footer ul.menu li:first-child a {
    border-top: 1px dotted #082e62;
  }

  #footer ul.menu li:not(:last-child) a {
    border-bottom: 1px dotted #082e62;
  }

  #footer ul.menu li ul.children li a {
    border-bottom: none;
  }
}

#footer ul.menu.items li a {
  margin: 1px 1px 1px 0;
}

#footer ul.menu li a:hover {
  /*background:rgba(242,21,127 , .1);*/
  /*color:#fff;*/
  text-decoration: none;
  /* 透明 */
  -webkit-opacity: 0.8;
  opacity: 0.8;
}

@media (max-width: 768px) {
  #footer ul.menu li a:hover {
    background: inherit;
  }
}

#footer ul.menu li a svg {
  margin-right: 0.1em;
}

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

フットリンク

/////////////////////////////////////////////////////////////*/
#footer .footlink ul {
  left: inherit;
  float: inherit;
  text-align: center;
}

#footer .footlink ul li {
  left: inherit;
  float: inherit;
  color: rgb(255, 255, 255);
  display: inline-block;
  padding: 0 10px;
}

#footer .footlink ul li:not(:last-child) {
  border-right: 1px solid;
}

@media (max-width: 768px) {
  #footer .footlink ul li a {
    width: inherit;
  }
}

#footer .footlink ul li {
  padding: 0 1.333vw;
}

#footer .footlink ul li a span {
  display: inline-block;
  color: rgb(255, 255, 255);
  padding: 0.6em 0;
  margin: 0 2px;
  transition: 0.4s ease-in-out;
  border-bottom: 1px solid transparent;
  font-size: 1.4em !important;
}

@media (max-width: 768px) {
  #footer .footlink ul li a span {
    font-size: 1.3em !important;
  }
}

#footer .footlink ul li a:hover span {
  border-bottom-color: rgb(255, 255, 255);
}

.footlink ul li a:after {
  content: "";
  margin: 0;
}

/* 回り込み解除 */
#footer::after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

.footlink {
  overflow: hidden;
  position: relative;
  padding: 1.5em 0 2em;
  width: 1000px;
  margin: 0 auto;
}

@media (max-width: 1000px) {
  .footlink {
    width: auto;
  }
}

.footlink ul {
  position: relative;
  left: 50%;
  float: left;
}

.footlink ul li {
  position: relative;
  left: -50%;
  float: left;
  font-size: 0.9em !important;
  font-weight: normal !important;
  /*margin-right:20px;*/
}

.footlink ul li a {
  display: block;
  color: #999 !important;
}

.footlink ul li a:hover {
  text-decoration: none !important;
}

/* 回り込み解除 */
#footer .footlink:after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

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

リスト ul

/////////////////////////////////////////////////////////////*/
#container ul {
  display: block;
}

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

p要素

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

#copyright

/////////////////////////////////////////////////////////////*/
#copyright {
  text-align: left;
  font-size: 0.8em;
  position: relative;
  letter-spacing: 0;
  color: rgb(255, 255, 255);
  padding: 10px 0;
}

@media (max-width: 768px) {
  #copyright {
    padding: 5px 0;
    margin-left: 0;
    font-size: 1em;
  }
}

#copyright .wrapper {
  margin: 0 auto;
  position: relative;
}

#copyright a:hover {
  text-decoration: underline;
}

#copyright .logo {
  clear: both;
  position: relative;
  width: 100%;
}

@media (max-width: 768px) {
  #copyright .logo {
    height: inherit;
  }
}

#copyright .logo a.logoimg {
  display: block;
  z-index: 100;
}

@media (max-width: 768px) {
  #copyright .logo a.logoimg {
    position: inherit;
  }
}

#copyright .logo a.logoimg img {
  width: 400px;
}

@media (max-width: 768px) {
  #copyright .logo a.logoimg img {
    width: 250px;
  }
}

#copyright .copyright {
  font-size: 1em;
  text-align: center;
  margin-top: 5px;
}

@media (max-width: 768px) {
  #copyright .copyright::before {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
  }

  #copyright .copyright {
    position: inherit;
    left: inherit;
    top: inherit;
    bottom: inherit;
    margin-left: 0;
  }
}

#copyright .endCredit {
  font-size: 0.8em;
  text-align: center;
  padding: 1em 0 0;
  letter-spacing: 1px;
  color: rgb(255, 255, 255);
}

#copyright .endCredit a {
  color: rgb(255, 255, 255);
}

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

コンテンツ

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

セクション01・セクション04

/////////////////////////////////////////////////////////////*/
#container section.content01,
#container section.content04 {
  background: #e5e5e5;
  padding: 3em 0;
}

#container section.content01 .box,
#container section.content04 .box {
  background: #fff;
  padding: 3em 0;
  margin: 1em auto;
}

#container section.content01 img.Image,
#container section.content04 img.Image {
  margin: 0 auto;
}

#container section.content01 .caption,
#container section.content04 .caption {
  font-size: 2.7em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content01 {
    padding: 2em 0;
  }

  #container section.content04 {
    padding: 2em 0;
  }

  #container section.content01 .box,
  #container section.content04 .box {
    width: 95%;
  }

  #container section.content01 img.Image,
  #container section.content04 img.Image {
    padding: 0 2em;
  }

  #container section.content01 .caption,
  #container section.content04 .caption {
    font-size: 2.2em;
  }
}

@media (max-width: 500px) {

  #container section.content01,
  #container section.content04 {
    padding: 0.5em 0;
  }

  #container section.content01 .box,
  #container section.content04 .box {
    margin: 1em;
  }

  #container section.content01 img.Image,
  #container section.content04 img.Image {
    margin: 0 auto;
    padding: 0 2em;
  }

  #container section.content01 .caption,
  #container section.content04 .caption {
    font-size: 1.3em;
  }
}

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

セクション02　換金率レート解説

/////////////////////////////////////////////////////////////*/
.rate_info {
  font-weight: normal !important;
  text-align: center;
  position: relative;
  width: 86%;
  margin: 0 auto;
  padding: 1em 0;
  background: rgba(255, 255, 255, 0.5);
  letter-spacing: 2px;
  font-size: 1.1em;
  margin-top: -3em;
}

.rate_info span {
  /*font-size: 1.2em;*/
}

@media (max-width: 500px) {
  .rate_info {
    font-size: 1em !important;
    padding: 5px 35px 5px 55px !important;
    line-height: 1.5;
    margin-top: -3.5em;
  }
}

.rate_info:after {
  content: "\f067";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  font-size: 1em;
  position: absolute;
  right: 20px;
  top: 50%;
  color: #000;
  transform: translateY(-50%);
  transition: 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
  cursor: pointer;
}

@media (max-width: 768px) {
  .rate_info:after {
    font-size: 1.1em;
    right: 12px;
  }
}

.rate_info.is-active:after {
  content: "\f068";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  font-size: 1em;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  -webkit-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
}

@media (max-width: 768px) {
  .rate_info.is-active:after {
    font-size: 1.1em;
    right: 12px;
  }
}

.rate_detail {
  display: none;
  transition: unset;
  background: rgba(255, 255, 255, 0.5);
  width: 86%;
  margin: 0 auto;
  padding: 0.5em 1.5em 1.5em;
  font-size: 1.1em;
}

.rate_detail p {
  line-height: 2.5 !important;
  text-align: center !important;
  font-size: 1em !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rate_detail .flexbox {
  display: flex;
  align-items: center;
  justify-content: space-around;
  border: solid 2px #000;
  padding: 0.7em;
  font-weight: bold;
  margin: 1em 0 0.5em;
}

.rate_detail .gridbox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

@media (max-width: 500px) {
  .rate_detail .gridbox {
    display: block;
  }
}

.grid {
  border: solid 2px #000;
  margin: 1em 1em 1em 1em;
  padding: 0.5em 1em;
  line-height: 2;
}

.grid .gridhead {
  font-weight: bold;
  margin-bottom: 0.2em;
}

.grid.grid_a {
  grid-area: 1/1/3/2;
}

.grid.grid_b {
  grid-area: 1/2/3/3;
}

.grid.grid_c {
  grid-area: 1/3/2/4;
  margin-bottom: 0.3em;
}

.grid.grid_d {
  grid-area: 2/3/3/4;
  margin-top: 0.3em;
}

.grid.grid_c,
.grid.grid_d {
  margin-bottom: 1em;
  margin-top: 1em;
}

@media (max-width: 768px) {
  .rate_detail {
    padding: 1em !important;
  }
}

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

セクション03

/////////////////////////////////////////////////////////////*/
#container section.content03 {
  background-color: #082e62;
  background-image: url(../img/bg_pattern.png);
  padding-top: 250px;
  padding-bottom: 1em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content03 {
    padding-top: 200px;
  }
}

@media (max-width: 500px) {
  #container section.content03 {
    background-image: url(../img/bg_patternSP.png);
    /*padding-top: 70px;*/
    padding-top: 5.5em;
  }
}

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

セクション03　シミュレーター

/////////////////////////////////////////////////////////////*/
.simubox {
  background: #fff;
  border: 2px solid #000;
  border-radius: 15px;
  /*width: 86%;*/
  width: 689px;
  margin: 5em auto;
  padding: 5em 2em 2em;
  text-align: center;
  position: relative;
}

@media (max-width: 768px) {
  .simubox {
    width: 91.867vw;
    padding: 3em 2em 0;
    margin: 4em auto 2em;
  }

  .simubox img.Image {
    width: 50vw;
    top: -20px;
  }

  .simubox img.Image2 {
    width: 70vw;
    margin: 0 auto;
  }
}

.simubox img.Image {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.simubox img.Image2 {
  margin: 0 auto;
}

@media (max-width: 500px) {
  .simubox img.Image {
    top: -20px;
    width: 250px;
  }
}

@media (max-width: 500px) {
  .simubox img.Image2 {
    width: 280px;
    margin: 0 auto;
  }
}

.simubox .simulist input {
  /*border: 1px solid #000;*/
  border: 1px solid #8e8e8e;
  padding: 0.5em 0.7em;
  margin: 0.5em;
  font-size: 0.9em;
  border-radius: 5px;
  height: 60px;
  width: 360px;
  background-color: #f4f4f4;
  /* Font-Family 角ゴシック系 */
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
}

.simubox .simulist td.Radio input {
  width: 0;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .simubox .simulist input {
    height: 50px;
    width: 80%;
    font-size: 1em !important;
  }

  .simubox .simulist td.Radio {
    text-align: left !important;
    padding-left: 8vw !important;
    font-size: 1.2em;
  }
}

@media (max-width: 500px) {
  .simubox .simulist input {
    height: 40px;
    width: 85%;
    font-size: 0.9em !important;
  }

  .simubox .simulist input.px16 {
    font-size: 16px !important;
  }
}

.simubox .simulist {
  font-size: 1.4em;
  font-weight: bold;
  /*width: 90%;*/
  margin: 2.5em auto 1em;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .simubox .simulist {
    display: table;
    width: 100%;
    margin: 1em auto 1em;
  }
}

@media (max-width: 500px) {
  .simubox .simulist {
    display: table;
    width: 100%;
    margin: 0.9em auto 1em;
  }
}

.simubox .simulist th {
  padding: 1em 0;
  text-align: left;
  padding-right: 4em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .simubox .simulist th {
    padding: 1em 0 0 1em;
    padding-right: 0;
    display: block;
  }

  .simubox .simulist td {
    display: block;
    text-align: center !important;
    padding: 0.5em 0 1em !important;
  }
}

@media (max-width: 500px) {
  .simubox .simulist th {
    padding: 1em 0 0;
    padding-right: 0;
    display: block;
  }

  .simubox .simulist td {
    display: block;
    text-align: center !important;
    padding: 0.5em 0 1em !important;
  }

  .simubox .simulist th.second {
    padding: 1em 0 0.5em;
  }
}

.simubox .simulist td {
  padding: 1em 0;
  text-align: left;
  /*width: 50%;*/
  position: relative;
}

.simubox .simulist .first:before {
  content: url(../img/simu01.png);
  vertical-align: middle;
  margin-right: 0.5em;
}

.simubox .simulist .second:before {
  content: url(../img/simu02.png);
  vertical-align: middle;
  margin-right: 0.5em;
}

.simubox .simulist .third:before {
  content: url(../img/simu03.png);
  vertical-align: middle;
  margin-right: 0.5em;
}

.simubox .simulist .fourth:before {
  content: url(../img/simu04.png);
  vertical-align: middle;
  margin-right: 0.5em;
}

@media (max-width: 500px) {
  .simubox .simulist th span {
    margin-left: 2em;
  }

  .simubox .simulist .first:before {
    content: "";
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-image: url(../img/simu01.png);
    left: 0.5em;
  }

  .simubox .simulist .second:before {
    content: "";
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-image: url(../img/simu02.png);
    left: 0.5em;
  }

  .simubox .simulist .third:before {
    content: "";
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-image: url(../img/simu03.png);
    left: 0.5em;
  }

  .simubox .simulist .fourth:before {
    content: "";
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-image: url(../img/simu04.png);
    left: 0.5em;
  }
}

.simubox .simulist .last {
  background-image: linear-gradient(to right, #aaa, #aaa 6px, transparent 6px, transparent 8px);
  background-size: 13px 1px;
  background-repeat: repeat-x;
}

.simubox .simulist .last th,
.simubox .simulist .last td {
  padding-top: 1.6em;
}

.simubox .simulist .amount th,
.simubox .simulist .amount td {
  padding-bottom: 1.6em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .simubox .simulist .amount th {
    padding-bottom: 0;
  }

  .simubox .simulist .last td {
    padding-top: 0;
  }
}

@media (max-width: 500px) {
  .simubox .simulist .amount th {
    padding-bottom: 0;
  }

  .simubox .simulist .last td {
    padding-top: 0;
  }
}

.simubox .simulist .last input {
  background-color: rgb(255, 250, 227);
}

.simubox .simulist select {
  font-size: 0.9em;
  border-radius: 5px;
  height: 60px;
  width: 360px;
  background-color: #f4f4f4;
  border: 1px solid #8e8e8e;
  padding: 0em 0.7em;
  margin: 0.5em;
  /* グラデーション */
  background-image: linear-gradient(top, rgb(230, 230, 230) 20%, rgb(255, 255, 255) 95%);
  background-image: -ms-linear-gradient(top, rgb(230, 230, 230) 20%, rgb(255, 255, 255) 95%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.2, rgb(230, 230, 230)), color-stop(0.95, rgb(255, 255, 255)));
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .simubox .simulist select {
    height: 50px;
    /*width: 80%;*/
    width: 83.5%;
    font-size: 1em !important;
  }
}

@media (max-width: 500px) {
  .simubox .simulist select {
    height: 40px;
    width: 90%;
    font-size: 0.9em !important;
  }
}

.simubox .simulist td.typeselect option {
  text-align: left;
}

.simubox .simulist td.typeselect:after {
  content: "";
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 0.4em);
  right: 6%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-image: url(../img/simu_arrow.png);
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .simubox .simulist td.typeselect:after {
    right: 8%;
    top: calc(50% - 0.5em);
    width: 15px;
    height: 15px;
  }
}

@media (max-width: 500px) {
  .simubox .simulist td.typeselect:after {
    right: 3%;
    top: calc(50% - 0.7em);
    width: 15px;
    height: 15px;
  }
}

.simubox .simulist label {
  font-size: 0.8em;
  font-weight: normal;
  margin-right: 0.5em;
  vertical-align: middle;
}

.simubox .simulist label:before {
  width: 15px;
  height: 15px;
  line-height: 15px;
  margin-right: 1em;
  border: 1px solid #8e8e8e;
  background-color: #f4f4f4;
  margin-bottom: 0.1em;
}

@media (max-width: 500px) {
  .simubox .simulist label {
    font-size: 1em;
    margin: 0.5em;
  }
}

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

セクション05

/////////////////////////////////////////////////////////////*/
#container section.content05 {
  background: rgb(255, 250, 227);
  padding: 3em 0;
}

#container section.content05 img.Image {
  margin: 0 auto;
  display: block;
  padding: 4em 0 3em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content05 {
    padding: 3em 0;
  }

  #container section.content05 img.Image {
    padding: 4em 1em 1.5em;
  }
}

@media (max-width: 500px) {
  #container section.content05 {
    padding: 0.5em 0;
  }

  #container section.content05 img.Image {
    padding: 3.5em 1em 0;
  }
}

#container section.content05 img.icon {
  width: 100px;
  margin: 0.5em auto 0;
  display: block;
}

#container section.content05 img.icon_big {
  width: 130px;
  margin: 0.5em auto 0;
  display: block;
}

@media (max-width: 500px) {
  #container section.content05 img.icon {
    width: 80px;
  }

  #container section.content05 img.icon_big {
    width: 100px;
  }
}

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

セクション05　選ばれる理由

/////////////////////////////////////////////////////////////*/
.reasonbox {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-bottom: 5em;
}

.reasonbox .reasonblock {
  width: 280px;
  height: 450px;
  background-color: #fff;
  padding: 1em;
  border-radius: 10px;
  box-shadow: 7px 7px 0px rgba(0, 0, 0, 0.05);
  position: relative;
  margin: 4em 0.5em 1em;
  font-size: 1.1em;
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .reasonbox .reasonblock {
    width: 250px;
    height: auto;
  }
}

@media screen and (min-width: 501px) and (max-width: 800px) {
  .reasonbox .reasonblock {
    width: 450px;
    height: auto;
    margin: 2em 0 2em;
    padding: 1em 1.5em;
  }
}

@media (max-width: 500px) {
  .reasonbox .reasonblock {
    width: 90%;
    height: auto;
    border-radius: 5px;
    box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.05);
    margin: 4em 0 0;
  }
}

.reasonbox .reasonblock p {
  line-height: 2.1 !important;
  letter-spacing: 0.5px !important;
}

@media screen and (min-width: 501px) and (max-width: 800px) {
  .reasonbox .reasonblock p {
    font-size: 1.2em !important;
    margin-bottom: 0.5em !important;
  }
}

@media (max-width: 500px) {
  .reasonbox .reasonblock p {
    font-size: 1.1em !important;
    margin-bottom: 0.5em !important;
    line-height: 1.9 !important;
  }
}

.reasonbox .reasonblock .title {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  padding: 1em 0 0.5em;
  letter-spacing: 2px;
}

@media (max-width: 500px) {
  .reasonbox .reasonblock .title {
    font-size: 5.5vw;
  }

  .reasonbox .reasonblock .title span {
    font-size: 6vw;
  }
}

.reasonbox .reasonblock .title span {
  font-size: 1.4em;
  padding-left: 0.2em;
  background: linear-gradient(transparent 75%, #fff666 75%);
}

.reasonbox .reasonblock:before {
  content: "";
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -8%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

@media (max-width: 500px) {
  .reasonbox .reasonblock:before {
    width: 50px;
    height: 50px;
  }
}

.reasonbox .a:before {
  background-image: url(../img/reason01.png);
}

.reasonbox .b:before {
  background-image: url(../img/reason02.png);
}

.reasonbox .c:before {
  background-image: url(../img/reason03.png);
}

.reasonbox .d:before {
  background-image: url(../img/reason04.png);
}

.reasonbox .e:before {
  background-image: url(../img/reason05.png);
}

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

セクション06

/////////////////////////////////////////////////////////////*/
#container section.content06 {
  background: #082e62;
  position: relative;
  padding: 60px 0px 30px;
  z-index: 0;
}

#container section.content06 img.Image {
  margin: 3em auto;
}

#container section.content06 img.threestep {
  width: 250px;
}

#container section.content06 .caption {
  font-size: 2.7em;
  color: #fff;
  margin-bottom: 0;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content06 .caption {
    font-size: 2.2em;
  }

  #container section.content06 img.flow {
    margin: 2em auto !important;
  }

  #container section.content06 img.threestep {
    margin: 2em auto 1em !important;
  }
}

@media (max-width: 500px) {
  #container section.content06 {
    padding: 1em 0;
  }

  #container section.content06 .caption {
    font-size: 5vw;
  }

  #container section.content06 img.flow {
    height: 15px;
    margin: 1.5em auto !important;
  }

  #container section.content06 img.threestep {
    width: 170px;
    margin: 1em auto 2.5em !important;
  }
}

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

セクション07

/////////////////////////////////////////////////////////////*/
#container section.content07 {
  padding-top: 200px;
  background: rgb(192, 231, 255);
  padding-bottom: 3em;
  z-index: 1;
}

#container section.content07:before {
  content: "";
  position: absolute;
  top: 0%;
  right: 50%;
  transform: translatex(50%);
  box-sizing: border-box;
  border-right: calc(50vw - 10px) solid transparent;
  border-left: calc(50vw - 10px) solid transparent;
  border-top: 200px solid #082e62;
}

#container section.content07 img.Image {
  width: 70px;
  margin: -2em auto 2.5em;
  display: block;
  /*-webkit-animation: slideInTop 1s ease-in-out infinite alternate;
  animation: slideInTop 1s ease-in-out infinite alternate;*/
}

#container section.content07:after {
  content: "";
  position: absolute;
  top: 90%;
  display: block;
  height: 10.5%;
  width: 100%;
  background: rgb(255, 250, 227);
  z-index: -1;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content07:before {
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
  }
}

@media (max-width: 500px) {
  #container section.content07 {
    padding: 0.5em 0;
  }

  #container section.content07 img.Image {
    width: 35px;
    margin: -3em auto 1.5em;
  }

  #container section.content07:before {
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 80px solid #082e62;
  }
}

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

セクション07　申込の流れ

/////////////////////////////////////////////////////////////*/
.stepbox {
  width: 90%;
  margin: -13em auto -4em;
}

@media (max-width: 500px) {
  .stepbox {
    width: 90%;
    margin: -3em auto -4em;
  }
}

.stepbox .step {
  background: #fff;
  border-radius: 10px;
  border: 2px solid #000;
  position: relative;
  margin: 2em 0 5em;
}

.stepbox .step p {
  margin: 0 !important;
  font-size: 1.2em !important;
  line-height: 2.1 !important;
  padding: 0.5em;
}

@media (max-width: 500px) {
  .stepbox .step p {
    margin: 0 !important;
    font-size: 1.1em !important;
    line-height: 2.1 !important;
    padding: 0.5em 0 1em;
  }
}

.stepbox .flexbox {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  width: 90%;
  margin: 0 auto;
}

.stepbox .flexbox img {
  width: 250px;
  padding-top: 2em;
}

.stepbox .flexbox img.Image {
  padding: 0.5em 0;
  margin-left: 3em;
}

@media (max-width: 500px) {
  .stepbox .flexbox {
    display: block;
  }

  .stepbox .flexbox img {
    width: 100px;
    margin: 0 auto;
    padding-top: 1.5em;
  }
}

.stepbox .step .title {
  background: #000;
  color: #fff;
  border-radius: 5px 5px 0 0;
  font-size: 2em;
  font-weight: bold;
  padding: 0.5em;
  text-align: center;
}

@media (max-width: 500px) {
  .stepbox .step .title {
    font-size: 1.5em;
  }
}

.stepbox .step:before {
  content: "";
  width: 120px;
  height: 120px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -5em;
  left: -2em;
}

@media (max-width: 500px) {
  .stepbox .step:before {
    width: 60px;
    height: 60px;
    top: -2em;
    left: -1em;
  }
}

.stepbox .a:before {
  background-image: url(../img/step01.png);
}

.stepbox .b:before {
  background-image: url(../img/step02.png);
}

.stepbox .c:before {
  background-image: url(../img/step03.png);
}

.stepbox .graybg {
  background: #f4f4f4;
  padding: 1.5em;
  margin: 0 2em 3em 2em;
}

@media (max-width: 500px) {
  .stepbox .graybg {
    margin: 0 1em 3em 1em;
  }
}

.stepbox .frame {
  border: 1px solid #000;
  padding: 0.5em;
  width: 95%;
  margin: 0.5em auto;
}

.stepbox .graybg p {
  padding: 0 !important;
}

.stepbox .frame p {
  padding: 0;
  text-align: center !important;
}

@media (max-width: 500px) {
  .stepbox .frame {
    width: 100%;
  }
}

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

セクション08

/////////////////////////////////////////////////////////////*/
#container section.content08 {
  background: rgb(255, 250, 227);
  padding: 1em 0 6em;
}

.entrustbox {
  width: 90%;
  margin: 0 auto;
  padding: 3em 1em;
  background-color: #fff;
  /*border: solid 1px #000;*/
  border: 1px solid #8e8e8e;
}

.entrustbox p {
  text-align: center !important;
  font-size: 1.6em !important;
  font-weight: bold;
  margin: 0 !important;
}

@media (max-width: 500px) {
  #container section.content08 {
    padding: 1em 0 2em;
  }

  .entrustbox .request_btn {
    margin: 1em auto 0 !important;
    width: 90% !important;
  }
}

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

セクション09

/////////////////////////////////////////////////////////////*/
#container section.content09 {
  background: rgb(243, 251, 255);
  padding: 3em 0;
}

#container section.content09 .caption {
  font-size: 2.7em;
}

#container section.content09 img.Image {
  /*width: 200px;*/
  margin: 3em auto;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content09 .caption {
    font-size: 2.2em;
    margin-bottom: 2em;
  }

  #container section.content09 img.Image {
    margin: 2em auto;
  }
}

@media (max-width: 500px) {
  #container section.content09 {
    padding: 1em 0;
  }

  #container section.content09 .caption {
    /*font-size: 1.6em;*/
    font-size: 5vw;
  }

  #container section.content09 img.Image {
    height: 15px;
    margin: 1.5em auto;
  }
}

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

セクション09　Q&A

/////////////////////////////////////////////////////////////*/
.faq {
  width: 90%;
  margin: 1.5em auto 4em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .faq {
    margin: 0 auto 20px;
    margin-top: none;
    width: 90%;
  }
}

@media (max-width: 500px) {
  .faq {
    margin: 5px auto 20px;
    width: 90%;
  }
}

.faq_item {
  width: 100%;
  border: 2px solid #082e62;
  overflow: hidden;
  border-radius: 10px;
  font-size: 1em !important;
  line-height: 1 !important;
  font-weight: normal;
  margin: 2.5em 0 !important;
  background: #fff;
  padding: 0.5em;
}

.faq_q {
  font-weight: normal;
  font-size: 0.9em;
  padding: 1em !important;
  text-align: justify;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.faq_q span {
  font-size: 1.2em;
  font-weight: bold;
}

@media (max-width: 500px) {
  .faq_q {
    font-size: 0.9em !important;
    padding: 10px 40px 10px 10px !important;
    line-height: 1.5;
  }

  .faq_q span {
    font-size: 1.2em;
    line-height: 1.7;
  }
}

.faq_q:after {
  content: "\f067";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  font-size: 1.5em;
  position: absolute;
  right: 20px;
  top: 50%;
  color: #082e62;
  transform: translateY(-50%);
  transition: 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
}

@media (max-width: 500px) {
  .faq_q:after {
    right: 12px;
  }
}

.faq_q.is-active:after {
  content: "\f068";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  font-size: 1.5em;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  -webkit-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
  color: #082e62;
}

@media (max-width: 500px) {
  .faq_q.is-active:after {
    right: 12px;
  }
}

.faq_q .q {
  font-size: 1.7em;
  color: #082e62;
  font-weight: bold;
  padding-right: 1em;
}

@media (max-width: 500px) {
  .faq_q .q {
    font-size: 1.4em;
    padding-right: 0.6em;
  }
}

.faq_a {
  display: none;
  transition: unset;
  position: relative;
  border-top: 3px solid #fff;
  font-size: 0.9em;
  text-align: justify;
  border-top: 1px solid #082e62;
  margin: 0 auto;
}

.faq_a .flexbox {
  padding: 1em !important;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

@media (max-width: 500px) {
  .faq_a .flexbox {
    padding: 1em 1em 0.5em 1em !important;
  }
}

.faq_a .a {
  font-size: 1.8em;
  color: rgb(255, 0, 0);
  font-weight: bold;
  padding: 0 1.3em 0 0.3em;
}

.faq_a span {
  font-size: 1.2em;
  line-height: 1.8 !important;
}

@media (max-width: 500px) {
  .faq_a .a {
    font-size: 1.6em;
    padding: 0 1em 0 0;
  }

  .faq_a span {
    font-size: 1.2em;
    line-height: 1.7 !important;
  }
}

.faq .frame {
  border: 1px solid #000;
  padding: 0.5em;
  margin-top: 0.5em;
}

.faq .frame p {
  padding: 0;
  text-align: center !important;
  margin: 0 !important;
}

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

セクション10

/////////////////////////////////////////////////////////////*/
#container section.content10 {
  background: rgb(255, 255, 255);
  padding: 3em 0;
}

#container section.content10 img.Image {
  margin: 0 auto;
  display: block;
  padding: 4em 0 3em;
}

@media (max-width: 500px) {
  #container section.content10 {
    padding: 0 0 0.5em;
  }

  #container section.content10 img.Image {
    padding: 4em 1em 3em;
  }
}

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

Twitterタイムライン埋め込み

/////////////////////////////////////////////////////////////*/
.TwitterBox {
  margin: 0.5em auto 3em;
  padding: 1em;
  border: 1px solid #8e8e8e;
  width: 70%;
  border-radius: 10px;
  overflow-y: scroll;
  height: 400px;
}

.TwitterBox a {
  margin: 0.5em;
}

/*スクロールバーの横幅指定*/
.TwitterBox::-webkit-scrollbar {
  width: 15px;
}

/*スクロールバーの背景色・角丸指定*/
.TwitterBox::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #f2f2f2;
}

/*スクロールバーの色・角丸指定*/
.TwitterBox::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #082e62;
}

@media (max-width: 768px) {
  .TwitterBox {
    width: 90%;
  }
}

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

セクション11

/////////////////////////////////////////////////////////////*/
#container section.content11 {
  background: #e5e5e5;
  padding: 1em 0;
}

#container section.content11 .caption {
  font-size: 2.7em;
  padding: 0 0 0.5em 0;
  color: #082e62;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content11 .caption {
    font-size: 2.2em;
  }
}

@media (max-width: 500px) {
  #container section.content11 {
    padding: 1em 0;
  }

  #container section.content11 .caption {
    font-size: 5vw;
    padding: 0 0 0.5em 0;
  }
}

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

セクション11　フォーム

/////////////////////////////////////////////////////////////*/
#container section.content11 .form_wrapper {
  background: #fff;
  width: 90%;
  margin: 3em auto;
  border-radius: 15px;
  padding: 1em 1.5em;
}

#container section.content11 .form_wrapper .formhead {
  font-size: 1.6em;
  font-weight: bold;
  background: #082e62;
  color: #fff;
  padding: 0.5em 1em;
  border-radius: 5px;
}

.form_wrapper .form_inner {
  width: 95%;
  margin: 0 auto;
}

@media (max-width: 500px) {
  #container section.content11 .form_wrapper {
    width: 95%;
    margin: 1.5em auto;
    padding: 0.5em 1em;
    border-radius: 5px;
  }

  #container section.content11 .form_wrapper .formhead {
    font-size: 1.3em;
  }

  .form_wrapper .form_inner {
    width: 100%;
    /*margin: 0 auto;*/
  }
}

.form_wrapper .attention {
  color: #8e8e8e;
  font-size: 0.85em;
  font-weight: normal;
  margin-top: -1em;
  line-height: 2;
  letter-spacing: 1px;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_wrapper .attention {
    font-size: 0.75em;
    margin-top: -2.5em;
    letter-spacing: 0;
    margin-left: 1em;
  }
}

@media (max-width: 500px) {
  .form_wrapper .attention {
    font-size: 0.75em;
    margin-top: -2.5em;
    letter-spacing: 0;
    margin-left: 1em;
  }
}

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

セクション11　ギフト券選択

/////////////////////////////////////////////////////////////*/
#container section.content11 .form_wrapper .gifttype {
  background: #fff;
  padding: 2em 0;
  margin-bottom: 1em;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content11 .form_wrapper .gifttype {
    padding: 1.5em 0;
    margin-bottom: 1em;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
}

@media (max-width: 500px) {
  #container section.content11 .form_wrapper .gifttype {
    padding: 1.5em 0;
    margin-bottom: 1em;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
}

#container section.content11 .form_wrapper .giftlabel {
  background: #fff;
  outline: solid 1px #8e8e8e;
  outline-offset: -1px;
  padding: 0.5em;
  margin: 0.5em 0.4em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#container section.content11 .form_wrapper .giftlabel.paidy {
  background: #ffd2e3;
}

#container section.content11 .form_wrapper .giftlabel img {
  width: 60px;
}

@media (max-width: 500px) {
  #container section.content11 .form_wrapper .giftlabel img {
    width: 40px;
  }
}

#container section.content11 .form_wrapper .giftlabel .giftbrand {
  font-size: 1em;
  /*font-size: 18px;*/
  padding: 0 0.5em;
}

@media (max-width: 500px) {
  #container section.content11 .form_wrapper .giftlabel .giftbrand {
    font-size: 0.9em;
    padding: 0 0.5em;
    word-break: break-all;
  }
}

#container section.content11 .form_wrapper .gifttype label:before {
  display: none !important;
}

#container section.content11 .form_wrapper .radiobutton:checked+label {
  background-color: rgb(255, 250, 227) !important;
  color: #000 !important;
  /*border: solid 1px rgba(242,150,0,1)!important;*/
  outline: 2px solid rgb(242, 150, 0) !important;
  outline-offset: -2px;
}

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

セクション11　利用回数

/////////////////////////////////////////////////////////////*/
.times .Radio {
  padding: 2em 0 2.5em;
  font-size: 1.2em;
}

.times .Radio input {
  height: 60px;
}

.times .Radio label:before {
  width: 15px;
  height: 15px;
  line-height: 15px;
  margin-right: 0.5em;
  border: 1px solid #8e8e8e;
  background-color: #f4f4f4;
  margin-bottom: 0.1em;
}

@media (max-width: 1000px) {
  .times .Radio {
    padding: 2em 0 2.5em;
    font-size: 1.2em;
  }

  .times .Radio input {
    height: 60px;
  }
}

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

セクション11　ギフト情報入力

/////////////////////////////////////////////////////////////*/
.form_boxA {
  margin: 0 auto;
  padding: 0;
  text-align: center;
  position: relative;
}

.form_boxA .form_listA input {
  border: 1px solid #8e8e8e;
  padding: 0.5em 0.7em;
  margin: 0 0.5em 0 0;
  font-size: 1em;
  border-radius: 5px;
  height: 60px;
  width: 300px;
  background-color: #f4f4f4;
  /* Font-Family 角ゴシック系 */
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxA .form_listA input {
    margin-left: 1em;
    height: 50px;
    width: 80%;
    font-size: 1em !important;
  }
}

@media (max-width: 500px) {
  .form_boxA .form_listA input {
    margin-left: 1em;
    height: 40px;
    width: 80%;
    font-size: 0.9em !important;
  }

  .form_boxA .form_listA input.px16 {
    font-size: 16px !important;
  }
}

.form_boxA .form_listA {
  font-size: 1.3em;
  font-weight: bold;
  margin: 1em auto 1em;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxA .form_listA {
    margin: 0 auto 1em;
  }
}

@media (max-width: 500px) {
  .form_boxA .form_listA {
    margin: 0 auto 1em;
  }
}

.form_boxA .form_listA th {
  padding: 1em 0;
  text-align: left;
  padding-right: 2em;
  width: 10em;
}

.form_boxA .form_listA td {
  padding: 0.6em 0;
  text-align: left;
  position: relative;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxA .form_listA th {
    display: block;
    padding: 1em 0 0;
  }
}

@media (max-width: 500px) {
  .form_boxA .form_listA th {
    display: block;
    padding: 1em 0 0;
  }
}

.form_boxA .form_listA td.Radio input {
  width: 0;
}

@media (max-width: 1000px) {
  .form_boxA .form_listA td.Radio input {
    display: inline-flex;
  }

  .form_boxA .form_listA td.Radio {
    margin-left: 1em;
  }
}

.form_boxA .form_listA td {
  display: block;
}

.form_boxA .form_listA span {
  font-weight: normal;
}

.form_boxA .form_listA .last input {
  background-color: rgb(255, 250, 227);
}

.form_boxA .form_listA select {
  font-size: 0.9em;
  border-radius: 5px;
  height: 60px;
  width: 400px;
  background-color: #f4f4f4;
  border: 1px solid #8e8e8e;
  padding: 0 0.7em;
  margin: 0.5em 0;
  /* グラデーション */
  background-image: linear-gradient(top, rgb(230, 230, 230) 20%, rgb(255, 255, 255) 95%);
  background-image: -ms-linear-gradient(top, rgb(230, 230, 230) 20%, rgb(255, 255, 255) 95%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.2, rgb(230, 230, 230)), color-stop(0.95, rgb(255, 255, 255)));
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxA .form_listA select {
    height: 50px;
    width: 80%;
    font-size: 1em !important;
    margin-left: 1em;
  }
}

@media (max-width: 500px) {
  .form_boxA .form_listA select {
    height: 40px;
    width: 80%;
    font-size: 0.9em !important;
    margin-left: 1em;
  }
}

.form_boxA .form_listA td.typeselect option {
  text-align: left;
}

.form_boxA .form_listA td.typeselect:after {
  content: "";
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 5%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-image: url(../img/simu_arrow.png);
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxA .form_listA td.typeselect:after {
    right: 14%;
    top: calc(50% - 0.4em);
    width: 15px;
    height: 15px;
  }
}

@media (max-width: 500px) {
  .form_boxA .form_listA td.typeselect:after {
    right: 16%;
    top: calc(50% - 0.5em);
    width: 15px;
    height: 15px;
  }
}

.form_boxA .form_listA label {
  font-size: 1em;
  font-weight: normal;
  margin-right: 0.5em;
  vertical-align: middle;
}

@media (max-width: 500px) {
  .form_boxA .form_listA label {
    font-size: 0.9em;
  }
}

.form_boxA .form_listA label:before {
  width: 15px;
  height: 15px;
  line-height: 15px;
  margin-right: 0.5em;
  border: 1px solid #8e8e8e;
  background-color: #f4f4f4;
  margin-bottom: 0.1em;
}

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

セクション11　ギフト券番号入力

/////////////////////////////////////////////////////////////*/
.form_boxB_head {
  font-size: 1.3em;
  font-weight: bold;
  padding: 0.5em 0;
}

.form_boxB {
  text-align: center;
}

.form_boxB table.form_listB {
  font-size: 1.3em;
  margin: 1em auto 3em;
  position: relative;
  width: 100%;
}

.form_boxB .form_listB input {
  border: 1px solid #8e8e8e;
  padding: 0.5em 0.7em;
  font-size: 1em;
  border-radius: 5px;
  height: 60px;
  width: 250px;
  background-color: #f4f4f4;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxB .form_listB input {
    height: 50px;
    width: 70%;
    font-size: 1em !important;
  }
}

@media (max-width: 500px) {
  .form_boxB .form_listB input {
    height: 40px;
    width: 70%;
    font-size: 0.85em !important;
  }

  .form_boxB .form_listB input.px16 {
    font-size: 15px !important;
  }
}

.form_boxB .form_listB input.amount {
  margin-right: 0.5em;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxB .form_listB input.amount {
    margin-right: 0.2em;
  }
}

@media (max-width: 500px) {
  .form_boxB .form_listB input.amount {
    margin-right: 0.2em;
  }
}

.form_boxB .form_listB tr:first-child {
  background: #eaf5ff;
  color: #8e8e8e;
}

.form_boxB .form_listB tr:nth-child(2n) {
  background: #f8fcff;
  color: #8e8e8e;
}

.form_boxB .form_listB th {
  font-weight: normal !important;
  padding: 0.5em;
  border: solid 3px #fff;
}

.form_boxB .form_listB td {
  padding: 1em 0;
}

.form_boxB .form_listB span {
  font-size: 0.9em;
  color: #8e8e8e;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxB .form_listB td:nth-child(odd) input {
    width: 90% !important;
  }
}

@media (max-width: 500px) {
  .form_boxB .form_listB th {
    font-size: 0.9em;
  }

  .form_boxB .form_listB th:first-child {
    width: 55%;
  }

  .form_boxB .form_listB td:nth-child(odd) input {
    width: 90% !important;
  }
}

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

セクション11　フォームを追加

/////////////////////////////////////////////////////////////*/
.form_wrapper .plusbtn {
  text-align: right;
  cursor: pointer;
  /*width: 95%;*/
  margin: -2em auto 2.5em;
}

.form_wrapper .plusbtn span {
  font-size: 1em;
  color: #fff;
  background: #8e8e8e;
  border-radius: 5px;
  padding: 0.3em 0.5em;
  letter-spacing: 2px;
}

.form_wrapper .plusbtn span:before {
  content: "\f055";
  font-family: "Font Awesome 5 Free";
  color: #fff;
  font-weight: bold;
  margin-right: 0.2em;
}

.form_wrapper .result {
  background: rgb(255, 250, 227);
  font-size: 1.5em;
  text-align: center;
  font-weight: bold;
  padding: 0.3em 0;
  margin-bottom: 3em;
}

.form_wrapper .result span {
  color: rgb(255, 0, 0);
  padding: 0 0.5em 0 1em;
}

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

セクション11　お客様情報入力

/////////////////////////////////////////////////////////////*/
.form_boxC {
  margin: 0 auto;
  padding: 0;
  text-align: center;
  position: relative;
}

.form_boxC .form_listC input {
  border: 1px solid #8e8e8e;
  padding: 0.5em 0.7em;
  margin: 0 0.5em 0 0;
  font-size: 1em;
  border-radius: 5px;
  height: 60px;
  width: 400px;
  background-color: #f4f4f4;
  /* Font-Family 角ゴシック系 */
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxC .form_listC input {
    height: 50px;
    width: 85%;
    font-size: 1em !important;
    margin: 0 auto;
    display: block;
  }
}

@media (max-width: 500px) {
  .form_boxC .form_listC input {
    height: 40px;
    width: 85%;
    font-size: 0.9em !important;
    margin: 0 auto;
    display: block;
  }

  .form_boxC .form_listC input.px16 {
    font-size: 16px !important;
  }
}

.form_boxC .form_listC .file {
  font-weight: normal;
  font-size: 0.8em;
  vertical-align: top;
}

.form_boxC .form_listC td.file {
  line-height: 3.5;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxC .form_listC td.file {
    margin-left: 1em;
  }
}

@media (max-width: 500px) {
  .form_boxC .form_listC td.file {
    margin-left: 1em;
  }
}

.form_boxC .form_listC .file label>input {
  display: none;
}

.form_boxC .form_listC .file label {
  color: #000;
  background-color: #fff;
  padding: 0;
  border: 1px solid #8e8e8e;
  padding: 0.3em 1.5em;
  border-radius: 5px;
  margin: 0.5em 1em 2em 0;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease-in-out;
}

.form_boxC .form_listC .file label:hover {
  background-color: #f4f4f4;
}

.form_boxC .form_listC td.file input {
  border: none;
  padding: 0;
  margin: 0;
  font-size: 0.8em;
  border-radius: 0;
  height: auto;
  width: auto;
  background-color: #fff;
}

.form_boxC .form_listC {
  font-size: 1.3em;
  font-weight: bold;
  margin: 1em auto 3em;
  position: relative;
}

.form_boxC .form_listC td.bank input {
  width: 0;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxC .form_listC {
    margin: 0 auto 3em;
  }
}

@media (max-width: 500px) {
  .form_boxC .form_listC {
    margin: 0 auto 3em;
  }
}

.form_boxC .form_listC tr.top {
  vertical-align: top;
}

.form_boxC .form_listC th {
  padding: 1em 0 0;
  text-align: left;
  width: 30%;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxC .form_listC th {
    width: 100%;
    display: block;
  }
}

@media (max-width: 500px) {
  .form_boxC .form_listC th {
    width: 100%;
    display: block;
  }
}

.form_boxC .form_listC td {
  padding: 0.9em 0;
  text-align: left;
  position: relative;
  display: block;
}

@media (max-width: 1000px) {
  .form_boxC .form_listC td.bank {
    margin-left: 1em;
  }
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxC .form_listC td.bank {
    margin-left: 2.5em;
  }
}

@media (max-width: 500px) {
  .form_boxC .form_listC td.bank {
    margin-left: 1.5em;
  }
}

.form_boxC .form_listC span {
  font-weight: normal;
}

.form_boxC .form_listC .last input {
  background-color: rgb(255, 250, 227);
}

.form_boxC .form_listC .bank label {
  font-size: 1em;
  font-weight: normal;
  margin-right: 0.5em;
  vertical-align: middle;
}

.form_boxC .form_listC .bank label:before {
  width: 15px;
  height: 15px;
  line-height: 15px;
  margin-right: 0.5em;
  border: 1px solid #8e8e8e;
  background-color: #f4f4f4;
  margin-bottom: 0.1em;
}

.form_boxC .form_listC .bank input[type=radio]:checked+label::before {
  background-color: #76bb2d;
  box-shadow: inset 0 0 0 2px #f4f4f4;
}

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

セクション11　ご質問入力

/////////////////////////////////////////////////////////////*/
.form_wrapper .request_form textarea {
  margin: 2.5em 0 1em;
  width: 100%;
  height: 150px;
  font-size: 1em;
  border-radius: 5px;
  padding: 0.5em;
  resize: none;
  /* Font-Family 角ゴシック系 */
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
  border: 1px solid #8e8e8e;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_wrapper .request_form textarea {
    margin: 1.5em 0 0;
    font-size: 1.2em !important;
    height: 150px;
  }
}

@media (max-width: 500px) {
  .form_wrapper .request_form textarea {
    margin: 1.5em 0 2em;
    font-size: 1.2em !important;
    height: 120px;
  }
}

.form_btn {
  background-color: rgb(242, 150, 0);
  text-align: center;
  width: 50%;
  margin: 2em auto;
  padding: 1em 0;
  font-size: 1.5em;
  font-weight: bold;
  color: #fff;
  border-radius: 2em;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  letter-spacing: 2px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.form_btn:hover {
  /* animation */
  animation: popup 0.4s ease-in-out 0s forwards;
}

@media (max-width: 500px) {
  .form_btn {
    width: 80%;
    padding: 0.5em;
    margin: 0.5em auto 2em;
    font-size: 1.3em;
  }
}

@media (max-width: 500px) {
  .form_btn.check {
    margin: 1.5em auto 2em;
  }
}

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

お問い合わせセクション

/////////////////////////////////////////////////////////////*/
#container section.content_ask {
  background-color: #082e62;
  background-image: url(../img/bg_pattern.png);
  padding: 2em 0 0;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content_ask {
    padding: 1.5em 0 0;
  }
}

@media (max-width: 500px) {
  #container section.content_ask {
    background-image: url(../img/bg_patternSP.png);
    padding: 1em 0 0;
  }
}

#container section.content_ask img.Image {
  width: 200px;
  bottom: 0;
}

@media (max-width: 500px) {
  #container section.content_ask img.Image {
    width: 25%;
    margin-left: 0.5em;
  }
}

#container section.content_ask p {
  text-align: center !important;
}

@media (max-width: 500px) {
  #container section.content_ask p {
    margin: 0.5em;
  }
}

#container section.content_ask span {
  font-size: 1.8em;
  color: #fff;
  font-weight: bold;
  /* テキストドロップシャドウ */
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  filter: dropshadow(color=rgba(0, 0, 0, 0.3), offx=1, offy=1);
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content_ask span {
    font-size: 1.6em;
  }
}

@media (max-width: 500px) {
  #container section.content_ask span {
    font-size: 1.2em;
  }
}

#container section.content_ask .flexbox {
  display: flex;
  align-items: flex-end;
  justify-content: space-evenly;
}

@media (max-width: 500px) {
  #container section.content_ask .flexbox {
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
  }
}

#container section.content_ask .blockbox {
  display: block;
}

#container section.content_ask .btn {
  text-align: center;
  /*background-color: rgba(242,150,0,1);*/
  background-color: #fff;
  width: 60%;
  margin: 0 auto 2.5em;
  padding: 0.7em;
  font-size: 1.6em;
  font-weight: bold;
  border: solid 1px rgb(242, 150, 0);
  border-radius: 2em;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  letter-spacing: 2px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  vertical-align: middle;
}

#container section.content_ask .btn a {
  color: rgb(242, 150, 0) !important;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content_ask .btn {
    width: 100%;
    font-size: 1.4em;
  }
}

@media (max-width: 500px) {
  #container section.content_ask .btn {
    width: 80%;
    font-size: 1.2em;
    letter-spacing: 1px;
    margin: 1em auto 1.5em;
  }
}

#container section.content_ask .btn:hover {
  animation: popup 0.4s ease-in-out 0s forwards;
}

#container section.content_ask .btn:before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  margin-right: 0.3em;
  color: rgb(242, 150, 0) !important;
}

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

その他

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

申込ボタン

/////////////////////////////////////////////////////////////*/
.request_btn {
  background-color: rgb(242, 150, 0);
  width: 60%;
  margin: 1.5em auto 0;
  padding: 0.7em;
  font-size: 1.7em;
  font-weight: bold;
  color: #fff;
  border-radius: 2em;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  letter-spacing: 2px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.request_btn:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  color: #fff;
  position: absolute;
  right: 6%;
}

.request_btn:hover {
  /* animation */
  animation: popup 0.4s ease-in-out 0s forwards;
}

@media (max-width: 500px) {
  .request_btn {
    width: 80%;
    font-size: 1.5em;
    padding: 0.5em;
  }

  .request_btn:after {
    right: 6%;
    font-size: 0.8em;
    padding-top: 0.1em;
  }
}

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

バーガーメニュー

/////////////////////////////////////////////////////////////*/
nav {
  z-index: 5;
  display: block;
  position: fixed;
  top: 60px;
  /*right: -300px;*/
  right: -85%;
  bottom: 0;
  width: 85%;
  background: rgb(243, 251, 255);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all 0.5s;
  z-index: 3;
  opacity: 0;
}

.open nav {
  right: 0;
  opacity: 1;
}

nav .inner {
  padding: 15px;
}

nav .inner ul {
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
}

nav .inner ul li {
  line-height: 0.5;
}

nav .inner ul li a {
  display: block;
  color: #082e62;
  font-size: 1.4em;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}

@media (min-width: 401px) and (max-width: 500px) {
  nav .inner ul li a {
    font-size: 1.3em;
  }
}

@media (max-width: 400px) {
  nav .inner ul li a {
    font-size: 1.2em;
    padding: 0.9em 1em;
  }
}

nav .inner ul li a:before {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  color: #082e62;
  font-weight: 600;
  font-size: 1.1em;
  margin-right: 0.7em;
}

nav .inner ul li a:hover {
  background: #e4e4e4;
}

.toggle_btn {
  position: absolute;
  right: 10px;
  top: 7.5px;
  cursor: pointer;
  width: 45px;
  height: 45px;
  border-radius: 5px;
  z-index: 101;
}

.toggle_btn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 10px;
  height: 2px;
  border-radius: 5px;
  background: #fff;
  width: 55%;
}

.toggle_btn span:nth-child(1) {
  top: 14px;
}

.toggle_btn span:nth-child(2) {
  top: 22px;
}

.toggle_btn span:nth-child(3) {
  top: 30px;
}

.open .toggle_btn span {
  background-color: #fff;
}

.open .toggle_btn span:nth-child(1) {
  top: 16px;
  left: 8px;
  transform: translateY(6px) rotate(-45deg);
  width: 65%;
}

.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}

.open .toggle_btn span:nth-child(3) {
  top: 28px;
  left: 8px;
  transform: translateY(-6px) rotate(45deg);
  width: 65%;
}

#mask {
  display: none;
  transition: all 0.5s;
}

.open #mask {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  max-width: 750px;
  width: 100%;
  height: 100%;
  background: rgb(243, 251, 255);
  opacity: 0.9;
  z-index: 2;
  cursor: pointer;
}

#navArea.open nav {
  max-width: 750px;
}

#navArea .menubtn_top {
  width: 287px;
  margin: 0 auto 27px;
}

#navArea .menubtn_top div {
  margin-top: -4px;
}

#navArea .menubtn_top span {
  font-size: 0.7em;
  font-weight: normal;
}

#navArea .menubtn_bottom {
  width: 287px;
  margin: 0 auto;
}

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

フロートフッター

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

改行設定

/////////////////////////////////////////////////////////////*/
.br-sp {
  display: none;
}

@media (max-width: 768px) {
  .br-sp {
    display: inline-block;
  }
}

.br-pc {
  display: inline-block;
}

@media (max-width: 768px) {
  .br-pc {
    display: none;
  }
}

.br-pcB {
  display: inline-block;
}

@media (max-width: 1000px) {
  .br-pcB {
    display: none;
  }
}

.br-spB {
  display: none;
}

@media (max-width: 1000px) {
  .br-spB {
    display: inline-block;
  }
}

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

子ページ装飾

/////////////////////////////////////////////////////////////*/
#container section.other {
  background: rgb(8, 46, 98);
  background: linear-gradient(330deg, rgb(8, 46, 98) 0%, rgb(1, 160, 255) 100%);
  padding: 0.5em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(100vh - 234px);
}
#container section.other_new {
  background: #0066CC;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(100vh - 234px);
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.other {
    min-height: calc(100vh - 250px);
  }
}

@media screen and (min-width: 361px) and (max-width: 500px) {
  #container section.other {
    background: rgb(8, 46, 98);
    background: linear-gradient(330deg, rgb(8, 46, 98) 0%, rgb(1, 160, 255) 100%);
    min-height: calc(100vh - 196px);
  }
}

@media screen and (max-width: 500px) {
  #container section.other_new {
    padding: 0;
  }
}

@media (max-width: 360px) {
  #container section.other {
    background: rgb(8, 46, 98);
    background: linear-gradient(330deg, rgb(8, 46, 98) 0%, rgb(1, 160, 255) 100%);
    min-height: calc(100vh - 190px);
  }
}

#container section.other .bold p {
  font-size: 1.5em !important;
  font-weight: bold !important;
  text-align: center !important;
  line-height: 2 !important;
}

@media (max-width: 500px) {
  #container section.other .bold p {
    font-size: 1.3em !important;
  }
}

#container section.other .otherbox {
  background: #fff;
  border: 2px solid #000;
  border-radius: 15px;
  width: 86%;
  margin: 3em auto;
  padding: 1.5em;
  text-align: center;
  position: relative;
}

#container section.other_new .otherbox {
  background: #fff;
  border-radius: 15px;
  margin: 3em auto;
  padding: 1.5em;
  text-align: center;
  position: relative;
}

@media (max-width: 500px) {
  #container section.other .otherbox {
    width: 95%;
    padding: 1em;
    margin: 2em auto 2em;
  }
  #container section.other_new .otherbox {
    border-radius: 0;
    padding: 1em;
    margin: 2em auto 0;
  }
  #container section.other_new .otherbox.mt0 {
    margin: 0 auto;
  }
}

#container section.other .return_btn {
  background-color: #082e62;
  width: 60%;
  margin: 1.5em auto;
  padding: 0.7em;
  font-size: 1.7em;
  font-weight: bold;
  color: #fff;
  border-radius: 2em;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  letter-spacing: 2px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

#container section.other .return_btn:hover {
  /* animation */
  animation: popup 0.4s ease-in-out 0s forwards;
}

@media (max-width: 500px) {
  #container section.other .return_btn {
    width: 80%;
    font-size: 1.5em;
    padding: 0.5em;
  }
}

body:not(.index) h3 {
  text-align: center;
  color: #fff;
  font-size: 2em;
  padding-top: 1em;
  /* テキストドロップシャドウ */
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  filter: dropshadow(color=rgba(0, 0, 0, 0.3), offx=1, offy=1);
}
body:not(.index) .other_new h3 {
  text-align: center;
  color: #fff;
  font-size: 24px;
  padding-top: 1em;
}

body:not(.index) #header .NavBar .flexbox {
  justify-content: space-between;
}

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

子ページフォーム

/////////////////////////////////////////////////////////////*/
.form_other .request_form textarea {
  /*margin: 2.5em 0 1em;*/
  width: 100%;
  height: 150px;
  font-size: 1em;
  border-radius: 5px;
  padding: 0.5em;
  resize: none;
  /* Font-Family 角ゴシック系 */
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
  border: 1px solid #8e8e8e;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_other .request_form textarea {
    font-size: 0.9em !important;
    height: 150px;
  }
}

@media (max-width: 500px) {
  .form_other .request_form textarea {
    font-size: 0.9em !important;
    height: 120px;
  }

  .form_other .request_form textarea.px16 {
    font-size: 16px !important;
  }
}

.form_other .form_inner {
  width: 95%;
  margin: 0 auto;
}

@media (max-width: 500px) {
  .form_other .form_inner {
    width: 100%;
  }
}

.form_other .stop_reason {
  font-weight: normal !important;
  background: #fff;
  margin: 1em 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

.form_other .stop_reason input {
  width: 0;
  font-weight: normal;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_other .stop_reason {
    margin: 0;
    display: block;
  }
}

@media (max-width: 500px) {
  .form_other .stop_reason {
    margin: 0;
    display: block;
  }
}

.form_other .stop_reason_label {
  background: #fff;
  padding: 0 0.5em;
  margin: 0.5em 0.4em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media (max-width: 500px) {
  .form_other .stop_reason_label {
    padding: 0.2em;
    margin: 0.5em 0.4em;
  }
}

.form_other .stop_reason_label .reason {
  font-size: 0.9em;
  padding: 0 0.5em;
}

@media (max-width: 500px) {
  .form_other .stop_reason_label .reason {
    font-size: 0.9em;
    padding: 0 0.5em;
    word-break: break-all;
  }
}

.form_other .stop_reason input[type=checkbox] {
  display: none;
}

.form_other .stop_reason input[type=checkbox]+label::before,
input[type=checkbox]:before {
  content: "";
  border: 1px solid #b4b4b4;
  display: inline-block;
  position: relative;
  top: 0px;
  margin-right: 5px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
  transition: all 0.25s ease-in-out 0s;
  border-radius: 3px;
  width: 15px;
  height: 15px;
  line-height: 15px;
}

.form_other .stop_reason input[type=checkbox]:checked+label {
  background: none;
  color: #000;
  text-shadow: none;
  -webkit-text-shadow: none;
}

input[type=checkbox]:checked+label::before,
input[type=checkbox]:checked+div.form_error+label::before {
  background-color: #76bb2d;
  box-shadow: inset 0 0 0 2px #f4f4f4;
}

input[type=checkbox]:focus+label::before,
input[type=checkbox]:focus+div.form_error+label::before {
  outline: none;
  background-color: #76bb2d;
}

input[type=checkbox]:disabled+label::before,
input[type=checkbox]:disabled+div.form_error+label::before {
  box-shadow: inset 0 0 0 2px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}

input[type=checkbox]+label:empty::before,
input[type=checkbox]+div.form_error+label:empty::before {
  margin-right: 0;
}

.form_box_other {
  margin: 1em auto;
  padding: 0;
  text-align: center;
  position: relative;
}

.form_box_other .form_list_other input {
  border: 1px solid #8e8e8e;
  padding: 0.5em 0.7em;
  margin: 0 0.5em 0 0;
  font-size: 1em;
  border-radius: 5px;
  height: 60px;
  width: 100%;
  background-color: #f4f4f4;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_box_other .form_list_other input {
    height: 50px;
    font-size: 1em !important;
    margin: 0 auto;
  }
}

@media (max-width: 500px) {
  .form_box_other .form_list_other input {
    height: 40px;
    font-size: 0.9em !important;
    margin: 0 auto;
  }

  .form_box_other .form_list_other input.px16 {
    font-size: 16px !important;
  }
}

.form_box_other .form_list_other {
  font-size: 1.3em;
  font-weight: bold;
  margin: 1em auto;
  position: relative;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_box_other .form_list_other {
    margin: 0 auto;
    width: 90%;
  }
}

@media (max-width: 500px) {
  .form_box_other .form_list_other {
    margin: 0 auto;
    width: 90%;
  }
}

.form_box_other .form_list_other tr.top {
  vertical-align: top;
}

.form_box_other .form_list_other th {
  padding: 0 2em 0 0;
  text-align: left;
  width: 30%;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_box_other .form_list_other th {
    width: 100%;
    display: block;
    padding: 1em 0 0;
  }
}

@media (max-width: 500px) {
  .form_box_other .form_list_other th {
    width: 100%;
    display: block;
    padding: 1em 0 0;
  }
}

.form_box_other .form_list_other td {
  padding: 0.6em 0;
  text-align: left;
  position: relative;
  display: block;
}

.form_other .form_btn {
  margin: 1.5em auto !important;
}

@media (max-width: 500px) {
  .form_other .form_btn {
    margin: 1em auto 2.5em !important;
  }
}

.back_btn {
  background-color: #bbb;
  text-align: center;
  width: 30%;
  padding: 1em 0;
  font-size: 1.3em;
  font-weight: bold;
  color: #fff;
  border-radius: 2em;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  letter-spacing: 2px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  margin-bottom: 1em;
}

.back_btn:hover {
  animation: popup 0.4s ease-in-out 0s forwards;
}

@media (max-width: 500px) {
  .back_btn {
    width: 50%;
    padding: 0.5em;
    /*margin: .5em auto 2em;*/
    font-size: 1.3em;
    /*margin: 1em auto 2.5em!important;*/
  }
}

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

利用規約

/////////////////////////////////////////////////////////////*/
.table_admin {
  margin: 1em auto;
  font-size: 1em;
}

.table_admin tr {
  border-bottom: 1px solid #b5b1b1;
}

.table_admin th,
.table_admin td {
  padding: 1.5em 0;
  border: none;
  text-align: left;
}

.table_admin th {
  width: 30%;
}

/* sp */
@media only screen and (max-width: 500px) {
  .table_admin {
    width: 90%;
  }

  .table_admin th,
  .table_admin td {
    padding: 1.2em 0;
    width: 100%;
    display: block;
  }

  .table_admin th {
    width: 100%;
  }

  .table_admin td {
    padding-top: 0;
  }
}

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

フォーム基本設定

/////////////////////////////////////////////////////////////*/
.form p {
  font-size: 1.5em !important;
}

/* iPhone用 inputの角丸をやめる */
input[type=button],
input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=search],
input[type=reset],
input[type=password],
input[type=submit],
input[type=image],
textarea,
select {
  -webkit-appearance: none;
  border-radius: 0;
}

.form .ErrorBox li {
  font-size: 2em;
}

/*
@media (max-width: 768px) {

  input,
  textarea,
  select {
    font-size: 1.6em !important;
  }
}
*/

#container p.allCheck {
  font-size: 0.8em;
  margin: 0 0 0.5em;
  font-weight: bold;
}

#container label.allchecked {
  background: rgba(0, 133, 178, 0.1);
}

.input_text {
  width: 95%;
  padding: 10px 20px;
  font-weight: bold;
  font-size: 1.5em;
  border: 3px solid rgba(115, 189, 255, 0.2);
  transition: 0.2s ease-in-out;
}

@media (max-width: 768px) {
  .input_text {
    padding: 10px 10px;
    margin: 0 0;
    font-size: 1.2em;
    border-width: 3px;
  }
}

.input_text_s {
  width: 60%;
  margin: 0 5px;
  padding: 10px 20px;
  font-weight: bold;
  font-size: 1.6em;
  border: 3px solid #ccc;
  text-align: left;
  transition: 0.2s ease-in-out;
}

@media (max-width: 768px) {
  .input_text_s {
    padding: 10px 10px;
    margin: 0 0;
    font-size: 1.2em;
    border-width: 3px;
  }
}

.input_text_ss {
  width: 20%;
  text-align: center;
  margin: 0 10px;
  padding: 10px 20px;
  font-weight: bold;
  font-size: 1.6em;
  border: 3px solid rgba(115, 189, 255, 0.2);
  transition: 0.2s ease-in-out;
}

@media (max-width: 768px) {
  .input_text_ss {
    padding: 10px 10px;
    margin: 0 0;
    font-size: 1.2em;
    width: 25%;
    border-width: 3px;
  }
}

.form select {
  padding: 10px 20px;
  text-align: center;
  border: 3px solid #ccc;
  font-weight: bold;
  background: #fff;
  width: 30%;
  font-size: 1.6em;
}

/* FireFox */
@-moz-document url-prefix() {
  select {
    height: 5em;
    line-height: 5em;
  }
}

@media (max-width: 768px) {
  select {
    padding: 10px 10px;
    margin: 5px 0;
    font-size: 1.2em;
    border-width: 3px;
    width: auto;
  }
}

select.select_s {
  width: 20%;
}

td.select {
  position: relative;
}

td.select select+i {
  position: absolute;
  left: 38%;
  bottom: 18px;
  font-size: 1.7em;
}

@media (max-width: 768px) {
  td.select select+i {
    left: 115px;
  }
}

option {
  padding: 5px;
  text-align: center;
}

.textarea {
  width: 95%;
  height: 130px;
  padding: 10px 20px;
  margin: 0;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
  font-weight: normal;
  font-size: 1.5em;
  resize: none;
  overflow: auto;
  border: 3px solid rgba(115, 189, 255, 0.2);
  transition: 0.2s ease-in-out;
}

@media (max-width: 768px) {
  .textarea {
    padding: 10px 10px;
    margin: 5px 0;
    font-size: 1.2em;
    border-width: 3px;
  }
}

.textarea_s {
  width: 95%;
  height: 100px;
  padding: 10px 20px;
  font-weight: normal;
  font-size: 1.8em;
  resize: none;
  overflow: auto;
  border: 3px solid #ccc;
  transition: 0.2s ease-in-out;
}

@media (max-width: 768px) {
  .textarea_s {
    padding: 10px 10px;
    margin: 5px 0;
    font-size: 1.2em;
    border-width: 3px;
  }
}

input.submit {
  display: block;
  width: 30%;
  height: 20px;
  line-height: 20px;
  text-align: center;
  border: 1px solid #999;
  color: #333;
  font-size: 1.5em;
  margin: 10px 10px 10px 0;
  text-decoration: none;
  padding: 5px 10px;
  font-weight: bold;
  background-image: linear-gradient(bottom, rgb(214, 214, 214) 40%, rgb(255, 255, 255) 95%);
  background-image: -ms-linear-gradient(bottom, rgb(214, 214, 214) 40%, rgb(255, 255, 255) 95%);
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.4, rgb(214, 214, 214)), color-stop(0.95, rgb(255, 255, 255)));
  border-radius: 4px;
}

.require_text {
  font-size: 0.8em;
  font-weight: bold;
  color: #C00;
}

@media (max-width: 768px) {
  .require_text {
    font-size: 0.8em;
  }
}

.require span {
  background: #c00;
  color: #fff !important;
  padding: 0.1em 0.4em;
  font-size: 0.8em;
  -webkit-text-shadow: none;
  text-shadow: none;
  border-radius: 4px;
  white-space: nowrap;
  margin-left: 0.5em;
}

@media (max-width: 768px) {
  .require span {
    font-size: 10px;
    display: inline-block;
  }
}

@media (max-width: 768px) {
  .form table .require span {
    margin-top: 10px;
  }
}

.inputhead {
  line-height: 2.5;
}

input:hover,
textarea:hover,
select:hover {
  border-color: #082e62;
  background-color: rgba(115, 189, 255, 0.1);
}

input:focus,
textarea:focus,
select:focus {
  border-color: rgb(242, 150, 0);
  background-color: rgba(242, 150, 0, 0.1);
  outline: none;
}

@media (max-width: 768px) {

  input:hover,
  textarea:hover,
  select:hover {
    border-width: 3px;
  }

  input:focus,
  textarea:focus,
  select:focus {
    border-width: 3px;
  }
}

input[type=radio]+div.form_error label input[type=radio]+label {
  font-size: 1.8em;
  padding: 0.4em 0.7em;
  transition: 0.3s ease-in-out;
}

input[type=radio]+label.title {
  font-size: 3.5em;
}

@media (max-width: 768px) {
  input[type=radio]+label.title {
    font-size: 2em;
  }
}

input[type=radio] {
  margin: 0 5px;
}

input[type=radio]+label svg {
  display: none;
  opacity: 0;
  color: #0085b2;
}

input[type=radio]:checked+label svg {
  opacity: 1;
  display: inline-block;
}

.form label {
  font-size: 1.5em;
}

.form label input {
  margin-right: 10px;
}

input[type=file] {
  font-size: 1em;
}

input[type=file]:hover,
input[type=file].valid {
  border: none;
  background-color: inherit;
}

input[type=radio]:hover,
input[type=radio].valid {
  background: #111;
  border-color: #111;
}

input.submit:hover {
  border: none;
  background-color: inherit !important;
}

/* エラー時のフォーム */
.form_error {
  background: rgb(255, 242, 245);
  border-color: rgb(247, 12, 70);
}

/* エラー文表示 */
div.form_error {
  display: none;
  padding: 0.5em 0.5em;
  margin: 0.5em 0;
  z-index: 10;
  font-size: 1em;
  font-weight: bold;
  position: absolute;
  bottom: 5px;
  right: 5px;
  background: rgb(247, 12, 70);
  color: rgb(255, 255, 255);
  border-radius: 4px;
}

@media (max-width: 768px) {
  div.form_error {
    right: -10px;
    bottom: -5px;
  }
}

input.tel.form_error~input.tel {
  color: rgb(247, 12, 70);
  background: rgb(255, 242, 245);
  border-color: rgb(247, 12, 70);
}

.ErrorBox {
  display: none;
  padding-top: 10px;
  -webkit-text-shadow: none;
  text-shadow: none;
}

.ErrorBox li {
  margin-bottom: 0.5em;
}

.ErrorBox div.form_error {
  position: inherit;
  display: block;
  background-image: inherit !important;
  background-color: inherit !important;
  border: none !important;
  color: #C00 !important;
  padding: 0 0 0 10px;
  margin: 0;
  box-shadow: none;
  border-radius: 0;
}

/* placeholder設定【共通】*/
/* web-kit用 */
input::-webkit-input-placeholder {
  color: #ccc;
  font-weight: normal !important;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

input:hover::-webkit-input-placeholder,
input.valid::-webkit-input-placeholder {
  color: #069;
}

input:focus::-webkit-input-placeholder {
  color: #F90;
}

input.form_error::-webkit-input-placeholder {
  color: #C00;
}

textarea::-webkit-input-placeholder {
  color: #ccc;
  font-weight: normal !important;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

textarea:hover::-webkit-input-placeholder,
textarea.valid::-webkit-input-placeholder {
  color: #069;
}

textarea:focus::-webkit-input-placeholder {
  color: #F90;
}

textarea.form_error::-webkit-input-placeholder {
  color: #C00;
}

/* Firefox用 */
input:-moz-placeholder {
  color: #ccc;
  font-weight: normal !important;
  -moz-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

input:hover:-moz-placeholder,
input.valid:-moz-placeholder {
  color: #069;
}

input:focus:-moz-placeholder {
  color: #F90;
}

input.form_error:-moz-placeholder {
  color: #C00;
}

textarea:-moz-placeholder {
  color: #ccc;
  font-weight: normal !important;
  -moz-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

textarea:hover:-moz-placeholder,
textarea.valid:-moz-placeholder {
  color: #069;
}

textarea:focus:-moz-placeholder {
  color: #F90;
}

textarea.form_error:-moz-placeholder {
  color: #C00;
}

input:-ms-placeholder {
  color: #ccc;
  font-weight: normal !important;
  -ms-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

input:hover:-ms-placeholder,
input.valid:-ms-placeholder {
  color: #069;
}

input:focus:-ms-placeholder {
  color: #F90;
}

input.form_error:-ms-placeholder {
  color: #C00;
}

textarea:-ms-placeholder {
  color: #ccc;
  font-weight: normal !important;
  -ms-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

textarea:hover:-ms-placeholder,
textarea.valid:-ms-placeholder {
  color: #069;
}

textarea:focus:-ms-placeholder {
  color: #F90;
}

textarea.form_error:-ms-placeholder {
  color: #C00;
}

input:-o-placeholder {
  color: #ccc;
  font-weight: normal !important;
  /* イージング */
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

input:hover:-o-placeholder,
input.valid:-o-placeholder {
  color: #069;
}

input:focus:-o-placeholder {
  color: #F90;
}

input.form_error:-o-placeholder {
  color: #C00;
}

textarea:-o-placeholder {
  color: #ccc;
  font-weight: normal !important;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

textarea:hover:-o-placeholder,
textarea.valid:-o-placeholder {
  color: #069;
}

textarea:focus:-o-placeholder {
  color: #F90;
}

textarea.form_error:-o-placeholder {
  color: #C00;
}

.teltext_m {
  display: none;
}

input.telinput {
  margin: 10px 0 0;
}

input.pw {
  padding-right: 1.5em;
}

@media (max-width: 768px) {
  input.pw {
    padding-right: 35px;
  }
}

input.pw~i {
  margin-top: -35px;
  margin-left: 400px;
  color: rgba(0, 0, 0, 0.7);
  font-size: 1.5em;
  position: absolute;
  cursor: pointer;
  display: none;
}

@media (max-width: 768px) {
  input.pw~i {
    margin-top: -30px;
    margin-left: 170px;
    font-size: 2em;
  }
}

/* iPhone4,iPhone5,iPhone5s+Android */
@media screen and (min-width: 320px) and (max-width: 374px) {
  input.pw~i {
    margin-left: 140px;
  }
}

input.pw~i.on {
  display: block;
}

.form {
  border-radius: 5px;
}

@media (max-width: 768px) {
  .form {
    padding: 10px;
    margin: 10px 0;
  }
}

.form table {
  width: 100%;
  font-size: 0.8em;
}

.form table tr {
  width: 100%;
}

.form table.common th {
  text-align: left;
  font-size: 1.5em;
  font-weight: bold;
}

.form table.common th span.require,
.form table.common th span.small {
  margin-left: 0.5em;
}

.form table td {
  padding: 20px 20px;
  border-bottom: 2px dotted #ccc;
  display: -webkit-box;
  display: box;
  display: -webkit-flexbox;
  display: flexbox;
  display: flex;
  flex-flow: row nowrap;
  justify-content: start;
  align-items: center;
}

@media (max-width: 768px) {
  .form table td {
    /*padding:1.5em 0;*/
    padding: 0.5em 0;
    border-bottom: 1px dotted #ccc;
  }
}

.form table td .addtext {
  font-size: 2em;
}

.form table td.head {
  font-weight: bold;
  display: inline-block;
  position: relative;
  font-size: 1.6em;
  border: none;
  padding: 20px 20px 0;
  margin-bottom: -10px;
  display: -webkit-box;
  display: box;
  display: -webkit-flexbox;
  display: flexbox;
  display: flex;
  flex-flow: row nowrap;
  justify-content: start;
  align-items: center;
}

@media (max-width: 768px) {
  .form table td.head {
    /*padding:0;*/
    padding: 1em 0 0;
    font-size: 1.5em;
  }
}

.form table td.Confirm {
  font-size: 2em;
  flex-flow: row wrap;
}

.form table td.Confirm label {
  font-size: 0.8em;
  margin-left: 0.5em;
}

.form table td.Confirm div.form_error {
  font-size: 11px;
}

@media (max-width: 768px) {
  .form table td.Confirm div.form_error {
    font-size: 10px;
  }
}

.form table td.cf_head {
  font-weight: bold;
  font-size: 1.5em;
  color: #111;
  width: 100%;
  display: inline-block;
  text-align: left;
}

.form table td.cf {
  /*font-weight:bold;*/
  color: #082e62;
  font-size: 1.5em;
  -webkit-text-shadow: none;
  text-shadow: none;
}

.form table td.cf img {
  margin: 0 0.5em;
  max-width: 40%;
}

.form table td.cf table.inner {
  font-size: 0.9em;
  border: 1px solid rgba(115, 189, 255, 0.1);
}

.form table td.cf table.inner th {
  background: rgba(115, 189, 255, 0.1);
  color: #082e62;
  width: 30%;
  font-weight: normal;
}

.form table td.cf table.inner td {
  border-bottom: none;
}

@media (max-width: 768px) {
  .form table td.cf table.inner th {
    width: 100%;
    display: block;
    padding: 0.5em;
  }

  .form table td.cf table.inner td {
    padding: 0.5em;
  }
}

@media (max-width: 768px) {
  .form table td.cf {
    padding: 15px 0;
    /*font-size:1.8em;*/
  }
}

.form table td span {
  margin-left: 10px;
  margin-right: 10px;
}

.form table td span.InputAfter {
  margin: 0;
  font-size: 1.5em;
}

@media (max-width: 768px) {
  .form table td span.InputAfter {
    font-size: 2em;
    margin-left: 0.5em;
  }
}

.form table td span.add {
  font-size: 2em;
}

.form .formtype {
  font-weight: bold;
  color: #fff;
  background: #069;
}

.form span.Add {
  font-size: 2em;
}

.form table td span.require {
  margin: 0;
  display: -webkit-box;
  display: box;
  display: -webkit-flexbox;
  display: flexbox;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .form table td span.require {
    font-size: 0.8em;
  }
}

.form table td span.require span {
  margin: 0 0 0 1em;
}

@media (max-width: 768px) {
  .form table td span.require span {
    margin: 0 0 0 0.5em;
  }
}

.form select+t {
  font-size: 1.5em;
  margin: 0 0.5em;
}

#container section.Form table td.head .small {
  font-size: 0.8em;
}

/* ラジオボタン・カスタマイズ */
input[type=radio] {
  position: absolute;
  -webkit-opacity: 0;
  opacity: 0;
}

input[type=radio]+label,
input[type=radio]+div.form_error+label {
  padding: 5px 50px 5px 5px;
  line-height: 20px;
  cursor: pointer;
}

@media (max-width: 768px) {

  input[type=radio]+label,
  input[type=radio]+div.form_error+label {
    padding: 5px 10px 5px 5px;
  }
}

input[type=radio]+label::before,
input[type=radio]+div.form_error+label::before {
  content: "";
  background: #fff;
  border-radius: 100%;
  border: 1px solid #b4b4b4;
  display: inline-block;
  width: 10px;
  height: 10px;
  line-height: 10px;
  position: relative;
  top: 0px;
  margin-right: 5px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
  transition: all 0.25s ease-in-out 0s;
}

input[type=radio]:checked+label::before,
input[type=radio]:checked+div.form_error+label::before {
  background-color: #082e62;
  box-shadow: inset 0 0 0 2px #f4f4f4;
}

input[type=radio]:focus+label::before,
input[type=radio]:focus+div.form_error+label::before {
  outline: none;
  background-color: #082e62;
}

input[type=radio]:disabled+label::before,
input[type=radio]:disabled+div.form_error+label::before {
  box-shadow: inset 0 0 0 2px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}

input[type=radio]+label:empty::before,
input[type=radio]+div.form_error+label:empty::before {
  margin-right: 0;
}

input[type=radio]:checked+div.form_error+label,
input[type=checkbox]:checked+div.form_error+label,
input[type=radio]:checked+label,
input[type=checkbox]:checked+label {
  background: rgba(0, 133, 178, 0.1);
  color: #0085b2;
  text-shadow: none;
  -webkit-text-shadow: none;
}

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

TOPヘッダ内スライダー

/////////////////////////////////////////////////////////////*/
.slider {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.slider.brand {
  height: 75px;
}

.slider .slide-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slider .slide-item.brand {
  width: 228px;
  width: inherit;
}

.slider .slide-item.rate {
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: inherit;
}

/* .slider .slide-item:nth-child(1) {
  animation-name: slider;
  animation-delay: -2s;
}

.slider .slide-item:nth-child(2) {
  animation-name: slider;
  animation-delay: 4s;
  opacity: 0;
}

.slider .slide-item:nth-child(3) {
  animation-name: slider;
  animation-delay: 10s;
  opacity: 0;
} */

/* @keyframes slider {
  0% {
    opacity: 0;
  }

  20.83% {
    opacity: 1;
  }

  33.33% {
    opacity: 1;
  }

  45.83% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
} */


@keyframes HorizontalShake {
  0% {
    transform: translateX(0px);
  }

  85% {
    transform: translateX(0px);
  }

  88% {
    transform: translateX(7px);
  }

  91% {
    transform: translateX(-7px);
  }

  94% {
    transform: translateX(7px);
  }

  97% {
    transform: translateX(-7px);
  }

  100% {
    transform: translateX(0px);
  }
}

.horizontal-shake {
  animation-name: HorizontalShake;
  animation-duration: 2200ms;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: normal;
}

@media (max-width: 768px) {
  .slider.brand {
    height: 10vw;
  }
}

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

リピーター様用LP　/cashback（body"special"）

/////////////////////////////////////////////////////////////*/
body.special #header .NavBar {
  width: 100%;
  position: fixed;
  height: 80px;
}

@media (max-width: 500px) {
  body.special #header .NavBar {
    height: 80px;
  }
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  body.special #header .headerBg {
    position: relative;
    background: url(../img/header_special.png) no-repeat center bottom, url(../img/header_special_back.png) no-repeat center center, rgba(115, 189, 255, 0.5);
    background-size: 100vw, cover, cover;
    height: 0;
    width: 100%;
    padding-top: calc(50% + 80px);
  }
}

@media (max-width: 500px) {
  body.special #header .headerBg {
    height: auto;
    z-index: 0;
    background: none;
    padding-top: 60px;
  }
}

body.special #header .headerBg .wrapper {
  width: 750px;
  position: relative;
}

@media (max-width: 1000px) {
  body.special #header .headerBg .wrapper {
    width: 100%;
    padding: 0;
  }
}

body.special #header .headerSP {
  display: none;
}

@media (max-width: 500px) {
  body.special #header .headerSP {
    display: block;
  }
}

body.special #header .feature {
  background: #000;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
}

body.special #header .feature .wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
}

body.special #header .feature .box {
  background: #f4f4f4;
  width: 23%;
  margin: 0 0.5em;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 80px;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 1.4em;
}

body.special #header .feature .box img {
  width: 50px;
  margin-right: 0.3em;
}

@media (max-width: 500px) {
  body.special #header .feature .box {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
  }

  body.special #header .feature .box img {
    width: 30px;
    margin-left: 0;
    margin-right: 0;
  }
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  body.special #header .feature .wrapper {
    height: 100px;
  }

  body.special #header .feature .box {
    font-size: 2vw;
  }

  body.special #header .feature .box {
    height: 70px;
  }
}

@media (max-width: 500px) {
  body.special #header .feature .wrapper {
    height: 60px;
  }

  body.special #header .feature .box {
    font-size: 2.2vw;
  }

  body.special #header .feature .box {
    height: 40px;
  }
}

body.special #header .wrapper:after {
  content: none;
}

body.special #header .headerButton {
  background: rgb(242, 150, 0);
  color: #fff;
  padding: 0.5em 2em 0.5em 1.5em;
  border-radius: 50px;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  position: relative;
  margin: 0.5em;
  letter-spacing: 1.5px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  width: 20%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 800px) {
  body.special #header .headerButton {
    width: auto;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  body.special #header .headerButton {
    margin-top: 1em;
  }
}

@media screen and (min-width: 501px) and (max-width: 800px) {
  body.special #header .headerButton {
    margin-top: 0.8em;
  }
}

@media (max-width: 500px) {
  body.special #header .headerButton {
    font-size: 1.1em;
  }

  body.special #header .headerButton i {
    margin-top: 0.1em;
  }
}

body.special #header .special_rate_box {
  position: absolute;
  top: 240px;
  right: 75px;
  width: 290px;
  text-align: center;
}

body.special #header .special_first_box {
  margin-bottom: 0.3em;
}

body.special #header .special_first {
  font-size: 2em;
  color: #fff;
  /*background: #000;*/
  text-shadow: 1px 2px 0 #7a6431;
  background-image: linear-gradient(90deg, #a58c48, #d0be6f, #a58c48, #d0be6f, #a58c48);
}

body.special #header .special_first_rate {
  font-size: 5.5em;
  color: red;
  font-weight: bold;
}

body.special #header .special_second {
  color: #fff;
  /*background: #000;*/
  font-size: 2em;
  text-shadow: 1px 2px 0 #666;
  background-image: linear-gradient(90deg, #999, #ccc, #999, #ccc, #999);
}

body.special #header .special_second_rate {
  font-size: 5.5em;
  color: red;
  font-weight: bold;
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  body.special #header .special_rate_box {
    position: absolute;
    top: -315px;
    right: 43px;
    width: 33%;
  }
}

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

セクションcontent-compare

/////////////////////////////////////////////////////////////*/
#container section.content-compare {
  background: #fffae3;
  /*background: #c0e7ff;*/
  /*background: #e5e5e5;*/
  position: relative;
  /*padding: 50px 0px 30px;*/
  padding: 4em 0 3em;
  z-index: 1;
}

@media (max-width: 800px) {
  #container section.content-compare .caption .next {
    display: inline-flex;
    align-items: center;
    font-size: 3.5vw;
  }
}

#container section.content-compare img.Image {
  margin: 2em auto 3em;
}

#container section.content-compare p.value {
  font-size: 0.8em !important;
  padding-top: 1em;
  padding-bottom: 1em;
}

#container section.content-compare span {
  background: linear-gradient(transparent 60%, #fbdd51 60%);
}

@media (max-width: 500px) {
  #container section.content-compare {
    padding: 2em 0 3em;
  }

  #container section.content-compare .caption {
    font-size: 5vw;
    margin-bottom: 0.5em;
  }

  #container section.content-compare img.Image {
    margin: 2em auto 2em;
    height: 15px;
  }

  #container section.content-compare p.value {
    font-size: 1em !important;
    padding-top: 1em;
    padding-bottom: 1em;
  }
}

#container section.content-compare .textbox {
  width: 90%;
  margin: 0 auto;
}

@media (max-width: 500px) {
  #container section.content-compare .textbox {
    width: 95%;
  }
}

#container section.content-compare .textbox p {
  font-size: 0.9em;
  font-weight: bold;
}

@media (min-width: 600px) {
  #container section.content-compare .compare_sp {
    display: none;
  }
}

@media (max-width: 600px) {
  #container section.content-compare .compare_sp {
    width: 90%;
    margin: 0 auto;
  }

  #container section.content-compare .compare_sp .compare_head {
    font-weight: bold;
    font-size: 1.3em;
    /*background: #f29600;*/
    background: #082e62;
    color: #fff;
    padding: 0.3em 0;
  }

  #container section.content-compare .compare_sp .compare_box {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    background: #fff;
    margin-bottom: 1.5em;
    box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
    text-align: left;
    font-size: 1.2em;
    padding: 0.5em 0 1em;
  }

  #container section.content-compare .compare_sp .compare_box .compare_right,
  #container section.content-compare .compare_sp .compare_box .compare_left {
    width: 45%;
  }

  #container section.content-compare .compare_sp .compare_box .a,
  #container section.content-compare .compare_sp .compare_box .b,
  #container section.content-compare .compare_sp .compare_box .c {
    padding: 0.5em 0;
    height: 10vw;
  }

  #container section.content-compare .compare_sp .compare_box .compare_left .a {
    border-bottom: solid #082e62 2px;
  }

  #container section.content-compare .compare_sp .compare_box .compare_right .a {
    border-bottom: solid #082e62 1px;
    font-weight: bold;
    font-size: 1.1em;
  }

  #container section.content-compare .compare_sp .compare_box .compare_left .b,
  #container section.content-compare .compare_sp .compare_box .compare_left .c {
    border-bottom: solid #bbb 2px;
  }

  #container section.content-compare .compare_sp .compare_box .compare_right .b,
  #container section.content-compare .compare_sp .compare_box .compare_right .c {
    border-bottom: solid #bbb 1px;
    font-size: 0.9em;
  }

  #container section.content-compare .compare_sp .compare_box img.innerlogo {
    width: 35vw;
    margin-top: 3px;
  }

  #container section.content-compare .compare_sp .compare_box:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 600px) {
  table.compare {
    display: none;
  }
}

@media (min-width: 600px) {
  table.compare {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    width: 90%;
  }

  table.compare img.innerlogo {
    width: 200px;
    height: auto;
    /*height: 25px;*/
    margin-bottom: 5px;
  }

  table.compare th,
  table.compare td {
    padding: 0.8em 1em;
    border: 1px solid #eee;
    text-align: center !important;
  }

  table.compare thead th {
    font-size: 1.3em;
    padding: 1em 1.5em;
  }

  table.compare thead th {
    background: #082e62;
  }

  table.compare thead th:nth-of-type(1) {
    background: none !important;
    border: none;
  }

  table.compare thead th:nth-of-type(2) {
    font-size: 1.3em;
    padding: 1em 0.5em;
    text-shadow: 1px 2px 0 #7a6431;
    background-image: linear-gradient(90deg, #a58c48, #d0be6f, #a58c48, #d0be6f, #a58c48);
  }

  table.compare thead th:nth-of-type(3),
  table.compare thead th:nth-of-type(4) {
    background: #bbb;
  }

  table.compare thead tr {
    color: #fff;
  }

  table.compare tbody th {
    background: #082e62 !important;
    color: #fff;
  }

  table.compare tbody th,
  table.compare tbody td {
    text-align: left;
    font-size: 1.3em;
    background: #fff;
  }

  table.compare tbody td:nth-child(2) {
    font-size: 1.4em;
    font-weight: bold;
  }

  table.compare tbody td:nth-child(3),
  table.compare tbody td:nth-child(4) {
    background: #fff !important;
  }
}

@media screen and (min-width: 600px) and (max-width: 600px) {
  table.compare {
    width: 100%;
  }
}

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

セクションfourstep

/////////////////////////////////////////////////////////////*/
#container section.content-fourstep {
  background-color: #082e62;
  background-image: url(../img/bg_pattern.png);
  /*padding: 60px 0 30px;*/
  padding: 4em 0 3em;
}

#container section.content-fourstep img.step {
  margin: 2em auto !important;
}

#container section.content-fourstep img.fourstep {
  width: 250px;
  margin: 3em auto;
}

#container section.content-fourstep .caption {
  font-size: 2.7em;
  color: #fff;
  margin-bottom: 0;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.content-fourstep .caption {
    font-size: 2.2em;
  }

  #container section.content06 img.step {
    margin: 2em auto !important;
  }

  #container section.content06 img.fourstep {
    margin: 2em auto 1em !important;
  }
}

@media (max-width: 500px) {
  #container section.content-fourstep {
    padding: 3em 0;
  }

  #container section.content-fourstep .caption {
    font-size: 5vw;
  }

  #container section.content-fourstep img.step {
    height: 15px;
    margin: 1.5em auto !important;
  }

  #container section.content-fourstep img.fourstep {
    margin: 2em auto 1em;
    width: 250px;
  }

  #container section.content-fourstep img.fourstep {
    width: 170px;
    margin: 1em auto 2.5em !important;
  }
}

#container section.content-fourstep .Flow {
  position: relative;
  display: -webkit-box;
  display: box;
  display: -webkit-flexbox;
  display: flexbox;
  display: flex;
  /* 基本 */
  flex-flow: row wrap;
  /* 水平中央寄せ */
  justify-content: center;
}

#container section.content-fourstep .Flow .Box {
  flex: 1;
  padding: 0.5em 0.5em 0;
  position: relative;
  border-left: none;
  margin: 1.5em 0;
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box {
    margin: 0.5em auto;
    min-width: 95%;
    max-width: 95%;
    padding: 0 0.5em 0;
  }
}

#container section.content-fourstep .Flow .Box::after {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 40%;
  right: -5%;
  z-index: 1;
  font-size: 2em;
  color: #fff;
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box::after {
    content: "\f063";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: relative;
    top: 2vw;
    right: 0;
    z-index: 1;
    font-size: 2em;
    color: #fff;
    display: block;
    text-align: center;
  }
}

#container section.content-fourstep .Flow .Box:last-child {
  border-left: none;
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box:last-child {
    margin-bottom: 3em;
  }
}

#container section.content-fourstep .Flow .Box:last-child::after {
  content: none;
}

#container section.content-fourstep .Flow .Box .Num {
  font-weight: bold;
  text-align: center;
  font-size: 1.5em;
  color: #fff;
  margin: 0 0 0.5em;
}

#container section.content-fourstep .Flow .Box .Num span {
  color: #fbdd51;
  font-size: 1.2em;
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box .Num {
    font-size: 1.5em;
    margin: 0.3em 0;
  }
}

#container section.content-fourstep .Flow .Box .Title {
  font-size: 1.2em;
  font-weight: bold;
  color: rgb(21, 21, 21);
  text-align: center;
  line-height: 1.1;
  background: #fbdd51;
  border-radius: 0.5em;
  padding: 0.5em 0;
  width: 80%;
  margin: 0 auto;
}

#container section.content-fourstep .textbox {
  width: 100%;
  margin: -1em auto 0;
}

@media (max-width: 1000px) {
  #container section.content-fourstep .textbox {
    width: 95%;
    margin-top: -2em;
  }
}

#container section.content-fourstep .textbox p {
  font-size: 0.9em;
  font-weight: bold;
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box .Title {
    width: 40%;
  }
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box .Title {
    font-size: 1.15em;
    text-align: center;
    padding-left: 5px;
    margin: 0.5em auto 0.2em;
  }
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box .Icon {
    margin: 0 auto;
  }
}

#container section.content-fourstep .Flow .Box .Icon img {
  display: block;
  padding: 1.5em 0 0.5em;
  margin: 0 auto;
  width: 170px;
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box .Icon img {
    padding: 0;
    width: 150px;
    padding-right: 1em;
  }
}

#container section.content-fourstep .Flow .Box .Text {
  font-size: 1em;
  padding: 1em;
  background: rgba(255, 255, 255, 0.8);
  line-height: 1.8;
  height: 150px;
  margin-top: 0.5em;
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  #container section.content-fourstep .Flow .Box .Text {
    width: 100%;
    height: 180px;
  }
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box .Text {
    width: 100%;
    height: auto;
    font-size: 1.1em;
  }
}

.bold1 {
  font-size: 1.1em;
  font-weight: bold;
}

.orange {
  color: rgb(253, 144, 1);
}

@media (max-width: 768px) {
  #container section.content-fourstep .Flow .Box .flexSP {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row;
  }
}

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

セクションapplication

/////////////////////////////////////////////////////////////*/
#container section.application {
  background: #e5e5e5;
  padding: 3em 0;
}

#container section.application .caption {
  font-size: 2.7em;
  padding: 1em 0 0;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  #container section.application .caption {
    font-size: 2.2em;
  }
}

@media (max-width: 500px) {
  #container section.application {
    padding: 1em 0;
  }

  #container section.application .caption {
    font-size: 5vw;
    padding: 1.5em 0 0.5em;
  }
}

#container section.application .form_wrapper {
  background: #fff;
  width: 90%;
  margin: 3em auto;
  border-radius: 15px;
  padding: 1em 1.5em;
}

.form_boxS {
  margin: 0 auto;
  padding: 0;
  text-align: center;
  position: relative;
}

.form_boxS .form_listS input {
  border: 1px solid #8e8e8e;
  padding: 0.5em 0.7em;
  font-size: 1em;
  border-radius: 5px;
  height: 60px;
  background-color: #f4f4f4;
  /* Font-Family 角ゴシック系 */
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
  width: 100%;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxS .form_listS input {
    height: 50px;
    font-size: 1em !important;
  }
}

@media (max-width: 500px) {
  .form_boxS .form_listS input {
    height: 40px;
    font-size: 0.9em !important;
  }

  .form_boxS .form_listS input.px16 {
    font-size: 16px !important;
  }
}

.form_boxS .form_listS {
  font-size: 1.3em;
  font-weight: bold;
  margin: 1em auto 1em;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxS .form_listS {
    margin: 0 auto 1em;
  }
}

@media (max-width: 500px) {
  .form_boxS .form_listS {
    margin: 0 auto 1em;
  }
}

.form_boxS .form_listS th {
  font-size: 0.95em;
  padding: 1em 0 0;
  text-align: left;
  display: block;
  text-align: center;
  width: 80%;
  margin: 0 auto;
}

.form_boxS .form_listS td {
  padding: 1em 0;
  text-align: left;
  position: relative;
  border-bottom: dotted 1px #ccc;
  margin: 0 auto;
  width: 80%;
}

.form_boxS .form_listS td.bottomnone {
  border-bottom: none;
  padding: 1em 0 0;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxS .form_listS th {
    display: block;
    padding: 1em 0 0;
  }
}

@media (max-width: 500px) {
  .form_boxS .form_listS th {
    display: block;
    padding: 1em 0 0;
    width: 100%;
    font-size: 0.9em;
  }

  .form_boxS .form_listS td {
    width: 100%;
  }
}

.form_boxS .form_listS td.Radio input {
  width: 0;
}

@media (max-width: 1000px) {
  .form_boxS .form_listS td.Radio input {
    display: inline-flex;
  }

  .form_boxS .form_listS td.Radio {
    margin-left: 1em;
  }
}

.form_boxS .form_listS td {
  display: block;
}

.form_boxS .form_listS span {
  font-weight: normal;
}

.form_boxS .form_listS .last input {
  background-color: rgb(255, 250, 227);
}

.form_boxS .form_listS select {
  font-size: 0.9em;
  border-radius: 5px;
  height: 60px;
  background-color: #f4f4f4;
  border: 1px solid #8e8e8e;
  padding: 0 0.7em;
  /* グラデーション */
  background-image: linear-gradient(top, rgb(230, 230, 230) 20%, rgb(255, 255, 255) 95%);
  background-image: -ms-linear-gradient(top, rgb(230, 230, 230) 20%, rgb(255, 255, 255) 95%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.2, rgb(230, 230, 230)), color-stop(0.95, rgb(255, 255, 255)));
  width: 100%;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxS .form_listS select {
    height: 50px;
    font-size: 1em !important;
  }
}

@media (max-width: 500px) {
  .form_boxS .form_listS select {
    height: 40px;
    font-size: 0.9em !important;
  }
}

.form_boxS .form_listS td.typeselect option {
  text-align: left;
}

.form_boxS .form_listS td.typeselect:after {
  content: "";
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-image: url(../img/simu_arrow.png);
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxS .form_listS td.typeselect:after {
    top: calc(50% - 0.4em);
    width: 15px;
    height: 15px;
  }
}

@media (max-width: 500px) {
  .form_boxS .form_listS td.typeselect:after {
    top: calc(50% - 0.5em);
    width: 15px;
    height: 15px;
  }
}

.form_boxS .form_listS label {
  font-size: 1em;
  font-weight: normal;
  vertical-align: middle;
  text-align: center;
  display: block;
  padding: 1em 0;
}

@media (max-width: 500px) {
  .form_boxS .form_listS label {
    font-size: 0.9em;
  }
}

.form_boxS .form_listS label:before {
  width: 15px;
  height: 15px;
  line-height: 15px;
  margin-right: 0.5em;
  border: 1px solid #8e8e8e;
  background-color: #f4f4f4;
  margin-bottom: 0.1em;
}

.form_boxS .form_listS textarea {
  width: 100%;
  height: 150px;
  font-size: 1em;
  border-radius: 5px;
  padding: 0.5em;
  resize: none;
  /* Font-Family 角ゴシック系 */
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
  border: 1px solid #8e8e8e;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxS .form_listS textarea {
    font-size: 1em !important;
    height: 150px;
  }
}

@media (max-width: 500px) {
  .form_boxS .form_listS textarea {
    font-size: 16px !important;
    height: 120px;
  }
}

.form_boxS .form_listS input[type=checkbox] {
  display: none;
}

.form_boxS .form_listS input[type=checkbox]+label::before,
input[type=checkbox]:before {
  content: "";
  border: 1px solid #b4b4b4;
  display: inline-block;
  position: relative;
  top: 0px;
  margin-right: 15px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
  transition: all 0.25s ease-in-out 0s;
  border-radius: 3px;
  width: 15px;
  height: 15px;
  line-height: 15px;
}

.form_boxS .form_listS input[type=checkbox]:checked+label {
  background: none;
  color: #000;
  text-shadow: none;
  -webkit-text-shadow: none;
}

.form_boxS .form_listS .attention {
  color: #8e8e8e;
  font-size: 0.85em;
  font-weight: normal;
  margin-top: -2em;
  line-height: 2;
  letter-spacing: 1px;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
  .form_boxS .form_listS .attention {
    font-size: 0.75em;
    margin-top: -2.5em;
    letter-spacing: 0;
    margin-left: 0;
  }
}

@media (max-width: 500px) {
  .form_boxS .form_listS .attention {
    font-size: 0.75em;
    margin-top: -2.5em;
    letter-spacing: 0;
    margin-left: 0;
  }
}

.form_boxS .form_listS span.small {
  background: rgb(150, 150, 150);
  color: #fff !important;
  padding: 0.1em 0.4em;
  font-size: 0.8em;
  -webkit-text-shadow: none;
  text-shadow: none;
  border-radius: 4px;
  margin-left: 0.5em;
}

@media (max-width: 768px) {
  .form_boxS .form_listS span.small {
    font-size: 10px;
    display: inline-block;
  }
}

@media (max-width: 768px) {
  .form_boxS .form_listS span.small {
    margin-top: 10px;
  }
}

img.application {
  margin-top: 4em;
}

@media (max-width: 500px) {
  img.application {
    margin: 4em auto 0 !important;
    height: 15px;
  }
}

.top-wrapper {
  background: rgb(8, 46, 98);
  background: linear-gradient(330deg, rgb(8, 46, 98) 0%, rgb(1, 160, 255) 100%);
  background-attachment: fixed;
  z-index: -1000;
  /* テーブルリセット */
  /* テーブルリセット */
}

.top-wrapper .sp {
  display: none !important;
}

.top-wrapper * {
  box-sizing: border-box;
}

@font-face {
  font-family: "Bahnschrift";
  src: url("../fonts/Roboto-Medium.ttf") format("truetype");
  src: url("../fonts/Roboto-Regular.ttf") format("truetype");
}

.top-wrapper header,
.top-wrapper footer,
.top-wrapper main,
.top-wrapper nav,
.top-wrapper article,
.top-wrapper aside,
.top-wrapper section {
  display: block;
}

.top-wrapper body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, Verdana, Arial, sans-serif;
}

.top-wrapper .flex {
  display: flex;
}

.top-wrapper .flex_around {
  justify-content: space-around;
}

.top-wrapper .flex_between {
  justify-content: space-between;
}

.top-wrapper .flex_wrap {
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

.top-wrapper .flex_center {
  align-items: center;
}

.top-wrapper .bold {
  font-weight: bold;
}

.top-wrapper img {
  display: block;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

.top-wrapper #bg {
  background: rgb(8, 46, 98);
  background: linear-gradient(330deg, rgb(8, 46, 98) 0%, rgb(1, 160, 255) 100%);
  background-attachment: fixed;
  z-index: -1000;
}

.top-wrapper #wrpper {
  margin: 0 auto;
  width: 750px;
}

.top-wrapper a {
  transition: 1.5s;
}

.top-wrapper a:hover {
  opacity: 0.7;
}

.top-wrapper a {
  display: block;
  text-align: center;
}

.top-wrapper p {
  margin: 0 !important;
}

.top-wrapper #floating {
  position: fixed;
  display: none;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 669px;
  z-index: 999;
}

.top-wrapper #fv {
  position: relative;
}

.top-wrapper #fv .fv_ttl{
  position: absolute;
  top: 0.35em;
  left: 1em;
  color: #fff;
  font-size: 46px;
}
.top-wrapper #fv .fv_ttl-top::before,.top-wrapper #fv .fv_ttl-top::after{
content: "";
display: block;
width: 1.2em;
height: 1px;
background-color: #fff;
position: absolute;
  top: 0.8em;
}
.top-wrapper #fv .fv_ttl-top{
  position: absolute;
  top: 0.347em;
  left: 1em;
  color: #fff;
}
.top-wrapper #fv .fv_ttl-top::before{
rotate: 65deg;
  left: -1em;
}
.top-wrapper #fv .fv_ttl-top::after{
rotate: -65deg;
  right: -1em;
}

.top-wrapper #fv .fv_ttl-none{
  font-size: 3em;
  line-height: 1.3;
  color: transparent;
}
.top-wrapper #fv .fv_bgwhite{
 background: #fff;
    color: #082e62;
      font-size: 0.78em;
    padding: 5px 8px;
    display: inline-block;
    margin-bottom: 10px;
}
.top-wrapper #fv .fv_bgwhite:first-of-type{
   position: absolute;
      top: 6.9em;
}

.top-wrapper #fv .hd_logo {
  position: absolute;
  width: 168px;
  top: 16px;
  left: 30px;
}

.top-wrapper #fv .counter {
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.top-wrapper #fv .counter p {
  text-align: center;
  color: #ffffff;
  font-family: "Roboto", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
}

.top-wrapper #fv .counter p span.nmb {
  letter-spacing: -0.02em;
  font-size: 140px;
  margin-right: 7px;
}

.top-wrapper #fv .counter p span {
  font-size: 50px;
}

@media screen and (max-width:768px) {
    .top-wrapper #fv .fv_ttl{
font-size: clamp(1rem, -0.3393rem + 6.6964vw, 2.875rem);
}
.top-wrapper #fv .fv_ttl-none{
  font-size: clamp(3.4375rem, -0.2679rem + 18.5268vw, 8.625rem);
}
.top-wrapper #fv .fv_bgwhite{
  padding: 3px 8px;
}
}

.top-wrapper .cv01 {
  position: relative;
  overflow: hidden;
}
.top-wrapper .cv01 .cv01_ttl {
 display: inline-block;
 text-align: center;
 padding: 5px 10px;
 background-color: #082e62;
 color: #fff;
 font-weight: bold;
 font-size: 36px;
  position: absolute;
     top: 1em;
     left: calc( 50% - 5.5em );
}

.top-wrapper .cv01 .cv01_btn {
  position: absolute;
  width: 654px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 70px;
}

.top-wrapper .cv01 .text {
  position: absolute;
  top: 147px;
  animation: flowing 10s linear infinite;
  transform: translateX(100%);
  /*初期位置*/
}

@keyframes flowing {
  100% {
    transform: translateX(-100%);
  }
}

@media screen and (max-width:768px) {
    .top-wrapper .cv01 .cv01_ttl{
      font-size: clamp(1rem, -0.0467rem + 4.7847vw, 2.25rem);
    }
}

.top-wrapper .cv02 {
  position: relative;
  overflow: hidden;
}

.top-wrapper .cv02 .cv01_btn {
  position: absolute;
  width: 654px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 25px;
}

.top-wrapper .cv02 .text {
  position: absolute;
  top: 80px;
  animation: flowing 10s linear infinite;
  transform: translateX(100%);
  /*初期位置*/
}

.top-wrapper .cv03 {
  position: relative;
  overflow: hidden;
}

.top-wrapper .cv03 .cv01_btn01 {
  position: absolute;
  width: 654px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 296px;
}
.top-wrapper .cv03 .cv01_btn02 {
  position: absolute;
  width: 654px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 148px;
}
.top-wrapper .cv03 .cv01_btn03 {
  position: absolute;
  width: 654px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 0;
}
.top-wrapper .cv03 .cv01_btn04 {
  position: absolute;
  width: 654px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 80px;
}

@keyframes flowing {
  100% {
    transform: translateX(-100%);
  }
}

.top-wrapper .content02 {
  padding: 0 0;
  z-index: 1;
}

.top-wrapper table {
  table-layout: fixed;
  border-collapse: collapse;
}

.top-wrapper table,
.top-wrapper td,
.top-wrapper th {
  vertical-align: middle;
  text-decoration: none;
  margin: 0;
  padding: 0;
  font-size: 18px;
}

.top-wrapper th {
  font-weight: 700;
  font-style: normal !important;
}

.top-wrapper .wrapper {
  width: 750px;
}

.top-wrapper .caption {
  margin: 50px 0 0;
  text-align: center;
  font-size: 36px;
  color: #fff;
}

.top-wrapper .ratebox .ratetype {
  text-align: center;
  width: 730px;
  margin: 0 auto;
  padding: 15px 20px;
  font-size: 2em;
  letter-spacing: 2px;
  font-weight: 700;
}

.top-wrapper .ratebox .ratetype:before {
  position: absolute;
  content: "";
  top: 100%;
  left: 0;
  border: none;
  border-bottom: 15px solid transparent;
}

.top-wrapper .ratebox .ratetype:after {
  position: absolute;
  content: "";
  top: 100%;
  right: 0;
  border: none;
  border-bottom: 15px solid transparent;
}

.top-wrapper .ratebox .ratetype.premium {
  position: relative;
  margin-top: 1em;
  color: #fff;
  text-shadow: 2px 3px 0 #7a6431;
  filter: dropshadow(color=#7a6431, offx=2, offy=3);
  background-image: linear-gradient(90deg, #a58c48, #d0be6f, #a58c48, #d0be6f, #a58c48);
}

.top-wrapper .ratebox .ratetype.premium:before {
  border-right: 20px solid #7a6431;
}

.top-wrapper .ratebox .ratetype.premium:after {
  border-left: 20px solid #7a6431;
}

.top-wrapper .ratebox .ratetype.normal {
  margin-top: 2.5em;
  color: #fff;
  text-shadow: 2px 3px 0 #666;
  filter: dropshadow(color=#666666, offx=2, offy=3);
  background-image: linear-gradient(90deg, #999, #ccc, #999, #ccc, #999);
}

.top-wrapper .ratebox .ratetype.normal:before,
.top-wrapper .ratebox .ratetype.other:before {
  border-right: 20px solid #666;
}

.top-wrapper .ratebox .ratetype.normal:after,
.top-wrapper .ratebox .ratetype.other:after {
  border-left: 20px solid #666;
}

.top-wrapper .ratebox .ratetype.other {
  margin-top: 2.5em;
  color: #fff;
  background: #000;
}

.top-wrapper .ratebox .rateblock {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 689px;
  margin: 0 auto 5em;
  padding-bottom: 2px;
  padding-top:4px;
  padding-right: 12px
}

.top-wrapper .ratebox .rateblock .white {
  background: #fff;
  width: 32%;
  height: 410px;
  border-radius: 0 0 15px 15px;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
  margin-top: -5px;
}

.top-wrapper .ratebox .last {
  margin-top: -4em;
}

.top-wrapper .ratebox .last .white {
  background: #fff;
  width: 32%;
  height: 410px;
  border-radius: 15px;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
  margin-bottom: -15em;
  z-index: 1;
}

.top-wrapper .ratebox .rateblock .bland {
  font-size: 1.8em;
  font-weight: 700;
  padding: 1em 0 0.5em;
}

.top-wrapper .ratebox .rateblock img.icon {
  margin: 0.5em auto 1.5em;
  width: 110px;
}

.top-wrapper .ratebox .rateblock .flexbox {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-wrapper .ratebox .rateblock .first {
  padding: 0.2em 0;
  font-size: 1.1em;
  letter-spacing: 5px;
  background: #e51326;
  color: #fff;
  width: 40%;
  margin: 0.5em 0.8em 0.5em 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-wrapper .ratebox .rateblock .second {
  padding: 0.2em 0;
  font-size: 1.1em;
  letter-spacing: 1px;
  background: #00f;
  color: #fff;
  width: 40%;
  margin: 0.5em 0.8em 0.5em 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-wrapper .ratebox .rateblock .rate {
  font-size: 2.1em;
  font-weight: 700;
  letter-spacing: -1px;
}

.top-wrapper .price_list {
  background: white;
  border-radius: 0 0 15px 15px;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
  font-size: 1.5em;
  font-weight: bold;
}

.top-wrapper .price_list table {
  width: 100%;
  margin: 10px 1% 4% 1%;
  text-align: center;
}

.top-wrapper .price_list th:nth-child(1) {
  width: 35%;
}

.top-wrapper .price_list th:nth-child(2) {
  width: 25%;
}

.top-wrapper .price_list th:nth-child(3) {
  width: 15%;
}

.top-wrapper .price_list th:nth-child(4) {
  width: 15%;
}

.top-wrapper .price_list th:nth-child(5) {
  width: 18%;
}

.top-wrapper .firstTR_brand:nth-child(n)>td {
  padding-top: 5px;
}

.top-wrapper .midTR_brand:nth-child(n)>td:nth-child(n) {
  padding: 2px 0;
}

.top-wrapper .lastTR_brand:nth-child(n)>td:nth-child(n) {
  padding: 2px 0;
}

.top-wrapper .brand_table {
  border-left: 2px solid #adadad;
  border-right: 2px solid #adadad;
}

.top-wrapper .all_border {
  border: 2px solid #adadad;
}

.top-wrapper .right_border {
  border-right: 2px solid #adadad;
}

.top-wrapper .bottom_border {
  border-bottom: 2px solid #adadad;
}

.top-wrapper .top_border {
  border-top: 2px solid #adadad;
}

.top-wrapper .background_gold {
  background: #ead991;
}

.top-wrapper .time_toberegister {
  background: #0368D8;
  color: #fff;
  border: 1px solid;
  line-height: 1.2;
  padding: 5px 10px;
  border-radius: 5px;
  margin: 5px;
  float: right;
}

.top-wrapper .title_table {
  line-height: 1.6 !important;
  margin: 0 0 0 0 !important;
  text-align: center !important;
  letter-spacing: 1px !important;
  font-weight: bolder;
  padding-top: 3%;
}

.top-wrapper .first_table {
  display: inline-block;
  padding: 0.2em 0;
  font-size: 0.8em;
  letter-spacing: 5px;
  background: #e51326;
  color: #fff;
  width: 90%;
  border-radius: 25px;
}

.top-wrapper .second_table {
  display: inline-block;
  padding: 0.2em 0;
  font-size: 0.8em;
  letter-spacing: 1px;
  background: #00f;
  color: #fff;
  width: 90%;
  border-radius: 25px;
}

.top-wrapper .firstTR_brand {
  border-top: 2px solid #adadad;
  border-radius: 10px;
  padding-top: 5px;
}

.top-wrapper .icon_table {
  margin-bottom: 5px !important;
  cursor: pointer;
}

.top-wrapper #cnt01 {
  background: url(../img/cnt01_bg.jpg) no-repeat center/cover;
}

.top-wrapper #cnt03 .cnt03_ttl-wrap{
  position: relative;
}
.top-wrapper #cnt03 .cnt03_ttl{
  font-size: 56px;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 1em;
  left: calc( 50% - 4.5em );
  line-height: 1.3;
}
@media screen and (max-width:768px) {
    .top-wrapper #cnt03 .cnt03_ttl{
      font-size: clamp(1.625rem, 0.055rem + 7.177vw, 3.5rem);
    }
}

.top-wrapper .ac01 {
  background: #ecf2fa;
  padding-bottom: 100px;
}

.top-wrapper .ac01 .qa_ttl-wrap{
  position: relative;
}

.top-wrapper .ac01 .qa_ttl{
  font-size: 40px;
  font-weight: bold;
  color: #082E62;
   position: absolute;
      top: 4.2em;
      left: calc(50% - 2.6em);
}

.top-wrapper .ac01 .ac input {
  display: none;
}

.top-wrapper .ac01 .ac .ac_box {
  position: relative;
  max-width: 690px;
  margin: 0 auto 30px;
}

.top-wrapper .ac01 .ac label {
  display: block;
  border-radius: 5px;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
/* .top-wrapper .ac01 .ac label .qa_q-wrap {
  position: relative;
} */
.top-wrapper .ac01 .ac label .qa_q {
  font-size: 32px;
  font-weight: 500;
  color: #fff;
   position: absolute;
      top: 0.35em;
      left: 2em;
}

.top-wrapper .ac01 .ac label img {
  max-width: 690px;
}

.top-wrapper .ac01 .ac label::after,
.top-wrapper .ac01 .ac label::before {
  content: "";
  position: absolute;
  right: 40px;
  top: 33%;
  width: 2px;
  height: 28px;
  background-color: #fff;
  transition: all 0.3s;
}

.top-wrapper .ac01 .ac label::after {
  transform: rotate(90deg);
}

.top-wrapper .ac01 .ac .ac_open {
  max-height: 0;
  overflow: hidden;
  transition: all 0.5s;
}

.top-wrapper .ac01 .ac .ac_open img {
  max-width: 690px;
}

.top-wrapper .ac01 .ac .ac_open p {
  margin: 0;
}

.top-wrapper .ac01 .ac input:checked+label+.ac_open {
  max-height: 500px;
  transition: all 1.5s;
}

.top-wrapper .ac01 .ac input:checked+label::before {
  transform: rotate(90deg) !important;
}

@media screen and (max-width:768px) {
  .top-wrapper .ac01 .qa_ttl{
    font-size: clamp(1.5rem, 0.6627rem + 3.8278vw, 2.5rem);
  }
    .top-wrapper .ac01 .ac label .qa_q {
      font-size: clamp(0.9375rem, 0.0478rem + 4.067vw, 2rem);
    }
}

.top-wrapper .company {
  background: #fff;
}

.top-wrapper .company .header {
  text-align: center;
  margin-bottom: 30px;
  padding: 20px 0;
  background-color: #082e62;
  color: #fff;
  font-weight: bold;
  font-size: 2em;
}

.top-wrapper .company .inner {
  width: 690px;
  margin: 0 auto;
}

.top-wrapper .company dl {
  background: #ecf2fa;
  padding: 20px 0 20px 20px;
  font-size: 30px;
  font-weight: 500;
  color: #082e62;
  line-height: 1.26;
}

.top-wrapper .company dl dt {
  width: 200px;
}

.top-wrapper .company dl dd {
  width: 495px;
}

.top-wrapper .company dl:nth-child(2),
.top-wrapper .company dl:nth-child(4),
.top-wrapper .company dl:nth-child(6),
.top-wrapper .company dl:nth-child(8) {
  background: #fff;
}

.top-wrapper .form_ttl {
  background: #fff;
  padding-bottom: 100px;
}
.top-wrapper .form_ttl-text {
  font-size: 40px;
  font-weight: bold;
  color: #082E62;
  text-align: center;
  padding-top: 20px;
}

.top-wrapper .form_ttl a img {
  width: 654px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .top-wrapper {
    /* テーブルリセット */
    /* テーブルリセット */
  }

  .top-wrapper img {
    width: 100%;
  }

  .top-wrapper #wrpper {
    box-shadow: none;
    width: 100%;
  }

  .top-wrapper #floating {
    position: fixed;
    display: none;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 89.2vw;
    z-index: 999;
  }

  .top-wrapper #fv {
    position: relative;
  }

  .top-wrapper #fv .hd_logo {
    position: absolute;
    width: 22.4vw;
    top: 2.133vw;
    left: 4vw;
  }

  .top-wrapper #fv .counter {
    position: absolute;
    top: 5.333vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  .top-wrapper #fv .counter p {
    text-align: center;
    color: #ffffff;
    font-family: "Roboto", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  }

  .top-wrapper #fv .counter p span.nmb {
    letter-spacing: -0.02em;
    font-size: 18.667vw;
    margin-right: 0.933vw;
  }

  .top-wrapper #fv .counter p span {
    font-size: 6.667vw;
  }

  .top-wrapper .cv01 {
    position: relative;
    overflow: hidden;
  }

  .top-wrapper .cv01 .cv01_btn {
    position: absolute;
    width: 87.2vw;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 9.333vw;
  }

  .top-wrapper .cv01 .text {
    position: absolute;
    top: 19.6vw;
    animation: flowing 10s linear infinite;
    transform: translateX(100%);
    /*初期位置*/
  }

  @keyframes flowing {
    100% {
      transform: translateX(-100%);
    }
  }

  .top-wrapper .cv02 {
    position: relative;
    overflow: hidden;
  }

  .top-wrapper .cv02 .cv01_btn {
    position: absolute;
    width: 87.2vw;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 3.333vw;
  }

  .top-wrapper .cv02 .text {
    position: absolute;
    top: 10.667vw;
    animation: flowing 10s linear infinite;
    transform: translateX(100%);
    /*初期位置*/
  }

  @keyframes flowing {
    100% {
      transform: translateX(-100%);
    }
  }

  .top-wrapper .cv03 .cv01_btn01 {
    position: absolute;
    width: 87.2vw;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 38.8vw;
  }
  .top-wrapper .cv03 .cv01_btn02 {
    position: absolute;
    width: 87.2vw;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 20.2vw;
  }
  .top-wrapper .cv03 .cv01_btn03 {
    position: absolute;
    width: 87.2vw;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 1.333vw;
  }
  .top-wrapper .cv03 .cv01_btn04 {
    position: absolute;
    width: 87.2vw;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 11.333vw;
  }

  .top-wrapper .content02 {
    padding: 1em 0 0;
  }

  .top-wrapper table {
    table-layout: fixed;
    border-collapse: collapse;
  }

  .top-wrapper table,
  .top-wrapper td,
  .top-wrapper th {
    vertical-align: middle;
    text-decoration: none;
    margin: 0;
    padding: 0;
    font-size: 2.4vw;
  }

  .top-wrapper th {
    font-weight: 700;
    font-style: normal !important;
  }

  .top-wrapper .wrapper {
    width: 100vw;
  }

  .top-wrapper .caption {
    margin: 6.667vw 0 0;
    text-align: center;
    font-size: 1.3em;
    color: #fff;
  }

  .top-wrapper .ratebox .ratetype {
    text-align: center;
    width: 97.333vw;
    margin: 0 auto;
    padding: 2vw 2.667vw;
    font-size: 2em;
    letter-spacing: 0.267vw;
    font-weight: 700;
  }

  .top-wrapper .ratebox .ratetype:before {
    position: absolute;
    content: "";
    top: 100%;
    left: 0;
    border: none;
    border-bottom: 15px solid transparent;
  }

  .top-wrapper .ratebox .ratetype:after {
    position: absolute;
    content: "";
    top: 100%;
    right: 0;
    border: none;
    border-bottom: 15px solid transparent;
  }

  .top-wrapper .ratebox .ratetype.premium {
    position: relative;
    margin-top: 1em;
    color: #fff;
    text-shadow: 2px 3px 0 #7a6431;
    filter: dropshadow(color=#7a6431, offx=2, offy=3);
    background-image: linear-gradient(90deg, #a58c48, #d0be6f, #a58c48, #d0be6f, #a58c48);
  }

  .top-wrapper .ratebox .ratetype.premium:before {
    border-right: 2.667vw solid #7a6431;
  }

  .top-wrapper .ratebox .ratetype.premium:after {
    border-left: 2.667vw solid #7a6431;
  }

  .top-wrapper .ratebox .ratetype.normal {
    margin-top: 2.5em;
    color: #fff;
    text-shadow: 2px 3px 0 #666;
    filter: dropshadow(color=#666666, offx=2, offy=3);
    background-image: linear-gradient(90deg, #999, #ccc, #999, #ccc, #999);
  }

  .top-wrapper .ratebox .ratetype.normal:before,
  .top-wrapper .ratebox .ratetype.other:before {
    border-right: 20px solid #666;
  }

  .top-wrapper .ratebox .ratetype.normal:after,
  .top-wrapper .ratebox .ratetype.other:after {
    border-left: 20px solid #666;
  }

  .top-wrapper .ratebox .ratetype.other {
    margin-top: 2.5em;
    color: #fff;
    background: #000;
  }

  .top-wrapper .ratebox .rateblock {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 91.867vw;
    margin: 0 auto 5em;
  }

  .top-wrapper .ratebox .rateblock .white {
    background: #fff;
    width: 32%;
    height: 54.667vw;
    border-radius: 0 0 2vw 2vw;
    box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
    margin-top: -5px;
  }

  .top-wrapper .ratebox .last {
    margin-top: -4em;
  }

  .top-wrapper .ratebox .last .white {
    background: #fff;
    width: 32%;
    height: 54.667vw;
    border-radius: 2vw;
    box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
    margin-bottom: -15em;
    z-index: 1;
  }

  .top-wrapper .ratebox .rateblock .bland {
    font-size: 1.8em;
    font-weight: 700;
    padding: 1em 0 0.5em;
  }

  .top-wrapper .ratebox .rateblock img.icon {
    margin: 0.5em auto 1.5em;
    width: 14.667vw;
  }

  .top-wrapper .ratebox .rateblock .flexbox {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-wrapper .ratebox .rateblock .first {
    padding: 0.2em 0;
    font-size: 1.1em;
    letter-spacing: 0.667vw;
    background: #e51326;
    color: #fff;
    width: 40%;
    margin: 0.5em 0.8em 0.5em 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-wrapper .ratebox .rateblock .second {
    padding: 0.2em 0;
    font-size: 1.1em;
    letter-spacing: 0.133vw;
    background: #00f;
    color: #fff;
    width: 40%;
    margin: 0.5em 0.8em 0.5em 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .top-wrapper .ratebox .rateblock .rate {
    font-size: 2.1em;
    font-weight: 700;
    letter-spacing: -1px;
  }

  .top-wrapper .price_list {
    background: white;
    border-radius: 0 0 2vw 2vw;
    box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
    font-size: 1.5em;
    font-weight: bold;
  }

  .top-wrapper .price_list table {
    width: 100%;
    margin: 10px 1% 4% 1%;
  }

  .top-wrapper .price_list th:nth-child(1) {
    width: 35%;
  }

  .top-wrapper .price_list th:nth-child(2) {
    width: 25%;
  }

  .top-wrapper .price_list th:nth-child(3) {
    width: 15%;
  }

  .top-wrapper .price_list th:nth-child(4) {
    width: 15%;
  }

  .top-wrapper .price_list th:nth-child(5) {
    width: 18%;
  }

  .top-wrapper .firstTR_brand:nth-child(n)>td {
    padding-top: 0.667vw;
  }

  .top-wrapper .midTR_brand:nth-child(n)>td:nth-child(n) {
    padding: 0.267vw 0;
  }

  .top-wrapper .lastTR_brand:nth-child(n)>td:nth-child(n) {
    padding: 0.267vw 0;
  }

  .top-wrapper .brand_table {
    border-left: 1px solid #adadad;
    border-right: 1px solid #adadad;
  }

  .top-wrapper .all_border {
    border: 1px solid #adadad;
  }

  .top-wrapper .right_border {
    border-right: 1px solid #adadad;
  }

  .top-wrapper .bottom_border {
    border-bottom: 1px solid #adadad;
  }

  .top-wrapper .top_border {
    border-top: 1px solid #adadad;
  }

  .top-wrapper .background_gold {
    background: #ead991;
  }

  .top-wrapper .time_toberegister {
    background: #0368D8;
    color: #fff;
    border: 1px solid;
    line-height: 1.2;
    padding: 0.667vw 1.333vw;
    border-radius: 0.667vw;
    margin: 0.667vw;
    float: right;
  }

  .top-wrapper .title_table {
    line-height: 1.6 !important;
    margin: 0 0 0 0 !important;
    text-align: center !important;
    letter-spacing: 1px !important;
    font-weight: bolder;
    padding-top: 3%;
  }

  .top-wrapper .first_table {
    display: inline-block;
    padding: 0.2em 0;
    font-size: 0.8em;
    letter-spacing: 0.667vw;
    background: #e51326;
    color: #fff;
    width: 90%;
    border-radius: 3.333vw;
  }

  .top-wrapper .second_table {
    display: inline-block;
    padding: 0.2em 0;
    font-size: 0.8em;
    letter-spacing: 0.133vw;
    background: #00f;
    color: #fff;
    width: 90%;
    border-radius: 3.333vw;
  }

  .top-wrapper .firstTR_brand {
    border-top: 2px solid #adadad;
    border-radius: 1.333vw;
    padding-top: 0.667vw;
  }

  .top-wrapper .icon_table {
    margin-bottom: 5px !important;
    cursor: pointer;
  }

  .top-wrapper .ac01 {
    background: #ecf2fa;
    padding-bottom: 6.667vw;
  }

  .top-wrapper .ac01 .ac input {
    display: none;
  }

  .top-wrapper .ac01 .ac .ac_box {
    position: relative;
    max-width: 92vw;
    margin: 0 auto 30px;
  }

  .top-wrapper .ac01 .ac label {
    display: block;
    border-radius: 0.667vw;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }

  .top-wrapper .ac01 .ac label img {
    max-width: 92vw;
  }

  .top-wrapper .ac01 .ac label::after,
  .top-wrapper .ac01 .ac label::before {
    content: "";
    position: absolute;
    right: 5.333vw;
    top: 33%;
    width: 0.267vw;
    height: 3.733vw;
    background-color: #fff;
    transition: all 0.3s;
  }

  .top-wrapper .ac01 .ac label::after {
    transform: rotate(90deg);
  }

  .top-wrapper .ac01 .ac .ac_open {
    max-height: 0;
    overflow: hidden;
    transition: all 0.5s;
  }

  .top-wrapper .ac01 .ac .ac_open img {
    max-width: 92vw;
  }

  .top-wrapper .ac01 .ac .ac_open p {
    margin: 0;
  }

  .top-wrapper .ac01 .ac input:checked+label+.ac_open {
    max-height: 66.667vw;
    transition: all 1.5s;
  }

  .top-wrapper .ac01 .ac input:checked+label::before {
    transform: rotate(90deg) !important;
  }

  .top-wrapper .company {
    background: #fff;
    padding: 10.667vw 0;
  }

  .top-wrapper .company .inner {
    width: 92vw;
    margin: 0 auto;
  }

  .top-wrapper .company dl {
    background: #ecf2fa;
    padding: 2.667vw 0 2.667vw 2.667vw;
    font-size: 4vw;
    color: #082e62;
    font-weight: normal;
    line-height: 1.26;
  }

  .top-wrapper .company dl dt {
    width: 26.667vw;
  }

  .top-wrapper .company dl dd {
    width: 66vw;
  }

  .top-wrapper .company dl:nth-child(2),
  .top-wrapper .company dl:nth-child(4),
  .top-wrapper .company dl:nth-child(6),
  .top-wrapper .company dl:nth-child(8) {
    background: #fff;
  }

  .top-wrapper .form_ttl {
    background: #fff;
    padding-bottom: 13.333vw;
  }

  .top-wrapper .form_ttl-text {
  font-size: clamp(1.5rem, 0.6627rem + 3.8278vw, 2.5rem);
}

  .top-wrapper .form_ttl a img {
    width: 87.2vw;
  }
}

.top-page #header {
  background: linear-gradient(330deg, rgb(8, 46, 98) 0%, rgb(1, 160, 255) 100%);
  position: relative;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  z-index: 1;
  height: 85px;
  display: flex;
  align-items: center;
}

.top-page #header .logo {
  float: initial;
  margin: 0;
}

.top-page #header .header-inner {
  width: 750px;
  margin: 0 auto;
}

.top-page #header #navArea.open nav {
  max-width: 750px;
}

.top-page #header nav {
  top: 85px;
}

.top-page #header #mask {
  top: 85px;
}

.top-page #header .toggle_btn {
  top: 17.5px;
}

@media (max-width: 768px) {
  .top-page nav {
    top: 85px;
  }

  .top-page .open #mask {
    top: 85px;
  }
}

/*# sourceMappingURL=style.css.map */

/* 3/21追加 */
.top-wrapper .rate {
  background: #ecf2fa;
}

/*-----------------
campaign
-----------------*/
#container section.content11 .campaign {
  background-color: #fff;
  padding: 0.5em 0;
}

#container .campaign .banner {
  width: 80%;
  margin: auto;
  padding: 1.5em 0;
}

#container .campaign .relative {
  position: relative;
}

#container .campaign .absolute {
  position: absolute;
  top: 45%;
  bottom: 0;
  right: 0;
  left: 0;
}

#container .campaign .absolute ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  width: 67%;
  margin: auto;
}

#container .campaign .absolute ul li {
  background-color: #fff;
  box-shadow: 2px 2px 5px #00000040;
  margin: 5px;
  border-radius: 3px;
}

#container .campaign .absolute ul li a {
  margin: auto;
  padding: 0 10px;
}

@media screen and (max-width: 500px) {
  #container .campaign .banner {
    width: 95%;
  }

  #container section.content11 .campaign {
    background-color: unset;
    width: 100%;
  }
}

/*-----------------
kaitoru-zou-popup
-----------------*/
.modal {
  display: none; /* 初期状態は非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #00000040;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.modal .position-relative {
  position: relative;
  width: 90%;
  max-width: 500px;
  max-height: 90%;
}

.modal .position-relative .cta01,
.modal .position-relative .cta02 {
  position: absolute;
  width: 53%;
  left: 10%;
}

.modal .position-relative .cta01 {
  top: 76%;
}

.modal .position-relative .cta02 {
  top: 86%;
}

.modal.open {
  display: flex; /* 表示状態 */
}

.close-btn {
  position: absolute;
  top: -60px;
  right: 0;
  font-size: 50px;
  color: #fff;
  cursor: pointer;
  z-index: 1001; /* 画像より前面に配置 */
}
/* モーダル中に背景固定 */
body.no-scroll {
  overflow: hidden;
}

/* お知らせ一覧　*/
.top-wrapper .news {
  background: #fff;
  padding-bottom: 100px;
}

.top-wrapper .news .header {
  text-align: center;
  margin-bottom: 30px;
  padding: 20px 0;
  background-color: #082e62;
  color: #fff;
  font-weight: bold;
  font-size: 2em;
}

.top-wrapper .news .inner {
  width: 690px;
  margin: 0 auto;
  margin-top: 45px;
  max-height: 300px;
  overflow-y: auto;
  background-color: #fff;
}

.top-wrapper .news dl {
  background: #ecf2fa;
  padding: 20px 0 20px 20px;
  font-size: 30px;
  font-weight: 500;
  color: #082e62;
  line-height: 1.26;
}

.top-wrapper .news dl:nth-child(2), .top-wrapper .news dl:nth-child(4), .top-wrapper .news dl:nth-child(6), .top-wrapper .news dl:nth-child(8) {
  background: #fff;
}

.top-wrapper .news .inner a {
  color: #e51326;
  display: inline;
}

@media screen and (max-width: 768px) {
  .top-wrapper .news .inner {
    width: 92vw;
    margin: 0 auto;
}
  .top-wrapper .news dl {
      background: #ecf2fa;
      padding: 2.667vw 0 2.667vw 2.667vw;
      font-size: 4vw;
      color: #082e62;
      font-weight: normal;
      line-height: 1.26;
  }
}

#container .radio_identification2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 10px;
    /* margin-right: -390px; */
    width:100%
}

@media screen and (max-width: 1000px) {
    #container .radio_identification2 {
    /* margin-right: 35px; */
     width:100%
    }
  }


.radio_identification2 li {
    display: flex;
    align-items: center;
}

input[type=radio].idf2 {
	display: none;
}

input[type=radio].idf2 + label {
    font-size: 130%;
    font-weight: bold;
    position: relative;
    display: block;
    border: 1px solid #000;
    border-radius: 10px;
    padding: 15px 0px 15px 40px;
    width: 100%;
}

input[type=radio].idf2+ label::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    left: 15px;
    width: 10px;
    height: 10px;
    border: 1px solid #000;
    background: #fff;
    border-radius: 50%;
}


input[type=radio].idf2:checked + label {
    background: #f7e2c4;
}

input[type=radio].idf2:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: 19px;
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
    color: #000;
}
