@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap');

/*====================================
  reset
====================================*/
html,body,
div,
dl,dt,dd,
h1,h2,h3,h4,h5,h6,
p,address,
blockquote,pre,code,
form,fieldset,legend,input,textarea,select,option,button,label,
th,td,
hr {
  padding: 0;
  margin: 0;
}

body {
  color: #000;
  background-color: #FFF;
}

h1,h2,h3,h4,h5,h6,table,
input,textarea,select,option,button {
  font-size: 100%;
}

h1,h2,h3,h4,h5,h6,
address,
blockquote,q,cite,
caption,th,
dfn,
code,var,samp,kbd,
em {
  font-style: normal;
  font-weight: normal;
}

/* links
------------------------------*/
a {
  cursor: pointer;
  word-break: break-word;
}

/* quotation
------------------------------*/
blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

/* table
------------------------------*/
table {
  border-collapse: separate;
  border-spacing: 0;
}

* html table {
  border-collapse: collapse;
}
/* for ie6 */
*:first-child+html table {
  border-collapse: collapse;
}
/* for ie7 */
caption,th {
  text-align: left;
}

/* misc
------------------------------*/
a img,img {
  border: 0;
  vertical-align: bottom;
}

code,var,samp,kbd {
  font-family: monospace;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

abbr, acronym {
  border: 0;
}
/* for firefox */
hr {
  display: none;
}

/* forms
------------------------------*/
fieldset {
  border: 0;
}

input,textarea,select,option,button,label {
  font-family: inherit;
  color: inherit;
}

input,textarea,select,option,button {
  vertical-align: baseline;
}

textarea {
  vertical-align: top;
}

* html legend {
  margin-left: -7px;
}


/*====================================
  General
====================================*/
body {
  color: #333;
  font-family: 'Noto Sans JP', "メイリオ", Meiryo, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  position: relative;
}

h1 {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}
@media (min-width: 992px) {
  h1 {
    font-size: 50px;
    margin: 0 0 50px 0;
  }
}

h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 30px 0;
}
@media (min-width: 992px) {
  h2 {
    font-size: 35px;
    margin: 40px 0 40px 0;
  }
}

h3 {
  font-size: 22px;
  font-weight: 700;
  margin: 30px 0;
}
@media (min-width: 992px) {
  h3 {
    font-size: 30px;
    margin: 30px 0 30px 0;
  }
}

h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 20px 0;
}
@media (min-width: 992px) {
  h4 {
    font-size: 24px;
    margin: 15px 0 15px 0;
  }
}

h5 {
  font-size: 18px;
  font-weight: 700;
  margin: 20px 0;
}
@media (min-width: 992px) {
  h5 {
    font-size: 20px;
    margin: 15px 0 15px 0;
  }
}

a {
  color: #333;
}

a:hover {
  color: #0056b3;
  text-decoration: none;
  transition: 0.2s;
}

section {
  position: relative;
  padding: 20px 0;
}
@media (min-width: 650px) {
  section {
    padding: 30px 0;
  }
}

.sub-section {
  padding-top: 20px;
}

.sub-section:not(:last-child) {
  padding-bottom: 20px;
}

img {
  display: block;
  margin: auto;
  max-width: 100%;
}

figure {
  margin: 0;
  position: relative;
}

figure img {
  display: block;
  margin: auto;
  max-width: 100%;
}

figcaption {
  font-size: 13px;
  text-align: center;
  margin: 0 0 15px 0;
}

ul {
  padding-left: 0;
  list-style: none;
}

ul.row {
  margin-bottom: 0;
}
ul li, ol li {
  line-height: 1.7;
  margin-bottom: 5px;
}

ul.ul-disc li {
  list-style: disc!important;
}

ol.hiragana-iroha li{
  list-style-type:hiragana-iroha!important;
}

ol.katakana-iroha li{
  list-style-type:katakana-iroha!important;
}

p {
  word-break: break-word;
  margin-bottom: 0;
  line-height: 1.7;
}

p.paragraph {
  margin: 0 0 15px;
  line-height: 1.9;
}

label {
  margin: 0;
}

.dropshadow {
  -webkit-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}

/* util */
.no_scroll {
  position: fixed;
  left: 0;
  right: 0;
  overflow: hidden;
}

hr.line {
  display: block;
  border-bottom: 1px solid #eee;
  margin-top: 30px;
}

.lead {
  font-size: 18px;
  font-weight: 400;
  margin: 0 0 15px;
  line-height: 1.9;
}

.visuallyhidden {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

.mt-0 {margin-top: 0px!important}

.mt-5 {margin-top: 5px!important}

.mt-10 {margin-top: 10px!important}

.mt-15 {margin-top: 15px!important}

.mt-20 {margin-top: 20px!important}

.mt-25 {margin-top: 25px!important}

.mt-30 {margin-top: 30px!important}

.mt-35 {margin-top: 35px!important}

.mt-40 {margin-top: 40px!important}

.mt-45 {margin-top: 45px!important}

.mt-50 {margin-top: 50px!important}

.mt-55 {margin-top: 55px!important}

.mt-60 {margin-top: 60px!important}

.mt-65 {margin-top: 65px!important}

.mt-70 {margin-top: 70px!important}

.mt-75 {margin-top: 75px!important}

.mt-80 {margin-top: 80px!important}

.mt-160 {margin-top: 160px!important}

.mb-0 {margin-bottom: 0px!important}

.mb-5 {margin-bottom: 5px!important}

.mb-10 {margin-bottom: 10px!important}

.mb-15 {margin-bottom: 15px!important}

.mb-20 {margin-bottom: 20px!important}

.mb-25 {margin-bottom: 25px!important}

.mb-30 {margin-bottom: 30px!important}

.mb-35 {margin-bottom: 35px!important}

.mb-40 {margin-bottom: 40px!important}

.mb-45 {margin-bottom: 45px!important}

.mb-50 {margin-bottom: 50px!important}

.mb-55 {margin-bottom: 55px!important}

.mb-60 {margin-bottom: 60px!important}

.mb-65 {margin-bottom: 65px!important}

.mb-70 {margin-bottom: 70px!important}

.mb-75 {margin-bottom: 75px!important}

.mb-80 {margin-bottom: 80px!important}

.mb-90 {margin-bottom: 90px!important}

.mb-100 {margin-bottom: 100px!important}

.p-15 {padding: 15px}

.p-25 {padding: 25px}

.p-30 {padding: 30px}

.p-40 {padding: 40px}

.pt-0 {padding-top: 0px!important}

.pt-10 {padding-top: 10px!important}

.pt-20 {padding-top: 20px!important}

.pt-30 {padding-top: 30px!important}

.pt-40 {padding-top: 40px!important}

.pt-50 {padding-top: 50px!important}

.pt-60 {padding-top: 60px!important}

.pt-70 {padding-top: 70px!important}

.pt-80 {padding-top: 80px!important}

.pt-90 {padding-top: 90px!important}

.pt-100 {padding-top: 100px!important}

.pb-0 {padding-bottom: 0px!important}

.pb-10 {padding-bottom: 10px!important}

.pb-20 {padding-bottom: 20px!important}

.pb-30 {padding-bottom: 30px!important}

.pb-40 {padding-bottom: 40px!important}

.pb-50 {padding-bottom: 50px!important}

.pb-60 {padding-bottom: 60px!important}

.pb-70 {padding-bottom: 70px!important}

.pb-80 {padding-bottom: 80px!important}

.pb-90 {padding-bottom: 90px!important}

.pb-100 {padding-bottom: 100px!important}


/*====================================
  rayout
====================================*/
/*  content  */
.content {
  padding-top: 70px;
}
@media (min-width: 1024px) {
  .content {
    padding-top: 120px;
  }
}

:not(#top) .content {
  position: relative;
}

/*  row custom  */
.row.row-gap-40 > [class*='col-']{
  margin-bottom: 40px;
}

.row.row-gap-30 > [class*='col-']{
  margin-bottom: 30px;
}

.row.row-gap-20 > [class*='col-']{
  margin-bottom: 20px;
}

.row.row-gap-15 > [class*='col-']{



  margin-bottom: 15px;
}

.row.row-gap-10 > [class*='col-']{
  margin-bottom: 10px;
}

.row.row-70 {
  margin-left: -35px;
  margin-right: -35px
}

.row.row-70 > [class*='col-'] {
  padding-right: 35px;
  padding-left: 35px
}

.row.row-60 {
  margin-left: -30px;
  margin-right: -30px
}

.row.row-60 > [class*='col-'] {
  padding-right: 30px;
  padding-left: 30px
}

.row.row-50 {
  margin-left: -25px;
  margin-right: -25px
}

.row.row-50 > [class*='col-'] {
  padding-right: 25px;
  padding-left: 25px
}

.row.row-40 {
  margin-left: -20px;
  margin-right: -20px
}

.row.row-40 > [class*='col-'] {
  padding-right: 20px;
  padding-left: 20px
}

.row.row-20 {
  margin-left: -10px;
  margin-right: -10px
}

.row.row-20 > [class*='col-'] {
  padding-right: 10px;
  padding-left: 10px
}

.row.row-10 {
  margin-left: -5px;
  margin-right: -5px
}

.row.row-10 > [class*='col-'] {
  padding-right: 5px;
  padding-left: 5px
}


/*  custom 5 Columns  */
.col-15, .col-sm-15, .col-md-15, .col-lg-15 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 768px) {
  .col-sm-15 {
    width: 20%;
    flex: 0 0 20%;
  }
}
@media (min-width: 992px) {
  .col-md-15 {
    width: 20%;
    flex: 0 0 20%;
  }
}
@media (min-width: 1200px) {
  .col-lg-15 {
    width: 20%;
    flex: 0 0 20%;
  }
}

/*  custom 7 Columns  */
.col-17, .col-sm-17, .col-md-17, .col-lg-17 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 768px) {
  .col-sm-17 {
    width: 14.285%;
    flex: 0 0 14.285%;
  }
}
@media (min-width: 992px) {
  .col-md-17 {
    width: 14.285%;
    flex: 0 0 14.285%;
  }
}
@media (min-width: 1200px) {
  .col-lg-17 {
    width: 14.285%;
    flex: 0 0 14.285%;
  }
}

/*  custom pixel Columns  */
@media (min-width: 768px) {
  .col-pc-375 {
    width: 405px;
    flex: 0 0 405px;
    max-width: inherit;
  }

  .col-pc-310 {
    width: 340px;
    flex: 0 0 340px;
    max-width: inherit;
  }

  .col-pc-250 {
    width: 280px;
    flex: 0 0 280px;
    max-width: inherit;
  }
}

/*  custom container  */
.container {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 1240px) {
  .container {
    max-width: 1240px;
  }
}


/*====================================
  rayout - unit
====================================*/
/* unit-frame */
.unit-frame {
  padding: 30px;
}

.unit-frame.bordered {
  border: 1px solid #ccc;
}

.unit-frame .text-panel .title {
  color: #0066CC;
  font-size: 24px;
  font-weight: 700;
  text-align: left;
  margin-top: 0;
  margin-bottom: 15px;
}

.unit-frame .text-panel p {
  margin-bottom: 25px;
}

.unit-frame .btn-link {
  margin: 0 auto 15px;
}

@media screen and (min-width: 768px) {
  .unit-frame .btn-link {
    margin: 0 0 15px 0;
  }
}

/*  unit-tab  */
.unit-tab-menu {
  padding: 0;
  list-style:none;
  margin-bottom: 25px!important;
  border-bottom: 0;
  background: #fff;
}

.unit-tab-menu li {
  margin: 0;
  min-height: 50px;
}

.unit-tab-menu li a {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #000;
  border: 1px solid #0066cc;
}

.unit-tab-menu li a span {
  display: block;
  padding: 0 10px;
}

.unit-tab-menu li a:hover {
  transition: 0.5s;
  background: #0066cc;
  color: #fff;
}

.unit-tab-menu li a[aria-expanded="true"] {
  background: #0066cc;
  color: #fff;
}

.unit-tab-list-item__body {
  display: none;
}

.unit-tab .u-block {
  display: block;
}


/*====================================
  parts
====================================*/
/*  icon  */
.icon-new {
  color: #000;
  font-size: 12px;
  padding: 2px 5px 3px;
  background: #FFB198;
  position: relative;
  top: -1px;
  display: inline-block;
  text-decoration: none;
  margin: 0 0 0 5px;
}

/*  icon link  */
.ext-link,
.pdf-link,
.text-link {
  position: relative;
  line-height: 1.3;
}

.ext-link:hover,
.pdf-link:hover,
.text-link:hover {
  color: #0066CC;
}

.text-link {
  margin-right: 15px;
  color: #333!important;
}

.text-link::after {
  background: none;
  border: 0px;
  border-right: solid 2px #0066CC;
  border-top: solid 2px #0066CC;
  content: "";
  height: 8px;
  width: 8px;
  right: -15px;
  position: absolute;
  top: 3px;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

.ext-link::after {
  content: "";
  display: inline-block;
  height: 11px;
  width: 12px;
  background: url(/common/img/icon_ext.png) no-repeat;
  position: relative;
  vertical-align: middle;
  margin-left: 7px;
  top: -2px;
}

.ext-link-w::after {
  content: "";
  display: inline-block;
  height: 16px;
  width: 16px;
  background: url(/common/img/icon_ext_w.png) no-repeat;
  position: relative;
  vertical-align: middle;
  margin-left: 7px;
  top: 0px;
}

.pdf-link::after {
  content: "";
  display: inline-block;
  height: 16px;
  width: 16px;
  background: url(/common/img/icon_pdf.png) no-repeat;
  position: relative;
  vertical-align: middle;
  margin-left: 7px;
  top: -2px;
}

/*  custom btn  */
.btn-link {
  margin: 15px 0;
}

.btn-link:hover {
  color: inherit;
  text-decoration: none;
}

.custom-btn:not([href]) {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.custom-btn {
  background: #0066CC;
  color: #fff;
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  display: block;
  padding: 10px 15px;
  border: 2px solid #0066CC;
  position: relative;
  z-index: 1;
  transition: 0.2s;
  border-radius: 0;
}

.custom-btn:hover{
  color: #0066CC;
  background: #fff;
  border: 2px solid #0066CC;
  opacity: 0.9;
  transition: 0.2s;
  text-decoration: none;
}

.custom-btn.type-01 {
  background: #fff;
  color: #0066CC!important;
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  display: block;
  padding: 13px 15px;
  border: 2px solid #fff;
  position: relative;
  z-index: 1;
  transition: 0.2s;
  border-radius: 0;
}

.custom-btn.type-01:hover{
  color: #0066CC!important;
  background: #ccc;
  border: 2px solid #0066CC;
  opacity: 0.9;
  transition: 0.2s;
  text-decoration: none;
}

.custom-btn.type-11 {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  border: none;
  z-index: 1;
  background: linear-gradient(to right,#428eda, #0267cc);
  color: #fff!important;
  cursor: pointer;
  margin-inline: auto;
  position: relative;
  text-align: center;
  transition: all .5s ease-out;
  display: block;
  width: 100%;
  padding: 13px 10px;
}

/* 文字を上に表示 */
.custom-btn.type-11 span {
  position: relative;
}

/* ボタンhover後の背景色 */
.custom-btn.type-11::before {
  background: linear-gradient(to right, #0267cc, #428eda);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all .5s ease-out;
  width: 100%;
}

/* ボタンhoverで元の背景色透過 */
.custom-btn.type-11:hover::before {
  opacity: 0;
}

/* .arrow　で矢印追加 */
.custom-btn.type-11.arrow::after {
  background: none;
  border: 0px;
  border-right: solid 1px #fff;
  border-top: solid 1px #fff;
  content: "";
  height: 8px;
  width: 8px;
  right: 15px;
  position: absolute;
  top: 3px;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
  transition: all .5s ease-out;
}

.custom-btn.type-11.arrow:hover::after {
  right: 12px;
  transition: all .5s ease-out;
}

.custom-btn.type-12 {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  padding: 13px 15px;
  border: 1px solid #0066CC;
  z-index: 1;
  background: #efefef;
  color: #0066CC!important;
  cursor: pointer;
  margin-inline: auto;
  position: relative;
  text-align: center;
  transition: all .5s ease-out;
  display: block;
  width: 100%;
  padding: 12px 30px;
}

/* 文字を上に表示 */
.custom-btn.type-12 span {
  position: relative;
}

.custom-btn.type-12:hover span {
  text-decoration: underline;
}

/* ボタンhover後の背景色 */
.custom-btn.type-12::before {
  background: #fff;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all .5s ease-out;
  width: 100%;
}

/* .arrow　で矢印追加 */
.custom-btn.type-12.arrow::after {
  background: none;
  border: 0px;
  border-right: solid 1px #0066cc;
  border-top: solid 1px #0066cc;
  content: "";
  height: 8px;
  width: 8px;
  right: 15px;
  position: absolute;
  top: 3px;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
  transition: all .5s ease-out;
}

.custom-btn.type-12.arrow:hover::after {
  right: 12px;
  transition: all .5s ease-out;
}

.custom-btn.btn-large {
  padding: 13px 15px;
}

.custom-btn .arrow {
  display: inline-block;
  position: relative;
  left: -8px;
  padding-right: 5px;
}

.custom-btn .arrow::after {
  border-right: solid 2px #fff;
  border-top: solid 2px #fff;
  content: "";
  height: 6px;
  width: 6px;
  position: absolute;
  right: -15px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

.custom-btn.type-01 .arrow::after {
  border-right: solid 2px #0066CC;
  border-top: solid 2px #0066CC;
}

.custom-btn:hover .arrow::after {
  border-right: solid 2px #0066CC;
  border-top: solid 2px #0066CC;
}

.custom-btn.type-01:hover .arrow::after {
  border-right: solid 2px #fff;
  border-top: solid 2px #fff;
}

/* custom icon ext */
.custom-btn .ext-link::after {
  background: url(/common/img/icon_ext_w.png) no-repeat;
}

.custom-btn:hover .ext-link::after {
  background: url(/common/img/icon_ext.png) no-repeat;
}

.custom-btn .ext-link:hover {
  text-decoration: none;
}

/* custom type-01 icon ext */
.custom-btn.type-01 .ext-link::after {
  background: url(/common/img/icon_ext.png) no-repeat;
}

.custom-btn.type-01:hover .ext-link::after {
  background: url(/common/img/icon_ext_w.png) no-repeat;
}

.custom-btn.type-01 .ext-link:hover {
  text-decoration: none;
}

/*  with anchor  */
.custom-btn .arrow.anchor::after {
  height: 8px;
  width: 8px;
  right: -15px;
  top: -2px;
  transform: rotate(130deg);
}

/* img-hover zoom*/
.img-hover-zoom{
  cursor: pointer;
  height: 100%;
  overflow: hidden;
}

.img-hover-zoom figure {
  overflow: hidden;
}

.img-hover-zoom img {
  transition: transform 0.2s;
}

.img-hover-zoom:hover img {
  transform: scale(1.1);
}

.img-hover-zoom:hover img.no-zoom {
  transform: scale(1.0);
}

/*  anchor  */
.anchor-link {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px;
}

.anchor-link li {
  min-width: inherit;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .anchor-link li {
    min-width: 224px;
    width: auto;
  }
}

.anchor-link li a {
  border-radius: 10px;
  background: #eee;
  font-weight: 700;
  padding: 15px 45px 15px 15px ;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  transition: 0.2s;
}

.anchor-link li a:hover {
  background: #ddd;
}

.anchor-link li a::after {
  background: none;
  border: 0px;
  border-right: solid 2px #0066CC;
  border-top: solid 2px #0066CC;
  content: "";
  height: 10px;
  width: 10px;
  left: inherit;
  position: absolute;
  right: 18px;
  top: calc( 50% -5px );
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}


/*====================================
  navi
====================================*/
.navbar {
  padding: 0;
  z-index: 110;
}
@media (min-width: 1024px) {
  .navbar {
    box-shadow: 1px 1px 5px #ddd;
    background: #fff;
    height: 120px;
  }
}

.navbar-inner {
  width: 100%;
  padding: 0;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

@media (min-width: 1024px) {
  .navbar-inner {
    flex-wrap: nowrap;
    background: #fff;
  }
}

.navbar-brand {
  background: #fff;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0 0 0 15px;
  width: 100%;
  image-rendering: -webkit-optimize-contrast;
  z-index: 1;
}
@media (min-width: 1024px) {
  .navbar-brand {
    display: inline-block;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    padding-left: 0;
    margin-right: 0;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap;
    width: auto;
  }
}

.navbar-brand a img {
  max-width: 200px;
  margin-right: 0;
}

@media (max-width: 1070px) {
.navbar-brand a img {
   max-width: 162px;
}
}

@media (max-width: 768px) {
.navbar-brand a img {
   max-width: 130px;
}
}

@media (max-width: 375px) {
.navbar-brand a img {
   max-width: 110px;
}
}

.navbar-brand-mark {
  display: flex;
  align-items: center;
}

.navbar-brand-mark span {
  font-size: 13px;
  font-weight: 700;
}
@media (min-width: 1200px) {
  .navbar-brand-mark span {
    font-size: 18px;
  }
}

.navbar-content {
  background: #fff;
  padding: 0px 15px 10px 15px;
  height: 100vh;
  padding-bottom: 180px;
  overflow: auto;
}
@media (min-width: 1024px) {
  .navbar-content {
    display: flex;
    align-items: stretch;
    flex-grow: 1;
    flex-shrink: 0;
    flex-direction: column-reverse;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: inherit;
  }
}

@media (min-width: 1024px) {
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
}

.navbar-toggler {
  padding: 0;
  width: 70px;
  height: 70px;
  display: flex;
  justify-content: center;
  background: #0066CC;
  color: #fff;
  border: 0;
  border-radius: unset;
  outline: none;
}

@media (min-width: 1024px) {
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}

.navbar-toggler:focus, .navbar-toggler:hover {
  outline: none;
}

.navbar-main {
  margin: 0 -15px;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .navbar-main {
    justify-content: flex-end;
    margin-left: auto;
    align-items: stretch;
    display: flex;
    margin: 0;
    position: static;
  }
}

.navbar-info {
  display: block;
  margin: 0;
}
@media (min-width: 1024px) {
  .navbar-info {
    justify-content: flex-end;
    margin-left: auto;
    align-items: end;
    display: flex;
    margin: 15px 15px 10px 0;
  }
}
@media (min-width: 1024px) {
  .navbar-info ::-webkit-input-placeholder { /* Chrome, Safari */
    color: #666;
  }

  .navbar-info ::-moz-placeholder { /* Firefox */
    color: #666;
  }
}

.navbar-info ul {
  padding: 30px 0 0;
}

@media (min-width: 1024px) {
  .navbar-info ul, .navbar-info li {
    padding: 0;
    margin: 0;
  }
}

.navbar-info li{
  margin: 0;
}
@media (min-width: 1024px) {
  .navbar-info li {
    padding: 0;
  }
}

@media (min-width: 1024px) {
  .navbar-info ul li.d-xl-inline-block{
    display: inline-block !important;
  }
}

@media (min-width: 1024px) {
  .navbar-info ul li.d-xl-none{
    display: none !important;
  }
}

.navbar-info ul li > a {
  display: block;
  margin: 20px 0 0;
}
@media (min-width: 1024px) {
  .navbar-info ul li > a {
    display: inline-block;
    margin: 0;
  }
}

@media (min-width: 1024px) {
  .navbar-info .list li {
    display: inline-block;
    font-size: 14px;
    margin-bottom: 0;
    position: relative;
  }
}

@media (min-width: 1024px) {
  .navbar-info .list li:not(:last-child) {
    margin: 0 15px 0 0;
  }
}

@media (min-width: 1024px) {
  .navbar-info .list li .icon-house {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
  }
}

.navbar-info .list li .text-link:after {
  top: 4px;
  right: -10px;
  height: 6px;
  width: 6px;
}

/*  search  */
.search-wrap form{
  box-sizing: border-box;
  position: relative;
  padding: 3px 10px;
  border-radius: 20px;
  background: #e4eff9;
  width: auto;
}

.search-wrap form input[type="search"]{
  border: none;
  height: auto;
  background: #e4eff9;
  width: 100%;

  padding-right: 20px;
}

@media (min-width: 1024px) {
.search-wrap form input[type="search"]{
  border: none;
  height: auto;
  background: #e4eff9;
  width: 172px;
  padding-right: 20px;
}
}

.search-wrap form input[type="search"]:focus {
  outline: 0;
}

.search-wrap form button[type="submit"] {
  position: absolute;
  top: 5px;
  right: 10px;
  display: inline-block;
  width: 15px;
  height: 17px;
  margin: 0;
  border: none;
  background-color: transparent;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.search-wrap form button[type="submit"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("/common/img/icon_search.png") no-repeat;
}

/*  navbar-nav  */
.navbar-nav {
  background: #fff;
}
@media (min-width: 1024px) {
  .navbar-nav {
    height: auto;
    overflow: auto;
    padding-bottom: 0;
  }
}

@media (min-width: 1024px) {
  .navbar-expand-xl .navbar-nav {
    flex-direction: row
  }
}

.navbar-nav .dropdown {
  background: #fff;
  margin: 0;
  padding: 0;  
}
@media (min-width: 1024px) {
  .navbar-nav .dropdown {
    background: none;
    position: static;
    margin-bottom: 0px;
    padding: 0;
  }
}

.navbar-nav .dropdown > .nav-link {
  color: #333;
  display: block;
  margin: 0 20px;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 700;
  border-bottom: 1px solid #D1D1D1;
}
@media (min-width: 1024px) {
  .navbar-nav .dropdown > .nav-link {
    position: relative;
    display: inline-block;
    width: auto;
    height: 38px;
    margin: 0;
    border-bottom: none;
    color: #333;
    float: none;
  }
}

.navbar-nav .dropdown.show > .nav-link {
  color: #0066CC;
}

.navbar-nav .dropdown.is-active > .nav-link,
.navbar-nav .dropdown > .nav-link:hover {
  color: #0066CC;
}

.navbar-nav .dropdown > .nav-link > span {
  display: none;
}
@media (min-width: 1024px) {
  .navbar-nav .dropdown > .nav-link > span {
    display: flex;
    align-items: center;
    height: 100%;
  }
}

.navbar-nav .dropdown > .nav-link.nav-link-sp,
.nav-link-sp {
  color: #fff;
  display: block;
  margin: 15px 15px 15px 15px;
  padding: 0;
  float: none;
  width: auto;
}
@media (min-width: 1024px) {
  .navbar-nav .dropdown > .nav-link.nav-link-sp,
  .nav-link-sp {
    display: none;
  }
}

.navbar-nav .dropdown > .nav-link.nav-link-sp > span {
  display: block;
}

.dropdown-toggle {
  position: relative;
}

.dropdown-toggle:active, .dropdown-toggle:focus, .dropdown-toggle:visited, .dropdown-toggle:hover {
  color: #fff;
}

.dropdown-toggle::after,
.dropdown-toggle::before {
  border: none;
  margin: 0;
  position: absolute;
  top: 30px;
  right: 0;
  content: "";
  display: inline-block;
  width: 15px;
  height: 1px;
  border-top: 2px solid #0066CC;
  border-bottom: none;
  transition: 0.5s;
}
@media (min-width: 1024px) {
  .dropdown-toggle::after,
  .dropdown-toggle::before {
    border: none;
    content: none;
    margin: 0;
    position: relative;
  }
}

.dropdown-toggle[aria-expanded="true"]:after {
  opacity: 0;
  transform: rotate(360deg);
  transition: 0.5s;
}
@media (min-width: 1024px) {
  .dropdown-toggle[aria-expanded="true"]:after {
    opacity: 1;
  }
}

.dropdown-toggle[aria-expanded="false"]:after {
  opacity: 1;
  transform: rotate(90deg);
  transition: 0.5s;
}
@media (min-width: 1024px) {
  .dropdown-toggle[aria-expanded="false"]:after {
    opacity: 1;
    transform: rotate(360deg);
    transition: 0;
  }
}

.navbar-nav > li > a {
  position: relative;
}

.navbar-nav > li > a:not(.dropdown-toggle)::after {
  background: none;
  border: 0px;
  border-right: solid 2px #0066CC;
  border-top: solid 2px #0066CC;
  content: "";
  height: 8px;
  width: 8px;
  right: 5px;
  position: absolute;
  top: 3px;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

@media (min-width: 1024px) {
  .dropdown-toggle::after,
  .navbar-nav > li:last-child > a::after {
    content: none;
  }
}

@media (min-width: 1024px) {
  .navbar-nav > li:not(:last-child) > a:not(.dropdown-toggle)::after, .navbar-nav > li:not(:last-child) > a::after {
    border: none;
    content: "";
    height: 20px;
    width: 1px;
    position: absolute;
    right: -1px;
    top: 10%;
    bottom: inherit;
    background-color: #ccc;
    transform: rotate(0deg);
  }
}

@media (min-width: 1024px) {
  .navbar-nav .dropdown > .nav-link {
    border-bottom: 5px solid #fff;
    border-top: 5px solid #fff;
    padding: 0 15px;
  }
}
@media (min-width: 1200px) {
  .navbar-nav .dropdown > .nav-link {
    position: relative;
    padding: 0 20px;
    height: 38px;
  }
}
@media (min-width: 1372px) {
  .navbar-nav .dropdown > .nav-link {
    padding: 0 30px;
  }
}

.navbar-nav .dropdown-menu {
  background: #fff;
  margin: 0;
  padding: 30px 0;
  border: none;
  border-radius: 0;
  z-index: 20;
}
@media (min-width: 1024px) {
  .navbar-nav .dropdown-menu {
    background: #fff;
    border: none;
    border-radius: 0;
    position: absolute;
    top: 121px;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    z-index: 1;
    background: url("/common/img/img_dropdown_bg.png") no-repeat right bottom #fff;
  }
}

.dropdown-menu-inner {
  padding: 0;
  position: relative;
}

@media (min-width: 1024px) {
  .dropdown-menu-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.dropdown-item {
  color: #fff!important;
  padding: 15px 0;
  white-space: normal;
}

.dropdown-menu-category-title,
.dropdown-menu-list {
  width: 100%;
}
@media (min-width: 1024px) {
  .dropdown-menu-category-title a {
    background: #fff;
    border-radius: 25px;
    color: #0066CC;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    padding: 6px 46px 6px 26px;
    position: relative;
    margin-bottom: 20px;
  }
}

@media (min-width: 1024px) {
  .dropdown-menu-category-title a:hover {
    background: #0066CC;
    color: #fff;
  }
}

.dropdown-menu-title {
  color: #fff;
  display: block;
  font-size: 16px;
  margin: 0;
  padding: 15px 0;
}

.dropdown-menu-title span {
  padding-left: 15px;
}

.dropdown-item .panel-title {
  display: inline-block;
  position: relative;
  width: 100%;
  padding-left: 15px;
}

@media (min-width: 1024px) {
  .dropdown-item .panel-title.ext-link-w:after {
    right: -5px;
  }
}

.dropdown-item:focus, .dropdown-item:hover {
  color: #0056b3;
  text-decoration: none;
  background: none;
}

@media (min-width: 1024px) {
  .dropdown-menu-list ul:not(.list-attention) li {
    border-bottom: none;
  }
}

.dropdown-menu-inner > .row {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 20px;
}
@media (min-width: 1024px) {
  .dropdown-menu-inner > .row {
    display: flex;
    width: auto;
    margin: 0 -15px;
    padding: 0;
  }
}

@media (min-width: 1024px) {
  .dropdown-menu-left {
    width: 19%;
    padding: 0 15px;
  }
}

.dropdown-menu-left-title {
  margin: 0 0 15px;
}
@media (min-width: 1024px) {
  .dropdown-menu-left-title {
    margin: 0;
  }
}

.dropdown-menu-left-title p {
  display: none;
}
@media (min-width: 1024px) {
  .dropdown-menu-left-title p {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #0066CC;
  }
}

.dropdown-menu-left-title a {
  font-size: 16px;
  font-weight: 700;
  color: #0066CC;
  position: relative;
}

.dropdown-menu-left-title a:hover {
  text-decoration: underline;
}

.dropdown-menu-left-title .arrow-circle {
  margin: 2px 0 0 10px;
  width: 20px;
  height: 20px;
  background: #0066CC;
  border-radius: 50%;
  position: absolute;
  top: 1px;
  display: inline-block;
}

.dropdown-menu-left-title .arrow-circle::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 8px;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

a.crosshead {
  font-size: 16px;
  font-weight: 700;
  color: #0066CC!important;
  position: relative;
  display: inline-block;
  margin: 20px 0 10px;
}
@media (min-width: 1024px) {
  a.crosshead {
    font-size: 20px;
    margin: 0 0 30px;
  }
}

a.crosshead:hover {
  text-decoration: underline;
}

@media (min-width: 1024px) {
  a.crosshead::after {
    background: none;
    border: 0px;
    border-right: solid 2px #0066CC;
    border-top: solid 2px #0066CC;
    content: "";
    height: 8px;
    width: 8px;
    right: -15px;
    position: absolute;
    top: 3px;
    bottom: 0;
    margin: auto;
    transform: rotate(45deg);
  }
}

@media (min-width: 1024px) {
  .dropdown-menu-right {
    width: 81%;
    padding: 25px 15px 20px 60px;
    border-left: 1px solid #d1d1d1;
  }
}

@media (min-width: 1024px) {
  .dropdown-menu-right > .row .col-xl-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

@media (min-width: 1024px) {
  .dropdown-menu-right ul li {
    margin: 0 0 20px 0;
  }
}

.dropdown-menu-right ul li a {
  color: #333;
  display: block;
  margin: 0;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 400;
  border-bottom: 1px solid #D1D1D1;
  position: relative;
}
@media (min-width: 1024px) {
  .dropdown-menu-right ul li a {
    padding: 0;
    border-bottom: none;
    vertical-align: middle;
  }
}

.dropdown-menu-right ul li a:hover {
  color: #0056b3;
}

.dropdown-menu-right ul li a::after {
  background: none;
  border: 0px;
  border-right: solid 2px #0066CC;
  border-top: solid 2px #0066CC;
  content: "";
  height: 8px;
  width: 8px;
  right: 5px;
  position: absolute;
  top: 3px;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}
@media (min-width: 1024px) {
  .dropdown-menu-right ul li a::after {
    content: none;
  }
}

.dropdown-menu-right ul li a span {
  display: inline;
  position: relative;
}
@media (min-width: 1024px) {
  .dropdown-menu-right ul li a span {
    vertical-align: middle;
  }
}

@media (min-width: 1024px) {
  .dropdown-menu-right ul li a span.num {
    top: -1px;
    margin: 0 10px 0 0;
    font-size: 26px;
    font-weight: 300;
    line-height: 1;
  }
}

/* ハンバーガー PC */
.navbar-toggler-inner {
  flex-direction: column;
  margin-top: 15px;
}

.navbar-toggler-icon {
  position: relative;
  width: 40px;
  height: 40px;
  background: none;
  appearance: none;
  cursor: pointer;
}

.navbar-toggler-icon span {
  position: absolute;
  left: 5px;
  display: inline-block;
  width: 75%;
  height: 1px;
  background-color: #fff;
  transition: all 0.4s;
}

.navbar-toggler-icon span:nth-of-type(1) {
  top: 7px;
}

.navbar-toggler-icon span:nth-of-type(2) {
  top: 19px;
}

.navbar-toggler-icon span:nth-of-type(3) {
  top: 31px;
}

.navbar-toggler[aria-expanded='true']  span.navbar-toggler-icon span:nth-of-type(1) {
  transform: translateY(12px) rotate(-315deg);
  top: 7px;
  width: 80%;
}

.navbar-toggler[aria-expanded='true']  span.navbar-toggler-icon span:nth-of-type(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded='true']  span.navbar-toggler-icon span:nth-of-type(3) {
  transform: translateY(-12px) rotate(315deg);
  width: 80%;
}

.navbar-toggler .navbar-toggler-inner {
  margin-top: 15px;
}

.navbar-toggler .navbar-toggler-inner .navbar-toggler-text:after {
  content: none;
}

@media (min-width: 1024px) {
  .m-box-dropmenu {
    display: none;
  }

  .dropmenu-close-btn {
    position: absolute;
    top: 0;
    right: 20px;
    z-index: 10;
  }
  
  .dropmenu-close-btn:hover {
    cursor: pointer;
  }

  .round_btn {
    display: block;
    position: relative;
    width: 46px;
    height: 46px;
    border: 1px solid #0066CC;
    border-radius: 50%;
    background: #fff;
  }

  .round_btn::before, .round_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 9px;
    background: #0066CC;
  }

  .round_btn::before {
    transform: translate(-50%,-50%) rotate(45deg);
  }

  .round_btn::after {
    transform: translate(-50%,-50%) rotate(-45deg);
  }

  .screen-darken {
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,.5);
    pointer-events: auto;
    z-index:100;
    opacity:1;
    visibility:visible;
    position: fixed;
  }
}


/*====================================
  table (reguler)
====================================*/
.table {
  border-collapse: collapse;
  border: none;
  word-break: initial;
}

.table thead, .table tbody {
  border: none;
}

.table tr {
  border: none;
}

.table th, .table td {
  padding: 15px 10px 15px 15px;
  vertical-align: middle;
}

.table thead th {
  border: 1px solid #fff;
}

.table th {
  background: #d9ecf2;
  border: 1px solid #fff;
  border-collapse: collapse;
  color: #333;
  font-weight: 700;
}

.table tbody th {
  background: #d9ecf2;
  color: #333;
}

.table td {
  background: #f4f4f4;
  border: 1px solid #fff;
  border-collapse: collapse;
}

.table tr:nth-child(odd) td {
  background: #eee;
}

.table.number-result td {
  text-align: right;
}

.table-400 {
  min-width: 400px;
}

.table-500 {
  min-width: 500px;
}

.table-600 {
  min-width: 600px;
}

.table-700 {
  min-width: 700px;
}

.table-800 {
  min-width: 800px;
}

.table-900 {
  min-width: 900px;
}


/*====================================
  cmn-table_sp_scroll 
====================================*/
.scroll-hint-icon-wrap {
  height: 100%;
}

@media screen and (min-width: 768px){
  .scroll-hint-icon-wrap {
    height: auto;
  }
}

@media screen and (min-width: 768px){
  .cmn-table_sp_scroll {
    overflow-y: hidden!important;
  }
}

.cmn-table01,
.cmn-table02 {
  width: 914px;
  border-collapse: collapse;
  border: none;
  word-break: initial;
}

@media screen and (min-width: 768px){
  .cmn-table01,
  .cmn-table02 {
    width: 100%;
    margin: 0 auto;
    font-size: 16px;
  }
}

.cmn-table01 thead th,
.cmn-table02 thead th {
  border: 1px solid #fff;
}

.cmn-table01 th,
.cmn-table02 th {
  background: #d9ecf2;
  border: 1px solid #fff;
  border-collapse: collapse;
  color: #333;
  font-weight: 700;
  padding: 15px 10px 15px 15px;
  vertical-align: middle;
}

.cmn-table01 td,
.cmn-table02 td {
  padding: 15px 10px 15px 15px;
  vertical-align: middle;
  background: #f4f4f4;
  border: 1px solid #fff;
  border-collapse: collapse;
}

.cmn-table02 tr:nth-child(odd) td  {
  background: #eee;
}

.cmn-table01.number-result td,
.cmn-table02.number-result td {
  text-align: right;
}


/*====================================
  footer
====================================*/
/*  page top  */
#page-top {
  bottom: 20px;
  height: 0;
  overflow: visible;
  text-align: right;
  width: 100%;
  z-index: 20;
}

#page-top > p {
  box-sizing: border-box;
  margin: 0 30px 0 0;
  float: right;
}

#page-top > p > a {
  display: inline-block;
  width: 50px;
  height: 50px;
  background: #0066CC;
  border-radius: 50%;
  filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  position: relative;
}

#page-top > p > a:hover {
  opacity: 0.7;
}

#page-top > p > a::before {
  border-right: solid 2px #fff;
  border-top: solid 2px #fff;
  content: "";
  height: 11px;
  width: 11px;
  position: absolute;
  right: 20px;
  top: 7px;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
}

/*  inside footer  */
#footer {
  width: 100%;
}

#footer-content {
  background: #0066CC;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 0 0;
  width: 100%;
}
@media (min-width: 768px) {
  #footer-content {
    padding: 60px 0 30px;
  }
}

@media (min-width: 576px) {
  #footer-content .container {
    padding: 0;
    margin: 0 15px;
  }
}
@media (min-width: 768px) {
  #footer-content .container {
    padding: 0 30px;
    margin: auto;
  }
}


@media (min-width: 768px) {
  #footer-content .group-page-link {
    margin-top: 45px;
  }
}

@media (min-width: 768px) {
  #footer-top {
    padding: 50px 0 20px;
  }
}

#footer-content .main-category a,
#footer-content ul li a {
  color: #fff;
}

#footer-content .main-category a:hover,
#footer-content .sub-category a:hover,
#footer-content ul li a:hover {
  color: #ccc;
}

#footer-content .sub-category a {
  color: #49D3FF;
}

#footer-content .main-category {
  padding: 0 0 15px 0;
}

#footer-content .main-category a {
  border-bottom: 1px solid #fff;
  padding: 0 0 10px 0;
  display: block;
  margin: 0;
}
@media (min-width: 768px) {
  #footer-content .main-category a {
    border-bottom: 1px solid #fff;
    padding: 0 0 10px 0;
    display: block;
    margin: 0 60px 0 0;
  }
}

#footer-content .list-external-link-sp {
  display: block;
  padding: 15px 0;
}
@media (min-width: 768px) {
  #footer-content .list-external-link-sp {
    display: none;
  }
}

#footer-content .list-external-link-sp li {
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  #footer-content .list-external-link {
    display: block;
  }
}

#footer-content .btn-mailmag {
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 55px;
}
@media (min-width: 768px) {
  #footer-content .btn-mailmag {
    justify-content: flex-start;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

#footer-content .list-external-link li,
#footer-content .list-internal-link li {
  padding: 0 0 10px 0;
}
  
  
#footer-content .list-internal-link {
  margin: 15px 0;
} 

#footer-content .list-internal-link li a {
  position: relative;
  display: inline-block;
  padding-left: 15px;
}

#footer-content .list-internal-link li a::before {
  content: "";
  width: 11px;
  height: 1px;
  display: inline-block;
  background-color: #fff;
  position: absolute;
  top: 13px;
  left: 0;
}

#footer-content .custom-btn.type-01.custom-btn-arrow {
  font-size: 16px;
  padding: 5px 15px;
}

#footer-content .custom-btn.type-01.custom-btn-arrow::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 16px;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 1px solid #0066CC;
  border-right: 1px solid #0066CC;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#footer-bottom {
  padding: 15px 0;
}
@media (min-width: 768px) {
  #footer-bottom {
    padding: 30px 0;
  }
}

#footer-bottom .list-page-link {
  text-align: left;
  margin: 15px;
  font-size: 13px;
  border-bottom: 1px solid #ccc;
  padding: 0 0 15px 0;
}
@media (min-width: 768px) {
  #footer-bottom .list-page-link {
    text-align: center;
    margin: 0 0 30px 0;
    font-size: 13px;
    border: none;
    padding: 0;
  }
}

@media (min-width: 768px) {
  #footer-bottom .list-page-link li {
    display: inline-block;
  }
}

@media (min-width: 768px) {
  #footer-bottom .list-page-link > li:not(:last-child) > a {
    padding-right: 30px;
  }
}

.copy-right {
  text-align: center;
  font-size: 10px;
}

.copy-right p {
  margin: 0 15px 0;
}

@media (min-width: 768px) {
  #footer-content .relsite {
    margin-top: 160px;
  }
}

#footer-content .relsite span {
  border-bottom: 1px solid #fff;
  padding: 0 0 10px 0;
  display: block;
  margin: 0;
  color: #fff;
}

/*====================================
  include
====================================*/
/*  contact  */
#contact {
  padding: 0;
}

#contact .container-frame {
  background: #fff url("/img/bg_index_005.png") top center no-repeat;
  background-size: cover;
  padding: 0;
  position: relative;
  z-index: 0;
  top: 0;
}

#contact .section-title {
  margin-top: 0;
}

#contact .section-title-ja {
  padding: 40px 0 5px;
  font-size: 28px;
  line-height: 1.5;
  color: #fff;
}

@media (min-width: 768px) {
  #contact .section-title-ja {
    padding: 90px 0 35px;
    font-size: 32px;
  }
}

/*  panel guidance  */
.panel.telephone {
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(163,163,163,.50);
}

.panel.telephone {
  padding: 40px 20px;
  text-align: center;
}

@media (min-width: 768px) {
  .panel.telephone {
    height: 100%;
    padding: 15px;
  }
}

.panel.guidance {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
}

.panel.guidance .panel-bottom {
  padding: 15px;
}

@media (min-width: 768px) {
  .panel.guidance .panel-bottom {
    height: 100%;
    padding: 30px 20px 30px;
  }
}

.panel.guidance.panel-left {
  border-right: 1px solid #efefef;
}

.panel.guidance.panel-left .panel-bottom {
  box-shadow: -10px 10px 30px 0 rgb(215 213 213 / 50%);
}

.panel.guidance.panel-right .panel-bottom {
  box-shadow: 10px 10px 30px 0 rgb(215 213 213 / 50%);
}

.panel.guidance .img-hover-zoom {
  height: auto;
  flex-shrink: 0;
}

.panel.guidance .panel-title-link {
  color: #0066CC;
  display: block;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px 0;
  position: relative;
}

@media (min-width: 768px) {
  .panel.guidance .panel-title-link {
    margin-bottom: 30px;
    font-size: 28px;
  }
}

.panel.guidance .panel-title-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.panel.guidance .panel-text {
  margin: 0 0 15px 0;
}

.panel.telephone h3 {
  font-size: 20px;
  margin: 20px 0 0;
}
@media (min-width: 768px) {
  .panel.telephone h3 {
    font-size: 26px;
  }
}

.panel.telephone .phone {
  font-size: 40px;
  color: #0066CC;
  margin: 15px 0 0 0;
}

@media (min-width: 768px) {
  .panel.telephone .phone {
    margin: 0;
    font-size: 64px;
  }
}

.panel.telephone .info {
  font-size: 18px;
  color: #333;
}

.panel.telephone .phone img,
.panel.telephone .phone span {
  display: inline-block;
}

.panel.telephone .phone img {
  position: relative;
  top: -15px;
    left: -3px;
  width: 30px;
}

@media (min-width: 768px) {
  .panel.telephone .phone img {
    position: relative;
    top: -20px;
    left: -10px;
    width: 50px;
  }
}

#contact .panel-telephone {
  padding: 0 0 43px;
}

@media (min-width: 768px) {
  #contact .panel-telephone {
    padding: 25px 0 60px;
  }
}

/*====================================
  scroll-hint module
====================================*/

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/* over ride */
.scroll-hint-icon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}