@charset "UTF-8";
/*=========================================================================

種別 ： ページ独自css
適用 ： kokuchi.html

=========================================================================*/
html,
body {
  width: 100%;
}
/*----------default reset start----------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}
body {
  line-height: 1.5;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
ul,
ol {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  font-size: 0;
  line-height: 0;
  max-width: 100%;
  height: auto;
}
a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
/* Card
-------------------------------------------------------------------------*/
a:link,
a:visited {
  color: #008bd5;
  text-decoration: none;
}
a:hover {
  color: #008bd5;
  text-decoration: underline;
}
/* -------------------------------------------------------------------------*/
.contentsWrap {
  clear: both;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background-color: #ffffff;
  box-sizing: border-box;
}
/* title
-------------------------------------------------------------------------*/
.ttl_box {
  margin: 0 auto;
  padding: 3rem 0;
  background: #fffcf3;
  text-align: center;
}
.ttl_box figure {
  width: 80%;
  text-align: center;
  margin: auto;
}
h3 {
  padding: 0;
  margin: 2rem 0;
  font-weight: normal;
}
h3 u {
  font-weight: bold;
}
h4 {
  font-size: 2.3rem;
  padding: 1rem 0;
  text-align: center;
  margin: 2rem 0;
}
ul.note {
  padding: 0;
}
ul.note li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 0.9rem;
}
section {
  margin: 3rem 0 0;
}
.section-inner {
  margin: 0 auto;
  max-width: 960px;
}
/* card__contents
-------------------------------------------------------------------------*/
.card__contents h4 {
  background: #000;
  color: #fff;
}
/* card_table
---------------------------*/
.card_table {
  margin: 2rem 0 0.5rem;
  box-sizing: border-box;
}
.card_table th {
  border: solid 1px #b5b5b5;
  background-color: #999999;
  color: #fff;
  vertical-align: middle;
  padding: 2rem 0;
  font-size: 1.3rem;
  font-weight: normal;
  box-sizing: border-box;
}
.card_table td {
  border: solid 1px #b5b5b5;
  background-color: #ffffff;
  color: #000;
  text-align: center;
  padding: 1rem 0;
  font-size: 1.3rem;
  box-sizing: border-box;
  position: relative;
}
.card_table th:first-child {
  width: 50%;
}
.card_table th:last-child {
  width: 40%;
}
.card_table td.yellow {
  background: #fff871;
}
.card_table figure img {
  text-align: center;
  width: 50%;
  margin: auto;
}
.card_table figcaption {
  font-size: 1.5rem;
  font-weight: bold;
}
.card_table .txt_red {
  font-size: 2rem;
  font-weight: bold;
}
.icon-v {
  font-size: 1.5rem;
}
.icon-v::before {
  content: "";
  display: inline-block;
  background-image: url("../../images/kokuchi/icon-v.gif");
  background-size: cover;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  margin: 0 0.2em;
}
.card_table td.band {
  background: #e6e6e6;
}

.th-pc {
  display: none;
}

.icon-new img {
  width: 15%;
  position: absolute;
  left: 20px;
  top: 10px;
}

/* vpoint__contents
-------------------------------------------------------------------------*/
.vpoint__contents h4 {
  background: #e50011;
  color: #fff;
}
.vpoint-box {
  background-color: #e6e6e6;
  padding: 2rem;
  font-size: 1.1rem;
}
.vpoint-box figure img {
  width: 70px;
  margin: 0 auto 1rem;
  text-align: center;
  display: block;
}
.vpoint-box figurecaption {
  text-align: left;
}
.vpoint-box ul {
  width: 100%;
}
.change-box figure {
  display: flex;
  padding: 2rem 0 0;
  margin: 0;
  justify-content: center;
}
.change-box figure img {
  width: 15%;
  margin-right: 2rem;
  padding: 0;
}
.change-box figcaption {
  margin: 1rem 0 0;
  font-size: 0.9rem;
}
/* transfer__contents
-------------------------------------------------------------------------*/
.transfer__contents h4 {
  background: #000;
  color: #fff;
}
.transfer__contents h5 {
  font-size: 1.5rem;
  margin: 2rem 0 2rem;
  padding: 1rem 0;
  position: relative;
  text-align: center;
}
.transfer__contents h5 span {
  position: absolute; /*絶対配置*/
  color: white; /*文字は白に*/
  top: 0;
  left: 30px;
  bottom: 0;
  margin: auto 0;
  transform: translateY(-50%);
}
.transfer__contents h6 {
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  padding: 1rem 0;
}
.transfer__contents figure {
  text-align: center;
  padding: 2rem 0;
}

.btn-link {
  margin: 1rem auto;
  max-width: 400px;
  border-radius: 10px;
  color: yellow;
  font-weight: bold;
  text-align: center;
  box-shadow: 5px 5px 0px 0 rgb(191, 191, 191);
  font-size: 1.3em;
}
.btn-link a {
  align-items: center;
  color: yellow;
  display: block;
  width: 100%;
  height: 60px;
  line-height: 60px;
  text-decoration: none;
}

.btn-link:hover {
  opacity: 0.75;
}
/* vpoint
---------------------------*/
.vpoint-transfer {
  background-color: #bee3fe;
  padding: 2rem 0;
  margin: 0 0 3rem;
}
.vpoint-transfer h5 {
  color: #003f98;
  background: linear-gradient(to left, #fff 0%, #fff 90%, transparent 90%), #bee3fe;
}
.vpoint-transfer .btn-link {
  background-color: #003f98;
}

.vpoint-transfer .txt_red,
.famipay-transfer .txt_red {
  font-size: 2rem;
  letter-spacing: 1em;
  margin-right: -1em; /* 文字の最後の余白を消す */
}
/* famipay
---------------------------*/
.famipay-transfer {
  background-color: #b1e3b2;
  padding: 2rem 0;
}
.famipay-transfer h5 {
  color: #008132;
  background: linear-gradient(to left, #fff 0%, #fff 90%, transparent 90%), #b1e3b2;
}
.famipay-transfer .btn-link {
  background-color: #008132;
}
/* wt-box
---------------------------*/
.wt-box {
  background-color: #fff;
  border-radius: 10px;
  width: 80%;
  margin: 0 auto 5rem;
  padding: 2rem;
  box-sizing: border-box;
}
.arrow {
  position: relative;
}

.arrow::before {
  content: "";
  position: absolute;
  top: -60px;
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url("../../images/kokuchi/arrow.svg");
  background-repeat: no-repeat;
  width: 50px;
  height: 50px;
}

.balloon {
  position: relative;
  margin-bottom: 2rem;
}

.balloon::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border: 30px solid transparent;
  border-top: 30px solid #fff;
}

.transfer__contents .note {
  width: 80%;
  margin: -3rem auto 0;
}
.transfer__contents .caption {
  margin: 1rem auto 0;
}
.wt-box2 {
  background-color: #fff;
  width: 80%;
  margin: 0 auto 1rem;
  padding: 0;
  box-sizing: border-box;
}

.wt-box2 h6 {
  padding: 2rem;
}
.wt-box2 figure img.icon {
  width: 20%;
}
.wt-box2 figure img {
  width: 40%;
}

.yl-box {
  background: #fff871;
  border-radius: 10px;
  margin: 2rem auto 5rem;
  padding: 2rem;
  box-sizing: border-box;
}
.yl-box p {
  font-size: 1.2rem;
}

/* top btn
-------------------------------------------------------------------------*/
.section-to_top {
  margin-top: var(--spacing-lg);
  text-align: center;
}

.to_top {
  display: inline-block;
  padding-top: var(--spacing-xs);
  padding-bottom: var(--spacing-xs);
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-radius: 5px;
  color: var(--color-black);
  position: relative;
  text-align: center;
  width: 100%;
  max-width: 512px;
  word-break: keep-all;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition:
    background-color 0.3s ease,
    opacity 0.3s ease;
  text-align: center;
  position: relative;
  max-width: 360px;
  width: 100%;
  font-weight: bold;
  border: 2px solid var(--border-lightgreen);
  background-color: white;
  color: var(--color-black);
}

.to_top:visited {
  color: var(--color-black);
}

.to_top:after {
  content: "";
  display: block;
  position: absolute;
  border-right: var(--color-black) 0.2em solid;
  border-top: var(--color-black) 0.2em solid;
  transform: rotate(45deg);
  width: var(--arrow-width);
  height: var(--arrow-width);
  top: calc(50% - var(--arrow-width) / 2);
  right: 1em;
}

.to_top:hover {
  background-color: var(--border-lightgreen);
  text-decoration: none;
  color: var(--color-black);
}

/* inquiry
-------------------------------------------------------------------------*/
.inquiry__contents {
  text-align: center;
}
.inquiry__contents h4 {
  background: #000;
  color: #fff;
}
.inquiry__contents h5 {
  font-size: 1rem;
}
.inquiry__contents h6 {
  font-size: 1rem;
}
.inquiry__contents h5 span,
.inquiry__contents h6 span {
  font-size: 1.5rem;
  font-weight: bold;
}
.icon-navi {
  text-align: center;
  font-size: 4rem;
  margin: 0 auto 2rem;
}
.icon-navi:before {
  content: "";
  display: inline-block;
  background-image: url(../../images/kokuchi/navi.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100px;
  height: 100px;
  margin: 0 0.2em;
  position: relative;
  top: 30px;
}
.inquiry__contents .btn-link {
  background: #003f98;
  margin: 0 auto 5rem;
}
.inquiry__contents .btn-link a {
  color: #fff;
}

.inquiry__contents a[href^="tel:"] {
  pointer-events: none;
  color: #000;
}

/* Font style
-------------------------------------------------------------------------*/
.txt_b {
  font-weight: bold;
}
.txt_red {
  color: #e50011;
}
.txt_blue {
  color: #003f98;
}
.txt_white {
  color: #fff;
}
.txt_al_c {
  text-align: center;
}
.txt_16 {
  font-size: 16px;
}
.txt_18 {
  font-size: 18px;
}
.txt_20 {
  font-size: 20px;
}
.txt_30 {
  font-size: 30px;
}
/* Margin
-------------------------------------------------------------------------*/
.mb50 {
  margin-bottom: 50px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb16 {
  margin-bottom: 16px;
}
.mb12 {
  margin-bottom: 12px;
}
.mb10 {
  margin-bottom: 10px;
}
.mt10 {
  margin-top: 10px;
}
.mt20 {
  margin-top: 20px;
}
.mt30 {
  margin-top: 30px;
}
.mt40 {
  margin-top: 40px;
}
.mt50 {
  margin-top: 50px;
}
