@charset "utf-8";
/* ========================
theme module
======================== */
/* ------------------------
header
------------------------ */
#header a {
  text-decoration: none;
}

/* nav
------------------------ */
/* nav */
#header nav {
}

/* h-nav */
.h-nav {
  height: 100%;
  margin: 0;
}

#header .h-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  position: relative;
}

#header .h-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#header .h-nav ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

#header .login-nav li,
#header .h-nav li {
  border-left: 1px solid;
  height: 60px;
}

#header .h-nav .btn a {
  border-radius: 0;
  box-shadow: none;
  display: inline-block;
  font-size: 71.4%;
  height: 60px;
  line-height: 1.25;
  letter-spacing: 0em;
  margin: 0;
  overflow: hidden;
  padding: 22px 10px;
  text-align: center;
  width: 160px;
}

.h-nav .btn a:hover {
  box-shadow: none;
}

#header .h-nav .btn a span {
  font-size: 140%;
}

/* h-nav-login */
#header .h-nav .h-nav-login li:first-child {
  border-left-style: none;
}

/* ------------------------
footer 
------------------------ */
/* nav
------------------------ */
/* f-nav */
.f-nav {
  display: block;
  margin: 0;
  padding: 20px 0;
  width: 100%;
}

.f-nav li {
  display: inline;
  margin: 0 10px;
  white-space: nowrap;
}

.f-nav li:after {
  margin: 0 0 0 .25em;
}

/* copyright
------------------------ */
.copyright {
  font-size: 86%;
  margin: 0;
  padding: .5em 0 .5em 0;
}

.copyright small {
  font-size: 100%;
}

/* ------------------------
logo
------------------------ */
.logo {
  display: inline-block;
  height: auto;
  line-height: 1;
  margin: 15px 0 0 20px;
  vertical-align: middle;
}

.logo a {
  display: inline-block;
}

.logo img {
  display: block;
  height: auto;
  max-width: 180px;
}

/* ------------------------
breadcrumb
------------------------ */
.breadcrumb li {
  display: inline-block;
}

.breadcrumb li::before {
  display: inline-block;
  content: '\003E';
  margin: 0 .5em;
  font-weight: 400;
  text-decoration: none;
}

.breadcrumb li:first-child::before {
  display: none;
}

/* ------------------------
button
------------------------ */
input[type="button"],
input[type="submit"],
button,
.btn a {
  border-radius: 5px;
  padding: 20px;
}

/* btn-block
------------------------ */
.btn-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: space-around;
}

.btn-block {
  padding: 40px 0;
}

.btn-block .btn {
  display: inline-block;
  text-align: center;
}

.btn-block .btn a,
.btn-block input[type="button"],
.btn-block input[type="submit"],
.btn-block button {
  margin: 0 10px;
  max-width: 340px;
}

/* flex-col-box
------------------------ */
.flex-col-box input[type="button"],
.flex-col-box input[type="submit"] {
  margin: 0 auto;
  text-align: center;
}

.flex-col-box .btn {
  width: 100%;
  max-width: 360px;
}

.flex-col-box .btn a {
  width: 100%;
  max-width: 340px;
}

.flex-col-box > .btn {
  padding: 0 10px;
}

/* ------------------------
box
------------------------ */
.box table {
  clear: both;
  width: 100%;
}

/* box-ttl
------------------------ */
.box-ttl {
  border-bottom: 1px solid;
  font-size: 128.6%;
  letter-spacing: .05em;
  line-height: 1.5;
  margin-top: 10px;
  padding: 0 0 20px 0;
}

/* box-message
------------------------ */
.box .box-message p:last-child {
  margin-bottom: 0;
}

/* box-terms
------------------------ */
.box .box-terms p:last-child {
  margin-bottom: 0;
}

/* box-txarea
------------------------ */
.box-txarea {
}

/* box-text
------------------------ */
.box-text {
}

/* box-img
------------------------ */
.box-img {
}

/* border-box
------------------------ */
.border-box {
  border: 1px solid;
}

.border-box-bold {
  border: 5px solid;
}

.border-box-bold .mod-form-block:last-child dd:last-child {
  margin-bottom: 0;
}

/* txbox
------------------------ */
/* mod-txbox */
.mod-txbox {
  margin: 20px 0;
}

.mod-txbox p:last-child {
  margin-bottom: 0;
}

.mod-txbox.error-text,
.mod-txbox.success-text,
.mod-txbox.warning-text,
.mod-txbox.danger-text {
  border: 2px solid;
  margin-top: 10px;
  padding: 10px;
}

/* ------------------------
list
------------------------ */
/* list-num
------------------------ */
.list-num {
  text-align: right;
}

/* ------------------------
form
------------------------ */
/* mod-form
------------------------ */
.mod-form {
  display: block;
  padding: 0;
}

.border-box .mod-form-block,
.box-shadow .mod-form-block {
  padding-left: 20px;
  padding-right: 20px;
}

/* dl */
.block-group dl,
.mod-form-block dl {
  margin: 25px 0 0 0;
}

.block-group h2 + dl,
.mod-form-block h2 + dl {
  margin-top: 25px;
}

.mod-form-block dt,
.mod-form-block dd {
  text-align: left;
  vertical-align: middle;
}

.mod-form-block dt {
  margin: 0;
  padding: 0;
}

.block-group dt,
.mod-form-block dt {
  font-weight: 600;
  margin: 5px 0;
  padding: 0;
}

.mod-form-block dd {
  margin: 0;
  padding: 0;
}

.block-group dd,
.mod-form-block dd {
  margin-bottom: 30px;
  padding: 0;
}

.mod-form dl.flex-wrap dt,
.mod-form-block dl.flex-wrap dt {
  margin: 0 20px 30px 0;
  width: calc(20% - 20px);
  min-width: 160px;
}

.mod-form dl.flex-wrap dd,
.mod-form-block dl.flex-wrap dd {
  flex: 1;
  margin: 0 0 30px 0;
}

/* form */
.mod-form label,
.mod-form-block label {
  margin: 5px 20px 5px 0;
}

.mod-form .flex-wrap > label,
.mod-form-block .flex-wrap > label {
  display: inline-block;
}

.mod-form input[name="add_text"],
.mod-form-block input[name="add_text"] {
  display: block;
}

.mod-form-block input[type="email"],
.mod-form-block input[type="number"],
.mod-form-block input[type="password"],
.mod-form-block input[type="search"],
.mod-form-block input[type="tel"],
.mod-form-block input[type="text"],
.mod-form-block input[type="url"],
.mod-form-block select,
.mod-form-block textarea {
  margin: 5px 0;
}

.mod-form input[name="add_num1"],
.mod-form-block input[name="add_num1"],
.mod-form select[name="card_y"],
.mod-form-block select[name="card_y"],
.mod-form select[name="card_m"],
.mod-form-block select[name="card_m"] {
  margin-right: 5px;
  margin-left: 5px;
}

.mod-form input[name="add_num2"],
.mod-form-block input[name="add_num2"] {
  margin-left: 5px;
}

/* ------------------------
wrap
------------------------ */
/* flex-wrap
------------------------ */
.flex-wrap .box,
.flex-wrap-around .box {
  padding: 0;
}

.flex-wrap .box-img {
  width: 50%;
}

.flex-wrap .box-img img {
  width: 100%;
}

.flex-wrap .box-text {
  padding: 0 40px 0 0;
  width: 50%;
}

.flex-wrap .box-text:nth-of-type(even) {
  padding: 0 0 0 40px;
}

.alternate .flex-wrap:nth-of-type(even) .box-text {
  padding: 0 0 0 40px;
}

.alternate .flex-wrap:nth-of-type(even) .box-text:nth-of-type(even) {
  padding: 0 40px 0 0;
}

/* flex-col-box
------------------------ */
.flex-col-box > .box > *:last-child {
  margin-top: auto;
}

/* flex-btn
------------------------ */
.flex-btn {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.flex-btn.btn a,
.flex-btn .btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 128.575%;
  height: 100%;
  min-height: 70px;
  line-height: 1.35;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  width: 100%;
  max-width: 340px;
}

.flex-wrap.flex-btn .box,
.flex-wrap-around.flex-btn .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: auto;
}

.flex-btn p:not(.btn) {
  font-size: 114.29%;
  line-height: 1.35;
  margin: 0 0 20px 0;
}

.flex-wrap.flex-btn .box,
.flex-wrap.flex-btn > .btn,
.flex-wrap-around.flex-btn .box,
.flex-wrap-around.flex-btn > .btn,
.flex-col-box .box,
.flex-col-box > .btn {
  padding: 0 10px;
  width: 50%;
  max-width: 380px;
}

/* flex-list
------------------------ */
.flex-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* inline-wrap
------------------------ */
.inline-wrap.btn-wrap {
  text-align: center;
}

.inline-wrap .box,
.inline-wrap.btn-wrap > p.btn {
  display: inline-block;
  padding: 0;
  vertical-align: middle;
  width: calc(50% - .4em);
}

.inline-wrap .btn-contact a {
  font-size: 128.575%;
  width: 100%;
  max-width: 340px;
}